:root{--ivory:#f6f1e7;--paper:#fffdf8;--ink:#20251f;--moss:#455348;--sage:#9aa795;--gold:#76520f;--gold-light:#e2cb8b;--line:rgba(32,37,31,.18);--serif:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;--sans:"Avenir Next","Segoe UI",system-ui,sans-serif;--shell:min(1180px,calc(100% - 40px))}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:.22em}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.shell{width:var(--shell);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 16px;background:var(--ink);color:#fff;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:.95;letter-spacing:-.035em}h1{margin-bottom:30px;font-size:clamp(3.5rem,8vw,7.5rem)}h2{margin-bottom:24px;font-size:clamp(2.6rem,5vw,5rem)}h3{font-family:var(--serif);font-size:1.75rem;line-height:1.1}h1 em,h2 em{color:var(--moss);font-weight:500}.eyebrow{margin-bottom:18px;color:var(--gold);font-size:.76rem;font-weight:600;letter-spacing:.16em;line-height:1.4;text-transform:uppercase}.lede{max-width:620px;font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.45}.section{padding-block:clamp(80px,10vw,150px)}.section-tint{background:var(--ivory)}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:inline-flex;flex-direction:column;text-decoration:none;font-family:var(--serif);font-size:2rem;font-style:italic;line-height:.75;letter-spacing:-.04em}.wordmark span{margin-left:-8px;font-size:1.05rem}.site-nav{display:flex;align-items:center;gap:38px}.site-nav ul{display:flex;align-items:center;gap:30px;margin:0;padding:0;list-style:none}.site-nav ul a{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.site-nav ul a:hover,.site-nav ul a[aria-current=page]{color:var(--gold)}.nav-toggle{display:none;width:48px;height:48px;border:0;background:transparent}.nav-toggle span:not(.sr-only){display:block;width:26px;height:1px;margin:7px auto;background:var(--ink)}
.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 26px;background:var(--ink);border:1px solid var(--ink);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.2s}.button:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}.button-small{min-height:44px;padding:8px 18px}.button-outline{background:transparent;color:var(--ink)}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.text-link{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.text-link span{display:inline-block;margin-left:6px;transition:transform .2s}.text-link:hover span{transform:translateX(5px)}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:30px}
.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(35px,7vw,100px);align-items:center;min-height:calc(100vh - 95px);padding-block:45px}.hero-copy{position:relative;z-index:1}.hero-copy::before{content:"";position:absolute;z-index:-1;width:240px;height:310px;left:-95px;top:-85px;border:1px solid var(--sage);border-radius:60% 40% 60% 45%;opacity:.35;transform:rotate(-25deg)}.hero h1{font-size:clamp(4rem,7.3vw,7.3rem)}.hero-intro{max-width:530px;margin-bottom:34px;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.45}.hero-media{position:relative;padding:0 30px 30px 0}.hero-media picture,.not-found-media picture{display:block}.hero-media::after{content:"";position:absolute;z-index:-1;inset:38px 0 0 42px;border:1px solid var(--gold-light)}.hero-image{width:100%;height:min(70vh,680px);aspect-ratio:4/5;object-fit:cover}.image-note{position:absolute;right:-20px;bottom:50px;padding:12px 18px;background:var(--paper);font-family:var(--serif);font-size:1.1rem;font-style:italic;transform:rotate(-3deg)}.promise-band{overflow:hidden;padding:16px 20px;background:var(--moss);color:#fff}.promise-band p{width:max-content;min-width:100%;margin:0;font-size:.76rem;letter-spacing:.14em;text-align:center;text-transform:uppercase;word-spacing:1.2em}.promise-band span{color:var(--gold-light)}
.split-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:start}.prose-large{padding-top:30px;font-family:var(--serif);font-size:1.45rem;line-height:1.55}.prose-large .text-link,.prose-large .button{margin-top:15px;font-family:var(--sans)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:55px}.section-heading h2{margin-bottom:0}.feature-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:stretch}.feature-card{position:relative;min-height:560px;overflow:hidden;background:var(--ink);color:#fff}.feature-card-large{min-height:680px}.feature-card picture,.feature-image{width:100%;height:100%}.feature-image{object-fit:cover;transition:transform .6s,opacity .3s}.feature-card:hover .feature-image{transform:scale(1.025);opacity:.87}.feature-label{position:absolute;right:0;bottom:0;left:0;padding:55px 28px 24px;background:linear-gradient(transparent,rgba(17,20,17,.8));font-family:var(--serif);font-size:1.8rem;line-height:1.1}.feature-label small{display:block;margin-bottom:7px;color:var(--gold-light);font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.buffet-callout{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;align-items:center}.buffet-callout>div:last-child{max-width:710px}.buffet-callout>div:last-child>p:not(.eyebrow){max-width:580px;margin-bottom:32px;font-family:var(--serif);font-size:1.4rem}.buffet-mark{width:min(100%,380px);aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--sage);border-radius:50% 45% 50% 42%;color:var(--gold);font-family:var(--serif);font-size:7rem;font-style:italic;transform:rotate(-8deg)}
.testimonial-section{background:var(--moss);color:#fff;text-align:center}.testimonial{max-width:850px}.quote-mark{height:60px;margin:0;color:var(--gold-light);font-family:var(--serif);font-size:7rem;line-height:.9}.testimonial blockquote{margin:0}.testimonial blockquote>p{margin-bottom:20px;font-family:var(--serif);font-size:clamp(2.7rem,6vw,5rem);font-style:italic;line-height:1.1}.testimonial footer{color:var(--gold-light);font-size:.78rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.testimonial footer span{color:#fff;opacity:.75}.translation{margin:25px 0 0;font-family:var(--serif);font-size:1.1rem;opacity:.72}.final-cta{text-align:center}.final-cta h2{margin-inline:auto}
.page-hero{padding-block:clamp(90px,13vw,180px) clamp(70px,10vw,130px)}.page-hero h1{margin-bottom:0}.page-hero-split{display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.page-hero-split .lede{margin:0 0 14px}.centered{max-width:960px;text-align:center}.centered .lede{margin-inline:auto}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;border-top:1px solid var(--line)}.story-art{padding:70px 25px;background:var(--ivory)}.story-art img{width:100%}.prose>p:not(.eyebrow){max-width:640px;font-size:1.08rem}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:50px}.values-grid article{padding:35px 30px;border-top:1px solid var(--gold);background:var(--paper)}.values-grid article>span,.buffet-steps article>span{color:var(--gold);font-family:var(--serif);font-size:1.25rem;font-style:italic}.values-grid h3{margin:40px 0 15px}.narrow-cta{max-width:850px;text-align:center}.narrow-cta h2{font-size:clamp(2.2rem,4vw,4rem)}.narrow-cta>p:not(.eyebrow){font-family:var(--serif);font-size:1.3rem}
.cake-categories{padding-top:10px}.category-row{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;padding-block:80px;border-top:1px solid var(--line)}.category-row-reverse .category-image{order:2}.portrait-image{width:100%;aspect-ratio:4/5;object-fit:cover}.category-copy>p:not(.eyebrow){max-width:520px;margin-bottom:30px;font-family:var(--serif);font-size:1.3rem}.order-note{background:var(--moss);color:#fff}.order-note .eyebrow{color:var(--gold-light)}.order-note h2 em{color:var(--gold-light)}
.buffet-steps{display:grid;grid-template-columns:repeat(3,1fr)}.buffet-steps article{padding:35px 45px;border-right:1px solid var(--line)}.buffet-steps article:last-child{border-right:0}.buffet-steps h2{margin-top:55px;font-size:2.4rem}.details-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.detail-list{border-top:1px solid var(--line)}.detail-list>div{display:grid;grid-template-columns:.55fr 1fr;gap:25px;padding:30px 0;border-bottom:1px solid var(--line)}.detail-list h3,.detail-list p{margin:0}
.gallery-heading{padding-bottom:80px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:70px 26px}.gallery-item{grid-column:span 4;margin:0}.gallery-item-1,.gallery-item-4{grid-column:span 7}.gallery-item-2,.gallery-item-5{grid-column:span 5;padding-top:100px}.gallery-image{width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-item-1 .gallery-image,.gallery-item-4 .gallery-image{aspect-ratio:5/6}.gallery-item figcaption{padding:20px 0;border-bottom:1px solid var(--line)}.gallery-item figcaption span,.gallery-item figcaption small{color:var(--gold);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.gallery-item figcaption h2{margin:5px 0;font-size:2rem}.gallery-item figcaption small{color:var(--moss);font-weight:400;letter-spacing:.05em}
.inquiry-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;padding-top:10px}.checklist-card{padding:clamp(30px,5vw,65px);background:var(--ivory)}.checklist-card ol{margin:0;padding:0;list-style:none}.checklist-card li{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:28px 0;border-top:1px solid var(--line)}.checklist-card li>span{color:var(--gold);font-family:var(--serif);font-style:italic}.checklist-card h2{margin-bottom:5px;font-size:2rem}.checklist-card p{margin:0}.contact-card{padding:clamp(35px,5vw,65px);background:var(--moss);color:#fff}.contact-card .eyebrow{color:var(--gold-light)}.contact-card h2{font-size:clamp(2.8rem,5vw,4.5rem)}.contact-card>p:not(.eyebrow){margin-bottom:32px;font-family:var(--serif);font-size:1.3rem}.contact-alternatives{margin-top:60px;padding-top:25px;border-top:1px solid rgba(255,255,255,.25)}.contact-alternatives p{color:var(--gold-light);font-size:.73rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.contact-alternatives a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.18);text-decoration:none;overflow-wrap:anywhere}.contact-alternatives a span{float:right}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{display:flex;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font-family:var(--serif);font-size:1.35rem;font-weight:600;list-style:none}.faq-section summary::-webkit-details-marker{display:none}.faq-section details[open] summary span{transform:rotate(45deg)}.faq-section details p{max-width:620px;padding:0 30px 25px 0}
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding-top:0}.visit-grid article{position:relative;min-height:410px;padding:45px 35px;border:1px solid var(--line)}.visit-grid article:nth-child(2){background:var(--ivory)}.visit-grid h2{margin-top:60px;font-size:2.5rem}.visit-number{position:absolute;top:20px;right:25px;color:var(--gold);font-family:var(--serif);font-style:italic}.muted{color:var(--moss);font-size:.88rem}.social-row{display:flex;gap:24px}.narrow-cta h2 a{text-decoration-thickness:1px;overflow-wrap:anywhere}
.not-found-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;min-height:calc(100vh - 95px);padding-block:60px}.not-found-copy>p:not(.eyebrow){max-width:550px;margin-bottom:30px;font-family:var(--serif);font-size:1.3rem}.not-found-media{position:relative;transform:rotate(2deg)}.not-found-media::before{content:"404";position:absolute;z-index:2;top:-40px;right:-10px;color:var(--gold);font-family:var(--serif);font-size:4rem;font-style:italic}.crumb{position:absolute;width:9px;height:9px;border-radius:40% 60%;background:var(--gold)}.crumb-one{left:-25px;bottom:25%}.crumb-two{left:10px;bottom:12%;width:6px;height:6px}.recovery-links{display:flex;gap:25px;margin-top:45px;padding-top:25px;border-top:1px solid var(--line)}.recovery-links a{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.site-footer{padding:75px 0 25px;background:var(--ink);color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:50px;padding-bottom:70px}.wordmark-footer{margin-bottom:25px;color:var(--gold-light)}.wordmark-footer+p{max-width:300px;font-family:var(--serif);font-size:1.2rem}.site-footer .eyebrow{color:var(--gold-light)}.footer-links{margin:0;padding:0;list-style:none}.footer-links a{display:inline-block;padding:4px 0;color:rgba(255,255,255,.82);text-decoration:none}.footer-links a:hover{color:var(--gold-light)}.footer-base{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.6);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.footer-base p{margin:0}
@media(max-width:900px){.header-inner{min-height:78px}.nav-toggle{display:block}.site-nav{position:absolute;top:78px;right:0;left:0;display:none;align-items:stretch;padding:30px max(20px,calc((100vw - 1180px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.is-open{display:block}.site-nav ul{display:block}.site-nav li{border-top:1px solid var(--line)}.site-nav ul a{display:block;padding:15px 0}.site-nav .button{margin-top:20px}.hero,.page-hero-split,.split-intro,.story-grid,.category-row,.details-panel,.inquiry-grid,.faq-grid,.not-found-hero{grid-template-columns:1fr}.hero{min-height:auto;padding-top:80px}.hero-media{width:min(680px,100%);margin-inline:auto}.hero-image{height:auto}.feature-grid{grid-template-columns:1fr 1fr}.feature-card,.feature-card-large{min-height:520px}.buffet-callout{grid-template-columns:.55fr 1.45fr}.values-grid,.visit-grid{grid-template-columns:1fr 1fr}.buffet-steps{grid-template-columns:1fr}.buffet-steps article{border-right:0;border-bottom:1px solid var(--line)}.category-row-reverse .category-image{order:0}.category-image{width:min(620px,100%)}.gallery-item{grid-column:span 6}.gallery-item-1,.gallery-item-4{grid-column:span 7}.gallery-item-2,.gallery-item-5{grid-column:span 5}.not-found-media{width:min(600px,100%);margin-inline:auto}}
@media(max-width:620px){:root{--shell:min(100% - 28px,1180px)}h1{font-size:clamp(3.3rem,16vw,5rem)}h2{font-size:clamp(2.5rem,12vw,3.8rem)}.section{padding-block:75px}.page-hero{padding-block:80px 65px}.hero{padding-top:65px}.hero h1{font-size:clamp(3.6rem,17vw,5.3rem)}.hero-media{padding:0 14px 14px 0}.image-note{right:0;bottom:30px}.section-heading{align-items:start;flex-direction:column}.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card-large{min-height:500px}.buffet-callout{grid-template-columns:1fr}.buffet-mark{width:230px;margin-inline:auto;font-size:5rem}.values-grid,.visit-grid{grid-template-columns:1fr}.category-row{padding-block:60px}.detail-list>div{grid-template-columns:1fr;gap:8px}.gallery-grid{display:block}.gallery-item,.gallery-item-1,.gallery-item-2,.gallery-item-4,.gallery-item-5{margin-bottom:55px;padding-top:0}.checklist-card,.contact-card{padding:32px 24px}.visit-grid article{min-height:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-base{flex-direction:column}.recovery-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
