:root{--ink:#174846;--teal:#217c7f;--mint:#bee6d7;--cream:#fff6df;--butter:#f7e9be;--caramel:#a56625;--gold:#d49c42}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Baskerville,Georgia,serif}
a{color:inherit}
button,input{font:inherit}
:focus-visible{outline:3px solid #9d5a20;outline-offset:4px}
::selection{background:#f0bd5c;color:var(--ink)}
.poster{width:min(calc(100% - 32px),1530px);height:790px;margin:16px auto 0;position:relative;isolation:isolate;overflow:hidden;background:#9bd3c4;color:var(--ink);border-radius:9px}
.hero-scene{position:absolute;inset:-18px;z-index:0;pointer-events:none}
.hero-scene-image{position:absolute;inset:0;background:url('assets/bright-counter.png') center/cover no-repeat;animation:sceneArrive 1.55s cubic-bezier(.22,1,.36,1) both}
@keyframes sceneArrive{from{opacity:.65;transform:translate3d(-18px,0,0) scale(1.055)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.poster::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(230,249,230,.21) 0%,rgba(230,249,230,.08) 48%,transparent 70%);pointer-events:none}
.site-header{position:relative;z-index:6;display:flex;justify-content:space-between;align-items:flex-start;padding:28px clamp(28px,5vw,78px)}
.site-mark{display:block;width:146px;height:146px;flex:none;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(66,95,67,.16);transition:transform .3s ease}
.site-mark:hover{transform:rotate(-5deg)}
.site-mark img{display:block;width:104%;height:104%;object-fit:cover;border-radius:50%;transform:translate(-1.7%,-.4%)}
.site-header nav{display:flex;align-items:center;gap:clamp(15px,2.5vw,34px);margin-top:10px;padding:13px 19px 10px;background:rgba(255,248,223,.91);backdrop-filter:blur(6px);border-bottom:3px solid #ab7036;box-shadow:0 4px 18px rgba(62,72,44,.1)}
.site-header nav a{font:700 15px/1.2 'SuperClarendon',Rockwell,Georgia,serif;letter-spacing:.015em;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent;padding-bottom:3px;transition:border-color .2s}
.site-header nav a:hover,.site-header nav a:focus-visible{border-color:currentColor}
.hero-copy{position:absolute;z-index:4;left:clamp(30px,5.5vw,86px);top:205px;width:55%;max-width:740px}
.hero-kicker{margin:0 0 15px;color:#77501e;font:italic 24px/1.1 Baskerville,Georgia,serif}
.hero-copy h1{margin:0;font:900 clamp(51px,5.1vw,76px)/1.02 'SuperClarendon',Rockwell,Georgia,serif;letter-spacing:.008em;text-wrap:balance;text-shadow:0 2px 0 rgba(255,251,221,.18)}
.hero-copy h1 span,.hero-copy h1 em{display:block}
.hero-copy h1 em{font-weight:700;color:#9b5b20;font-style:italic;letter-spacing:.005em}
.hero-intro{max-width:375px;margin:24px 0 25px;font:20px/1.45 Baskerville,Georgia,serif}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.ticket-link{display:inline-block;background:#f7d888;color:var(--ink);font:700 15px/1 Arial,sans-serif;letter-spacing:.04em;text-decoration:none;padding:17px 25px;border-radius:3px 16px 3px 16px;box-shadow:inset 0 -3px 0 rgba(141,92,35,.25);transition:transform .2s,background .2s}
.ticket-link:hover{transform:translateY(-3px);background:#ffe3a0}
.ink-link{font:700 15px/1.3 Baskerville,Georgia,serif;text-underline-offset:7px;text-decoration-thickness:1px}
.hero-product{position:absolute;z-index:3;right:clamp(32px,8vw,125px);bottom:18%;width:clamp(320px,30vw,440px);pointer-events:none}
.hero-product::before,.hero-product::after{content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%;animation:counterShadowLand .38s ease-out .87s both}
.hero-product::before{left:8%;right:1%;bottom:2.7%;height:36px;background:radial-gradient(ellipse at 43% 50%,rgba(49,53,44,.34) 0%,rgba(49,53,44,.19) 38%,rgba(49,53,44,.07) 65%,transparent 83%);filter:blur(7px)}
.hero-product::after{left:23%;right:20%;bottom:3.9%;height:11px;background:radial-gradient(ellipse,rgba(47,49,40,.53) 0%,rgba(47,49,40,.29) 55%,transparent 85%);filter:blur(2px)}
@keyframes counterShadowLand{from{opacity:0}to{opacity:1}}
.hero-custard{position:relative;z-index:1;display:block;width:100%;height:auto;filter:url(#hero-edge-blend);animation:serveIn 1.12s cubic-bezier(.16,1,.3,1) both}
.hero-fall{position:absolute;inset:0;z-index:3}
/* The finish consists only of these falling crops; no photo is faded in afterward. */
.fall-piece{position:absolute;inset:0;display:block;background:url('assets/custard-hero-cutout.png') center/100% 100% no-repeat;mask-repeat:no-repeat;animation:toppingLand .52s cubic-bezier(.2,.76,.3,1) var(--delay) both}
.fall-piece.extra-candy{background-image:url('assets/custard-hero-balanced.png')}
@keyframes toppingLand{0%{opacity:0;transform:translate3d(var(--drift,0px),-112px,0)}72%{opacity:1;transform:translate3d(0,5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
.awning{position:absolute;z-index:5;bottom:0;left:0;right:0;height:13px;background:repeating-linear-gradient(90deg,#268c8a 0 28px,#fff7da 28px 56px);background-size:56px 100%;animation:awningDrift 26s linear infinite}
@keyframes awningDrift{to{background-position-x:-56px}}
@keyframes serveIn{0%{opacity:0;transform:translate3d(105px,-8px,0) scale(.985)}78%{opacity:1;transform:translate3d(-4px,2px,0) scale(1.004)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.builder{padding:110px clamp(24px,5vw,80px) 125px;max-width:1530px;margin:auto;background:#fff7df}
.builder-heading{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:50px}
.script-note{display:block;margin:0 0 10px;color:var(--caramel);font:italic 33px/1.2 Baskerville,Georgia,serif}
.builder-heading h2,.menu-title h2,.location-section h2{margin:0;color:var(--ink);font:900 clamp(62px,7.5vw,112px)/1.01 'SuperClarendon',Rockwell,Georgia,serif;letter-spacing:.016em}
.builder-heading h2 em,.menu-title h2 em,.location-section h2 em{font-style:italic;color:var(--caramel);font-weight:700}
.builder-heading p{max-width:295px;font:19px/1.45 Baskerville,Georgia,serif;margin:0 0 12px}
.builder-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);background:#fffdf3;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(67,82,56,.12);outline:1px solid rgba(135,109,55,.15)}
.builder-form{padding:46px clamp(28px,4vw,65px) 50px}
.builder-form fieldset{border:0;margin:0;padding:0 0 31px;min-width:0}
.builder-form fieldset+fieldset{padding-top:28px;border-top:1px solid rgba(120,98,59,.28)}
.builder-form legend{display:block;width:100%;padding:0;margin:0 0 17px;color:var(--ink);font:700 30px/1.15 'SuperClarendon',Rockwell,Georgia,serif;letter-spacing:.005em}
.choice-row{display:flex;flex-wrap:wrap;gap:11px}
.choice{position:relative;display:inline-block;cursor:pointer}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:block;transition:transform .18s,color .18s,background .18s,box-shadow .18s}
.choice:hover span{transform:translateY(-2px)}
.choice input:focus-visible+span{outline:3px solid #a35f1f;outline-offset:4px}
.choice-vessel span{min-width:110px;text-align:center;padding:14px 23px 13px;background:#f7e8c6;color:var(--ink);border-radius:16px 16px 4px 4px;font:700 17px/1.2 'SuperClarendon',Rockwell,Georgia,serif;box-shadow:inset 0 -3px 0 rgba(117,87,36,.14)}
.choice-vessel input:checked+span{background:var(--teal);color:#fff8df;box-shadow:inset 0 -4px 0 rgba(7,73,76,.25)}
.flavor-row{gap:20px 26px}
.choice-flavor span{padding:8px 0 9px;color:#315b57;border-bottom:2px solid #c1a976;font:700 19px/1.2 Baskerville,Georgia,serif}
.choice-flavor input:checked+span{color:#975621;border-color:#975621;border-bottom-width:4px;padding-bottom:7px}
.topping-row{gap:10px}
.choice-topping span{padding:12px 16px;background:#f6f0df;border-radius:6px;color:#245554;font:700 14px/1.2 Arial,sans-serif;box-shadow:inset 0 0 0 1px #dccaa9}
.choice-topping input:checked+span{background:#f3d38c;color:#554024;box-shadow:inset 0 0 0 1px #d0a85b,inset 0 -3px 0 #d0a85b}
.reset-choice{margin-top:6px;padding:4px 0;border:0;border-bottom:1px solid #906b38;background:transparent;color:var(--ink);font:700 14px/1.2 Baskerville,Georgia,serif;cursor:pointer}
.reset-choice:hover{color:var(--caramel)}
.builder-result{display:flex;flex-direction:column;background:#f9e8c4}
.result-stage{height:575px;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;background:#c4e4d8}
.result-stage::before{content:"";position:absolute;inset:-90%;background:repeating-conic-gradient(from -5deg at 50% 50%,rgba(255,251,226,.52) 0deg 10deg,rgba(48,145,141,.11) 10deg 22deg);animation:raysTurn 90s linear infinite;pointer-events:none}
.result-stage::after{content:none}
@keyframes raysTurn{to{transform:rotate(-360deg)}}
.result-art{position:relative;z-index:2;width:min(100%,390px);height:480px;transform-origin:center 80%}
.result-art>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 9px 9px rgba(46,64,42,.12))}
#chocolate-lift-photo{position:absolute;inset:0;z-index:0;filter:brightness(1.18) saturate(.86) contrast(.98);clip-path:polygon(45% 2%,59% 2%,69% 12%,79% 27%,91% 44%,96% 60%,96% 64%,4% 64%,4% 60%,9% 44%,21% 27%,31% 12%)}
#chocolate-lift-photo[hidden]{display:none}
.result-art[data-vessel=cone] #chocolate-lift-photo{clip-path:polygon(45% 2%,59% 2%,69% 12%,79% 27%,91% 44%,94% 50%,6% 50%,9% 44%,21% 27%,31% 12%)}
.result-art[data-flavor=chocolate] [data-topping=sprinkles]{filter:brightness(1.18) saturate(.86) contrast(.98)}
.result-art.is-changing{animation:choiceSettle .35s ease-out}
@keyframes choiceSettle{from{transform:scale(.97) translateY(8px)}to{transform:scale(1) translateY(0)}}
.sprinkle-deck{position:absolute;inset:0;z-index:2;pointer-events:none}
.topping-deck{position:absolute;inset:0;z-index:3;pointer-events:none}
.result-art.is-full .topping-deck{display:none}
.topping-overlay{position:absolute;display:block;inset:0;width:100%;height:100%;object-fit:contain;opacity:0}
.topping-overlay.is-on{opacity:1}
.topping-overlay[data-topping=mms]{transform:scale(1);transform-origin:50% 42%;filter:saturate(.96)}
.result-art[data-vessel=cup] .mms-base{mask-image:radial-gradient(ellipse 5.2% 3.1% at 40% 28%,#000 64%,transparent 88%),radial-gradient(ellipse 5.2% 3.1% at 52% 44%,#000 64%,transparent 88%),radial-gradient(ellipse 5.2% 3.1% at 71% 40%,#000 64%,transparent 88%),radial-gradient(ellipse 5.2% 3.1% at 19% 55%,#000 64%,transparent 88%),radial-gradient(ellipse 5.2% 3.1% at 86% 52%,#000 64%,transparent 88%)}
.result-art[data-vessel=cup] .mms-extra-blue{mask-image:radial-gradient(ellipse 5.2% 3.1% at 38% 15%,#000 64%,transparent 88%);transform:translate(26%,13%)}
.result-art[data-vessel=cup] .mms-extra-green{mask-image:radial-gradient(ellipse 5.2% 3.1% at 27% 26%,#000 64%,transparent 88%);transform:translate(9%,14%)}
.result-art[data-vessel=cone] .mms-extra{display:none}
.result-art[data-vessel=cone][data-flavor=vanilla] [data-topping=mms]{mask-image:radial-gradient(ellipse 3.4% 2.5% at 55% 14%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 42.5% 22%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 55.5% 27%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 42% 38.5%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 59% 43.5%,#000 58%,transparent 94%)}
.result-art[data-vessel=cone][data-flavor=chocolate] [data-topping=mms]{mask-image:radial-gradient(ellipse 3.4% 2.5% at 41% 18.5%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 59% 27%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 36% 34%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 72% 36%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 61% 46%,#000 58%,transparent 94%)}
.result-art[data-vessel=cone][data-flavor=strawberry] [data-topping=mms]{mask-image:radial-gradient(ellipse 3.4% 2.5% at 43% 16%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 40.5% 23%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 66.5% 22%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 59% 31%,#000 58%,transparent 94%),radial-gradient(ellipse 3.4% 2.5% at 34% 36%,#000 58%,transparent 94%)}
.result-caption{flex:1;min-height:155px;padding:26px 30px 32px;text-align:center;color:var(--ink);background:#f9e8c4}
.result-label{font:italic 25px/1.1 Baskerville,Georgia,serif;color:#955b23;margin:0 0 8px}
.result-summary{font:700 22px/1.3 'SuperClarendon',Rockwell,Georgia,serif;margin:0 auto;max-width:440px}
.menu-section{background:#f5dc9f;padding:95px clamp(24px,7vw,112px) 82px}
.menu-title{max-width:1180px;margin:auto}
.menu-title h2{font-size:clamp(60px,7vw,100px)}
.menu-title p{font:20px/1.45 Baskerville,Georgia,serif;margin:20px 0 0}
.menu-columns{max-width:1180px;margin:66px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.menu-columns h3{font:700 31px/1.2 'SuperClarendon',Rockwell,Georgia,serif;margin:0 0 15px}
.menu-columns ul{list-style:none;margin:0;padding:0}
.menu-columns li{font:20px/1.4 Baskerville,Georgia,serif;padding:9px 0;border-bottom:1px solid rgba(72,88,56,.25)}
.menu-note{max-width:1180px;margin:45px auto 0;font:12px/1.5 Arial,sans-serif;letter-spacing:.04em}
.location-section{background:#d0e9dc;display:flex;align-items:center;justify-content:space-between;gap:50px;padding:95px clamp(24px,7vw,112px)}
.location-section>div{max-width:850px}
.location-section h2{font-size:clamp(60px,7vw,100px)}
.location-section p{font:21px/1.45 Baskerville,Georgia,serif;max-width:480px}
.location-mark{width:250px;height:250px;flex:none;overflow:hidden;border-radius:50%;background:#fff;box-shadow:0 12px 32px rgba(25,88,80,.11)}
.location-mark img{display:block;width:104%;height:104%;object-fit:cover;transform:translate(-1.7%,-.4%)}
.location-social{display:inline-flex;align-items:center;gap:13px;margin-top:20px;color:#154a49}
.facebook-mark{display:grid;place-items:end center;width:42px;height:42px;border-radius:50%;background:#227e80;color:#fff9e6;font:bold 35px/.92 Georgia,serif;overflow:hidden}
.location-social strong{display:block;font:700 17px/1.2 Baskerville,Georgia,serif;text-decoration:underline;text-underline-offset:4px}
.location-social small{display:block;margin-top:4px;font:11px/1.3 Arial,sans-serif;letter-spacing:.02em}
footer{display:flex;justify-content:space-between;gap:24px;background:#1d5b59;color:#fff5d9;padding:28px clamp(24px,5vw,80px);font:700 10px/1.4 Arial,sans-serif;letter-spacing:.11em}
@media(max-width:1050px){.poster{height:735px}.hero-copy{top:202px;width:55%}.hero-copy h1{font-size:clamp(58px,6.9vw,78px)}.hero-product{width:clamp(290px,34vw,350px);right:5%;bottom:17%}.builder-heading h2{font-size:clamp(60px,7vw,80px)}.builder-layout{grid-template-columns:1fr 1fr}.builder-form{padding:34px 27px}.result-stage{height:545px}.result-art{width:345px;height:435px}.builder-form legend{font-size:25px}}
@media(max-width:700px){.poster{width:calc(100% - 16px);margin:8px auto 0;height:740px;border-radius:5px;background-position:45% center}.site-header{padding:20px 18px}.site-mark{width:82px;height:82px}.site-header nav{gap:11px;padding-top:15px}.site-header nav a{font-size:9px;letter-spacing:.05em}.hero-copy{top:145px;left:28px;width:calc(100% - 56px)}.hero-kicker{font-size:19px;margin-bottom:11px}.hero-copy h1{font-size:clamp(50px,13vw,70px);line-height:.98}.hero-intro{font-size:17px;max-width:270px;margin:16px 0 19px}.hero-actions{gap:18px}.ticket-link{font-size:13px;padding:13px 18px}.ink-link{font-size:13px}.hero-product{width:min(72vw,300px);right:4%;bottom:13%}.awning{height:11px}.builder{padding:78px 18px 88px}.builder-heading{display:block;margin-bottom:33px}.script-note{font-size:27px}.builder-heading h2{font-size:clamp(50px,11vw,75px)}.builder-heading p{margin:25px 0 0;font-size:18px}.builder-layout{display:block;border-radius:15px}.builder-form{padding:30px 24px 35px}.builder-form legend{font-size:24px}.result-stage{height:525px}.result-art{width:330px;height:415px}.result-caption{min-height:135px}.result-summary{font-size:19px}.menu-section,.location-section{padding:80px 25px}.menu-title h2,.location-section h2{font-size:clamp(52px,10vw,75px)}.menu-columns{display:block;margin-top:48px}.menu-columns>div+div{margin-top:42px}.location-section img{display:none}footer{font-size:8px;line-height:1.5}}
@media(max-width:420px){.site-header nav{gap:8px}.site-header nav a{font-size:8px}.hero-copy h1{font-size:49px}.hero-product{width:270px;bottom:13%}.builder-heading h2{font-size:49px}.choice-vessel span{min-width:95px}.choice-flavor span{font-size:17px}.choice-topping span{font-size:12px;padding:10px 11px}.result-stage{height:500px}.result-art{width:300px;height:385px}.result-summary{font-size:18px}footer span:first-child{max-width:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.result-art[data-vessel=cone]{margin-bottom:32px}
@media(max-width:700px){.poster{height:850px}.hero-product{width:min(60vw,280px);bottom:17%}}
@media(max-width:420px){.hero-product{width:240px;bottom:17%}}
.builder-heading h2{font-size:clamp(62px,6.3vw,98px);letter-spacing:.022em}
@media(max-width:1050px){.builder-heading{display:block}.builder-heading h2{font-size:clamp(59px,7vw,78px)}.builder-heading p{max-width:460px;margin:24px 0 0}}
@media(max-width:700px){.builder-heading h2{font-size:clamp(50px,11vw,75px)}}
@media(max-width:420px){.builder-heading h2{font-size:49px}}
@media(max-width:700px){.site-mark{width:100px;height:100px}.site-header nav{gap:10px;margin-top:9px;padding:9px 10px 6px}.site-header nav a{font-size:11px;letter-spacing:0}.hero-scene-image{background-position:45% center}.location-mark{display:none}}
@media(max-width:420px){.site-mark{width:96px;height:96px}.site-header nav{gap:8px;padding:8px 8px 5px}.site-header nav a{font-size:10px}}
.hero-copy{top:205px;width:53%;max-width:670px}
.hero-copy h1{font-size:clamp(51px,5.1vw,76px)}
.hero-intro{margin-top:18px}
@media(max-width:1050px){.hero-copy{top:200px;width:55%}.hero-copy h1{font-size:clamp(46px,5.8vw,60px)}}
@media(max-width:700px){.hero-copy{top:150px;width:calc(100% - 56px)}.hero-copy h1{font-size:clamp(38px,9.6vw,54px)}.hero-intro{max-width:245px}}
@media(max-width:420px){.hero-copy h1{font-size:39px}}
.hero-copy h1,.builder-heading h2,.menu-title h2,.location-section h2{font-family:'Iowan Old Style',Athelas,Palatino,Georgia,serif;font-weight:400;letter-spacing:-.035em}
.hero-copy h1 em,.builder-heading h2 em,.menu-title h2 em,.location-section h2 em{font-weight:400}
.hero-copy h1{font-size:clamp(58px,5.6vw,82px);line-height:.95}
.builder-heading h2,.menu-title h2,.location-section h2{line-height:.94}
@media(max-width:1050px){.hero-copy h1{font-size:clamp(53px,6.4vw,69px)}}
@media(max-width:700px){.hero-copy h1{font-size:clamp(44px,10.2vw,58px)}}
@media(max-width:420px){.hero-copy h1{font-size:45px}}
.hero-copy h1{font-size:clamp(66px,7vw,100px);line-height:.91}
.hero-copy h1 em{color:#f1c557;text-shadow:1px 2px 0 rgba(29,84,75,.55)}
.hero-copy h1 span,.hero-copy h1 em{width:max-content;max-width:100%;clip-path:inset(0 100% 0 0);animation:headlineInk .78s cubic-bezier(.19,1,.22,1) both}
.hero-copy h1>:nth-child(1){animation-delay:.18s}
.hero-copy h1>:nth-child(2){animation-delay:.34s}
.hero-copy h1>:nth-child(3){animation-delay:.53s}
.hero-copy h1>:nth-child(4){animation-delay:.72s}
@keyframes headlineInk{to{clip-path:inset(0 0 0 0)}}
.hero-actions{margin-top:27px}
@media(max-width:1050px){.hero-copy h1{font-size:clamp(61px,7.7vw,79px)}}
@media(max-width:700px){.hero-copy h1{font-size:clamp(49px,11.7vw,65px)}.hero-actions{margin-top:22px}}
@media(max-width:420px){.hero-copy h1{font-size:50px}}
@media(prefers-reduced-motion:reduce){.hero-custard,.fall-piece{animation:none!important;opacity:1;transform:none!important}}

/* The family story is a quiet lead-in; the hometown treat is the headline. */
.hero-copy h1{line-height:1.02;letter-spacing:-.035em}
.hero-copy h1>span:first-child{font-size:.6em;line-height:1.16;letter-spacing:-.025em;white-space:nowrap;margin-bottom:.12em;text-shadow:0 2px 7px rgba(255,255,247,.78),0 0 19px rgba(255,255,247,.46)}
.hero-copy h1 em{font-size:1.14em;line-height:.99;letter-spacing:-.04em}
.hero-copy h1 span,.hero-copy h1 em{clip-path:inset(-.12em 100% -.12em 0)}
@keyframes headlineInk{to{clip-path:inset(-.12em 0 -.12em 0)}}
.builder-heading h2,.menu-title h2,.location-section h2{font-weight:400;letter-spacing:-.03em;line-height:1.02}
@media(max-width:700px){.hero-copy h1>span:first-child{font-size:clamp(27px,7vw,37px);margin-bottom:.18em}.hero-copy h1 em{font-size:clamp(48px,calc(22vw - 22px),68px);line-height:.98}}
@media(max-width:420px){.hero-copy h1>span:first-child{font-size:clamp(25px,7.1vw,30px)}}

/* Chosen window-sign hero: painted lettering, no decorative rules. */
.poster::before{z-index:1;background:linear-gradient(90deg,rgba(18,87,87,.75),rgba(34,113,105,.38) 54%,transparent 76%)}
.site-header nav{border-bottom:0}
.site-header nav a{border-bottom:0}
.site-header nav a:hover,.site-header nav a:focus-visible{color:#98601e}
.hero-copy{top:27%;width:min(54%,720px)}
.hero-copy h1{font-size:inherit;line-height:1;text-wrap:initial;text-shadow:none}
.hero-copy h1>span:first-child{font:italic 400 clamp(41px,4.6vw,66px)/1.1 Baskerville,'Iowan Old Style',Georgia,serif;letter-spacing:-.04em;color:#fff5d9;text-shadow:0 2px 9px rgba(255,255,255,.32),1px 1px 0 #135757;margin:0 0 9px}
.hero-copy h1 em{font:900 clamp(62px,6.6vw,103px)/.93 'Cooper Black','SuperClarendon',Georgia,serif;letter-spacing:-.065em;color:#f5cc5c;-webkit-text-stroke:1px #9a6529;text-shadow:3px 4px 0 rgba(23,72,68,.75);font-style:normal;white-space:nowrap}
.hero-copy h1 span,.hero-copy h1 em{width:max-content;max-width:100%;clip-path:none;animation:windowLetterIn .85s cubic-bezier(.19,1,.22,1) both}
.hero-copy h1>span:first-child{animation-delay:.82s}
.hero-copy h1 em:nth-child(2){animation-delay:1.04s}
.hero-copy h1 em:nth-child(3){animation-delay:1.16s}
@keyframes windowLetterIn{from{opacity:0;filter:blur(5px);transform:translate3d(0,13px,0)}to{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}}
.hero-intro{max-width:390px;margin:22px 0 0;color:#fff7dc;font:21px/1.35 Baskerville,Georgia,serif;animation:windowDetailIn .55s ease-out 1.55s both}
.hero-actions{margin-top:20px;animation:windowDetailIn .55s ease-out 1.68s both}
@keyframes windowDetailIn{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.ink-link{color:#fff7dc;text-decoration:none}
.ink-link:hover,.ink-link:focus-visible{color:#f6d272}
@media(max-width:1050px){.hero-copy{top:27%;width:54%}.hero-copy h1>span:first-child{font-size:clamp(36px,4.8vw,53px)}.hero-copy h1 em{font-size:clamp(51px,6.7vw,72px)}}
@media(max-width:700px){.poster::before{background:linear-gradient(180deg,rgba(18,87,87,.74),rgba(18,87,87,.3) 60%,transparent)}.hero-copy{top:154px;left:25px;width:calc(100% - 50px)}.hero-copy h1>span:first-child{font-size:clamp(32px,7.7vw,45px);white-space:nowrap}.hero-copy h1 em{font-size:clamp(42px,10vw,60px)}.hero-intro{font-size:17px;max-width:260px;margin-top:15px}.hero-actions{margin-top:16px}.hero-product{width:min(62vw,260px);bottom:4%}}
@media(max-width:390px){.hero-copy h1>span:first-child{font-size:30px}.hero-copy h1 em{font-size:42px}}

/* Give the phone hero its own hierarchy and place the cup on the counter. */
@media(max-width:700px){
  .site-header nav{gap:8px;margin-top:7px;padding:11px 9px 9px}
  .site-header nav a{font-size:13px;letter-spacing:0}
  .hero-product{left:50%;right:auto;bottom:17%;width:min(67vw,265px);transform:translateX(-50%)}
  .hero-product::before,.hero-product::after{content:"";position:absolute;z-index:0;pointer-events:none;border-radius:50%;animation:counterShadowLand .38s ease-out .87s both}
  .hero-product::before{left:-10%;right:8%;bottom:4.5%;height:36px;background:radial-gradient(ellipse at 57% 50%,rgba(41,49,43,.55) 0%,rgba(41,49,43,.30) 38%,rgba(41,49,43,.12) 62%,transparent 80%);filter:blur(5px);transform:translateX(-10px) skewX(-12deg)}
  .hero-product::after{left:15%;right:15%;bottom:6.7%;height:8px;background:rgba(48,57,50,.40);filter:blur(3px)}
  @keyframes counterShadowLand{from{opacity:0}to{opacity:1}}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.hero-product::before,.hero-product::after{animation-delay:0s!important}}
@media(max-width:360px){
  .poster{height:910px}
  .site-header{display:flex;flex-direction:column;align-items:center;gap:8px}
  .site-header nav{margin:0}
  .hero-copy{top:220px}
  .hero-copy h1 em{font-size:36px}
  .hero-product{bottom:17%;width:min(74vw,260px)}
}

.menu-toggle{display:none}
@media(max-width:700px){
  .site-header{align-items:center}
  .menu-toggle{position:relative;z-index:2;display:grid;place-items:center;width:52px;height:48px;padding:0;border:0;border-radius:3px 11px 3px 11px;background:#fff2d3;color:#2a9b9b;box-shadow:0 3px 12px rgba(27,70,59,.13);cursor:pointer}
  .menu-bars{display:flex;flex-direction:column;justify-content:space-between;width:25px;height:18px}
  .menu-bars i{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
  .menu-toggle[aria-expanded=true] .menu-bars i:first-child{transform:translateY(8px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-bars i:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] .menu-bars i:last-child{transform:translateY(-8px) rotate(-45deg)}
  .site-header nav{display:none;position:absolute;z-index:1;top:113px;left:18px;right:18px;margin:0;padding:16px;background:#fff3d7;box-shadow:0 13px 30px rgba(24,61,52,.19);border-radius:4px 16px 4px 16px;backdrop-filter:none}
  .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;animation:menuUnfold .3s cubic-bezier(.2,.8,.2,1) both}
  .site-header nav a{display:block;padding:12px 14px;font:700 22px/1.1 'SuperClarendon',Rockwell,Georgia,serif;color:var(--ink);white-space:normal}
  .site-header nav a:hover,.site-header nav a:focus-visible{background:#dbeee1;color:#795022}
  @keyframes menuUnfold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:360px){
  .poster{height:850px}
  .site-header{flex-direction:row;justify-content:space-between;align-items:center;gap:0}
  .hero-copy{top:154px}
}

/* Custard Yellow Parlor Board, chosen for the interactive counter. */
.builder-layout,.builder-form{background:#ffe6a2}
.builder-layout{border-radius:22px 22px 7px 7px}
.builder-form fieldset{padding-bottom:0}
.builder-form fieldset+fieldset{margin-top:30px;padding-top:0;border-top:0}
.builder-form legend{font:italic 400 27px/1.05 Baskerville,Georgia,serif;letter-spacing:0;margin-bottom:17px}
.choice-vessel span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:104px;min-height:132px;padding:8px;background:#fffaf0;border:2px solid transparent;border-radius:15px 15px 4px 4px;color:var(--ink);box-shadow:none}
.choice-vessel img{display:block;width:72px;height:85px;object-fit:contain}
.choice-vessel strong{font:700 14px/1.1 Baskerville,Georgia,serif;white-space:nowrap}
.choice-vessel input:checked+span{background:#fffdf5;color:var(--ink);border-color:#257f80;box-shadow:inset 0 -5px 0 #2e9490}
.choice-flavor span{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 7px;border-bottom:2px solid transparent;color:var(--ink)}
.choice-flavor span::before{content:"";display:block;flex:none;width:21px;height:21px;border-radius:50%;background:#f3deb0;box-shadow:inset -3px -3px 0 rgba(128,83,34,.12)}
.choice-flavor:nth-child(2) span::before{background:#955132}
.choice-flavor:nth-child(3) span::before{background:#e7959a}
.choice-flavor input:checked+span{color:var(--ink);border-color:#8c5427;border-bottom-width:2px;padding-bottom:8px}
.choice-topping span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;background:#fff7df;border-radius:4px 11px 4px 11px;box-shadow:none}
.choice-topping input:checked+span{background:#278984;color:#fffaf0;box-shadow:inset 0 -3px 0 #176765}
.reset-choice{margin-top:30px}
.builder-result,.result-stage{background:#b9e4d9}
.result-stage::before{background:repeating-conic-gradient(from -5deg,rgba(248,255,230,.78) 0deg 10deg,rgba(40,149,145,.2) 10deg 22deg)}
.result-caption{background:#1d7174;color:#fff}
.result-label,.result-summary{color:#fff}
@media(max-width:700px){.choice-vessel span{min-width:92px}.choice-vessel img{width:62px;height:70px}}
@media(max-width:390px){.choice-vessel span{min-width:80px}.choice-vessel img{width:51px;height:62px}.choice-vessel strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero-product::before,.hero-product::after{animation:none!important}}

/* Counter sheet menu: serving, flavors, then toppings. */
.menu-print{position:relative;display:grid;grid-template-columns:.94fr 1.06fr;column-gap:clamp(40px,6vw,95px);width:100%;max-width:none;margin:0;padding:66px clamp(32px,6vw,95px) 28px;background:#ffe5a1;border-radius:0;overflow:hidden}
.menu-print::before{content:"";position:absolute;top:0;left:0;right:0;height:13px;background:repeating-linear-gradient(90deg,#268c8a 0 28px,#fff7da 28px 56px);background-size:56px 100%;animation:awningDrift 26s linear infinite}
.menu-print-top{grid-column:1;grid-row:1/3;align-self:start}
.menu-print-top>p{margin:0 0 11px;color:#955221;font:italic 29px/1 Baskerville,Georgia,serif}
.menu-print-top h2{margin:0;color:var(--ink);font:400 clamp(53px,6.4vw,91px)/.98 'Iowan Old Style',Athelas,Georgia,serif;letter-spacing:-.055em}
.menu-print-top h2 em{color:#a65c21;font-style:normal}
.menu-print-serving{grid-column:2;grid-row:1;padding:4px 0 31px;border-bottom:1px solid rgba(28,98,96,.33)}
.menu-print-serving h3,.menu-print-flavors h3,.menu-print-bottom h3{margin:0;color:#965323;font:italic 400 26px/1.15 Baskerville,Georgia,serif}
.menu-print-serving ul{display:flex;flex-wrap:wrap;column-gap:0;row-gap:7px;list-style:none;margin:16px 0 0;padding:0;font:400 clamp(23px,2.6vw,35px)/1.2 'Iowan Old Style',Athelas,Georgia,serif}
.menu-print-serving li{display:inline-flex;align-items:center;white-space:nowrap}
.menu-print-serving li+li::before{content:"·";display:inline-block;margin:0 .38em;color:#268c8a}
.menu-print-flavors{grid-column:2;grid-row:2;padding:30px 0 15px}
.menu-print-flavors ul{list-style:none;margin:18px 0 0;padding:0}
.menu-print-flavors li{display:flex;align-items:center;gap:17px;margin:0 0 10px;font:400 clamp(34px,3.6vw,54px)/1.1 'Iowan Old Style',Athelas,Georgia,serif;letter-spacing:-.035em}
.menu-flavor-dot{display:block;flex:none;width:23px;height:23px;border-radius:50%;border:2px solid rgba(72,63,37,.16)}
.menu-flavor-dot.vanilla{background:#fff8e8}.menu-flavor-dot.chocolate{background:#8c4d2e}.menu-flavor-dot.strawberry{background:#e8949b}
.menu-print-bottom{grid-column:1/-1;display:flex;align-items:baseline;gap:45px;margin-top:23px;padding:27px 0;border-top:1px solid rgba(28,98,96,.33)}
.menu-print-bottom h3{min-width:270px}
.menu-print-bottom p{margin:0;font:700 clamp(17px,1.55vw,23px)/1.45 Baskerville,Georgia,serif}
.menu-print-bottom b{color:#a65c21;font-weight:400;padding:0 5px}
.menu-print .menu-note{grid-column:1/-1;max-width:none;margin:0;padding:16px 0 0;border-top:1px solid rgba(28,98,96,.2);background:transparent;color:#604e34}
@media(max-width:760px){.menu-print{display:block;padding:50px 27px 24px}.menu-print-top h2{font-size:clamp(50px,11vw,75px)}.menu-print-serving{margin-top:30px}.menu-print-serving ul{flex-wrap:nowrap;font-size:clamp(16px,4.8vw,23px)}.menu-print-serving li+li::before{margin:0 .3em}.menu-print-flavors{padding:29px 0 4px}.menu-print-flavors li{font-size:34px}.menu-print-bottom{display:block;margin-top:26px;padding:24px 0}.menu-print-bottom h3{min-width:0}.menu-print-bottom p{margin-top:12px}.menu-flavor-dot{width:21px;height:21px}}
@media(max-width:390px){.menu-print{padding-left:23px;padding-right:23px}.menu-print-top h2{font-size:48px}.menu-print-flavors li{font-size:31px}}
