:root{
  --paper:#fbf7ef;
  --paper-2:#fffdfa;
  --band:#f3e7d5;
  --ink:#18201c;
  --muted:#5a5f5a;
  --orange:#c04a24;
  --green:#1f4b38;
  --green-2:#44613b;
  --line:rgba(24,32,28,.17);
  --serif:"Bodoni Moda","GFS Didot","Times New Roman",serif;
  --sans:"Inter",Arial,sans-serif;
  --hand:"Caveat",cursive;
  --page:1055px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
svg{display:block}
.site-shell{width:100%;max-width:none;margin:0;background:var(--paper);overflow:hidden;box-shadow:none}
.site-header{position:absolute;inset:0 0 auto 0;z-index:10;display:grid;grid-template-columns:220px 1fr 190px;align-items:center;gap:12px;padding:18px clamp(28px,4vw,74px) 0;min-height:70px}
.brand{display:flex;flex-direction:column;width:max-content;text-decoration:none}
.brand-name{font:500 27px/.95 var(--serif);letter-spacing:-.04em}
.brand-role{margin:8px 0 0 4px;font:700 7px/1 var(--sans);letter-spacing:.42em}
.nav{display:flex;justify-content:center;gap:25px;align-items:center}
.nav a{position:relative;text-decoration:none;font:500 10px/1.2 var(--sans);white-space:nowrap;padding-block:12px}
.nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--orange)}
.header-cta{justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:12px;width:184px;min-height:47px;padding:8px 20px;border-radius:999px;background:var(--orange);color:#fff;text-decoration:none;text-align:center;font:700 10px/1.15 var(--sans)}
.header-cta span{font-size:17px;font-weight:400}
.menu-button{display:none}

.kicker{display:flex;align-items:center;gap:15px;font:700 9px/1 var(--sans);letter-spacing:.2em}
.kicker span{width:42px;height:1px;background:currentColor;opacity:.55}
.kicker.light{color:#fff}

.hero{position:relative;background:var(--paper)}
.hero-layout{display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:455px}
.hero-copy{position:relative;z-index:2;padding:96px 28px 29px clamp(32px,4.6vw,82px);background:linear-gradient(90deg,var(--paper) 0 77%,rgba(251,247,239,.93) 90%,rgba(251,247,239,0) 100%)}
.hero-copy h1{margin:17px 0 0;font:500 clamp(60px,5.15vw,86px)/.88 var(--serif);letter-spacing:-.065em;max-width:650px;font-optical-sizing:none;font-variation-settings:"opsz" 28}
.hero-copy h1 em{font-style:italic;font-weight:400;position:relative;white-space:nowrap}
.hero-copy h1 em::after{content:"";position:absolute;left:7%;right:-1%;bottom:-7px;height:7px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M4 8 C 40 12, 84 4, 120 7 S 171 10, 196 5' fill='none' stroke='%23d6542c' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero-copy>p{max-width:560px;margin:23px 0 0;font:400 clamp(13px,1.05vw,16px)/1.42 var(--sans);color:#343b36}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 20px;border-radius:999px;text-decoration:none;font:700 10px/1 var(--sans);white-space:nowrap}
.button.primary{background:var(--orange);color:#fff}
.button.secondary{border:1px solid rgba(31,75,56,.62);color:var(--green);background:rgba(255,255,255,.5)}
.button.ghost{border:1px solid rgba(255,255,255,.84);color:#fff}
.button svg{width:17px;height:17px;flex:0 0 auto}
.trust-row{display:flex;margin-top:22px;max-width:455px}
.trust-item{display:flex;align-items:flex-start;gap:9px;min-width:143px;padding:0 15px;border-left:1px solid var(--line);font:400 8.5px/1.25 var(--sans)}
.trust-item:first-child{padding-left:0;border-left:0}
.trust-item svg{width:18px;height:18px;color:var(--green);flex:0 0 auto}
.hero-photo{position:relative;margin:0;min-height:455px;overflow:hidden;background:#d7c6b2}
.hero-photo::before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:22%;background:linear-gradient(90deg,var(--paper),rgba(251,247,239,0));pointer-events:none}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:58% 50%}
.hero-photo figcaption{position:absolute;z-index:2;top:68px;right:12px;max-width:132px;color:#fff;text-align:center;font:600 clamp(21px,1.55vw,25px)/.88 var(--hand);transform:rotate(-8deg);text-shadow:0 2px 14px rgba(0,0,0,.12)}
.hero-photo figcaption i{display:block;width:48px;height:14px;margin:7px auto 0;border-top:2px solid #fff;border-radius:50%;transform:rotate(-7deg)}

.recognition{position:relative;background:var(--band);padding:31px clamp(32px,4.6vw,82px) 27px;overflow:hidden}
.recognition-inner{position:relative;z-index:1}
.cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px;margin-top:19px}
.recognition-card{min-height:140px;display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:15px 18px;background:rgba(255,255,255,.8);border-radius:8px}
.recognition-card .doodle{width:70px;height:70px;color:var(--orange)}
.recognition-card .doodle.orange{color:var(--orange)}
.recognition-card h2{margin:0;font:500 20px/1.02 var(--serif);letter-spacing:-.03em}
.recognition-card h2 em{color:var(--orange);font-style:italic;font-weight:400}
.recognition-card p{margin:8px 0 0;color:var(--muted);font:400 9.5px/1.35 var(--sans)}
.side-ornament{position:absolute;pointer-events:none}
.side-ornament-left{left:-50px;bottom:-62px;width:160px;height:160px;border-radius:50%;background:#e9b786}
.side-ornament-left::before,.side-ornament-left::after,.side-ornament-right::before,.side-ornament-right::after{content:"";position:absolute;background:#45643b;border-radius:100% 0 100% 0}
.side-ornament-left::before{width:22px;height:70px;left:78px;top:88px;transform:rotate(13deg)}
.side-ornament-left::after{width:20px;height:62px;left:112px;top:102px;transform:rotate(55deg)}
.side-ornament-right{right:-48px;top:-46px;width:135px;height:180px}
.side-ornament-right::before{width:24px;height:82px;right:42px;top:0;transform:rotate(24deg)}
.side-ornament-right::after{width:22px;height:76px;right:10px;top:42px;transform:rotate(65deg)}
.side-ornament-right{background:radial-gradient(circle at 82% 82%,#db8454 0 41px,transparent 42px)}

.mid{display:grid;grid-template-columns:48.7% 51.3%;background:var(--paper-2)}
.mid-column{position:relative;overflow:hidden;padding:28px clamp(32px,4.6vw,82px) 34px}
.mid-column+.mid-column{border-left:1px solid #ece6dd;padding-left:clamp(30px,3.5vw,64px);padding-right:clamp(32px,4.2vw,76px)}
.mid h2{position:relative;z-index:2;margin:10px 0 0;font:500 clamp(28px,2.35vw,42px)/1.02 var(--serif);letter-spacing:-.04em;font-optical-sizing:none;font-variation-settings:"opsz" 24}
.mid-column>p{position:relative;z-index:2;margin:18px 0 0;color:var(--muted);font:400 10.5px/1.45 var(--sans)}
.text-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;margin-top:17px;color:var(--orange);text-decoration:none;font:700 9.5px/1 var(--sans)}
.text-link span{font-size:16px;font-weight:400}
.soft-blob{position:absolute;right:-35px;top:20px;width:125px;height:225px;background:#efe1c8;border-radius:57% 43% 31% 69% / 47% 55% 45% 53%;transform:rotate(9deg)}
.coral-corner{position:absolute;right:0;bottom:0;width:86px;height:65px;background:#e79b77;clip-path:polygon(100% 0,100% 100%,0 100%)}
.process-list{position:relative;z-index:2;display:grid;gap:10px;margin-top:17px}
.process-item{display:grid;grid-template-columns:50px 1fr;gap:11px;align-items:center}
.round-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%}
.round-icon.coral{background:#f4e1d0;color:var(--orange)}
.round-icon.green{background:#e5e8d6;color:var(--green-2)}
.round-icon svg{width:23px;height:23px}
.process-item p{margin:0;color:var(--muted);font:400 9.4px/1.32 var(--sans)}
.process-item strong{color:#222;font-size:10.5px}
.plant{position:absolute;right:-8px;bottom:-36px;width:90px;height:250px;opacity:.9}

.about-faq{display:grid;grid-template-columns:58.3% 41.7%;background:#fffdf9;border-top:1px solid #eee7de}
.about,.faq{padding:21px clamp(32px,4.6vw,82px) 26px}
.faq{padding-left:clamp(25px,3vw,54px);padding-right:clamp(30px,4vw,72px);border-left:1px solid #ece6dd}
.about-layout{display:grid;grid-template-columns:225px 1fr;gap:27px;margin-top:11px;align-items:center}
.about-photo-wrap{position:relative;min-height:216px}
.about-photo{width:225px;height:216px;border-radius:40% 40% 28% 28% / 29% 29% 36% 36%;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:67% 30%;transform:scale(1.15)}
.about-note{position:absolute;left:-29px;bottom:-1px;width:145px;min-height:102px;padding:17px 0 0 13px;border-radius:55% 45% 48% 52%;background:#eee0c8;font:600 15px/1.02 var(--hand);transform:rotate(-7deg)}
.about-note i{display:block;width:26px;height:13px;margin:6px 0 0 79px;border-top:2px solid #28543f;border-radius:50%;transform:rotate(-8deg)}
.about-copy h2{margin:0;font:500 clamp(37px,3vw,52px)/.9 var(--serif);letter-spacing:-.03em;font-optical-sizing:none;font-variation-settings:"opsz" 24}
.about-copy p{margin:16px 0 0;color:var(--muted);font:400 9.5px/1.4 var(--sans)}
.faq .kicker{margin-bottom:11px}
.faq-list{border-top:1px solid #d8d3cc}
.faq details{border-bottom:1px solid #d8d3cc}
.faq summary{list-style:none;position:relative;cursor:pointer;padding:8px 22px 8px 0;font:400 9.5px/1.2 var(--sans)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"⌄";position:absolute;right:2px;top:7px;font-size:13px}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details p{margin:0 22px 9px 0;color:var(--muted);font:400 9px/1.35 var(--sans)}

.cta{position:relative;overflow:hidden;display:grid;grid-template-columns:44.5% 55.5%;gap:20px;align-items:center;min-height:198px;padding:27px clamp(32px,4.6vw,82px) 24px;background:linear-gradient(90deg,#18361f 0%,#18361f 60%,#24472d 100%);color:#fff}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 79% 37%,rgba(97,128,76,.38),transparent 24%),radial-gradient(circle at 93% 25%,rgba(141,160,108,.18),transparent 21%);pointer-events:none}
.cta-copy,.cta-actions-wrap{position:relative;z-index:2}
.cta h2{max-width:440px;margin:13px 0 0;font:500 clamp(33px,2.8vw,50px)/1.04 var(--serif);letter-spacing:-.03em;font-optical-sizing:none;font-variation-settings:"opsz" 24}
.cta-actions-wrap{padding-right:90px}
.cta-actions-wrap>p{max-width:430px;margin:0;color:rgba(255,255,255,.88);font:400 9px/1.4 var(--sans)}
.cta .hero-actions{margin-top:13px}
.cta-meta{display:flex;gap:20px;margin-top:13px;font:400 7.7px/1 var(--sans);white-space:nowrap}
.cta-cup{position:absolute;z-index:1;right:0;bottom:0;width:145px;height:198px;object-fit:cover;object-position:right center}
.cta-blob{position:absolute;left:-45px;bottom:-75px;width:255px;height:116px;border-radius:50%;background:#e1a873;z-index:1}

@media (max-width: 900px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  html,body{background:var(--paper)}
  .site-shell{box-shadow:none}
  .site-header{position:relative;grid-template-columns:1fr auto;min-height:74px;padding:16px 24px;border-bottom:1px solid rgba(24,32,28,.08);background:var(--paper)}
  .brand-name{font-size:29px}
  .menu-button{display:grid;place-content:center;gap:5px;width:42px;height:42px;border:0;background:transparent;color:var(--ink);padding:0}
  .menu-button span{display:block;width:24px;height:1.5px;background:currentColor;transition:.2s}
  .nav{position:absolute;left:18px;right:18px;top:68px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 16px;background:#fffdf9;border:1px solid rgba(24,32,28,.08);box-shadow:0 15px 35px rgba(42,32,20,.1);z-index:20}
  .nav.open{display:flex}
  .nav a{padding:12px 4px;font-size:13px;border-bottom:1px solid rgba(24,32,28,.08)}
  .nav a:last-child{border-bottom:0}
  .nav a.active::after{display:none}
  .header-cta{display:none}
  .hero-layout{grid-template-columns:1fr}
  .hero-copy{padding:44px 24px 30px;background:var(--paper)}
  .hero-copy h1{font-size:clamp(56px,10vw,74px);max-width:680px}
  .hero-copy>p{max-width:610px;font-size:15px}
  .hero-photo{min-height:480px}
  .hero-photo::before{inset:0 0 auto 0;width:100%;height:18%;background:linear-gradient(180deg,var(--paper),rgba(251,247,239,0))}
  .hero-photo img{object-position:59% 50%}
  .hero-photo figcaption{top:56px;right:35px;font-size:28px}
  .trust-row{max-width:none}
  .recognition{padding:36px 24px 34px}
  .cards{grid-template-columns:1fr;gap:12px}
  .recognition-card{min-height:132px;grid-template-columns:78px 1fr}
  .mid{grid-template-columns:1fr}
  .mid-column{padding:36px 24px}
  .mid-column+.mid-column{border-left:0;border-top:1px solid #ece6dd;padding:36px 24px}
  .mid h2{font-size:36px;max-width:650px}
  .mid-column>p{max-width:640px;font-size:13px}
  .process-item p{font-size:12px}
  .process-item strong{font-size:13px}
  .plant{right:6px;opacity:.75}
  .about-faq{grid-template-columns:1fr}
  .about,.faq{padding:36px 24px}
  .faq{border-left:0;border-top:1px solid #ece6dd}
  .about-layout{grid-template-columns:minmax(220px,280px) 1fr;gap:35px}
  .about-photo{width:100%;height:auto;aspect-ratio:225/216}
  .about-photo-wrap{min-height:0}
  .about-copy h2{font-size:48px}
  .about-copy p{font-size:13px}
  .faq summary{font-size:12px;padding-block:12px}
  .faq details p{font-size:11px}
  .cta{grid-template-columns:1fr;gap:24px;padding:38px 190px 38px 24px;min-height:290px}
  .cta h2{font-size:44px;max-width:570px}
  .cta-actions-wrap{padding-right:0}
  .cta-actions-wrap>p{font-size:12px;max-width:530px}
  .cta-cup{width:175px;height:290px}
}

@media (max-width: 620px){
  .site-header{padding-inline:18px}
  .brand-name{font-size:27px}
  .brand-role{font-size:7px}
  .hero-copy{padding:35px 18px 28px}
  .kicker{font-size:8.5px;letter-spacing:.17em}
  .hero-copy h1{font-size:clamp(48px,15vw,66px);line-height:.9;margin-top:14px}
  .hero-copy h1 em{white-space:normal}
  .hero-copy>p{font-size:14px;margin-top:20px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .button{width:100%;min-height:46px;font-size:11px}
  .trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:22px;align-items:start}
  .trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 7px;border:0;border-left:1px solid var(--line);font-size:9.5px;line-height:1.28;min-width:0;text-align:center}
  .trust-item:first-child{padding-left:7px;border-left:0}
  .trust-item svg{width:19px;height:19px}
  .hero-photo{min-height:360px}
  .hero-photo img{object-position:61% 50%}
  .hero-photo figcaption{top:34px;right:20px;font-size:24px}
  .recognition{padding:31px 18px}
  .recognition-card{grid-template-columns:70px 1fr;padding:15px 16px}
  .recognition-card .doodle{width:62px;height:62px}
  .recognition-card h2{font-size:22px}
  .recognition-card p{font-size:11px}
  .side-ornament{opacity:.72}
  .mid-column,.mid-column+.mid-column{padding:31px 18px}
  .mid h2{font-size:32px}
  .mid-column>p{font-size:12.5px}
  .plant{display:none}
  .about,.faq{padding:31px 18px}
  .about-layout{grid-template-columns:1fr;gap:26px}
  .about-photo-wrap{width:min(285px,86vw);margin-inline:auto}
  .about-copy h2{font-size:47px}
  .about-copy p{font-size:12.5px}
  .faq summary{font-size:12px}
  .cta{padding:34px 18px 195px;min-height:500px}
  .cta h2{font-size:42px}
  .cta-actions-wrap>p{font-size:12px}
  .cta-meta{display:grid;gap:8px;font-size:9px;white-space:normal}
  .cta-cup{width:100%;height:185px;right:0;bottom:0;object-fit:cover;object-position:right 45%}
  .cta-blob{bottom:138px;left:-70px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-button span{transition:none}}
@media (min-width:901px) and (hover:hover){
  .hero-copy .hero-actions{flex-wrap:nowrap}
  .hero-copy .button.primary{min-width:252px}
  .hero-copy .button.secondary{min-width:190px}
}
/* responsive calibration — full viewport + sturdy Bodoni hairlines */
.recognition-card h2{font-optical-sizing:none;font-variation-settings:"opsz" 22}
@media (min-width:901px) and (max-width:1200px){
  .hero-photo figcaption{top:62px;right:8px;max-width:118px;font-size:21px}
}
@media (max-width:620px){
  .hero-copy h1,
  .recognition-card h2,
  .mid h2,
  .about-copy h2,
  .cta h2{
    font-optical-sizing:none;
    font-variation-settings:"opsz" 14;
    -webkit-text-stroke:.16px currentColor;
    text-rendering:geometricPrecision;
  }
  .hero-photo figcaption{
    top:22px;
    right:12px;
    max-width:116px;
    font-size:20px;
    line-height:.9;
  }
}


/* visual fidelity pass — 25/09 */
:root{--serif:"Libre Bodoni","Bodoni 72","Didot","Times New Roman",serif}

/* Brand + navigation */
.brand-name{
  font-family:var(--serif);
  font-size:clamp(33px,2.15vw,39px);
  font-weight:500;
  line-height:.95;
  letter-spacing:-.025em;
  text-rendering:optimizeLegibility;
}
.brand-role{
  width:100%;
  margin:8px 0 0;
  text-align:center;
  font-size:9px;
  letter-spacing:.36em;
}
.nav a{
  font-size:12px;
  font-weight:600;
  text-shadow:0 0 3px rgba(255,255,255,.98),0 0 7px rgba(255,255,255,.92);
}
.header-cta{
  width:210px;
  min-height:50px;
  padding-inline:22px;
  font-size:12px;
  line-height:1.2;
}

/* Hero typography and exact underline */
.hero-copy h1{
  font-family:var(--serif);
  font-size:clamp(68px,5.35vw,94px);
  font-weight:500;
  line-height:.9;
  letter-spacing:-.055em;
  text-rendering:optimizeLegibility;
  font-optical-sizing:auto;
  font-variation-settings:normal;
}
.hero-copy h1 em::after{display:none}
.hero-copy h1 .underlined-word{
  position:relative;
  display:inline-block;
}
.hero-copy h1 .underlined-word::after{
  content:"";
  position:absolute;
  left:4%;
  width:94%;
  bottom:-8px;
  height:11px;
  background:url("assets/underline-exact.png") center/100% 100% no-repeat;
  pointer-events:none;
}
.hero-copy>p{
  max-width:610px;
  margin-top:27px;
  font-size:16px;
  line-height:1.48;
}
.button{
  min-height:47px;
  padding-inline:23px;
  font-size:12.5px;
}
.hero-copy .button.primary{min-width:265px}
.hero-copy .button.secondary{min-width:205px}
.trust-row{max-width:520px;margin-top:24px}
.trust-item{
  min-width:165px;
  font-size:10.5px;
  line-height:1.3;
}
.kicker{font-size:10px}

/* Approved-reference recognition artwork */
.recognition-card{
  min-height:152px;
  grid-template-columns:86px 1fr;
  gap:15px;
  padding:18px 22px;
}
.recognition-card .doodle{
  width:82px;
  height:82px;
  object-fit:contain;
  color:inherit;
}
.recognition-card h2{
  font-family:var(--serif);
  font-size:23px;
  line-height:1.03;
  letter-spacing:-.025em;
  font-optical-sizing:auto;
  font-variation-settings:normal;
  text-rendering:optimizeLegibility;
}
.recognition-card h2 em{color:var(--orange);font-style:italic;font-weight:400}
.recognition-card p{
  margin-top:10px;
  font-size:12.5px;
  line-height:1.4;
}

/* Body type must remain readable on large desktop */
.mid h2{
  font-family:var(--serif);
  font-size:clamp(38px,2.7vw,48px);
  line-height:1.01;
  font-optical-sizing:auto;
  font-variation-settings:normal;
  text-rendering:optimizeLegibility;
}
.mid-column>p{font-size:14px;line-height:1.5;max-width:680px}
.text-link{font-size:12.5px}
.process-list{gap:13px}
.process-item{grid-template-columns:56px 1fr;gap:13px}
.round-icon{width:50px;height:50px}
.process-item p{font-size:12.5px;line-height:1.4}
.process-item strong{font-size:13.5px}

/* Restore the photographic plant at the right edge */
.mid-right{padding-right:clamp(155px,12vw,220px)}
.plant{display:none!important}
.plant-photo{
  position:absolute;
  z-index:1;
  right:0;
  top:0;
  width:auto;
  height:100%;
  object-fit:cover;
  object-position:right center;
  pointer-events:none;
}
.mid-right>.kicker,.mid-right>h2,.mid-right>.process-list{position:relative;z-index:2}

/* About + FAQ readability */
.about-copy h2{
  font-family:var(--serif);
  font-optical-sizing:auto;
  font-variation-settings:normal;
  text-rendering:optimizeLegibility;
}
.about-copy p{font-size:13.5px;line-height:1.5}
.faq summary{font-size:13px;line-height:1.35;padding-block:11px}
.faq details p{font-size:12px;line-height:1.45;margin-bottom:12px}

/* Bring back photographic atmosphere in final banner */
.cta{
  background:#173720;
}
.cta::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-8px;
  background:url("assets/cta-blur.webp") center/cover no-repeat;
  filter:blur(2.2px) brightness(.62) saturate(.9);
  transform:scale(1.03);
  opacity:.95;
}
.cta::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(14,48,26,.78),rgba(14,48,26,.60) 58%,rgba(14,48,26,.24));
  pointer-events:none;
}
.cta-copy,.cta-actions-wrap{z-index:3}
.cta h2{
  font-family:var(--serif);
  font-optical-sizing:auto;
  font-variation-settings:normal;
  text-rendering:optimizeLegibility;
}
.cta-actions-wrap>p{font-size:12.5px;line-height:1.45}
.cta-meta{font-size:10px}
.cta-cup{z-index:4;width:190px}
.cta-blob{z-index:2}

/* mobile/tablet */
@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  .nav a{font-size:13.5px;text-shadow:none}
  .brand-role{font-size:8.5px}
  .hero-copy h1{font-family:var(--serif);font-weight:500;font-optical-sizing:auto;font-variation-settings:normal}
  .hero-copy>p{font-size:15px}
  .recognition-card p{font-size:12px}
  .mid-column>p{font-size:13.5px}
  .process-item p{font-size:12.5px}
  .about-copy p{font-size:13px}
  .faq summary{font-size:13px}
  .faq details p{font-size:12px}
  .mid-right{padding-right:145px}
  .plant-photo{width:125px;height:100%;object-fit:cover}
}
@media (max-width:620px){
  .brand-name{font-size:31px}
  .brand-role{font-size:8px}
  .hero-copy h1,
  .recognition-card h2,
  .mid h2,
  .about-copy h2,
  .cta h2{
    font-family:var(--serif);
    font-optical-sizing:auto;
    font-variation-settings:normal;
    -webkit-text-stroke:0;
    text-rendering:optimizeLegibility;
  }
  .hero-copy h1{font-size:clamp(52px,14.5vw,67px)}
  .hero-copy h1 .underlined-word::after{bottom:-6px;height:9px}
  .button{font-size:12px}
  .trust-item{font-size:10.5px}
  .recognition-card{grid-template-columns:76px 1fr}
  .recognition-card .doodle{width:68px;height:68px}
  .recognition-card h2{font-size:23px}
  .recognition-card p{font-size:12px}
  .mid h2{font-size:34px}
  .mid-right{padding-right:18px}
  .plant-photo{display:none}
  .about-copy h2{font-size:48px}
  .about-copy p{font-size:13px}
  .cta-actions-wrap>p{font-size:12.5px}
  .cta-meta{font-size:9.5px}
}


/* fidelity pass: vector marks + photographic CTA */
.hero-copy h1 .underlined-word{
  position:relative;
  display:inline-block;
}
.hero-copy h1 .underlined-word::after{display:none!important}
.word-underline{
  position:absolute;
  left:38%;
  width:62%;
  height:.18em;
  bottom:-.055em;
  overflow:visible;
  color:var(--orange);
  pointer-events:none;
}
.recognition-card .doodle{
  width:82px;
  height:82px;
  overflow:visible;
}
.recognition-card .doodle-tangle{color:var(--orange)}
.recognition-card .doodle-cloud,
.recognition-card .doodle-star{color:var(--orange)}
.recognition-card .doodle path,
.recognition-card .doodle circle{vector-effect:non-scaling-stroke}

/* CTA: one photographic field, with the cup blended into it */
.cta{
  background:
    linear-gradient(90deg,rgba(13,48,27,.74) 0%,rgba(13,48,27,.68) 42%,rgba(13,48,27,.48) 72%,rgba(13,48,27,.22) 100%),
    url("assets/cta-photo-bg.webp") center/cover no-repeat;
}
.cta::before{display:none!important}
.cta::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(90deg,rgba(6,34,18,.18),transparent 48%,rgba(8,31,17,.08));
  pointer-events:none;
}
.cta-cup{
  z-index:2;
  right:0;
  bottom:0;
  width:235px;
  height:100%;
  object-fit:cover;
  object-position:center;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 8%,#000 30%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 8%,#000 30%,#000 100%);
}
.cta-copy,.cta-actions-wrap{position:relative;z-index:3}
.cta-blob{z-index:2}

@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  .cta{
    background:
      linear-gradient(90deg,rgba(13,48,27,.76),rgba(13,48,27,.56)),
      url("assets/cta-photo-bg.webp") center/cover no-repeat;
  }
  .cta-cup{width:190px}
}
@media (max-width:620px){
  .word-underline{left:36%;width:64%;bottom:-.04em}
  .cta{
    background:
      linear-gradient(180deg,rgba(13,48,27,.75) 0%,rgba(13,48,27,.65) 65%,rgba(13,48,27,.42) 100%),
      url("assets/cta-photo-bg.webp") center/cover no-repeat;
  }
  .cta-cup{
    width:100%;
    height:185px;
    object-position:right center;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 16%,#000 38%);
    mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 16%,#000 38%);
  }
}


/* focused refinement: underline, recognition doodles, about-note */
.word-underline{
  left:36%;
  width:61%;
  height:.13em;
  bottom:-.075em;
}
.recognition-card .doodle{
  width:86px;
  height:86px;
  flex:0 0 auto;
}
.recognition-card .doodle-tangle{color:var(--orange)}
.recognition-card .doodle-cloud,
.recognition-card .doodle-star{color:var(--orange)}

.about-note{
  left:-22px;
  bottom:-10px;
  width:180px;
  min-height:126px;
  padding:21px 16px 16px 18px;
  font-size:20px;
  line-height:1.02;
  transform:rotate(-7deg);
}
.about-note i{
  width:34px;
  height:14px;
  margin:8px 0 0 96px;
  border-top-width:2px;
}

@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  .about-note{
    width:184px;
    min-height:128px;
    font-size:21px;
    left:-16px;
    bottom:-12px;
  }
}
@media (max-width:620px){
  .word-underline{
    left:34%;
    width:62%;
    height:.12em;
    bottom:-.07em;
  }
  .recognition-card .doodle{
    width:72px;
    height:72px;
  }
  .about-note{
    width:190px;
    min-height:132px;
    font-size:22px;
    padding:22px 17px 16px 18px;
    left:-8px;
    bottom:-14px;
  }
  .about-note i{
    margin-left:102px;
  }
}


/* desktop-only correction: keep Roxanna note clear of her face */
@media (min-width:1101px){
  .about-photo-wrap{min-height:248px}
  .about-note{
    left:-30px;
    bottom:-42px;
  }
}


/* use the clean portrait asset; keep a single HTML note */
@media (min-width:1101px){
  .about-photo-wrap{min-height:226px}
  .about-note{
    left:-28px;
    bottom:-18px;
  }
}


/* restore Roxanna using the original session photograph; crop only with CSS */
.about-photo{
  background:#e9dfd2;
}
.about-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:82% 34%;
  transform:scale(1.72);
  transform-origin:79% 37%;
}
@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  .about-photo img{
    object-position:82% 34%;
    transform:scale(1.66);
    transform-origin:79% 37%;
  }
}
@media (max-width:620px){
  .about-photo img{
    object-position:82% 34%;
    transform:scale(1.62);
    transform-origin:79% 37%;
  }
}


/* correct About portrait asset from reference */
.about-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:none!important;
  transform-origin:center!important;
}


/* About visual: use the approved reference composition as a single visual asset */
.about-photo-wrap.about-visual{
  width:270px;
  min-height:0!important;
  display:flex;
  align-items:flex-end;
}
.about-visual-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.about-photo-wrap.about-visual .about-photo,
.about-photo-wrap.about-visual .about-note{
  display:none!important;
}
@media (max-width:900px), (hover:none) and (pointer:coarse) and (max-width:1100px){
  .about-photo-wrap.about-visual{width:260px}
}
@media (max-width:620px){
  .about-photo-wrap.about-visual{width:245px}
}


/* About desktop spacing: reserve the full width of the approved visual asset */
@media (min-width:1101px){
  .about-layout{
    grid-template-columns:270px minmax(0,1fr);
    gap:34px;
    align-items:center;
  }
  .about-photo-wrap.about-visual{
    width:270px;
    min-width:270px;
  }
  .about-copy{
    min-width:0;
  }
}


/* CTA refinement — restore reference hierarchy, legibility and photographic composition */
.cta{
  min-height:300px;
  padding:34px clamp(38px,4.8vw,86px) 34px;
  grid-template-columns:minmax(430px,46%) minmax(500px,54%);
  gap:34px;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(14,48,26,.78) 0%,rgba(14,48,26,.68) 48%,rgba(14,48,26,.44) 72%,rgba(14,48,26,.16) 100%),
    url("assets/cta-bg-clean.webp") center right/cover no-repeat;
}
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(7,29,17,.10),transparent 48%,rgba(7,29,17,.02));
  pointer-events:none;
}
.cta-copy,.cta-actions-wrap{position:relative;z-index:3}
.cta .kicker.light{
  font-size:12px;
  letter-spacing:.22em;
  font-weight:700;
  color:#fff;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}
.cta .kicker.light span{
  width:54px;
  background:rgba(255,255,255,.72);
}
.cta h2{
  max-width:560px;
  margin:16px 0 0;
  font:500 clamp(48px,3.7vw,64px)/.98 var(--serif);
  letter-spacing:-.035em;
  font-optical-sizing:none;
  font-variation-settings:"opsz" 24;
  text-wrap:balance;
}
.cta-actions-wrap{
  padding-right:150px;
  align-self:center;
}
.cta-actions-wrap>p{
  max-width:485px;
  margin:0 0 18px;
  color:rgba(255,255,255,.96);
  font:500 14px/1.45 var(--sans);
  text-shadow:0 1px 8px rgba(0,0,0,.16);
}
.cta .hero-actions{
  margin-top:0;
  gap:12px;
  flex-wrap:nowrap;
}
.cta .button{
  min-height:49px;
  padding-inline:22px;
  font-size:13px;
}
.cta .button.primary{min-width:275px}
.cta .button.ghost{
  min-width:225px;
  background:rgba(19,53,33,.28);
  border-color:rgba(255,255,255,.8);
  backdrop-filter:blur(2px);
}
.cta-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-top:16px;
  font:500 11px/1.15 var(--sans);
  white-space:normal;
  color:rgba(255,255,255,.97);
}
.cta-meta span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.cta-meta svg{
  width:17px;
  height:17px;
  flex:0 0 auto;
}
.cta-cup{
  display:none;
}
.cta-blob{
  left:-52px;
  bottom:-78px;
  width:260px;
  height:122px;
  opacity:.9;
}

@media (max-width:1100px){
  .cta{
    grid-template-columns:1fr;
    gap:24px;
    min-height:360px;
    padding:38px 190px 38px 28px;
    background:
      linear-gradient(90deg,rgba(14,48,26,.78),rgba(14,48,26,.46)),
      url("assets/cta-bg-clean.webp") center right/cover no-repeat;
  }
  .cta-actions-wrap{padding-right:0}
  .cta h2{font-size:50px;max-width:620px}
  .cta-actions-wrap>p{font-size:13px;max-width:560px}
  .cta .hero-actions{flex-wrap:wrap}
  .cta-meta{font-size:10.5px}
}
@media (max-width:620px){
  .cta{
    min-height:560px;
    padding:34px 18px 170px;
    background:
      linear-gradient(180deg,rgba(14,48,26,.82) 0%,rgba(14,48,26,.68) 62%,rgba(14,48,26,.30) 100%),
      url("assets/cta-bg-clean.webp") center right/cover no-repeat;
  }
  .cta .kicker.light{font-size:10px;letter-spacing:.18em}
  .cta h2{font-size:43px;line-height:1;max-width:100%}
  .cta-actions-wrap>p{font-size:13px;line-height:1.45}
  .cta .button{width:100%;font-size:12px}
  .cta-meta{display:grid;gap:10px;font-size:10.5px}
}


/* CTA fidelity pass — match approved reference composition */
@media (min-width:1101px){
  .cta{
    min-height:286px;
    padding:30px 70px 30px;
    grid-template-columns:42% 58%;
    gap:18px;
    align-items:center;
    background:
      linear-gradient(90deg,rgba(13,48,27,.64) 0%,rgba(13,48,27,.55) 47%,rgba(13,48,27,.34) 76%,rgba(13,48,27,.14) 100%),
      url("assets/cta-photo-bg.webp") center/cover no-repeat;
  }
  .cta::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(90deg,rgba(5,26,15,.16) 0%,rgba(5,26,15,.08) 58%,rgba(5,26,15,0) 100%);
    pointer-events:none;
  }
  .cta-copy{
    align-self:start;
    padding-top:7px;
  }
  .cta .kicker.light{
    font-size:13px;
    line-height:1;
    letter-spacing:.20em;
    font-weight:700;
    text-shadow:0 1px 8px rgba(0,0,0,.2);
  }
  .cta .kicker.light span{
    width:62px;
    opacity:.9;
  }
  .cta h2{
    max-width:665px;
    margin-top:17px;
    font:500 52px/1.02 var(--serif);
    letter-spacing:-.03em;
    text-wrap:balance;
  }
  .cta-actions-wrap{
    align-self:center;
    padding-right:205px;
    transform:translateY(-2px);
  }
  .cta-actions-wrap>p{
    max-width:470px;
    margin:0 0 16px;
    font:400 15px/1.42 var(--sans);
    color:rgba(255,255,255,.96);
    text-shadow:0 1px 6px rgba(0,0,0,.18);
  }
  .cta .hero-actions{
    gap:12px;
    flex-wrap:nowrap;
  }
  .cta .button{
    min-height:54px;
    padding:0 26px;
    font-size:14px;
  }
  .cta .button.primary{
    min-width:330px;
  }
  .cta .button.ghost{
    min-width:274px;
    border-width:1.5px;
    background:rgba(12,45,26,.22);
  }
  .cta .button.ghost svg{
    width:23px;
    height:23px;
  }
  .cta-meta{
    gap:24px;
    margin-top:17px;
    font:400 13px/1.15 var(--sans);
    color:#fff;
  }
  .cta-meta span{
    gap:9px;
  }
  .cta-meta svg{
    width:24px;
    height:24px;
    stroke-width:1.7;
  }
  .cta-cup{
    display:block;
    position:absolute;
    z-index:2;
    right:0;
    bottom:0;
    width:225px;
    height:286px;
    object-fit:cover;
    object-position:right bottom;
  }
  .cta-blob{
    left:-38px;
    bottom:-72px;
    width:275px;
    height:128px;
    background:#dda26b;
    opacity:.98;
  }
}

@media (min-width:1500px){
  .cta{
    padding-left:84px;
    padding-right:84px;
  }
  .cta h2{
    max-width:690px;
    font-size:54px;
  }
  .cta-actions-wrap{
    padding-right:220px;
  }
}


/* CTA polish — typography and WhatsApp treatment closer to reference */
@media (min-width:1101px){
  .cta h2{
    max-width:640px;
    font-family:"Libre Bodoni","Bodoni 72","Didot","Times New Roman",serif;
    font-size:51px;
    font-weight:400;
    line-height:1.015;
    letter-spacing:-.045em;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
  }
  .cta .kicker.light{
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.205em;
  }
  .cta-actions-wrap>p{
    font-family:"Inter",Arial,sans-serif;
    font-size:14px;
    font-weight:400;
    line-height:1.48;
    max-width:455px;
  }
  .cta .button{
    font-family:"Inter",Arial,sans-serif;
    font-size:13.5px;
    font-weight:500;
  }
  .cta .button.ghost{
    color:#fff;
  }
  .cta .button.ghost .whatsapp-icon{
    width:25px;
    height:25px;
    flex:0 0 auto;
  }
  .cta-meta{
    font-family:"Inter",Arial,sans-serif;
    font-size:12px;
    font-weight:400;
    letter-spacing:-.01em;
  }
}


/* compliance + accessibility pass — 28/09/2026 */
.skip-link{
  position:fixed;
  z-index:9999;
  left:16px;
  top:12px;
  transform:translateY(-180%);
  padding:10px 14px;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  font:600 14px/1.2 var(--sans);
}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid #173720;
  outline-offset:4px;
}
.cta a:focus-visible{outline-color:#fff}
.faq summary{border-radius:4px}
.faq summary:focus-visible{outline-offset:2px}
.site-shell:focus{outline:none}

.legal-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px clamp(24px,4.6vw,82px);
  background:#132b1c;
  color:rgba(255,255,255,.92);
  font-family:var(--sans);
}
.legal-footer__identity{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  line-height:1.35;
}
.legal-footer__identity strong{font-size:13px;color:#fff}
.legal-footer__contact{
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  margin-top:4px;
}
.legal-footer__contact a{
  color:rgba(255,255,255,.92);
  font-size:11.5px;
  text-decoration:none;
  text-underline-offset:3px;
}
.legal-footer__contact a:hover{text-decoration:underline}
.legal-footer__links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 20px;
}
.legal-footer__links a{
  color:#fff;
  font-size:12px;
  text-underline-offset:3px;
}

.home-footer{
  justify-content:flex-end;
  padding:8px clamp(24px,4.6vw,82px) 12px;
}
.home-footer .legal-footer__links{
  flex-wrap:nowrap;
  gap:18px;
}
.home-footer .legal-footer__links a{
  font-size:11px;
}

.cta-direct-contact{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:4px 14px;
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.82);
  font:400 11px/1.3 var(--sans);
}
.cta-direct-contact>span{
  color:#fff;
  font-weight:600;
}
.cta-direct-contact a{
  color:rgba(255,255,255,.9);
  text-decoration:none;
  text-underline-offset:3px;
}
.cta-direct-contact a:hover{
  text-decoration:underline;
}

.legal-body{background:var(--paper)}
.legal-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px clamp(22px,5vw,76px);
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.legal-topbar .brand{text-decoration:none}
.legal-back{
  color:var(--green);
  font:600 13px/1.2 var(--sans);
  text-decoration:none;
}
.legal-page{
  width:min(860px,calc(100% - 36px));
  margin:0 auto;
  padding:58px 0 72px;
}
.legal-page h1{
  margin:0 0 12px;
  font:500 clamp(42px,6vw,68px)/.98 var(--serif);
  letter-spacing:-.04em;
}
.legal-page .legal-updated{
  margin:0 0 36px;
  color:var(--muted);
  font-size:13px;
}
.legal-page h2{
  margin:36px 0 10px;
  font:500 30px/1.05 var(--serif);
  letter-spacing:-.025em;
}
.legal-page h3{
  margin:26px 0 8px;
  font:700 14px/1.3 var(--sans);
}
.legal-page p,
.legal-page li{
  color:#343b37;
  font:400 15px/1.65 var(--sans);
}
.legal-page ul{padding-left:22px}
.legal-page a{color:#87401f;text-underline-offset:3px}
.legal-note{
  margin:28px 0;
  padding:18px 20px;
  border-left:4px solid var(--orange);
  background:#f5eadc;
  border-radius:0 8px 8px 0;
}
.legal-note p{margin:0}
.legal-small{font-size:13px!important;color:var(--muted)!important}

@media (max-width:700px){
  .legal-footer{align-items:flex-start;flex-direction:column}
  .legal-footer__links{justify-content:flex-start}
  .home-footer{
    align-items:flex-end;
    padding:8px 18px 9px;
  }
  .home-footer .legal-footer__links{
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px 14px;
  }
  .legal-topbar{padding:18px}
  .legal-topbar .brand-name{font-size:27px}
  .legal-page{padding:40px 0 56px}
  .legal-page h2{font-size:27px}
}

/* Mobile hero trust row: equal-width, optically centered thirds */
@media (max-width:620px){
  .hero-copy .trust-row{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    align-items:start;
  }
  .hero-copy .trust-item{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    display:grid;
    grid-template-rows:19px auto;
    justify-items:center;
    align-items:start;
    row-gap:7px;
    padding:0 10px;
    border:0;
    border-left:1px solid var(--line);
    text-align:center;
  }
  .hero-copy .trust-item:first-child{
    padding-left:10px;
    border-left:0;
  }
  .hero-copy .trust-item svg{
    width:19px;
    height:19px;
    margin:0;
  }
  .hero-copy .trust-item span{
    display:block;
    width:100%;
    text-align:center;
  }
}


/* Mobile closing-section hierarchy refinement */
@media (max-width:620px){
  .cta h2{
    font-size:39px;
    line-height:1.02;
  }
  .cta-actions-wrap>p{
    font-size:14px;
    line-height:1.5;
    margin-bottom:16px;
  }
  .cta-meta{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    align-items:start;
    margin-top:16px;
    font-size:9.8px;
    line-height:1.25;
  }
  .cta-meta span{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    display:grid;
    grid-template-rows:20px auto;
    justify-items:center;
    align-items:start;
    gap:7px;
    padding:0 8px;
    border-left:1px solid rgba(255,255,255,.28);
    text-align:center;
  }
  .cta-meta span:first-child{
    border-left:0;
  }
  .cta-meta svg{
    width:20px;
    height:20px;
    margin:0;
  }
}

@media (max-width:700px){
  .legal-footer{
    gap:14px;
    padding:20px 18px 22px;
  }
  .home-footer{
    gap:0;
    padding:8px 18px 12px;
  }
  .legal-footer__identity{
    gap:2px;
    font-size:11.5px;
    line-height:1.3;
  }
  .legal-footer__identity strong{
    font-size:12.5px;
  }
  .legal-footer__contact{
    flex-direction:column;
    gap:3px;
    margin-top:4px;
  }
  .legal-footer__contact a{
    font-size:11px;
  }
  .legal-footer__links{
    gap:8px 16px;
  }
  .legal-footer__links a{
    font-size:11px;
  }
  .cta-direct-contact{
    gap:4px 10px;
    margin-top:12px;
    padding-top:9px;
    font-size:10.5px;
  }
}