@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/dm-sans.woff2") format("woff2")}
@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url("assets/fonts/newsreader-normal.woff2") format("woff2")}
@font-face{font-family:Newsreader;font-style:italic;font-weight:400 600;font-display:swap;src:url("assets/fonts/newsreader-italic.woff2") format("woff2")}
:root{--cream:#fff9f4;--ink:#282329;--muted:#686066;--berry:#c5164b;--berry-dark:#a6103c;--blush:#f8e4ea;--line:#decdd3;--serif:Newsreader,Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:25px}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body:has(dialog[open]){overflow:hidden}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit;border:0}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--berry);outline-offset:5px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--berry);outline-offset:2px}
::selection{background:var(--blush);color:var(--berry-dark)}
[hidden]{display:none!important}
.wrap{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}
.section{padding-block:108px}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;line-height:1.6;color:var(--berry);margin-bottom:24px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.03em}
h2{font-size:52px}h3{font-size:29px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--berry);color:white;padding:15px 22px;border:1px solid var(--berry);border-radius:5px;font-size:14px;font-weight:500;line-height:1.4;transition:background .18s,border-color .18s}
.button:hover{background:var(--berry-dark);border-color:var(--berry-dark)}
.button:disabled{opacity:.55;cursor:not-allowed}
.button span{font-size:19px;font-weight:400}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;background:transparent;padding:8px 0;font-size:14px;font-weight:500;border-bottom:1px solid var(--line);transition:color .18s,border-color .18s}
.text-link:hover{color:var(--berry);border-color:var(--berry)}
.inline-link{background:transparent;padding:0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line);font-size:inherit}
.inline-link:hover{color:var(--berry);text-decoration-color:var(--berry)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:20;left:15px;top:-80px;background:var(--berry);color:#fff;padding:10px 20px}
.skip-link:focus{top:10px}
.location-bar{padding:11px 56px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;line-height:1.5;letter-spacing:.13em;font-weight:500;color:var(--muted)}
.masthead{width:calc(100% - 112px);max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 260px 1fr;align-items:center;position:relative;min-height:118px;border-bottom:1px solid var(--berry)}
.brand{width:180px;height:104px;overflow:hidden;justify-self:center;display:block}
.brand img{width:240px;max-width:none;margin:-10px 0 0 -30px}
.nav-left{display:flex;gap:32px;font-size:13px}
.nav-left a,.nav-contact{transition:color .18s}
.nav-left a:hover,.nav-contact:hover{color:var(--berry)}
.nav-right{justify-self:end;font-size:13px;font-weight:500}
.nav-contact{display:flex;gap:30px;align-items:center}
.nav-contact span{color:var(--berry);font-size:20px}
.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;padding-block:62px 72px}
.hero-copy{padding-bottom:27px}
.hero h1{font-size:clamp(58px,5.3vw,78px);line-height:1.01;letter-spacing:-.043em;margin-bottom:28px}
.hero h1 em{color:var(--berry);font-weight:500}
.hero .eyebrow{margin-bottom:26px;font-size:10px}
.hero-description{max-width:400px;font-size:16px;color:var(--muted);line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}
.hero-actions .text-link{font-size:13px;gap:17px}
.hero-note{font-size:11px;color:var(--muted);margin-top:37px}
.hero-visual{padding-top:26px;min-width:0}
.hero-photo{overflow:hidden;border-radius:4px;background:var(--blush);height:490px}
.hero-photo img{height:100%;object-fit:cover;object-position:center;animation:photo-in .3s ease both}
.hero-visual figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:17px;font-size:11px;color:var(--muted)}
.hero-selector{display:flex;gap:17px}
.hero-selector button{background:transparent;padding:2px 0;border-bottom:1px solid transparent;font-size:11px;color:var(--muted)}
.hero-selector button.active{color:var(--berry);border-color:var(--berry)}
.menu-section{border-top:1px solid var(--line)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.section-heading .eyebrow{margin-bottom:16px}
.section-heading>p{font-size:14px;color:var(--muted);line-height:1.8;padding-bottom:5px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.product-photo{display:block;width:100%;height:365px;padding:0;position:relative;overflow:hidden;background:var(--blush);border-radius:4px}
.product-photo img{height:100%;object-fit:cover;transition:transform .5s}
.cupcake-photo img{object-position:50% 57%}
.lemon-photo img{object-position:center 60%}
.brownie-photo img{object-position:center 55%}
.product-photo:hover img{transform:scale(1.035)}
.photo-view{position:absolute;bottom:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--ink);background:rgba(255,249,244,.95);padding:9px 12px;opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s}
.product-photo:hover .photo-view,.product-photo:focus-visible .photo-view{opacity:1;transform:none}
.product-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:23px 0 12px}
.product-number{font-size:10px;color:var(--berry)}
.product-card>p{font-size:15px;color:var(--muted);line-height:1.75;max-width:350px;min-height:53px}
.product-card .product-price{min-height:0;color:var(--ink);font-weight:500;margin-top:12px}
.product-enquire{margin-top:20px;width:100%;border-color:var(--line);padding-bottom:12px}
.image-note{font-size:10px;line-height:1.7;color:var(--muted);margin-top:28px}
.occasions-section{background:var(--blush);padding-block:80px}
.occasions-inner{display:grid;grid-template-columns:1.04fr 1fr;gap:100px;align-items:center}
.occasion-photo img{height:480px;object-fit:cover;object-position:center 64%;border-radius:4px}
.occasion-photo figcaption{font:italic 22px var(--serif);color:var(--berry);margin-top:20px}
.occasion-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:375px;margin-top:23px;line-height:1.75}
.occasion-list{margin-top:28px;border-top:1px solid #d6b6c0}
.occasion-list button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;text-align:left;background:transparent;border-bottom:1px solid #d6b6c0;transition:color .18s}
.occasion-list button:hover{color:var(--berry)}
.occasion-list strong{font-family:var(--serif);font-size:24px;font-weight:500;display:block;line-height:1.2}
.occasion-list small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.occasion-list button>span:last-child{color:var(--berry);font-size:21px}
.about-section{display:grid;grid-template-columns:1.08fr 1fr;gap:40px 80px;align-items:start}
.about-section h2{font-size:47px}
.about-copy p{color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:17px}
.about-copy .text-link{margin-top:7px}
.film-link{grid-column:1/-1;display:flex;align-items:center;gap:18px;width:100%;text-align:left;background:transparent;border-top:1px solid var(--line);padding:26px 0 0;margin-top:16px}
.film-play{width:42px;height:42px;display:grid;place-items:center;font-size:11px;border:1px solid var(--berry);color:var(--berry);border-radius:50%;padding-left:2px;transition:background .18s,color .18s}
.film-link:hover .film-play{background:var(--berry);color:#fff}
.film-link>span:last-child{display:grid;grid-template-columns:1fr auto;gap:0 20px;flex:1}
.film-link strong{font-size:13px;font-weight:500;grid-column:1}
.film-link small{font-size:10px;color:var(--muted);grid-column:1}
.film-link small.film-credit{grid-column:2;grid-row:1/3;align-self:center}
.enquiry-section{padding-block:96px;background:#f1e9e5}
.enquiry-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}
.enquiry-copy h2{font-size:61px}
.enquiry-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.8;max-width:355px;margin-top:25px}
.order-details{margin-top:40px;border-top:1px solid #d6c6c9;max-width:355px}
.order-details>div{padding-block:18px;border-bottom:1px solid #d6c6c9}
.detail-label{display:block;font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:600;line-height:1.6}
.order-details p{font-size:12px;line-height:1.8;margin-top:7px}
.direct-contact{margin-top:25px}
#contact-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:8px;font-size:13px}
.enquiry-form{padding-top:7px}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend{padding:0;font-size:14px;font-weight:500}
.field-hint{font-size:11px;color:var(--muted);margin:5px 0 13px}
.choice-row{display:flex;gap:9px;flex-wrap:wrap}
.choice-row label{position:relative;cursor:pointer}
.choice-row input{position:absolute;width:1px;height:1px;opacity:0;left:12px;top:12px}
.choice-row span{display:block;padding:10px 15px;border:1px solid #bdadb2;border-radius:4px;font-size:12px;transition:background .18s,border-color .18s,color .18s}
.choice-row input:checked+span{background:var(--berry);color:#fff;border-color:var(--berry)}
.choice-row input:focus-visible+span{outline:2px solid var(--berry);outline-offset:3px}
.bake-choices{margin-bottom:25px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.enquiry-form>label,.form-row>label{display:block;font-size:12px;font-weight:500;margin-bottom:22px}
.optional{font-size:10px;color:var(--muted);font-weight:400}
input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;margin-top:8px;background:rgba(255,249,244,.5);color:var(--ink);border:1px solid #bdadb2;border-radius:4px;padding:12px 13px;font-size:13px;line-height:1.45}
input::placeholder,textarea::placeholder{color:#756b73;font-size:12px}
input[type=date]{min-height:46px;color-scheme:light}
textarea{resize:vertical;min-height:101px}
.form-privacy{font-size:10px;color:var(--muted);line-height:1.8;margin-top:-2px}
.form-privacy .inline-link{margin-left:3px}
.form-bottom{display:flex;align-items:center;gap:23px;margin-top:24px}
.connection-status{font-size:10px;line-height:1.75;color:var(--muted)}
.form-status{font-size:11px;color:var(--berry);line-height:1.6;margin-top:12px}
.form-status:empty{display:none}
.field-error{font-size:11px;color:var(--berry-dark);margin-top:10px}
.faq-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}
.faq-section h2{font-size:46px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 0;font-size:13px;font-weight:500;list-style:none;line-height:1.6}
summary::-webkit-details-marker{display:none}
summary>span{font-size:20px;font-weight:400;color:var(--berry);transition:transform .18s}
details[open] summary>span{transform:rotate(45deg)}
details p{font-size:13px;color:var(--muted);line-height:1.8;padding:0 35px 22px 0}
.footer{border-top:1px solid var(--berry)}
.footer-main{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-block:38px}
.footer-main>a:first-child{width:155px;height:94px;overflow:hidden}
.footer-main img{width:211px;max-width:none;margin:-8px 0 0 -28px}
.footer-main p{font-size:12px;color:var(--muted);line-height:1.8;margin-right:auto}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-block:19px 26px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}
.footer-bottom>div{display:flex;gap:23px}
dialog{border:0;border-radius:6px;padding:0;color:var(--ink);background:var(--cream);max-height:calc(100dvh - 48px);max-width:calc(100vw - 40px);box-shadow:0 20px 80px #28232924;animation:dialog-in .22s ease}
dialog::backdrop{background:#28232999;backdrop-filter:blur(3px)}
.dialog-close{position:absolute;z-index:2;right:14px;top:14px;width:44px;height:44px;border-radius:50%;background:var(--cream);font-size:26px;line-height:1;box-shadow:0 0 0 1px var(--line);font-family:var(--sans)}
.detail-dialog{width:880px}
.detail-layout{display:grid;grid-template-columns:1fr 1fr}
.detail-layout>img{height:550px;object-fit:cover}
.detail-copy{padding:65px 38px 35px}
.detail-copy h2{font-size:43px;margin-bottom:20px}
.detail-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted)}
.detail-copy .detail-note{margin-top:21px;font-size:12px}
.detail-copy .button{margin-top:27px}
.detail-copy .image-note{font-size:10px!important;margin-top:20px}
.detail-price{color:var(--ink)!important;font-weight:500;margin-top:15px}
.review-dialog{width:600px;padding:47px 42px 34px}
.review-dialog h2,.text-dialog h2{font-size:41px;margin-bottom:18px}
.review-dialog .eyebrow,.text-dialog .eyebrow{margin-bottom:14px}
.review-intro{font-size:13px;color:var(--muted);line-height:1.8}
#enquiry-summary{margin:24px 0;border-top:1px solid var(--line)}
.summary-row{display:grid;grid-template-columns:125px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:11px 0;font-size:12px}
.summary-row dt{color:var(--muted)}
.summary-row dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.review-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
.review-actions .button{font-size:12px;padding:13px 18px;gap:14px}
.review-actions .text-link{font-size:12px}
.review-status{font-size:11px;line-height:1.7;color:var(--berry);margin-top:15px}
.review-dialog>.inline-link{font-size:11px;margin-top:19px}
.film-dialog{width:500px;background:var(--ink);color:var(--cream)}
.film-frame{height:min(65dvh,570px);background:#171418}
.film-frame video{width:100%;height:100%;display:block;object-fit:contain}
.film-caption{padding:22px 27px 26px}
.film-caption h2{font-size:27px}
.film-caption p{font-size:10px;line-height:1.8;color:#d9cdd2;margin-top:8px}
.text-dialog{width:570px;padding:48px 42px 37px}
.text-dialog>p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);margin-bottom:16px}
.credit-list{padding-left:17px;font-size:12px;line-height:2.4;margin-block:23px}
.credit-list a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.credit-list a:hover{color:var(--berry)}
.text-dialog>p.small-copy{font-size:10px;margin-bottom:0}
.noscript-note{background:var(--blush);font-size:12px;text-align:center;padding:15px}
@keyframes photo-in{from{opacity:.65}to{opacity:1}}
@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero h1{font-size:82px}.hero-photo{height:530px}.hero{padding-block:78px 90px}}
@media(max-width:1150px){.wrap,.masthead{width:calc(100% - 80px)}.location-bar{padding-inline:40px}.hero{gap:35px}.hero h1{font-size:64px}.hero-photo{height:440px}.hero-actions{gap:18px;flex-wrap:wrap}.product-photo{height:320px}.product-grid{gap:22px}.occasions-inner{gap:60px}.occasion-photo img{height:450px}.enquiry-inner,.faq-section{gap:65px}.about-section{gap:40px 60px}.product-title h3{font-size:25px}.section{padding-block:85px}}
@media(max-width:900px){.masthead{grid-template-columns:1fr 220px 1fr}.nav-left{gap:20px;font-size:12px}.hero{grid-template-columns:1fr 1fr;gap:30px;padding-top:45px}.hero h1{font-size:55px}.hero-description{font-size:14px}.hero .eyebrow{font-size:9px}.hero-photo{height:410px}.hero-copy{padding-bottom:0}.hero-actions .button{padding:13px 17px;gap:18px;font-size:13px}.hero-note{margin-top:26px;font-size:10px}.section-heading{gap:25px}.section-heading>p{font-size:12px}h2{font-size:44px}.product-photo{height:280px}.product-title h3{font-size:24px}.product-title{margin-top:19px}.product-card>p{font-size:12px}.product-enquire{font-size:12px;margin-top:15px}.occasions-inner{gap:42px}.occasion-photo img{height:420px}.occasion-copy>p:not(.eyebrow){font-size:13px}.occasion-list strong{font-size:22px}.occasion-list small{font-size:10px}.about-section h2{font-size:39px}.about-copy p{font-size:13px}.enquiry-inner{gap:42px}.enquiry-copy h2{font-size:50px}.enquiry-copy>p:not(.eyebrow){font-size:13px}.choice-row{gap:7px}.choice-row span{padding:9px 11px;font-size:11px}.form-row{gap:14px}.form-bottom{align-items:flex-start;flex-direction:column;gap:12px}.connection-status br{display:none}.faq-section{gap:42px}.faq-section h2{font-size:39px}}
@media(max-width:700px){
  .wrap,.masthead{width:calc(100% - 40px)}
  .location-bar{padding:9px 20px;font-size:8px;letter-spacing:.08em;justify-content:center}.location-bar>span:first-child{display:none}
  .masthead{grid-template-columns:1fr 1fr;min-height:97px}.brand{width:157px;justify-self:start;grid-column:1;grid-row:1}.nav-left,.nav-contact{display:none}.nav-right{grid-column:2;grid-row:1}
  .menu-toggle{display:flex;align-items:center;gap:20px;background:transparent;font-size:12px;padding:10px 0 10px 15px}.menu-toggle>span{font-size:21px;color:var(--berry)}
  .mobile-nav{display:flex;grid-column:1/-1;flex-direction:column;padding:6px 0 21px;gap:0}.mobile-nav a{border-top:1px solid var(--line);padding:12px 0;font-size:14px}.mobile-nav a:last-child{padding-bottom:3px}
  .hero{grid-template-columns:1fr;gap:32px;padding-block:41px 47px}.hero .eyebrow{font-size:9px;margin-bottom:21px}.hero h1{font-size:clamp(43px,8.9vw,63px);letter-spacing:-.04em;max-width:500px;margin-bottom:22px;line-height:1.06}
  .hero-description{font-size:14px;line-height:1.8;max-width:400px}.hero-actions{gap:22px;margin-top:25px;flex-wrap:nowrap}.hero-actions .button{padding:14px 18px;font-size:12px;gap:23px}.hero-actions .text-link{font-size:11px;gap:15px}.hero-note{font-size:9px;margin-top:22px}
  .hero-visual{padding-top:0}.hero-photo{height:auto;aspect-ratio:1.19}.hero-photo img{height:100%}.hero-visual figcaption{margin-top:13px;font-size:10px}.hero-selector{gap:19px}
  .section{padding-block:58px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px;font-size:13px;line-height:1.75}.section-heading>p br{display:none}h2{font-size:37px}.eyebrow{font-size:9px;margin-bottom:18px}.section-heading .eyebrow{margin-bottom:13px}
  .product-grid{grid-template-columns:1fr;gap:37px}.product-photo{height:auto;aspect-ratio:1.1}.photo-view{opacity:1;transform:none;font-size:10px;left:10px;right:10px;bottom:10px;padding:8px 10px}
  .product-title h3{font-size:29px}.product-title{margin:20px 0 10px}.product-card>p{font-size:13px;max-width:100%;min-height:0}.product-enquire{font-size:12px;margin-top:14px;padding-bottom:11px}.image-note{font-size:9px;margin-top:24px}
  .occasions-section{padding-block:48px}.occasions-inner{grid-template-columns:1fr;gap:35px}.occasion-photo{grid-row:2}.occasion-copy{grid-row:1}.occasion-copy h2{font-size:43px}.occasion-copy>p:not(.eyebrow){font-size:13px;max-width:100%;margin-top:20px}.occasion-list{margin-top:23px}.occasion-list button{padding:17px 0}.occasion-list strong{font-size:25px}.occasion-list small{font-size:10px;margin-top:7px}.occasion-photo img{height:auto;aspect-ratio:1.17}.occasion-photo figcaption{font-size:21px;margin-top:15px}
  .about-section{grid-template-columns:1fr;gap:25px}.about-section h2{font-size:37px}.about-copy p{font-size:13px;line-height:1.85;margin-bottom:14px}.film-link{padding-top:22px;margin-top:4px;gap:15px}.film-link>span:last-child{display:block}.film-link small{display:block}.film-link small.film-credit{font-size:9px;margin-top:5px}.film-link strong{font-size:12px}
  .enquiry-section{padding-block:53px}.enquiry-inner{grid-template-columns:1fr;gap:35px}.enquiry-copy h2{font-size:47px}.enquiry-copy>p:not(.eyebrow){font-size:13px;max-width:100%;margin-top:22px}.order-details{max-width:100%;margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.order-details>div:first-child{grid-column:1/-1}.order-details>div{padding-block:15px}.order-details p{font-size:11px}.detail-label{font-size:8px}
  .enquiry-form{padding-top:0}.choice-row span{padding:10px 13px;font-size:11px}.enquiry-form>label,.form-row>label{font-size:11px;margin-bottom:20px}.form-row{gap:13px}.optional{font-size:9px}.form-row label .optional{display:block;min-height:14px}.form-row:first-of-type>label:nth-child(2){padding-top:14px}
  input:not([type=checkbox]),select,textarea{font-size:16px;padding:11px 10px}input::placeholder,textarea::placeholder{font-size:10px}.form-privacy{font-size:9px}.form-bottom{flex-direction:row;align-items:center;gap:18px}.form-bottom .button{font-size:12px;gap:18px;padding:14px 17px}.connection-status{font-size:9px;max-width:135px}.connection-status br{display:block}
  .faq-section{grid-template-columns:1fr;gap:29px}.faq-section h2{font-size:37px}.faq-list summary{font-size:12px;padding-block:17px;gap:15px}.faq-list p{font-size:12px;padding-right:15px}
  .footer-main{flex-wrap:wrap;gap:20px;padding-block:29px}.footer-main img{width:135px}.footer-main p{font-size:10px;margin-left:auto;margin-right:0}.footer-main>.text-link{width:100%;font-size:12px}.footer-bottom{flex-direction:column;gap:11px;padding-block:17px 23px;font-size:9px}.footer-bottom>div{justify-content:space-between;gap:10px}
  .detail-dialog{width:calc(100vw - 32px);max-width:none;max-height:calc(100dvh - 32px)}.detail-layout{grid-template-columns:1fr}.detail-layout>img{height:280px;object-position:center 55%}.detail-copy{padding:28px 25px}.detail-copy h2{font-size:35px;margin-bottom:15px}.detail-copy .eyebrow{margin-bottom:12px}.detail-copy>p:not(.eyebrow){font-size:13px}.detail-copy .detail-note{font-size:11px;margin-top:15px}.detail-copy .button{margin-top:20px;font-size:12px}
  .review-dialog,.text-dialog{padding:42px 25px 28px;width:calc(100vw - 32px);max-width:none;max-height:calc(100dvh - 32px)}.review-dialog h2,.text-dialog h2{font-size:34px}.review-intro,.text-dialog>p:not(.eyebrow){font-size:12px}.summary-row{grid-template-columns:84px 1fr;font-size:11px;gap:12px}.review-actions{gap:13px 18px}.review-actions .button{gap:12px;font-size:11px}
  .film-dialog{width:calc(100vw - 32px);max-width:none}.film-frame{height:62dvh}.film-caption{padding:20px 24px}.film-caption p{font-size:9px}
}
@media(max-width:360px){.wrap,.masthead{width:calc(100% - 32px)}.hero h1{font-size:39px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:13px;gap:15px}.hero-actions .text-link{font-size:10px;gap:10px}.choice-row{gap:6px}.choice-row span{padding:9px 10px;font-size:10px}.form-bottom{gap:12px}.form-bottom .button{padding-inline:12px;gap:12px}.connection-status{max-width:115px;font-size:8px}.footer-main p{font-size:9px}.product-title h3{font-size:27px}}
@media(min-width:701px) and (max-width:900px){.hero{grid-template-columns:1fr;gap:32px}.hero-copy{max-width:620px}.hero h1{font-size:66px}.hero-description{font-size:16px;max-width:470px}.hero-photo{height:430px}.hero-visual{padding-top:0}.hero-actions{flex-wrap:nowrap}.hero-note{font-size:12px}.product-card>p,.about-copy p,.enquiry-copy>p:not(.eyebrow){font-size:15px}.product-title{min-height:51px;align-items:flex-start}.product-card>p{min-height:105px}}
@media(max-width:700px){
  .masthead{min-height:108px}.brand{width:150px;height:92px}.brand img{width:205px;margin:-6px 0 0 -28px}
  .hero-description,.product-card>p,.occasion-copy>p:not(.eyebrow),.about-copy p,.enquiry-copy>p:not(.eyebrow){font-size:15px}
  .hero .eyebrow,.eyebrow{font-size:10px}.hero-note{font-size:11px;line-height:1.8}
  .hero-actions .button{font-size:13px}.hero-actions .text-link{font-size:12px}
  .hero-selector{gap:3px}.hero-selector button{min-width:44px;min-height:44px}.footer-bottom .inline-link{display:inline-flex;align-items:center;min-height:36px}
  .section-heading>p{font-size:15px}.product-enquire{font-size:13px}.image-note{font-size:11px}
  .occasion-list small{font-size:12px}.film-link strong{font-size:14px}.film-link small{font-size:12px}.film-link small.film-credit{font-size:10px}
  .order-details p{font-size:13px}.detail-label{font-size:10px}
  .form-row{grid-template-columns:1fr;gap:0}.form-row label .optional{display:inline;min-height:0}.form-row:first-of-type>label:nth-child(2){padding-top:0}
  .enquiry-form>label,.form-row>label,legend{font-size:13px}.optional,.field-hint{font-size:11px}.choice-row span{font-size:12px;padding:11px 14px}
  input::placeholder,textarea::placeholder{font-size:12px}.form-privacy{font-size:11px}.form-bottom{flex-direction:column;align-items:flex-start;gap:13px}.form-bottom .button{font-size:13px;padding:15px 20px}.connection-status{font-size:12px;max-width:none}.connection-status br{display:none}
  .faq-list summary,.faq-list p{font-size:14px}.footer-main img{width:211px}.footer-main p{font-size:11px}.footer-bottom{font-size:10px}
  .detail-copy>p:not(.eyebrow),.review-intro,.text-dialog>p:not(.eyebrow){font-size:14px}.detail-copy .detail-note{font-size:12px}.summary-row{font-size:12px}.review-status{font-size:12px}
}
@media(max-width:360px){.hero-actions .button{font-size:12px}.hero-actions .text-link{font-size:11px;gap:8px}.hero-actions{gap:13px}.choice-row span{padding-inline:11px;font-size:11px}.footer-main>a:first-child{width:139px}.footer-main img{width:190px;margin:-7px 0 0 -26px}.footer-main p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
