:root{
  --bg:#EFE9DF; --panel:#F7F3EB; --ink:#3A3733; --body:#4A453F;
  --btn:#6F4E33; --btnHover:#5A3E28; --eyebrow:#8A5B36; --on-btn:#FBF8F3; --star:#E8A83C;
  --line:rgba(58,55,51,0.1);
  --display:'Poppins',sans-serif; --text:'Open Sans',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--text);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0}
img{display:block}
a{color:inherit}
.container{max-width:1320px;margin:0 auto;padding:0 48px}
.eyebrow{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.18em;color:var(--eyebrow);text-transform:uppercase}
.rule{width:44px;height:3px;background:var(--btn);display:block}

/* buttons */
.btn{font-family:var(--display);font-weight:600;letter-spacing:.12em;font-size:13px;background:var(--btn);color:var(--on-btn);text-decoration:none;border:none;border-radius:999px;padding:16px 34px;display:inline-block;cursor:pointer;transition:background .2s ease}
.btn:hover{background:var(--btnHover)}
.btn-lg{font-size:15px;padding:20px 44px}
.btn-feature{padding:18px 38px;margin-top:8px}
.btn-nav{padding:14px 28px}

/* header / nav */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);padding:22px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(58,55,51,0.08)}
.brand{text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:.35em}
.brand span{font-weight:400;letter-spacing:.5em}
nav.main{display:flex;align-items:center;gap:32px;font-family:var(--display);font-size:15px;font-weight:500}
.navlink{color:var(--ink);text-decoration:none}
.navlink:hover{color:var(--btn)}
.navlink.active{border-bottom:2px solid var(--btn);padding-bottom:3px}

/* generic section */
.pad{padding:88px 48px}
.band{background:var(--panel)}
.section-head{text-align:center;max-width:760px;margin:0 auto 56px;display:flex;flex-direction:column;gap:20px}
.section-head h2{font-weight:600;font-size:clamp(38px,4vw,54px)}

/* hero (home) */
.hero{max-width:1320px;margin:0 auto;padding:72px 48px 88px;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.hero h1{font-weight:600;font-size:clamp(48px,5.5vw,78px);line-height:1.08;text-wrap:pretty}
.hero p{margin:0;font-size:19px;max-width:46ch}
.hero img{width:100%;aspect-ratio:4/3.2;object-fit:cover}

/* page hero (inner pages) */
.page-hero{max-width:900px;margin:0 auto;padding:88px 48px 56px;text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center}
.page-hero h1{font-weight:600;font-size:clamp(44px,5vw,68px)}
.page-hero p{margin:0;font-size:19px;max-width:56ch}

/* info cards (3) */
.cards-3{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.info-card{background:var(--bg);display:flex;flex-direction:column}
.info-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.info-card .body{padding:36px 32px 40px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;flex:1}
.info-card h3{font-weight:500;font-size:30px}
.info-card p{margin:0;font-size:16px;flex:1}

/* testimonials */
.testimonials{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center}
.testimonials figure{margin:0;display:flex;flex-direction:column;gap:16px;align-items:center}
.stars{color:var(--star);font-size:26px;letter-spacing:4px}
.testimonials h3{font-weight:600;font-size:30px}
.testimonials blockquote{margin:0;font-size:16.5px}

/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.split[id]{scroll-margin-top:88px}
.split .copy{padding:96px 72px;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:flex-start}
.split .copy p{margin:0}
.split .copy ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.split img{width:100%;height:100%;object-fit:cover;min-height:480px}

/* cta band */
.cta{padding:96px 48px;text-align:center}
.cta .inner{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:20px;align-items:center}
.cta h2{font-weight:600;font-size:clamp(38px,4vw,54px)}
.cta p{margin:0;font-size:18px}

/* mission / story split */
.duo{max-width:1320px;margin:0 auto;display:grid;gap:64px;align-items:center}
.duo.mission{grid-template-columns:.9fr 1.1fr}
.duo.story{grid-template-columns:.85fr 1.15fr}
.duo img{width:100%;object-fit:cover}
.duo.mission img{aspect-ratio:3/3.6}
.duo.story img{aspect-ratio:3/3.8}
.duo .copy{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.duo .copy h2{font-weight:600;font-size:clamp(38px,4vw,54px)}
.duo .copy p{margin:0}
.chips{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.chip{background:var(--bg);border:1px solid rgba(58,55,51,0.15);border-radius:999px;padding:10px 20px;font-family:var(--display);font-weight:500;font-size:14px;color:var(--ink)}

/* values */
.values{max-width:1320px;margin:0 auto}
.values h2{font-weight:600;font-size:clamp(34px,3.5vw,48px);text-align:center;margin:0 0 48px}
.values .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center}
.values .item{display:flex;flex-direction:column;gap:14px;align-items:center}
.values h3{font-weight:500;font-size:26px}
.values p{margin:0;font-size:16px}

/* contact */
.contact-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
form.enquiry{background:var(--panel);padding:48px;display:flex;flex-direction:column;gap:20px}
form.enquiry .row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
form.enquiry label{display:flex;flex-direction:column;gap:8px;font-family:var(--display);font-weight:500;font-size:14px;color:var(--ink)}
form.enquiry .opt{font-weight:400;opacity:.6}
form.enquiry input,form.enquiry select,form.enquiry textarea{font-family:var(--text);font-size:16px;padding:15px 16px;border:1px solid rgba(58,55,51,0.25);background:#fff;color:var(--ink);outline:none}
form.enquiry input:focus,form.enquiry select:focus,form.enquiry textarea:focus{border-color:var(--btn)}
form.enquiry textarea{resize:vertical}
form.enquiry button{align-self:flex-start}
form.enquiry .fine{font-size:14px;opacity:.65}
.confirm{background:var(--panel);padding:64px 48px;display:none;flex-direction:column;gap:16px;align-items:flex-start}
.confirm h3{font-weight:600;font-size:32px}
.confirm p{margin:0;font-size:17px}
.contact-form.done form.enquiry{display:none}
.contact-form.done .confirm{display:flex}
.contact-aside{display:flex;flex-direction:column;gap:36px}
.contact-aside .blk{display:flex;flex-direction:column;gap:10px;font-size:16px}
.contact-aside h4{font-weight:600;font-size:20px;margin:0 0 6px}
.contact-aside a{color:var(--btn);text-decoration:none;font-weight:600}
.contact-aside a:hover{color:var(--btnHover)}

/* footer */
footer.site{padding:80px 48px 40px;border-top:1px solid var(--line)}
footer.site.on-panel{background:var(--panel)}
footer.site .cols{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:48px}
footer.site .cols.three{grid-template-columns:1.4fr 1fr .8fr}
footer.site .col{display:flex;flex-direction:column;gap:10px;font-size:15.5px}
footer.site .col.lead{gap:18px;align-items:flex-start}
.foot-brand{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.3em;color:var(--ink)}
footer.site h4{font-weight:600;font-size:16px;margin:0 0 8px}
footer.site .col a{color:var(--body);text-decoration:none}
footer.site .col a:hover{color:var(--btn)}
footer.site .col a.strong{color:var(--btn);font-weight:600}
.foot-base{max-width:1320px;margin:48px auto 0;padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px}
.foot-base .copy{opacity:.65}
.ta-credit{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--body);opacity:.7;font-family:var(--display);font-weight:500;font-size:13px;transition:opacity .2s,color .2s}
.ta-credit:hover{opacity:1;color:var(--btn)}
.ta-credit .ta{font-family:'Courier New',monospace;background:var(--btn);color:var(--on-btn);border-radius:5px;padding:1px 6px;letter-spacing:0}

/* scroll to top */
.scrolltop{position:fixed;bottom:36px;right:36px;width:60px;height:60px;border-radius:50%;background:var(--btn);color:var(--on-btn);border:none;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(58,55,51,0.25);transition:background .2s ease,opacity .3s ease,visibility .3s ease;z-index:60;opacity:0;visibility:hidden}
.scrolltop.show{opacity:1;visibility:visible}
.scrolltop:hover{background:var(--btnHover)}

/* reveal */
.reveal.hidden{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}

/* responsive */
@media(max-width:1000px){
  .hero{grid-template-columns:1fr;gap:40px;padding:56px 48px 64px}
  .split{grid-template-columns:1fr}
  .split img{min-height:320px}
  .duo.mission,.duo.story{grid-template-columns:1fr;gap:40px}
  .duo img{max-width:460px}
  .contact-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:860px){
  .cards-3{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr;gap:40px}
  .values .grid{grid-template-columns:1fr;gap:36px}
  footer.site .cols,footer.site .cols.three{grid-template-columns:1fr;gap:32px}
  .split .copy{padding:56px 32px}
  form.enquiry .row{grid-template-columns:1fr}
}
@media(max-width:760px){
  .container,.pad,.cta,footer.site{padding-left:24px;padding-right:24px}
  .site-header{padding:16px 24px;gap:14px}
  nav.main{gap:18px}
  .navlink{display:none}
  .hero,.page-hero{padding-left:24px;padding-right:24px}
  form.enquiry{padding:32px 24px}
  .foot-base{flex-direction:column;align-items:flex-start}
}
