@charset "UTF-8";
/* ===== Gustatus — complete rebuild, elevated design (v3) ===== */
:root{
  --cream:#F6F2E9;       /* airy base background */
  --sand:#D6D1C4;        /* accent section */
  --dark:#33312E;        /* statement section / footer */
  --green:#4A8A4F;       /* brand green */
  --green-deep:#3a6e3e;
  --orange:#E74F26;      /* CTA accent */
  --orange-dark:#cf421d;
  --ink:#2c2a27;         /* headings */
  --text:#403d39;        /* body */
  --text-dark:#E7E2D6;   /* body on dark */
  --white:#FFFFFF;
  --line:#e3ddcf;
  --maxw:1140px;
  --shadow:0 18px 50px rgba(40,36,30,.10);
  --shadow-sm:0 8px 24px rgba(40,36,30,.08);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Lato",-apple-system,Helvetica,Arial,sans-serif;font-size:17.5px;line-height:1.7;
  color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}
.narrow{max-width:760px}
.center{text-align:center}

/* ---- Reveal motion ---- */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
[data-reveal].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}}

/* ---- Header ---- */
.site-header{background:var(--cream);padding:34px 0 22px;text-align:center;position:sticky;top:0;z-index:50;
  border-bottom:1px solid rgba(0,0,0,.04);backdrop-filter:saturate(120%) blur(2px)}
.site-header.compact{padding:16px 0}
.site-header .logo img{height:135px;width:auto;margin:0 auto;transition:height .3s ease}
.site-header.compact .logo img{height:95px}
.main-nav{margin-top:18px;display:flex;justify-content:center;gap:46px;transition:margin .3s}
.site-header.compact .main-nav{margin-top:12px}
.main-nav a{font-family:"Jost",sans-serif;font-weight:500;font-size:17px;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--green);position:relative;padding-bottom:4px}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--green);transition:width .25s}
.main-nav a:hover::after,.main-nav a.active::after{width:100%}
.nav-toggle{display:none;background:none;border:0;font-size:27px;color:var(--green);cursor:pointer;position:absolute;right:28px;top:34px}

/* ---- Hero ---- */
.hero{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;text-align:center;
  background-size:cover;background-position:center;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.42))}
.hero .hero-content{position:relative;z-index:2;padding:70px 32px;max-width:960px}
.hero h1{font-family:"Asap",sans-serif;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:3px;
  line-height:1.26;font-size:clamp(28px,4.2vw,42px);margin:0;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero--short{min-height:380px}
.hero .kicker{display:inline-block;font-family:"Work Sans",sans-serif;text-transform:uppercase;letter-spacing:3px;
  font-size:13px;color:#fff;opacity:.92;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--orange)}

/* ---- Sections ---- */
.section{padding:92px 0}
.section--tight{padding:64px 0}
.section--cream{background:var(--cream)}
.section--sand{background:var(--sand)}
.section--white{background:var(--white)}
.section--dark{background:var(--dark);color:var(--text-dark)}
.section--dark p{color:var(--text-dark)}
.section--green{background:var(--green);color:#fff}
.section--green p{color:#f3f7f1}
.section--green .eyebrow{color:#dceadb}
.section--green h2.title,.section--green h3.title{color:#fff}

/* ---- Full-bleed split (text + tall image) ---- */
.split{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;min-height:560px}
.split.reverse{grid-template-columns:1fr 1.1fr}
.split .split-text{padding:84px 5vw;display:flex;flex-direction:column;justify-content:center;text-align:left}
.split .split-text .prose{margin:0;max-width:620px}
.split .split-media{position:relative;min-height:460px;overflow:hidden}
.split .split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* cream button (on green) — higher specificity to beat .btn */
.btn.btn--cream{background:#F2EEE2;color:var(--ink);box-shadow:none}
.btn.btn--cream:hover{background:#fff;color:var(--ink);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.section p{margin:0 0 18px}
.center p{margin-left:auto;margin-right:auto}

/* eyebrow + titles */
.eyebrow{font-family:"Work Sans",sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:3px;
  font-size:13px;color:var(--orange);margin:0 0 14px}
.section--dark .eyebrow{color:var(--orange)}
h2.title{font-family:"Asap",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:2.4px;
  font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0 0 26px;color:var(--ink)}
h3.title{font-family:"Asap",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:2px;
  font-size:clamp(19px,2.2vw,25px);margin:0 0 18px;color:var(--green)}
.section--dark h2.title,.section--dark h3.title{color:#fff}
.lead{font-size:clamp(18px,1.6vw,20.5px);line-height:1.75;color:var(--text)}
.section--dark .lead{color:#fff;font-style:italic}

/* ---- Buttons ---- */
.btn{display:inline-block;margin-top:22px;font-family:"Work Sans",sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:1.2px;font-size:13.5px;padding:15px 30px;border:0;border-radius:3px;background:var(--orange);color:#fff;
  cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 6px 18px rgba(231,79,38,.22)}
.btn:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 10px 26px rgba(231,79,38,.3)}
.btn--ghost{background:transparent;color:var(--green);border:2px solid var(--green);box-shadow:none;padding:13px 28px}
.btn--ghost:hover{background:var(--green);color:#fff;box-shadow:none}

/* ---- Full-bleed image band ---- */
.band{position:relative;height:clamp(260px,38vw,440px);background-size:cover;background-position:center;background-attachment:fixed}
.band::after{content:"";position:absolute;inset:0;background:rgba(40,36,30,.18)}
@media (hover:none){.band{background-attachment:scroll}}

/* ---- Brand cards ---- */
.brand-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:36px}
.brand-card{background:var(--white);border-radius:12px;padding:42px 34px 36px;display:flex;flex-direction:column;
  align-items:center;text-align:center;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}
.brand-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.brand-card .brand-logo{height:108px;width:auto;object-fit:contain;margin-bottom:22px}
.brand-card p{font-size:16px;color:var(--text);margin-bottom:8px;flex:1}

/* ---- Media rows ---- */
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin:8px 0}
.media-row.reverse .media-img{order:2}
.media-row .media-img img{border-radius:12px;box-shadow:var(--shadow);width:100%;object-fit:cover}
.media-row .media-text{text-align:left}
.media-row .media-text .eyebrow{text-align:left}

/* ---- Rich text blocks (om-oss) ---- */
.prose{max-width:760px;margin:0 auto;text-align:left}
.prose p{margin:0 0 20px}
.prose .sub{font-family:"Asap",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;
  color:var(--green);font-size:15px;margin:34px 0 10px;display:block}
.prose ul{margin:0 0 20px;padding-left:22px}
.prose ul li{margin:0 0 12px;line-height:1.6}
.prose ul li strong{color:var(--ink)}
.split-text .prose .eyebrow{margin-bottom:12px}

/* ---- DVH / Sales Support ---- */
.dvh{max-width:1000px;margin:0 auto;text-align:center}
.dvh .dvh-text{max-width:720px;margin:0 auto 40px}
.dvh .dvh-text a{color:var(--green);font-weight:700}
.sales-poster{background:#fff;border-radius:14px;padding:26px;box-shadow:var(--shadow)}
.sales-poster img{border-radius:6px;width:100%}
.dvh.wide{max-width:1180px}

/* ---- Team grid ---- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 36px;margin-top:46px}
.team-card{text-align:center}
.team-card .photo{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:18px}
.team-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.team-card:hover .photo img{transform:scale(1.05)}
.team-card .name{font-family:"Asap",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;
  font-size:16px;color:var(--ink);margin:0 0 4px}
.team-card .role{font-size:13px;color:var(--text);opacity:.72;margin:0 0 10px;text-transform:uppercase;letter-spacing:.7px;line-height:1.5}
.team-card .email{font-family:"Work Sans",sans-serif;font-size:13.5px;color:var(--orange);word-break:break-word}
.team-card .email:hover{text-decoration:underline}

/* ---- Contact form ---- */
.contact-form{max-width:600px;margin:36px auto 0;text-align:left;background:#fff;padding:38px;border-radius:14px;box-shadow:var(--shadow-sm)}
.contact-form label{display:block;font-family:"Work Sans",sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:1px;font-size:12px;margin:16px 0 6px;color:var(--ink)}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:#fcfbf7;
  border-radius:6px;font-family:"Lato",sans-serif;font-size:16px;color:var(--text)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--green);background:#fff}
.contact-form textarea{min-height:150px;resize:vertical}
.contact-form .btn{margin-top:24px;width:100%}
.form-note{font-size:13px;opacity:.7;margin-top:14px}

/* ---- Footer ---- */
.site-footer{background:var(--dark);text-align:center;padding:58px 0 46px}
.site-footer .footer-symbol{height:64px;width:auto;margin:0 auto 18px}
.site-footer .footer-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin:0 0 18px}
.site-footer .footer-links a{font-family:"Jost",sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:1.3px;color:#cfc9bd}
.site-footer .footer-links a:hover{color:#fff}
.site-footer .footer-copy{color:#948f84;font-size:13px;letter-spacing:.4px;margin:0}

/* ---- Responsive ---- */
@media (max-width:880px){
  .split{grid-template-columns:1fr}
  .split.reverse{grid-template-columns:1fr}
  .split .split-text{padding:56px 32px}
  .split .split-media{min-height:320px;height:320px}
}
@media (max-width:820px){
  .brand-grid{gap:24px}
}
@media (max-width:680px){
  .site-header{position:relative}
  /* Row layout: SV | logo | menu — the full-width wordmark used to sit on top of
     the absolutely-positioned corner controls and hide them */
  .site-header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .lang-switch{position:static;order:1}
  .site-header .logo{order:2;margin:0 auto}
  .nav-toggle{order:3}
  .site-header .logo img{height:auto;max-width:min(52vw,210px)}
  .site-header.compact .logo img{height:auto}
  .nav-toggle{position:static;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:22px}
  .nav-toggle,.lang-menu summary{background:var(--white);border:1.5px solid var(--line);border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.07)}
  .main-nav{order:4;flex-basis:100%;gap:26px;flex-direction:column;max-height:0;overflow:hidden;margin-top:0;transition:max-height .3s,margin-top .3s}
  .main-nav.open{max-height:240px;margin-top:18px}
  .brand-grid{grid-template-columns:1fr}
  .media-row{grid-template-columns:1fr;gap:26px}
  .media-row.reverse .media-img{order:0}
  .team-grid{grid-template-columns:1fr 1fr;gap:28px 22px}
  .section{padding:60px 0}
  .hero{min-height:420px}
  .contact-form{padding:26px}
  .band{background-attachment:scroll}
}
@media (max-width:420px){.team-grid{grid-template-columns:1fr}}

/* ===== Accessibility & interaction quality (UI/UX Pro Max guidelines) ===== */
:focus-visible{outline:2.5px solid currentColor;outline-offset:3px;border-radius:2px}
a:focus-visible,button:focus-visible{outline-color:inherit}
.main-nav a,.footer-links a{min-height:44px;display:inline-flex;align-items:center}
.btn{min-height:44px}
input,textarea,select,button{font-size:max(16px,1em)}
::selection{background:rgba(0,0,0,.85);color:#fff}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ===== Language switcher ===== */
.lang-switch{position:absolute;right:28px;top:30px;z-index:200}
.lang-menu{position:relative;margin:0}
.lang-menu summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 10px;cursor:pointer;
  font-family:"Jost",sans-serif;font-weight:500;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:var(--green)}
.lang-menu summary::marker{content:""}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu summary::after{content:"▾";font-size:10px;line-height:1}
.lang-menu[open] summary::after{content:"▴"}
.lang-menu summary:hover{color:var(--green-deep)}
.lang-menu summary:focus-visible{outline:2.5px solid var(--green);outline-offset:2px;border-radius:4px}
.lang-menu ul{position:absolute;right:0;top:100%;margin:6px 0 0;padding:6px;list-style:none;background:var(--white);
  border-radius:10px;box-shadow:var(--shadow);z-index:200;min-width:92px}
.lang-menu li a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:6px;
  font-family:"Jost",sans-serif;font-weight:500;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:var(--green)}
.lang-menu li a:hover{background:var(--cream);color:var(--green-deep)}
.lang-menu li a:focus-visible{outline:2.5px solid var(--green);outline-offset:-2px}
@media (max-width:680px){
  /* static + order:1 puts the switcher first in the header flex row
     (the .lang-switch base rule above would otherwise win the cascade) */
  .lang-switch{position:static;order:1}
  .lang-menu ul{right:auto;left:0}
}

