:root{--brand-primary: #2b2c30;--brand-secondary: #b9884a;--accent: #8a6430;--accent-ink: #ffffff;--background: #f6f3ee;--surface: #ffffff;--text: #1f2024;--muted: #5d6066;--border: #e3dccf;--night: #17181b;--night-2: #222428;--night-line: rgba(185, 136, 74, .28);--ok: #2f6b3a;--warn: #8a6d1d;--danger: #9b2c2c;--font-display: "Archivo", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 72px;--s9: 112px;--r1: 6px;--r2: 10px;--r3: 16px;--shadow-1: 0 1px 2px rgba(23, 24, 27, .06), 0 2px 8px rgba(23, 24, 27, .05);--shadow-2: 0 10px 30px rgba(23, 24, 27, .12);--ease: cubic-bezier(.2, .7, .2, 1);--t-fast: .18s;--t-med: .42s;--t-slow: .9s;--t-reveal: .7s;--header-h: 84px;--bg: var(--background);--ink: var(--text);--line: var(--border);--gold: var(--brand-secondary);font-family:var(--font-body);color:var(--text);background:var(--background);line-height:1.55;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background)}img,svg,canvas{max-width:100%}a{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text)}:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-secondary) 70%,transparent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;z-index:100;border-radius:var(--r1)}.skip:focus{left:8px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--s4)}@media(min-width:768px){.container{padding:0 var(--s6)}}.wrap{max-width:1120px;margin:0 auto;padding:0 var(--s4)}.btn{--b: var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--b);background:var(--b);color:var(--accent-ink);padding:13px 22px;border-radius:var(--r1);font:inherit;font-weight:600;letter-spacing:.02em;cursor:pointer;text-decoration:none;transition:transform var(--t-fast) var(--ease),background var(--t-fast),box-shadow var(--t-fast)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)}.btn .arrow{transition:transform var(--t-fast) var(--ease)}.btn:hover .arrow{transform:translate(4px)}.btn.ghost{background:transparent;color:var(--accent)}.btn.light{--b: rgba(255,255,255,.55);background:transparent;color:#fff}.btn.light:hover{background:#ffffff14}.btn.gold{--b: var(--brand-secondary);color:#17181b}.btn.lg{padding:15px 22px;font-size:14px;text-transform:uppercase;letter-spacing:.06em}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.section{padding:var(--s8) 0;position:relative}@media(min-width:1024px){.section{padding:var(--s9) 0}}.section-header{max-width:720px;margin-bottom:var(--s7)}.section-header h2{font-size:clamp(30px,4.4vw,52px);line-height:1.05;margin:14px 0 16px;font-weight:700}.section-header p{color:var(--muted);font-size:18px;margin:0;max-width:60ch}.dark{background:var(--night);color:#e9e6e0}.dark h2,.dark h3{color:#fff}.dark .section-header p,.dark .muted{color:#a9a7a2}.dark .eyebrow{color:var(--brand-secondary)}.blueprint-bg{background-image:linear-gradient(var(--night-line) 1px,transparent 1px),linear-gradient(90deg,var(--night-line) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px}.paper-grid{background-image:linear-gradient(rgba(43,44,48,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(43,44,48,.05) 1px,transparent 1px);background-size:32px 32px}.reveal{opacity:0;transform:translateY(18px);transition:opacity var(--t-reveal) var(--ease),transform var(--t-reveal) var(--ease)}.js-off .reveal,.reveal.in{opacity:1;transform:none}.reveal[data-delay="1"]{transition-delay:90ms}.reveal[data-delay="2"]{transition-delay:.18s}.reveal[data-delay="3"]{transition-delay:.27s}.reveal[data-delay="4"]{transition-delay:.36s}.draw path,.draw line,.draw rect,.draw polyline{stroke-dasharray:var(--len, 1200);stroke-dashoffset:var(--len, 1200);transition:stroke-dashoffset 1.6s var(--ease)}.in .draw path,.in .draw line,.in .draw rect,.in .draw polyline,.draw.in path,.draw.in line,.draw.in rect,.draw.in polyline{stroke-dashoffset:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.draw path,.draw line,.draw rect,.draw polyline{stroke-dashoffset:0}}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);transition:background var(--t-med),box-shadow var(--t-med),border-color var(--t-med);background:#fffffff5;border-bottom:1px solid transparent}.site-header.scrolled{background:#ffffffdb;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);box-shadow:0 1px 0 var(--border)}.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s5)}.logo{display:block;line-height:0}.logo img{height:66px;width:auto;display:block;transition:height var(--t-med) var(--ease)}@media(min-width:1024px){:root{--header-h: 100px}.logo img{height:82px}.site-header.scrolled .logo img{height:66px}.site-header{transition:height var(--t-med) var(--ease),background var(--t-med),box-shadow var(--t-med)}.site-header.scrolled{height:84px}}.nav{display:none;align-items:center;gap:var(--s5)}.nav a{color:var(--text);text-decoration:none;font-size:14px;font-weight:500;position:relative;padding:6px 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--brand-secondary);transition:right var(--t-med) var(--ease)}.nav a:hover:after,.nav a:focus-visible:after{right:0}.header-cta{display:none}.menu-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:1px solid var(--border);border-radius:var(--r1);width:44px;height:44px;display:grid;place-items:center;cursor:pointer}.menu-btn span{display:block;width:18px;height:1.5px;background:var(--text);position:relative}.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--text);transition:transform var(--t-fast)}.menu-btn span:before{top:-6px}.menu-btn span:after{top:6px}.menu-btn[aria-expanded=true] span{background:transparent}.menu-btn[aria-expanded=true] span:before{transform:translateY(6px) rotate(45deg)}.menu-btn[aria-expanded=true] span:after{transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--header-h) 0 0;background:var(--surface);z-index:49;padding:var(--s5) var(--s4);display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border)}.mobile-menu a:not(.btn){padding:14px 0;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none;font-family:var(--font-display);font-size:22px;font-weight:600}.mobile-menu .btn{margin-top:var(--s5);justify-content:center}@media(min-width:1024px){.nav,.header-cta{display:inline-flex}.menu-btn,.mobile-menu{display:none}}.hero{position:relative;min-height:100svh;padding-top:var(--header-h);background:radial-gradient(120% 90% at 75% 40%,#2a2c31 0%,var(--night) 60%);color:#fff;overflow:hidden}.hero .grid-lines{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;-webkit-mask-image:radial-gradient(80% 70% at 70% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(80% 70% at 70% 45%,#000 30%,transparent 80%)}.hero-inner{position:relative;display:grid;gap:var(--s6);align-items:center;min-height:calc(100svh - var(--header-h));padding-block:var(--s7) var(--s8)}@media(min-width:1024px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:var(--s5)}}.hero h1{color:#fff;font-size:clamp(34px,3.9vw,58px);line-height:1.06;letter-spacing:-.022em;margin:20px 0 24px;font-weight:800;text-wrap:balance}.hero h1 .line+.line{margin-top:.12em}.hero h1 .line{display:block;overflow:hidden}.hero h1 .line span{display:block;transform:translateY(105%);animation:rise 1s var(--ease) forwards}.hero h1 .line:nth-child(2) span{animation-delay:.12s;color:var(--brand-secondary)}@keyframes rise{to{transform:none}}.hero p.lead{color:#cfccc6;font-size:clamp(16px,1.35vw,19px);line-height:1.6;max-width:44ch;margin:0 0 var(--s6);text-wrap:pretty}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch}.hero-ctas .btn{min-height:54px;justify-content:center}@media(max-width:560px){.hero-ctas .btn{flex:1 1 100%}}.btn.light:hover{border-color:var(--brand-secondary);color:#fff}.btn.gold:hover{background:#c8975a}.btn:active{transform:translateY(0) scale(.99)}.scene-wrap{position:relative;aspect-ratio:1 / 1;width:100%;max-height:72vh}@media(max-width:1023px){.scene-wrap{aspect-ratio:4 / 3;order:-1;max-height:46vh}}.scene-wrap canvas{display:block;width:100%!important;height:100%!important}.scene-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.phase{position:absolute;left:0;bottom:4%;display:flex;gap:6px;flex-wrap:wrap;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8d8a84}.phase span{padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;transition:color var(--t-med),border-color var(--t-med),background var(--t-med)}.phase span.on{color:#17181b;background:var(--brand-secondary);border-color:var(--brand-secondary)}@media(max-width:767px){.phase{bottom:0}.phase span:not(.on){display:none}}.scroll-hint{position:absolute;left:50%;bottom:18px;transform:translate(-50%);width:1px;height:46px;background:linear-gradient(var(--brand-secondary),transparent)}.anatomy{display:grid;gap:var(--s6)}@media(min-width:1024px){.anatomy{grid-template-columns:1.15fr 1fr;align-items:start}.anatomy-figure{position:sticky;top:calc(var(--header-h) + 24px)}}.anatomy-figure{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:var(--s4);box-shadow:var(--shadow-1)}.anatomy svg .part{transition:opacity var(--t-med),stroke var(--t-med),fill var(--t-med);opacity:.35}.anatomy svg .part.on{opacity:1}.anatomy-list{list-style:none;margin:0;padding:0}.anatomy-list li{padding:var(--s5) 0;border-top:1px solid var(--border);display:grid;grid-template-columns:56px 1fr;gap:var(--s3);cursor:default;transition:opacity var(--t-med);opacity:.5}.anatomy-list li.on{opacity:1}.anatomy-list .n{font-family:var(--font-display);font-weight:700;color:var(--brand-secondary);font-size:14px;letter-spacing:.1em;padding-top:4px}.anatomy-list h3{margin:0 0 4px;font-size:22px}.anatomy-list p{margin:0;color:var(--muted)}.anatomy-list .tag-row{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:6px}.services{display:grid;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);overflow:hidden;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.service{background:var(--surface);box-shadow:inset -1px -1px 0 var(--border);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);min-height:230px;position:relative;text-decoration:none;color:inherit;outline-offset:-3px}.service .art{height:86px;width:120px;transition:transform var(--t-med) var(--ease)}.service:hover .art,.service:focus-visible .art{transform:translateY(-3px)}.service h3{margin:0;font-size:19px}.service p{margin:0;color:var(--muted);font-size:14px}.service .mode{margin-top:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px}.service .mode:before{content:"";width:8px;height:8px;border-radius:2px;border:1px solid currentColor}.service:after{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--brand-secondary);transition:width var(--t-med) var(--ease)}.service:hover:after,.service:focus-visible:after{width:100%}.art .s{fill:none;stroke:var(--brand-primary);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.art .g{fill:none;stroke:var(--brand-secondary);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.art .fillg{fill:var(--brand-secondary)}.art .dash,.art .fade,.art .wipe,.art .drop{opacity:.32;transition:opacity .4s var(--ease)}.art .wipe{transform-origin:left;transform-box:fill-box}.art .dash{stroke-dasharray:220}@keyframes art-draw{0%{stroke-dashoffset:220}to{stroke-dashoffset:0}}@keyframes art-wipe{0%{transform:scaleX(0)}to{transform:none}}@keyframes art-drop{0%{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}.service:hover .art :is(.dash,.fade,.wipe,.drop),.service:focus-visible .art :is(.dash,.fade,.wipe,.drop),.touch-on .service.in .art :is(.dash,.fade,.wipe,.drop){opacity:1}.service:hover .dash,.service:focus-visible .dash,.touch-on .service.in .dash{animation:art-draw 1.1s var(--ease) both}.service:hover .wipe,.service:focus-visible .wipe,.touch-on .service.in .wipe{animation:art-wipe .9s var(--ease) both}.service:hover .drop,.service:focus-visible .drop,.touch-on .service.in .drop{animation:art-drop .45s var(--ease) both}.art .d1{animation-delay:.08s!important}.art .d2{animation-delay:.16s!important}.art .d3{animation-delay:.24s!important}.art .d4{animation-delay:.32s!important}.art .d5{animation-delay:.4s!important}.art .d6{animation-delay:.48s!important}.services-note{color:var(--muted);font-size:14px;margin-top:var(--s4)}.process{list-style:none;margin:0;padding:0;display:grid;gap:var(--s5);position:relative;counter-reset:p}@media(min-width:1024px){.process{grid-template-columns:repeat(5,1fr);gap:var(--s4)}}.process li{position:relative;padding:var(--s5) var(--s4) var(--s4);border-left:1px solid var(--night-line)}@media(min-width:1024px){.process li{border-left:0;border-top:1px solid var(--night-line);padding:var(--s6) 0 0}}.process .node{position:absolute;left:-6px;top:26px;width:11px;height:11px;border:1.5px solid var(--brand-secondary);background:var(--night);transform:rotate(45deg)}@media(min-width:1024px){.process .node{left:0;top:-6px}}.process .num{font-family:var(--font-display);font-size:44px;font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(185,136,74,.8);line-height:1}.process h3{margin:10px 0 6px;font-size:18px}.process p{margin:0;font-size:14px;color:#a9a7a2}.process .rule{position:absolute;background:var(--brand-secondary);transform-origin:top left;transition:transform 1.6s var(--ease)}.process-wrap{position:relative}.process-progress{position:absolute;left:0;top:0;height:1px;width:100%;background:var(--brand-secondary);transform:scaleX(0);transform-origin:left;transition:transform 2.2s var(--ease);display:none}@media(min-width:1024px){.process-progress{display:block}}.in .process-progress,.process-wrap.in .process-progress{transform:scaleX(1)}.diffs{display:grid;gap:0;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));border-top:1px solid var(--border)}.diff{padding:var(--s5) var(--s4) var(--s5) 0;border-bottom:1px solid var(--border)}.diff h3{margin:0 0 6px;font-size:18px;display:flex;align-items:center;gap:10px}.diff h3:before{content:"";width:10px;height:10px;border:1.5px solid var(--brand-secondary);transform:rotate(45deg);flex:none}.diff p{margin:0;color:var(--muted);font-size:15px}.projects{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-slot{aspect-ratio:4 / 3;border-radius:var(--r2);border:1px dashed #cfc5b3;background:var(--surface);display:grid;place-items:center;position:relative;overflow:hidden;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease),border-color var(--t-med)}.project-slot:hover{transform:translateY(-4px);box-shadow:var(--shadow-2);border-color:var(--brand-secondary)}.project-slot svg{transition:transform var(--t-slow) var(--ease)}.project-slot:hover svg{transform:scale(1.04)}.project-slot.reveal{clip-path:inset(0 0 100% 0)}.project-slot.reveal.in{clip-path:inset(0);transition:clip-path .9s var(--ease),opacity var(--t-reveal) var(--ease),transform var(--t-med) var(--ease),box-shadow var(--t-med) var(--ease)}.project-slot svg{width:78%}.project-slot span{position:absolute;left:14px;bottom:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.final-cta{position:relative;overflow:hidden}.final-cta h2{font-size:clamp(40px,7.5vw,104px);line-height:.95;margin:16px 0 24px;font-weight:800;max-width:12ch}.final-cta p{color:#bdbab4;font-size:18px;max-width:52ch;margin:0 0 var(--s6)}.final-cta .art-bg{position:absolute;right:-4%;bottom:-6%;width:min(620px,70vw);opacity:.9;pointer-events:none}@media(max-width:767px){.final-cta .art-bg{opacity:.25}}.site-footer{background:var(--surface);border-top:3px solid var(--brand-secondary);padding:var(--s7) 0 var(--s5);font-size:14px}.footer-grid{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.site-footer img{height:96px;width:auto}.login-wrap img{height:110px!important;width:auto}.site-footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 12px;font-family:var(--font-body)}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.site-footer a{color:var(--text);text-decoration:none}.site-footer a:hover{color:var(--accent)}.footer-bottom{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--border);color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.page{padding:calc(var(--header-h) + var(--s7)) 0 var(--s8);min-height:70vh}.page h1{font-size:clamp(30px,4vw,46px);margin:12px 0 16px}.prose{max-width:70ch;color:var(--muted)}.prose h2{font-size:22px;color:var(--text);margin-top:var(--s6)}.quote{padding:calc(var(--header-h) + var(--s6)) 0 var(--s8)}.quote-layout{display:grid;gap:var(--s6)}@media(min-width:1024px){.quote-layout{grid-template-columns:260px 1fr;align-items:start}.stepper{position:sticky;top:calc(var(--header-h) + 24px)}}.stepper{list-style:none;margin:0;padding:0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}@media(min-width:1024px){.stepper{flex-direction:column;gap:0;border-left:1px solid var(--border)}}.stepper li{flex:none;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}@media(min-width:1024px){.stepper li{border:0;border-radius:0;background:none;padding:10px 0 10px 18px;margin-left:-1px;border-left:2px solid transparent}}.stepper li b{font-family:var(--font-display);font-size:12px;color:var(--muted)}.stepper li.done{color:var(--text)}.stepper li.current{color:var(--text);font-weight:600;border-color:var(--brand-secondary)}.stepper li.current b,.stepper li.done b{color:var(--accent)}.progress{height:3px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:var(--s5)}.progress span{display:block;height:100%;background:var(--brand-secondary);transition:width var(--t-med) var(--ease)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:var(--s5);box-shadow:var(--shadow-1);position:relative}@media(min-width:768px){.form-card{padding:var(--s6) var(--s7)}}.form-card:before{content:"";position:absolute;inset:0 auto auto 0;width:64px;height:64px;border-top:2px solid var(--brand-secondary);border-left:2px solid var(--brand-secondary);border-top-left-radius:var(--r3);pointer-events:none}.form-card h2{font-size:clamp(24px,3vw,32px);margin:6px 0}.step-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.choice-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.choice{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);cursor:pointer;font-weight:500;transition:border-color var(--t-fast),background var(--t-fast)}.choice:hover{border-color:#cdbfa6}.choice input{margin:3px 0 0;width:18px;height:18px;accent-color:var(--accent);flex:none}.choice:has(input:checked){border-color:var(--brand-secondary);background:#fbf7f0}.choice small{display:block;font-weight:400;color:var(--muted);font-size:13px}.mode-badge{display:inline-block;margin-top:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;border-radius:4px;border:1px solid var(--border);color:var(--muted)}.mode-badge.VISIT{color:var(--danger);border-color:#e8c9c9}.mode-badge.AUTO{color:var(--ok);border-color:#c9dccc}.fieldset{border:0;padding:0;margin:0 0 var(--s5)}.fieldset legend{font-family:var(--font-display);font-weight:700;font-size:18px;margin-bottom:10px;padding:0}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r1);overflow:hidden;flex-wrap:wrap}.seg label{display:flex;align-items:center;padding:10px 14px;cursor:pointer;font-weight:500;border-right:1px solid var(--border);margin:0}.seg label:last-child{border-right:0}.seg input{position:absolute;opacity:0;pointer-events:none}.seg label:has(input:checked){background:var(--brand-primary);color:#fff}.seg label:has(input:focus-visible){outline:3px solid var(--brand-secondary);outline-offset:-3px}.measure-box{border:1px solid var(--border);border-radius:var(--r2);padding:var(--s4);margin-bottom:var(--s4);background:linear-gradient(#fff,#fff) padding-box}.measure-box h3{margin:0 0 12px;font-size:18px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.calc{font-family:var(--font-display);color:var(--accent);font-size:15px}.dropzone{border:1.5px dashed #cdbfa6;border-radius:var(--r2);padding:var(--s6) var(--s4);text-align:center;background:#fbf9f5;cursor:pointer;display:block}.dropzone input{position:absolute;opacity:0;width:1px;height:1px}.dropzone:focus-within{outline:3px solid var(--brand-secondary)}.files{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px;font-size:14px}.files li{display:flex;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--r1);background:#fff}.files button{background:none;border:0;color:var(--danger);cursor:pointer;font:inherit}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:var(--s6);flex-wrap:wrap-reverse}.done-card{text-align:center;padding:var(--s7) var(--s5)}.done-card .protocol{font-family:var(--font-display);font-size:clamp(24px,4vw,36px);letter-spacing:.06em;color:var(--accent);margin:10px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:var(--s5);margin-bottom:var(--s5)}h2{font-size:22px;margin:0 0 4px}.sub{color:var(--muted);margin:0 0 20px;font-size:14px}.row{display:flex;gap:12px;justify-content:space-between;margin-top:24px;flex-wrap:wrap}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label{display:block;font-size:14px;font-weight:600}label .hint,.hint{font-weight:400;color:var(--muted);font-size:13px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d8cfbf;border-radius:var(--r1);font:inherit;background:#fff;color:var(--text);min-height:46px}textarea{min-height:96px}input:focus,select:focus,textarea:focus{border-color:var(--brand-secondary);outline:none;box-shadow:0 0 0 3px #b9884a33}input[type=checkbox],input[type=radio]{width:auto;min-height:0;display:inline-block;margin:0}.err{color:var(--danger);font-size:13px;margin-top:4px}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:12px}.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent)}.notice{background:#fbf6ec;border:1px solid #ecdcbf;border-left:3px solid var(--brand-secondary);padding:12px 14px;border-radius:var(--r1);font-size:14px;color:#5a4a2c}.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:#f1ece3;color:var(--muted);font-weight:600;vertical-align:middle}.tag.danger{background:#f6e4e4;color:var(--danger)}.tag.ok{background:#e3efe5;color:var(--ok)}dl.review{display:grid;grid-template-columns:max-content 1fr;gap:10px 18px;margin:0;font-size:15px}dl.review dt{color:var(--muted)}dl.review dd{margin:0}@media(max-width:560px){dl.review{grid-template-columns:1fr;gap:2px}dl.review dd{margin-bottom:10px}}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}td.num,th.num{text-align:right;white-space:nowrap}tfoot td{font-weight:600}tr.click{cursor:pointer}tr.click:hover td{background:#faf7f1}.scroll{overflow-x:auto}.admin-shell{display:grid;min-height:100vh}@media(min-width:1024px){.admin-shell{grid-template-columns:240px 1fr}}.admin-side{background:var(--night);color:#d6d3cd;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s4)}@media(min-width:1024px){.admin-side{position:sticky;top:0;height:100vh}}.admin-side .logo-box{background:#fff;border-radius:var(--r2);padding:6px;display:flex;align-items:center;gap:10px}.admin-side .logo-box img{height:56px}.admin-side .logo-box small{color:var(--muted);font-size:12px;line-height:1.2}.admin-nav{display:flex;gap:4px;overflow-x:auto}@media(min-width:1024px){.admin-nav{flex-direction:column}}.admin-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:#c9c6c0;text-align:left;padding:10px 12px;border-radius:var(--r1);font:inherit;cursor:pointer;white-space:nowrap;border-left:2px solid transparent}.admin-nav button:hover{background:#ffffff0d;color:#fff}.admin-nav button[aria-current=page]{color:#fff;background:#b9884a24;border-left-color:var(--brand-secondary)}.admin-side .who{margin-top:auto;font-size:13px;color:#a9a7a2}.admin-side .who button{background:none;border:0;color:var(--brand-secondary);font:inherit;cursor:pointer;padding:0}.admin-main{padding:var(--s5) var(--s4) var(--s8);min-width:0}@media(min-width:768px){.admin-main{padding:var(--s6)}}.kpis{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));margin-bottom:var(--s5)}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);padding:var(--s4);text-align:left;font:inherit;cursor:pointer;position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-secondary)}.kpi strong{display:block;font-family:var(--font-display);font-size:34px;line-height:1.1;color:var(--text)}.kpi span{color:var(--muted);font-size:13px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:var(--s4);background:var(--night)}.login-wrap .card{width:100%;max-width:420px}.login-wrap img{height:96px;display:block;margin:0 auto var(--s4)}.process-wrap{--p: 0}.process-wrap .process-progress{transform:scaleX(var(--p));transition:transform .12s linear}.process-vline{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--brand-secondary);transform-origin:top;transform:scaleY(var(--p))}@media(min-width:1024px){.process-vline{display:none}}.process li .node{transition:background var(--t-med),box-shadow var(--t-med)}.process li.on .node{background:var(--brand-secondary);box-shadow:0 0 0 4px #b9884a2e}.process li .num{transition:color var(--t-med)}.process li.on .num{color:#b9884a2e}.process .stage{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-secondary);margin-top:6px;opacity:.8}.step-anim{animation:step-in .36s var(--ease) both}@keyframes step-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.choice:after{content:"";position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:var(--brand-secondary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2317181b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;transform:scale(0);transition:transform .22s var(--ease)}.choice:has(input:checked):after{transform:scale(1)}.choice:has(input:checked){box-shadow:0 0 0 1px var(--brand-secondary) inset}.form-card label:focus-within{color:var(--accent)}.seg label{transition:background var(--t-fast),color var(--t-fast)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.done-check{width:64px;height:64px;margin:0 auto 8px;display:block}.done-check circle,.done-check path{fill:none;stroke:var(--brand-secondary);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.done-check circle{stroke-dasharray:190;stroke-dashoffset:190;animation:draw-in .7s var(--ease) forwards}.done-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:draw-in .4s .55s var(--ease) forwards}@keyframes draw-in{to{stroke-dashoffset:0}}
