@font-face{font-family:GheeDisplay;src:url('assets/ghee-display.otf') format('opentype');font-weight:700;font-display:swap}
:root{--paper:#f8f8f0;--ink:#392818;--muted:#71604b;--gold:#e9b52c;--rust:#8b5b14;--lime:#f2cf63;--line:#d3c7ad;--gutter:clamp(22px,5vw,88px)}
.site-header{padding-top:18px;padding-bottom:18px}.site-header .brand-logo{width:146px;height:69px;flex-shrink:0;background:#e4efb9;border-radius:50%;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:cover}.header-visit{border-radius:100px;background:var(--ink);color:var(--paper);font-size:14px}.header-visit:hover{background:var(--teal);color:var(--paper)}
.site-header nav{font-size:14px;gap:27px}.site-header nav a{min-height:44px;display:flex;align-items:center}button:focus-visible,a:focus-visible{outline-color:var(--teal)}.eyebrow{font-size:14px;letter-spacing:.09em}.footer-logo{background:#e4efb9}.arrival{padding-top:22px}.arrival h1{color:var(--teal)}.arrival-foot{margin-bottom:20px}.host-placeholder{background:var(--gold)}
@media(max-width:900px){.site-header{gap:12px}.site-header .brand-logo{width:118px;height:56px}.site-header nav.is-open{background:var(--paper);color:var(--ink)}}
@media(max-width:580px){.site-header .header-visit{display:flex;font-size:12px;min-height:44px;padding:9px 12px;gap:8px}.site-header{margin:0 20px}.site-header .brand-logo{width:104px;height:49px}}

/* Shared type system */
@font-face{font-family:SiteDisplay;src:url('assets/anton.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:SiteSans;src:url('assets/dm-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:SiteScript;src:url('assets/instrument-italic.ttf') format('truetype');font-style:italic;font-display:swap}
body:not(.ghee-home){--display:SiteDisplay,'Arial Narrow',Impact,sans-serif;--body:SiteSans,Arial,sans-serif;--hand:SiteScript,Note,cursive;background:#f8f8f0;color:#33261b;font-family:var(--body)}
body:not(.ghee-home) h1,body:not(.ghee-home) h2,body:not(.ghee-home) h3{font-family:var(--display);font-weight:400;letter-spacing:.005em;line-height:.92}
body:not(.ghee-home) em{color:#a26b16}
body:not(.ghee-home) .handwritten,body:not(.ghee-home) .script{font-family:var(--hand);font-style:italic;font-weight:400;letter-spacing:-.02em}
body:not(.ghee-home) .eyebrow,body:not(.ghee-home) .page-kicker,.site-header nav,.header-visit,body:not(.ghee-home) .button,body:not(.ghee-home) .underlink{font-family:var(--body)}
body:not(.ghee-home) .site-header{border-color:#d6cbb2}
body:not(.ghee-home) .page-hero h1{font-size:clamp(72px,8.5vw,140px);line-height:.88}
body:not(.ghee-home) .page-hero h1 em{color:#a26b16}
body:not(.ghee-home) .page-hero-copy{font-size:17px;line-height:1.6}
body:not(.ghee-home) .page-hero-copy .handwritten{font-size:31px;color:#175f5b}
body:not(.ghee-home) .story-intro h2,body:not(.ghee-home) .care-grid h2{font-size:clamp(54px,6.2vw,100px)}
body:not(.ghee-home) .story-intro p,body:not(.ghee-home) .care-grid>div>p{font-size:17px}
body:not(.ghee-home) .experience-content h2,body:not(.ghee-home) .host-feature h2{font-size:clamp(54px,6vw,92px)}
body:not(.ghee-home) .experience-row h3{font-size:clamp(37px,4vw,62px)}
body:not(.ghee-home) .product-info h3{font-size:clamp(30px,3vw,48px)}
body:not(.ghee-home) .page-footer-cta h2{font-size:clamp(56px,6vw,94px)}
body:not(.ghee-home) footer h2,body:not(.ghee-home) footer h3{font-family:var(--display)}
body:not(.ghee-home) .footer-top>p{font-family:var(--hand);font-style:italic;font-size:24px;line-height:1.1}
body:not(.ghee-home) .footer-bottom{font-family:var(--body);font-size:12px;letter-spacing:.02em}
@media(max-width:760px){body:not(.ghee-home) .page-hero h1{font-size:clamp(62px,14vw,94px)}body:not(.ghee-home) .page-hero-copy .handwritten{font-size:27px}body:not(.ghee-home) .story-intro h2,body:not(.ghee-home) .care-grid h2{font-size:clamp(48px,12vw,76px)}body:not(.ghee-home) .experience-content h2,body:not(.ghee-home) .host-feature h2{font-size:clamp(45px,11vw,70px)}body:not(.ghee-home) .footer-top>p{font-size:21px}}

/* Shared mobile controls, dialogs and layout boundaries. */
.site-header{position:relative;z-index:50}
:where(main,section,article,figure,form,.form-row,label){min-width:0}
input,select,textarea{font-size:16px}
dialog{overscroll-behavior:contain;max-height:90dvh}
body:has(dialog[open]){overflow:hidden}
@media(max-width:900px){
 .site-header{flex-wrap:nowrap}.site-header .menu-toggle{width:44px;min-width:44px;height:44px;padding:11px}
 .site-header nav{position:absolute;left:0;right:0;top:100%;margin:0;padding:16px 20px 22px;background:var(--paper);box-shadow:0 16px 24px #39281815;z-index:60}
 .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
 .site-header nav a{padding:8px 0;min-height:44px}
}
@media(max-width:760px){
 .page-hero,.page-body{overflow-wrap:anywhere}
 .page-hero h1,.page-body h2,.page-body h3{line-height:1.02!important}
 .product-info p{font-size:16px;min-height:0}.product-filter button{font-size:14px}
 .detail-dialog{padding:35px 22px}.detail-dialog h2{font-size:34px;overflow-wrap:anywhere}
 dialog .button{white-space:normal;gap:16px}.form-row{grid-template-columns:minmax(0,1fr)}
 .page-footer-cta .button{max-width:100%}.experience-content{padding:28px 24px}
 .footer-line{min-width:0}.footer-line>*{min-width:0}
}
@media(max-width:370px){.site-header .header-visit{font-size:12px;padding:8px 10px}.site-header .header-visit span{display:none}.site-header{gap:8px;margin-left:16px;margin-right:16px}.site-header .brand-logo{width:88px;height:44px}}
