@import url('./fonts.css');


/* Desktop measurements follow the 1086px-wide approved artwork. */
:root{--u:.0920810313vw;--cream:#f5f0e7;--ink:#211b17;--muted:#787570;--rooibos:#9c624a;--veldskoen:#d4c1a9;--serif:'Libre Caslon Display',Georgia,serif;--sans:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:calc(13 * var(--u));line-height:1.2;-webkit-font-smoothing:antialiased}figure,p,h1,h2,h3{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #116a59;outline-offset:4px}p+p{margin-top:calc(8 * var(--u))}h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:.94}.shell{width:calc(100% - 80 * var(--u));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:calc(10 * var(--u));font-weight:600;color:#953e28;line-height:1.2;margin-bottom:calc(7 * var(--u))}.eyebrow.light{color:#fff6ed}.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;top:8px;left:8px;padding:12px;background:white;z-index:100;transform:translateY(-200%)}.skip-link:focus{transform:none}.photo-frame{overflow:hidden;border-radius:calc(6 * var(--u))}

.site-header{position:absolute;top:0;left:0;width:100%;z-index:10}.header-inner{height:calc(58 * var(--u));display:flex;align-items:center}.brand-header,.menu-toggle{display:none}.nav{display:flex;gap:calc(37 * var(--u));margin-left:calc(398 * var(--u))}.nav a{white-space:nowrap;font-size:calc(10 * var(--u));font-weight:400}.nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.hero{height:calc(290 * var(--u));position:relative;overflow:hidden;background:#f1dfca url('./assets/hero-clean-v5.webp') center 62%/cover no-repeat}.hero-grid{width:100%;height:100%;position:relative}.hero-copy{position:absolute;left:calc(223 * var(--u));top:calc(110 * var(--u));width:calc(360 * var(--u));text-align:center}.hero-logo{width:calc(334 * var(--u));height:auto;margin:0 auto calc(11 * var(--u))}.hero-eyebrow{font-size:calc(7.6 * var(--u));letter-spacing:.26em;color:#201b17;white-space:nowrap;margin-bottom:calc(9 * var(--u));font-weight:500}.hero-intro{font-size:calc(13 * var(--u));line-height:1.3;color:#5e5952}

.story{padding:calc(9 * var(--u)) 0;background:radial-gradient(ellipse at center,#fbf9f5,var(--cream))}.story-grid{padding-right:calc(39 * var(--u));display:grid;grid-template-columns:calc(396 * var(--u)) 1fr;gap:calc(37 * var(--u));align-items:stretch}.story-photo{height:calc(240 * var(--u))}.story-copy{padding-top:calc(2 * var(--u))}.story-copy h2{font-size:calc(32 * var(--u));margin:0 0 calc(8 * var(--u))}.story-copy p:not(.eyebrow){font-size:calc(13 * var(--u));line-height:1.22;color:var(--muted)}
.accent-section,.visit,.footer{background:radial-gradient(ellipse at 62% 40%,#9c624a,#824837);color:#fff8ef}.process{padding:calc(14 * var(--u)) 0 calc(11 * var(--u))}.process-grid{display:grid;grid-template-columns:calc(410 * var(--u)) 1fr;gap:calc(24 * var(--u));align-items:stretch;padding-right:calc(39 * var(--u))}.process-copy{font-size:calc(11.95 * var(--u));line-height:1.22;color:#dfcfc4}.process-copy .eyebrow{margin-bottom:calc(7 * var(--u));font-size:calc(10.5 * var(--u))}.process-images{display:grid;grid-template-columns:1fr 1.04fr 1.04fr;gap:calc(12 * var(--u))}.process-images figure{height:calc(194 * var(--u));overflow:hidden;border-radius:calc(7 * var(--u))}

.cafe{position:relative;overflow:hidden;padding:calc(10 * var(--u)) 0 calc(7 * var(--u));background:radial-gradient(ellipse at center,#fbf9f5,var(--cream))}.cafe-grid{display:grid;grid-template-columns:calc(270 * var(--u)) 1fr;gap:calc(28 * var(--u));padding-right:calc(39 * var(--u));position:relative}.cafe-stencil{position:absolute;pointer-events:none}.cafe-intro{padding:calc(9 * var(--u)) 0 0 calc(60 * var(--u));position:relative}.cafe-intro h2{font-size:calc(33 * var(--u));white-space:nowrap;margin-bottom:calc(11 * var(--u));line-height:.94}.cafe-intro p:not(.eyebrow){font-size:calc(13.2 * var(--u));line-height:1.25;text-align:center;color:var(--muted);max-width:calc(213 * var(--u))}.cafe-cards{display:grid;grid-template-columns:.96fr 1.03fr 1.01fr;gap:calc(8 * var(--u)) calc(14 * var(--u))}.product-card{border-radius:calc(6 * var(--u));overflow:hidden;background:#fcfaf8;box-shadow:0 calc(4 * var(--u)) calc(12 * var(--u)) #7952350b}.product-card>.product-card>div{padding:calc(6 * var(--u)) calc(13 * var(--u));min-height:calc(65 * var(--u))}.product-card h3{font-size:calc(9.5 * var(--u));letter-spacing:.17em;color:#993c29;font-weight:600;text-transform:uppercase;line-height:1.2;margin-bottom:calc(3 * var(--u))}.product-card p{font-size:calc(10.5 * var(--u));line-height:1.18;color:var(--muted)}

.visit{display:grid;grid-template-columns:45% 55%;height:calc(181 * var(--u))}.visit-photo{overflow:hidden}.visit-info{display:grid;grid-template-columns:1fr calc(236 * var(--u));gap:calc(24 * var(--u));padding:calc(13 * var(--u)) calc(65 * var(--u)) calc(10 * var(--u)) calc(32 * var(--u));align-items:center}.visit-copy{min-width:0}.visit-copy .eyebrow{margin-bottom:calc(5 * var(--u))}.visit-copy h2{white-space:nowrap;font-size:calc(27 * var(--u));margin-bottom:calc(9 * var(--u))}.visit-copy address{font-style:normal;font-size:calc(11.4 * var(--u));line-height:1.15;color:#e0ccbe}.visit-copy address p{padding-left:calc(33 * var(--u));position:relative;margin:0 0 calc(6 * var(--u))}.visit-copy .icon{position:absolute;left:0;top:0;width:calc(16 * var(--u));color:#fff8ed}.visit-copy .icon svg{width:100%;height:auto}.visit-copy address a{white-space:nowrap;font-size:calc(11.2 * var(--u))}.button{display:inline-flex;justify-content:center;align-items:center;gap:calc(7 * var(--u));border:0;border-radius:99px;font-size:calc(12 * var(--u));background:var(--cream);color:var(--ink);padding:calc(8 * var(--u)) calc(25 * var(--u));margin-top:calc(4 * var(--u))}.button:hover{background:var(--veldskoen)}.map-wrap{height:calc(152 * var(--u));border-radius:calc(6 * var(--u));overflow:hidden;background:#ecebe7}.map-wrap iframe{width:100%;height:100%;border:0;filter:saturate(.65)}

.social-strip{padding:calc(5 * var(--u)) 0 calc(4 * var(--u))}.social-grid{display:grid;grid-template-columns:calc(190 * var(--u)) 1fr;gap:calc(24 * var(--u));padding-right:calc(31 * var(--u));align-items:center}.social-copy{padding-left:calc(11 * var(--u))}.social-copy h2{font:inherit;font-size:calc(12.5 * var(--u));letter-spacing:0;line-height:1.3}.social-copy>a{font-size:calc(11.5 * var(--u))}.social-links{margin-top:calc(4 * var(--u))}.social-icon{display:block;width:calc(23 * var(--u));height:calc(23 * var(--u))}.social-icon svg,.footer-instagram svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}.instagram-feed{display:grid;grid-template-columns:repeat(6,1fr);gap:calc(12 * var(--u))}.instagram-feed>a{height:calc(70 * var(--u));display:block;border-radius:calc(4 * var(--u));overflow:hidden}.instagram-feed img{width:100%;height:100%;object-fit:cover}
.footer{padding-right:calc(86 * var(--u))}.footer-main{min-height:calc(60 * var(--u));display:grid;grid-template-columns:calc(176 * var(--u)) 1fr calc(106 * var(--u)) calc(160 * var(--u));gap:calc(26 * var(--u));align-items:center;border-bottom:1px solid #ddc2af55}.footer-brand img{width:calc(167 * var(--u));height:auto}.footer-nav{display:flex;gap:calc(25 * var(--u));white-space:nowrap;font-size:calc(9.4 * var(--u));color:#e0cbbf}.footer-instagram{height:calc(34 * var(--u));border-left:1px solid #ddc2af66;display:flex;align-items:center;justify-content:center}.footer-instagram svg{height:calc(23 * var(--u));width:calc(23 * var(--u))}.footer-tagline{font-size:calc(9.3 * var(--u));line-height:1.35;color:#e0cbbf}.footer-bottom{min-height:calc(43 * var(--u));display:flex;align-items:center;justify-content:space-between;font-size:calc(9.2 * var(--u));color:#e0cbbf}.footer-bottom p{margin:0}
.whatsapp-float{position:fixed;bottom:calc(18 * var(--u));right:calc(27 * var(--u));z-index:25;display:flex;flex-direction:column;align-items:center;gap:calc(3 * var(--u))}.whatsapp-float svg{width:calc(54 * var(--u));height:calc(54 * var(--u));padding:calc(10 * var(--u));fill:#fff;background:#05bf68;border:2px solid #ffffff66;border-radius:50%;box-shadow:0 3px 16px #1b654025}.whatsapp-float span{font-size:calc(9 * var(--u));background:#fff;color:#403d3a;border-radius:30px;padding:calc(4 * var(--u)) calc(10 * var(--u))}
dialog{max-width:min(440px,calc(100vw - 32px));border:0;border-radius:12px;padding:32px;background:var(--cream);color:var(--ink);font-size:15px;line-height:1.5}dialog::backdrop{background:#241b18aa}dialog h2{font-size:34px;margin-bottom:18px}dialog .button{font-size:14px;padding:10px 20px}dialog .dialog-close{position:absolute;right:10px;top:6px;border:0;background:none;font-size:26px;cursor:pointer}

@media(min-width:1921px){:root{--u:1.769px}body{max-width:1920px;margin:auto;position:relative}}
@media(max-width:760px){
:root{--u:1px}body{font-size:15px;line-height:1.5}.shell{width:calc(100% - 36px);padding-right:0}.eyebrow{font-size:10px;margin-bottom:10px}.site-header{position:relative;background:var(--cream)}.header-inner{height:70px;justify-content:space-between}.brand-header{display:block;width:160px}.menu-toggle{display:block;background:none;border:0;width:44px;height:44px;padding:9px}.menu-toggle span{display:block;height:1.5px;background:var(--ink);margin:6px 0}.nav{display:none;position:absolute;left:0;right:0;top:70px;margin:0;background:var(--cream);padding:12px 24px;box-shadow:0 8px 10px #0001;gap:0}.nav.open{display:flex;flex-direction:column}.nav a{font-size:14px;padding:12px 0}
.hero{height:420px;background-size:auto 270px;background-position:65% bottom;background-repeat:no-repeat;background-color:#f1dfca}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(#f1dfca 0%,#f1dfca 28%,transparent 57%);pointer-events:none}.hero-copy{left:50%;top:30px;transform:translateX(-50%);width:min(90%,390px);z-index:1}.hero-logo{width:min(90%,320px);margin-bottom:14px}.hero-eyebrow{font-size:7px;letter-spacing:.17em;white-space:normal;margin-bottom:10px}.hero-intro{font-size:12px;line-height:1.5}
.story{padding:24px 0 28px}.story-grid{grid-template-columns:1fr;gap:22px}.story-photo{height:auto;aspect-ratio:396/240}.story-copy h2{font-size:35px;line-height:1.03;margin-bottom:16px}.story-copy p:not(.eyebrow){font-size:14px;line-height:1.5}.story-copy p+p{margin-top:12px}.wide-break{display:none}.process{padding:28px 0}.process-grid{grid-template-columns:1fr;gap:22px;padding:0}.process-copy{font-size:14px;line-height:1.5}.process-copy p+p{margin-top:12px}.process-images{gap:9px}.process-images figure{height:auto;aspect-ratio:.86}
.cafe{padding:30px 0}.cafe-grid{grid-template-columns:1fr;gap:26px;padding:0}.cafe-intro{padding:0 0 0 66px;min-height:166px}.cafe-intro h2{font-size:34px;line-height:1.02}.cafe-intro p:not(.eyebrow){max-width:260px;font-size:14px;line-height:1.4;text-align:left}.cafe-stencil{height:240px;opacity:.7;clip-path:polygon(0 0,25% 0,25% 80%,75% 100%,0 100%)}.cafe-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card>.product-card>div{padding:11px;min-height:115px}.product-card h3{font-size:9px;letter-spacing:.12em;line-height:1.4;margin-bottom:6px}.product-card p{font-size:11px;line-height:1.4}
.visit{grid-template-columns:1fr;height:auto}.visit-photo{height:auto;aspect-ratio:488/210}.visit-info{grid-template-columns:1fr;padding:26px 24px;gap:24px}.visit-copy h2{font-size:34px;white-space:normal;margin-bottom:18px}.visit-copy address{font-size:13px;line-height:1.4}.visit-copy address a{font-size:12px;white-space:normal;overflow-wrap:anywhere}.visit-copy address p{margin-bottom:10px}.button{font-size:13px;padding:10px 24px}.map-wrap{height:220px}
.social-strip{padding:20px 0}.social-grid{grid-template-columns:1fr;gap:14px;padding:0}.social-copy{padding:0;position:relative}.social-copy h2{font-size:14px}.social-copy>a{font-size:12px}.social-links{position:absolute;right:0;top:0}.instagram-feed{grid-template-columns:repeat(3,1fr);gap:8px}.instagram-feed>a{height:auto;aspect-ratio:1.5}
.footer{padding:22px 0 0}.footer-main{grid-template-columns:1fr 40px;gap:20px;padding-bottom:22px}.footer-nav{grid-column:1/-1;grid-row:2;gap:14px;flex-wrap:wrap;font-size:10px}.footer-brand img{width:180px}.footer-instagram{border:none}.footer-tagline{grid-column:1/-1;font-size:11px}.footer-bottom{min-height:80px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:12px 0 22px;font-size:9px}.whatsapp-float{right:14px;bottom:14px}.whatsapp-float svg{width:49px;height:49px}.whatsapp-float span{font-size:9px}.desktop-only{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:760px){.story-grid{padding-right:0}}

/* Version 4: transparent botanical art, compact navigation and contact button. */
html{scroll-padding-top:90px}
.site-header{position:fixed;z-index:40;transition:background-color .2s ease,box-shadow .2s ease}
.site-header.is-scrolled{background:rgba(235,227,216,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 12px #44322614;border-bottom:1px solid #fff6}
.site-header.is-scrolled .header-inner{height:clamp(58px,4.5vw,72px);justify-content:space-between;gap:24px}
.site-header.is-scrolled .brand-header{display:flex;align-items:center;flex-shrink:0;width:clamp(132px,14vw,205px)}
.site-header.is-scrolled .brand-header img{width:100%;height:auto}
.site-header.is-scrolled .nav{margin-left:auto;gap:clamp(20px,3vw,42px)}
.site-header.is-scrolled .nav a{font-size:clamp(11px,.9vw,15px)}
.cafe-stencil{top:auto;bottom:0;left:0;width:calc(310 * var(--u));height:calc(310 * var(--u));background:url('./assets/cacao-cafe-transparent-v4.png') left bottom / contain no-repeat;clip-path:none;mix-blend-mode:normal;opacity:1}
.cafe-intro{background:none}
/* Original white PNG includes 89px of empty space below its visible artwork. */
.footer-brand.logo-visible-bounds{position:relative;display:block;width:calc(167 * var(--u));height:calc(39.468 * var(--u));overflow:hidden;align-self:center}
.footer-brand.logo-visible-bounds img{position:absolute;top:0;left:calc(-1.0142 * var(--u));width:calc(169.0283 * var(--u));max-width:none;height:auto}
.footer-bottom{flex-wrap:wrap;padding-block:calc(10 * var(--u));gap:8px 24px}
.footer-bottom p:first-child{line-height:1.6}
.footer-bottom p:first-child a{text-decoration:underline;text-underline-offset:3px}
.whatsapp-float{min-width:44px;min-height:44px;justify-content:center;right:20px;bottom:15px;gap:2px}
.whatsapp-float svg{width:calc(27 * var(--u));height:calc(27 * var(--u));padding:calc(5 * var(--u));border-width:1px}
.whatsapp-float span{font-size:8px;padding:3px 6px}
/* Preserve full portrait posts and their typography, rather than cropping them. */
.social-strip{padding-block:calc(8 * var(--u))}
.instagram-feed>a{height:auto;aspect-ratio:1088 / 1440}
.instagram-feed img{width:100%;height:100%;object-fit:contain}
@media(min-width:1921px){.site-header{left:50%;width:1920px;transform:translateX(-50%)}}
@media(max-width:760px){
 .site-header{position:sticky;top:0;background:rgba(245,240,231,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
 .site-header .header-inner,.site-header.is-scrolled .header-inner{height:64px;gap:12px}
 .site-header .brand-header,.site-header.is-scrolled .brand-header{display:flex;align-items:center;width:160px}
 .site-header .nav,.site-header.is-scrolled .nav{top:64px;margin:0;gap:0}
 .site-header .nav a,.site-header.is-scrolled .nav a{font-size:14px}
 .site-header.is-scrolled .nav{background:rgba(245,240,231,.98)}
 .cafe-stencil{top:0;bottom:auto;width:230px;height:230px;opacity:.72;clip-path:none}
 .cafe-intro{padding-left:66px;min-height:195px}
 .footer-brand.logo-visible-bounds{width:180px;height:42.54px}
 .footer-brand.logo-visible-bounds img{width:182.19px;left:-1.094px}
 .footer-bottom{padding-block:14px 24px;font-size:10px}
 .whatsapp-float svg{width:24.5px;height:24.5px;padding:5px}
 .whatsapp-float span{display:none}
 .instagram-feed>a{aspect-ratio:1088 / 1440}
 .social-strip{padding-block:20px}
}

/* Every content photograph is an independent full-resolution image. */
.site-photo{display:block;width:100%;object-fit:cover;object-position:center}
.story-photo,.process-images figure,.visit-photo{position:relative}
.story-photo>.site-photo,.process-images figure>.site-photo,.visit-photo>.site-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-card>.site-photo{width:100%;height:calc(76 * var(--u));object-fit:cover}
.visit-photo>.site-photo{object-position:center 58%}
@media(max-width:760px){
 .product-card>.site-photo{height:auto;aspect-ratio:2.05;object-fit:cover}
 .visit-photo>.site-photo{object-position:center 65%}
}
