:root{--cream:#f8f2e8;--ink:#302c28;--rust:#8e5039;--pink:#edddd6;--sage:#dfe4d4;--line:#d7cbbb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.6 Georgia,serif}a{color:inherit;text-decoration:none}button{color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:6px}img{display:block;max-width:100%}h1,h2,p{margin-top:0}h1,h2{font-weight:400;line-height:1.04;letter-spacing:-2.8px}h1{font-size:clamp(54px,6vw,88px);margin-bottom:30px}h2{font-size:clamp(42px,4.3vw,64px);margin-bottom:28px}em{font-weight:400;color:var(--rust)}.topline{text-align:center;background:var(--ink);color:var(--cream);padding:7px 16px;font:11px/1.5 Arial,sans-serif;letter-spacing:1.5px}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 5%;background:#f8f2e8f2;backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:box-shadow .3s}header.scrolled{box-shadow:0 3px 25px #302c2810;border-color:#d7cbbb70}.logo{width:225px;mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:27px}nav>a:not(.button){font:12px Arial,sans-serif;position:relative;padding:12px 0}nav>a:not(.button):after{content:'';position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--rust);transform:scaleX(0);transition:transform .25s}nav>a:hover:after,nav>a[aria-current]:after{transform:scaleX(1)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:15px 25px;min-height:50px;border:1px solid #817263;border-radius:5px;font:12px/1.5 Arial,sans-serif;letter-spacing:.6px;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);background:#eadfce;box-shadow:0 6px 14px #302c2810}.dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}.dark:hover{background:var(--rust);color:white;border-color:var(--rust)}.menu-toggle{display:none}.skip{position:fixed;left:10px;top:-80px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.hero{max-width:1440px;position:relative;margin:auto;padding:55px 7% 75px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.hero-copy{padding:30px 0}.eyebrow{font:10px/1.8 Arial,sans-serif;letter-spacing:2px;font-weight:600;margin-bottom:22px}.dot{display:inline-block;width:7px;height:7px;background:var(--rust);border-radius:50%;margin-right:8px}.hero-copy>p{max-width:410px;font-size:19px;color:#62584e}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font:13px/1.6 Arial,sans-serif;border-bottom:1px solid #ab9581;padding:5px 0}.text-link:hover{color:var(--rust)}.hero-note{margin-top:35px;font-size:13px;font-style:italic;color:#766b60}.hero-visual{height:570px;position:relative}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 51%;border-radius:220px 220px 10px 10px}.photo-label{position:absolute;bottom:25px;left:25px;color:white;font-size:24px;font-style:italic;text-shadow:0 1px 8px #302c28}.seal{position:absolute;right:-30px;bottom:75px;width:145px;height:145px;border-radius:50%;background:var(--sage);display:flex;flex-direction:column;justify-content:center;text-align:center;font:8px/1.1 Arial,sans-serif;letter-spacing:1.2px;transform:rotate(10deg);box-shadow:0 8px 25px #302c2815}.seal b{font:italic 19px/1.1 Georgia,serif;letter-spacing:0}.scroll-hint{position:absolute;bottom:25px;left:7%;font:9px Arial,sans-serif;letter-spacing:2px}.ribbon{background:var(--pink);display:flex;justify-content:center;gap:45px;align-items:center;padding:22px 20px;font:13px Arial,sans-serif;letter-spacing:.5px}.ribbon i{font-size:25px;color:var(--rust)}.feature{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:100px 8%;align-items:center}.feature-photo{position:relative;height:520px}.feature-photo img{height:100%;width:100%;object-fit:cover;object-position:75%;border-radius:10px 10px 140px 10px}.image-tag{position:absolute;top:25px;left:25px;background:var(--cream);padding:8px 14px;font:9px Arial,sans-serif;letter-spacing:1.7px}.feature-copy p{color:#62584e}.flavor-notes{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 30px}.flavor-notes span{padding:6px 12px;border:1px solid var(--line);border-radius:50px;font:11px Arial,sans-serif}.sub-link{display:block;font:12px Arial,sans-serif;margin:18px 0}.note{font-size:13px;line-height:1.6;opacity:.8;margin:20px 0 0}.yogurt{max-width:none;background:var(--sage);padding:80px max(8%,calc((100vw - 1210px)/2));gap:9%}.yogurt-visual{height:480px;position:relative;padding:0 20px}.yogurt-visual>img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;border-radius:160px 160px 8px 8px;transform:rotate(3deg)}.floating-note{position:absolute;bottom:15px;left:-20px;background:var(--cream);padding:25px 30px;box-shadow:0 8px 24px #302c2810;font-size:24px;line-height:1.2;transform:rotate(-6deg)}.steps{display:grid;gap:13px;margin:30px 0}.steps span{font-size:16px}.steps b{font:10px Arial,sans-serif;border:1px solid #8c977d;border-radius:50%;padding:8px;margin-right:12px}.pies{max-width:1440px;margin:auto;padding:95px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:30px}.section-heading>p{max-width:350px;color:#62584e}.pie-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.pie-photo{background:var(--pink);padding:30px;border-radius:12px}.pie-photo img{width:100%;height:340px;object-fit:cover;border-radius:7px}.pie-photo>span{display:block;font-style:italic;text-align:center;margin-top:20px}.pie-options details{border-top:1px solid var(--line);padding:18px 0}.pie-options summary{cursor:pointer;font-size:19px;list-style:none;position:relative;padding-right:25px}.pie-options summary:after{content:'+';position:absolute;right:0}.pie-options details[open] summary:after{content:'−'}.pie-options summary span{font:10px Arial,sans-serif;margin-right:18px;color:var(--rust)}.pie-options details p{font-size:16px;padding:14px 0 0 33px;margin:0;color:#62584e}.pie-options>.button{margin-top:22px}.story{display:grid;grid-template-columns:1.1fr 1fr;background:#eee5d8;align-items:center}.story-photo{height:560px}.story-photo img{height:100%;width:100%;object-fit:cover}.story-copy{padding:65px 15%}.story-copy p{font-size:17px}.delivery{text-align:center;padding:95px 7%;background:var(--ink);color:var(--cream)}.delivery>.eyebrow{color:#ddbb9f}.delivery h2{font-size:clamp(35px,4vw,58px)}.partners{display:flex;justify-content:center;gap:20px;margin:35px 0}.partners a{border:1px solid #807060;border-radius:6px;padding:20px 30px;min-width:185px;transition:background .2s,transform .2s}.partners a:hover{background:#4d4035;transform:translateY(-4px)}.partners span{margin-left:30px}.delivery .text-link{display:inline-block;margin-top:25px}.visit{max-width:1440px;display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:auto;padding:95px 8%;align-items:center}.visit>img{width:100%;height:460px;object-fit:cover;border-radius:200px 200px 8px 8px}.visit h2{font-size:46px}.visit address{font-style:normal;font-size:18px}.hours{display:grid;grid-template-columns:1fr 1fr;font:13px/1.8 Arial,sans-serif;gap:10px 15px;margin:25px 0}.visit p{font-size:17px}footer{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:35px 6%;border-top:1px solid var(--line)}footer .logo{width:185px}footer p{font-style:italic;margin:0}footer>a:not(:first-child){font:12px Arial,sans-serif}footer span{font:10px Arial,sans-serif}.reveal{transition:opacity .7s,transform .7s}.reveal.waiting{opacity:0;transform:translateY(24px)}@media(min-width:1600px){header{padding-left:max(5%,calc((100vw - 1300px)/2));padding-right:max(5%,calc((100vw - 1300px)/2))}}@media(max-width:1050px){nav{gap:16px}header .logo{width:180px}nav .button{padding:12px 15px}.hero{gap:35px;padding-left:6%;padding-right:6%}.hero-visual{height:490px}.seal{right:-15px;width:125px;height:125px}.feature{gap:6%;padding:75px 6%}.feature-photo{height:460px}.story-copy{padding:40px 10%}.story-photo{height:540px}footer{flex-wrap:wrap}}@media(max-width:760px){html{scroll-padding-top:90px}header{padding:15px 5%}.logo,header .logo{width:190px}.menu-toggle{display:flex;gap:20px;align-items:center;border:1px solid var(--line);background:none;border-radius:4px;padding:10px 14px;font:12px Arial,sans-serif}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:20px 6% 28px;box-shadow:0 15px 20px #302c2815;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:6px}nav>a:not(.button){font-size:15px;padding:12px}.hero{padding:35px 7% 60px;grid-template-columns:1fr;gap:28px}.hero-copy{padding:0}h1{font-size:59px;letter-spacing:-2px}h2{font-size:45px;letter-spacing:-1.8px}.hero-copy p{font-size:18px}.hero-note{margin-top:22px}.hero-visual{height:450px;max-width:440px;width:100%;margin:auto}.hero-visual>img{border-radius:180px 180px 8px 8px}.seal{right:-12px;bottom:45px}.scroll-hint{bottom:20px}.ribbon{gap:15px;padding:18px;font-size:11px;text-align:center}.ribbon>span:last-child,.ribbon>i:last-of-type{display:none}.feature{grid-template-columns:1fr;padding:60px 7%;gap:35px}.feature-photo{height:400px;order:2}.yogurt{padding:60px 7%}.yogurt-visual{height:440px;margin-top:10px}.floating-note{left:0}.pies{padding:60px 7%}.section-heading{display:block}.section-heading>p{max-width:none}.pie-grid{grid-template-columns:1fr;gap:35px}.pie-photo{padding:20px}.pie-photo img{height:290px}.story{grid-template-columns:1fr}.story-photo{height:330px}.story-copy{padding:45px 7%}.delivery{padding:65px 7%}.partners{flex-direction:column;gap:12px}.partners a{display:flex;justify-content:space-between;padding:17px 24px}.visit{grid-template-columns:1fr;padding:60px 7%;gap:35px}.visit>img{height:340px}.visit h2{font-size:42px}.hours{font-size:12px}.actions{gap:18px}footer{padding:30px 7%;gap:20px}footer span{width:100%}.topline{font-size:10px}.eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal.waiting{opacity:1;transform:none}}
/* Vintage cream menu boards, hung together on a warm plaster wall. */
.menu-wall{padding:80px 7%;background-color:#e9dfcf;background-image:radial-gradient(ellipse at 20% 15%,#fff8ed77,transparent 65%),repeating-linear-gradient(94deg,#9e876406 0px,#9e876406 1px,transparent 1px,transparent 7px)}.ice-wall{padding-bottom:42px}.yogurt-wall{padding-top:22px;padding-bottom:85px}.menu-board{max-width:1120px;margin:auto;position:relative;background:#f8f3e7;border:12px solid #78614c;border-radius:2px;padding:55px 65px 35px;outline:1px solid #483d32;outline-offset:-6px;box-shadow:inset 0 0 0 2px #ae9980,inset 0 0 0 9px #eee4d1,0 14px 24px #483b2920,0 3px 4px #483b2925;color:#383631;background-image:radial-gradient(ellipse at center,#fffdf333,transparent 80%)}.menu-board:before{content:'';position:absolute;inset:22px;border:1px solid #a999815e;pointer-events:none}.board-heading{text-align:center}.board-heading .eyebrow{font-size:10px;letter-spacing:3px;margin-bottom:15px;color:#696050}.board-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,5.5vw,76px);font-weight:700;font-variant:small-caps;letter-spacing:1px;line-height:1.05;margin-bottom:13px;text-shadow:.5px 1px #fff,0 0 1px #383631}.board-heading>p{font-style:italic;font-size:17px;color:#605b52;margin-bottom:18px}.board-ornament{display:flex;align-items:center;justify-content:center;gap:18px;font-size:18px;margin:0 auto 35px;max-width:390px;color:#6d6253}.board-ornament:before,.board-ornament:after{content:'';height:1px;flex:1;background:#998a73}.menu-flavors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:0}.menu-flavors li{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-size:18px;line-height:1.4;letter-spacing:.1px;padding:15px 0;border-bottom:1px dotted #ad9f8870;text-wrap:pretty}.board-subsection{border-top:2px solid #8b7d644d;margin-top:38px;padding-top:28px}.board-subsection h3,.weekly-title{font:700 17px/1.4 Georgia,serif;font-variant:small-caps;letter-spacing:2px;text-align:center;margin:0 0 14px}.seasonal-menu .menu-flavors{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin:auto;column-gap:55px}.board-note{text-align:center;font-size:13px;font-style:italic;margin:20px 0 0;color:#766c5d}.dairy-menu{text-align:center}.dairy-label{display:inline-block;font:10px/1.5 Arial,sans-serif;font-weight:600;letter-spacing:2.5px;border:1px solid #8b7d64;padding:5px 16px;margin-bottom:13px}.dairy-menu h3{font-variant:normal;font-style:italic;font-weight:400;font-size:21px;letter-spacing:0}.dairy-menu .menu-flavors{text-align:left}.board-bottom{text-align:center;border-top:1px solid #8b7d644d;margin-top:35px;padding-top:25px}.board-bottom>span{font-size:19px;font-style:italic}.board-bottom p{font:11px/1.8 Arial,sans-serif;color:#756b5d;max-width:580px;margin:12px auto 0}.board-bottom a{display:inline-block;margin-top:13px;font-size:17px;border-bottom:1px solid #9c8e75}.yogurt-wall .menu-flavors{grid-template-columns:repeat(2,minmax(0,1fr));max-width:780px;margin:auto;column-gap:80px}.weekly-title{margin-bottom:15px;color:#655b4c}.board-corner{position:absolute;top:32px;width:8px;height:8px;border:1px solid #80705b;transform:rotate(45deg)}.board-corner.tl{left:32px}.board-corner.tr{right:32px}@media(max-width:900px){.menu-board{padding:45px 40px 35px}.menu-flavors{column-gap:25px}.menu-flavors li{font-size:16px}}@media(max-width:600px){.menu-wall{padding:40px 5%}.ice-wall{padding-bottom:15px}.yogurt-wall{padding-top:15px;padding-bottom:45px}.menu-board{border-width:8px;padding:38px 25px 28px;outline-offset:-4px}.menu-board:before{inset:12px}.board-heading h2{font-size:45px;letter-spacing:0}.board-heading>p{font-size:14px}.board-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.board-corner{top:22px;width:6px;height:6px}.board-corner.tl{left:22px}.board-corner.tr{right:22px}.menu-flavors,.seasonal-menu .menu-flavors,.yogurt-wall .menu-flavors{grid-template-columns:1fr;gap:0}.menu-flavors li{font-size:18px;text-align:center;padding:12px 0}.board-ornament{margin-bottom:20px}.board-subsection{margin-top:28px;padding-top:25px}.board-subsection h3,.weekly-title{font-size:16px}.dairy-menu h3{font-size:20px}.board-bottom>span{font-size:17px}.board-bottom p{font-size:10px}}
.hero-brand{width:100%;height:auto;display:block;mix-blend-mode:multiply;margin:0 0 26px}.hero-copy:has(.hero-brand){padding:0}.hero-copy:has(.hero-brand)>p{font-size:17px;max-width:440px;margin-bottom:25px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.hero-brand{margin-bottom:22px}.hero-copy:has(.hero-brand)>p{font-size:17px}}
header .header-brand{width:215px;height:auto}header:has(.header-brand){padding-top:8px;padding-bottom:8px}html{scroll-padding-top:175px}@media(max-width:1050px){header .header-brand{width:190px}}@media(max-width:760px){header .header-brand{width:175px}html{scroll-padding-top:145px}}
header .header-brand{width:275px;height:auto}header:has(.header-brand){padding-top:14px;padding-bottom:14px}html{scroll-padding-top:130px}@media(max-width:1050px){header .header-brand{width:230px}}@media(max-width:760px){header .header-brand{width:215px}html{scroll-padding-top:115px}}

/* Airy, responsive header lettering. */
.header-wordmark{display:flex;flex-direction:column;align-items:center;gap:7px;width:275px;padding:8px 0;color:var(--ink);white-space:nowrap}.brand-name{font:700 36px/1.05 Georgia,serif;letter-spacing:-1.2px}.brand-description{font:700 21px/1.2 Georgia,serif;letter-spacing:.2px}.brand-credit{display:flex;align-items:baseline;gap:5px;margin-top:3px;font:italic 10px/1.4 Georgia,serif}.brand-credit>span{font:bold italic 16px/1.2 Georgia,serif;color:#b7202b}.brand-credit>b{font:700 8px/1.4 Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase}header:has(.header-wordmark){padding-block:18px;gap:24px}header:has(.header-wordmark)>a{flex-shrink:0}@media(max-width:1050px){.header-wordmark{width:230px}.brand-name{font-size:31px}.brand-description{font-size:18px}.brand-credit{gap:4px;font-size:9px}.brand-credit>span{font-size:14px}.brand-credit>b{font-size:7px}}@media(max-width:760px){header:has(.header-wordmark){padding:20px 7%;gap:18px}.header-wordmark{width:215px;gap:8px;padding:0}.brand-name{font-size:29px}.brand-description{font-size:17px}.menu-toggle{flex-shrink:0}html{scroll-padding-top:145px}}@media(max-width:380px){.header-wordmark{width:185px}.brand-name{font-size:25px}.brand-description{font-size:15px}.brand-credit{gap:3px;font-size:8px}.brand-credit>span{font-size:12px}.brand-credit>b{font-size:6px}.menu-toggle{gap:10px;padding:10px}}

/* Shared ice cream and frozen yogurt flavor layout. */
:is(#flavors,#yogurt){padding:85px 8% 70px;background:var(--cream)}
:is(#flavors,#yogurt) .menu-board{max-width:1120px;padding:0;border:0;border-radius:0;outline:0;box-shadow:none;background:none;color:var(--ink)}
:is(#flavors,#yogurt) .menu-board:before,:is(#flavors,#yogurt) .board-corner,:is(#flavors,#yogurt) .board-ornament{display:none}
:is(#flavors,#yogurt) .board-heading{text-align:left;margin-bottom:38px;max-width:640px}
:is(#flavors,#yogurt) .board-heading .eyebrow{color:var(--rust);letter-spacing:2px;margin-bottom:15px}
:is(#flavors,#yogurt) .board-heading h2{font-size:clamp(44px,5vw,68px);font-weight:400;font-variant:normal;letter-spacing:-2px;line-height:1.06;text-shadow:none;margin-bottom:18px}
:is(#flavors,#yogurt) .board-heading>p{font-style:normal;font-size:18px;color:#62584e;margin:0}
:is(#flavors,#yogurt) .menu-flavors{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 36px;max-width:none;margin:0;text-align:left}
:is(#flavors,#yogurt) .menu-flavors li{padding:0;border:0;font-size:18px;font-weight:400;line-height:1.5;text-align:left;letter-spacing:0}
:is(#flavors,#yogurt) .board-subsection{margin-top:44px;padding-top:30px;border-top:1px solid var(--line);text-align:left}
:is(#flavors,#yogurt) .board-subsection h3{font:italic 28px/1.2 Georgia,serif;font-variant:normal;letter-spacing:-.5px;text-align:left;color:var(--rust);margin:0 0 24px}
:is(#flavors,#yogurt) .dairy-label{border:0;padding:0;margin:0 0 12px;color:#62584e;letter-spacing:2px;font-size:9px}
:is(#flavors,#yogurt) .board-note{text-align:left;margin:24px 0 0;font-size:13px}
:is(#flavors,#yogurt) .board-bottom{border:0;margin-top:40px;padding:0;text-align:left}
:is(#flavors,#yogurt) .board-bottom>span{font-size:21px;color:var(--rust)}
:is(#flavors,#yogurt) .board-bottom p{max-width:none;margin:10px 0 0}
@media(max-width:760px){:is(#flavors,#yogurt){padding:60px 7%}:is(#flavors,#yogurt) .menu-flavors{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}:is(#flavors,#yogurt) .menu-flavors li{font-size:16px}:is(#flavors,#yogurt) .board-heading{margin-bottom:30px}:is(#flavors,#yogurt) .board-subsection{margin-top:34px;padding-top:26px}}
@media(max-width:380px){:is(#flavors,#yogurt) .menu-flavors{grid-template-columns:1fr;gap:14px}}

/* Read each flavor column naturally from top to bottom. */
:is(#flavors,#yogurt) .menu-flavors{display:block;columns:3;column-gap:42px}:is(#flavors,#yogurt) .menu-flavors li{break-inside:avoid;padding:0 0 18px}:is(#flavors,#yogurt) .seasonal-menu .menu-flavors,:is(#flavors,#yogurt) .dairy-menu .menu-flavors{columns:2}@media(max-width:760px){:is(#flavors,#yogurt) .menu-flavors{columns:2;column-gap:26px}:is(#flavors,#yogurt) .menu-flavors li{padding-bottom:16px}}@media(max-width:420px){:is(#flavors,#yogurt) .menu-flavors,:is(#flavors,#yogurt) .seasonal-menu .menu-flavors,:is(#flavors,#yogurt) .dairy-menu .menu-flavors{columns:1}}

/* Signature flavor-discovery button. */
.favorite-button{gap:24px;min-height:58px;padding:8px 9px 8px 24px;border:1px solid var(--rust);border-radius:999px;background:var(--rust);color:var(--cream);font:600 13px/1.4 Arial,sans-serif;letter-spacing:.2px;box-shadow:0 4px 12px #8e503918;transition:background .2s,transform .2s,box-shadow .2s}.favorite-button>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--rust);font:22px/1 Arial,sans-serif;transition:transform .2s}.favorite-button:hover{background:#74402e;border-color:#74402e;box-shadow:0 6px 16px #8e503926;transform:translateY(-2px)}.favorite-button:hover>span{transform:rotate(45deg)}.favorite-button:active{transform:translateY(0);box-shadow:none}

/* Symmetrical rounded corners for the front-page photo. */
.hero-visual>img{border-radius:48px}
@media(max-width:760px){.hero-visual>img{border-radius:36px}}

#yogurt .weekly-title{font:italic 28px/1.2 Georgia,serif;letter-spacing:-.5px;text-align:left;color:var(--rust);margin:0 0 24px}

/* A subtle line between the flavor sections. */
#yogurt{background:var(--cream);position:relative}
#yogurt:before{content:'';position:absolute;top:0;left:8%;right:8%;max-width:1120px;margin:auto;height:1px;background:var(--line)}
@media(max-width:760px){#yogurt:before{left:7%;right:7%}}

/* Let the pie photograph stand on its own. */
.pie-photo{background:none;padding:0;border-radius:0}
.pie-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f7f8fa;border-radius:28px}
.pie-photo>span{margin-top:20px;padding:0 0 0 16px;border-left:2px solid var(--line);text-align:left;font:italic 21px/1.5 Georgia,serif;color:var(--rust)}
@media(max-width:760px){.pie-photo{padding:0}.pie-photo img{height:auto;border-radius:22px}.pie-photo>span{font-size:18px;margin-top:18px}}

/* Match the storefront photo to the front-page photo shape. */
.visit>img{border-radius:48px}
@media(max-width:760px){.visit>img{border-radius:36px}}

/* Freestanding pie cutout on the cream page. */
#pies .pie-photo{background:transparent;border:0;padding:8px 0;box-shadow:none}#pies .pie-photo img{width:100%;max-width:580px;height:auto;aspect-ratio:auto;margin:auto;object-fit:contain;background:transparent;border-radius:0;filter:drop-shadow(0 12px 10px #49332214)}#pies .pie-photo>span{border:0;padding:0;margin:24px auto 0;text-align:center;font-size:20px;color:var(--rust)}#pies .pie-grid{gap:7%;align-items:center}@media(max-width:760px){#pies .pie-grid{gap:34px}#pies .pie-photo>span{font-size:18px;margin-top:18px}}

/* Wide landscape hero photo beneath the introduction. */
.hero{grid-template-columns:1fr;gap:36px}
.hero-copy{max-width:800px;padding-bottom:0}
.hero-visual{width:100%;max-width:none;height:auto;aspect-ratio:16/9}
.hero-visual>img{height:100%;object-position:center 50%}
@media(max-width:760px){.hero{gap:28px}.hero-visual{height:auto;max-width:none;aspect-ratio:4/3}.hero-visual .seal{width:105px;height:105px;right:12px;bottom:45px}.hero-visual .seal b{font-size:16px}.hero-visual .photo-label{left:18px;bottom:16px;font-size:21px}}

/* Softer delivery palette, coordinated with the cream and rust branding. */
.delivery{background:var(--sage);color:var(--ink)}
.delivery>.eyebrow{color:var(--rust)}
.delivery .partners a{background:#fffaf2;border-color:#c1c8b5;color:var(--ink)}
.delivery .partners a span{color:var(--rust)}
.delivery .partners a:hover{background:#f1e3d6;border-color:var(--rust);color:#633a29}
.delivery .note{color:#515a48;opacity:1}
.delivery .text-link{color:#76402d;border-color:#a48168}
.delivery .text-link:hover{color:var(--ink);border-color:var(--ink)}

/* Delivery background matches the primary rust buttons. */
.delivery{background:var(--rust);color:var(--cream)}
.delivery>.eyebrow,.delivery .note{color:var(--cream)}
.delivery .text-link{color:var(--cream);border-color:#e3c5b5}
.delivery .text-link:hover{color:#fff;border-color:#fff}

/* Softer, rounded serif for the main headline. */
.hero h1{font-family:'Baskerville','Palatino Linotype','Book Antiqua',Palatino,serif;font-weight:400;letter-spacing:-1.5px;line-height:1.08}
.hero h1 em{font-family:inherit;font-weight:400}
@media(max-width:760px){.hero h1{letter-spacing:-1px}}

.hero h1,.hero h1 em{font-weight:700}

.hero h1 em{font-style:normal}

/* Consistent breathing room across the page. */
header:has(.header-wordmark){padding-block:22px}
.hero{padding-top:64px;padding-bottom:80px;gap:44px}
.hero-copy{padding-top:12px}
.hero-copy>.eyebrow{margin-bottom:26px}
.hero h1{margin-bottom:28px}
.hero-copy>p{max-width:540px;margin-bottom:30px;line-height:1.65}
.actions{gap:18px 24px}
:is(#flavors,#yogurt){padding-top:80px;padding-bottom:80px}
:is(#flavors,#yogurt) .board-heading{margin-bottom:40px}
:is(#flavors,#yogurt) .board-subsection{margin-top:44px;padding-top:32px}
:is(#flavors,#yogurt) .board-bottom{margin-top:36px}
.pies{padding-top:80px;padding-bottom:80px}
.pies .section-heading{margin-bottom:42px}
.pies .section-heading h2{margin-bottom:18px}
.pies .section-heading>p{margin-bottom:0;line-height:1.65}
.pie-options>.eyebrow{margin-bottom:22px}
.pie-options>.button{margin-top:28px}
.pie-options>.note{margin-top:20px}
.story-copy p{margin-bottom:22px;line-height:1.65}
.delivery{padding-top:80px;padding-bottom:80px}
.delivery h2{margin-bottom:24px}
.delivery .partners{margin:32px 0;gap:18px}
.visit{padding-top:80px;padding-bottom:80px}
.visit h2{margin-bottom:24px}
.visit .hours{margin:28px 0}
@media(max-width:760px){
 header:has(.header-wordmark){padding-block:18px}
 .hero{padding-top:36px;padding-bottom:60px;gap:32px}
 .hero-copy{padding:0}
 .hero-copy>.eyebrow{margin-bottom:22px}
 .hero h1{margin-bottom:24px}
 .hero-copy>p{margin-bottom:26px}
 .actions{gap:14px 18px}
 :is(#flavors,#yogurt),.pies,.delivery,.visit{padding-top:56px;padding-bottom:56px}
 :is(#flavors,#yogurt) .board-heading{margin-bottom:30px}
 :is(#flavors,#yogurt) .board-subsection{margin-top:32px;padding-top:26px}
 .pies .section-heading{margin-bottom:32px}
 #pies .pie-grid{gap:36px}
 .story-copy{padding:48px 7%}
 .visit{gap:32px}
 .delivery .partners{gap:14px}
}

footer .footer-tagline{font-family:'Baskerville','Palatino Linotype','Book Antiqua',Palatino,serif;font-size:28px;font-weight:700;font-style:normal;line-height:1.15;letter-spacing:-.4px}footer .footer-tagline em{font-style:normal;font-weight:700;color:var(--rust)}

/* Keep footer metadata styling from shrinking the shared business wordmark. */
footer .footer-wordmark{font:inherit}footer .footer-wordmark .brand-name{font:700 36px/1.05 Georgia,serif}footer .footer-wordmark .brand-description{font:700 21px/1.2 Georgia,serif}footer .footer-wordmark .brand-credit{font:italic 10px/1.4 Georgia,serif}footer .footer-wordmark .brand-credit>span{font:bold italic 16px/1.2 Georgia,serif}@media(max-width:1050px){footer .footer-wordmark .brand-name{font-size:31px}footer .footer-wordmark .brand-description{font-size:18px}footer .footer-wordmark .brand-credit{font-size:9px}footer .footer-wordmark .brand-credit>span{font-size:14px}}@media(max-width:760px){footer .footer-wordmark span{width:auto}footer .footer-wordmark .brand-name{font-size:29px}footer .footer-wordmark .brand-description{font-size:17px}}@media(max-width:380px){footer .footer-wordmark .brand-name{font-size:25px}footer .footer-wordmark .brand-description{font-size:15px}footer .footer-wordmark .brand-credit{font-size:8px}footer .footer-wordmark .brand-credit>span{font-size:12px}}

/* Consistent, more visible boundaries between main sections. */
main>section+section{border-top:2px solid #b8947c}
#yogurt:before{display:none}
.delivery{border-top-color:#e2bd9f}
footer{border-top:2px solid #b8947c}

.pint-order{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:42px;padding:28px 0;border-top:1px solid var(--line)}.pint-order h3{font:400 28px/1.2 Georgia,serif;color:var(--rust);margin:0 0 10px}.pint-order p{margin:0;font-size:17px;color:#62584e}.pint-order .button{flex-shrink:0}@media(max-width:760px){.pint-order{align-items:flex-start;flex-direction:column;gap:22px;margin-top:32px}}

.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:80px max(8%,calc((100vw - 1210px)/2));background:var(--cream)}.contact-intro h2{margin-bottom:24px}.contact-intro>p{max-width:440px;color:#62584e}.contact-details{display:grid;gap:28px;min-width:0}.contact-details h3{font:600 11px/1.5 Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust);margin:0 0 10px}.contact-details a:not(.text-link){font-size:18px;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;overflow-wrap:anywhere}.contact-details a:hover{color:var(--rust)}.contact-details address{font-style:normal;margin-bottom:12px}@media(max-width:1050px) and (min-width:761px){nav{gap:12px}nav>a:not(.button){font-size:11px}header{gap:16px}}@media(max-width:760px){.contact-section{grid-template-columns:1fr;padding:56px 7%;gap:26px}.contact-intro>p{margin-bottom:0}.contact-details{gap:26px}.contact-details a:not(.text-link){font-size:16px}}

/* Full-width patio photograph above the visit details. */
#visit{display:flex;flex-direction:column;align-items:stretch;gap:0;max-width:none;padding:0}
#visit>img{display:block;width:100%;height:auto;border-radius:0;object-fit:contain}
#visit>div{width:100%;max-width:850px;margin:auto;padding:64px 7%}
@media(max-width:760px){#visit{padding:0;gap:0}#visit>img{height:auto;border-radius:0}#visit>div{padding:48px 7%}}

/* Breathing room between delivery options and the patio photo. */
#visit{padding-top:48px}
@media(max-width:760px){#visit{padding-top:32px}}

#visit>.patio-caption{margin:0;padding:0 7% 28px;text-align:center;font:400 clamp(24px,3vw,36px)/1.3 'Baskerville',Georgia,serif;color:var(--rust);text-wrap:balance}@media(max-width:760px){#visit>.patio-caption{padding-bottom:24px}}

/* Full-width front-page photo, with its caption and badge retained. */
#home.hero{max-width:none;padding-left:0;padding-right:0;grid-template-columns:minmax(0,1fr)}
#home .hero-copy{width:86%;max-width:800px;margin-left:7%;margin-right:7%}
#home .hero-visual{width:100%;max-width:none;height:auto;aspect-ratio:auto;margin:0}
#home .hero-visual>img{width:100%;height:auto;object-fit:contain;border-radius:0}
#home .hero-visual .photo-label{left:7%;bottom:28px}
#home .hero-visual .seal{right:7%;bottom:70px}
@media(max-width:760px){#home .hero-visual .photo-label{bottom:20px}#home .hero-visual .seal{right:5%;bottom:56px}}

/* A shorter full-width hero photograph. */
#home .hero-visual{height:clamp(320px,42vw,560px)}
#home .hero-visual>img{height:100%;object-fit:cover;object-position:center 50%}
@media(max-width:760px){#home .hero-visual{height:clamp(280px,70vw,420px)}}

/* A little more room inside the hero badge. */
#home .hero-visual .seal{width:165px;height:165px;padding:16px;line-height:1.3}
@media(max-width:760px){#home .hero-visual .seal{width:130px;height:130px;padding:12px}}

.seal-business-type{display:block;margin-top:4px;font:inherit;letter-spacing:.8px}

/* Balanced type and spacing inside the circular badge. */
#home .hero-visual .seal{align-items:center;justify-content:center;gap:12px;padding:20px 12px;text-align:center}#home .hero-visual .seal b{font:italic 19px/1.15 Georgia,serif;letter-spacing:-.2px}.seal-location,.seal-name{font:600 8px/1.4 Arial,sans-serif;letter-spacing:1px}.seal-business-type{margin-top:3px;font:600 7px/1.4 Arial,sans-serif;letter-spacing:.65px}@media(max-width:760px){#home .hero-visual .seal{gap:8px;padding:14px 8px}#home .hero-visual .seal b{font-size:16px}.seal-location,.seal-name{font-size:7px;letter-spacing:.7px}.seal-business-type{font-size:6px;letter-spacing:.45px}}

/* Playful cone accents on the primary buttons. */
.favorite-button .button-cone svg{display:block;transform-origin:50% 75%;transition:transform .25s ease}.favorite-button:hover>.button-cone{transform:none}.favorite-button:hover .button-cone svg,.favorite-button:focus-visible .button-cone svg{animation:cone-wiggle .7s ease-in-out infinite alternate}@keyframes cone-wiggle{0%{transform:translateY(0) rotate(-9deg)}100%{transform:translateY(-3px) rotate(9deg)}}

/* A quieter hover motion for the double-scoop icon. */
.favorite-button:hover .button-cone svg,.favorite-button:focus-visible .button-cone svg{animation:none;transform:translateY(-2px) rotate(12deg)}

.contact-details a.favorite-button{font:600 13px/1.4 Arial,sans-serif;text-decoration:none;color:var(--cream);margin-top:8px}

/* Mobile menu matches the primary pill buttons. */
header .menu-toggle{gap:18px;min-height:54px;padding:7px 8px 7px 21px;border:1px solid var(--rust);border-radius:999px;background:var(--rust);color:var(--cream);font:600 13px/1.4 Arial,sans-serif;letter-spacing:.2px;box-shadow:0 4px 12px #8e503918;transition:background .2s,transform .2s,box-shadow .2s}
header .menu-toggle>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--cream);color:var(--rust);font:20px/1 Arial,sans-serif;transition:transform .2s}
header .menu-toggle:hover{background:#74402e;border-color:#74402e;transform:translateY(-2px);box-shadow:0 6px 16px #8e503926}
header .menu-toggle:hover>span{transform:rotate(8deg)}
header .menu-toggle:active{transform:translateY(0)}
@media(max-width:380px){header .menu-toggle{gap:9px;padding-left:14px}header .menu-toggle>span{width:32px;height:32px;flex-basis:32px}}

.pie-options>.pie-note{font:italic 13px/1.6 Georgia,serif;color:#766c5d;letter-spacing:normal;margin:0 0 22px;text-align:left}

/* A compact introduction to the shop's other treats. */
.more-treats{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:7%;padding:72px max(8%,calc((100vw - 1210px)/2));background:#eee5d8}.treats-copy h2{margin-bottom:24px}.treats-copy>p{max-width:460px;color:#62584e}.treats-options{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;padding:0;margin:28px 0 0}.treats-options li{font:600 15px/1.6 Georgia,serif;color:var(--rust)}.treats-photo{width:100%;max-width:340px;height:auto;max-height:350px;object-fit:contain;justify-self:center;mix-blend-mode:multiply}@media(max-width:760px){.more-treats{grid-template-columns:1fr;padding:56px 7%;gap:30px}.treats-photo{max-width:260px;max-height:280px}.treats-options{gap:10px 18px;margin-top:22px}}

.more-treats:not(:has(.treats-photo)){grid-template-columns:1fr}

/* Match the flavor-section eyebrow styling. */
.treats-copy>.eyebrow{font-size:10px;color:var(--rust);letter-spacing:2px;margin-bottom:15px}
@media(max-width:600px){.treats-copy>.eyebrow{font-size:8px}}

/* Match the custom pie eyebrow to the flavor-section headings. */
#pies .section-heading .eyebrow{font-size:10px;color:var(--rust);letter-spacing:2px;margin-bottom:15px}
@media(max-width:600px){#pies .section-heading .eyebrow{font-size:8px}}

/* Hand-drawn-style treats with quiet, readable labels. */
.illustrated-treats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:36px;max-width:1000px}.illustrated-treats li{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.illustrated-treats svg{display:block;width:88px;height:88px;color:var(--rust)}.illustrated-treats li span{font:400 15px/1.4 Georgia,serif;color:var(--ink);max-width:130px}@media(max-width:760px){.illustrated-treats{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 14px;margin-top:30px}.illustrated-treats svg{width:72px;height:72px}.illustrated-treats li span{font-size:14px}}@media(max-width:380px){.illustrated-treats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Six treats in balanced rows. */
.illustrated-treats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:380px){.illustrated-treats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Pint photo alongside its ordering invitation. */
.pint-order{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:28px}.pint-photo{width:180px;height:180px;object-fit:contain;mix-blend-mode:multiply}@media(max-width:900px){.pint-order{grid-template-columns:140px minmax(0,1fr)}.pint-photo{width:140px;height:140px;grid-row:span 2}.pint-order>.button{justify-self:start}}@media(max-width:480px){.pint-order{grid-template-columns:1fr;gap:22px}.pint-photo{width:180px;height:180px;grid-row:auto;justify-self:center}.pint-order>.button{justify-self:start}}

/* Pint ordering mirrors the custom pie section. */
.pint-section .section-heading .eyebrow{font-size:10px;color:var(--rust);letter-spacing:2px;margin-bottom:15px}.pint-feature-photo img{display:block;width:100%;max-width:580px;height:auto;margin:auto;object-fit:contain;mix-blend-mode:multiply}.pint-section .pie-grid{gap:7%;align-items:center}@media(max-width:760px){.pint-section .pie-grid{gap:36px}}@media(max-width:600px){.pint-section .section-heading .eyebrow{font-size:8px}}

/* A more compact pint within the ordering layout. */
.pint-feature-photo img{max-width:340px}
@media(max-width:760px){.pint-feature-photo img{max-width:260px}}

.pint-caption{display:block;margin:24px auto 0;text-align:center;font:italic 20px/1.5 Georgia,serif;color:var(--rust)}
@media(max-width:760px){.pint-caption{font-size:18px;margin-top:18px}}

/* Match the other main sections' background. */
.more-treats{background:var(--cream)}
