/* Layout, type sizes and colour roles measured from stoneacresfarm.com at 1440px. Colours are set per theme in build.py. */
*{box-sizing:border-box}
html,body{overflow-x:clip;max-width:100%}
h1,h2,h3{overflow-wrap:break-word;min-width:0}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17.27px/1.5 var(--sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased}
img,video{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p{margin:0;text-wrap:balance}
h1,h2,.big,.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.012em}
h1 em,h2 em,.big em{font-style:italic}
h1{font-size:clamp(58px,7.9vw,114px);line-height:1.09}
h2{font-size:clamp(32px,2.64vw,38px);line-height:1.34}
h3{font-family:var(--sans);font-size:clamp(21px,1.8vw,25.9px);line-height:1.38;font-weight:500;text-transform:uppercase;letter-spacing:0}
h4{font-family:var(--sans);font-size:15.5px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
p{text-wrap:pretty}
.go{display:inline-block;text-transform:uppercase;padding:3px 0}
.go:hover{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-block;background:var(--dark);color:var(--on-dark);font:500 19px/1 var(--sans);padding:17px 44px;text-transform:uppercase;letter-spacing:.06em}

.notice{background:var(--notice);color:var(--on-notice);text-align:center;font-size:13.64px;line-height:1.4;text-transform:uppercase;letter-spacing:.04em;padding:10px 16px}
.notice a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}

.nav{position:absolute;top:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 68px;height:88px;color:var(--nav,var(--on-dark));font-size:13.64px;line-height:1.5;text-transform:uppercase}
.nav.solid{position:fixed;top:0;background:var(--dark);--nav:var(--on-dark)!important;color:var(--on-dark);height:72px}
.nav .side{display:flex;gap:22px;align-items:center;font-size:15px}
.nav .side.r{justify-content:flex-end}
.nav .side a[aria-current]{text-decoration:underline;text-underline-offset:5px}
.mark{font-family:var(--mark);font-size:25.9px;font-weight:500;letter-spacing:.15em;line-height:1.4;white-space:nowrap}
.burger{background:none;border:0;padding:12px 0 12px 12px;color:inherit;cursor:pointer}
.burger i{display:block;width:34px;height:1.5px;background:currentColor;margin:7px 0}
.sheet{display:none;position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:9;background:var(--dark);color:var(--on-dark);padding:24px 20px;overflow:auto}
.sheet.open{display:block}
.sheet .close{float:right;background:none;border:0;color:inherit;font:400 15px var(--sans);text-transform:uppercase;padding:12px 0;cursor:pointer}
.sheet ul{list-style:none;margin:64px 0 0;padding:0}
.sheet li{font:400 38px/1.5 var(--serif)}

.hero{position:relative;height:854px;max-height:92vh;min-height:620px;color:var(--on-dark);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.cycle,.cycle img{position:absolute;inset:0}
.cycle img{opacity:0;transition:opacity 1.2s}
.cycle img.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28)}
.hero .in{position:relative;z-index:2;max-width:760px;padding:60px 20px 0}
.hero .btn{margin-top:4px}
.btn.inv{background:var(--on-dark);color:var(--dark)}
.hero h1{font-size:clamp(34px,2.64vw,38px);line-height:1.34}
.hero p{max-width:520px;margin:22px auto 22px}

.intro{background:var(--cream);text-align:center;padding:124px 20px 122px}
.slashes{font:400 clamp(32px,2.64vw,38px)/1.34 var(--serif);letter-spacing:-.012em;max-width:900px;margin:56px auto}
.slashes span{opacity:.75;padding:0 .12em}
.slashes a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.intro .now{margin:0 0 8px}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:60vw;max-height:900px}
.split .pic{position:relative;overflow:hidden;min-height:0}
.split .pic img,.split .pic video{position:absolute;inset:0}
.split .pic .over{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--accent);padding:20px}
.split .pic .over span{font-family:var(--mark);font-size:15px;letter-spacing:.2em;font-weight:600;text-transform:uppercase}
.split .pic .over b{font:400 clamp(44px,4.6vw,66px)/1.1 var(--serif);text-transform:uppercase;letter-spacing:-.01em;margin-top:8px}
.panel{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px}
.panel .tx{max-width:400px}
.panel h2{margin:4px 0 22px}
.panel .links{display:flex;gap:64px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.panel .sub{margin-top:44px;font-size:15.5px}
.tcoffee{background:var(--p-coffee);color:var(--on-coffee)}
.teggs{background:var(--p-eggs);color:var(--on-eggs)}
.tsat{background:var(--p-sat);color:var(--on-sat)}
.talp{background:var(--p-alp);color:var(--on-alp)}

.hours{background:var(--cream);padding:136px 120px 96px}
.hours .head{text-align:center}
.hours .rule{display:flex;justify-content:flex-end;margin-top:44px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:15.5px}
.hours .row{padding:32px 0 18px}
.hours .row .day{font:400 clamp(32px,3vw,44px)/1.34 var(--serif);letter-spacing:-.012em}
.hours .row h4{font-size:21px;letter-spacing:.1em;margin:10px 0 6px}
.big{font-size:clamp(46px,8.2vw,118px);line-height:1.09;text-align:center;border-top:1px solid var(--line);margin-top:48px;padding-top:24px;text-transform:uppercase}

.feature{background:var(--p-feat);color:var(--on-feat);padding:96px 120px 120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}
.feature h3{grid-column:1/-1}
.feature .draw img{height:auto}
.feature h2{margin-bottom:6px}
.feature .price{margin-bottom:22px}
.table{width:100%;border-collapse:collapse}
.table td{padding:13px 0;border-bottom:1px solid var(--line-soft)}
.table td:last-child{text-align:right;font-weight:600;white-space:nowrap}
.feature .btn{margin-top:28px}

/* page heads: colour on the left, photo on the right, title across both */
.phead{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:810px;max-height:96vh;min-height:640px;background:var(--p-head,var(--p-coffee));color:var(--on-dark);overflow:hidden}
.phead .pic{grid-column:2;margin-top:124px;position:relative}
.phead .pic img{position:absolute;inset:0}
.phead .pic::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.24)}
.phead .in{position:absolute;inset:124px 0 0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 20px 20px}
.phead .in p{max-width:600px;margin:26px 0 22px}

.two{background:var(--cream);display:grid;grid-template-columns:5fr 7fr;gap:60px 120px;padding:56px 120px;align-items:center}
.two .ph{aspect-ratio:3/4;max-height:860px;overflow:hidden;width:100%;justify-self:end}
.two h2{font-size:clamp(34px,2.9vw,42px);margin-bottom:10px}
.two h4{text-decoration:underline;text-underline-offset:4px;margin:14px 0 12px}
.two p+p{margin-top:12px}
.two .btn{margin-top:18px}

.band{padding:96px 120px;text-align:center;background:var(--dark);color:var(--on-dark)}
.band .addr{font:400 clamp(22px,1.9vw,27px)/1.4 var(--serif);margin-top:12px}
.band .grid{display:grid;grid-template-columns:7fr 4fr;gap:60px;text-align:left;margin-top:80px;align-items:center}
.band .grid h2{margin-bottom:22px}
.band .grid p+p{margin-top:12px}
.maps{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.band .btn{background:var(--on-dark);color:var(--dark)}
.band a.u,.prose a.u{text-decoration:underline;text-underline-offset:3px}
.band .hrs{font-size:17px}
.band .hrs b{display:block;font-weight:600;text-transform:uppercase}
.band .hrs div+div{margin-top:18px}

.menu{background:var(--cream);padding:0 120px 110px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px 120px}
.menu h2{margin-bottom:10px}
.menu .note{margin-top:14px;font-size:15.5px}

.story{background:var(--dark);color:var(--on-dark);padding:150px 100px 96px;position:relative;text-align:center}
.story h1{font-size:clamp(38px,4vw,56px);line-height:1.2}
.story .body{max-width:560px;margin:22px auto 0}
.story .body h4{margin-bottom:10px}
.story .go{margin-top:12px}
.timeline{background:var(--p-coffee);color:var(--on-coffee);padding:96px 120px}
.timeline .big{border:0;margin:0;padding:0 0 56px;text-transform:none;font-size:clamp(58px,7.9vw,114px)}
.timeline .row{display:grid;grid-template-columns:minmax(0,1fr) 3fr;gap:30px;padding:22px 0;border-top:1px solid var(--line-soft)}
.timeline .y{font:400 38px/1.2 var(--serif)}

.contact{background:var(--cream);padding:210px 120px 110px;text-align:center}
.contact .lead{font:400 22.5px/1.5 var(--serif);max-width:640px;margin:18px auto 56px}
.contact .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;text-align:center;max-width:1000px;margin:0 auto}
.contact h4{margin-bottom:8px}
.contact a{text-decoration:underline;text-underline-offset:3px}

.map{display:block;width:100%;height:520px;border:0;background:var(--p-feat)}
.faq{background:var(--cream);padding:96px 120px}
.faq h3{text-align:center;margin-bottom:40px}
.faq .q{padding:20px 0;border-top:1px solid var(--line)}
.faq .q b{font:400 25px/1.3 var(--serif);display:block;margin-bottom:6px}

.foot{background:var(--dark);color:var(--on-dark);padding:50px 120px 34px;font-size:13.6px}
.foot .top{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:60px}
.foot .logo{width:110px}
.foot .logo img{height:auto}
.foot .serif{font-size:20px;line-height:1.5;letter-spacing:0}
.foot .list{text-transform:uppercase;font-size:12px;line-height:1.85;margin-top:18px}
.foot .right{display:flex;gap:44px}
.foot .addr{font:400 20px/1.5 var(--serif);margin-top:36px}
.foot .base{display:flex;justify-content:space-between;gap:20px;margin-top:14px;text-transform:uppercase;font-size:11px}
.foot a:hover{text-decoration:underline}
.dock{display:none}

@media (max-width:1100px){
 .nav{grid-template-columns:auto minmax(0,1fr);padding:0 16px;height:80px}
 .nav .side:first-child{display:none}
 .mark{font-size:20px}
 h1{font-size:46px}
 .burger{display:block}
 .split,.phead,.two,.feature,.menu,.band .grid{grid-template-columns:minmax(0,1fr)}
 .split{max-height:none;min-height:0}
 .split .pic{aspect-ratio:1/1}
 .panel{padding:72px 20px}
 .panel .links{flex-direction:column;gap:10px;margin-top:28px}
 .hero{height:90vh;min-height:0;max-height:760px}
 .intro{padding:72px 20px}
 .slashes{margin:32px auto}
 .slashes span,.slashes br{display:none}
 .slashes a{display:block;padding:4px 0}
 .hours,.feature,.band,.faq,.timeline{padding:72px 20px}
 .hours .row .day{font-size:32px}
 .hours .row h4{font-size:17px}
 .phead{height:auto;max-height:none;min-height:0;display:block;position:relative;padding-top:80px}
 .phead .pic{height:380px;margin:0}
 .phead .in{position:absolute;top:80px;left:0;right:0;bottom:0}
 .phead .in p{font-size:17px}
 .two{padding:40px 20px;gap:28px}
 .two .ph{order:-1}
 .menu{padding:0 20px 72px;gap:48px}
 .contact{padding:130px 20px 72px}
 .contact .cols{grid-template-columns:minmax(0,1fr)}
 .story{padding:120px 20px 72px}
 .foot{padding:44px 20px 96px}
 .foot .top{grid-template-columns:minmax(0,1fr);gap:28px}
 .foot .right{flex-wrap:wrap;gap:24px}
 .foot .base{flex-direction:column;gap:6px}
 .dock{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:8;justify-content:space-between;align-items:center;gap:12px;background:var(--dark);color:var(--on-dark);padding:10px 16px calc(10px + env(safe-area-inset-bottom));font-size:15px}
 .dock a{text-transform:uppercase;white-space:nowrap}
}

.bigopen{font:400 clamp(44px,5.4vw,72px)/1.12 var(--serif);letter-spacing:-.015em;min-height:1.12em}
.btn.line{background:none;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.btn{white-space:nowrap}
.btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.btns.l{justify-content:flex-start}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:44px}
.tile{position:relative;aspect-ratio:3/4;overflow:hidden;color:#fff;text-align:left}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(0,0,0,.55))}
.tile b{position:absolute;left:16px;bottom:14px;z-index:2;font:400 28px/1.15 var(--serif)}
.intro{padding:96px 100px}
.vid{position:relative;aspect-ratio:16/9;max-height:900px;width:100%;overflow:hidden;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}
.vid video{position:absolute;inset:0}
.vid::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.34)}
.vid .i{position:relative;z-index:2;padding:20px}
.vid h2{font-size:clamp(40px,4vw,56px);margin:4px 0 10px}
.vid .go{margin-top:14px}
.hours{text-align:center;padding:110px 100px 96px}
.hcards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:30px}
.card2{background:var(--p-alp);color:var(--on-alp);padding:48px 24px}
.card2.alt2{background:var(--p-coffee);color:var(--on-coffee)}
.time{font:400 clamp(44px,5.4vw,72px)/1.2 var(--serif);letter-spacing:-.015em;white-space:nowrap}
.hours .big{border:0;margin-top:44px;padding-top:0}
.eggbox{background:var(--p-feat);color:var(--on-feat);padding:96px 100px 72px;text-align:center}
.eggbox .hen{max-width:640px;margin:96px 0 0 auto}
.eggbox .hen img{height:auto}
.eggbox .v{margin-top:34px}
.p-a,.p-b,.p-d{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.p-a span,.p-b span,.p-c span,.p-d span{display:block;font-size:21px}
.p-a b,.p-b b,.p-c b,.p-d b{display:block;font:400 clamp(40px,5vw,68px)/1.1 var(--serif);font-weight:500;letter-spacing:-.015em}
.p-a>div+div{border-left:1px solid var(--line-soft)}
.p-b>div{background:var(--dark);color:var(--on-dark);padding:30px 8px}
.p-c{max-width:760px;margin:0 auto}
.p-c>div{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-top:1.5px solid currentColor}
.p-c>div:last-child{border-bottom:1.5px solid currentColor}
.p-c span{font-size:28px;font-family:var(--serif)}
.p-d img{height:auto;max-width:160px;margin:0 auto 8px}
.ptop{padding-top:96px}
.ptop-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ptop-g .pic{aspect-ratio:1/1;overflow:hidden;position:relative}
.ptop-g .tx{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px}
.ptop-g h1{font-size:clamp(46px,5.4vw,78px)}
.ptop-g p{max-width:440px;margin:22px 0 26px}
.btn.inv{background:var(--dark);color:var(--on-dark)}
.tsat .btn.inv,.teggs .btn.inv,.hero .btn.inv{background:var(--on-dark,#fff);color:var(--dark)}
.teggs .btn.inv{background:var(--on-eggs);color:var(--p-eggs)}
.plan{text-align:center;padding:84px 20px}
.plan p{margin-top:8px}
.steps3,.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:96px 100px;background:var(--cream)}
.trio{gap:12px;padding:12px}
.trio.x3{grid-template-columns:repeat(3,minmax(0,1fr))}
.press{background:var(--cream);text-align:center;padding:84px 0 12px}
.press p{margin:8px 0 26px}
.press .trio{background:none}
.press .ph img{object-fit:contain}
.ph{overflow:hidden;position:relative}
.steps3 .ph,.trio .ph{aspect-ratio:1/1}
.step h3{margin:14px 0 6px;font:400 30px/1.2 var(--serif);text-transform:none}
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--cream)}
.duo .ph{aspect-ratio:1/1}
.two.one{grid-template-columns:minmax(0,1fr);text-align:center;padding:84px 20px}
.two.one>div{max-width:620px;margin:0 auto}
.two.one .btns{gap:40px}
.small{margin-top:16px;font-size:15.5px}
a.u{text-decoration:underline;text-underline-offset:3px}
.findtop{text-align:center;padding:150px 20px 72px}
.addrbig{font:400 clamp(38px,5vw,68px)/1.15 var(--serif);letter-spacing:-.015em}
.findtop p{font-size:21px;margin-top:16px}
.look{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px}
.look .pic{aspect-ratio:1/1;overflow:hidden;position:relative}
.faq h2{text-align:center;font-size:clamp(38px,4vw,52px);margin-bottom:30px}
.faq .q{padding:24px 0}
.faq .q h3{font:400 32px/1.25 var(--serif);text-transform:none;text-align:left;margin:0 0 4px}
.faq .q p{font-size:20px}
.ww{background:var(--cream);padding:150px 100px 96px}
.ww h1{font-size:46px;letter-spacing:.08em;text-align:center}
.ww-r{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:18px 0;margin:22px 0 26px;text-align:center}
.ww-p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.ww-p div{aspect-ratio:1/1;overflow:hidden;position:relative}
.tabs{display:flex;gap:30px;justify-content:center;margin:28px 0}
.tabs button{background:none;border:0;font:400 30px var(--serif);color:inherit;padding:8px 4px;cursor:pointer}
.tabs button[aria-selected=true]{text-decoration:underline;text-underline-offset:5px}
.tab h2{text-align:center;text-transform:uppercase;letter-spacing:.03em;margin-bottom:24px}
.items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 44px}
.it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}
.it b{font-weight:600;text-transform:uppercase;font-size:20px;letter-spacing:.02em}
.it i{font-style:normal;font-size:20px;font-weight:600}
.it span{grid-column:1/-1;font-size:18px}
.ww-c{text-align:center;font-size:24px;margin-bottom:26px}
.split.cont{max-height:none;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cont .pic{aspect-ratio:1/1}
.ctx{display:flex;flex-direction:column;justify-content:center;padding:120px 64px 56px;background:var(--cream)}
.ctx h1{font-size:clamp(48px,5.6vw,80px)}
.ph3{font:400 clamp(34px,3.4vw,46px)/1.3 var(--serif);margin:20px 0 10px}

.foot{padding:72px 100px 34px;font-size:17px}
.foot h4{margin-bottom:10px;font-size:14px;letter-spacing:.08em}
.foot p{margin:6px 0}
.f-b{font:400 26px/1.35 var(--serif);letter-spacing:0}
.f-h{font:400 clamp(30px,3.4vw,44px)/1.25 var(--serif);letter-spacing:-.01em}
.f-logo{width:150px}
.f-logo img{height:auto}
.f-l{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px!important}
.f-v a{display:block}
.f-3{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:40px;align-items:start}
.f-c{display:flex;justify-content:center}
.f-r{text-align:right}
.f-r .f-l{justify-content:flex-end}
.f-2{display:grid;grid-template-columns:170px minmax(0,1fr);gap:48px;align-items:center}
.f-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.2)}
.f-mark{font:500 clamp(30px,6.2vw,88px)/1.1 var(--mark);letter-spacing:.09em;text-align:center}
.f-center{text-align:center}
.f-center .f-logo{margin:0 auto 22px}
.f-m{justify-content:center}
.f-nav{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2);text-transform:uppercase;font-size:14px;letter-spacing:.04em}
.f-tall{display:grid;grid-template-columns:1.4fr minmax(0,1fr) minmax(0,1fr);gap:48px}
.f-col2 .f-logo{margin-bottom:16px}
.f-s{font-size:13px;margin-top:32px!important;text-align:center;opacity:.85}
.f-s a{text-decoration:underline}
@media (max-width:760px){
 .intro,.hours,.eggbox,.steps3,.ww,.foot{padding-left:20px;padding-right:20px}
 .intro{padding-top:56px;padding-bottom:56px}
 .tiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .vid{aspect-ratio:auto;height:520px}
 .hours{padding-top:64px;padding-bottom:56px}
 .hcards,.ptop-g,.steps3,.look,.ww-p,.items,.split.cont,.f-3,.f-2,.f-tall{grid-template-columns:minmax(0,1fr)}
 .ww-p{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
 .p-a,.p-b,.p-d,.f-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .p-a>div{padding:12px 0}.p-a>div+div{border-left:0}
 .eggbox{padding-top:64px}
 .eggbox .hen{margin-top:64px}
 .ptop{padding-top:80px}
 .ptop-g .tx{padding:36px 20px 44px;order:-1}
 .trio{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .trio .ph:first-child{grid-column:1/-1}
 .trio.x3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .trio.x3 .ph:first-child{grid-column:auto}
 .press .trio{grid-template-columns:minmax(0,1fr)}
 .press .ph{aspect-ratio:auto}
 .press .ph img{height:auto}
 .ww{padding-top:110px;padding-bottom:64px}
 .items{gap:22px}
 .ctx{padding:36px 20px 48px}
 .f-r{text-align:left}.f-r .f-l{justify-content:flex-start}
 .f-c{justify-content:flex-start}
 .foot{padding-top:52px;padding-bottom:96px}
 .steps3{padding-top:56px;padding-bottom:56px}
}

.items.one-col{grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}
.p1 img,.p2 img,.p4 img{max-width:100%}
.ico{width:1.15em;height:1.15em;flex:none}
.bignow{font:400 clamp(38px,4.4vw,60px)/1.15 var(--serif);letter-spacing:-.015em;margin-bottom:6px;min-height:1.15em}
.bighrs{font:400 clamp(24px,2.6vw,34px)/1.3 var(--serif);margin-bottom:16px}
.two h2.xl,h2.xl{font-size:clamp(40px,4.6vw,62px)}
.lead2{font-size:24px;line-height:1.4}
.revband{background:var(--p-eggs);color:var(--on-eggs);padding:64px 20px;text-align:center}
.revband .btn{background:var(--on-eggs);color:var(--p-eggs)}
.small-faq{padding-top:72px;padding-bottom:64px}
.bake{font:400 26px/1.3 var(--serif);margin-top:28px}
.eggbox .hen{position:relative}
@media (max-width:760px){
 .story{padding:110px 20px 56px}
 .btn.review{white-space:normal;font-size:19px}
 }

/* Type scale, one set of tokens for phone and desktop (Hallmark audit): rem, major third, fluid between 320 and 1440. */
:root{--t-xs:.875rem;--t-sm:.9375rem;--t-body:clamp(1.0625rem,1rem + .2vw,1.1875rem);--t-lead:clamp(1.25rem,1.15rem + .45vw,1.5rem);--t-h3:clamp(1.375rem,1.25rem + .55vw,1.75rem);--t-h2:clamp(2rem,1.65rem + 1.5vw,2.75rem);--t-h1:clamp(2.75rem,2rem + 3.6vw,5rem);--t-big:clamp(3rem,1.4rem + 7.2vw,7.25rem)}
body{font-size:var(--t-body);line-height:1.55}
h1,.ptop-g h1,.ctx h1,.timeline .big{font-size:var(--t-h1);line-height:1.08}
.hero h1,.story h1{font-size:var(--t-h2);line-height:1.25}
h2,.vid h2,.faq h2{font-size:var(--t-h2);line-height:1.2}
h2.xl,.two h2.xl{font-size:clamp(2.25rem,1.8rem + 2vw,3.25rem)}
h3,.step h3,.faq .q h3{font-size:var(--t-h3);line-height:1.25}
h4{font-size:var(--t-sm)}
.big{font-size:var(--t-big);line-height:1.06}
.bigopen,.bignow,.time{font-size:clamp(2.5rem,1.9rem + 2.7vw,4.25rem);line-height:1.12}
.bighrs,.lead2,.findtop p,.faq .q p,.ww-c{font-size:var(--t-lead);line-height:1.4}
.addrbig{font-size:clamp(2.25rem,1.6rem + 2.9vw,4.25rem)}
.tabs button{font-size:var(--t-h3)}
.it b,.it i{font-size:var(--t-lead);font-size:1.125rem}
.it span{font-size:1.0625rem}
.notice{font-size:var(--t-xs)}
.nav{font-size:var(--t-sm)}.nav .side{font-size:var(--t-sm)}
.foot,.foot p{font-size:var(--t-body)}.foot h4{font-size:var(--t-xs)}
.f-s,.f-nav{font-size:var(--t-sm)}
.small{font-size:var(--t-sm)}
.dock{font-size:var(--t-sm)}
.hvid{height:min(56.25vw,860px);min-height:640px;aspect-ratio:auto}
.hvid h1{color:#fff}.hvid .i{max-width:720px}.hvid p{margin:14px 0 22px}
.hvid .btn.inv{background:var(--on-dark);color:var(--dark)}
.vid.plain::after{display:none}
.split .pic .cycle{position:absolute;inset:0}
/* One button everywhere */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:54px;padding:0 28px;font:500 1.0625rem/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;text-align:center}
.btn.line{min-height:54px}
.btns{gap:12px}
@media (max-width:360px){.btn{padding:0 18px;font-size:.9375rem}}
.foot p.f-b{font:400 clamp(1.5rem,1.3rem + .8vw,2rem)/1.3 var(--serif)}
.lf h3{font:400 var(--t-h3)/1.2 var(--serif);text-transform:none;margin-bottom:4px}
.ptop-g .tx{min-width:0}
@media (min-width:761px) and (max-width:1100px){.ptop-g h1{font-size:min(var(--t-h1),7vw)}}
.vid{background:var(--dark) center/cover no-repeat}
.foot .f-l a{display:inline-flex;align-items:baseline;gap:.32em;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.foot .f-l .ico{width:.7em;height:.7em;align-self:baseline}
.foot .f-l .ico.fb{width:.38em}
.faq .q h3{font:600 clamp(1.375rem,1.3rem + .35vw,1.625rem)/1.25 var(--serif);letter-spacing:-.005em;margin-bottom:6px}
.faq .q p{font:400 var(--t-body)/1.5 var(--sans);opacity:.86}
/* Egg prices: the count leads, the price supports */
.pm{display:none}
.eggbox .n{display:block;text-align:left;font-size:var(--t-sm)}
.eggbox .n b{display:block;font:400 var(--t-h3)/1.15 var(--serif)}
.eggbox strong{display:block;font:500 clamp(1.75rem,1.4rem + 1vw,2.5rem)/1 var(--serif)}
.d1,.d2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.d1 img,.d2 img{height:190px;width:100%;object-fit:contain;margin-bottom:12px}
.d1 .n,.d2 .n,.d3 .n{text-align:center}
.d1 strong{margin-top:10px}
.d2 strong{background:var(--dark);color:var(--on-dark);padding:14px 0;margin-top:12px}
.d3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px}
.d3>div{display:grid;grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:20px;border-top:1.5px solid currentColor;padding:14px 0}
.d3 img{max-height:140px;width:auto;max-width:100%;margin:auto}
.d3 .n{text-align:left}
.m1>div{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1.5px solid currentColor}
.m1 img,.m2 img{max-height:84px;width:auto;max-width:100%;margin:auto}
.m2>div{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:16px;align-items:center;padding:14px 0;border-top:1.5px solid currentColor}
.m2 img{grid-row:span 2;max-height:100px}
.m2 .n,.m2 strong{grid-column:2;text-align:left}
.m2 strong{margin-top:6px}
.m3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.m3 img{height:110px;width:100%;object-fit:contain;margin-bottom:8px}
.m3 .n{text-align:center}
.m3 strong{margin-top:6px}
/* Footer mark */
.foot{position:relative}
.feetmark{position:absolute;right:28px;bottom:18px;width:96px;height:auto;opacity:.5}
/* Story: spaced-out photos that drift */
.story{min-height:880px;display:flex;flex-direction:column;justify-content:center}
.story h1,.story .body{position:relative;z-index:2;max-width:44vw;margin-left:auto;margin-right:auto}
.snaps .ph{position:absolute;width:23vw;aspect-ratio:4/3;border:9px solid var(--cream);overflow:hidden;opacity:0;transform:translateY(40px) rotate(var(--r));--r:-2deg}
.snaps .ph:nth-child(1){left:4vw;top:90px}
.snaps .ph:nth-child(2){right:4vw;top:300px;--r:2.5deg}
.snaps .ph:nth-child(3){left:7vw;top:540px;--r:1.5deg}
.snaps .ph.seen{animation:drift .9s calc(var(--i)*.18s) cubic-bezier(.2,.7,.2,1) forwards,float 7s calc(1s + var(--i)*.6s) ease-in-out infinite alternate}
@keyframes drift{to{opacity:1;transform:rotate(var(--r))}}
@keyframes float{from{transform:translateY(0) rotate(var(--r));opacity:1}to{transform:translateY(-10px) rotate(calc(var(--r) + .8deg));opacity:1}}
/* Find Us */
.lookfor{background:var(--cream);text-align:center;padding:88px 100px}
.lf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:32px}
.lf .ph{aspect-ratio:4/3;margin-bottom:14px;transform:rotate(var(--r,0));--r:-1.2deg;opacity:0}
.lf>div:nth-child(2) .ph{--r:1.2deg}
.lf .ph.seen{animation:drift .8s calc(var(--i)*.15s) ease-out forwards}
/* Eggs cross-sell */
.crossa{min-height:0;max-height:none}.crossa .pic{aspect-ratio:4/3}
.cross2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.cross2>div{padding:84px 40px;text-align:center}.cross2 p{margin-top:10px}
.crossline{display:flex;justify-content:center;align-items:center;gap:32px;padding:44px 20px;flex-wrap:wrap;text-align:center}
@media (max-width:1100px){
 .story{min-height:0;display:block;padding-top:120px}
 .story h1,.story .body{max-width:none}
 .snaps{margin-top:36px}
 .snaps .ph{position:relative;display:block;left:auto!important;right:auto!important;top:auto!important;width:68%;margin:0 0 -14px 0}
 .snaps .ph:nth-child(2){margin-left:auto}
 .snaps .ph:nth-child(3){margin:0 auto}
}
@media (max-width:760px){
 .pm{display:block}.pd{display:none}
 .eggbox{padding-left:16px;padding-right:16px}
 .eggbox strong{font-size:1.75rem}
 .lookfor{padding:56px 20px}.lf,.cross2{grid-template-columns:minmax(0,1fr)}
 .cross2>div{padding:56px 20px}
 .feetmark{width:72px;right:16px;bottom:70px}
 .crossa .pic{aspect-ratio:16/10}
 .snaps .ph{border-width:6px}
}
@media (prefers-reduced-motion:reduce){.snaps .ph,.lf .ph{opacity:1!important;animation:none!important;transform:rotate(var(--r))}}
