/*
Theme Name: Cultura del Gusto C Header Modern
Theme URI: https://culturadelgusto.com
Author: Cultura del Gusto Coffee Solutions S.L.
Description: Tema WordPress custom per Cultura del Gusto Coffee Solutions.
Version: 3.3.0
Text Domain: cultura-del-gusto
*/

:root{
  --bg:#f8f3eb;
  --paper:#fffdf9;
  --cream:#efe2cf;
  --gold:#c28a3a;
  --gold-dark:#9b6727;
  --coffee:#40251d;
  --dark:#1f130f;
  --text:#5d463d;
  --muted:#8f7f76;
  --line:#dec8a6;
  --white:#fff;
  --shadow:0 20px 50px rgba(51,29,20,.11);
  --radius:28px;
  --font:"Jost","Avenir Next","Century Gothic","Segoe UI",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  font-family:var(--font);
  color:var(--dark);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
}
body.admin-bar .cdg-header{top:32px}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.section{padding:100px 0}
.eyebrow{
  display:inline-block;
  margin-bottom:16px;
  color:var(--gold-dark);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
h1,h2,h3{font-size:22px;font-weight:600;line-height:1.25}
h1{font-size:clamp(42px,4.7vw,64px);font-weight:600;line-height:1.08;letter-spacing:-.03em}
h2{font-size:clamp(34px,3.7vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.025em}
h3{font-size:27px;font-weight:650}
p{margin:0 0 20px}
.lead{font-size:17px;line-height:1.7;color:var(--text)}
.section-head{max-width:760px;margin:0 auto 52px;text-align:center}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:13px 24px;
  border:1px solid var(--gold);
  border-radius:999px;
  background:var(--gold);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.btn:hover,.btn:focus-visible{
  transform:translateY(-2px);
  background:var(--gold-dark);
  border-color:var(--gold-dark);
}
.btn-outline{background:transparent;color:var(--gold-dark)}
.btn-outline:hover,.btn-outline:focus-visible{color:#fff}

/* HEADER */
.cdg-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,253,249,.96);
  border-bottom:1px solid rgba(194,138,58,.13);
  box-shadow:0 3px 18px rgba(31,19,15,.03);
}
@media (min-width:981px){
  .cdg-header{backdrop-filter:blur(8px)}
}
.header-inner{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  transition:min-height .25s ease;
}
.cdg-header.scrolled .header-inner{min-height:72px}
.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}
.brand-mark{
  width:54px;
  height:62px;
  display:grid;
  place-items:center;
  transition:width .25s ease,height .25s ease;
}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.cdg-header.scrolled .brand-mark{width:45px;height:52px}
.brand-name{
  display:block;
  font-size:24px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.02em;
}
.brand-sub{
  display:block;
  margin-top:5px;
  color:var(--gold-dark);
  font-size:8px;
  font-weight:700;
  letter-spacing:.27em;
  text-transform:uppercase;
}
.cdg-nav{display:flex;align-items:center;gap:24px}
.cdg-nav > a:not(.btn){
  position:relative;
  padding:10px 0;
  font-size:16px;
  font-weight:600;
}
.cdg-nav > a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  border-radius:999px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.cdg-nav > a:not(.btn):hover::after,
.cdg-nav > a:not(.btn):focus-visible::after{transform:scaleX(1)}
.menu-btn{
  display:none;
  border:0;
  background:transparent;
  color:var(--dark);
  font-size:27px;
  line-height:1;
  padding:8px;
  cursor:pointer;
}
.header-social{display:flex;align-items:center;gap:7px;margin-left:3px}
.header-social a{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#555;
  border-radius:50%;
  transition:color .22s ease,transform .22s ease,background .22s ease;
}
.header-social a:hover,.header-social a:focus-visible{
  color:var(--gold-dark);
  transform:translateY(-2px);
  background:rgba(194,138,58,.08);
}
.header-social svg{width:20px;height:20px;fill:currentColor}
.header-cta{margin-left:3px;white-space:nowrap}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  padding:70px 0 82px;
  background:
    radial-gradient(circle at 5% 20%,rgba(194,138,58,.12),transparent 28%),
    linear-gradient(135deg,#fffdf9 0%,#f3e9da 100%);
}
.hero:before{
  content:"";
  position:absolute;
  width:380px;height:380px;
  left:-190px;top:120px;
  border:1px solid rgba(194,138,58,.18);
  border-radius:46% 54% 64% 36%;
}
.hero-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:60px;align-items:center}
.hero-copy{position:relative;z-index:2}
.hero-copy .lead{max-width:560px;font-size:19px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero-media{position:relative}
.hero-frame{
  position:absolute;right:-20px;top:-26px;width:88%;height:94%;
  border:2px solid var(--gold);border-radius:68px 18px 68px 18px;
}
.hero-media img{
  position:relative;z-index:2;width:100%;height:600px;object-fit:cover;
  border-radius:68px 18px 68px 18px;box-shadow:var(--shadow);
}
.channel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}
.channel{padding:18px 14px;border:1px solid rgba(194,138,58,.24);border-radius:16px;background:rgba(255,255,255,.58);text-align:center;font-size:14px;font-weight:600}
.channel span{display:block;font-size:32px;line-height:1;margin-bottom:8px}

/* GENERIC TWO-COLUMN */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center}
.media-card img{
  width:100%;min-height:520px;object-fit:cover;
  border-radius:var(--radius);box-shadow:var(--shadow)
}
.about{background:var(--paper)}
.culture{background:var(--cream)}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.mini{padding:22px;border-left:1px solid var(--line)}
.mini:first-child{border-left:0}
.mini .icon{font-size:29px;color:var(--gold);margin-bottom:13px}
.mini h3{font-size:23px}
.mini p{font-size:14px;color:var(--text)}

/* SOLUTIONS */
.solutions{background:var(--paper)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{
  overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;
  box-shadow:0 16px 40px rgba(62,34,24,.065);
  transition:transform .28s ease,box-shadow .28s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card img{width:100%;height:260px;object-fit:cover}
.card-body{padding:27px}
.card-body p{color:var(--text)}
.card-link{color:var(--gold-dark);font-weight:700}

/* OFFER */
.offer-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px;align-items:start}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{display:flex;gap:12px;margin-bottom:15px;color:var(--text)}
.checklist li:before{content:"✓";color:var(--gold);font-weight:800}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product{
  padding:14px;border:1px solid var(--line);border-radius:22px;background:#fff;text-align:center
}
.product img{width:100%;height:215px;object-fit:cover;border-radius:15px}
.product h3{margin-top:17px;font-size:23px}
.product p{font-size:13px;color:var(--text)}

/* COFFEE */
.coffee{background:var(--coffee);color:#fff}
.coffee .lead{color:rgba(255,255,255,.72)}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.badge{padding:9px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;font-size:12px;font-weight:700}

/* PROCESS */
.process{background:var(--cream)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.step-num{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;
  background:var(--dark);color:#fff;font-weight:700
}
.step:last-child .step-num{background:var(--gold)}
.step h3{margin-top:17px;font-size:17px;letter-spacing:0}
.step p{font-size:13px;color:var(--text)}

/* NUMBERS */
.numbers{padding:55px 0;background:var(--gold);color:#fff}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.number strong{display:block;font-size:48px;font-weight:700}
.number span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* TESTIMONIAL */
.testimonial{background:var(--paper)}
.quote{
  max-width:900px;margin:auto;padding:43px;border:1px solid var(--line);
  border-radius:28px;background:linear-gradient(135deg,#fff,#f7efe3);
  text-align:center;box-shadow:0 16px 40px rgba(62,34,24,.065)
}
.quote p{font-size:34px;line-height:1.25;font-weight:600}
.quote small{color:var(--gold-dark);font-weight:700}

/* CONTACT */
.contact{background:var(--dark);color:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.contact .lead{color:rgba(255,255,255,.7)}
.contact-list{margin-top:30px}
.contact-row{display:flex;gap:14px;align-items:center;margin-bottom:15px}
.contact-icon{
  width:44px;height:44px;border:1px solid rgba(255,255,255,.15);
  border-radius:50%;display:grid;place-items:center;color:var(--gold);flex:0 0 44px
}
.cdg-contact-form{
  position:relative;
  padding:34px;border-radius:28px;background:var(--paper);
  color:var(--dark);box-shadow:var(--shadow)
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cdg-contact-form label{display:block;margin-bottom:16px;font-size:12px;font-weight:700}
.cdg-contact-form input,
.cdg-contact-form select,
.cdg-contact-form textarea{
  width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--line);
  border-radius:12px;background:#fff;color:var(--dark);outline:none
}
.cdg-contact-form input:focus,
.cdg-contact-form select:focus,
.cdg-contact-form textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,138,58,.12)
}
.privacy{display:flex!important;gap:10px;align-items:flex-start;color:var(--text);font-size:11px!important}
.privacy input{width:auto!important;margin-top:4px!important}
.cdg-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cf-turnstile{margin:8px 0 12px;min-height:65px}
.form-status{margin-top:14px;min-height:22px;font-size:13px;font-weight:700}
.form-status.success{color:#287a45}
.form-status.error{color:#b42318}
.cdg-contact-form button:disabled{opacity:.65;cursor:not-allowed}

/* INTERNAL PAGES */
.page-content{padding:95px 0;min-height:60vh;background:var(--paper)}
.page-content article{max-width:900px;margin:0 auto}
.page-content article h1{margin-bottom:32px}
.page-content article h2{font-size:32px;margin-top:38px;margin-bottom:14px}
.page-content article h3{font-size:24px;margin-top:26px;margin-bottom:10px}
.page-content article p,.page-content article li{line-height:1.78;color:var(--text)}
.page-content article ul,.page-content article ol{padding-left:23px}

/* FOOTER */
.cdg-footer{padding:58px 0 26px;background:#160c09;color:rgba(255,255,255,.68)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px}
.cdg-footer h4{color:#fff;margin:0 0 14px}
.cdg-footer ul{list-style:none;padding:0;margin:0}
.cdg-footer li{margin-bottom:9px;font-size:13px}
.footer-social{display:flex;gap:8px;margin-top:18px}
.footer-social a{
  width:38px;height:38px;display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.14);border-radius:50%;
  transition:background .2s ease,color .2s ease
}
.footer-social a:hover{background:var(--gold);color:#fff}
.footer-social svg{width:18px;height:18px;fill:currentColor}
.footer-bottom{
  display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:23px;
  border-top:1px solid rgba(255,255,255,.1);font-size:11px
}
.footer-legal{display:flex;gap:14px;flex-wrap:wrap}
.footer-legal a:hover{color:#fff}

/* REVEAL */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width:980px){
  body.admin-bar .cdg-header{top:46px}
  .menu-btn{display:block}
  .header-inner{position:relative}
  .cdg-nav{
    position:absolute;
    left:0;right:0;top:88px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:18px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:0 0 18px 18px;
    box-shadow:0 18px 35px rgba(31,19,15,.12)
  }
  .cdg-nav.open{display:flex}
  .cdg-nav > a:not(.btn){padding:12px 8px}
  .header-social{justify-content:center;margin:10px 0}
  .header-cta{margin:8px 0 0;width:100%}
  .hero-grid,.two-col,.offer-wrap,.contact-grid{grid-template-columns:1fr}
  .hero-media img{height:480px}
  .cards{grid-template-columns:1fr}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:680px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:74px 0}
  .brand-name{font-size:20px}
  .brand-sub{font-size:7px}
  .brand-mark{width:44px;height:50px}
  .hero{padding-top:48px}
  .hero-media img{height:390px;border-radius:44px 14px}
  .hero-frame{border-radius:44px 14px;right:-8px}
  .channel-row,.mini-grid,.product-grid,.steps,.numbers-grid,.footer-grid{grid-template-columns:1fr 1fr}
  .mini{border-left:0;border-top:1px solid var(--line)}
  .form-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .reveal{transform:translateY(8px);transition-duration:.35s}
}

@media (max-width:460px){
  .channel-row,.product-grid,.steps,.numbers-grid,.footer-grid{grid-template-columns:1fr}
  .cdg-contact-form{padding:24px 18px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}


/* =========================================================
   MAQUINARIA — TEMA C
========================================================= */

.machines-section{
  position:relative;
  overflow:hidden;
  background:#151311;
  color:#fff;
}

.machines-section::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-300px;
  top:-260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(194,138,58,.14),transparent 67%);
  pointer-events:none;
}

.machines-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:88px;
  align-items:center;
}

.machines-copy{
  position:relative;
  z-index:2;
}

.machines-section .eyebrow{
  color:var(--gold);
}

.machines-section h2{
  color:#fff;
  max-width:720px;
}

.machines-section .lead{
  color:rgba(255,255,255,.68);
  max-width:680px;
}

.machine-features{
  margin-top:40px;
  border-top:1px solid rgba(255,255,255,.12);
}

.machine-feature{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.machine-feature-number{
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
}

.machine-feature h3{
  margin:0 0 7px;
  color:#fff;
  font-size:19px;
  letter-spacing:-.01em;
}

.machine-feature p{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:14px;
  line-height:1.65;
}

.machine-cta{
  margin-top:34px;
}

.machines-visual{
  position:relative;
}

.machine-image-frame{
  position:relative;
  padding:55px 34px 28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:38px;
  background:linear-gradient(145deg,#211e1a,#0f0e0d);
  box-shadow:0 35px 80px rgba(0,0,0,.35);
}

.machine-brand-small{
  position:absolute;
  top:25px;
  left:0;
  right:0;
  text-align:center;
  color:var(--gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:.28em;
}

.machine-image-frame img{
  position:relative;
  width:100%;
  height:610px;
  object-fit:cover;
  object-position:center;
  border-radius:24px;
  z-index:2;
}

.machine-circle{
  position:absolute;
  right:22px;
  bottom:24px;
  z-index:3;
  width:128px;
  height:128px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  border-radius:50%;
  background:var(--gold);
  color:#fff;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  transform:rotate(-6deg);
  box-shadow:0 15px 35px rgba(0,0,0,.22);
}

.why-closing{
  margin-top:50px;
  text-align:center;
  font-size:clamp(21px,2.6vw,30px);
  font-weight:700;
  color:var(--dark);
  letter-spacing:-.02em;
}

@media (max-width:980px){
  .machines-grid{
    grid-template-columns:1fr;
    gap:55px;
  }

  .machines-visual{
    max-width:620px;
    width:100%;
    margin:0 auto;
  }

  .machine-image-frame img{
    height:560px;
  }
}

@media (max-width:600px){
  .machine-image-frame{
    padding:50px 18px 18px;
    border-radius:26px;
  }

  .machine-image-frame img{
    height:470px;
    border-radius:19px;
  }

  .machine-circle{
    width:105px;
    height:105px;
    right:14px;
    bottom:16px;
    font-size:12px;
  }

  .machine-feature{
    grid-template-columns:40px 1fr;
    gap:13px;
  }
}
\n\n/* TEMA C v2 — tipografia tablet più equilibrata */\n@media (min-width: 601px) and (max-width: 1100px){\n  h1{font-size:clamp(42px,5.3vw,60px) !important;}\n  h2{font-size:clamp(32px,4.2vw,46px) !important;}\n  h3{font-size:clamp(20px,2.4vw,26px) !important;}\n  .hero h1{font-size:clamp(44px,5.5vw,62px) !important;}\n  .section-head h2,\n  .machines-section h2{font-size:clamp(32px,4.1vw,45px) !important;}\n  .lead{font-size:17px !important;}\n}\n\n@media (max-width:600px){\n  h1{font-size:clamp(38px,11vw,48px) !important;}\n  h2{font-size:clamp(30px,8.5vw,39px) !important;}\n  .hero h1{font-size:clamp(39px,11vw,49px) !important;}\n  .lead{font-size:16px !important;}\n}\n

/* =========================================================
   C NUOVO — TYPOGRAPHY & RESPONSIVE
========================================================= */

@media (min-width:681px) and (max-width:1100px){
  h1{font-size:44px!important}
  h2{font-size:36px!important}
  h3{font-size:20px!important}
  .lead{font-size:16px!important}
  .channel span{font-size:30px}
}

@media (max-width:680px){
  h1{font-size:36px!important;line-height:1.1}
  h2{font-size:31px!important}
  h3{font-size:19px!important}
  .lead{font-size:16px!important}
  .channel span{font-size:28px}
  .channel{font-size:13px}
}

/* =========================================================
   POR QUÉ ELEGIRNOS — DYNAMIC 360 LAYOUT
========================================================= */

.why-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f5efe7 0%,#fbf8f3 100%);
}

.why-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:90px;
  align-items:start;
}

.why-head{
  position:sticky;
  top:120px;
  max-width:470px;
}

.why-head h2{
  margin-bottom:20px;
}

.why-head .lead{
  max-width:430px;
}

.why-list{
  position:relative;
  padding-left:58px;
}

.why-list::before{
  content:"";
  position:absolute;
  left:18px;
  top:14px;
  bottom:14px;
  width:1px;
  background:linear-gradient(to bottom,transparent,var(--gold),var(--gold),transparent);
}

.why-item{
  position:relative;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  padding:0 0 42px;
}

.why-item:last-child{
  padding-bottom:0;
}

.why-number{
  position:relative;
  z-index:2;
  width:38px;
  height:38px;
  margin-left:-58px;
  display:grid;
  place-items:center;
  border:1px solid var(--gold);
  border-radius:50%;
  background:var(--paper);
  color:var(--gold-dark);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}

.why-copy{
  padding-top:2px;
}

.why-copy h3{
  margin:0 0 8px;
  color:var(--dark);
  font-size:21px;
}

.why-copy p{
  margin:0;
  max-width:560px;
  color:var(--text);
  font-size:14px;
  line-height:1.7;
}

@media (min-width:1101px){
  .why-item:nth-child(even){
    transform:translateX(34px);
  }
}

@media (max-width:980px){
  .why-grid{
    grid-template-columns:1fr;
    gap:50px;
  }

  .why-head{
    position:relative;
    top:auto;
    max-width:700px;
  }

  .why-list{
    padding-left:54px;
  }
}

@media (max-width:680px){
  .why-head{
    text-align:center;
    margin:0 auto 10px;
  }

  .why-head .lead{
    margin-left:auto;
    margin-right:auto;
  }

  .why-list{
    padding-left:0;
    max-width:360px;
    margin:0 auto;
  }

  .why-list::before{
    left:50%;
    transform:translateX(-50%);
    top:20px;
    bottom:20px;
  }

  .why-item{
    display:block;
    text-align:center;
    padding:0 0 46px;
  }

  .why-number{
    margin:0 auto 15px;
    background:#f8f3eb;
  }

  .why-copy{
    position:relative;
    z-index:2;
    padding:0 8px;
    background:linear-gradient(
      to right,
      transparent 0%,
      #f8f3eb 15%,
      #f8f3eb 85%,
      transparent 100%
    );
  }

  .why-copy h3{
    font-size:19px!important;
  }

  .why-copy p{
    max-width:320px;
    margin:0 auto;
    text-align:center;
  }
}

/* 6 solution cards */
.cards.cards-six{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:980px){
  .cards.cards-six{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .cards.cards-six{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   HEADER MODERN — C v3.3
========================================================= */

.cdg-header{
  position:sticky;
  top:0;
  z-index:1000;
  padding:12px 0;
  background:transparent;
  border:0;
  box-shadow:none;
  transition:padding .25s ease;
}

.cdg-header.scrolled{
  padding:8px 0;
  background:transparent;
  box-shadow:none;
}

.header-shell{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:10px 14px 10px 18px;
  border:1px solid rgba(106,59,36,.10);
  border-radius:22px;
  background:rgba(255,253,249,.90);
  box-shadow:0 12px 34px rgba(47,28,26,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:
    min-height .25s ease,
    border-radius .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

.cdg-header.scrolled .header-shell{
  min-height:64px;
  border-radius:18px;
  background:rgba(255,253,249,.96);
  box-shadow:0 10px 28px rgba(47,28,26,.11);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.brand-mark{
  width:48px;
  height:54px;
  display:grid;
  place-items:center;
  transition:width .25s ease,height .25s ease;
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.cdg-header.scrolled .brand-mark{
  width:42px;
  height:48px;
}

.brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.brand-name{
  display:block;
  font-size:22px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  color:var(--dark);
  white-space:nowrap;
}

.brand-sub{
  display:block;
  margin-top:5px;
  color:var(--gold-dark);
  font-size:7px;
  font-weight:600;
  letter-spacing:.26em;
  text-transform:uppercase;
  white-space:nowrap;
}

.cdg-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  flex:1 1 auto;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
}

.nav-links > a{
  position:relative;
  padding:10px 0;
  font-size:15px;
  font-weight:500;
  color:var(--dark);
  white-space:nowrap;
  transition:color .22s ease;
}

.nav-links > a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:0;
  height:1.5px;
  background:var(--gold);
  transform:translateX(-50%);
  transition:width .24s ease;
}

.nav-links > a:hover,
.nav-links > a:focus-visible{
  color:var(--gold-dark);
}

.nav-links > a:hover::after,
.nav-links > a:focus-visible::after{
  width:100%;
}

.header-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

.header-social{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0;
}

.header-social a{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(106,59,36,.11);
  border-radius:50%;
  background:rgba(255,255,255,.58);
  color:#5b514c;
  transition:
    transform .22s ease,
    color .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.header-social a:hover,
.header-social a:focus-visible{
  transform:translateY(-2px);
  color:var(--gold-dark);
  border-color:rgba(197,142,61,.42);
  background:#fff;
}

.header-social svg{
  width:17px;
  height:17px;
  fill:currentColor;
}

.header-cta{
  min-height:44px;
  padding:10px 18px;
  border-radius:14px;
  gap:8px;
  white-space:nowrap;
  box-shadow:none;
}

.header-cta .cta-arrow{
  display:inline-block;
  transition:transform .22s ease;
}

.header-cta:hover .cta-arrow{
  transform:translateX(3px);
}

/* hamburger minimal, non emoji */
.menu-btn{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(106,59,36,.12);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}

.menu-icon-line{
  display:block;
  width:18px;
  height:1.5px;
  background:var(--dark);
  transition:transform .24s ease,opacity .24s ease;
}

.menu-btn[aria-expanded="true"] .menu-icon-line:first-child{
  transform:translateY(3.75px) rotate(45deg);
}

.menu-btn[aria-expanded="true"] .menu-icon-line:last-child{
  transform:translateY(-3.75px) rotate(-45deg);
}

/* TABLET / MOBILE */
@media (max-width:1050px){

  .cdg-header{
    padding:8px 0;
  }

  .header-shell{
    min-height:68px;
    padding:8px 10px 8px 14px;
    border-radius:18px;
  }

  .menu-btn{
    display:flex;
    position:relative;
    z-index:1003;
  }

  .cdg-nav{
    position:absolute;
    top:calc(100% + 8px);
    left:18px;
    right:18px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
    padding:20px;
    border:1px solid rgba(106,59,36,.12);
    border-radius:18px;
    background:rgba(255,253,249,.98);
    box-shadow:0 18px 42px rgba(47,28,26,.14);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }

  .cdg-nav.open{
    display:flex;
  }

  .nav-links{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
  }

  .nav-links > a{
    width:100%;
    padding:12px 4px;
    font-size:16px;
    border-bottom:1px solid rgba(106,59,36,.08);
  }

  .nav-links > a:last-child{
    border-bottom:0;
  }

  .nav-links > a::after{
    display:none;
  }

  .header-actions{
    width:100%;
    justify-content:space-between;
    gap:14px;
    padding-top:2px;
  }

  .header-social{
    gap:8px;
  }

  .header-social a{
    width:42px;
    height:42px;
  }

  .header-cta{
    flex:1 1 auto;
    min-height:46px;
  }
}

@media (max-width:680px){

  .container{
    width:calc(100% - 24px);
  }

  .header-shell{
    min-height:64px;
    padding:7px 8px 7px 12px;
    border-radius:16px;
  }

  .brand{
    gap:9px;
  }

  .brand-mark{
    width:39px;
    height:44px;
  }

  .cdg-header.scrolled .brand-mark{
    width:37px;
    height:42px;
  }

  .brand-name{
    font-size:17px;
  }

  .brand-sub{
    margin-top:4px;
    font-size:5.8px;
    letter-spacing:.20em;
  }

  .menu-btn{
    width:40px;
    height:40px;
  }

  .cdg-nav{
    left:12px;
    right:12px;
    top:calc(100% + 6px);
    padding:18px;
    border-radius:16px;
  }

  .header-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .header-social{
    justify-content:center;
  }

  .header-cta{
    width:100%;
  }
}

@media (max-width:390px){
  .brand-name{
    font-size:15.5px;
  }

  .brand-sub{
    font-size:5.2px;
  }

  .brand-mark{
    width:36px;
    height:41px;
  }
}
