/* VERIDICA — Hybrid Design: Dark hero, alternating light/dark, readable, atmospheric */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.6;color:#3A4A5C;background:#FAFAF8;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .2s ease}
button{font:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
address{font-style:normal}

:root{
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',sans-serif;
  --navy:#0A1628;--navy-l:#132240;--navy-m:#1B2D4A;
  --slate:#3A4A5C;--stone:#6B7280;--silver:#9CA3AF;--mist:#D1D5DB;
  --cream:#F5F3EE;--offwhite:#FAFAF8;--white:#fff;
  --gold:#B8965A;--gold-l:#D4B57A;--gold-d:#9A7B42;--gold-bg:rgba(184,150,90,.08);
  --gutter:clamp(1.5rem,4vw,3rem);--max:1240px;--nav-h:5rem;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* Grain */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:10000;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:500;transition:background .4s ease,box-shadow .4s ease}
.nav--top{background:transparent}
.nav--scrolled{background:rgba(250,250,248,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.nav__logo{font-family:var(--serif);font-size:1.35rem;font-weight:600;letter-spacing:.06em;color:var(--white);transition:color .3s}
.nav--scrolled .nav__logo{color:var(--navy)}
.nav__links{display:flex;align-items:center;gap:2rem}
.nav__link{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .2s;position:relative;padding:.3rem 0}
.nav__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease)}
.nav__link:hover,.nav__link.active{color:var(--white)}
.nav__link:hover::after,.nav__link.active::after{width:100%}
.nav--scrolled .nav__link{color:var(--stone)}
.nav--scrolled .nav__link:hover,.nav--scrolled .nav__link.active{color:var(--navy)}
.nav__cta{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(184,150,90,.35);padding:.55rem 1.4rem;transition:all .3s}
.nav__cta:hover{background:var(--gold);color:var(--navy)}
.nav--scrolled .nav__cta{border-color:var(--gold)}
.nav__lang{font-size:.65rem;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.3);margin-left:1rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.12)}
.nav--scrolled .nav__lang{color:var(--silver);border-left-color:var(--mist)}
.nav__lang span{cursor:pointer;padding:.2rem .3rem;transition:color .2s}
.nav__lang span:hover{color:var(--white)}
.nav--scrolled .nav__lang span:hover{color:var(--navy)}
.nav__lang .on{color:var(--gold)}

/* Burger + overlay */
.burger{display:none;width:28px;height:20px;flex-direction:column;justify-content:space-between;z-index:600}
.burger span{display:block;width:100%;height:1.5px;background:var(--white);transition:all .4s var(--ease);transform-origin:center}
.nav--scrolled .burger span{background:var(--navy)}
.burger.open span{background:var(--white)!important}
.burger.open span:nth-child(1){transform:translateY(9.25px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-9.25px) rotate(-45deg)}
.overlay{position:fixed;inset:0;background:var(--navy);z-index:550;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.8rem;opacity:0;pointer-events:none;transition:opacity .4s ease}
.overlay.open{opacity:1;pointer-events:all}
.overlay a{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.2rem);font-weight:300;color:rgba(255,255,255,.35);transition:color .3s,transform .3s;display:block}
.overlay a:hover{color:var(--white);transform:translateX(8px)}
@media(max-width:900px){.nav__links{display:none}.burger{display:flex}}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.02em;color:var(--navy)}
h1{font-size:clamp(2.2rem,5vw,4.2rem);font-weight:300}
h2{font-size:clamp(1.8rem,3.5vw,3rem)}
h3{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:500}
h4{font-size:1.15rem;font-weight:500}
p{max-width:680px}
.label{font-family:var(--sans);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}
.section-sub{font-size:1.05rem;color:var(--stone);line-height:1.75;max-width:560px;margin-top:1rem}

/* ===== LAYOUT ===== */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.sec{padding:5rem 0}
.sec-lg{padding:7rem 0}
.sec-flush{padding:4rem 0}

/* Dark section */
.dark{background:var(--navy);color:rgba(255,255,255,.5)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--white)}
.dark .label{color:var(--gold-l)}
.dark p{color:rgba(255,255,255,.5)}

/* Cream section */
.cream{background:var(--cream)}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 2rem;transition:all .35s var(--ease)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-d);box-shadow:0 6px 24px rgba(184,150,90,.3);transform:translateY(-1px)}
.btn-outline{border:1px solid var(--mist);color:var(--navy)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.dark .btn-outline{border-color:rgba(255,255,255,.4);color:var(--white)}
.dark .btn-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(197,165,90,.08)}
.hero .btn-outline{border-color:rgba(255,255,255,.4);color:var(--white)}
.hero .btn-outline:hover{border-color:var(--gold);color:var(--gold);background:rgba(197,165,90,.08)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy-l);transform:translateY(-1px)}
.btn-ghost{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.5rem;transition:gap .2s}
.btn-ghost:hover{gap:.9rem}

/* ===== HERO (dark) ===== */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;background:var(--navy);overflow:hidden}
.hero__atm{position:absolute;inset:0;background-image:linear-gradient(rgba(184,150,90,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(184,150,90,.025) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse 50% 50% at 35% 50%,#000,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 35% 50%,#000,transparent 70%)}
.hero__glow-a{position:absolute;width:600px;height:600px;border-radius:50%;background:rgba(184,150,90,.04);filter:blur(100px);bottom:-25%;left:-8%;animation:drift 14s ease-in-out infinite alternate}
.hero__glow-b{position:absolute;width:400px;height:400px;border-radius:50%;background:rgba(15,24,41,.8);filter:blur(100px);top:-15%;right:-5%;animation:drift 18s ease-in-out infinite alternate-reverse}
@keyframes drift{0%{transform:translate(0,0)}100%{transform:translate(25px,-15px)}}
.hero__lines{position:absolute;right:12%;top:12%;pointer-events:none}
.hero__lines span{position:absolute;width:1px;background:linear-gradient(to bottom,transparent,var(--gold),transparent);opacity:.15}
.hero__lines span:nth-child(1){height:25vh;animation:lp 6s ease-in-out infinite}
.hero__lines span:nth-child(2){left:18px;top:15%;height:14vh;opacity:.08;animation:lp 6s 2s ease-in-out infinite}
@keyframes lp{0%,100%{opacity:.12}50%{opacity:.25}}

.hero__content{position:relative;z-index:1;max-width:750px;padding-top:var(--nav-h);text-align:left}
.hero h1{color:var(--white);margin-bottom:1.5rem;opacity:0;animation:up .7s .3s var(--ease) forwards}
.hero h1 em{font-style:italic;color:var(--gold-l)}
.hero .label{margin-bottom:2rem;opacity:0;animation:up .7s .15s var(--ease) forwards}
.hero__sub{font-size:1.05rem;line-height:1.8;color:rgba(255,255,255,.45);max-width:500px;margin-bottom:2.5rem;opacity:0;animation:up .7s .5s var(--ease) forwards}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:up .7s .7s var(--ease) forwards}
.hero__scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.3rem;opacity:0;animation:up .7s 1.2s var(--ease) forwards}
.hero__scroll span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.15)}
.hero__scroll div{width:1px;height:28px;background:linear-gradient(to bottom,var(--gold),transparent);animation:pulse 2.5s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(1.15)}}
@keyframes up{to{opacity:1;transform:translateY(0)}}

/* ===== STATS (dark) ===== */
.stats{background:var(--navy);padding:3.5rem 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat{text-align:center}
.stat__num{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,3.2rem);font-weight:300;color:var(--white);line-height:1;margin-bottom:.4rem}
.stat__label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
@media(max-width:640px){.stats__grid{grid-template-columns:repeat(2,1fr);gap:2.5rem}}

/* ===== CARDS (light bg) ===== */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{padding:2.5rem;background:var(--white);border:1px solid var(--mist);border-radius:4px;transition:all .35s var(--ease);position:relative;display:flex;flex-direction:column;overflow:hidden}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.card:hover{border-color:var(--gold);box-shadow:0 8px 30px rgba(184,150,90,.1);transform:translateY(-3px)}
.card:hover::before{transform:scaleX(1)}
.card__num{font-family:var(--serif);font-size:1.3rem;font-weight:300;color:var(--gold);opacity:.4;margin-bottom:1.5rem}
.card h3{margin-bottom:.8rem}
.card p{font-size:.9rem;color:var(--stone);line-height:1.75;flex:1;margin-bottom:1.5rem}
.card__link{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:.5rem;transition:gap .2s}
.card:hover .card__link{gap:.8rem}
@media(max-width:900px){.cards{grid-template-columns:1fr}}

/* ===== VALUES GRID (cream bg) ===== */
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;counter-reset:val}
.val{counter-increment:val;padding-top:2.5rem;position:relative}
.val::before{content:counter(val,decimal-leading-zero);font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--gold);opacity:.25;position:absolute;top:0;left:0}
.val__title{font-family:var(--sans);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--navy);margin-bottom:.6rem}
.val__text{font-size:.88rem;color:var(--stone);line-height:1.75}
@media(max-width:1024px){.vals{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.vals{grid-template-columns:1fr}}

/* ===== PROCESS (light bg) ===== */
.steps{display:flex;gap:1.5rem;margin-top:2.5rem}
.step{flex:1;text-align:center;padding:2rem 1.2rem;background:var(--white);border:1px solid var(--mist);border-radius:4px;transition:border-color .3s,box-shadow .3s}
.step:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(184,150,90,.08)}
.step__num{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--gold);margin-bottom:1rem}
.step__title{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.4rem}
.step__text{font-size:.8rem;color:var(--stone);line-height:1.6}
@media(max-width:768px){.steps{flex-direction:column}}

/* ===== TEAM (dark) ===== */
.team{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.team__img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.team__label{margin-bottom:1rem}
.team__name{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:var(--white);margin-bottom:.3rem}
.team__role{font-size:.85rem;color:var(--gold);margin-bottom:1.5rem}
.team__quote{font-family:var(--serif);font-size:clamp(1.1rem,2vw,1.5rem);font-style:italic;font-weight:300;color:rgba(255,255,255,.7);line-height:1.5;padding-left:1.5rem;border-left:2px solid var(--gold);margin-bottom:1.5rem}
.team__text{font-size:.9rem;color:rgba(255,255,255,.4);line-height:1.8;max-width:480px}
@media(max-width:900px){.team{grid-template-columns:1fr;gap:2rem}.team__img{max-height:400px}}

/* ===== CTA (dark) ===== */
.cta{text-align:center;padding:7rem 0;background:var(--navy);position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 50% at 50% 80%,rgba(184,150,90,.04),transparent)}
.cta__inner{position:relative;z-index:1}
.cta__line{width:40px;height:1px;background:var(--gold);margin:0 auto 2rem}
.cta h2{color:var(--white);margin-bottom:1rem}
.cta p{margin:0 auto 2.5rem;color:rgba(255,255,255,.45);text-align:center}

/* ===== FOOTER (dark) ===== */
.ft{background:var(--navy);border-top:1px solid rgba(255,255,255,.06);padding:4rem 0 2.5rem;font-size:.85rem;color:rgba(255,255,255,.3)}
.ft__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.ft__brand{font-family:var(--serif);font-size:1.3rem;font-weight:600;letter-spacing:.06em;color:var(--white);margin-bottom:1rem}
.ft__heading{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.ft a{display:block;padding-block:2px;transition:color .2s}
.ft a:hover{color:var(--white)}
.ft__bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:rgba(255,255,255,.2)}
.ft__legal{display:flex;gap:1.5rem}
@media(max-width:768px){.ft__grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ft__grid{grid-template-columns:1fr}}

/* ===== PAGE HEADER (dark) ===== */
.ph{background:var(--navy);padding:calc(var(--nav-h) + 5rem) 0 4rem;position:relative;overflow:hidden}
.ph__atm{position:absolute;inset:0;background-image:linear-gradient(rgba(184,150,90,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(184,150,90,.02) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse 50% 60% at 65% 40%,#000 10%,transparent 60%);-webkit-mask-image:radial-gradient(ellipse 50% 60% at 65% 40%,#000 10%,transparent 60%)}
.ph__inner{position:relative;z-index:1}
.ph h1{color:var(--white);margin-bottom:1.2rem}
.ph .label{margin-bottom:1.5rem}
.ph__lead{font-size:1.05rem;color:rgba(255,255,255,.45);line-height:1.75;max-width:580px}

/* Breadcrumb */
.crumb{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:rgba(255,255,255,.25);margin-bottom:2rem}
.crumb a:hover{color:var(--gold)}

/* ===== SERVICE NAV (sticky) ===== */
.svc-nav{border-bottom:1px solid var(--mist);padding:1rem 0;position:sticky;top:var(--nav-h);z-index:100;background:rgba(250,250,248,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.svc-nav__inner{display:flex;gap:1.8rem;overflow-x:auto;scrollbar-width:none;max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.svc-nav__inner::-webkit-scrollbar{display:none}
.svc-nav__link{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);white-space:nowrap;padding:.3rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.svc-nav__link:hover{color:var(--navy);border-color:var(--gold)}

/* ===== SERVICE SECTION ===== */
.svc{padding:5rem 0;border-bottom:1px solid var(--mist);scroll-margin-top:calc(var(--nav-h) + 3.5rem)}
.svc:last-of-type{border-bottom:none}
.svc__layout{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start}
.svc__num{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.5rem);font-weight:300;color:var(--gold);opacity:.2;margin-bottom:.8rem}
.svc h2{margin-bottom:1.2rem}
.svc__text{color:var(--stone);line-height:1.8;margin-bottom:.8rem;font-size:.95rem}
.svc__legal{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--mist);font-size:.85rem;color:var(--silver);line-height:1.75}
.svc__legal strong{color:var(--stone);font-weight:600}

.svc__panel{padding:2rem;background:var(--cream);border-left:2px solid var(--gold);border-radius:0 4px 4px 0}
.svc__panel-title{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.svc__list{display:flex;flex-direction:column;gap:.7rem}
.svc__item{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;color:var(--slate);line-height:1.6}
.svc__check{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:var(--gold)}
@media(max-width:900px){.svc__layout{grid-template-columns:1fr;gap:2rem}}

/* ===== HIGHLIGHTS ===== */
.hls{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.hl{text-align:center;padding:2.5rem 1.5rem;background:var(--white);border:1px solid var(--mist);border-radius:4px;transition:border-color .3s,box-shadow .3s}
.hl:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(184,150,90,.08)}
.hl__icon{width:32px;height:32px;color:var(--gold);margin:0 auto 1rem}
.hl__title{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:.5rem}
.hl__text{font-size:.85rem;color:var(--stone);line-height:1.7;max-width:260px;margin-inline:auto}
@media(max-width:768px){.hls{grid-template-columns:1fr}}

/* Dark highlight variant */
.dark .hl{background:var(--navy-l);border-color:rgba(255,255,255,.06)}
.dark .hl:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(184,150,90,.12)}
.dark .hl__title{color:var(--white)}
.dark .hl__text{color:rgba(255,255,255,.4)}

/* ===== CONTACT BAR ===== */
.contact-bar{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem 2.5rem;background:var(--navy);border-radius:4px;flex-wrap:wrap}
.contact-bar p{color:rgba(255,255,255,.55);font-size:.95rem}
.contact-bar strong{color:var(--white);font-weight:600}
@media(max-width:640px){.contact-bar{flex-direction:column;text-align:center;padding:1.5rem}}

/* ===== EMPATHY ===== */
.empathy{max-width:640px;margin:0 auto;text-align:center;padding:4rem 0;border-bottom:1px solid var(--mist)}
.empathy__icon{width:32px;height:32px;color:var(--gold);margin:0 auto 1.5rem;opacity:.6}
.empathy h2{font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:400;font-style:italic;color:var(--slate);line-height:1.5;margin-bottom:1rem}
.empathy p{margin-inline:auto;color:var(--stone);font-size:.95rem}

/* ===== CONTACT PAGE ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;align-items:start}
.c-block{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--mist)}
.c-label{font-size:.65rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.c-text{font-size:.95rem;line-height:1.7;color:var(--stone)}
.c-text a{color:var(--navy);font-weight:500}
.c-text a:hover{color:var(--gold)}
.c-note{font-size:.85rem;color:var(--stone);line-height:1.7;padding:1.2rem;background:var(--cream);border-left:2px solid var(--gold);border-radius:0 4px 4px 0;margin-top:1rem}
.c-note strong{color:var(--navy)}

.form-panel{padding:2.5rem;background:var(--cream);border:1px solid var(--mist);border-radius:4px}
.form-panel h2{font-size:1.4rem;margin-bottom:.4rem}
.form-panel__sub{font-size:.85rem;color:var(--stone);margin-bottom:2rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.f-group{margin-bottom:1rem}
.f-label{display:block;font-size:.85rem;font-weight:500;color:var(--navy);margin-bottom:.4rem}
.f-req::after{content:' *';color:var(--gold)}
.f-input,.f-select,.f-textarea{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--navy);background:var(--white);border:1px solid var(--mist);border-radius:2px;padding:.65rem .9rem;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.f-input:focus,.f-select:focus,.f-textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-bg)}
.f-input::placeholder,.f-textarea::placeholder{color:var(--silver)}
.f-select{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2.5rem}
.f-textarea{min-height:120px;resize:vertical;line-height:1.6}
.f-note{font-size:.72rem;color:var(--silver);margin-bottom:1.2rem;line-height:1.5}
.f-note a{color:var(--gold)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media(max-width:480px){.f-row{grid-template-columns:1fr}.form-panel{padding:1.5rem}}

/* ===== LEGAL PAGES ===== */
.legal{max-width:700px;margin:0 auto;padding:0 var(--gutter) 5rem}
.legal h2{font-weight:500;font-size:clamp(1.2rem,1.8vw,1.5rem);color:var(--navy);margin:2.5rem 0 .8rem}
.legal h3{font-family:var(--sans);font-weight:600;font-size:.9rem;color:var(--navy);margin:1.5rem 0 .6rem}
.legal p{color:var(--stone);line-height:1.8;margin-bottom:.8rem;max-width:none}
.legal ul{margin-left:1.2rem;margin-bottom:.8rem}
.legal li{color:var(--stone);line-height:1.8;margin-bottom:.2rem;list-style:disc}
.legal a{color:var(--gold)}

/* ===== PLACEHOLDER IMAGE ===== */
.img-placeholder{background:var(--cream);border:1px dashed var(--mist);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--silver);font-size:.8rem;text-align:center;padding:1rem;min-height:200px}

/* ===== ANIMATIONS ===== */
.r{opacity:0;transform:translateY(25px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.r.v{opacity:1;transform:translateY(0)}
.r-d1{transition-delay:.1s}.r-d2{transition-delay:.18s}.r-d3{transition-delay:.26s}.r-d4{transition-delay:.34s}

/* ===== UTILITY ===== */
.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}
.tc{text-align:center}
.tc .label{display:block}
.tc p{margin-inline:auto}
.tc h2{margin-inline:auto}
.mt-4{margin-top:1rem}.mt-6{margin-top:2rem}.mt-8{margin-top:3rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:2rem}
