/* Praiseville Garden Estate — WordPress build
   Framework-free. Design tokens + components from the Praiseville Design System.
   Loaded once; keeps markup lean so old/slow devices stay smooth. */

:root{
  --purple:#513776; --cathedral:#3B285A; --ink:#241E2B; --green:#5E7D34;
  --fern:#33461E; --meadow:#A8BE7A; --brown:#7A5B33;
  --ivory:#FBFAF7; --cream:#F6F1E7; --sand:#ECE3D2; --gray:#6E665A; --line:#E4DAC6;
  --serif:'Fraunces',Georgia,serif; --sans:'Hanken Grotesk',system-ui,'Segoe UI',sans-serif; --mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--cathedral);text-decoration:none}
a:hover{color:var(--cathedral);text-decoration:underline}
h1,h2,h3,p,figure,blockquote{margin:0}
::selection{background:var(--meadow);color:var(--ink)}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}
section[id]{scroll-margin-top:84px}

/* layout helpers */
.wrap{max-width:1180px;margin:0 auto}
.sec{position:relative;overflow:hidden;padding:clamp(56px,8vw,110px) clamp(20px,4vw,56px)}
.cv{content-visibility:auto;contain-intrinsic-size:1px 720px}
.rule{width:48px;height:3px;background:var(--green);border-radius:2px;margin:20px 0}
.rule.c{margin-left:auto;margin-right:auto}
.rule.g{background:var(--meadow)}
.overline{font-family:var(--mono);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--green);margin-bottom:14px}
.overline.g{color:var(--meadow)}
h1,h2{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.5px}
.h2{font-size:clamp(28px,3.6vw,46px)}
.lead{font-size:16px;line-height:1.65;color:var(--gray)}

/* glass */
.glass{background:rgba(255,255,255,.66);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%);border:1px solid rgba(255,255,255,.8);box-shadow:0 10px 26px rgba(40,30,55,.1),inset 0 1px 0 rgba(255,255,255,.9)}
.glass-d{background:rgba(251,250,247,.13);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(251,250,247,.22)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;padding:15px 26px;border-radius:24px;border:0;cursor:pointer;text-decoration:none;transition:transform .22s var(--ease),background .22s,box-shadow .22s;font-family:inherit}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-green{color:var(--ivory);background:var(--green);box-shadow:0 10px 26px rgba(94,125,52,.4)}
.btn-green:hover{background:var(--fern);color:var(--ivory)}
.btn-ghost{color:var(--ivory);background:rgba(251,250,247,.12);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(251,250,247,.28)}
.btn-ghost:hover{background:rgba(251,250,247,.22);color:var(--ivory)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px clamp(16px,4vw,56px);background:rgba(36,30,43,.24);border-bottom:1px solid rgba(251,250,247,.18);box-shadow:0 2px 18px rgba(40,30,55,.1);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);transition:background .4s var(--ease),border-color .4s,box-shadow .4s}
.nav.scrolled{background:rgba(251,250,247,.82);border-bottom-color:rgba(36,30,43,.1);box-shadow:0 6px 24px rgba(40,30,55,.13)}
.brand{display:flex;align-items:center;gap:11px}
.brand .mark{position:relative;height:40px;width:46px;flex:0 0 46px}
.brand .mark img{position:absolute;inset:0;height:40px;width:auto;transition:opacity .4s}
.brand .mark .color{opacity:0}
.nav.scrolled .brand .mark .white{opacity:0}
.nav.scrolled .brand .mark .color{opacity:1}
.brand .name{font-family:var(--serif);font-weight:600;font-size:17px;color:#FBFAF7;transition:color .4s;line-height:1.05}
.brand .sub{font-family:var(--mono);font-size:8.5px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(251,250,247,.7);transition:color .4s}
.nav.scrolled .brand .name{color:var(--ink)}
.nav.scrolled .brand .sub{color:var(--gray)}
.nav-links{display:flex;align-items:center;gap:clamp(12px,1.8vw,28px)}
.nav-links a{font-size:14px;font-weight:500;color:#FBFAF7;transition:color .3s}
.nav-links a:hover{color:var(--green);text-decoration:none}
.nav.scrolled .nav-links a{color:var(--ink)}
.nav.scrolled .nav-links a:hover{color:var(--green)}
.nav-cta{font-size:13.5px!important;font-weight:600!important;color:#FBFAF7!important;background:var(--green);padding:10px 20px;border-radius:24px;box-shadow:0 6px 16px rgba(94,125,52,.32);transition:transform .22s var(--ease),background .22s}
.nav-cta:hover{background:var(--fern);transform:translateY(-1px);text-decoration:none}
.burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(251,250,247,.18);border-radius:12px;background:transparent;color:#FBFAF7;font-size:20px;line-height:1;cursor:pointer;transition:color .3s,border-color .3s}
.nav.scrolled .burger{color:var(--ink);border-color:rgba(36,30,43,.14)}
.mobile-menu{position:fixed;top:70px;left:12px;right:12px;z-index:99;border-radius:18px;padding:10px;background:rgba(36,30,43,.96);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(251,250,247,.16);box-shadow:0 20px 50px rgba(36,30,43,.4);display:none;flex-direction:column;gap:2px}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:16px;font-weight:500;color:#FBFAF7;padding:13px 16px;border-radius:12px}
.mobile-menu a:hover{background:rgba(251,250,247,.08);color:#FBFAF7;text-decoration:none}
.mobile-menu a.cta{font-weight:600;background:var(--green);text-align:center;margin-top:4px}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--ink)}
.hero video,.hero .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .still{background-size:cover;background-position:center 62%;animation:ken 26s ease-in-out infinite alternate;z-index:0}
.hero video{z-index:0}
.hero .scrim1{position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(36,30,43,.92) 0%,rgba(59,40,90,.8) 42%,rgba(81,55,118,.56) 78%,rgba(94,125,52,.4) 130%)}
.hero .scrim2{position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 15% 15%,rgba(36,30,43,.55),transparent 60%)}
.hero-inner{position:relative;z-index:3;width:100%;padding:118px clamp(20px,4vw,56px) 96px;display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,44px);align-items:center}
.hero-copy{flex:1 1 440px;min-width:0}
.badge{display:inline-flex;align-items:center;gap:10px;padding:8px 15px 8px 11px;border-radius:24px;background:rgba(251,250,247,.12);border:1px solid rgba(251,250,247,.2)}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--meadow);flex:0 0 8px}
.badge span{font-family:var(--mono);font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:#FBFAF7;white-space:nowrap}
.hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.03;letter-spacing:-1px;color:#FBFAF7;margin:20px 0 0;text-wrap:balance;text-shadow:0 2px 30px rgba(36,30,43,.4)}
.hero .lead{font-size:clamp(15px,1.5vw,18px);line-height:1.6;color:rgba(251,250,247,.9);max-width:500px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.stat-panel{position:relative;flex:1 1 300px;min-width:0;border-radius:22px;padding:28px;box-shadow:0 20px 50px rgba(36,30,43,.4),inset 0 1px 0 rgba(255,255,255,.3);overflow:hidden}
.stat-panel .sheen{position:absolute;top:-40%;left:0;width:40%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);animation:sheen 7s ease-in-out infinite;pointer-events:none}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}
.stat-grid .n{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4vw,38px);color:#FBFAF7;line-height:1}
.stat-grid .l{font-size:12px;color:rgba(251,250,247,.72);margin-top:4px}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;width:24px;height:40px;border:1.5px solid rgba(251,250,247,.5);border-radius:14px;display:flex;justify-content:center;padding-top:8px}
.scroll-cue span{width:4px;height:8px;border-radius:3px;background:var(--meadow);animation:cue 1.8s ease-in-out infinite}

/* cards / grids */
.tint{background:var(--cream)}
.dark-band{background:linear-gradient(160deg,#3B285A 0%,#241E2B 55%,#33461E 130%)}
.grid-auto{display:grid;gap:20px}
.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g-amen{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{border-radius:18px;padding:26px;transition:transform .3s var(--ease),box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(40,30,55,.16)}
.card h3,.amen h3,.testi blockquote,.proj h3{font-family:var(--serif);font-weight:600}
.icon-badge{width:52px;height:52px;border-radius:14px;background:var(--ivory);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.icon-badge img{width:26px;height:26px}
.amen h3{font-size:19px;color:var(--ink)}
.amen p{font-size:14px;line-height:1.6;color:var(--gray);margin-top:6px}

/* projects */
.proj-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.phase-board{margin:44px 0 40px;padding:24px 26px;border-radius:20px}
.phase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:12px}
.phase{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--ivory);border:1px solid var(--line)}
.phase.wip{background:#fff}
.phase .pdot{width:13px;height:13px;border-radius:50%;flex:0 0 13px;background:var(--green);box-shadow:0 0 0 3px rgba(94,125,52,.16)}
.phase.wip .pdot{background:var(--purple);box-shadow:0 0 0 3px rgba(81,55,118,.16)}
.phase .pn{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink);display:block;line-height:1.1}
.phase .ps{font-family:var(--mono);font-size:8.5px;letter-spacing:1px;text-transform:uppercase;color:var(--green)}
.phase.wip .ps{color:var(--purple)}
.phase-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.phase-legend span{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--gray)}
.phase-legend i{width:11px;height:11px;border-radius:50%;display:inline-block}
.proj-card{border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(40,30,55,.09);transition:transform .3s var(--ease),box-shadow .3s}
.proj-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(40,30,55,.18)}
.proj-media{position:relative;height:190px;background-size:cover;background-position:center}
.proj-media .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,40,90,.12),rgba(59,40,90,.46))}
.proj-media .tag{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:6px 12px;border-radius:24px}
.proj-body{padding:22px 24px}
.proj-body h3{font-size:21px;color:var(--ink)}
.proj-body .spec{font-family:var(--mono);font-size:11.5px;color:var(--gray)}

/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:40px}
.gal{position:relative;border-radius:20px;overflow:hidden;min-height:300px;border:1px solid rgba(251,250,247,.16);box-shadow:0 20px 50px rgba(36,30,43,.4)}
.gal .img{position:absolute;inset:0;background-size:cover;background-position:center}
.gal .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,40,90,.15) 0%,rgba(36,30,43,.7) 100%)}
.gal .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 20px;background:rgba(36,30,43,.4);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border-top:1px solid rgba(251,250,247,.16)}
.gal .cap .k{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--meadow)}
.gal .cap .t{font-family:var(--serif);font-size:17px;color:#FBFAF7;margin-top:2px}

/* facility */
.two-col{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,72px);align-items:center}
.care-media{flex:1 1 340px;min-width:0;position:relative;border-radius:24px;overflow:hidden;min-height:340px;box-shadow:0 24px 50px rgba(40,30,55,.18)}
.care-media .img{position:absolute;inset:0;background-size:cover;background-position:center}
.care-media .ov{position:absolute;inset:0;background:linear-gradient(150deg,rgba(51,70,30,.5),rgba(36,30,43,.35))}
.care-media .plate{position:absolute;left:20px;bottom:20px;right:20px;padding:18px 22px;border-radius:18px;font-family:var(--serif);font-weight:600;font-size:20px;color:#FBFAF7}
.care-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.care-list div{display:flex;gap:12px;align-items:flex-start}
.care-list i{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:7px;flex:0 0 8px}
.care-list span{font-size:14.5px;line-height:1.55;color:var(--ink)}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:44px}
.testi{border-radius:20px;padding:30px 28px;display:flex;flex-direction:column}
.testi .quo{font-family:var(--serif);font-size:52px;line-height:.6;color:var(--meadow)}
.testi blockquote{margin-top:12px;font-size:16px;line-height:1.62;color:var(--ink);flex:1}
.testi figcaption{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.testi .av{width:44px;height:44px;border-radius:50%;color:#FBFAF7;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;flex:0 0 44px}
.testi .who{font-weight:700;font-size:14.5px;color:var(--ink);display:block}
.testi .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--green)}

/* cta band */
.cta-band{max-width:1100px;margin:0 auto;border-radius:28px;overflow:hidden;background:linear-gradient(120deg,#3B285A 0%,#513776 55%,#5E7D34 140%);box-shadow:0 30px 70px rgba(40,30,55,.3);position:relative}
.cta-band .sheen{position:absolute;top:-60%;left:0;width:34%;height:220%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:sheen 8s ease-in-out infinite;pointer-events:none}
.cta-inner{position:relative;z-index:1;padding:clamp(32px,6vw,64px);display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.cta-inner h2{font-size:clamp(26px,3.4vw,44px);line-height:1.08;color:#FBFAF7}
.cta-actions{flex:0 1 260px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* contact */
.contact-cols{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);align-items:flex-start}
.contact-info{flex:1 1 300px;min-width:0}
.contact-info .k{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-bottom:4px}
.contact-info .v{font-size:15px;line-height:1.6;color:var(--ink)}
.form-card{flex:1 1 420px;min-width:0;border-radius:24px;padding:clamp(24px,3vw,40px)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}
.form-grid label{display:flex;flex-direction:column;gap:6px}
.form-grid .full{grid-column:1/-1}
.form-grid span{font-size:12px;font-weight:600;color:var(--ink)}
.form-grid input,.form-grid textarea{font-family:inherit;font-size:16px;color:var(--ink);padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(251,250,247,.85);outline:none;transition:border-color .2s,box-shadow .2s;width:100%}
.form-grid input:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(168,190,122,.5)}
.form-note{background:#EAF3DC;border:1px solid #CADBA6;color:#33461E;border-radius:12px;padding:12px 16px;font-size:13.5px;line-height:1.5;margin-top:16px;display:none}
.form-note.show{display:block}
.form-note.error{background:#F7E4DE;border-color:#E0B7A8;color:#7A2E1C}

/* footer */
.footer{background:var(--fern);color:#FBFAF7;padding:clamp(44px,6vw,72px) clamp(20px,4vw,56px) 32px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:32px}
.footer h4{font-family:var(--mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--meadow);margin:0 0 14px;font-weight:400}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:14px}
.footer a{color:rgba(251,250,247,.82)}
.footer a:hover{color:var(--meadow);text-decoration:none}
.footer .hr{height:1px;background:rgba(251,250,247,.16);margin:36px 0 20px}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.5px;color:rgba(251,250,247,.6)}

/* ambient blobs */
.blob{position:absolute;border-radius:50%;z-index:0;pointer-events:none}
.blob.a{animation:floatA 17s ease-in-out infinite}
.blob.b{animation:floatB 20s ease-in-out infinite}

/* reveal (JS-gated so no-JS users still see everything) */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);will-change:opacity,transform}
.js [data-reveal].is-visible{opacity:1;transform:none}

/* keyframes */
@keyframes ken{0%{transform:scale(1.06)}100%{transform:scale(1.18)}}
@keyframes floatA{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(4%,-6%,0) scale(1.08)}}
@keyframes floatB{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-5%,5%,0) scale(1.1)}}
@keyframes sheen{0%{transform:translateX(-140%) rotate(8deg)}60%,100%{transform:translateX(260%) rotate(8deg)}}
@keyframes cue{0%{transform:translateY(0);opacity:0}30%{opacity:1}80%{opacity:1}100%{transform:translateY(16px);opacity:0}}

/* chips */
.chip{font-family:var(--mono);font-size:11px;color:var(--cathedral);background:var(--cream);border:1px solid var(--line);padding:8px 14px;border-radius:24px}

/* theme toggle */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(251,250,247,.28);background:transparent;color:#FBFAF7;cursor:pointer;padding:0;transition:color .3s,border-color .3s,background .2s}
.theme-toggle:hover{background:rgba(251,250,247,.12)}
.nav.scrolled .theme-toggle{color:var(--ink);border-color:rgba(36,30,43,.18)}
.nav.scrolled .theme-toggle:hover{background:rgba(36,30,43,.06)}
.theme-toggle .i-sun{display:none}
.theme-toggle .i-moon{display:block}
[data-theme=dark] .theme-toggle .i-sun{display:block}
[data-theme=dark] .theme-toggle .i-moon{display:none}
.theme-toggle.mobile{width:100%;height:auto;justify-content:flex-start;gap:10px;border:0;border-radius:12px;padding:13px 16px;color:#FBFAF7;font-family:inherit;font-size:16px;font-weight:500}
.theme-toggle.mobile .tt-label{flex:1;text-align:left}
.theme-toggle.mobile:hover{background:rgba(251,250,247,.08)}

/* ============ DARK THEME ============ */
[data-theme=dark]{
  --ivory:#181320; --cream:#201a2b; --sand:#2a2236;
  --ink:#ECE6F2; --gray:#A89FB6; --line:rgba(255,255,255,.12);
  color-scheme:dark;
}
[data-theme=dark] a{color:#C6B2EC}
[data-theme=dark] a:hover{color:#D8C9F2}
[data-theme=dark] .chip{color:#C6B2EC;background:#241d31;border-color:rgba(255,255,255,.1)}
[data-theme=dark] .glass{background:rgba(40,32,54,.62);border-color:rgba(255,255,255,.1);box-shadow:0 10px 26px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}
[data-theme=dark] .glass h3{color:#C6B2EC}
[data-theme=dark] .icon-badge{background:#2a2236;border-color:rgba(255,255,255,.1)}
[data-theme=dark] .icon-badge img{filter:brightness(0) invert(1);opacity:.9}
[data-theme=dark] .proj-card{background:#201a2b;border-color:rgba(255,255,255,.1)}
[data-theme=dark] .phase{background:#201a2b}
[data-theme=dark] .phase.wip{background:#2a2236}
[data-theme=dark] .phase.wip .ps{color:#B9A3E0}
[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:var(--ink)}
[data-theme=dark] .form-grid input::placeholder,[data-theme=dark] .form-grid textarea::placeholder{color:rgba(236,230,242,.4)}
[data-theme=dark] .nav.scrolled{background:rgba(24,19,32,.85);border-bottom-color:rgba(255,255,255,.08);box-shadow:0 6px 24px rgba(0,0,0,.4)}
[data-theme=dark] .nav.scrolled .brand .name{color:var(--ink)}
[data-theme=dark] .nav.scrolled .brand .mark .white{opacity:1}
[data-theme=dark] .nav.scrolled .brand .mark .color{opacity:0}
[data-theme=dark] .form-note{background:#1f2d18;border-color:#3a5227;color:#CFE3B6}
[data-theme=dark] .form-note.error{background:#331c16;border-color:#5e352a;color:#F0C3B6}

/* ---- performance: strip GPU-heavy work on small/old devices ---- */
@media (max-width:880px){
  .glass,.glass-d,.nav,.mobile-menu,.gal .cap,.stat-panel,.form-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .glass{background:rgba(255,255,255,.92)}
  .nav{background:rgba(36,30,43,.92)}
  .nav.scrolled{background:rgba(251,250,247,.96)}
  .blob,.sheen,.hero .still{animation:none!important}
  .nav-links{display:none}
  .burger{display:flex}
  .cv{contain-intrinsic-size:1px 1100px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}
