
:root{
  --color-primary:#3D2B7A;
  --color-secondary:#146356;
  --color-accent:#FF5B3C;
  --color-ink:#1B1530;
  --color-paper:#FBF8F3;

  --primary-050: color-mix(in oklch, var(--color-primary), white 95%);
  --primary-100: color-mix(in oklch, var(--color-primary), white 88%);
  --primary-200: color-mix(in oklch, var(--color-primary), white 74%);
  --primary-300: color-mix(in oklch, var(--color-primary), white 55%);
  --primary-400: color-mix(in oklch, var(--color-primary), white 30%);
  --primary-500: var(--color-primary);
  --primary-600: color-mix(in oklch, var(--color-primary), black 12%);
  --primary-700: color-mix(in oklch, var(--color-primary), black 28%);

  --secondary-050: color-mix(in oklch, var(--color-secondary), white 95%);
  --secondary-100: color-mix(in oklch, var(--color-secondary), white 85%);
  --secondary-300: color-mix(in oklch, var(--color-secondary), white 55%);
  --secondary-500: var(--color-secondary);
  --secondary-600: color-mix(in oklch, var(--color-secondary), black 15%);

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

  --ink-700: color-mix(in oklch, var(--color-ink), white 20%);
  --ink-500: color-mix(in oklch, var(--color-ink), white 45%);
  --ink-300: color-mix(in oklch, var(--color-ink), white 70%);

  --paper-100: color-mix(in oklch, var(--color-paper), white 40%);
  --paper-200: color-mix(in oklch, var(--color-paper), black 4%);

  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:28px;
  --radius-xl:40px;
  --radius-pill:999px;

  --shadow-sm:0 1px 2px rgba(27,21,48,.06),0 1px 1px rgba(27,21,48,.05);
  --shadow-md:0 10px 24px -6px rgba(27,21,48,.16),0 2px 8px rgba(27,21,48,.08);
  --shadow-lg:0 30px 60px -16px rgba(27,21,48,.30),0 10px 20px -10px rgba(27,21,48,.16);

  --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;

  --font-heading:'Manrope',sans-serif;
  --font-body:'Inter',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-700);
  background:linear-gradient(165deg, var(--color-ink) 0%, var(--primary-600) 45%, var(--secondary-600) 100%);
  background-attachment:fixed;
  line-height:1.6;
  -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{font-family:var(--font-heading);color:var(--color-ink);margin:0;line-height:1.15;}
p{margin:0;}


.text-display{
  font-family:var(--font-heading);
  font-weight:800;
  font-size:clamp(2.6rem, 5.6vw, 4.8rem);
  letter-spacing:-0.02em;
  color:var(--color-paper);
  margin:var(--space-3) 0;
}
.text-display-sm{
  font-family:var(--font-heading);
  font-weight:800;
  font-size:clamp(2.2rem, 4.4vw, 3.4rem);
  letter-spacing:-0.02em;
  margin:var(--space-2) 0;
}
.text-heading{
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  letter-spacing:-0.01em;
  margin-bottom:var(--space-2);
}
.text-heading-sm{
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(1.3rem, 2vw, 1.6rem);
  margin-bottom:var(--space-1);
}
.text-body{font-size:1.02rem;color:var(--ink-500);line-height:1.75;}
.text-caption{
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent-600);
}
.text-on-dark{color:var(--color-paper);}
.text-on-dark-soft{color:color-mix(in oklch, var(--color-paper), transparent 22%);}


main{
  display:flex;
  flex-direction:column;
  gap:var(--space-5);
  max-width:1440px;
  margin:0 auto;
  padding:calc(var(--space-6) + 40px) var(--space-3) var(--space-7);
}
.space-section{padding:var(--space-6) var(--space-4);}
.space-card{padding:var(--space-3);}
.surface{background:var(--color-paper);}
.surface-raised{
  background:var(--color-paper);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  position:relative;
}
.surface-inset{background:var(--primary-050);border-radius:var(--radius-md);}

.section-head{max-width:760px;margin-bottom:var(--space-4);}


.action-primary{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--accent-500);
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.95rem;
  padding:.9rem 1.6rem;
  border-radius:var(--radius-pill);
  box-shadow:var(--shadow-md);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  min-height:44px;
}
.action-primary:hover{
  transform:translateY(-2px);
  background:var(--accent-600);
  box-shadow:var(--shadow-lg);
}
.action-ghost{
  display:inline-flex;align-items:center;gap:.6rem;
  background:transparent;
  border:1.5px solid var(--primary-300);
  color:var(--primary-700);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:.95rem;
  padding:.85rem 1.5rem;
  border-radius:var(--radius-pill);
  transition:all .25s ease;
  min-height:44px;
}
.action-ghost:hover{
  border-color:var(--accent-500);
  color:var(--accent-600);
  background:var(--accent-100);
}


.site-header{
  position:fixed;top:0;left:0;right:0;
  z-index:500;
  padding:var(--space-2) var(--space-3);
  transition:background .35s ease, backdrop-filter .35s ease;
}
.nav-inner{
  max-width:1440px;margin:0 auto;
  display:flex;align-items:center;gap:var(--space-3);
  padding:.6rem 1rem;
  border-radius:var(--radius-pill);
  transition:background .35s ease;
}
.site-header.nav-on-dark .nav-inner{background:color-mix(in oklch, var(--color-ink), transparent 55%);backdrop-filter:blur(10px);}
.site-header.nav-on-light .nav-inner{background:color-mix(in oklch, var(--color-paper), transparent 30%);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);}

.brand{display:flex;align-items:center;gap:.6rem;margin-right:auto;}
.brand-name{font-family:var(--font-heading);font-weight:800;font-size:1.05rem;transition:color .3s ease;}
.site-header.nav-on-dark .brand-name{color:var(--color-paper);}
.site-header.nav-on-light .brand-name{color:var(--color-ink);}

.main-nav{display:flex;}
.nav-list{display:flex;align-items:center;gap:var(--space-3);}
.nav-link{
  font-family:var(--font-heading);font-weight:600;font-size:.92rem;
  display:flex;align-items:center;gap:.35rem;
  padding:.5rem .2rem;
  transition:color .3s ease, opacity .3s ease;
  position:relative;
}
.nav-link::after{
  content:'';position:absolute;left:0;bottom:-2px;height:2px;width:0;
  background:var(--accent-500);transition:width .3s ease;
}
.nav-link:hover::after,.nav-link.is-current::after{width:100%;}
.site-header.nav-on-dark .nav-link{color:var(--color-paper);}
.site-header.nav-on-light .nav-link{color:var(--color-ink);}

.has-mega{position:relative;}
.mega-panel{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translateX(-50%) translateY(10px);
  width:520px;
  background:var(--color-paper);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  padding:var(--space-3);
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  z-index:50;
}
.has-mega.is-open .mega-panel,
.has-mega:hover .mega-panel,
.has-mega:focus-within .mega-panel{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.mega-col{display:flex;flex-direction:column;gap:.5rem;}
.mega-col-label{font-family:var(--font-heading);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-300);margin-bottom:.2rem;}
.mega-col a{
  display:flex;align-items:center;gap:.6rem;
  padding:.55rem .5rem;border-radius:var(--radius-sm);
  color:var(--ink-700);font-size:.9rem;
  transition:background .25s ease, color .25s ease, padding-left .25s ease;
}
.mega-col a i{color:var(--primary-500);width:20px;text-align:center;}
.mega-col a:hover{background:var(--primary-050);color:var(--primary-700);padding-left:.8rem;}

.nav-cta{display:inline-flex;}
.mobile-menu-toggle{
  display:none;
  width:44px;height:44px;
  border-radius:50%;
  align-items:center;justify-content:center;
  flex-direction:column;gap:5px;
  transition:background .25s ease;
}
.mobile-menu-toggle span{width:20px;height:2px;background:var(--color-paper);transition:all .3s ease;border-radius:2px;}
.site-header.nav-on-light .mobile-menu-toggle span{background:var(--color-ink);}


.mobile-menu{
  position:fixed;inset:0;
  display:flex;
  transform:translateX(100%);
  transition:transform .5s cubic-bezier(.16,1,.3,1);
  z-index:900;
}
.mobile-menu.is-open{transform:translateX(0);}
.mobile-menu-links{
  width:58%;
  background:linear-gradient(160deg, var(--color-ink), var(--primary-600));
  padding:var(--space-5) var(--space-3);
  display:flex;flex-direction:column;
  position:relative;
}
.mobile-menu-links nav{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-6);}
.mobile-menu-links nav a{
  font-family:var(--font-heading);font-weight:800;
  font-size:clamp(1.6rem,7vw,2.4rem);
  color:var(--color-paper);
  transition:color .25s ease, transform .25s ease;
  transform-origin:left center;
}
.mobile-menu-links nav a:hover{color:var(--accent-300);transform:translateX(8px);}
.mobile-menu-close{
  position:absolute;top:var(--space-3);right:var(--space-3);
  width:44px;height:44px;border-radius:50%;
  background:color-mix(in oklch, var(--color-paper), transparent 85%);
  color:var(--color-paper);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;
  transition:background .25s ease;
}
.mobile-menu-close:hover{background:color-mix(in oklch, var(--color-paper), transparent 65%);}
.mobile-menu-visual{width:42%;overflow:hidden;}
.mobile-menu-visual img{width:100%;height:100%;object-fit:cover;}

body.menu-open{overflow:hidden;}


.hero-section{
  background:linear-gradient(150deg, var(--primary-700) 0%, var(--color-ink) 60%, var(--secondary-600) 100%);
  overflow:hidden;
}
.hero-inner{
  display:grid;grid-template-columns:1.2fr .9fr;
  gap:var(--space-5);align-items:center;
}
.hero-kicker{margin-bottom:var(--space-2);}
.hero-lead{color:color-mix(in oklch, var(--color-paper), transparent 20%);margin:var(--space-2) 0 var(--space-3);}
.hero-benefits{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);}
.hero-benefits li{display:flex;align-items:center;gap:.9rem;color:var(--color-paper);font-size:.95rem;}
.benefit-icon{
  width:44px;height:44px;border-radius:50%;
  background:color-mix(in oklch, var(--color-paper), transparent 88%);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent-300);font-size:1.05rem;flex-shrink:0;
  transition:background .3s ease, transform .3s ease;
}
.hero-benefits li:hover .benefit-icon{background:var(--accent-500);color:#fff;transform:scale(1.08);}

.hero-accent{position:relative;width:150px;height:150px;margin-top:var(--space-3);}
.accent-orbit{
  position:absolute;inset:0;border:1.5px dashed color-mix(in oklch, var(--color-paper), transparent 65%);
  border-radius:50%;
  animation:spin 18s linear infinite;
}
.accent-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent-500);}
.dot-1{top:0;left:50%;transform:translate(-50%,-50%);animation:spin 6s linear infinite;transform-origin:75px 75px;}
.dot-2{top:50%;left:100%;background:var(--secondary-300);animation:spin 10s linear infinite reverse;transform-origin:-75px -75px;}
.dot-3{top:100%;left:50%;background:color-mix(in oklch, var(--color-paper), transparent 20%);animation:spin 14s linear infinite;transform-origin:-75px -150px;}
.accent-icon{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:2.4rem;color:var(--color-paper);opacity:.9;
  animation:pulse 3s ease-in-out infinite;
}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1);}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08);}}

.hero-form-card{padding:var(--space-4);}
.hero-form-card h2{margin-bottom:.3rem;}
.hero-form-card > p{margin-bottom:var(--space-3);}


.contact-form{display:flex;flex-direction:column;gap:var(--space-2);}
.form-field{display:flex;flex-direction:column;gap:.4rem;}
.form-field label{font-size:.82rem;font-weight:600;color:var(--ink-500);}
.form-field input,.form-field textarea{
  border:1.5px solid var(--primary-100);
  border-radius:var(--radius-sm);
  padding:.75rem .9rem;
  font-family:var(--font-body);
  font-size:.95rem;
  background:var(--paper-100);
  color:var(--color-ink);
  transition:border-color .25s ease, box-shadow .25s ease;
  min-height:44px;
  resize:vertical;
}
.form-field input:focus,.form-field textarea:focus{
  outline:none;border-color:var(--primary-400);box-shadow:0 0 0 4px var(--primary-100);
}
.form-field input.has-error,.form-field textarea.has-error{border-color:var(--accent-500);}
.form-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:var(--ink-500);}
.form-check input{margin-top:.2rem;width:18px;height:18px;flex-shrink:0;accent-color:var(--accent-500);}
.form-check a{color:var(--primary-600);text-decoration:underline;}
.form-check.has-error{color:var(--accent-600);}
.form-submit{align-self:flex-start;margin-top:.4rem;}


.feature-tabs{display:flex;flex-direction:column;gap:var(--space-3);}
.tabs-nav{display:flex;flex-wrap:wrap;gap:.6rem;}
.tab-btn{
  display:flex;align-items:center;gap:.5rem;
  padding:.7rem 1.1rem;border-radius:var(--radius-pill);
  background:var(--primary-050);color:var(--ink-500);
  font-family:var(--font-heading);font-weight:700;font-size:.85rem;
  transition:all .3s ease;
  min-height:44px;
}
.tab-btn:hover{background:var(--primary-100);color:var(--primary-700);}
.tab-btn.is-active{background:var(--primary-600);color:#fff;box-shadow:var(--shadow-md);}
.tabs-panels{position:relative;}
.tab-panel{display:none;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:center;}
.tab-panel.is-active{display:grid;}
.tab-panel img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);aspect-ratio:4/3;object-fit:cover;}
.panel-text h3{margin-bottom:var(--space-2);font-size:1.4rem;}


.cutout-section{position:relative;padding-bottom:0;}
.cutout-grid{
  display:grid;grid-template-columns:.9fr 1.1fr;
  gap:var(--space-5);align-items:center;
  padding-bottom:var(--space-6);
}
.cutout-window{
  position:relative;width:100%;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
}
.cutout-window img{
  width:100%;height:100%;object-fit:cover;
  clip-path:circle(46% at 50% 50%);
  box-shadow:0 0 0 14px color-mix(in oklch, var(--color-paper), transparent 82%), var(--shadow-lg);
}
.cutout-copy .action-ghost{margin-top:var(--space-2);border-color:color-mix(in oklch, var(--color-paper), transparent 55%);color:var(--color-paper);}
.cutout-copy .action-ghost:hover{background:var(--accent-500);border-color:var(--accent-500);color:#fff;}
.cutout-copy h2,.cutout-copy .text-caption{color:var(--color-paper);}
.cutout-copy .text-body{color:color-mix(in oklch, var(--color-paper), transparent 15%);}

.wave-divider{display:block;width:100%;height:80px;}
.wave-divider path{fill:var(--paper-100);}


.steps-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:var(--space-2);align-items:stretch;}
.step-card{
  background:var(--primary-050);
  border-radius:var(--radius-lg);
  padding:var(--space-4);
  position:relative;
  transition:transform .3s ease, box-shadow .3s ease;
}
.step-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.step-number{
  font-family:var(--font-heading);font-weight:800;font-size:2.6rem;
  color:var(--primary-200);display:block;margin-bottom:.2rem;
}
.step-icon{font-size:1.6rem;color:var(--accent-500);margin-bottom:var(--space-2);display:block;}
.step-card h3{margin-bottom:.6rem;font-size:1.2rem;}
.step-connector{display:flex;align-items:center;justify-content:center;color:var(--primary-300);font-size:1.4rem;}


.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);}
.who-card{padding:var(--space-3);text-align:left;transition:transform .3s ease, box-shadow .3s ease;}
.who-card:hover{transform:translateY(-6px);}
.who-card i{font-size:1.6rem;color:var(--secondary-500);margin-bottom:var(--space-2);display:block;}
.who-card h3{font-size:1.05rem;margin-bottom:.4rem;}
.who-card p{font-size:.88rem;color:var(--ink-500);}


.faq-list{display:flex;flex-direction:column;gap:var(--space-2);}
.faq-item{
  background:var(--primary-050);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);
  transition:background .3s ease;
}
.faq-item[open]{background:var(--primary-100);}
.faq-item summary{
  cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:1rem;
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  padding:.6rem 0;
}
.faq-item summary::after{content:'+';font-size:1.4rem;color:var(--accent-500);}
.faq-item[open] summary::after{content:'–';}
.faq-item p{padding-bottom:.6rem;color:var(--ink-500);}


.cta-band{
  background:linear-gradient(150deg, var(--secondary-600), var(--primary-700));
  border-radius:var(--radius-xl);
  text-align:center;
}
.cta-band-inner{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);}


.page-header{background:linear-gradient(150deg, var(--primary-700), var(--color-ink) 70%, var(--secondary-600));}
.page-header-lead{max-width:680px;margin-top:var(--space-2);color:color-mix(in oklch, var(--color-paper), transparent 15%);}
.page-header .text-caption{color:var(--accent-300);}


.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:center;}
.split-section.reverse .split-grid{direction:rtl;}
.split-section.reverse .split-grid > *{direction:ltr;}
.split-image img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);aspect-ratio:4/3;object-fit:cover;width:100%;}
.split-text p{margin-bottom:var(--space-2);}


.principles-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2);}
.principle-card{padding:var(--space-3);transition:transform .3s ease;}
.principle-card:hover{transform:translateY(-6px);}
.principle-card i{font-size:1.5rem;color:var(--primary-500);margin-bottom:var(--space-2);display:block;}
.principle-card h3{font-size:1rem;margin-bottom:.4rem;}
.principle-card p{font-size:.85rem;color:var(--ink-500);}


.scope-list{display:flex;flex-direction:column;gap:var(--space-2);}
.scope-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem;color:var(--ink-500);}
.scope-list i{color:var(--accent-500);margin-top:.2rem;}


.audit-types{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);}
.audit-card{display:flex;flex-direction:column;overflow:hidden;}
.audit-card-media img{width:100%;height:200px;object-fit:cover;}
.audit-card-body{padding:var(--space-3);}
.audit-card-body.wide{padding:var(--space-4);}
.audit-icon{
  width:48px;height:48px;border-radius:50%;
  background:var(--primary-050);color:var(--primary-600);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;margin-bottom:var(--space-2);
}

.deliverables-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);}
.deliverable-item i{font-size:1.4rem;color:var(--secondary-500);margin-bottom:.6rem;display:block;}
.deliverable-item h3{font-size:1rem;margin-bottom:.3rem;}
.deliverable-item p{font-size:.85rem;color:var(--ink-500);}


.methodology-phases{display:flex;flex-direction:column;gap:var(--space-3);}
.phase-card{display:grid;grid-template-columns:120px 1fr 260px;gap:var(--space-3);align-items:center;padding:var(--space-4);}
.phase-number{font-family:var(--font-heading);font-weight:800;color:var(--primary-300);font-size:1.1rem;}
.phase-icon{font-size:1.6rem;color:var(--accent-500);margin-bottom:var(--space-2);display:block;}
.phase-media img{border-radius:var(--radius-md);object-fit:cover;height:100%;width:100%;aspect-ratio:4/3;}

.terms-note{background:linear-gradient(150deg, var(--secondary-600), var(--color-ink));border-radius:var(--radius-xl);}
.terms-note-inner{max-width:720px;}


.contact-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:var(--space-4);}
.contact-form-card,.contact-info-card{padding:var(--space-4);}
.contact-info-row{display:flex;align-items:center;gap:.7rem;margin-bottom:var(--space-2);font-size:.95rem;}
.contact-info-row i{color:var(--primary-500);width:20px;}
.contact-info-image{margin-top:var(--space-3);border-radius:var(--radius-md);overflow:hidden;}
.contact-info-image img{aspect-ratio:16/10;object-fit:cover;}

.map-frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.map-frame iframe{width:100%;display:block;}

.area-section{background:linear-gradient(150deg, var(--primary-700), var(--color-ink));border-radius:var(--radius-xl);}
.area-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-4);align-items:center;}
.area-list{display:flex;flex-direction:column;gap:var(--space-2);}
.area-item{
  display:flex;align-items:center;gap:.9rem;
  background:color-mix(in oklch, var(--color-paper), transparent 90%);
  padding:var(--space-2);border-radius:var(--radius-md);
  color:var(--color-paper);font-size:.9rem;
}
.area-item i{color:var(--accent-300);font-size:1.2rem;}


.thanks-section{text-align:center;}
.thanks-inner{max-width:520px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);}
.thanks-icon{font-size:4rem;color:var(--secondary-500);margin-bottom:var(--space-2);}


.legal-header{background:linear-gradient(150deg, var(--primary-700), var(--color-ink) 70%, var(--secondary-600));}
.legal-header-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;}
.legal-date{text-align:right;}
.legal-cards{display:flex;flex-direction:column;gap:var(--space-3);}
.legal-card{padding:var(--space-4);}
.legal-card h2{margin-bottom:var(--space-2);font-size:1.25rem;}
.legal-card p{color:var(--ink-500);}


.site-footer{
  background:var(--color-ink);
  padding:var(--space-6) var(--space-3) var(--space-3);
  color:color-mix(in oklch, var(--color-paper), transparent 15%);
}
.footer-inner{
  max-width:1440px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:var(--space-4);
  padding-bottom:var(--space-4);
  border-bottom:1px solid color-mix(in oklch, var(--color-paper), transparent 88%);
}
.footer-brand{display:flex;flex-direction:column;gap:.6rem;}
.footer-col{display:flex;flex-direction:column;gap:.6rem;}
.footer-col h4{color:var(--color-paper);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem;}
.footer-col a,.footer-col p{font-size:.88rem;color:color-mix(in oklch, var(--color-paper), transparent 20%);transition:color .25s ease;}
.footer-col a:hover{color:var(--accent-300);}
.footer-bottom{max-width:1440px;margin:0 auto;padding-top:var(--space-2);text-align:center;font-size:.8rem;color:color-mix(in oklch, var(--color-paper), transparent 40%);}


.cookie-overlay{position:fixed;inset:0;background:color-mix(in oklch, var(--color-ink), transparent 45%);opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s ease;z-index:998;}
.cookie-overlay.is-visible{opacity:1;visibility:visible;}
.cookie-panel{
  position:fixed;top:0;right:0;height:100%;width:300px;max-width:88vw;
  background:var(--color-paper);box-shadow:var(--shadow-lg);
  transform:translateX(100%);transition:transform .45s cubic-bezier(.16,1,.3,1);
  z-index:999;display:flex;flex-direction:column;padding:var(--space-4);overflow-y:auto;gap:var(--space-3);
}
.cookie-panel.is-open{transform:translateX(0);}
.cookie-shield{font-size:1.8rem;color:var(--primary-600);margin-bottom:.4rem;display:block;}
.cookie-panel-head h2{font-size:1.15rem;margin-bottom:.4rem;}
.cookie-panel-head p{font-size:.85rem;color:var(--ink-500);}
.cookie-categories{display:flex;flex-direction:column;gap:var(--space-2);flex:1;}
.cookie-category{border-top:1px solid var(--primary-100);padding-top:var(--space-2);}
.cookie-category-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem;}
.cookie-category-row label{font-family:var(--font-heading);font-weight:700;font-size:.9rem;}
.cookie-category input[type="checkbox"]{width:40px;height:22px;position:relative;-webkit-appearance:none;appearance:none;background:var(--primary-100);border-radius:var(--radius-pill);cursor:pointer;transition:background .3s ease;}
.cookie-category input[type="checkbox"]::before{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:var(--shadow-sm);}
.cookie-category input[type="checkbox"]:checked{background:var(--primary-500);}
.cookie-category input[type="checkbox"]:checked::before{transform:translateX(18px);}
.cookie-category input[type="checkbox"]:disabled{opacity:.6;cursor:not-allowed;}
.cookie-category p{font-size:.78rem;color:var(--ink-300);}
.cookie-panel-actions{display:flex;flex-direction:column;gap:.6rem;}
.cookie-panel-actions .action-primary,.cookie-panel-actions .action-ghost{width:100%;justify-content:center;}
.cookie-save-link{font-size:.82rem;color:var(--ink-300);text-decoration:underline;text-align:center;transition:color .25s ease;}
.cookie-save-link:hover{color:var(--primary-600);}


.tippy-box[data-theme~='custom']{
  background:var(--color-ink);color:var(--color-paper);
  font-size:.82rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);
  font-family:var(--font-body);
}
.tippy-box[data-theme~='custom'][data-placement^='top']>.tippy-arrow::before{border-top-color:var(--color-ink);}
.tippy-box[data-theme~='custom'][data-placement^='bottom']>.tippy-arrow::before{border-bottom-color:var(--color-ink);}


@media (max-width:1080px){
  .hero-inner{grid-template-columns:1fr;}
  .feature-tabs .tab-panel{grid-template-columns:1fr;}
  .split-grid{grid-template-columns:1fr;}
  .split-section.reverse .split-grid{direction:ltr;}
  .who-grid{grid-template-columns:repeat(2,1fr);}
  .principles-grid{grid-template-columns:repeat(2,1fr);}
  .audit-types{grid-template-columns:1fr;}
  .deliverables-grid{grid-template-columns:repeat(2,1fr);}
  .phase-card{grid-template-columns:80px 1fr;}
  .phase-media{grid-column:1 / -1;}
  .contact-grid{grid-template-columns:1fr;}
  .area-grid{grid-template-columns:1fr;}
  .steps-grid{grid-template-columns:1fr;}
  .step-connector{transform:rotate(90deg);margin:0 auto;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}

@media (max-width:860px){
  .main-nav{display:none;}
  .nav-cta{display:none;}
  .mobile-menu-toggle{display:flex;}
  .cutout-grid{grid-template-columns:1fr;}
  .cutout-window{max-width:340px;margin:0 auto;}
}

@media (max-width:640px){
  main{padding:calc(var(--space-5) + 30px) var(--space-2) var(--space-6);gap:var(--space-4);}
  .space-section{padding:var(--space-4) var(--space-2);}
  .who-grid{grid-template-columns:1fr;}
  .principles-grid{grid-template-columns:1fr;}
  .deliverables-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .legal-header-row{flex-direction:column;align-items:flex-start;}
  .legal-date{text-align:left;}
  .mobile-menu-links{width:60%;padding:var(--space-4) var(--space-2);}
  .mobile-menu-visual{width:40%;}
  .mobile-menu-links nav a{font-size:clamp(1.2rem,7vw,1.8rem);}
}

@media (max-width:400px){
  .mobile-menu-visual{width:32%;}
}