
:root{--ink:#0d0f10;--carbon:#171a1d;--carbon2:#23272b;--paper:#fbfaf6;--ivory:#f5f1e8;--muted:#6e6f70;--line:rgba(13,15,16,.12);--gold:#c49b48;--gold2:#e2c98a;--danger:#b63b3b;--ok:#2e7b60;--surface:#fff;--shadow:0 28px 80px rgba(7,8,9,.12);--radius:24px;--max:1240px;--display:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden}body.is-loading{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.skip-link{position:fixed;left:14px;top:-100px;z-index:9999;background:#fff;color:#000;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow)}.skip-link:focus{top:14px}.shell{width:min(calc(100% - 36px),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 36px),820px);margin-inline:auto}.display{font-family:var(--display);font-weight:500;letter-spacing:-.04em;line-height:.98}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800;color:var(--gold)}.muted{color:var(--muted)}.section{padding:96px 0}.section-sm{padding:64px 0}.section-dark{background:var(--ink);color:var(--ivory)}.section-soft{background:#f1ede3}.section-grid{background-image:linear-gradient(rgba(13,15,16,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(13,15,16,.045) 1px,transparent 1px);background-size:46px 46px}.section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:32px;align-items:end;margin-bottom:44px}.section-head h2{font-size:clamp(2.2rem,5vw,4.9rem);margin:.25rem 0 0}.section-head p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:.22s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#111;border-color:#d8b96b;box-shadow:0 12px 28px rgba(196,155,72,.22)}.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06)}.btn-outline{border-color:var(--line);background:transparent}.btn-danger{border-color:rgba(182,59,59,.3);color:var(--danger);background:rgba(182,59,59,.05)}.icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:var(--surface)}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.82rem;background:rgba(255,255,255,.68)}.dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
#scroll-progress{position:fixed;z-index:1100;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold2),var(--gold))}.site-header{position:sticky;top:0;z-index:1000;background:rgba(251,250,246,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(13,15,16,.08)}.header-inner{min-height:76px;display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;flex-shrink:0}.brand img{width:42px;height:42px}.brand small{display:block;font:700 .62rem/1 var(--sans);letter-spacing:.16em;color:var(--gold);margin-top:4px}.nav{display:flex;align-items:center;gap:24px;margin-inline-start:auto;white-space:nowrap}.nav>a{font-weight:700;font-size:.92rem}.nav>a:hover,.nav>a[aria-current="page"]{color:#85641f}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.mobile-toggle{display:none}.mega-wrap{position:relative}.mega{position:absolute;inset-inline-end:-160px;top:42px;width:min(820px,90vw);padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:none}.mega-wrap:hover .mega,.mega-wrap:focus-within .mega{display:grid}.mega-grid{grid-template-columns:repeat(3,1fr);gap:12px}.mega-card{padding:16px;border-radius:16px;background:#f3efe6}.mega-card b{display:block;font-family:var(--display);font-size:1.05rem}.mobile-nav{display:none;padding:18px 0;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px 0;font-weight:700}
.hero{min-height:760px;position:relative;display:grid;align-items:end;background:#090a0b;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.62}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,6,.88) 0%,rgba(5,6,6,.55) 48%,rgba(5,6,6,.18) 100%),linear-gradient(0deg,rgba(5,6,6,.78),transparent 60%)}.hero-grid{position:relative;z-index:2;padding:130px 0 72px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);gap:48px;align-items:end}.hero h1{font-size:clamp(3.5rem,8vw,8.2rem);margin:14px 0 24px;max-width:8.5ch}.hero .lede{font-size:clamp(1.05rem,2vw,1.3rem);max-width:62ch;color:rgba(255,255,255,.82)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-card{padding:26px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:rgba(12,14,15,.48);backdrop-filter:blur(14px)}.hero-card .num{font-family:var(--display);font-size:2.5rem;color:var(--gold2)}.hero-card hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:18px 0}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.hero-meta div{border-top:1px solid rgba(255,255,255,.25);padding-top:16px;font-size:.86rem;color:rgba(255,255,255,.7)}.hero-meta b{display:block;color:#fff;font-size:1rem;margin-bottom:4px}
.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:24px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item b{display:block;font-family:var(--display);font-size:1.1rem}.trust-item span{font-size:.84rem;color:var(--muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 34px rgba(9,11,12,.05)}.card-body{padding:24px}.card h3{font-family:var(--display);font-size:1.65rem;line-height:1.08;margin:.2rem 0 .7rem}.card-media{aspect-ratio:4/3;overflow:hidden;background:#111}.card-media img{width:100%;height:100%;object-fit:cover;transition:.5s ease}.card:hover .card-media img{transform:scale(1.035)}.card-kicker{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.service-card:nth-child(2){transform:translateY(28px)}.service-card:nth-child(3){transform:translateY(-12px)}.feature-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.feature-list li{display:flex;gap:10px;align-items:flex-start}.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:center}.media-frame{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);position:relative}.media-frame img{width:100%;height:100%;object-fit:cover}.media-note{position:absolute;left:18px;bottom:18px;background:rgba(13,15,16,.85);color:white;padding:12px 16px;border-radius:14px;font-size:.84rem;backdrop-filter:blur(10px)}
.steps{counter-reset:step}.step{display:grid;grid-template-columns:74px 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--line)}.step:before{counter-increment:step;content:"0" counter(step);font-family:var(--display);font-size:2.15rem;color:var(--gold)}.step h3{margin:0 0 6px;font-family:var(--display);font-size:1.45rem}.before-after{position:relative;min-height:520px;border-radius:32px;overflow:hidden;background:#111;isolation:isolate}.ba-layer{position:absolute;inset:0}.ba-layer img{width:100%;height:100%;object-fit:cover}.ba-process{z-index:1}.ba-finish{z-index:2;clip-path:inset(0 0 0 50%)}.ba-label{position:absolute;z-index:5;top:18px;padding:8px 13px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-weight:700;font-size:.78rem;pointer-events:none}.ba-label.before{left:18px}.ba-label.after{right:18px}.ba-divider{position:absolute;z-index:4;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 0 4px rgba(0,0,0,.2);pointer-events:none}.ba-divider:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-weight:900;box-shadow:0 10px 28px rgba(0,0,0,.2)}.ba-range{position:absolute;z-index:6;inset:0;width:100%;height:100%;margin:0;opacity:.001;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent;touch-action:pan-y}.ba-range::-webkit-slider-runnable-track{height:100%;background:transparent;border:0}.ba-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:48px;height:48px;background:transparent;border:0}.ba-range::-moz-range-track{height:100%;background:transparent;border:0}.ba-range::-moz-range-thumb{width:48px;height:48px;background:transparent;border:0}.ba-range:focus-visible~.ba-divider:after{outline:3px solid var(--gold2);outline-offset:5px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.tab{border:1px solid var(--line);background:var(--surface);padding:10px 15px;border-radius:999px;font-weight:800}.tab[aria-selected="true"]{background:var(--ink);color:white}.tab-panel[hidden]{display:none}.comparison{width:100%;border-collapse:collapse;background:var(--surface);border-radius:20px;overflow:hidden}.comparison th,.comparison td{padding:16px;border-bottom:1px solid var(--line);text-align:left}.comparison th{background:#f1ede3;font-family:var(--display)}.comparison td:not(:first-child),.comparison th:not(:first-child){text-align:center}.quote{font-family:var(--display);font-size:clamp(1.75rem,3.5vw,3.25rem);line-height:1.12;margin:0}.testimonial{padding:28px;border-radius:24px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05)}.stars{color:var(--gold2);letter-spacing:.2em}.gallery{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-auto-rows:250px;gap:14px}.gallery button{border:0;padding:0;background:none;border-radius:20px;overflow:hidden;position:relative}.gallery button:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover}.gallery button:after{content:"View";position:absolute;right:12px;bottom:12px;background:rgba(13,15,16,.75);color:white;padding:7px 11px;border-radius:999px;font-size:.75rem;font-weight:800}.video-poster{min-height:500px;border-radius:30px;overflow:hidden;position:relative;display:grid;place-items:center;background:#0b0c0d}.video-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.46}.play{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.12);color:#fff;font-size:1.55rem;backdrop-filter:blur(12px)}
.calculator,.quiz{padding:30px;border-radius:28px;background:#111;color:#fff;border:1px solid rgba(255,255,255,.16)}.control{display:grid;gap:7px;margin-bottom:16px}.control label{font-size:.84rem;font-weight:800}.control input,.control select,.control textarea{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.08);color:inherit}.control option{color:#111}.estimate{font-family:var(--display);font-size:3.5rem;color:var(--gold2);margin:10px 0}.quiz-options{display:grid;gap:10px}.quiz-option{display:flex;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.18);padding:14px;border-radius:14px}.map-shell{display:grid;grid-template-columns:.65fr 1.35fr;min-height:420px;border-radius:28px;overflow:hidden;border:1px solid var(--line);background:#fff}.map-copy{padding:34px}.map-placeholder{background:linear-gradient(135deg,#d9d5cb,#f6f4ee);display:grid;place-items:center;padding:32px;text-align:center;position:relative;overflow:hidden}.map-placeholder:before{content:"";position:absolute;inset:-20%;background-image:linear-gradient(45deg,transparent 47%,rgba(13,15,16,.09) 48%,rgba(13,15,16,.09) 52%,transparent 53%);background-size:80px 80px;transform:rotate(12deg)}.map-placeholder>*{position:relative}.map-frame{width:100%;height:100%;min-height:420px;border:0}
.accordion{border-top:1px solid var(--line)}.acc-item{border-bottom:1px solid var(--line)}.acc-button{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;text-align:left;border:0;background:transparent;padding:22px 0;font:600 1.1rem var(--sans)}.acc-button span:last-child{font-size:1.4rem}.acc-panel{padding:0 0 22px;max-width:70ch}.acc-panel[hidden]{display:none}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.form-card{padding:30px;border-radius:28px;background:#fff;border:1px solid var(--line)}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-card input,.form-card select,.form-card textarea{width:100%;min-height:48px;border:1px solid #d7d5cf;border-radius:13px;padding:12px 13px;background:#fff}.form-card textarea{min-height:140px;resize:vertical}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:3px solid rgba(196,155,72,.26);border-color:var(--gold)}.form-card input[type="checkbox"],.form-card input[type="radio"]{width:18px;min-height:18px}.check{display:flex;align-items:flex-start;gap:10px;font-size:.86rem}.file-drop{padding:18px;border:1px dashed #bbb;border-radius:14px;background:#faf9f5}.form-note{font-size:.78rem;color:var(--muted)}.form-error{color:#a12f2f;font-size:.82rem}.multistep .step-pane[hidden]{display:none}.stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:24px}.step-chip{padding:10px 8px;border-radius:12px;border:1px solid var(--line);text-align:center;font-size:.76rem;font-weight:800;background:#f7f5ef}.step-chip.active{background:var(--ink);color:#fff}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.blog-hero{padding:100px 0 64px;background:var(--ink);color:#fff}.blog-hero h1{font-size:clamp(3rem,7vw,6.8rem);margin:10px 0 18px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.post-card img{aspect-ratio:16/10;width:100%;object-fit:cover}.post-card .body{padding:20px}.post-card h3{font-family:var(--display);font-size:1.45rem;line-height:1.13;margin:8px 0}.post-meta{font-size:.78rem;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:46px;align-items:start}.article-content{font-size:1.06rem}.article-content h2{font-family:var(--display);font-size:2.2rem;margin:2.5rem 0 .7rem}.article-content p{max-width:72ch}.article-content figure{margin:2rem 0}.article-content figcaption{font-size:.8rem;color:var(--muted);margin-top:8px}.toc{position:sticky;top:102px;border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff}.toc a{display:block;padding:8px 0;font-size:.86rem}.author-box{margin-top:48px;padding:24px;border-radius:22px;background:#f1ede3;display:grid;grid-template-columns:70px 1fr;gap:18px}.avatar{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--gold2);font-family:var(--display);font-size:1.6rem}.pagination{display:flex;justify-content:center;gap:8px;margin-top:42px}.pagination a,.pagination span{min-width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line)}.pagination .current{background:var(--ink);color:#fff}
.page-hero{padding:110px 0 60px;background:#f0ece2;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3rem,7vw,6.6rem);margin:10px 0 18px;max-width:13ch}.breadcrumbs{font-size:.78rem;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}.stat strong{display:block;font-family:var(--display);font-size:2.3rem}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:1px;background:var(--line)}.timeline-item{position:relative;padding:0 0 30px 54px}.timeline-item:before{content:"";position:absolute;left:10px;top:7px;width:15px;height:15px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 7px #f1ede3}.timeline-item h3{font-family:var(--display);margin:0 0 4px}
.legal{padding:80px 0}.legal h1{font-size:clamp(2.6rem,6vw,5rem);margin:.5rem 0 1rem}.legal h2{font-family:var(--display);font-size:2rem;margin:2.4rem 0 .6rem}.legal h3{font-family:var(--display);font-size:1.35rem}.legal p,.legal li{max-width:78ch}.legal-note{padding:18px;border-left:4px solid var(--gold);background:#f1ede3;border-radius:0 14px 14px 0}.system-page{min-height:100vh;display:grid;place-items:center;background:var(--ink);color:#fff;padding:40px}.system-card{text-align:center;max-width:720px}.system-code{font-family:var(--display);font-size:clamp(6rem,22vw,15rem);line-height:.8;color:var(--gold)}.system-card h1{font-family:var(--display);font-size:clamp(2rem,5vw,4rem)}
.admin-body{background:#eef0f1;color:#17191b}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.admin-side{background:#101214;color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh;overflow:auto}.admin-side .brand{margin-bottom:28px}.admin-nav{display:grid;gap:6px}.admin-nav a{padding:12px 14px;border-radius:12px;color:rgba(255,255,255,.72);font-weight:700}.admin-nav a:hover,.admin-nav a[aria-current="page"]{background:rgba(196,155,72,.16);color:#fff}.admin-main{min-width:0}.admin-top{min-height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #dde0e2;position:sticky;top:0;z-index:50}.admin-content{padding:28px}.admin-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.admin-title h1{font-family:var(--display);font-size:2.5rem;margin:0}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-card{background:#fff;border:1px solid #dde0e2;border-radius:18px;padding:20px}.admin-card .metric{font-family:var(--display);font-size:2.4rem}.preview-badge{display:inline-flex;border-radius:999px;padding:5px 9px;background:#f4eddc;color:#735717;font-weight:800;font-size:.72rem}.admin-panel{background:#fff;border:1px solid #dde0e2;border-radius:18px;padding:20px;margin-top:18px}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid #e4e6e7;text-align:left;font-size:.9rem}.admin-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:#777}.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:800}.status.live{background:#e7f3ee;color:#26604d}.status.draft{background:#f3efe4;color:#725b22}.bar-chart{height:230px;display:flex;align-items:flex-end;gap:12px;padding-top:20px}.bar{flex:1;background:linear-gradient(180deg,var(--gold2),var(--gold));border-radius:8px 8px 0 0;min-width:20px;position:relative}.bar:after{content:attr(data-label);position:absolute;bottom:-26px;left:50%;transform:translateX(-50%);font-size:.68rem;color:#777}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.media-tile{background:#fff;border:1px solid #dde0e2;border-radius:16px;overflow:hidden}.media-tile img{aspect-ratio:4/3;object-fit:cover;width:100%}.media-tile p{padding:10px;margin:0;font-size:.8rem}.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-form .full{grid-column:1/-1}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:11px;border:1px solid #cfd3d6;border-radius:10px;background:#fff}
.site-footer{background:#0b0d0e;color:#d6d2c9;padding:66px 0 28px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px}.footer-grid h4{color:#fff;font-family:var(--display);font-size:1.1rem}.footer-grid a{display:block;color:#aaa69d;padding:5px 0}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:44px;font-size:.78rem;color:#8e8a82}.footer-brand p{max-width:40ch;color:#aaa69d}.sticky-cta{position:fixed;z-index:900;right:calc(20px + 100% - 100vw);bottom:20px}.scroll-top{position:fixed;z-index:900;right:calc(22px + 100% - 100vw);bottom:86px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;opacity:0;pointer-events:none;transition:.2s}.scroll-top.show{opacity:1;pointer-events:auto}.preloader{position:fixed;z-index:3000;inset:0;background:#0a0b0c;color:#fff;display:grid;place-items:center;transition:opacity .28s ease,visibility .28s ease}.preloader.done{opacity:0;visibility:hidden}.preloader-inner{text-align:center}.preloader-mark{width:84px;margin:0 auto 20px}.preloader-count{font-family:var(--display);font-size:2rem;color:var(--gold2)}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:4000;border-radius:50%;display:none}.cursor-dot{width:6px;height:6px;background:var(--gold)}.cursor-ring{width:30px;height:30px;border:1px solid rgba(196,155,72,.7)}.toast-stack{position:fixed;right:18px;top:92px;z-index:2100;display:grid;gap:10px}.toast{min-width:280px;max-width:380px;background:#111;color:#fff;border:1px solid rgba(255,255,255,.18);padding:14px 16px;border-radius:14px;box-shadow:var(--shadow)}.toast b{color:var(--gold2)}.modal-backdrop{position:fixed;inset:0;z-index:2200;background:rgba(0,0,0,.66);display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal{width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;color:#111;border-radius:24px;padding:26px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.modal h2{font-family:var(--display);font-size:2.1rem;margin:.1rem 0}.lightbox-image{width:100%;border-radius:14px;margin-top:14px}.cookie-banner{position:fixed;z-index:2000;left:18px;right:18px;bottom:18px;margin:auto;max-width:960px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.cookie-banner[hidden]{display:none}.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-banner p{margin:4px 0;color:var(--muted);font-size:.88rem}.rtl-toggle{width:auto;min-width:58px;padding-inline:12px;border-radius:999px;font-size:.7rem;font-weight:900;line-height:1;white-space:nowrap}.hc body,.high-contrast body{background:#000;color:#fff}.high-contrast{--paper:#000;--surface:#000;--ink:#fff;--muted:#fff;--line:#fff;--gold:#ffdf00;--gold2:#ffdf00}.high-contrast .site-header,.high-contrast .card,.high-contrast .form-card,.high-contrast .trust-strip,.high-contrast .admin-card,.high-contrast .admin-panel{background:#000;color:#fff;border-color:#fff}.high-contrast .section-soft,.high-contrast .page-hero{background:#000;color:#fff}.high-contrast input,.high-contrast select,.high-contrast textarea{background:#000!important;color:#fff!important;border-color:#fff!important}.high-contrast .btn-primary{background:#ffdf00;color:#000}
html[data-theme="dark"]{--paper:#0e1011;--surface:#17191b;--ink:#f5f1e8;--muted:#aaa69d;--line:rgba(255,255,255,.13)}html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}html[data-theme="dark"] .site-header{background:rgba(14,16,17,.86)}html[data-theme="dark"] .trust-strip,html[data-theme="dark"] .card,html[data-theme="dark"] .form-card,html[data-theme="dark"] .toc,html[data-theme="dark"] .post-card,html[data-theme="dark"] .stat{background:#17191b;color:#f5f1e8}html[data-theme="dark"] .section-soft,html[data-theme="dark"] .page-hero{background:#131516}html[data-theme="dark"] .control input,html[data-theme="dark"] .control select,html[data-theme="dark"] .control textarea{color:#fff}html[data-theme="dark"] .form-card input,html[data-theme="dark"] .form-card select,html[data-theme="dark"] .form-card textarea{background:#101214;color:#fff;border-color:#34373b}html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .scroll-top{background:#17191b;color:#fff}html[data-theme="dark"] .comparison{background:#17191b}html[data-theme="dark"] .comparison th{background:#22262a}html[data-theme="dark"] .author-box{background:#202326}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .hero-media:after{background:linear-gradient(-90deg,rgba(5,6,6,.88) 0%,rgba(5,6,6,.55) 48%,rgba(5,6,6,.18) 100%),linear-gradient(0deg,rgba(5,6,6,.78),transparent 60%)}html[dir="rtl"] .feature-list li{flex-direction:row-reverse}html[dir="rtl"] .timeline:before{left:auto;right:17px}html[dir="rtl"] .timeline-item{padding-left:0;padding-right:54px}html[dir="rtl"] .timeline-item:before{left:auto;right:10px}html[dir="rtl"] .sticky-cta{right:auto;left:calc(20px + 100% - 100vw)}html[dir="rtl"] .scroll-top{right:auto;left:calc(22px + 100% - 100vw)}html[dir="rtl"] .toast-stack{right:auto;left:18px}
@media(max-width:1050px){.nav{display:none}.mobile-toggle{display:grid}.mobile-nav.open{display:block}.hero-grid,.section-head,.split,.contact-grid,.map-shell,.article-layout{grid-template-columns:1fr}.hero-grid{padding-top:100px}.hero-card{max-width:560px}.grid-4,.stat-grid,.admin-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.post-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.toc{position:static}.admin-shell{grid-template-columns:1fr}.admin-side{height:auto;position:relative}.admin-nav{grid-template-columns:repeat(5,1fr)}.admin-nav a{text-align:center;padding:10px 6px;font-size:.76rem}.media-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.shell,.narrow{width:min(calc(100% - 24px),var(--max))}.section{padding:72px 0}.header-inner{min-height:68px}.brand span{font-size:.86rem}.brand small{font-size:.54rem}.header-actions .btn{display:none}.hero{min-height:700px}.hero-grid{grid-template-columns:1fr;padding:94px 0 44px}.hero h1{font-size:clamp(3.2rem,18vw,5.6rem)}.hero-meta{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.grid-2,.grid-3,.grid-4,.post-grid,.stat-grid,.admin-grid{grid-template-columns:1fr}.service-card:nth-child(2),.service-card:nth-child(3){transform:none}.gallery{grid-template-columns:1fr;grid-auto-rows:240px}.gallery button:first-child{grid-row:span 1}.form-row{grid-template-columns:1fr}.stepper{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.sticky-cta{left:12px;right:12px;bottom:12px}.sticky-cta .btn{width:100%}.scroll-top{bottom:78px}.cookie-banner{grid-template-columns:1fr;left:10px;right:10px;bottom:10px}.admin-content,.admin-top{padding-left:16px;padding-right:16px}.admin-nav{grid-template-columns:1fr 1fr}.media-grid{grid-template-columns:1fr 1fr}.admin-form{grid-template-columns:1fr}.admin-form .full{grid-column:auto}.map-shell{display:block}.map-placeholder{min-height:320px}.before-after{min-height:360px}.mega{display:none!important}}
@media(pointer:fine) and (prefers-reduced-motion:no-preference){.cursor-dot,.cursor-ring{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cursor-dot,.cursor-ring{display:none!important}}
@media(forced-colors:active){*{box-shadow:none!important}.btn,.card,.form-card,.site-header{border:1px solid CanvasText}.btn-primary{background:ButtonFace;color:ButtonText}}
@media print{.site-header,.sticky-cta,.scroll-top,.cookie-banner,.preloader,.cursor-dot,.cursor-ring,.toast-stack{display:none!important}.section{padding:28px 0}.hero{min-height:auto;color:#000;background:#fff}.hero-media{display:none}.hero-grid{padding:30px 0}.site-footer{background:#fff;color:#000}}

/* Utility classes replacing inline presentation to keep CSP/style-inline rules strict. */
.title-xxl{font-size:clamp(2.8rem,6vw,5.6rem);margin:.4rem 0 1rem}.title-xl{font-size:2.8rem}.title-lg{font-size:2.4rem}.title-md{font-size:2.2rem}.title-4rem{font-size:4rem}.title-38{font-size:3.8rem}.title-3rem{font-size:3rem}.title-26{font-size:2.6rem}.dark-muted{color:rgba(255,255,255,.68)}.quiz-result{margin-top:18px;color:var(--gold2)}.search-wide{max-width:720px}.search-dark-input{padding:14px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.09);color:#fff}.spacer-48{height:48px}.overflow-auto{overflow:auto}.hero-compact{min-height:640px}.admin-rule{border:0;border-top:1px solid rgba(255,255,255,.12);margin:24px 0}.admin-subtitle{font-size:1.7rem}.bar-h38{height:38%}.bar-h44{height:44%}.bar-h51{height:51%}.bar-h54{height:54%}.bar-h66{height:66%}.bar-h74{height:74%}.bar-h88{height:88%}.toc-rule{border:0;border-top:1px solid var(--line)}

.carousel-box,.advanced-demo{border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:28px;background:rgba(255,255,255,.05)}.carousel-slide{min-height:240px;display:grid;align-content:center}.carousel-slide[hidden]{display:none}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}.range-slider{width:100%;accent-color:var(--gold);margin:18px 0}.range-output{display:block;color:var(--gold2);font-weight:800;margin-bottom:24px}.dark-rule{border:0;border-top:1px solid rgba(255,255,255,.14);margin:28px 0}.countdown-clock{font-family:var(--display);font-size:clamp(3rem,8vw,6rem);color:var(--gold2);letter-spacing:-.05em;line-height:1;margin:12px 0 22px}@media(max-width:720px){.carousel-controls{align-items:stretch;flex-direction:column}.carousel-controls .btn{width:100%}}

.video-embed{aspect-ratio:16/9}.video-embed iframe{width:100%;height:100%;border:0}


/* Patch 1.0.2 — stable scrollbar, themed scrollbar, mega-menu hover bridge. */
:root{
  --scrollbar-track:#ece7dc;
  --scrollbar-thumb:#b59a62;
  --scrollbar-thumb-hover:#8d7139;
}
html{
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);
}
html::-webkit-scrollbar{width:12px;height:12px}
html::-webkit-scrollbar-track{background:var(--scrollbar-track)}
html::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:3px solid var(--scrollbar-track);border-radius:999px}
html::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
html[data-theme="dark"]{
  --scrollbar-track:#0e1011;
  --scrollbar-thumb:#5b5140;
  --scrollbar-thumb-hover:#c49b48;
}
html.high-contrast,
html.high-contrast[data-theme="dark"]{
  --scrollbar-track:#000;
  --scrollbar-thumb:#ffdf00;
  --scrollbar-thumb-hover:#fff;
}
html.high-contrast::-webkit-scrollbar-thumb,
html.high-contrast[data-theme="dark"]::-webkit-scrollbar-thumb{border-color:#000}

/* Keep the vertical gutter reserved while the preloader locks scrolling. */
html.is-loading,body.is-loading{overflow:hidden}

@media(min-width:721px){
  .mega-wrap{z-index:2}
  .mega{
    display:grid;
    top:calc(100% + 14px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
    z-index:4;
  }
  .mega::before{
    content:"";
    position:absolute;
    inset-inline:0;
    top:-18px;
    height:18px;
  }
  .mega-wrap:hover .mega,
  .mega-wrap:focus-within .mega{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }
}

/* Patch 1.0.6 — keep section-dark tabs legible and visually consistent in light/dark modes. */
.section-dark .tab{
  background:rgba(255,255,255,.055);
  color:#f5f1e8;
  border-color:rgba(255,255,255,.22);
}
.section-dark .tab:hover,
.section-dark .tab:focus-visible{
  background:rgba(255,255,255,.11);
  border-color:rgba(226,201,138,.55);
}
.section-dark .tab[aria-selected="true"]{
  background:#f5f1e8;
  color:#0d0f10;
  border-color:#f5f1e8;
}

/* Patch 1.0.3 — comprehensive dark/high-contrast theme normalization. */
:root{
  --theme-soft:#f1ede3;
  --theme-soft-2:#f7f5ef;
  --theme-raised:#ffffff;
  --theme-input:#ffffff;
  --theme-input-border:#d7d5cf;
  --theme-header:rgba(251,250,246,.82);
  --theme-grid:rgba(13,15,16,.045);
  --theme-accent-text:#85641f;
  --theme-map-a:#d9d5cb;
  --theme-map-b:#f6f4ee;
  --theme-map-line:rgba(13,15,16,.09);
  --theme-admin-bg:#eef0f1;
  --theme-admin-border:#dde0e2;
  --theme-admin-rule:#e4e6e7;
  --theme-subtle-text:#777;
  --theme-focus:rgba(196,155,72,.28);
}

/* Light mode also consumes the same semantic tokens so every component has one source of truth. */
.section-soft,.comparison th,.author-box,.legal-note{background:var(--theme-soft)}
.mega-card,.step-chip{background:var(--theme-soft-2)}
.trust-strip,.map-shell,.form-card,.post-card,.toc,.stat,.modal,.cookie-banner,.scroll-top,.skip-link{background:var(--theme-raised)}
.form-card input,.form-card select,.form-card textarea,.admin-form input,.admin-form select,.admin-form textarea{background:var(--theme-input);border-color:var(--theme-input-border)}
.section-grid{background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px)}
.nav>a:hover,.nav>a[aria-current="page"]{color:var(--theme-accent-text)}
.map-placeholder{background:linear-gradient(135deg,var(--theme-map-a),var(--theme-map-b))}
.map-placeholder:before{background-image:linear-gradient(45deg,transparent 47%,var(--theme-map-line) 48%,var(--theme-map-line) 52%,transparent 53%)}

html[data-theme="dark"]{
  color-scheme:dark;
  --paper:#0e1011;
  --surface:#17191b;
  --ink:#f5f1e8;
  --ivory:#f5f1e8;
  --muted:#b8b3aa;
  --line:rgba(255,255,255,.16);
  --danger:#ff8f8f;
  --ok:#80d5b6;
  --shadow:0 28px 80px rgba(0,0,0,.42);
  --theme-soft:#202326;
  --theme-soft-2:#1c1f21;
  --theme-raised:#17191b;
  --theme-input:#101214;
  --theme-input-border:#3a3e42;
  --theme-header:rgba(14,16,17,.9);
  --theme-grid:rgba(255,255,255,.055);
  --theme-accent-text:#e2c98a;
  --theme-map-a:#202326;
  --theme-map-b:#121416;
  --theme-map-line:rgba(255,255,255,.09);
  --theme-admin-bg:#0e1011;
  --theme-admin-border:#34383c;
  --theme-admin-rule:#303438;
  --theme-subtle-text:#b8b3aa;
  --theme-focus:rgba(226,201,138,.32);
}
html[data-theme="dark"] .site-header{background:var(--theme-header);border-color:var(--line)}
html[data-theme="dark"] .section-dark,
html[data-theme="dark"] .blog-hero,
html[data-theme="dark"] .system-page{background:#090b0c;color:#f5f1e8}
html[data-theme="dark"] .site-footer{background:#090b0c;color:#d6d2c9}
html[data-theme="dark"] .section-soft,
html[data-theme="dark"] .page-hero{background:var(--theme-soft);color:var(--ink)}
html[data-theme="dark"] .mega,
html[data-theme="dark"] .mega-card,
html[data-theme="dark"] .trust-strip,
html[data-theme="dark"] .card,
html[data-theme="dark"] .form-card,
html[data-theme="dark"] .map-shell,
html[data-theme="dark"] .post-card,
html[data-theme="dark"] .toc,
html[data-theme="dark"] .stat,
html[data-theme="dark"] .modal,
html[data-theme="dark"] .cookie-banner,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .scroll-top,
html[data-theme="dark"] .skip-link{background:var(--theme-raised);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .pill{background:rgba(255,255,255,.07);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .comparison{background:var(--theme-raised);color:var(--ink)}
html[data-theme="dark"] .comparison th,
html[data-theme="dark"] .author-box,
html[data-theme="dark"] .legal-note{background:var(--theme-soft);color:var(--ink)}
html[data-theme="dark"] .timeline-item:before{box-shadow:0 0 0 7px var(--paper)}
html[data-theme="dark"] .tab{background:var(--theme-raised);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .tab[aria-selected="true"],
html[data-theme="dark"] .step-chip.active,
html[data-theme="dark"] .pagination .current{background:#f5f1e8;color:#0e1011;border-color:#f5f1e8}
html[data-theme="dark"] .step-chip{background:var(--theme-soft-2);color:var(--ink)}
html[data-theme="dark"] .file-drop{background:#121416;color:var(--ink);border-color:#4a4e52}
html[data-theme="dark"] .form-card input,
html[data-theme="dark"] .form-card select,
html[data-theme="dark"] .form-card textarea,
html[data-theme="dark"] .admin-form input,
html[data-theme="dark"] .admin-form select,
html[data-theme="dark"] .admin-form textarea{background:var(--theme-input);color:var(--ink);border-color:var(--theme-input-border)}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#858980;opacity:1}
html[data-theme="dark"] select option,
html[data-theme="dark"] .control option{background:#101214;color:#f5f1e8}
html[data-theme="dark"] .form-card input:focus,
html[data-theme="dark"] .form-card select:focus,
html[data-theme="dark"] .form-card textarea:focus{outline-color:var(--theme-focus)}
html[data-theme="dark"] .map-placeholder{color:var(--ink)}
html[data-theme="dark"] .btn-outline{border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] .btn-danger{color:var(--danger);border-color:rgba(255,143,143,.45);background:rgba(255,143,143,.08)}
html[data-theme="dark"] .modal code{color:var(--gold2)}

/* Static admin now follows the same public theme instead of remaining light. */
html[data-theme="dark"] .admin-body{background:var(--theme-admin-bg);color:var(--ink)}
html[data-theme="dark"] .admin-top,
html[data-theme="dark"] .admin-card,
html[data-theme="dark"] .admin-panel,
html[data-theme="dark"] .media-tile{background:var(--theme-raised);color:var(--ink);border-color:var(--theme-admin-border)}
html[data-theme="dark"] .admin-top{border-bottom-color:var(--theme-admin-border)}
html[data-theme="dark"] .admin-table th,
html[data-theme="dark"] .admin-table td{border-bottom-color:var(--theme-admin-rule)}
html[data-theme="dark"] .admin-table th,
html[data-theme="dark"] .bar:after{color:var(--theme-subtle-text)}
html[data-theme="dark"] .preview-badge{background:#312a1c;color:#efd78e}
html[data-theme="dark"] .status.live{background:#173329;color:#9de0c5}
html[data-theme="dark"] .status.draft{background:#332d1e;color:#ead49a}

/* High contrast is intentionally independent from light/dark and always wins. */
html.high-contrast,
html.high-contrast[data-theme="dark"]{
  color-scheme:dark;
  --paper:#000;
  --surface:#000;
  --ink:#fff;
  --ivory:#fff;
  --muted:#fff;
  --line:#fff;
  --gold:#ffdf00;
  --gold2:#ffdf00;
  --danger:#ff8080;
  --ok:#7dffbe;
  --shadow:none;
  --theme-soft:#000;
  --theme-soft-2:#000;
  --theme-raised:#000;
  --theme-input:#000;
  --theme-input-border:#fff;
  --theme-header:#000;
  --theme-grid:rgba(255,255,255,.24);
  --theme-accent-text:#ffdf00;
  --theme-map-a:#000;
  --theme-map-b:#000;
  --theme-map-line:rgba(255,255,255,.35);
  --theme-admin-bg:#000;
  --theme-admin-border:#fff;
  --theme-admin-rule:#fff;
  --theme-subtle-text:#fff;
  --theme-focus:#ffdf00;
}
html.high-contrast body,
html.high-contrast[data-theme="dark"] body{background:#000;color:#fff}
html.high-contrast .site-header,
html.high-contrast[data-theme="dark"] .site-header{background:#000;color:#fff;border-color:#fff;backdrop-filter:none}
html.high-contrast .section,
html.high-contrast .section-sm,
html.high-contrast .section-soft,
html.high-contrast .section-dark,
html.high-contrast .page-hero,
html.high-contrast .blog-hero,
html.high-contrast .system-page,
html.high-contrast .legal,
html.high-contrast .trust-strip,
html.high-contrast[data-theme="dark"] .section,
html.high-contrast[data-theme="dark"] .section-sm,
html.high-contrast[data-theme="dark"] .section-soft,
html.high-contrast[data-theme="dark"] .section-dark,
html.high-contrast[data-theme="dark"] .page-hero,
html.high-contrast[data-theme="dark"] .blog-hero,
html.high-contrast[data-theme="dark"] .system-page,
html.high-contrast[data-theme="dark"] .legal,
html.high-contrast[data-theme="dark"] .trust-strip{background-color:#000;color:#fff}
html.high-contrast .section-grid,
html.high-contrast[data-theme="dark"] .section-grid{background-image:linear-gradient(var(--theme-grid) 1px,transparent 1px),linear-gradient(90deg,var(--theme-grid) 1px,transparent 1px)}
html.high-contrast .mega,
html.high-contrast .mega-card,
html.high-contrast .card,
html.high-contrast .form-card,
html.high-contrast .map-shell,
html.high-contrast .post-card,
html.high-contrast .toc,
html.high-contrast .stat,
html.high-contrast .author-box,
html.high-contrast .legal-note,
html.high-contrast .comparison,
html.high-contrast .comparison th,
html.high-contrast .modal,
html.high-contrast .cookie-banner,
html.high-contrast .file-drop,
html.high-contrast .step-chip,
html.high-contrast .tab,
html.high-contrast .pill,
html.high-contrast .icon-btn,
html.high-contrast .scroll-top,
html.high-contrast .skip-link,
html.high-contrast[data-theme="dark"] .mega,
html.high-contrast[data-theme="dark"] .mega-card,
html.high-contrast[data-theme="dark"] .card,
html.high-contrast[data-theme="dark"] .form-card,
html.high-contrast[data-theme="dark"] .map-shell,
html.high-contrast[data-theme="dark"] .post-card,
html.high-contrast[data-theme="dark"] .toc,
html.high-contrast[data-theme="dark"] .stat,
html.high-contrast[data-theme="dark"] .author-box,
html.high-contrast[data-theme="dark"] .legal-note,
html.high-contrast[data-theme="dark"] .comparison,
html.high-contrast[data-theme="dark"] .comparison th,
html.high-contrast[data-theme="dark"] .modal,
html.high-contrast[data-theme="dark"] .cookie-banner,
html.high-contrast[data-theme="dark"] .file-drop,
html.high-contrast[data-theme="dark"] .step-chip,
html.high-contrast[data-theme="dark"] .tab,
html.high-contrast[data-theme="dark"] .pill,
html.high-contrast[data-theme="dark"] .icon-btn,
html.high-contrast[data-theme="dark"] .scroll-top,
html.high-contrast[data-theme="dark"] .skip-link{background:#000;color:#fff;border-color:#fff;box-shadow:none}
html.high-contrast .map-placeholder,
html.high-contrast[data-theme="dark"] .map-placeholder{background:#000;color:#fff;border-inline-start:1px solid #fff}
html.high-contrast .tab[aria-selected="true"],
html.high-contrast .step-chip.active,
html.high-contrast .pagination .current,
html.high-contrast[data-theme="dark"] .tab[aria-selected="true"],
html.high-contrast[data-theme="dark"] .step-chip.active,
html.high-contrast[data-theme="dark"] .pagination .current{background:#ffdf00;color:#000;border-color:#ffdf00}
html.high-contrast .btn-primary,
html.high-contrast[data-theme="dark"] .btn-primary{background:#ffdf00;color:#000;border-color:#ffdf00;box-shadow:none}
html.high-contrast .btn-outline,
html.high-contrast .btn-ghost,
html.high-contrast[data-theme="dark"] .btn-outline,
html.high-contrast[data-theme="dark"] .btn-ghost{background:#000;color:#fff;border-color:#fff}
html.high-contrast .btn-danger,
html.high-contrast[data-theme="dark"] .btn-danger{background:#000;color:#ff8080;border-color:#ff8080}
html.high-contrast input,
html.high-contrast select,
html.high-contrast textarea,
html.high-contrast[data-theme="dark"] input,
html.high-contrast[data-theme="dark"] select,
html.high-contrast[data-theme="dark"] textarea{background:#000!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.high-contrast input::placeholder,
html.high-contrast textarea::placeholder,
html.high-contrast[data-theme="dark"] input::placeholder,
html.high-contrast[data-theme="dark"] textarea::placeholder{color:#fff;opacity:1}
html.high-contrast select option,
html.high-contrast .control option,
html.high-contrast[data-theme="dark"] select option,
html.high-contrast[data-theme="dark"] .control option{background:#000;color:#fff}
html.high-contrast :focus-visible,
html.high-contrast[data-theme="dark"] :focus-visible{outline:3px solid #ffdf00!important;outline-offset:3px}
html.high-contrast .timeline-item:before,
html.high-contrast[data-theme="dark"] .timeline-item:before{background:#ffdf00;box-shadow:0 0 0 5px #000,0 0 0 7px #fff}
html.high-contrast .site-footer,
html.high-contrast[data-theme="dark"] .site-footer{background:#000;color:#fff;border-top:1px solid #fff}
html.high-contrast .footer-grid a,
html.high-contrast .footer-brand p,
html.high-contrast .footer-bottom,
html.high-contrast[data-theme="dark"] .footer-grid a,
html.high-contrast[data-theme="dark"] .footer-brand p,
html.high-contrast[data-theme="dark"] .footer-bottom{color:#fff}
html.high-contrast .footer-bottom,
html.high-contrast[data-theme="dark"] .footer-bottom{border-top-color:#fff}
html.high-contrast .gallery button:after,
html.high-contrast[data-theme="dark"] .gallery button:after{background:#000;color:#ffdf00;border:1px solid #ffdf00}
html.high-contrast .ba-divider,
html.high-contrast[data-theme="dark"] .ba-divider{background:#ffdf00;box-shadow:none}
html.high-contrast .ba-divider:after,
html.high-contrast[data-theme="dark"] .ba-divider:after{background:#ffdf00;color:#000;border:2px solid #000}

/* Admin high contrast overrides all light-only admin surfaces. */
html.high-contrast .admin-body,
html.high-contrast .admin-top,
html.high-contrast .admin-card,
html.high-contrast .admin-panel,
html.high-contrast .media-tile,
html.high-contrast[data-theme="dark"] .admin-body,
html.high-contrast[data-theme="dark"] .admin-top,
html.high-contrast[data-theme="dark"] .admin-card,
html.high-contrast[data-theme="dark"] .admin-panel,
html.high-contrast[data-theme="dark"] .media-tile{background:#000;color:#fff;border-color:#fff}
html.high-contrast .admin-top,
html.high-contrast[data-theme="dark"] .admin-top{border-bottom-color:#fff}
html.high-contrast .admin-side,
html.high-contrast[data-theme="dark"] .admin-side{background:#000;color:#fff;border-inline-end:1px solid #fff}
html.high-contrast .admin-nav a,
html.high-contrast[data-theme="dark"] .admin-nav a{color:#fff;border:1px solid transparent}
html.high-contrast .admin-nav a:hover,
html.high-contrast .admin-nav a[aria-current="page"],
html.high-contrast[data-theme="dark"] .admin-nav a:hover,
html.high-contrast[data-theme="dark"] .admin-nav a[aria-current="page"]{background:#ffdf00;color:#000;border-color:#ffdf00}
html.high-contrast .preview-badge,
html.high-contrast .status,
html.high-contrast[data-theme="dark"] .preview-badge,
html.high-contrast[data-theme="dark"] .status{background:#000;color:#fff;border:1px solid #fff}
html.high-contrast .admin-table th,
html.high-contrast .admin-table td,
html.high-contrast[data-theme="dark"] .admin-table th,
html.high-contrast[data-theme="dark"] .admin-table td{color:#fff;border-bottom-color:#fff}
html.high-contrast .bar:after,
html.high-contrast[data-theme="dark"] .bar:after{color:#fff}

@media(forced-colors:active){
  .mega,.mega-card,.map-shell,.toc,.modal,.cookie-banner,.admin-card,.admin-panel,.media-tile{border:1px solid CanvasText}
}

/* Contrast finishing pass for intentionally dark/translucent components. */
html.high-contrast .calculator,
html.high-contrast .quiz,
html.high-contrast .testimonial,
html.high-contrast .carousel-box,
html.high-contrast .advanced-demo,
html.high-contrast .hero-card,
html.high-contrast .media-note,
html.high-contrast .toast,
html.high-contrast[data-theme="dark"] .calculator,
html.high-contrast[data-theme="dark"] .quiz,
html.high-contrast[data-theme="dark"] .testimonial,
html.high-contrast[data-theme="dark"] .carousel-box,
html.high-contrast[data-theme="dark"] .advanced-demo,
html.high-contrast[data-theme="dark"] .hero-card,
html.high-contrast[data-theme="dark"] .media-note,
html.high-contrast[data-theme="dark"] .toast{background:#000;color:#fff;border:1px solid #fff;box-shadow:none}
html.high-contrast .carousel-controls,
html.high-contrast .dark-rule,
html.high-contrast .admin-rule,
html.high-contrast[data-theme="dark"] .carousel-controls,
html.high-contrast[data-theme="dark"] .dark-rule,
html.high-contrast[data-theme="dark"] .admin-rule{border-color:#fff}
html.high-contrast .quiz-option,
html.high-contrast[data-theme="dark"] .quiz-option{border-color:#fff}
html.high-contrast .play,
html.high-contrast[data-theme="dark"] .play{background:#000;color:#ffdf00;border:2px solid #ffdf00;backdrop-filter:none}
html.high-contrast .ba-label,
html.high-contrast[data-theme="dark"] .ba-label{background:#000;color:#fff;border:1px solid #fff}
html.high-contrast .comparison,
html.high-contrast[data-theme="dark"] .comparison{border:1px solid #fff}

/* Visible state for theme/contrast controls. */
.icon-btn[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
html.high-contrast .icon-btn[aria-pressed="true"],html.high-contrast[data-theme="dark"] .icon-btn[aria-pressed="true"]{background:#ffdf00;color:#000;border-color:#ffdf00;box-shadow:none}

/* Patch 1.0.4 — preserve the mega menu's two-layer visual hierarchy in every theme. */
html[data-theme="dark"] .mega{
  background:#111416;
  border-color:#3a3e42;
  box-shadow:0 28px 80px rgba(0,0,0,.5);
}
html[data-theme="dark"] .mega-card{
  background:#23272b;
  color:#f5f1e8;
  border:1px solid rgba(255,255,255,.12);
}
html[data-theme="dark"] .mega-card:hover,
html[data-theme="dark"] .mega-card:focus-visible{
  background:#2b3034;
  border-color:rgba(226,201,138,.48);
}
html.high-contrast .mega,
html.high-contrast[data-theme="dark"] .mega{
  background:#000;
  color:#fff;
  border:2px solid #fff;
}
html.high-contrast .mega-card,
html.high-contrast[data-theme="dark"] .mega-card{
  background:#fff;
  color:#000;
  border:2px solid #fff;
  box-shadow:none;
}
html.high-contrast .mega-card .muted,
html.high-contrast[data-theme="dark"] .mega-card .muted{
  color:#000;
}
html.high-contrast .mega-card:hover,
html.high-contrast .mega-card:focus-visible,
html.high-contrast[data-theme="dark"] .mega-card:hover,
html.high-contrast[data-theme="dark"] .mega-card:focus-visible{
  background:#ffdf00;
  color:#000;
  border-color:#ffdf00;
}



/* Patch 1.0.5 — functional Process / Finish comparison slider without inline styles. */
.before-after.ba-pos-0 .ba-finish{clip-path:inset(0 0 0 0%)}.before-after.ba-pos-0 .ba-divider{left:0%}
.before-after.ba-pos-1 .ba-finish{clip-path:inset(0 0 0 1%)}.before-after.ba-pos-1 .ba-divider{left:1%}
.before-after.ba-pos-2 .ba-finish{clip-path:inset(0 0 0 2%)}.before-after.ba-pos-2 .ba-divider{left:2%}
.before-after.ba-pos-3 .ba-finish{clip-path:inset(0 0 0 3%)}.before-after.ba-pos-3 .ba-divider{left:3%}
.before-after.ba-pos-4 .ba-finish{clip-path:inset(0 0 0 4%)}.before-after.ba-pos-4 .ba-divider{left:4%}
.before-after.ba-pos-5 .ba-finish{clip-path:inset(0 0 0 5%)}.before-after.ba-pos-5 .ba-divider{left:5%}
.before-after.ba-pos-6 .ba-finish{clip-path:inset(0 0 0 6%)}.before-after.ba-pos-6 .ba-divider{left:6%}
.before-after.ba-pos-7 .ba-finish{clip-path:inset(0 0 0 7%)}.before-after.ba-pos-7 .ba-divider{left:7%}
.before-after.ba-pos-8 .ba-finish{clip-path:inset(0 0 0 8%)}.before-after.ba-pos-8 .ba-divider{left:8%}
.before-after.ba-pos-9 .ba-finish{clip-path:inset(0 0 0 9%)}.before-after.ba-pos-9 .ba-divider{left:9%}
.before-after.ba-pos-10 .ba-finish{clip-path:inset(0 0 0 10%)}.before-after.ba-pos-10 .ba-divider{left:10%}
.before-after.ba-pos-11 .ba-finish{clip-path:inset(0 0 0 11%)}.before-after.ba-pos-11 .ba-divider{left:11%}
.before-after.ba-pos-12 .ba-finish{clip-path:inset(0 0 0 12%)}.before-after.ba-pos-12 .ba-divider{left:12%}
.before-after.ba-pos-13 .ba-finish{clip-path:inset(0 0 0 13%)}.before-after.ba-pos-13 .ba-divider{left:13%}
.before-after.ba-pos-14 .ba-finish{clip-path:inset(0 0 0 14%)}.before-after.ba-pos-14 .ba-divider{left:14%}
.before-after.ba-pos-15 .ba-finish{clip-path:inset(0 0 0 15%)}.before-after.ba-pos-15 .ba-divider{left:15%}
.before-after.ba-pos-16 .ba-finish{clip-path:inset(0 0 0 16%)}.before-after.ba-pos-16 .ba-divider{left:16%}
.before-after.ba-pos-17 .ba-finish{clip-path:inset(0 0 0 17%)}.before-after.ba-pos-17 .ba-divider{left:17%}
.before-after.ba-pos-18 .ba-finish{clip-path:inset(0 0 0 18%)}.before-after.ba-pos-18 .ba-divider{left:18%}
.before-after.ba-pos-19 .ba-finish{clip-path:inset(0 0 0 19%)}.before-after.ba-pos-19 .ba-divider{left:19%}
.before-after.ba-pos-20 .ba-finish{clip-path:inset(0 0 0 20%)}.before-after.ba-pos-20 .ba-divider{left:20%}
.before-after.ba-pos-21 .ba-finish{clip-path:inset(0 0 0 21%)}.before-after.ba-pos-21 .ba-divider{left:21%}
.before-after.ba-pos-22 .ba-finish{clip-path:inset(0 0 0 22%)}.before-after.ba-pos-22 .ba-divider{left:22%}
.before-after.ba-pos-23 .ba-finish{clip-path:inset(0 0 0 23%)}.before-after.ba-pos-23 .ba-divider{left:23%}
.before-after.ba-pos-24 .ba-finish{clip-path:inset(0 0 0 24%)}.before-after.ba-pos-24 .ba-divider{left:24%}
.before-after.ba-pos-25 .ba-finish{clip-path:inset(0 0 0 25%)}.before-after.ba-pos-25 .ba-divider{left:25%}
.before-after.ba-pos-26 .ba-finish{clip-path:inset(0 0 0 26%)}.before-after.ba-pos-26 .ba-divider{left:26%}
.before-after.ba-pos-27 .ba-finish{clip-path:inset(0 0 0 27%)}.before-after.ba-pos-27 .ba-divider{left:27%}
.before-after.ba-pos-28 .ba-finish{clip-path:inset(0 0 0 28%)}.before-after.ba-pos-28 .ba-divider{left:28%}
.before-after.ba-pos-29 .ba-finish{clip-path:inset(0 0 0 29%)}.before-after.ba-pos-29 .ba-divider{left:29%}
.before-after.ba-pos-30 .ba-finish{clip-path:inset(0 0 0 30%)}.before-after.ba-pos-30 .ba-divider{left:30%}
.before-after.ba-pos-31 .ba-finish{clip-path:inset(0 0 0 31%)}.before-after.ba-pos-31 .ba-divider{left:31%}
.before-after.ba-pos-32 .ba-finish{clip-path:inset(0 0 0 32%)}.before-after.ba-pos-32 .ba-divider{left:32%}
.before-after.ba-pos-33 .ba-finish{clip-path:inset(0 0 0 33%)}.before-after.ba-pos-33 .ba-divider{left:33%}
.before-after.ba-pos-34 .ba-finish{clip-path:inset(0 0 0 34%)}.before-after.ba-pos-34 .ba-divider{left:34%}
.before-after.ba-pos-35 .ba-finish{clip-path:inset(0 0 0 35%)}.before-after.ba-pos-35 .ba-divider{left:35%}
.before-after.ba-pos-36 .ba-finish{clip-path:inset(0 0 0 36%)}.before-after.ba-pos-36 .ba-divider{left:36%}
.before-after.ba-pos-37 .ba-finish{clip-path:inset(0 0 0 37%)}.before-after.ba-pos-37 .ba-divider{left:37%}
.before-after.ba-pos-38 .ba-finish{clip-path:inset(0 0 0 38%)}.before-after.ba-pos-38 .ba-divider{left:38%}
.before-after.ba-pos-39 .ba-finish{clip-path:inset(0 0 0 39%)}.before-after.ba-pos-39 .ba-divider{left:39%}
.before-after.ba-pos-40 .ba-finish{clip-path:inset(0 0 0 40%)}.before-after.ba-pos-40 .ba-divider{left:40%}
.before-after.ba-pos-41 .ba-finish{clip-path:inset(0 0 0 41%)}.before-after.ba-pos-41 .ba-divider{left:41%}
.before-after.ba-pos-42 .ba-finish{clip-path:inset(0 0 0 42%)}.before-after.ba-pos-42 .ba-divider{left:42%}
.before-after.ba-pos-43 .ba-finish{clip-path:inset(0 0 0 43%)}.before-after.ba-pos-43 .ba-divider{left:43%}
.before-after.ba-pos-44 .ba-finish{clip-path:inset(0 0 0 44%)}.before-after.ba-pos-44 .ba-divider{left:44%}
.before-after.ba-pos-45 .ba-finish{clip-path:inset(0 0 0 45%)}.before-after.ba-pos-45 .ba-divider{left:45%}
.before-after.ba-pos-46 .ba-finish{clip-path:inset(0 0 0 46%)}.before-after.ba-pos-46 .ba-divider{left:46%}
.before-after.ba-pos-47 .ba-finish{clip-path:inset(0 0 0 47%)}.before-after.ba-pos-47 .ba-divider{left:47%}
.before-after.ba-pos-48 .ba-finish{clip-path:inset(0 0 0 48%)}.before-after.ba-pos-48 .ba-divider{left:48%}
.before-after.ba-pos-49 .ba-finish{clip-path:inset(0 0 0 49%)}.before-after.ba-pos-49 .ba-divider{left:49%}
.before-after.ba-pos-50 .ba-finish{clip-path:inset(0 0 0 50%)}.before-after.ba-pos-50 .ba-divider{left:50%}
.before-after.ba-pos-51 .ba-finish{clip-path:inset(0 0 0 51%)}.before-after.ba-pos-51 .ba-divider{left:51%}
.before-after.ba-pos-52 .ba-finish{clip-path:inset(0 0 0 52%)}.before-after.ba-pos-52 .ba-divider{left:52%}
.before-after.ba-pos-53 .ba-finish{clip-path:inset(0 0 0 53%)}.before-after.ba-pos-53 .ba-divider{left:53%}
.before-after.ba-pos-54 .ba-finish{clip-path:inset(0 0 0 54%)}.before-after.ba-pos-54 .ba-divider{left:54%}
.before-after.ba-pos-55 .ba-finish{clip-path:inset(0 0 0 55%)}.before-after.ba-pos-55 .ba-divider{left:55%}
.before-after.ba-pos-56 .ba-finish{clip-path:inset(0 0 0 56%)}.before-after.ba-pos-56 .ba-divider{left:56%}
.before-after.ba-pos-57 .ba-finish{clip-path:inset(0 0 0 57%)}.before-after.ba-pos-57 .ba-divider{left:57%}
.before-after.ba-pos-58 .ba-finish{clip-path:inset(0 0 0 58%)}.before-after.ba-pos-58 .ba-divider{left:58%}
.before-after.ba-pos-59 .ba-finish{clip-path:inset(0 0 0 59%)}.before-after.ba-pos-59 .ba-divider{left:59%}
.before-after.ba-pos-60 .ba-finish{clip-path:inset(0 0 0 60%)}.before-after.ba-pos-60 .ba-divider{left:60%}
.before-after.ba-pos-61 .ba-finish{clip-path:inset(0 0 0 61%)}.before-after.ba-pos-61 .ba-divider{left:61%}
.before-after.ba-pos-62 .ba-finish{clip-path:inset(0 0 0 62%)}.before-after.ba-pos-62 .ba-divider{left:62%}
.before-after.ba-pos-63 .ba-finish{clip-path:inset(0 0 0 63%)}.before-after.ba-pos-63 .ba-divider{left:63%}
.before-after.ba-pos-64 .ba-finish{clip-path:inset(0 0 0 64%)}.before-after.ba-pos-64 .ba-divider{left:64%}
.before-after.ba-pos-65 .ba-finish{clip-path:inset(0 0 0 65%)}.before-after.ba-pos-65 .ba-divider{left:65%}
.before-after.ba-pos-66 .ba-finish{clip-path:inset(0 0 0 66%)}.before-after.ba-pos-66 .ba-divider{left:66%}
.before-after.ba-pos-67 .ba-finish{clip-path:inset(0 0 0 67%)}.before-after.ba-pos-67 .ba-divider{left:67%}
.before-after.ba-pos-68 .ba-finish{clip-path:inset(0 0 0 68%)}.before-after.ba-pos-68 .ba-divider{left:68%}
.before-after.ba-pos-69 .ba-finish{clip-path:inset(0 0 0 69%)}.before-after.ba-pos-69 .ba-divider{left:69%}
.before-after.ba-pos-70 .ba-finish{clip-path:inset(0 0 0 70%)}.before-after.ba-pos-70 .ba-divider{left:70%}
.before-after.ba-pos-71 .ba-finish{clip-path:inset(0 0 0 71%)}.before-after.ba-pos-71 .ba-divider{left:71%}
.before-after.ba-pos-72 .ba-finish{clip-path:inset(0 0 0 72%)}.before-after.ba-pos-72 .ba-divider{left:72%}
.before-after.ba-pos-73 .ba-finish{clip-path:inset(0 0 0 73%)}.before-after.ba-pos-73 .ba-divider{left:73%}
.before-after.ba-pos-74 .ba-finish{clip-path:inset(0 0 0 74%)}.before-after.ba-pos-74 .ba-divider{left:74%}
.before-after.ba-pos-75 .ba-finish{clip-path:inset(0 0 0 75%)}.before-after.ba-pos-75 .ba-divider{left:75%}
.before-after.ba-pos-76 .ba-finish{clip-path:inset(0 0 0 76%)}.before-after.ba-pos-76 .ba-divider{left:76%}
.before-after.ba-pos-77 .ba-finish{clip-path:inset(0 0 0 77%)}.before-after.ba-pos-77 .ba-divider{left:77%}
.before-after.ba-pos-78 .ba-finish{clip-path:inset(0 0 0 78%)}.before-after.ba-pos-78 .ba-divider{left:78%}
.before-after.ba-pos-79 .ba-finish{clip-path:inset(0 0 0 79%)}.before-after.ba-pos-79 .ba-divider{left:79%}
.before-after.ba-pos-80 .ba-finish{clip-path:inset(0 0 0 80%)}.before-after.ba-pos-80 .ba-divider{left:80%}
.before-after.ba-pos-81 .ba-finish{clip-path:inset(0 0 0 81%)}.before-after.ba-pos-81 .ba-divider{left:81%}
.before-after.ba-pos-82 .ba-finish{clip-path:inset(0 0 0 82%)}.before-after.ba-pos-82 .ba-divider{left:82%}
.before-after.ba-pos-83 .ba-finish{clip-path:inset(0 0 0 83%)}.before-after.ba-pos-83 .ba-divider{left:83%}
.before-after.ba-pos-84 .ba-finish{clip-path:inset(0 0 0 84%)}.before-after.ba-pos-84 .ba-divider{left:84%}
.before-after.ba-pos-85 .ba-finish{clip-path:inset(0 0 0 85%)}.before-after.ba-pos-85 .ba-divider{left:85%}
.before-after.ba-pos-86 .ba-finish{clip-path:inset(0 0 0 86%)}.before-after.ba-pos-86 .ba-divider{left:86%}
.before-after.ba-pos-87 .ba-finish{clip-path:inset(0 0 0 87%)}.before-after.ba-pos-87 .ba-divider{left:87%}
.before-after.ba-pos-88 .ba-finish{clip-path:inset(0 0 0 88%)}.before-after.ba-pos-88 .ba-divider{left:88%}
.before-after.ba-pos-89 .ba-finish{clip-path:inset(0 0 0 89%)}.before-after.ba-pos-89 .ba-divider{left:89%}
.before-after.ba-pos-90 .ba-finish{clip-path:inset(0 0 0 90%)}.before-after.ba-pos-90 .ba-divider{left:90%}
.before-after.ba-pos-91 .ba-finish{clip-path:inset(0 0 0 91%)}.before-after.ba-pos-91 .ba-divider{left:91%}
.before-after.ba-pos-92 .ba-finish{clip-path:inset(0 0 0 92%)}.before-after.ba-pos-92 .ba-divider{left:92%}
.before-after.ba-pos-93 .ba-finish{clip-path:inset(0 0 0 93%)}.before-after.ba-pos-93 .ba-divider{left:93%}
.before-after.ba-pos-94 .ba-finish{clip-path:inset(0 0 0 94%)}.before-after.ba-pos-94 .ba-divider{left:94%}
.before-after.ba-pos-95 .ba-finish{clip-path:inset(0 0 0 95%)}.before-after.ba-pos-95 .ba-divider{left:95%}
.before-after.ba-pos-96 .ba-finish{clip-path:inset(0 0 0 96%)}.before-after.ba-pos-96 .ba-divider{left:96%}
.before-after.ba-pos-97 .ba-finish{clip-path:inset(0 0 0 97%)}.before-after.ba-pos-97 .ba-divider{left:97%}
.before-after.ba-pos-98 .ba-finish{clip-path:inset(0 0 0 98%)}.before-after.ba-pos-98 .ba-divider{left:98%}
.before-after.ba-pos-99 .ba-finish{clip-path:inset(0 0 0 99%)}.before-after.ba-pos-99 .ba-divider{left:99%}
.before-after.ba-pos-100 .ba-finish{clip-path:inset(0 0 0 100%)}.before-after.ba-pos-100 .ba-divider{left:100%}
@media(max-width:720px){.ba-divider:after{width:44px;height:44px}.ba-range::-webkit-slider-thumb{width:44px;height:44px}.ba-range::-moz-range-thumb{width:44px;height:44px}}


/* Patch 1.1.0 — complete HTML-only admin CRUD layouts. */
.admin-body{--admin-accent:var(--gold);--admin-surface:var(--theme-raised);--admin-bg:var(--theme-admin-bg);--admin-border:var(--theme-admin-border);--admin-rule:var(--theme-admin-rule);background:var(--admin-bg)}
.admin-side{width:auto;border-inline-end:1px solid rgba(255,255,255,.08)}
.admin-brand{padding-inline:10px}.admin-brand img{width:40px;height:40px}.admin-brand span{line-height:1.05}
.admin-nav{gap:18px}.admin-nav-group{display:grid;gap:4px}.admin-nav-label{padding:0 12px 5px;color:rgba(255,255,255,.38);font-size:.64rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.admin-nav a{display:flex;align-items:center;gap:10px}.admin-nav-icon{width:22px;text-align:center;color:var(--gold2)}.admin-nav a[aria-current="page"] .admin-nav-icon{color:#fff}
.admin-public-link{width:100%}.admin-side-note{margin:18px 8px 0;color:rgba(255,255,255,.44);font-size:.72rem;line-height:1.55}
.admin-top-left{display:flex;align-items:center;gap:12px}.admin-side-toggle{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--admin-border);background:var(--admin-surface);color:inherit;font-weight:900}
.admin-content{max-width:1680px;margin-inline:auto;width:100%}.admin-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.78rem;margin-bottom:12px}.admin-breadcrumb strong{color:var(--ink)}
.admin-page-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:22px}.admin-page-head h1{font-family:var(--display);font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;letter-spacing:-.04em;margin:.35rem 0 .65rem}.admin-page-head p{max-width:760px;color:var(--muted);margin:0}.admin-page-actions{display:flex;gap:10px;flex-wrap:wrap}
.admin-module-tabs{display:flex;gap:7px;overflow-x:auto;padding:6px 0 14px;margin-bottom:12px;scrollbar-width:thin;scroll-behavior:smooth}.admin-module-tab{flex:0 0 auto;padding:9px 13px;border:1px solid var(--admin-border);border-radius:999px;background:var(--admin-surface);font-size:.78rem;font-weight:800;color:var(--muted)}.admin-module-tab:hover,.admin-module-tab-active{color:#111;background:linear-gradient(135deg,var(--gold2),var(--gold));border-color:var(--gold)}
.admin-summary-grid{margin-bottom:18px}.admin-summary-grid .admin-card{min-height:132px}.admin-summary-grid .admin-card small{color:var(--muted)}
.admin-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.admin-panel-head h2{font-family:var(--display);font-size:1.7rem;margin:0 0 4px}.admin-panel-head p{margin:0;color:var(--muted);font-size:.88rem}
.admin-crud-panel{padding:0;overflow:hidden}.admin-crud-panel .admin-panel-head{padding:20px 20px 0}.admin-toolbar{padding:14px 20px;display:flex;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--admin-rule);border-bottom:1px solid var(--admin-rule);background:color-mix(in srgb,var(--admin-surface) 96%,var(--gold) 4%)}
.admin-search{display:flex;align-items:center;gap:8px;min-width:min(420px,50%);border:1px solid var(--theme-input-border);background:var(--theme-input);border-radius:12px;padding:0 12px}.admin-search input{width:100%;border:0;outline:0;padding:10px 0;background:transparent;color:inherit}.admin-toolbar-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.admin-filter select{min-height:42px;padding:8px 30px 8px 10px;border:1px solid var(--theme-input-border);background:var(--theme-input);border-radius:10px;color:inherit}.admin-compact-btn{min-height:42px;padding:8px 13px;font-size:.78rem}
.admin-select-col{width:46px;min-width:46px;text-align:center!important}.admin-select-checkbox{width:18px;height:18px;accent-color:var(--gold);cursor:pointer}.admin-bulk-delete:disabled{opacity:.45;cursor:not-allowed}.admin-crud-table{min-width:980px}.admin-crud-table tbody tr:hover{background:color-mix(in srgb,var(--admin-surface) 94%,var(--gold) 6%)}.admin-row-actions{display:flex;gap:7px;justify-content:flex-end}.admin-action-btn{min-height:36px;padding:7px 12px;font-size:.74rem}.admin-action-btn[data-admin-view]{border-color:color-mix(in srgb,var(--gold) 58%,var(--line));background:color-mix(in srgb,var(--gold) 12%,transparent);color:color-mix(in srgb,var(--gold) 55%,var(--ink) 45%)}.admin-action-btn[data-admin-view]:hover,.admin-action-btn[data-admin-view]:focus-visible{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 20%,transparent)}.admin-table code{font-size:.78rem}.admin-table td{vertical-align:middle}.admin-table td:first-child{min-width:170px}.admin-table tbody tr[hidden]{display:none}
.status.warn{background:#fff2cc;color:#765900}.status.danger{background:#fde7e7;color:#982f2f}.status.neutral{background:#edf0f2;color:#4d5358}
.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;color:var(--muted);font-size:.8rem}.admin-pagination>div{display:flex;gap:5px}.admin-page-btn{min-width:34px;height:34px;border-radius:9px;border:1px solid var(--admin-border);background:var(--admin-surface);color:inherit}.admin-page-btn:disabled{opacity:.42;cursor:not-allowed}.admin-page-current{background:var(--ink);color:var(--paper)}
.admin-help-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-help-panel h2{font-family:var(--display);margin:0 0 4px}.admin-help-panel p{margin:0;color:var(--muted);max-width:840px}
.admin-modal{width:min(860px,100%)}.admin-modal .modal-head{padding-bottom:15px}.admin-modal:not(:has(.admin-view-grid)) .modal-head{border-bottom:1px solid var(--line)}.admin-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.admin-field{display:grid;gap:7px}.admin-field-full{grid-column:1/-1}.admin-field label{font-size:.78rem;font-weight:800}.admin-field input,.admin-field select,.admin-field textarea{width:100%;padding:11px 12px;border:1px solid var(--theme-input-border);border-radius:11px;background:var(--theme-input);color:inherit}.admin-field textarea{resize:vertical}.admin-field small{color:var(--muted);font-size:.72rem}.admin-modal-note{padding:12px 14px;border-radius:12px;background:var(--theme-soft);color:var(--muted);font-size:.8rem}.admin-modal-actions{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}.admin-delete-dialog{text-align:center;padding-top:12px}.admin-delete-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:rgba(182,59,59,.12);color:var(--danger);font:900 1.8rem/1 var(--sans);border:1px solid rgba(182,59,59,.24)}.admin-delete-dialog h3{font-family:var(--display);font-size:2rem;margin:6px 0}.admin-delete-dialog p{max-width:580px;margin:0 auto 14px;color:var(--muted)}.admin-danger-note{display:inline-block;padding:8px 11px;border-radius:9px;background:rgba(182,59,59,.07);color:var(--danger);font-size:.78rem;font-weight:700;margin-bottom:16px}.admin-delete-dialog .admin-modal-actions{justify-content:center}
.admin-media-cell{display:flex;align-items:center;gap:10px}.admin-media-cell img{width:64px;height:46px;border-radius:8px;object-fit:cover;border:1px solid var(--admin-border)}
.admin-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-module-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:13px;padding:17px;border:1px solid var(--admin-border);border-radius:16px;background:var(--admin-surface);transition:.18s}.admin-module-card:hover{transform:translateY(-2px);border-color:var(--gold)}.admin-module-card-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--theme-soft);color:var(--gold);font-weight:900}.admin-module-card strong{display:block}.admin-module-card p{margin:2px 0;color:var(--muted);font-size:.78rem;line-height:1.35}.admin-module-card small{color:var(--gold);font-weight:800}.admin-module-arrow{font-size:1.1rem}
.admin-dashboard-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.admin-queue{display:grid}.admin-queue a{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--admin-rule)}.admin-queue a:last-child{border-bottom:0}.admin-queue small{display:block;color:var(--muted)}.admin-queue-dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.admin-queue-dot.warn{background:#d3a423}.admin-queue-dot.danger{background:var(--danger)}
.admin-settings-tabs{display:flex;gap:7px;border-bottom:1px solid var(--admin-rule);margin-bottom:18px;overflow-x:auto}.admin-settings-tab{border:0;border-bottom:3px solid transparent;background:transparent;padding:11px 13px;color:var(--muted);font-weight:800}.admin-settings-tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--gold)}.admin-settings-form{padding-top:4px}.admin-settings-list{display:grid}.admin-settings-list>div{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--admin-rule)}.admin-settings-list>div:last-child{border-bottom:0}
html[data-theme="dark"] .admin-module-tab,html[data-theme="dark"] .admin-search,html[data-theme="dark"] .admin-filter select,html[data-theme="dark"] .admin-page-btn,html[data-theme="dark"] .admin-module-card,html[data-theme="dark"] .admin-side-toggle{background:var(--theme-raised);color:var(--ink);border-color:var(--theme-admin-border)}
html[data-theme="dark"] .admin-module-tab-active,html[data-theme="dark"] .admin-module-tab:hover{color:#111;background:linear-gradient(135deg,var(--gold2),var(--gold));border-color:var(--gold)}
html[data-theme="dark"] .admin-toolbar,html[data-theme="dark"] .admin-crud-table tbody tr:hover{background:#151719}.admin-body html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] .status.warn{background:#3c3011;color:#f1d26e}html[data-theme="dark"] .status.danger{background:#3b1717;color:#ff9f9f}html[data-theme="dark"] .status.neutral{background:#262a2d;color:#c5c9cc}
html[data-theme="dark"] .admin-field input,html[data-theme="dark"] .admin-field select,html[data-theme="dark"] .admin-field textarea{background:var(--theme-input);color:var(--ink);border-color:var(--theme-input-border)}
html.high-contrast .admin-module-tab,html.high-contrast .admin-search,html.high-contrast .admin-filter select,html.high-contrast .admin-page-btn,html.high-contrast .admin-module-card,html.high-contrast .admin-side-toggle,html.high-contrast .admin-field input,html.high-contrast .admin-field select,html.high-contrast .admin-field textarea{background:#000!important;color:#fff!important;border-color:#fff!important}
html.high-contrast .admin-module-tab-active,html.high-contrast .admin-module-tab:hover,html.high-contrast .admin-page-current{background:#ffdf00!important;color:#000!important;border-color:#ffdf00!important}.high-contrast .admin-module-card-icon{background:#000;color:#ffdf00;border:1px solid #fff}.high-contrast .admin-toolbar,.high-contrast .admin-crud-table tbody tr:hover,.high-contrast .admin-modal-note{background:#000;color:#fff}.high-contrast .admin-delete-mark{background:#000;border-color:#ff8080}.high-contrast .status.warn,.high-contrast .status.danger,.high-contrast .status.neutral{background:#000;color:#fff;border:1px solid #fff}
@media(max-width:1250px){.admin-shell{grid-template-columns:235px 1fr}.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-columns{grid-template-columns:1fr}.admin-toolbar{align-items:flex-start;flex-direction:column}.admin-search{min-width:100%;width:100%}.admin-toolbar-filters{justify-content:flex-start}}
@media(max-width:1050px){.admin-shell{grid-template-columns:1fr}.admin-side{position:fixed;z-index:1200;inset-block:0;inset-inline-start:0;width:min(300px,88vw);height:100vh;transform:translateX(-110%);transition:transform .24s ease;box-shadow:var(--shadow)}html[dir="rtl"] .admin-side{transform:translateX(110%)}html[dir="rtl"] .admin-side.admin-side-open{transform:translateX(0)}.admin-side.admin-side-open{transform:translateX(0)}.admin-nav{display:grid;grid-template-columns:1fr;gap:18px}.admin-side-toggle{display:grid;place-items:center}.admin-main{width:100%}.admin-content{padding:22px}.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-content{padding:16px}.admin-page-head{align-items:flex-start;flex-direction:column}.admin-page-actions,.admin-page-actions .btn{width:100%}.admin-module-grid{grid-template-columns:1fr}.admin-summary-grid{grid-template-columns:1fr 1fr}.admin-modal-grid{grid-template-columns:1fr}.admin-field-full{grid-column:auto}.admin-pagination{align-items:flex-start;flex-direction:column}.admin-help-panel{align-items:flex-start;flex-direction:column}.admin-help-panel .btn{width:100%}.admin-top{padding-inline:12px}.admin-top .preview-badge{display:none}.admin-toolbar-filters{width:100%}.admin-filter{flex:1;min-width:140px}.admin-filter select{width:100%}.admin-row-actions{flex-direction:column}.admin-action-btn{width:100%}}
@media(max-width:480px){.admin-summary-grid{grid-template-columns:1fr}.admin-module-tabs{margin-inline:-16px;padding-inline:16px}.admin-modal{padding:18px}.admin-page-head h1{font-size:2.6rem}}

/* v1.1.1 — Admin Quick Create: HTML-only modal launchers */
.admin-quick-create-panel{margin-top:1rem}.admin-quick-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.admin-quick-create-btn{appearance:none;width:100%;display:flex;align-items:center;gap:.8rem;text-align:left;padding:.9rem 1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease}.admin-quick-create-btn:hover,.admin-quick-create-btn:focus-visible{transform:translateY(-2px);border-color:var(--gold);background:rgba(196,155,72,.08);outline:none}.admin-quick-create-plus{display:grid;place-items:center;flex:0 0 2.2rem;width:2.2rem;height:2.2rem;border-radius:999px;background:var(--gold);color:#111;font-size:1.35rem;font-weight:900}.admin-quick-create-btn strong,.admin-quick-create-btn small{display:block}.admin-quick-create-btn small{margin-top:.18rem;color:var(--muted);font-size:.76rem}html.high-contrast .admin-quick-create-btn{border-color:currentColor}html.high-contrast .admin-quick-create-btn:hover,html.high-contrast .admin-quick-create-btn:focus-visible{background:#ffdf00;color:#000}html.high-contrast .admin-quick-create-btn:hover small,html.high-contrast .admin-quick-create-btn:focus-visible small{color:#000}@media(max-width:640px){.admin-quick-create-grid{grid-template-columns:1fr}}


/* Patch 1.2.0 — shared appearance studio, auth UI, comments and cursor interaction. */
:root{
  --vx-accent:#c49b48;--vx-accent-soft:#e2c98a;
  --vx-light-bg:#fbfaf6;--vx-light-surface:#ffffff;--vx-light-text:#0d0f10;--vx-light-muted:#6e6f70;--vx-light-border:rgba(13,15,16,.12);
  --vx-dark-bg:#0e1011;--vx-dark-surface:#17191b;--vx-dark-text:#f5f1e8;--vx-dark-muted:#aaa69d;--vx-dark-border:rgba(255,255,255,.13);
  --vx-display-font:Georgia,"Times New Roman",serif;--vx-body-font:Arial,Helvetica,sans-serif;--vx-base-size:16px;
  --display:var(--vx-display-font,Georgia,"Times New Roman",serif);--sans:var(--vx-body-font,Arial,Helvetica,sans-serif);
}
html{font-size:var(--vx-base-size,16px)}
:root:not(.high-contrast){--gold:var(--vx-accent,#c49b48);--gold2:var(--vx-accent-soft,#e2c98a)}
:root:not([data-theme="dark"]):not(.high-contrast){
  --paper:var(--vx-light-bg,#fbfaf6);--surface:var(--vx-light-surface,#fff);--ink:var(--vx-light-text,#0d0f10);--muted:var(--vx-light-muted,#6e6f70);--line:var(--vx-light-border,rgba(13,15,16,.12));
  --theme-bg:var(--paper);--theme-surface:var(--surface);--theme-raised:var(--surface);--theme-soft:color-mix(in srgb,var(--paper) 91%,var(--ink) 9%);--theme-soft-2:color-mix(in srgb,var(--paper) 84%,var(--ink) 16%);
  --theme-header:color-mix(in srgb,var(--paper) 84%,transparent);--theme-input:color-mix(in srgb,var(--surface) 96%,var(--ink) 4%);--theme-input-border:var(--line);--theme-focus:var(--gold);
  --theme-admin-bg:color-mix(in srgb,var(--paper) 94%,var(--ink) 6%);--theme-admin-border:var(--line);--theme-admin-rule:var(--line);--theme-subtle-text:var(--muted)
}
html[data-theme="dark"]:not(.high-contrast){
  --paper:var(--vx-dark-bg,#0e1011);--surface:var(--vx-dark-surface,#17191b);--ink:var(--vx-dark-text,#f5f1e8);--muted:var(--vx-dark-muted,#aaa69d);--line:var(--vx-dark-border,rgba(255,255,255,.13));
  --theme-bg:var(--paper);--theme-surface:var(--surface);--theme-raised:var(--surface);--theme-soft:color-mix(in srgb,var(--paper) 82%,var(--surface) 18%);--theme-soft-2:color-mix(in srgb,var(--surface) 78%,var(--ink) 22%);
  --theme-header:color-mix(in srgb,var(--paper) 86%,transparent);--theme-input:color-mix(in srgb,var(--paper) 76%,var(--surface) 24%);--theme-input-border:var(--line);--theme-focus:var(--gold2);
  --theme-admin-bg:var(--paper);--theme-admin-border:var(--line);--theme-admin-rule:var(--line);--theme-subtle-text:var(--muted)
}
html:not(.high-contrast) .site-header{background:var(--theme-header);border-bottom-color:var(--line)}
html:not(.high-contrast) .section-soft,html:not(.high-contrast) .page-hero{background:var(--theme-soft);color:var(--ink)}
html:not(.high-contrast) .trust-strip,html:not(.high-contrast) .card,html:not(.high-contrast) .form-card,html:not(.high-contrast) .post-card,html:not(.high-contrast) .toc,html:not(.high-contrast) .stat{background:var(--surface);color:var(--ink);border-color:var(--line)}
html:not(.high-contrast) .site-footer{background:var(--vx-dark-bg,#0b0d0e)}
html:not(.high-contrast) .admin-body{--admin-bg:var(--theme-admin-bg);--admin-surface:var(--surface);--admin-border:var(--line);--admin-rule:var(--line);background:var(--admin-bg);color:var(--ink)}
html:not(.high-contrast) .admin-top,html:not(.high-contrast) .admin-card,html:not(.high-contrast) .admin-panel,html:not(.high-contrast) .media-tile{background:var(--surface);color:var(--ink);border-color:var(--line)}
html:not(.high-contrast) .admin-top{border-bottom-color:var(--line)}
html:not(.high-contrast) .admin-side{background:var(--vx-dark-bg,#101214);color:var(--vx-dark-text,#fff);border-inline-end-color:var(--vx-dark-border,rgba(255,255,255,.08))}
html:not(.high-contrast) .admin-form input,html:not(.high-contrast) .admin-form select,html:not(.high-contrast) .admin-form textarea,html:not(.high-contrast) .admin-field input,html:not(.high-contrast) .admin-field select,html:not(.high-contrast) .admin-field textarea{background:var(--theme-input);color:var(--ink);border-color:var(--theme-input-border)}

/* Cursor grows over actionable controls, without affecting touch/reduced-motion users. */
.cursor-ring{transition:width .16s ease,height .16s ease,border-color .16s ease,background-color .16s ease,margin .16s ease;will-change:transform,width,height}
.cursor-dot{transition:transform .12s ease,opacity .12s ease}
.cursor-ring.is-interactive{width:52px;height:52px;margin:-11px 0 0 -11px;border-color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent)}
.cursor-dot.is-interactive{opacity:.7}
html.high-contrast .cursor-ring.is-interactive{border-color:#ffdf00;background:transparent;box-shadow:0 0 0 2px #000,0 0 0 4px #ffdf00}

/* Admin Appearance Studio */
.appearance-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;align-items:start}
.appearance-stack{display:grid;gap:18px}.appearance-section{padding:20px;border:1px solid var(--admin-border);border-radius:18px;background:var(--admin-surface)}
.appearance-section h2{font-family:var(--display);font-size:1.65rem;margin:0 0 5px}.appearance-section>p{margin:0 0 18px;color:var(--muted)}
.appearance-group{display:grid;gap:12px;margin-top:16px}.appearance-group-title{display:flex;justify-content:space-between;gap:12px;align-items:end;border-bottom:1px solid var(--admin-rule);padding-bottom:9px}.appearance-group-title h3{margin:0;font-family:var(--display);font-size:1.2rem}.appearance-group-title small{color:var(--muted)}
.appearance-color-list{display:grid;gap:10px}.appearance-color-control{display:grid;grid-template-columns:minmax(150px,.7fr) 48px minmax(200px,1.3fr) 130px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--admin-rule)}.appearance-color-control:last-child{border-bottom:0}.appearance-color-control label{font-size:.78rem;font-weight:850}.appearance-color-control input[type="text"]{width:100%;padding:10px 11px;border:1px solid var(--theme-input-border);border-radius:10px;background:var(--theme-input);color:inherit}.appearance-color-control input[type="color"]{width:48px;height:42px;padding:3px;border:1px solid var(--theme-input-border);border-radius:10px;background:var(--theme-input)}.appearance-color-control input[type="range"]{width:100%;accent-color:var(--gold)}.appearance-alpha{display:grid;grid-template-columns:1fr 42px;gap:6px;align-items:center}.appearance-alpha output{font-size:.72rem;color:var(--muted);text-align:right}.appearance-color-control [aria-invalid="true"]{border-color:var(--danger)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 18%,transparent)}
.appearance-typography-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.appearance-field{display:grid;gap:7px}.appearance-field label{font-size:.78rem;font-weight:850}.appearance-field select{width:100%;padding:11px;border:1px solid var(--theme-input-border);border-radius:10px;background:var(--theme-input);color:inherit}
.appearance-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.appearance-actions .btn{min-width:150px}.appearance-note{padding:12px 14px;border-radius:13px;background:color-mix(in srgb,var(--gold) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));font-size:.8rem;color:var(--muted)}
.appearance-preview{position:sticky;top:96px;display:grid;gap:14px}.appearance-preview-browser{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.appearance-preview-top{height:42px;display:flex;align-items:center;gap:6px;padding:0 13px;border-bottom:1px solid var(--line);background:var(--surface)}.appearance-preview-dot{width:8px;height:8px;border-radius:50%;background:var(--gold)}.appearance-preview-body{padding:22px}.appearance-preview-body h3{font-family:var(--display);font-size:2rem;line-height:1;margin:.25rem 0 .65rem}.appearance-preview-body p{color:var(--muted);margin:0 0 15px}.appearance-preview-controls{display:flex;gap:8px;flex-wrap:wrap}.appearance-preview-admin{padding:16px;border:1px solid var(--admin-border);border-radius:16px;background:var(--admin-surface)}.appearance-preview-admin strong{font-family:var(--display);font-size:1.25rem}.appearance-preview-admin p{margin:4px 0 12px;color:var(--muted);font-size:.82rem}
.appearance-contrast-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.appearance-contrast-item{padding:11px 12px;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface);font-size:.78rem}.appearance-contrast-item strong,.appearance-contrast-item span{display:block}.appearance-contrast-item span{color:var(--muted);margin-top:2px}.appearance-contrast-item.pass strong{color:var(--ok)}.appearance-contrast-item.review strong{color:var(--danger)}
html.high-contrast .appearance-section,html.high-contrast .appearance-preview-browser,html.high-contrast .appearance-preview-admin,html.high-contrast .appearance-contrast-item{background:#000!important;color:#fff!important;border-color:#fff!important}.high-contrast .appearance-note{background:#000;color:#fff;border-color:#ffdf00}.high-contrast .appearance-color-control input[type="text"],.high-contrast .appearance-field select{background:#000!important;color:#fff!important;border-color:#fff!important}

/* Public authentication pages — browser-only demo logic. */
.auth-page{min-height:100vh;display:grid;place-items:center;padding:48px 18px;background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--gold) 9%,transparent),transparent 40%),var(--paper);color:var(--ink)}
.auth-shell{width:min(100%,520px)}.auth-brand{display:flex;justify-content:center;margin-bottom:18px}.auth-brand .brand img{width:46px;height:46px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:0 24px 70px rgba(7,8,9,.09)}.auth-head{text-align:center;margin-bottom:25px}.auth-kicker{display:inline-flex;padding:6px 12px;border-radius:999px;background:var(--theme-soft);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.auth-head h1{font-family:var(--sans);font-size:clamp(2rem,7vw,2.5rem);line-height:1.06;letter-spacing:-.045em;margin:12px 0 6px}.auth-head p{margin:0;color:var(--muted)}.auth-head a{font-weight:800;color:var(--ink)}
.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:7px}.auth-field label{font-size:.82rem;font-weight:800}.auth-label-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.auth-label-row a{font-size:.76rem;font-weight:800;color:var(--muted)}.auth-field input{width:100%;min-height:46px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--line) 78%,var(--ink) 22%);border-radius:12px;background:var(--theme-input);color:var(--ink);box-shadow:0 2px 5px rgba(7,8,9,.04)}.auth-field input:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}.auth-password{position:relative}.auth-password input{padding-inline-end:78px}.auth-password-toggle{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;padding:8px;color:var(--muted);font-size:.76rem;font-weight:850}.auth-submit{width:100%;min-height:48px}.auth-switch{text-align:center;color:var(--muted);font-size:.86rem;margin-top:2px}.auth-switch a{font-weight:850;color:var(--ink)}
.auth-details{margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 95%,var(--gold) 5%)}.auth-details summary{cursor:pointer;font-weight:800;font-size:.82rem}.auth-inline-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.auth-inline-form input{min-width:0;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--theme-input);color:inherit}.auth-inline-form button{min-width:94px}.auth-status{min-height:1.3em;margin:0;color:var(--muted);font-size:.78rem}.auth-status.success{color:var(--ok)}.auth-status.error{color:var(--danger)}
.password-rules{display:grid;grid-template-columns:1fr 1fr;gap:5px 16px;margin:-5px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.75rem}.password-rule.met{color:var(--ok)}.password-meter{height:6px;border-radius:999px;background:var(--theme-soft-2);overflow:hidden}.password-meter>span{display:block;height:100%;width:0;background:var(--danger);transition:width .2s ease,background .2s ease}.password-meter.strength-1>span{width:20%}.password-meter.strength-2>span{width:40%}.password-meter.strength-3>span{width:60%;background:var(--gold)}.password-meter.strength-4>span{width:80%;background:var(--ok)}.password-meter.strength-5>span{width:100%;background:var(--ok)}.auth-help{font-size:.75rem;color:var(--muted);margin:-10px 0 0}.auth-demo-note{margin-top:18px;padding:11px 13px;border-radius:12px;background:var(--theme-soft);border:1px solid var(--line);font-size:.73rem;color:var(--muted)}.auth-theme-tools{display:flex;justify-content:center;gap:8px;margin-top:16px}.auth-theme-tools .icon-btn{width:42px;height:42px}
html.high-contrast .auth-card,html.high-contrast .auth-details{background:#000;color:#fff;border-color:#fff;box-shadow:none}.high-contrast .auth-kicker,.high-contrast .auth-demo-note{background:#000;color:#fff;border:1px solid #fff}.high-contrast .auth-field input,.high-contrast .auth-inline-form input{background:#000!important;color:#fff!important;border-color:#fff!important}.high-contrast .auth-field input:focus{outline-color:#ffdf00!important}

/* Article navigation + browser-local comments. */
.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:36px 0;padding-top:26px;border-top:1px solid var(--line)}.post-nav-link{display:grid;gap:4px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:.18s ease}.post-nav-link:hover{transform:translateY(-2px);border-color:var(--gold)}.post-nav-link.next{text-align:right}.post-nav-link span{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:900}.post-nav-link strong{font-family:var(--display);font-size:1.1rem;line-height:1.2}.comments-section{margin-top:42px;padding-top:34px;border-top:1px solid var(--line)}.comments-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.comments-head h2{margin:0;font-family:var(--display);font-size:2rem}.comments-head p{margin:4px 0 0;color:var(--muted);font-size:.84rem}.comment-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.comment-field{display:grid;gap:6px}.comment-field.full{grid-column:1/-1}.comment-field label{font-size:.78rem;font-weight:850}.comment-field input,.comment-field textarea{width:100%;padding:11px 12px;border:1px solid var(--theme-input-border);border-radius:11px;background:var(--theme-input);color:var(--ink)}.comment-field textarea{resize:vertical;min-height:120px}.comment-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.comment-status{margin:0;color:var(--muted);font-size:.78rem}.comment-status.success{color:var(--ok)}.comment-status.error{color:var(--danger)}.comment-list{display:grid;gap:12px;margin-top:18px}.comment{padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.comment-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.comment-author{display:flex;align-items:center;gap:10px}.comment-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--theme-soft);color:var(--gold);font-weight:900}.comment-meta small{color:var(--muted)}.comment p{margin:0}.comment-demo-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:var(--theme-soft);color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
html.high-contrast .post-nav-link,html.high-contrast .comment-form,html.high-contrast .comment{background:#000!important;color:#fff!important;border-color:#fff!important}.high-contrast .comment-field input,.high-contrast .comment-field textarea{background:#000!important;color:#fff!important;border-color:#fff!important}

@media(max-width:1050px){.appearance-layout{grid-template-columns:1fr}.appearance-preview{position:static}.appearance-color-control{grid-template-columns:minmax(140px,.7fr) 48px minmax(180px,1.2fr) 120px}}
@media(max-width:760px){.appearance-color-control{grid-template-columns:1fr 48px;align-items:center}.appearance-color-control input[type="text"],.appearance-alpha{grid-column:1/-1}.appearance-typography-grid{grid-template-columns:1fr}.appearance-contrast-grid{grid-template-columns:1fr}.auth-card{padding:24px}.comment-form{grid-template-columns:1fr}.comment-field.full,.comment-form-actions{grid-column:auto}.post-navigation{grid-template-columns:1fr}.post-nav-link.next{text-align:left}.comments-head{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.auth-card{padding:20px;border-radius:24px}.password-rules{grid-template-columns:1fr}.auth-inline-form{grid-template-columns:1fr}.appearance-actions .btn{width:100%}}


/* Patch 1.2.1 — functional admin directories + filter spacing + footer cookie CTA */
.admin-filter{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.admin-filter-label,.admin-filter-suffix{font-size:.72rem;font-weight:800;color:var(--muted);letter-spacing:.015em}
.admin-filter select,.admin-page-size-control select{margin:0}
.admin-page-size-control select{min-width:72px}
.admin-pagination [data-admin-pagination-controls]{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.admin-pagination .admin-page-ellipsis{display:grid;place-items:center;min-width:26px;height:34px;color:var(--muted)}
.admin-pagination [data-admin-pagination-summary]{font-variant-numeric:tabular-nums}
.site-footer .footer-cookie-btn{display:inline-flex;width:max-content;margin-top:10px;padding:10px 16px;min-height:42px;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.38);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.site-footer .footer-cookie-btn:hover,.site-footer .footer-cookie-btn:focus-visible{background:rgba(226,201,138,.18);border-color:var(--gold2);color:#fff}
html[data-theme="dark"] .site-footer .footer-cookie-btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.42);color:#fff}
html.high-contrast .site-footer .footer-cookie-btn,html.high-contrast[data-theme="dark"] .site-footer .footer-cookie-btn{background:#ffdf00!important;color:#000!important;border-color:#ffdf00!important;box-shadow:none!important}
@media(max-width:720px){.admin-toolbar-filters{align-items:stretch}.admin-filter{justify-content:space-between}.admin-page-size-control{min-width:180px}.site-footer .footer-cookie-btn{width:100%}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* Bootstrap 5.3.8 integration layer -------------------------------------------------
   Bootstrap provides the framework/reset/components; Veyronix custom CSS remains the
   design system and intentionally overrides Bootstrap defaults to preserve v1.2.1 UI. */
.shell.container-fluid,.narrow.container{--bs-gutter-x:0;padding-inline:0;max-width:none}
.site-header .nav{flex-wrap:nowrap;padding:0;margin-bottom:0}
.img-fluid{object-fit:inherit}
.form-control,.form-select{font:inherit;box-shadow:none}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--gold) 22%,transparent)}
.admin-table-wrap.table-responsive{overflow:auto}
.admin-table.table{--bs-table-bg:transparent;--bs-table-color:inherit;--bs-table-border-color:var(--line);--bs-table-hover-bg:transparent;--bs-table-hover-color:inherit;margin-bottom:0}
.admin-table.table>:not(caption)>*>*{background:transparent;color:inherit;border-color:inherit;box-shadow:none}
/* Bootstrap's modal/toast defaults are neutralized because these components are
   driven by the project's CSP-safe custom modal/toast controller. */
.modal-backdrop .modal{position:relative;inset:auto;display:block;width:min(720px,100%);height:auto;outline:0}
.modal-backdrop .modal.admin-modal{width:min(860px,100%)}
#toast-stack .toast{display:block;opacity:1;width:auto}
/* Keep Bootstrap native color-mode tokens aligned with the Veyronix semantic theme. */
html[data-bs-theme="light"]{--bs-body-bg:var(--paper);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-secondary-color:var(--muted)}
html[data-bs-theme="dark"]{--bs-body-bg:var(--paper);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-secondary-color:var(--muted);color-scheme:dark}
html.high-contrast{--bs-body-bg:#000;--bs-body-color:#fff;--bs-border-color:#fff;--bs-secondary-color:#fff;color-scheme:dark}


/* v1.3.6 — Admin directory row integrity, View actions, RTL switch stability and paired navigation focus. */
.admin-side{overflow-x:hidden;scroll-behavior:smooth}
html.admin-dir-switching .admin-side{transition:none!important}
.admin-crud-table th.admin-select-col,.admin-crud-table td.admin-select-col{width:46px;min-width:46px;max-width:46px}
.admin-crud-table td{overflow-wrap:anywhere;word-break:normal}
.admin-row-actions{display:table-cell;min-width:230px;text-align:end;white-space:normal}
.admin-row-action-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}
.admin-view-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.admin-view-field{min-width:0;padding:12px;border:1px solid var(--admin-border);border-radius:12px;background:var(--admin-surface)}
.admin-view-field strong{display:block;margin-bottom:5px;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.admin-view-field span{display:block;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:720px){.admin-row-action-list{flex-direction:column;align-items:stretch}.admin-view-grid{grid-template-columns:1fr}}

/* Responsive audit — shared public/admin layout repairs; preserve the Veyronix theme. */
img { height: auto; }
.grid-2 > *, .grid-3 > *, .grid-4 > *, .hero-grid > *, .section-head > *, .split > *, .contact-grid > *,
.map-shell > *, .article-layout > *, .trust-grid > *, .post-grid > *,
.stat-grid > *, .admin-grid > *, .admin-form > *, .form-row > *,
.stepper > *, .appearance-layout > *, .appearance-stack > *,
.appearance-color-control > *, .appearance-typography-grid > *,
.auth-form > *, .comment-form > *, .admin-module-card > *, .admin-queue a > *,
.admin-page-head > *, .admin-panel-head > *, .admin-title > *, .appearance-group-title > * {
  min-width: 0;
}
.display, .admin-page-head h1, .system-card h1, .auth-head h1,
.card-body, .post-card .body, .form-card, .article-content, .auth-card, .system-card,
.admin-panel, .admin-card, .trust-item, .legal, .calculator, .quiz, .advanced-demo, .carousel-box,
.appearance-section, .appearance-preview, .modal-body, #modal-body {
  overflow-wrap: anywhere;
}
.btn { max-width: 100%; white-space: normal; text-align: center; }
.pill { max-width: 100%; overflow-wrap: anywhere; }
.pill .dot { flex-shrink: 0; }
.icon-btn, .brand img, .avatar, .comment-avatar, .admin-side-toggle { flex-shrink: 0; }
.form-actions, .admin-modal-actions, .carousel-controls { flex-wrap: wrap; }
.carousel-controls > * { min-width: 0; }
.form-card input, .form-card select, .form-card textarea,
.control input, .control select, .control textarea,
.auth-field input, .admin-form input, .admin-form select, .admin-form textarea,
.admin-field input, .admin-field select, .admin-field textarea,
.appearance-field select { min-width: 0; max-width: 100%; }
.auth-shell, .auth-card, .auth-form, .auth-field, .auth-password { min-width: 0; }
.system-card { min-width: 0; max-width: min(720px, 100%); }
.appearance-group, .appearance-color-list { grid-template-columns: minmax(0, 1fr); }
.appearance-section { container-type: inline-size; }
.auth-form[hidden], .btn[hidden], .pagination[hidden] { display: none; }
.trust-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-top, .admin-top-left, .admin-panel-head, .appearance-group-title,
.comment-meta, .auth-label-row { flex-wrap: wrap; }
.admin-top { gap: 12px; padding-block: 10px; }
.admin-search input, .admin-filter select { min-width: 0; }
.admin-filter { max-width: 100%; }
.admin-filter-label, .admin-filter-suffix { white-space: normal; }
.admin-module-card { grid-template-columns: 42px minmax(0, 1fr) auto; }
.admin-settings-tab { flex: 0 0 auto; white-space: nowrap; }
.admin-queue a { grid-template-columns: 10px minmax(0, 1fr) auto; }
.modal-head > :first-child { min-width: 0; overflow-wrap: anywhere; }
.modal-head .icon-btn { flex-shrink: 0; }
.modal { max-height: min(88vh, calc(100dvh - 36px)); }
.cookie-banner { max-height: calc(100vh - 36px); max-height: calc(100dvh - 36px); overflow-y: auto; }
.toast-stack { max-width: calc(100% - 36px); }
.toast { min-width: min(280px, 100%); width: min(380px, 100%); overflow-wrap: anywhere; }

@media (min-width: 1051px) and (max-width: 1200px) {
  .header-inner, .site-header .nav { gap: 16px; }
}
@media (max-width: 1050px) {
  .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split, .section-head, .contact-grid, .map-shell, .article-layout, .hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .appearance-color-control { grid-template-columns: minmax(0, .7fr) 48px minmax(0, 1.2fr) 120px; }
  .admin-side { height: 100dvh; }
  .mobile-nav { max-height: calc(100dvh - 76px); overflow-y: auto; }
}
@media (max-width: 760px) {
  .appearance-color-control { grid-template-columns: minmax(0, 1fr) 48px; }
}
@media (max-width: 720px) {
  .post-grid, .admin-form { grid-template-columns: minmax(0, 1fr); }
  .trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .title-4rem { font-size: clamp(2.4rem, 8.9vw, 4rem); }
  .title-38 { font-size: clamp(2.3rem, 8.4vw, 3.8rem); }
  .title-3rem { font-size: clamp(2rem, 7vw, 3rem); }
  .estimate { font-size: clamp(2rem, 7.7vw, 3.5rem); }
  .form-actions .btn, .admin-modal-actions .btn { flex: 1 1 160px; }
  .admin-filter { flex: 1 1 180px; flex-wrap: wrap; min-width: min(180px, 100%); }
  .admin-page-size-control { flex-basis: 100%; }
  .admin-filter select { flex: 1 1 120px; width: auto; }
  .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .sticky-cta, html[dir="rtl"] .sticky-cta {
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }
  .scroll-top, html[dir="rtl"] .scroll-top {
    bottom: calc(max(12px, env(safe-area-inset-bottom)) + 66px);
  }
  .cookie-banner {
    bottom: max(10px, env(safe-area-inset-bottom));
    max-height: calc(100dvh - max(10px, env(safe-area-inset-bottom)) - 10px);
  }
}
@media (max-width: 480px) {
  .header-inner { flex-wrap: wrap; gap: 10px; padding-block: 10px; }
  .header-actions { margin-inline-start: auto; justify-content: flex-end; }
  .trust-item { padding: 20px 16px; }
  .step { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
  .author-box { grid-template-columns: minmax(0, 1fr); }
  .auth-label-row { align-items: flex-start; }
  .appearance-group-title { align-items: flex-start; }
  .admin-page-head h1 { font-size: clamp(1.7rem, 8vw + .5rem, 2.6rem); }
  .system-code { font-size: min(6rem, 24vw); }
  .mobile-nav { max-height: calc(100dvh - 128px); }
}
@media (pointer: coarse) {
  .form-card input, .form-card select, .form-card textarea,
  .auth-field input, .admin-field input, .admin-field select, .admin-field textarea {
    font-size: max(1rem, 16px);
  }
  .admin-action-btn, .admin-page-btn, .admin-module-tab, .admin-settings-tab,
  .admin-nav a, .auth-password-toggle, .admin-side-toggle {
    min-height: 44px;
  }
  .admin-page-btn, .admin-side-toggle { min-width: 44px; }
}
@container (max-width: 560px) {
  .appearance-color-control { grid-template-columns: minmax(0, 1fr) 48px; }
  .appearance-color-control input[type="text"], .appearance-alpha { grid-column: 1 / -1; }
}

/* Compact public navigation: preserve the same controls and booking destination. */
.mobile-menu-tools { display: none; }
.mobile-nav .mobile-book-btn {
  display: inline-flex;
  width: 100%;
  padding: 12px 20px;
  margin-top: 12px;
}
@media (width < 400px) {
  .site-header .header-inner { padding-block: 0; }
  .site-header .header-actions > [data-theme-toggle],
  .site-header .header-actions > [data-dir-toggle],
  .site-header .header-actions > [data-contrast-toggle],
  .site-header .header-actions > .btn { display: none; }
  .mobile-nav { max-height: calc(100dvh - 68px); }
  .mobile-menu-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-block: 12px; }
}

/* Private responsive layouts: wrap navigation and reflow complete records instead of scrolling sideways. */
.admin-body .admin-module-tabs, .admin-body .admin-settings-tabs {
  flex-wrap: wrap;
  overflow: visible;
}
.admin-body .admin-module-tabs { margin-inline: 0; padding-inline: 0; }
.admin-body .admin-module-tab, .admin-body .admin-settings-tab { max-width: 100%; white-space: normal; }
.admin-body .admin-table-wrap { container: admin-table / inline-size; overflow: visible; }

@container admin-table (max-width: 980px) {
  .admin-body .admin-table { display: block; width: 100%; min-width: 0; }
  .admin-body .admin-table thead, .admin-body .admin-table tbody { display: block; }
  .admin-body .admin-table thead tr { display: block; }
  .admin-body .admin-table thead th:not(.admin-select-col) {
    position: absolute; width: 1px; height: 1px; padding: 0; border: 0;
    overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap;
  }
  .admin-body .admin-table thead th.admin-select-col {
    display: flex; align-items: center; gap: 10px; width: auto; min-width: 0; max-width: none;
    text-align: start !important;
  }
  .admin-body .admin-table thead th.admin-select-col::after { content: attr(data-label); }
  .admin-body .admin-table tbody tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-body .admin-table tbody tr[hidden] { display: none; }
  .admin-body .admin-table tbody td {
    display: block; width: auto; min-width: 0; max-width: none;
    white-space: normal; overflow-wrap: anywhere;
  }
  .admin-body .admin-table tbody td::before {
    content: attr(data-label); display: block; margin-bottom: 6px;
    font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  }
  .admin-body .admin-table tbody td.admin-select-col {
    grid-column: 1 / -1; display: flex; align-items: center; gap: 10px;
    text-align: start !important;
  }
  .admin-body .admin-table tbody td.admin-select-col::before { order: 1; margin-bottom: 0; }
  .admin-body .admin-table tbody td.admin-row-actions { grid-column: 1 / -1; text-align: start; }
  .admin-body .admin-row-action-list { flex-direction: row; justify-content: flex-start; }
  .admin-body .admin-row-action-list .admin-action-btn { flex: 1 1 100px; width: auto; }
  .admin-body .admin-media-cell > * { min-width: 0; }
  .admin-body .admin-media-cell img { flex-shrink: 0; }
}
@container admin-table (max-width: 480px) {
  .admin-body .admin-table tbody tr { grid-template-columns: minmax(0, 1fr); }
}
.admin-body .admin-nav, .admin-body .admin-nav-group, .admin-body .admin-nav a { min-width: 0; }
.admin-body .admin-nav a { overflow-wrap: anywhere; }
.admin-body .admin-nav-icon { flex-shrink: 0; }
.admin-body .modal-backdrop { width: auto; height: auto; }
.admin-body .toast-stack, .admin-body .toast-stack .toast { pointer-events: none; }
.admin-body .modal-head { container: admin-modal-heading / inline-size; }
@media (max-width: 480px) {
  .admin-body .modal-head { flex-wrap: wrap; gap: 10px; }
  .admin-body .modal-head h2 { font-size: clamp(1.3rem, 6.5vw, 2.1rem); }
}
@container admin-modal-heading (max-width: 240px) {
  .admin-body .modal-head > :first-child { flex-basis: 100%; }
  .admin-body .modal-head .icon-btn { order: -1; margin-inline-start: auto; }
}


/* Form controls and Journal links: preserve the existing theme and native upload behavior. */
.blog-featured-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.blog-browse-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.blog-browse-links > h3 { flex-basis: 100%; }
input[type="file"]::file-selector-button {
  max-width: 100%;
  min-height: 40px;
  margin-inline: 0 12px;
  padding: 8px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  white-space: normal;
  cursor: pointer;
}
input[type="file"]::file-selector-button:hover { border-color: var(--gold); }
/* Keep sticky navigation in the document scroll context during a restored-scroll reload. */
html.is-loading:has(> body.admin-body) { overflow: visible; }
.admin-body.is-loading { overflow-y: auto; }

/* Preserve the public sticky header while a scrolled document is being reloaded. */
html.is-loading:has(> body .site-header) { overflow: visible; }
body.is-loading:has(> .site-header) { overflow-y: auto; }

/* Compact desktop navigation reuses the existing button, labels and theme tokens. */
@media (min-width: 1051px) {
  .admin-body .admin-side-toggle { display: grid; place-items: center; }
  html.admin-side-compact .admin-body .admin-shell { grid-template-columns: 80px minmax(0, 1fr); }
  html.admin-side-compact .admin-body .admin-side { padding-inline: 8px; z-index: 1100; }
  html.admin-side-compact .admin-body .admin-brand { width: 100%; padding-inline: 0; justify-content: center; }
  html.admin-side-compact .admin-body .admin-brand > span,
  html.admin-side-compact .admin-body .admin-nav-label,
  html.admin-side-compact .admin-body .admin-side-note {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  html.admin-side-compact .admin-body .admin-nav a { padding-inline: 6px; justify-content: center; gap: 0; }
  html.admin-side-compact .admin-body .admin-public-link { padding-inline: 0; font-size: 0; gap: 0; transform: none; }
  
  html.admin-side-compact .admin-body .admin-nav a > span:last-child,
  html.admin-side-compact .admin-body .admin-public-link::after {
    position: fixed; left: var(--admin-tooltip-x, 0px); top: var(--admin-tooltip-y, 0px);
    z-index: 1500; width: max-content; max-width: min(240px, calc(100vw - 24px));
    padding: 8px 12px; border: 1px solid var(--admin-border); border-radius: 12px;
    background: var(--admin-surface); color: var(--ink); box-shadow: var(--shadow);
    font-size: .78rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere;
    opacity: 0; visibility: hidden; pointer-events: none;
  }
  html.admin-side-compact .admin-body .admin-public-link::after { content: attr(data-admin-side-tooltip); }
  html.admin-side-compact .admin-body .admin-nav a.admin-side-tooltip-open > span:last-child,
  html.admin-side-compact .admin-body .admin-public-link.admin-side-tooltip-open::after {
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  html.admin-side-compact.high-contrast .admin-body .admin-nav a > span:last-child,
  html.admin-side-compact.high-contrast .admin-body .admin-public-link::after {
    background: var(--paper); color: var(--ink); border-color: var(--line);
  }
}

/* Image selection preview; existing controls, palette and native file picker are preserved. */
.upload-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr)); gap: 12px; min-width: 0; margin-block-start: 12px; }
.upload-preview[hidden] { display: none; }
.upload-preview-item { margin: 0; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--theme-surface); color: inherit; }
.upload-preview-image { display: block; width: 100%; height: 144px; object-fit: contain; border-radius: 10px; }
.upload-preview-image[hidden], .upload-preview-status[hidden] { display: none; }
.upload-preview-name, .upload-preview-status { display: block; margin-block-start: 8px; font-size: .78rem; line-height: 1.5; overflow-wrap: anywhere; }
.upload-preview-remove { width: 100%; min-width: 0; min-height: 44px; margin-block-start: 8px; padding: 8px 12px; font-size: .78rem; line-height: 1.4; white-space: normal; }
html.high-contrast .upload-preview-item { border-color: var(--ink); background: var(--paper); color: var(--ink); }

/* Appearance choices: local fallbacks retain the default Georgia/Arial design. */
@font-face { font-family: "VX Classic Serif"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/lora-latin.woff2") format("woff2"); }
@font-face { font-family: "VX System Serif"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/noto-serif-latin.woff2") format("woff2"); }
@font-face { font-family: "VX Humanist Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/cabin-latin.woff2") format("woff2"); }
@font-face { font-family: "VX Neo Grotesk"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/inter-latin.woff2") format("woff2"); }
.appearance-preview-admin { margin-block-start: 14px; }
.appearance-preview-admin > .eyebrow { display: block; margin-block-end: 4px; }

/* Public-page directory follows the existing sidebar navigation palette. */
.admin-public-pages { margin-block-start: 18px; margin-block-end: 18px; min-width: 0; }
.admin-public-pages > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 12px 14px; border-radius: 12px; color: rgba(255,255,255,.72); font-weight: 700; cursor: pointer; list-style: none; }
.admin-public-pages > summary::-webkit-details-marker { display: none; }
.admin-public-pages > summary:hover, .admin-public-pages[open] > summary { background: rgba(196,155,72,.16); color: #fff; }
.admin-public-pages-label { min-width: 0; overflow-wrap: anywhere; }
.admin-public-pages-chevron { margin-inline-start: auto; transition: transform .18s ease; }
.admin-public-pages[open] .admin-public-pages-chevron { transform: rotate(180deg); }
.admin-public-pages-panel { display: grid; gap: 18px; margin-block-start: 8px; padding: 12px; max-block-size: min(420px,60dvh); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.admin-public-pages-group { min-width: 0; }
.admin-public-pages-group h3 { margin: 0 0 5px; color: rgba(255,255,255,.38); font-family: var(--sans); font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.admin-public-pages-group a { display: block; min-height: 44px; padding: 10px 8px; border-radius: 12px; font-size: .78rem; line-height: 1.5; color: rgba(255,255,255,.72); overflow-wrap: anywhere; }
.admin-public-pages-group a:hover, .admin-public-pages-group a:focus-visible { background: rgba(196,155,72,.16); color: #fff; }
.admin-public-pages > summary:focus-visible { outline: 2px solid var(--gold2); outline-offset: 2px; }
html.high-contrast .admin-public-pages > summary, html.high-contrast .admin-public-pages-group h3, html.high-contrast .admin-public-pages-group a { color: #fff; }
html.high-contrast .admin-public-pages > summary:hover, html.high-contrast .admin-public-pages[open] > summary, html.high-contrast .admin-public-pages-group a:hover, html.high-contrast .admin-public-pages-group a:focus-visible { background: #ffdf00; color: #000; }
@media (min-width: 1051px) {
  html.admin-side-compact .admin-public-pages > summary { justify-content: center; padding-inline: 6px; gap: 0; }
  html.admin-side-compact .admin-public-pages-label, html.admin-side-compact .admin-public-pages-chevron { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  html.admin-side-compact .admin-public-pages-panel { position: fixed; z-index: 1400; left: var(--admin-public-pages-x,88px); top: var(--admin-public-pages-y,96px); width: min(340px,calc(100vw - 104px)); max-block-size: var(--admin-public-pages-height,calc(100dvh - 112px)); margin: 0; padding: 16px; border: 1px solid var(--vx-dark-border); border-radius: 16px; background: var(--vx-dark-bg); color: var(--vx-dark-text); box-shadow: var(--shadow); }
  html.admin-side-compact.high-contrast .admin-public-pages-panel { background: #000; color: #fff; border-color: #fff; }
}
@media (prefers-reduced-motion: reduce) { .admin-public-pages-chevron { transition: none; } }

/* Decorative footer icons inherit each link's existing color. */
.footer-link-icon { display: inline-block; width: 16px; height: 16px; margin-inline-end: 8px; vertical-align: -.18em; flex-shrink: 0; }
.footer-bottom .footer-home-link { color: inherit; }
.footer-home-link:hover, .footer-home-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }

/* Inline SVG replacements inherit the original icon containers and colors. */
.ui-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; flex-shrink: 0; overflow: visible; pointer-events: none; }
.ui-icon-plus, .ui-icon-minus { width: .584em; }
.ui-icon-warning { width: .35em; }
.feature-list-icon { width: .75em; height: 1.6em; margin-block-start: .2rem; color: var(--gold); font-size: .75rem; }
.ba-divider-icon { position: absolute; z-index: 1; top: 50%; left: 50%; transform: translate(-50%,-50%); color: #111; }
.ba-divider-icon path { stroke-width: 2.6; }
html.high-contrast .ba-divider-icon { color: #000; }
.password-rule > .ui-icon { width: .75em; margin-inline-end: 7px; }
.password-rule-met { display: none; }
.password-rule.met .password-rule-unmet { display: none; }
.password-rule.met .password-rule-met { display: inline; }
.admin-public-link-icon { display: none; }
@media (min-width: 1051px) {
  html.admin-side-compact .admin-body .admin-public-link-icon { display: inline-block; font-size: 1rem; }
}

.system-code > .ui-icon { display: block; width: 1em; height: .8em; margin-inline: auto; }

.ui-icon-chevron-down { width: .625em; }
.ui-icon-search { width: .5625em; }
.btn[data-admin-create] { column-gap: .41em; }
