:root{
  --color-primary:#4B3A8E;
  --color-secondary:#E38B4F;
  --color-accent:#2F9C8F;
  --color-ink:#2A2438;
  --color-base:#FBF8F4;

  --color-primary-100: color-mix(in oklch, var(--color-primary), white 88%);
  --color-primary-200: color-mix(in oklch, var(--color-primary), white 70%);
  --color-primary-300: color-mix(in oklch, var(--color-primary), white 45%);
  --color-primary-500: var(--color-primary);
  --color-primary-600: color-mix(in oklch, var(--color-primary), black 12%);
  --color-primary-700: color-mix(in oklch, var(--color-primary), black 25%);

  --color-secondary-100: color-mix(in oklch, var(--color-secondary), white 82%);
  --color-secondary-300: color-mix(in oklch, var(--color-secondary), white 40%);
  --color-secondary-600: color-mix(in oklch, var(--color-secondary), black 15%);

  --color-accent-100: color-mix(in oklch, var(--color-accent), white 85%);
  --color-accent-300: color-mix(in oklch, var(--color-accent), white 45%);
  --color-accent-600: color-mix(in oklch, var(--color-accent), black 15%);

  --surface: var(--color-base);
  --surface-raised: color-mix(in oklch, var(--color-base), white 60%);
  --surface-inset: color-mix(in oklch, var(--color-base), black 4%);
  --surface-dark: color-mix(in oklch, var(--color-ink), black 8%);

  --ink-900: var(--color-ink);
  --ink-700: color-mix(in oklch, var(--color-ink), white 15%);
  --ink-500: color-mix(in oklch, var(--color-ink), white 35%);
  --ink-300: color-mix(in oklch, var(--color-ink), white 60%);

  --border-soft: color-mix(in oklch, var(--color-ink), white 86%);
  --border-strong: color-mix(in oklch, var(--color-ink), white 70%);

  --shadow-sm: 0 1px 2px color-mix(in oklch, var(--color-ink), transparent 90%), 0 1px 1px color-mix(in oklch, var(--color-ink), transparent 94%);
  --shadow-md: 0 12px 28px color-mix(in oklch, var(--color-ink), transparent 88%), 0 2px 8px color-mix(in oklch, var(--color-ink), transparent 92%);
  --shadow-lg: 0 28px 70px color-mix(in oklch, var(--color-ink), transparent 85%), 0 10px 24px color-mix(in oklch, var(--color-ink), transparent 90%);

  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:42px;
  --radius-full:999px;

  --space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4.5rem;--space-7:6rem;--space-8:8rem;

  --ease-out: cubic-bezier(.16,1,.3,1);
  --ease-in: cubic-bezier(.7,0,.84,0);
  --transition: .35s var(--ease-out);

  --font-body: 'Figtree', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--surface);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-0.01em;}
p{margin:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.text-display{font-size:clamp(2.6rem,5vw + 1rem,4.6rem);line-height:1.06;font-weight:800;color:var(--ink-900);}
.text-display-sm{font-size:clamp(2.1rem,4vw + 1rem,3.2rem);line-height:1.1;font-weight:800;color:var(--ink-900);}
.text-headline{font-size:clamp(1.7rem,2.6vw + 1rem,2.5rem);line-height:1.18;font-weight:700;color:var(--ink-900);}
.text-headline-sm{font-size:clamp(1.4rem,1.8vw + 1rem,1.9rem);line-height:1.2;font-weight:700;color:var(--ink-900);}
.text-body{font-size:1.03rem;line-height:1.75;color:var(--ink-700);}
.text-caption{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-600);}

.surface-wrap{max-width:1220px;margin:0 auto;padding:0 var(--space-4);position:relative;z-index:1;}
.space-section{padding:var(--space-7) 0;position:relative;overflow:hidden;}
.space-section-sm{padding:var(--space-5) 0;position:relative;overflow:hidden;}
.surface-inset{background:var(--surface-inset);}


.chroma-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.chroma-field span{position:absolute;border-radius:50%;filter:blur(110px);opacity:.65;transition:transform 1.2s var(--ease-out);}
.chroma-field span:nth-child(1){width:52vw;height:52vw;max-width:640px;max-height:640px;top:-18%;left:-12%;}
.chroma-field span:nth-child(2){width:42vw;height:42vw;max-width:520px;max-height:520px;bottom:-22%;right:-10%;}
.chroma-field span:nth-child(3){width:28vw;height:28vw;max-width:360px;max-height:360px;top:38%;left:58%;}

.chroma-field--violet span:nth-child(1){background:radial-gradient(circle, var(--color-primary-300), transparent 70%);}
.chroma-field--violet span:nth-child(2){background:radial-gradient(circle, var(--color-secondary-300), transparent 70%);}
.chroma-field--violet span:nth-child(3){background:radial-gradient(circle, var(--color-accent-300), transparent 70%);}

.chroma-field--warm span:nth-child(1){background:radial-gradient(circle, var(--color-secondary-300), transparent 70%);}
.chroma-field--warm span:nth-child(2){background:radial-gradient(circle, var(--color-accent-300), transparent 70%);}
.chroma-field--warm span:nth-child(3){background:radial-gradient(circle, var(--color-primary-300), transparent 70%);}

.chroma-field--teal span:nth-child(1){background:radial-gradient(circle, var(--color-accent-300), transparent 70%);}
.chroma-field--teal span:nth-child(2){background:radial-gradient(circle, var(--color-primary-300), transparent 70%);}
.chroma-field--teal span:nth-child(3){background:radial-gradient(circle, var(--color-secondary-300), transparent 70%);}


.site-header{position:sticky;top:0;z-index:100;background:color-mix(in oklch, var(--surface), transparent 8%);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);transition:padding .35s var(--ease-out), background .35s var(--ease-out);}
.nav-main{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);gap:var(--space-3);transition:padding .35s var(--ease-out);}
.site-header.is-compact{background:color-mix(in oklch, var(--surface), transparent 2%);box-shadow:var(--shadow-sm);}
.site-header.is-compact .nav-main{padding:var(--space-2) var(--space-4);}
.site-header.is-compact .nav-logo img{transform:scale(.82);}
.nav-logo img{height:40px;width:auto;transition:transform .35s var(--ease-out);}
.nav-links{display:flex;gap:var(--space-4);align-items:center;}
.nav-links a{font-weight:600;font-size:.96rem;color:var(--ink-700);position:relative;padding:.3rem 0;transition:color .25s var(--ease-out);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--color-secondary);transition:width .3s var(--ease-out);}
.nav-links a:hover,.nav-links a.is-active{color:var(--color-primary-700);}
.nav-links a:hover::after,.nav-links a.is-active::after{width:100%;}
.nav-cta{white-space:nowrap;}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;}
.nav-toggle span{width:24px;height:2px;background:var(--ink-900);border-radius:2px;transition:transform .3s var(--ease-out),opacity .3s var(--ease-out);}


.action-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-primary);color:#fff;padding:.85rem 1.6rem;border-radius:var(--radius-full);font-weight:600;font-size:.96rem;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out),background .3s var(--ease-out);min-height:44px;}
.action-primary:hover{background:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.action-ghost{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--color-primary-700);padding:.85rem 1.5rem;border-radius:var(--radius-full);font-weight:600;font-size:.96rem;border:1.5px solid var(--border-strong);transition:border-color .3s var(--ease-out),color .3s var(--ease-out),transform .3s var(--ease-out);min-height:44px;}
.action-ghost:hover{border-color:var(--color-primary);color:var(--color-primary-700);transform:translateY(-2px);}


.mobile-menu{position:fixed;inset:0;z-index:200;background:linear-gradient(150deg, var(--color-primary-700), var(--color-primary) 55%, var(--color-accent-600));display:flex;flex-direction:column;padding:var(--space-4);opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out),visibility .4s;}
.mobile-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2);}
.mobile-menu-logo{height:34px;filter:brightness(0) invert(1);}
.mobile-menu-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.3rem;border-radius:50%;transition:background .25s var(--ease-out);}
.mobile-menu-close:hover{background:rgba(255,255,255,.15);}
.mobile-menu-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-content:center;padding:var(--space-4);}
.mobile-menu-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;color:#fff;background:rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-2);font-weight:600;text-align:center;min-height:120px;transition:background .3s var(--ease-out),transform .3s var(--ease-out);}
.mobile-menu-grid a i{font-size:1.6rem;}
.mobile-menu-grid a:hover{background:rgba(255,255,255,.18);transform:translateY(-3px);}
body.no-scroll{overflow:hidden;}


.hero{padding-top:var(--space-6);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-6);align-items:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:var(--space-2);}
.hero-lead{max-width:52ch;margin-top:var(--space-3);}
.hero-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4);}
.hero-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4);}
.hero-tags li{font-size:.82rem;font-weight:600;color:var(--color-accent-600);background:var(--color-accent-100);padding:.4rem 1rem;border-radius:var(--radius-full);}
.hero-media img{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);object-fit:cover;aspect-ratio:4/5;width:100%;}

.page-hero{padding-top:var(--space-5);}
.breadcrumb{margin-bottom:var(--space-3);}
.breadcrumb ol{display:flex;gap:.4rem;font-size:.85rem;color:var(--ink-500);}
.breadcrumb a{color:var(--color-primary-600);font-weight:600;}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--ink-300);}


.section-heading{max-width:640px;margin-bottom:var(--space-5);}
.section-heading h2{margin-top:var(--space-2);}
.section-heading p{margin-top:var(--space-2);}


.recognize-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-top:var(--space-5);}
.recognize-grid li{background:var(--surface-raised);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);}
.recognize-grid li:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.recognize-grid li i{font-size:1.6rem;color:var(--color-secondary-600);margin-bottom:var(--space-2);display:block;}
.recognize-grid li p{color:var(--ink-700);font-size:.96rem;}


.zigzag-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center;}
.zigzag-block--reverse .zigzag-inner{direction:rtl;}
.zigzag-block--reverse .zigzag-inner > *{direction:ltr;}
.zigzag-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;object-fit:cover;aspect-ratio:5/4;}
.zigzag-copy p+p{margin-top:var(--space-2);}
.zigzag-copy .text-headline{margin-top:var(--space-2);margin-bottom:var(--space-2);}

.step-list{margin-top:var(--space-4);display:grid;gap:var(--space-3);}
.step-item{background:var(--surface-raised);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-left:3px solid var(--color-accent);box-shadow:var(--shadow-sm);}
.step-item dt{font-weight:700;color:var(--color-primary-700);margin-bottom:.3rem;}
.step-item dd{margin:0;color:var(--ink-700);font-size:.95rem;}


.checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-5);margin-top:var(--space-4);}
.checklist-grid li{display:flex;align-items:flex-start;gap:.8rem;background:var(--surface-raised);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out);}
.checklist-grid li:hover{transform:translateX(4px);}
.checklist-grid li i{color:#fff;background:var(--color-accent);width:26px;height:26px;min-width:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;margin-top:.15rem;}
.checklist-grid--questions li i{background:var(--color-secondary);}
.checklist-note{margin-top:var(--space-4);font-style:italic;color:var(--ink-500);}


.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);}
.gallery-item{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:3/4;position:relative;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.gallery-item:hover img{transform:scale(1.08);}


.cta-banner-inner{text-align:center;max-width:720px;margin:0 auto;}
.cta-banner-inner .hero-actions{justify-content:center;}
.cta-banner-inner .text-headline{margin-bottom:var(--space-2);}
.cta-banner-inner p{margin-bottom:var(--space-3);}


.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);}
.topic-card{background:var(--surface-raised);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
.topic-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.topic-card i{font-size:1.5rem;color:var(--color-primary-600);margin-bottom:var(--space-2);display:block;}
.topic-card h3{margin-bottom:var(--space-2);font-size:1.1rem;}
.topic-card dl dt{font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent-600);margin-top:var(--space-2);}
.topic-card dl dt:first-child{margin-top:0;}
.topic-card dl dd{margin:.3rem 0 0;color:var(--ink-700);font-size:.9rem;}


.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);}
.team-card{background:var(--surface-raised);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.team-card figure img{aspect-ratio:4/5;object-fit:cover;width:100%;}
.team-card h3{padding:var(--space-3) var(--space-3) 0;font-size:1.15rem;}
.team-card dl{padding:var(--space-2) var(--space-3) var(--space-3);}
.team-card dt{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-600);margin-top:var(--space-2);}
.team-card dt:first-child{margin-top:0;}
.team-card dd{margin:.25rem 0 0;font-size:.92rem;color:var(--ink-700);}


.faq-list{display:grid;gap:var(--space-2);max-width:820px;}
.faq-item{background:var(--surface-raised);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);font-weight:600;text-align:left;font-size:1rem;min-height:44px;}
.faq-question i{transition:transform .3s var(--ease-out);color:var(--color-primary-600);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out),padding .4s var(--ease-out);padding:0 var(--space-4);}
.faq-answer p{padding-bottom:var(--space-3);color:var(--ink-700);}
.faq-item:has(.faq-answer.is-open) .faq-question i{transform:rotate(180deg);}
.faq-answer.is-open{max-height:300px;}


.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:stretch;}
.contact-map{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);min-height:420px;}
.contact-form-wrap form{background:var(--surface-raised);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);}
.contact-form-wrap fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);}
.contact-form-wrap legend{font-weight:700;color:var(--color-primary-700);margin-bottom:var(--space-1);padding:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;}
.contact-form-wrap label{font-weight:600;font-size:.9rem;color:var(--ink-700);}
.contact-form-wrap input[type="text"],.contact-form-wrap input[type="email"],.contact-form-wrap input[type="tel"],.contact-form-wrap textarea{
  width:100%;padding:.8rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--border-soft);background:var(--surface);font-family:inherit;font-size:.96rem;color:var(--ink-900);transition:border-color .3s var(--ease-out),box-shadow .3s var(--ease-out);min-height:44px;
}
.contact-form-wrap textarea{min-height:120px;resize:vertical;}
.contact-form-wrap input:focus,.contact-form-wrap textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);}
.checkbox-label{display:flex;align-items:flex-start;gap:.6rem;font-weight:400;font-size:.88rem;color:var(--ink-700);}
.checkbox-label input{margin-top:.25rem;width:18px;height:18px;min-width:18px;}
.privacy-group{margin-top:var(--space-1);}
.privacy-group legend{margin:0;}

.section-urgent .urgent-inner{display:flex;gap:var(--space-4);align-items:flex-start;background:var(--surface-raised);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-width:820px;}
.urgent-icon{width:56px;height:56px;min-width:56px;border-radius:50%;background:var(--color-secondary-100);color:var(--color-secondary-600);display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.urgent-inner h2{margin-bottom:var(--space-2);}
.urgent-inner .contact-details--inline{margin-top:var(--space-3);display:flex;gap:var(--space-4);flex-wrap:wrap;}
.contact-details--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);}
.contact-details--grid div{display:flex;align-items:center;gap:.7rem;background:var(--surface-raised);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);}
.contact-details--grid i{color:var(--color-primary-600);font-size:1.1rem;}

address.contact-details{font-style:normal;}
.contact-details p{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;color:var(--ink-700);}
.contact-details i{color:var(--color-primary-600);width:16px;}
.contact-details a{transition:color .25s var(--ease-out);}
.contact-details a:hover{color:var(--color-primary-700);}


.thanks-section{min-height:60vh;display:flex;align-items:center;}
.thanks-inner{text-align:center;max-width:560px;margin:0 auto;}
.thanks-icon{font-size:3rem;color:var(--color-accent-600);margin-bottom:var(--space-3);}
.countdown-text{margin:var(--space-3) 0;font-weight:600;color:var(--color-primary-700);}
.thanks-inner .action-primary{margin-top:var(--space-2);}
.hidden-countdown{display:none;}


.legal-layout{max-width:820px;}
.legal-content h2{margin-top:var(--space-5);margin-bottom:var(--space-2);font-size:1.4rem;}
.legal-content h2:first-of-type{margin-top:var(--space-2);}
.legal-content p{margin-top:var(--space-2);}
.term-highlight{color:var(--color-primary-700);border-bottom:1.5px dashed var(--color-primary-300);cursor:help;}
.term-definition{background:var(--surface-raised);border-left:3px solid var(--color-accent);padding:var(--space-3);border-radius:var(--radius-md);margin:var(--space-3) 0;box-shadow:var(--shadow-sm);}
.term-definition p{margin:0;font-size:.92rem;color:var(--ink-700);}
.legal-content small{display:block;margin-top:var(--space-5);color:var(--ink-500);}
.legal-content--clauses h2{border-top:1px solid var(--border-soft);padding-top:var(--space-4);}
.legal-content--clauses h2:first-of-type{border-top:none;padding-top:0;}


.site-footer{background:var(--surface-dark);color:color-mix(in oklch, var(--color-base), transparent 4%);margin-top:var(--space-6);}
.footer-newsletter{background:var(--color-primary-700);color:#fff;}
.footer-newsletter-inner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5) 0;flex-wrap:wrap;}
.footer-newsletter-inner h2{color:#fff;}
.footer-newsletter-inner p{color:color-mix(in oklch,#fff, transparent 15%);margin-top:.4rem;}
.newsletter-form{display:flex;gap:.6rem;flex-wrap:wrap;position:relative;}
.newsletter-form input{padding:.8rem 1.2rem;border-radius:var(--radius-full);border:none;min-width:240px;font-family:inherit;min-height:44px;}
.newsletter-message{width:100%;font-size:.85rem;color:var(--color-secondary-100);margin-top:.4rem;}
.footer-main{padding:var(--space-6) 0 var(--space-4);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--space-5);}
.footer-col h3{color:#fff;font-size:1rem;margin-bottom:var(--space-2);}
.footer-col ul{display:flex;flex-direction:column;gap:.6rem;}
.footer-col a{color:color-mix(in oklch, var(--color-base), transparent 25%);transition:color .25s var(--ease-out);}
.footer-col a:hover{color:var(--color-secondary-100);}
.footer-logo{height:36px;margin-bottom:var(--space-2);filter:brightness(0) invert(1);}
.footer-about p{color:color-mix(in oklch, var(--color-base), transparent 25%);}
.footer-col.footer-about .contact-details p{color:color-mix(in oklch, var(--color-base), transparent 25%);}
.footer-col .contact-details i{color:var(--color-secondary-300);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:var(--space-3) 0 var(--space-4);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);}
.footer-bottom .text-caption{color:color-mix(in oklch, var(--color-base), transparent 30%);text-transform:none;letter-spacing:0;font-weight:500;}
.footer-bottom small{color:color-mix(in oklch, var(--color-base), transparent 45%);}


.consent-overlay{position:fixed;inset:0;background:rgba(20,15,35,.45);backdrop-filter:blur(3px);z-index:300;opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out),visibility .4s;}
.consent-overlay.is-visible{opacity:1;visibility:visible;}
.consent-panel{position:fixed;top:0;right:0;height:100vh;width:min(300px,90vw);background:var(--surface-raised);z-index:301;box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .45s var(--ease-out);display:flex;flex-direction:column;padding:var(--space-4);overflow-y:auto;}
.consent-panel.is-visible{transform:translateX(0);}
.consent-panel-icon{width:44px;height:44px;border-radius:50%;background:var(--color-primary-100);color:var(--color-primary-700);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:var(--space-2);}
.consent-panel h2{font-size:1.15rem;margin-bottom:var(--space-2);}
.consent-panel p{font-size:.85rem;color:var(--ink-700);margin-bottom:var(--space-3);}
.consent-categories{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);}
.consent-category{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--surface-inset);border-radius:var(--radius-md);}
.consent-category-info strong{display:block;font-size:.88rem;}
.consent-category-info span{font-size:.75rem;color:var(--ink-500);}
.switch{position:relative;display:inline-block;width:42px;height:24px;flex:none;}
.switch input{opacity:0;width:0;height:0;}
.switch-track{position:absolute;inset:0;background:var(--border-strong);border-radius:var(--radius-full);transition:background .3s var(--ease-out);cursor:pointer;}
.switch-track::before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .3s var(--ease-out);}
.switch input:checked + .switch-track{background:var(--color-accent);}
.switch input:checked + .switch-track::before{transform:translateX(18px);}
.switch input:disabled + .switch-track{opacity:.5;cursor:not-allowed;}
.consent-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:auto;}
.consent-actions .action-primary,.consent-actions .action-ghost{width:100%;justify-content:center;}


@media (max-width:1024px){
  .hero-grid,.zigzag-inner{grid-template-columns:1fr;}
  .zigzag-block--reverse .zigzag-inner{direction:ltr;}
  .zigzag-media{order:-1;}
  .recognize-grid,.topic-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .checklist-grid{grid-template-columns:1fr;}
  .contact-split{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-details--grid{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .nav-links,.nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-newsletter-inner{flex-direction:column;align-items:flex-start;}
  .team-grid{grid-template-columns:1fr;}
  .recognize-grid,.topic-grid,.gallery-grid{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions a{justify-content:center;}
  .mobile-menu-grid{grid-template-columns:1fr 1fr;}
  .consent-panel{width:88vw;}
}

@media (max-width:480px){
  .surface-wrap{padding:0 var(--space-3);}
  .space-section{padding:var(--space-6) 0;}
  .newsletter-form input{min-width:100%;}
  .newsletter-form{flex-direction:column;align-items:stretch;}
  .newsletter-form button{width:100%;justify-content:center;}
}