:root{--paper:#f5f3ec;--ink:#20251f;--muted:#596153;--blue:#244de8;--amber:#e8ad48;--navy:#0e1a30;--line:#cbd0c2;--serif:"Songti SC","STSong","Noto Serif CJK SC",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;--daylight:0;--page-progress:0}*{box-sizing:border-box}html{scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border-radius:0}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:active{transform:translateY(2px)}button{background:none;border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h2{font:500 clamp(38px,4.1vw,62px)/1.5 var(--serif);letter-spacing:-.03em}p{line-height:1.9}small{font-size:11px}.blue{color:var(--blue)}.eyebrow{font:11px/1.6 var(--sans);letter-spacing:.13em}.meta,.sample-label{font:11px/1.8 var(--sans)}.sample-label{letter-spacing:.04em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:-90px;left:20px;background:var(--ink);color:white;padding:15px;z-index:200}.skip:focus{top:12px}.site-header{position:absolute;z-index:60;top:0;left:0;width:100%;height:110px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #a5ad993d;transition:height .3s,background .3s,color .3s}.js .site-header{position:fixed}.site-header.compact{height:64px;background:#f5f3ecf5;backdrop-filter:blur(12px)}.site-header.dark{background:#0e1a30ed;color:#f5f3ec;border-color:#ffffff26}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:17px;letter-spacing:.2px}.brand small{display:block;font:8px/1.5 monospace;letter-spacing:1px;margin-top:5px}.brand-mark{display:flex;gap:3px;align-items:end;width:28px;height:35px}.brand-mark i{display:block;background:var(--blue);width:7px;height:23px;transform-origin:bottom;transform:scaleY(calc(.3 + var(--page-progress)*.7))}.brand-mark i:nth-child(2){height:35px}.brand-mark i:nth-child(3){height:29px}.site-header nav{display:flex;align-items:center;gap:22px;font-size:11px}.site-header button{font-size:11px;padding:8px 0}.site-header .nav-download{padding:12px 15px;background:var(--blue);color:white}.motion-toggle,.sound-toggle{white-space:nowrap}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;background:var(--blue);color:white;min-height:54px;box-shadow:0 3px 0 #1734a5;font-size:13px}.primary:hover{background:#163dc7}.primary>span:last-child{font-size:22px}.text-link{padding:12px 0;font-size:12px;border-bottom:1px solid currentColor}.cta-group{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.phone-label{display:none!important}.walk-link{display:inline-block;font-size:12px;margin:22px 0 16px;border-bottom:1px solid #839075;padding-bottom:6px}.scene{position:relative}.stage{position:relative;overflow:hidden;min-height:800px;height:100svh;isolation:isolate}.camera,.camera>picture,.camera>picture img,.room-image,.room-image img,.hero-room-bridge,.hero-room-bridge picture,.hero-room-bridge img{position:absolute;inset:0;width:100%;height:100%}.camera{transform-origin:0 0}.camera>picture img,.room-image img,.hero-room-bridge img{object-fit:cover;object-position:center}.hero .stage{background:var(--paper)}.hero-copy{position:absolute;left:5.5%;top:22%;width:40%;max-width:610px;z-index:4}.hero-copy h1{font:500 clamp(44px,4.5vw,70px)/1.42 var(--serif);letter-spacing:-.045em;margin:27px 0 23px}.hero-copy h1>span{display:block;white-space:nowrap}.hero-copy h1 strong{font-weight:500}.hero-copy h1 .blue{border-bottom:2px solid var(--blue)}.intro{font-size:14px;max-width:420px;line-height:2;color:#4f584a;margin-bottom:25px}.hero-copy .meta{color:var(--muted)}.hero-index{position:absolute;right:5.5%;top:135px;display:flex;flex-direction:column;gap:9px;font-size:10px;text-align:right;color:#536049;z-index:3}.hero-index .sample-label{font-size:10px}.house-light,.hero-elevation{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.house-light{mix-blend-mode:screen}.hero-elevation path{stroke:#244de8;stroke-width:.7;stroke-dasharray:1;stroke-dashoffset:0;opacity:.2}.window-outline{position:absolute;left:41.8%;top:39%;width:41.8%;height:18.5%;border:1px solid #edc876;opacity:0;box-shadow:0 0 20px #e8ad4830}.css-lights{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}.css-lights i{position:absolute;left:42%;width:38%;height:17%;background:radial-gradient(ellipse,#ffc45885,transparent 75%);opacity:var(--light,1)}.css-lights i:nth-child(1){top:62.5%}.css-lights i:nth-child(2){top:39%}.css-lights i:nth-child(3){top:15.5%}.hero[data-renderer=webgl] .css-lights{opacity:0}.window-callout{position:absolute;width:178px;text-align:left;padding:13px 15px;border:1px solid #98a88f;background:#f6f4e9ed;box-shadow:6px 9px 18px #1b2d1819;z-index:3;color:#263b2d}.window-callout:before{content:"";position:absolute;left:-45px;top:50%;width:45px;border-top:1px solid #b6bfa2;transform-origin:right}.window-callout span{font:9px monospace;color:#536c4b;letter-spacing:.13em}.window-callout strong{display:block;font-size:14px;font-weight:500;margin:7px 0}.window-callout small{display:block;font-size:10px;line-height:1.7}.window-callout .callout-next{font-size:9px;margin-top:4px}.window-callout[aria-pressed=true]{border-color:#b59e65;background:#243b31;color:#f5eed4}.window-callout[aria-pressed=true] span{color:#e8ce92}.floor-0{left:62%;top:69%}.floor-1{left:75%;top:43%}.floor-2{left:65%;top:17%}.drawing-legend{position:absolute;left:5.5%;right:5.5%;bottom:27px;display:flex;align-items:center;gap:12px;font-size:11px;color:#58634e;margin:0}.drawing-legend i{width:7px;height:7px;border-radius:50%;background:var(--amber)}.drawing-legend span{margin-left:auto}.hero-room-bridge{z-index:5;pointer-events:none;opacity:0}.hero-room-bridge img{transform:scale(1.12)}.scene-label{position:absolute;left:5.5%;right:5.5%;top:95px;display:flex;justify-content:space-between;font-size:11px;z-index:4;color:#f6f1d9}.room-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#112c38a8,transparent 63%);pointer-events:none}.interior-sunlight{position:absolute;inset:0;mix-blend-mode:screen;background:linear-gradient(112deg,transparent 45%,#f9d07821 56%,transparent 66%);pointer-events:none}.quote-block{position:absolute;left:5.5%;top:26%;width:37%;color:#fff5d9;z-index:2}.quote-block h2{font-size:clamp(29px,3.15vw,48px);line-height:1.65;letter-spacing:.01em;margin:28px 0 25px}.quote-block>.eyebrow{font-size:10px;color:#e0e9d8}.attribution{font-size:12px}.quote-block>p:not(.eyebrow){font-size:12px;line-height:2.1;max-width:420px}.signature{display:block;margin-top:24px;font-size:11px;padding-top:18px;border-top:1px solid #d5dcc93d}.room-timeline{list-style:none;padding:0;margin:25px 0 0}.room-timeline li{display:flex;gap:15px;font-size:10px;line-height:1.8;max-width:420px;margin:9px 0}.room-timeline time{font-family:monospace;flex-shrink:0;color:#eac58a}.file-placement{position:absolute;right:5.5%;top:36%;width:49%;max-width:760px;z-index:3;perspective:1600px;transform-origin:50% 100%}.file-shadow{position:absolute;inset:5% -2% -3% 1%;background:#0c1c2766;filter:blur(16px);transform:skewX(-5deg);z-index:-1}.customer-file{display:grid;grid-template-columns:26% 74%;background:#eee9ce;border:1px solid #a9ab8b;box-shadow:4px 5px 0 #dfd8b8,8px 10px 0 #213b47,9px 11px 0 #a8a381;min-height:360px;transform:perspective(1600px) rotateY(-3deg) rotateX(2deg);transform-origin:bottom right}.file-binding{background:linear-gradient(100deg,#234456,#385768);color:#f2efd9;padding:29px 20px;position:relative;border-right:6px double #aec1af}.file-binding:before{content:"";position:absolute;left:7px;top:0;bottom:0;border-left:1px solid #9caea14d}.file-binding>span{font:9px monospace;letter-spacing:.1em;color:#c1cbb4}.file-binding h3{font:500 26px/1.5 var(--serif);margin:25px 0 10px}.file-binding>small{font:7px/1.8 monospace;letter-spacing:.08em;display:block}.file-contact{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:35px;font-size:11px;line-height:1.8}.file-contact small{display:block;font-size:9px;color:#c6d5c8}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ece5c9;color:#385151}.file-body{padding:25px 25px 16px;min-width:0;background:repeating-linear-gradient(0deg,#77674303 0 1px,transparent 1px 4px)}.file-top{display:flex;justify-content:space-between;gap:10px;font:9px/1.7 var(--sans);color:#57644f;padding-bottom:23px}.file-top span:last-child{font:7px monospace}.file-tabs{display:flex;border-bottom:1px solid #b7b397;gap:1px}.file-tabs button{flex:1;font-size:10px;padding:12px 4px;white-space:nowrap;border:1px solid transparent}.file-tabs button[aria-selected=true]{background:#fcf8e7;color:#1e42a9;border:1px solid #c0bea7;border-bottom-color:#fcf8e7;box-shadow:0 -2px 0 #dba545}.file-page{padding:18px 12px 0;background:#fcf8e7;transform-origin:left;min-height:268px;border-right:1px solid #d3ccb2;box-shadow:2px 4px 0 #d7ceb0}.file-page h4{font:500 19px var(--serif);margin:7px 0 18px}.paper-index{font:8px monospace;color:#74775d}.file-page dl,.quote-items{margin:0;display:grid;gap:10px}.file-page dl>div{display:grid;grid-template-columns:80px 1fr;gap:10px;font-size:11px;line-height:1.65}.file-page dt{color:#68715c}.file-page dd{margin:0;font-weight:500;color:#283e31}.handoff{display:flex;flex-direction:column;gap:5px;font-size:9px;line-height:1.7;margin-top:18px;border-top:1px solid #d0d0b9;padding:11px 0;color:#647053}.handoff b{font-weight:500;color:#304f36;margin-left:8px}.constellation{position:absolute;inset:20% 13%;z-index:4;color:#f9eed7;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-content:center;text-align:center}.constellation-center{grid-column:1/-1;font:38px/1.6 var(--serif);margin-bottom:25px}.constellation-center strong{display:block;font:12px var(--sans);letter-spacing:.2em}.constellation-node{border-top:1px solid #dac897;padding:14px;background:#17342bc7;position:relative}.constellation-node span{display:block;font-size:10px;color:#e0cca2;margin-bottom:12px}.constellation-node strong{font:18px var(--serif)}.constellation>p{grid-column:1/-1;font-size:12px;margin-top:20px}.night-curtain,.promenade-intro-curtain{position:absolute;inset:0;background:var(--navy);pointer-events:none;z-index:10;opacity:0}.promenade{background:var(--navy);color:#f5f1df}.promenade .stage{background:var(--navy)}.promenade-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0e1a30f0,#0e1a3080 35%,transparent 65%);pointer-events:none}.promenade-heading{position:absolute;left:5.5%;top:20%;max-width:540px}.promenade-heading h2{margin:24px 0;font-size:52px}.promenade-heading em{font-style:normal;color:#dfc993}.promenade-heading p:last-child{font-size:13px;color:#d3d9cd}.scene-view-toggle{position:absolute;top:92px;right:5.5%;z-index:20;display:flex;background:#0e1a30c9;border:1px solid #aab79e7a}.scene-view-toggle button{font-size:10px;padding:10px 16px;color:#d1d8c8}.scene-view-toggle button[aria-pressed=true]{background:#d7d7b9;color:#152a30}.route-svg,.cad-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.route-base{stroke:#eac68540;stroke-width:1}.route-live{stroke:#f2d899;stroke-width:1.5;stroke-dasharray:1000;stroke-dashoffset:0}.route-dot{fill:#fff1b5;filter:drop-shadow(0 0 3px #fec56b)}.cad-overlay{opacity:0}.cad-overlay path{stroke:#cbd9bd;stroke-width:.9;stroke-dasharray:1000}.promenade-lights{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}.promenade-lights i{position:absolute;width:17%;height:17%;border-radius:50%;background:radial-gradient(ellipse,#fac16590,transparent 70%);left:5%;top:64%}.promenade-lights i:nth-child(2){left:30%;top:47%}.promenade-lights i:nth-child(3){left:56%;top:34%}.promenade-lights i:nth-child(4){left:81%;top:16%}.step-panel{position:absolute;inset:0;display:grid;grid-template-columns:34% 34%;justify-content:space-between;align-items:center;padding:145px 5.5% 125px;gap:5%}.step-copy h3{font:500 clamp(32px,3.1vw,48px)/1.5 var(--serif);margin:27px 0}.step-copy>p:not(.eyebrow){font-size:13px;line-height:2.2;color:#d9e0d5}.role-stamp{border-top:1px solid #a8b79966;margin-top:35px;padding-top:20px;display:flex;gap:15px;align-items:center;transform-origin:left}.role-stamp>span{border:1px solid #d5b674;color:#ead5a6;padding:6px;font:12px var(--serif)}.role-stamp strong{font-size:11px;font-weight:400;line-height:1.8;color:#e2dec8}.proof-card{color:#22342b;background:#f5f0dfed;padding:23px 25px 18px;border:1px solid #b1b394;box-shadow:8px 13px 40px #0003;align-self:center;font-size:11px;transform-origin:right bottom}.proof-card>header{display:flex;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid #bfc4af;margin-bottom:18px;font-size:12px}.proof-card>header small{font-size:9px;color:#52634d;white-space:nowrap}.proof-foot{font-size:10px;color:#56684e;line-height:1.9;margin:15px 0 0}.proof-link{font-size:10px;color:#2144b2;border-bottom:1px solid #abb49f;padding:8px 0;margin-top:12px;display:inline-block}.funnel{display:grid;gap:9px}.funnel>div{display:grid;grid-template-columns:30px 1fr 24px;gap:10px;align-items:center}.funnel>div>div{height:5px;background:#c6cdb84a}.funnel i{display:block;width:calc(var(--bar)*100%);height:100%;background:#718a64;transform-origin:left}.funnel strong{font:13px Georgia,serif}.receipt{font:19px/1.7 var(--serif);margin:20px 0 14px;padding-left:15px;border-left:2px solid #bc9c54}.receipt small{font:10px/1.8 var(--sans);display:block;margin-top:8px}.checks{font-size:10px;line-height:2;color:#385743}.task-rows{list-style:none;margin:0;padding:0}.task-rows li{display:flex;align-items:center;gap:12px;border-bottom:1px solid #c5c9b4;padding:12px 0}.task-rows i{font-style:normal;color:#365d40}.task-rows span{flex:1}.task-rows small{display:block;color:#617153;font-size:9px;margin-top:5px}.task-rows time{font:11px monospace}.version-chip{font-size:10px;border:1px solid #acb99a;display:inline-block;padding:7px 12px;margin:16px 0 0}.quote-items{gap:9px}.quote-items>div{display:flex;justify-content:space-between;font-size:11px}.quote-items dd{margin:0}.quote-total{border-top:1px solid #a9b094;margin-top:16px;padding-top:14px;display:flex;justify-content:space-between;align-items:center}.quote-total>span{font-size:10px}.quote-total b{font:8px monospace;border:1px solid #a8b68c;padding:3px 5px;margin-left:5px}.quote-total strong{font:30px Georgia,serif}.approval{display:inline-block;color:#345c3d;border:1px solid #839b72;font-size:10px;padding:6px 10px;margin:12px 0}.record-chain{font:12px/1.8 monospace;margin-bottom:0}.milestones{list-style:none;padding:0;display:flex;justify-content:space-between;margin:0 0 25px;gap:8px}.milestones li{text-align:center;font-size:10px;flex:1}.milestones i{display:block;width:9px;height:9px;border:1px solid #6f855e;border-radius:50%;background:#779066;margin:0 auto 12px}.milestones time{font:9px monospace;display:block;margin-top:6px}.collection{display:flex;justify-content:space-between;padding:15px 0;border-block:1px solid #bdc5ad;font-size:10px}.collection strong{display:block;font:27px Georgia,serif;margin-top:8px}.renewal{margin-top:23px;font-size:11px}.renewal strong{display:block;font:15px/1.8 monospace;margin-top:13px;transform-origin:center}.step-tabs{position:absolute;left:34%;right:5.5%;bottom:39px;display:flex;border-top:1px solid #bac5a64d;z-index:22}.step-tabs button{color:#c4cdbb;flex:1;font-size:11px;padding:17px 5px;text-align:left}.step-tabs button span{font:9px monospace;margin-right:12px}.step-tabs button[aria-selected=true]{color:#f4d48e;border-top:2px solid #eac781;margin-top:-1px}.step-tabs button:focus-visible,.scene-view-toggle button:focus-visible{outline-color:#eac781}.promenade-demo{position:absolute;bottom:19px;right:5.5%;font-size:10px;color:#d7ddce}.promenade-demo .sample-label{font-size:9px}.xray-labels{position:absolute;inset:30% 18%;z-index:5;text-align:center;color:#fff0c9;pointer-events:none}.xray-labels p{font:30px var(--serif);margin-bottom:60px}.xray-labels>div{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.xray-labels span{font-size:12px;border:1px solid #b8c5a8;background:#152b35ed;padding:10px 15px}.promenade-finale{position:absolute;bottom:24%;left:0;right:0;text-align:center;font:30px var(--serif)}.directory .stage{background:var(--paper)}.directory-copy{position:absolute;left:5.5%;top:19%;width:31%}.directory-copy h2{font-size:clamp(33px,3.45vw,52px);margin:24px 0}.directory-copy>p:not(.eyebrow){font-size:12px;line-height:2;max-width:360px;color:#59674f}.directory-copy .directory-caption{margin-top:34px;font-size:10px}.template-chips{display:flex;gap:8px;flex-wrap:wrap}.template-chips button{font-size:10px;border:1px solid #aeb49e;padding:8px 10px}.template-chips button[aria-pressed=true]{background:#294435;color:#f5eed8;border-color:#294435}.directory-copy .template-notice{font-size:9px;margin-top:12px}.directory-board{position:absolute;left:45%;top:20%;width:44%;max-width:600px;padding:30px 34px 22px;background:repeating-linear-gradient(0deg,#8e7e5114 0 1px,transparent 1px 5px),linear-gradient(105deg,#e8e0c8,#f6f0dc 44%,#d7ceb3);border:1px solid #b8ae8e;box-shadow:2px 3px 0 #b9ac83,10px 17px 25px #27331e19;transform-origin:0 0;z-index:3}.board-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid #988852;color:#635a39;font:21px var(--serif)}.board-title small{font:8px monospace;letter-spacing:.1em}.directory-row{display:flex;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #b5aa8466;color:#484d35}.directory-row>strong{font:25px Georgia,serif;color:#79652f}.directory-row>span{flex:1}.directory-row b{font:500 14px var(--serif)}.directory-row small{display:block;font-size:9px;line-height:1.8;margin-top:5px}.directory-row i{font-style:normal;font-size:14px;color:#716843}.directory-search{margin-top:20px;font-size:12px;color:#344c39}.directory-search p{font-size:10px;margin:8px 0}.directory-search small{font-size:9px}.app-window{position:absolute;left:40%;top:29%;width:56%;margin:0;box-shadow:10px 20px 35px #24321c25;border:1px solid #a2ac9a;background:#f8f9f4;z-index:2}.app-window-title{display:flex;align-items:center;gap:5px;height:25px;padding:0 10px;background:#e7e9df}.app-window-title i{width:5px;height:5px;border-radius:50%;border:1px solid #76816c}.app-window-title span{margin-left:auto;font:7px monospace;color:#56644e}.app-window img{width:100%;height:auto}.app-window figcaption{font-size:9px;color:#5a6551;padding:10px 14px;display:inline-block}.app-window .proof-link{float:right;margin:0 14px}.automation-badge{position:absolute;right:6%;top:77%;width:380px;padding:18px 22px;border-left:2px solid #597346;background:#e6eadbf2;z-index:4}.automation-badge>span{font-size:9px;color:#547244;display:block}.automation-badge strong{font-size:12px;font-weight:500;display:block;margin:9px 0}.automation-badge small{font-size:10px;color:#47673b}.automation-badge .proof-link{display:block;width:max-content;font-size:9px;margin-top:4px}.section-cut{position:absolute;inset:0;background:var(--navy);z-index:9;pointer-events:none}.section-cut span{position:absolute;bottom:0;width:100%;border-bottom:1px solid #627dec;color:#c7d2f3;font:9px monospace;padding:8px 5.5%}.trust{min-height:110vh;padding:130px 8% 100px;display:grid;grid-template-columns:36% 58%;gap:6%;align-items:center;border-top:1px solid var(--line)}.trust-heading h2{margin:28px 0}.trust-heading>p:not(.eyebrow){font-size:12px;color:#59674f;line-height:2}.verification-label{font-size:9px;border:1px solid #a6ae97;display:inline-block;padding:8px 10px}.trust-items{display:grid;grid-template-columns:1fr 1fr;gap:34px 35px}.trust-items article{border-top:1px solid #a5b095;padding-top:20px}.trust-items svg{width:40px;height:40px;stroke:#526b48;stroke-width:1.2}.trust-items svg path{stroke-dasharray:1;stroke-dashoffset:0}.trust-items h3{font:24px var(--serif);margin:17px 0 10px}.trust-items article p{font-size:12px;line-height:2;color:#58674e}.claim-status{font-size:9px;color:#6a694d}.audit-log{font-size:10px;line-height:1.8;border-top:1px solid #a5b095;padding-top:16px}.audit-log>span{font:9px monospace;color:#68755b}.audit-log p{display:flex;justify-content:space-between;border-bottom:1px solid #cbd0c0;margin:10px 0;padding-bottom:6px}.audit-log b{font-weight:400;color:#39532f}.recovery-chip{align-self:center;padding:15px 14px;border:1px solid #b9c4a9;font-size:10px;background:#e7ebdb}.recovery-chip small{display:block;font-size:8px;margin-top:6px;color:#687259}.portal-copy{position:absolute;left:5.5%;top:22%;max-width:570px;z-index:3}.portal-copy h2{font-size:clamp(43px,4.8vw,72px);margin:30px 0 25px}.portal-copy h2 strong{font-weight:500;color:var(--blue);border-bottom:2px solid var(--blue)}.portal-copy>p:not(.eyebrow){font-size:14px;line-height:2;color:#3f4b35}.portal-ctas{margin-top:30px}.portal-ctas .meta{font-size:10px;margin-top:23px;color:#4b573e}.portal-nameplate{position:absolute;left:57%;top:38%;padding:22px 28px;border:1px solid #9d9c77;background:linear-gradient(110deg,#d9d1adf2,#ece4c7f5);box-shadow:4px 6px 13px #16231c26;transform-origin:center;z-index:4;max-width:330px}.portal-nameplate>span{font:8px monospace;letter-spacing:.1em;color:#5e6549}.portal-nameplate h3{font:25px var(--serif);margin:16px 0 10px}.portal-nameplate>strong{font-size:12px;font-weight:500}.portal-nameplate p{font-size:10px;margin:13px 0 6px}.portal-nameplate small{font-size:8px;color:#65714e}.portal-shadow{position:absolute;inset:0;width:100%;height:100%;opacity:.07;filter:blur(8px);pointer-events:none}.portal-light{position:absolute;left:60%;top:8%;width:15%;height:65%;background:radial-gradient(ellipse,#fff0a944,transparent 70%);mix-blend-mode:screen;pointer-events:none}.light-wedge{position:absolute;inset:0;background:linear-gradient(130deg,#fff3be00 52%,#fff1b54d);clip-path:polygon(66% 50%,72% 62%,100% 100%,30% 100%);mix-blend-mode:screen;pointer-events:none}.portal-threshold{position:absolute;bottom:26px;left:5.5%;right:5.5%;display:flex;align-items:center;gap:20px;font:8px/1.8 monospace;color:#475a39;letter-spacing:.18em}.portal-threshold i{flex:1;border-top:1px solid #8d9a7766;transform-origin:left}footer{padding:45px 5.5% 25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:25px;font-size:11px}.footer-brand{font-size:15px}footer p{font-size:10px;margin:12px 0 0;color:#5e6b51}footer nav{display:flex;flex-wrap:wrap;gap:22px;align-items:center}footer nav button{padding:5px 0;font-size:10px}footer .legal{flex-basis:100%;border-top:1px solid #cbd0c266;padding-top:18px;font-size:9px}.elevator-hud{position:fixed;left:3%;bottom:25px;width:300px;background:#f2efdfed;border:1px solid #a8b299;color:#30402c;z-index:50;box-shadow:3px 5px 15px #1a291522;backdrop-filter:blur(10px)}.elevator-hud.dark{background:#152c35f5;color:#f0ecd2;border-color:#79907a}.hud-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:13px 16px;text-align:left;font:10px monospace;border-bottom:1px solid #99a98d4d}.hud-toggle>span:last-child{margin-left:auto}.hud-floor{transition:opacity .3s}.hud-detail{padding:12px 16px;display:grid;gap:6px;font-size:9px}.hud-detail b{font-weight:500;margin-left:6px}.hud-detail span{line-height:1.8}.elevator-hud nav{padding:10px 16px;border-top:1px solid #99a98d4d}.elevator-hud nav a{display:block;font-size:11px;padding:9px 0}.elevator-hud:not(.shown){visibility:hidden;pointer-events:none;opacity:0}dialog{border:1px solid #b7bea7;background:var(--paper);padding:25px;color:var(--ink);box-shadow:0 20px 90px #0006;max-width:min(95vw,1200px);max-height:92svh;overflow:auto}dialog::backdrop{background:#102629c9;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px;font-size:11px}.dialog-top button{border:1px solid #b7bea7;padding:10px;white-space:nowrap}dialog p{font-size:12px;color:#57664a;margin:15px 0}#link-dialog,#privacy-dialog{max-width:min(92vw,520px);padding:40px}dialog h2{font-size:30px;margin:20px 0}.dialog-close{float:right;font-size:25px}.noscript-note{padding:20px;text-align:center}.js .file-page[hidden],.js .step-panel[hidden],[hidden]{display:none!important}.js .constellation,.js .xray-labels,.js .promenade-finale,.js .section-cut{opacity:0;visibility:hidden}.capture *{transition:none!important;animation:none!important}.capture .stage{height:100vh;min-height:0}.capture footer,.capture .site-header,.capture .elevator-hud{display:none}.capture .scene:not(.capture-target),.capture .trust:not(.capture-target){display:none}.capture .capture-target{margin:0;padding:0;height:100vh;min-height:0}.capture .scene-label{top:36px}.capture .hero-index{top:40px}
/* A complete reading layout is the default; enhancement alone enables pinning. */
html:not(.full) .room-scene .stage,html:not(.full) .directory .stage{height:auto;min-height:900px}html:not(.full) .room-scene .stage{padding:100px 5.5% 65px;display:grid;grid-template-columns:40% 55%;gap:5%;align-items:center}html:not(.full) .scene-label{top:36px}html:not(.full) .quote-block,html:not(.full) .file-placement{position:relative;inset:auto;width:100%;max-width:none}html:not(.full) .quote-block{margin:60px 0}html:not(.full) .constellation{position:relative;inset:auto;grid-column:1/-1;opacity:1;visibility:visible;margin:30px 0 0;padding:30px;background:#17342bc7;gap:12px}html:not(.full) .constellation-center{font-size:27px;margin-bottom:8px}html:not(.full) .constellation-node{background:none}html:not(.full) .night-curtain,html:not(.full) .hero-room-bridge{display:none}html:not(.full) .directory .stage{padding:100px 5.5% 70px;display:grid;grid-template-columns:42% 53%;gap:40px 5%;align-items:start}html:not(.full) .directory-copy,html:not(.full) .directory-board,html:not(.full) .app-window,html:not(.full) .automation-badge{position:relative;inset:auto;width:100%;max-width:none}html:not(.full) .app-window{grid-column:2;grid-row:2}html:not(.full) .automation-badge{grid-column:1;grid-row:2}html:not(.js) .hero-room-bridge,html:not(.js) .constellation,html:not(.js) .section-cut,html:not(.js) .elevator-hud,html:not(.js) .xray-labels,html:not(.js) .promenade-finale{display:none}html:not(.js) .promenade .stage{height:auto;padding:100px 5.5%}html:not(.js) .promenade-heading{position:relative;inset:auto}html:not(.js) .step-panel{position:relative;padding:25px 0;grid-template-columns:42% 50%}html:not(.js) .step-tabs,html:not(.js) .scene-view-toggle,html:not(.js) .file-tabs{display:none}html:not(.js) .file-page{margin-bottom:15px}html.static .promenade-heading{top:13%}html.static .promenade-heading h2{font-size:38px;margin:12px 0}html.static .promenade-heading>p:last-child{display:none}html.static .step-panel{padding-top:280px}html.static .step-copy h3{font-size:32px}html.static .promenade .stage{min-height:900px}html.static .elevator-hud{display:none}html.capture .room-scene .stage,html.capture .directory .stage{display:block;padding:0;height:100vh;min-height:0}
@media(min-width:1050px) and (max-width:1279px){.site-header nav{gap:15px}.nav-demo{display:none}.hero-copy{width:43%;top:23%}.intro{max-width:345px;font-size:13px}.file-placement{right:4%;width:51%;top:38%}.file-binding{padding:24px 14px}.file-binding h3{font-size:23px}.file-body{padding:20px 17px 14px}.step-panel{grid-template-columns:35% 36%;padding-inline:5%}.proof-card{padding:20px}.directory-board{padding:24px}.portal-nameplate{left:59%;max-width:300px}.elevator-hud{width:275px}}
@media(min-width:601px) and (max-width:1049px){.site-header{padding:0 4%;height:90px}.site-header nav{gap:16px}.nav-section,.nav-demo{display:none}.brand{font-size:15px}.hero-copy{left:5%;top:18%;width:49%}.hero-copy h1{font-size:44px}.intro{font-size:12px;max-width:315px}.hero-copy .text-link{display:none}.hero-index{top:112px;right:4%;font-size:8px}.hero-index .sample-label{font-size:8px}.window-callout{width:147px;padding:10px}.floor-1{left:76%}.floor-0{left:65%}.window-callout strong{font-size:12px}.window-callout small{font-size:9px}.window-callout:before{width:20px;left:-20px}.drawing-legend{font-size:10px}.stage{min-height:760px}html:not(.full) .room-scene .stage{grid-template-columns:1fr;padding-top:120px}.quote-block h2{font-size:35px}.quote-block>p:not(.eyebrow){max-width:480px}.room-image img{object-position:58% center}.file-placement{max-width:700px!important;justify-self:end;width:90%!important}.customer-file{min-height:340px}.file-binding h3{font-size:28px}.room-timeline{display:none}.file-page dl>div{font-size:12px}.constellation-center{font-size:27px}.promenade-heading{top:15%;left:5%;max-width:430px}.promenade-heading h2{font-size:40px}.scene-view-toggle{top:82px}.step-panel{padding:260px 5% 90px;grid-template-columns:41% 54%;gap:5%;align-items:end}.step-copy h3{font-size:30px;margin:20px 0}.step-copy>p:not(.eyebrow){font-size:11px}.role-stamp{margin-top:18px}.proof-card{padding:18px 20px}.step-tabs{left:5%;right:5%;bottom:22px}.promenade-demo{bottom:5px}.elevator-hud{display:none}.directory-copy h2{font-size:35px}.directory-board{padding:22px!important}.directory-row{gap:14px;padding:14px 0}.directory-row small{font-size:8px}.directory-row>strong{font-size:21px}.app-window{align-self:start}.automation-badge{padding:18px}.trust{grid-template-columns:1fr;padding:90px 7%;gap:45px;min-height:0}.trust-heading h2{font-size:43px}.trust-items{gap:30px}.portal-copy{top:21%;width:52%}.portal-copy h2{font-size:48px}.portal-nameplate{left:61%;top:57%;padding:18px;max-width:260px}.portal-nameplate h3{font-size:21px}.portal-threshold{font-size:7px}.portal-ctas .text-link{font-size:11px}.cta-group{gap:20px}.portal-ctas .meta{max-width:270px}}
@media(max-width:600px){.site-header{height:76px;padding:0 5%;gap:10px}.site-header.compact{height:64px}.brand{font-size:13px;gap:9px}.brand small{font-size:6px}.brand-mark{width:22px;height:27px;gap:2px}.brand-mark i{width:5px;height:18px}.brand-mark i:nth-child(2){height:27px}.brand-mark i:nth-child(3){height:22px}.site-header nav{gap:12px}.site-header button{font-size:9px}.nav-section,.nav-demo,.nav-download{display:none}.phone-label{display:inline-flex!important}.desktop-label{display:none!important}.stage{height:auto;min-height:0}.hero .stage{padding:120px 6% 35px;display:flex;flex-direction:column}.hero-copy{position:relative;inset:auto;width:100%;max-width:none;order:0}.hero-copy h1{font-size:42px;margin:23px 0}.intro{font-size:12px;line-height:2;max-width:100%;margin-bottom:23px}.hero-copy .eyebrow{font-size:9px}.hero-copy .text-link{display:none}.cta-group{gap:20px}.primary{padding:14px 18px;min-height:50px;font-size:12px;gap:20px}.copy-link{font-size:11px;border-bottom:1px solid #939e83;padding:10px 0}.walk-link{font-size:11px;margin:19px 0 12px}.hero-copy .meta{font-size:9px}.hero-camera{position:relative;inset:auto;height:360px;width:calc(100% + 12vw);margin:5px -6vw 0;order:2}.hero-camera .house-image img{object-fit:cover;object-position:62% center}.hero-index{position:relative;inset:auto;order:1;text-align:left;margin-top:24px;font-size:9px;gap:4px}.hero-index .sample-label{font-size:8px}.window-callout{width:127px;padding:8px 10px}.window-callout span{font-size:7px}.window-callout strong{font-size:11px;margin:4px 0}.window-callout small{font-size:8px}.window-callout .callout-next{display:none}.window-callout:before{width:18px;left:-18px}.floor-0{left:49%;top:74%}.floor-1{left:62%;top:44%}.floor-2{left:51%;top:13%}.drawing-legend{position:relative;inset:auto;order:3;font-size:9px;margin:20px 0 0}.drawing-legend span{display:none}.hero-elevation{display:none}html:not(.full) .room-scene .stage{display:flex;flex-direction:column;padding:0 6% 40px;gap:0;min-height:0}.room-image{position:relative;width:calc(100% + 12vw);margin:0 -6vw;height:270px;inset:auto;display:block}.room-image img{object-position:center;position:relative}.room-scrim{display:none}.room-scene .stage{background:#1f3841}.interior-sunlight{display:none}.scene-label{position:relative!important;inset:auto!important;flex-direction:column;gap:8px;width:100%;font-size:10px;margin-top:30px;order:0}.scene-label .sample-label{font-size:8px}.quote-block{margin:32px 0!important;order:1}.quote-block h2{font-size:30px;margin:20px 0;line-height:1.65}.quote-block .eyebrow{font-size:8px}.quote-block>p:not(.eyebrow){font-size:11px}.signature{font-size:10px;margin-top:23px}.room-timeline{display:none}.file-placement{width:100%!important;order:2}.customer-file{display:block;transform:none;min-height:0;box-shadow:3px 5px 0 #bab694}.file-binding{padding:21px 19px;border-right:0;border-bottom:3px double #adb799}.file-binding h3{font-size:25px;margin:10px 0 8px}.file-binding>small{font-size:7px}.file-contact{position:absolute;right:15px;top:26px;margin:0;max-width:120px;gap:8px;font-size:9px}.file-contact .avatar{display:none}.file-contact small{font-size:8px}.file-body{padding:20px 14px 14px}.file-top{padding-bottom:20px}.file-top span:last-child{font-size:6px}.file-tabs button{font-size:10px;padding:12px 3px;min-height:44px}.file-page{padding:18px 10px 0;min-height:285px}.file-page dl>div{grid-template-columns:74px 1fr;font-size:11px;gap:7px}.file-page h4{font-size:20px}.handoff{font-size:9px}.constellation{order:3;padding:20px 0!important;grid-template-columns:1fr 1fr!important;margin-top:40px!important;background:none!important;gap:15px!important}.constellation-center{font-size:24px!important;margin-bottom:15px!important}.constellation-center strong{font-size:10px}.constellation-node{padding:12px 5px}.constellation-node strong{font-size:15px}.constellation-node span{font-size:9px;margin-bottom:9px}.constellation>p{font-size:10px}.promenade .stage{min-height:0!important;height:auto;padding:50px 6% 35px;display:flex;flex-direction:column}.promenade-camera{position:relative;width:calc(100% + 12vw);margin:20px -6vw 0;height:280px;order:1;inset:auto}.promenade-camera img{object-fit:cover;object-position:center}.promenade-shade{display:none}.promenade-heading{position:relative!important;inset:auto!important;order:0;max-width:none}.promenade-heading .eyebrow{font-size:9px}.promenade-heading h2{font-size:35px!important;margin:20px 0!important}.promenade-heading>p:last-child{display:block!important;font-size:11px}.scene-view-toggle{position:relative;inset:auto;order:2;width:max-content;margin:0 0 18px auto}.scene-view-toggle button{min-height:40px}.step-panels{order:4}.step-panel{position:relative;inset:auto;display:block!important;padding:15px 0 0!important}.step-panel[hidden]{display:none!important}.step-copy h3{font-size:29px!important;margin:19px 0}.step-copy>p:not(.eyebrow){font-size:12px;line-height:2}.role-stamp{margin:20px 0 25px;padding-top:18px}.proof-card{padding:20px;box-shadow:none}.proof-card header{font-size:11px}.proof-link{min-height:40px;display:inline-flex;align-items:center;font-size:11px}.step-tabs{position:relative;inset:auto;order:3;display:grid;grid-template-columns:1fr 1fr;margin-top:12px;gap:0}.step-tabs button{font-size:11px;padding:16px 4px;min-height:45px}.promenade-demo{position:relative;inset:auto;order:5;margin-top:22px}.xray-labels{inset:27% 8% auto}.xray-labels p{font-size:16px;margin-bottom:20px}.xray-labels>div{gap:8px}.xray-labels span{font-size:9px;padding:8px}.promenade-finale{display:none}.directory .stage{display:flex!important;flex-direction:column;padding:65px 6% 45px!important;gap:28px!important;min-height:0!important}.directory-copy{width:100%}.directory-copy h2{font-size:35px;margin:23px 0}.directory-copy>p:not(.eyebrow){font-size:12px}.template-chips button{min-height:42px}.directory-board{padding:24px!important;max-width:none}.board-title{font-size:22px}.board-title small{font-size:7px}.directory-row{padding:16px 0;gap:18px}.directory-row b{font-size:15px}.directory-row small{font-size:9px}.app-window{margin-top:8px}.app-window figcaption{font-size:8px;padding:10px}.automation-badge{padding:19px!important}.trust{padding:65px 6%;display:block;min-height:0}.trust-heading h2{font-size:36px;margin:24px 0}.trust-heading>p:not(.eyebrow){font-size:11px}.trust-items{grid-template-columns:1fr;gap:28px;margin-top:40px}.trust-items article{display:grid;grid-template-columns:42px 1fr;gap:0 16px}.trust-items article svg{grid-row:1/4}.trust-items article h3{font-size:24px;margin:3px 0 12px}.trust-items article p{font-size:12px}.claim-status{grid-column:2}.audit-log{font-size:11px}.recovery-chip{font-size:11px}.portal .stage{height:auto;min-height:760px;padding:65px 6% 35px}.portal-camera{height:380px;top:auto;bottom:0}.portal-camera img{object-position:70% center}.portal-copy{position:relative;inset:auto;max-width:100%;width:100%}.portal-copy h2{font-size:42px;margin:22px 0}.portal-copy>p:not(.eyebrow){font-size:12px}.portal-copy .eyebrow{font-size:9px}.portal-ctas{margin-top:24px}.portal-ctas .text-link{font-size:11px}.portal-ctas .meta{font-size:9px}.portal-nameplate{left:6%;top:auto;bottom:115px;padding:16px 20px;max-width:255px}.portal-nameplate h3{font-size:22px;margin:10px 0}.portal-threshold{font-size:6px;letter-spacing:.1em;left:6%;right:6%;bottom:19px;gap:10px}.portal-threshold span:last-child{display:none}.elevator-hud{display:none}footer{padding:35px 6% 25px;gap:25px}.footer-brand{font-size:15px}footer nav{gap:20px}footer nav button{font-size:11px;min-height:40px}footer .legal{font-size:9px;line-height:2}.dialog-top{font-size:9px}dialog{padding:15px}#link-dialog,#privacy-dialog{padding:25px}dialog h2{font-size:25px}dialog .text-link{margin-top:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.elevator-hud,.scene-view-toggle,.motion-toggle,.sound-toggle{display:none!important}.stage{height:auto!important;min-height:0!important;overflow:visible}.scene,.trust{break-inside:avoid}.camera{position:relative;height:300px}button{display:none!important}}
/* The bridge and the room use exactly the same cover fit at their shared boundary. */
.hero-room-bridge img{transform:none}
html.full .stage,html.mid .hero .stage,html.mid .promenade .stage{min-height:0;height:100svh}
@media(min-width:1050px) and (max-height:760px){.hero-copy{top:23%}.hero-copy h1{font-size:52px;margin:20px 0}.intro{font-size:12px;line-height:1.9;margin-bottom:18px}.hero-copy .primary{padding:12px 18px;min-height:47px}.walk-link{margin:16px 0 8px}.hero-copy .meta{font-size:9px}.hero-index{top:125px}.quote-block{top:25%}.quote-block h2{font-size:35px;margin:18px 0}.quote-block>p:not(.eyebrow){font-size:11px}.room-timeline{margin-top:18px}.room-timeline li{font-size:9px}.file-placement{top:32%;width:48%}.file-binding{padding:22px 17px}.file-binding h3{font-size:23px;margin-top:20px}.file-body{padding:18px}.file-top{padding-bottom:16px}.file-page{min-height:250px;padding-top:14px}.file-page dl>div{font-size:10px}.file-tabs button{padding:10px 3px}.handoff{margin-top:13px}.step-panel{padding-top:110px;padding-bottom:105px}.proof-card{padding:18px 22px}.proof-card header{padding-bottom:12px;margin-bottom:12px}.task-rows li{padding:9px 0}.quote-items{gap:7px}.step-copy h3{font-size:35px}.step-copy>p:not(.eyebrow){font-size:12px}.directory-copy{top:20%}.directory-copy h2{font-size:41px;margin:18px 0}.directory-copy .directory-caption{margin-top:18px}.directory-board{top:19%;padding:22px 28px}.directory-row{padding:12px 0}.directory-search{margin-top:15px}.automation-badge{top:78%;padding:12px 18px}.portal-copy{top:23%}.portal-copy h2{font-size:57px;margin:23px 0}.portal-ctas{margin-top:22px}.portal-nameplate{top:39%}}

/* ===== v1.1 · 场景无缝衔接：后一个场景从前一个场景的最后一帧开始 ===== */
html.full #hero{z-index:1}
html.full #room{z-index:2;margin-top:-100svh}
html.full #promenade{z-index:3;margin-top:-100svh}
html.full #directory{z-index:4;margin-top:-100svh}
html.full .trust{position:relative;z-index:5;background:var(--paper)}
html.full #portal{z-index:6}
html.capture #room,html.capture #promenade,html.capture #directory{margin-top:0}

/* ===== 客户档案：四页叠放在同一格，滑动翻页不改变档案高度 ===== */
.file-pages{display:grid;perspective:1400px}
.file-page{grid-area:1/1}
.file-page dd{font-weight:400;line-height:1.7}
.file-progress{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:9px;font-size:10px;color:#9fb3a8}
.file-progress li{display:flex;align-items:center;gap:9px;transition:color .4s}
.file-progress li:before{content:"";width:6px;height:6px;border-radius:50%;border:1px solid #9fb3a8;transition:background .4s,border-color .4s}
.file-progress li.on{color:#f2efd9}
.file-progress li.on:before{background:#e8c57d;border-color:#e8c57d}
.room-timeline time{min-width:30px}
.constellation-node strong{font-size:16px}

/* ===== 四次接力 · 功能演示卡（无业务数据） ===== */
.funnel>div{grid-template-columns:30px 1fr}
.funnel>div>div{height:6px}
.receipt-card{margin:18px 0 12px;border:1px solid #c9c6ad;background:#fbf7e8;padding:12px 14px}
.receipt-badge{display:inline-block;font-size:9px;color:#5b46a3;border:1px solid #cbbfe8;background:#f1ecfb;padding:3px 7px}
.receipt-card ul{list-style:none;padding:0;margin:11px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}
.receipt-card li{font-size:10.5px;display:flex;align-items:center;gap:7px}
.receipt-card li:before{content:"";width:12px;height:12px;border:1px solid #9aa98c;border-radius:50%;flex:none;transition:background-color .3s,border-color .3s}
.receipt-card li.done:before{border-color:#5f7d52;background:#5f7d52 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5.2 4.2 7.4 8 3' fill='none' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E") center/9px no-repeat}
.checks{display:flex;flex-wrap:wrap;gap:4px 14px}
.task-rows i{opacity:.15;transition:opacity .3s}
.task-rows li[data-state="2"] i{opacity:1}
.task-rows .status{font-style:normal;font-size:9px;padding:3px 7px;border:1px solid #c5c9b4;color:#7a836d;min-width:46px;text-align:center;transition:background .3s,color .3s,border-color .3s}
.task-rows li[data-state="1"] .status{border-color:#d9b46a;color:#93650f;background:#fbf1d9}
.task-rows li[data-state="2"] .status{border-color:#86a275;color:#2f5236;background:#e6eedc}
.version-chip b{font-weight:500}
.quote-items>div{align-items:center}
.quote-items dd{flex:0 0 48%;display:flex;justify-content:flex-end}
.ink{display:block;height:7px;width:calc(var(--w)*100%);background:linear-gradient(90deg,#d5cfb1,#8c9a7c);transform-origin:right;transform:scaleX(0)}
.quote-total .auto-calc{font-size:10px;color:#2144b2;border-bottom:1px dashed #9fb0e6}
.approval-flow,.record-chain{list-style:none;padding:0;margin:14px 0 0;display:flex;align-items:center;font:10px/1.4 var(--sans)}
.approval-flow li,.record-chain li{flex:1;text-align:center;padding:7px 4px;border:1px solid #c5c9b4;color:#7d8571;position:relative;transition:background .35s,color .35s,border-color .35s}
.approval-flow li+li,.record-chain li+li{margin-left:14px}
.approval-flow li+li:before,.record-chain li+li:before{content:"";position:absolute;right:100%;top:50%;width:14px;border-top:1px solid #c5c9b4}
.approval-flow li.on{background:#e6eedc;color:#2f5236;border-color:#86a275}
.approval-flow li:last-child.on{background:#294435;color:#f5eed8;border-color:#294435}
.record-chain li.on{background:#e8edfb;color:#1d3fa8;border-color:#9cb0ec}
.milestones{position:relative;--ms:0}
.milestones:before,.milestones:after{content:"";position:absolute;left:10%;top:4px;border-top:1px solid #c4cab3}
.milestones:before{right:10%}
.milestones:after{width:calc(80% * var(--ms));border-top:2px solid #6f8a5f;margin-top:-1px}
.milestones li{position:relative;z-index:1}
.milestones i{background:#f5f0df;transition:background .3s}
.milestones li.on i{background:#6f8a5f}
.pay-track{display:flex;gap:10px;padding:14px 0;border-block:1px solid #bdc5ad}
.pay-track span{flex:1;font-size:10px;display:flex;flex-direction:column;gap:7px;color:#7a836d;transition:color .3s}
.pay-track i{display:block;height:6px;background:#dcdcc8;position:relative;overflow:hidden}
.pay-track i:after{content:"";position:absolute;inset:0;background:#6f8a5f;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.pay-track span.on{color:#2f5236}
.pay-track span.on i:after{transform:scaleX(1)}
.renewal{display:flex;align-items:center;gap:16px;margin-top:18px}
.dial{width:58px;height:58px;flex:none}
.dial-ticks line{stroke:#a9b39a;stroke-width:1}
.dial-ring{fill:none;stroke:#2144b2;stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;transform:rotate(-90deg);transform-origin:32px 32px}
.renewal span{display:block;font-size:10px;color:#56684e}
.renewal strong{display:block;font:15px/1.6 var(--serif);margin-top:4px;transform:none}

/* ===== 大楼导览 · 界面示意（无数据） ===== */
.app-window{overflow:hidden}
.app-mock{display:grid;grid-template-columns:22% 78%;height:clamp(300px,30vw,430px);font-size:10px;color:#2d3a2c;background:#f7f7f2}
.mock-side{background:#eef0e8;border-right:1px solid #d9ddcf;padding:12px 10px;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.mock-ws{background:#fff;border:1px solid #dde0d4;padding:7px 8px}
.mock-ws b{display:block;font-size:10px;font-weight:600}
.mock-ws small{font-size:8px;color:#78826d}
.mock-group h6{margin:0 0 3px;font-size:8px;font-weight:500;color:#8a937e;letter-spacing:.06em}
.mock-group span{display:block;font-size:9.5px;padding:3px 6px;color:#4c5745}
.mock-group span.on{background:#fff;color:#1d3fa8;box-shadow:0 0 0 1px #dfe3d6}
.mock-main{padding:16px 18px;display:flex;flex-direction:column;gap:11px;min-width:0}
.mock-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mock-head b{display:block;font:500 17px var(--serif)}
.mock-head small{font-size:9px;color:#6f7965}
.mock-btn{background:#20251f;color:#f5f3ec;font-size:9px;padding:6px 10px;white-space:nowrap}
.mock-next{font-size:9px;background:#eef1e7;padding:7px 10px;display:flex;align-items:center;gap:7px;color:#4c5745}
.mock-next i{width:7px;height:7px;border-radius:50%;border:1px solid #6f8a5f}
.mock-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mock-kpis div{background:#fff;border:1px solid #e1e4d8;padding:9px}
.mock-kpis small{display:block;font-size:8px;color:#7b8570;margin-bottom:8px}
.sk{display:block;height:7px;background:linear-gradient(90deg,#e6e8de,#d4d8c9,#e6e8de);border-radius:2px}
.mock-kpis .sk{height:11px;width:70%}
.sk.short{width:55%}
.mock-tabs{display:flex;gap:14px;border-bottom:1px solid #e1e4d8;font-size:9px;color:#7b8570}
.mock-tabs span{padding:5px 0}
.mock-tabs .on{color:#20251f;border-bottom:1.5px solid #20251f}
.mock-body{display:grid;grid-template-columns:62% 1fr;gap:12px;min-height:0}
.mock-feed{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:start}
.mock-feed li{display:grid;grid-template-columns:14px 1fr;gap:3px 8px;align-items:center}
.mock-feed i{width:9px;height:9px;border-radius:50%;background:#dfe6f8;border:1px solid #9cb0ec;grid-row:1/3}
.mock-feed b{font-weight:500;font-size:9.5px}
.mock-feed .sk{width:80%;height:6px}
.mock-card{background:#fff;border:1px solid #e1e4d8;padding:10px;display:grid;gap:7px;align-content:start}
.mock-card b{font-weight:500;font-size:9px}
.trust-note{font-size:10px!important;color:#7a8070!important}
html:not(.full) .app-mock{height:auto;min-height:320px}
@media(max-width:600px){.app-mock{grid-template-columns:1fr}.mock-side{display:none}.mock-kpis{grid-template-columns:1fr 1fr}.mock-body{grid-template-columns:1fr}}

.quote-block{top:24%}
.quote-block h2{font-size:clamp(28px,2.7vw,42px)}
.quote-block h2>span{display:block;white-space:nowrap}
.quote-block .attribution{font-size:12px;line-height:2;max-width:430px}
html.full .app-window{top:23%}
html.full .automation-badge{top:auto;bottom:6%;right:5.5%}
@media(min-width:1050px) and (max-height:760px){html.full .app-window{top:21%}.quote-block{top:23%}}
@media(min-width:1050px){.window-callout{width:206px}}

/* v1.1 · 场景交接不出现纯色空白帧：下一场景先显示上一场景最后一帧的副本 */
.scene-carry{position:absolute;inset:0;z-index:30;pointer-events:none;opacity:0;visibility:hidden}
.carry-image,.carry-image img{position:absolute;inset:0;width:100%;height:100%}
.carry-image img{object-fit:cover;object-position:center}
.promenade-from-room .carry-image{transform:scale(1.045)}
.promenade-from-room .carry-dim{position:absolute;inset:0;background:var(--navy);opacity:.72}
.section-cut .carry-dim{position:absolute;inset:0;background:var(--navy);opacity:.55}
.section-cut .carry-lights i{opacity:.55}
.section-cut span{z-index:2}
html:not(.full) .scene-carry{display:none}

/* 品牌标志：只保留图形本身（透明背景）。深色页头上圆环自动换成浅色，保证可见 */
.brand-mark{display:block;flex:none;width:30px;height:30px}
.brand-mark .mark-ring{stroke:#1B1F2A;transition:stroke .3s}
.brand-mark .mark-dot{fill:#6E7771}
.site-header.dark .brand-mark .mark-ring{stroke:#F2EFE4}
.site-header.dark .brand-mark .mark-dot{fill:#9AA79F}
.footer-brand{display:inline-flex;align-items:center;gap:10px}
.footer-brand .brand-mark{width:24px;height:24px}
@media(max-width:600px){.site-header .brand-mark{width:24px;height:24px}}

/* 项目室总结：实色纸面卡片，深色文字，清晰可读 */
html.full .constellation{inset:0;margin:auto;width:min(900px,72vw);height:max-content;padding:36px 44px 28px;background:#f6f1e2;border:1px solid #c6c1a2;box-shadow:6px 9px 0 #213b47,0 40px 90px -30px #050c16cc;color:#22342b;display:grid;grid-template-columns:repeat(3,1fr);gap:0 26px;text-align:left;counter-reset:node;will-change:auto}
html.full .constellation-center{grid-column:1/-1;display:flex;align-items:baseline;gap:18px;font:500 36px/1.35 var(--serif);color:#1d3328;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid #c9c6ab}
html.full .constellation-center strong{display:inline;font:12px var(--sans);letter-spacing:.2em;color:#66755b}
html.full .constellation-node{background:none;border-top:1px solid #cfcbb2;padding:16px 0 18px;color:#22342b;counter-increment:node}
html.full .constellation-node:nth-child(-n+4){border-top:0}
html.full .constellation-node span{display:block;font-size:11px;letter-spacing:.14em;color:#86703a;margin-bottom:9px}
html.full .constellation-node span:before{content:counter(node,decimal-leading-zero) " · ";font-family:monospace;color:#9c8a59}
html.full .constellation-node strong{display:block;font:500 20px/1.5 var(--serif);color:#1d2c25}
html.full .constellation>p{grid-column:1/-1;margin:14px 0 0;padding-top:16px;border-top:1px solid #c9c6ab;font-size:13px;line-height:1.8;color:#4a5843}
html.full .room-scene .constellation{z-index:12}

/* ===== 下一扇门：更丰富、文字清晰 ===== */
.portal-veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#f6f3eaf2 0%,#f6f3eae6 30%,#f6f3ea99 44%,#f6f3ea00 58%)}
.portal-copy{z-index:4}
.portal-copy .eyebrow{font-size:12px;color:#33402c;letter-spacing:.14em}
.portal-copy h2{color:#1f2a20}
.portal-copy>p:not(.eyebrow){font-size:15px;line-height:2;color:#2f3b29}
.portal-ctas .text-link{color:#1f2a20;font-size:13px}
.portal-ctas .meta{color:#3f4b35!important;font-size:11px!important}
.start-steps{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:560px;position:relative}
.start-steps li{position:relative;padding:14px 16px 0 0;border-top:1px solid #b9b597;transition:border-color .4s}
.start-steps li:before{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:#f6f3ea;border:1px solid #8e9a7b;transition:background .4s,border-color .4s}
.start-steps li.on{border-top-color:#244de8}
.start-steps li.on:before{background:#244de8;border-color:#244de8}
.start-steps b{display:block;font:11px monospace;color:#7b6a3a;margin-bottom:6px}
.start-steps span{display:block;font:500 15px/1.5 var(--serif);color:#1f2a20}
.start-steps small{display:block;font:11px/1.7 var(--sans);color:#4a5843;margin-top:3px}
.portal-recap{position:absolute;left:5.5%;right:5.5%;bottom:62px;z-index:4;display:flex;align-items:center;gap:26px;padding:16px 20px;background:#f6f3eaeb;border:1px solid #c9c4a6;box-shadow:0 18px 40px -24px #1a2a1a66;backdrop-filter:blur(10px)}
.portal-recap p{margin:0;flex:none;font:500 15px/1.6 var(--serif);color:#1f2a20;padding-right:22px;border-right:1px solid #cfcab0}
.portal-recap ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.portal-recap li{display:flex;align-items:center;gap:7px;font-size:12px;padding:7px 11px;border:1px solid #cfcab0;color:#8a8f7e;background:#fbf9f1;transition:color .35s,border-color .35s,background .35s}
.portal-recap li:before{content:"";width:6px;height:6px;border-radius:50%;background:#cfcab0;transition:background .35s}
.portal-recap li.on{color:#22342b;border-color:#8ea37f;background:#fffdf6}
.portal-recap li.on:before{background:#e3a63f}
.portal-threshold{color:#33402c;font-size:9px}
.portal-nameplate{z-index:5}
.portal-nameplate>span{color:#4e553c}
.portal-nameplate p{color:#2f3b29}
@media(min-width:1050px) and (max-height:820px){.portal-copy{top:18%}.portal-copy h2{font-size:54px;margin:20px 0 16px}.start-steps{margin-top:20px}.portal-recap{bottom:52px;padding:12px 16px}.portal-recap li{padding:6px 9px;font-size:11px}}
@media(min-width:601px) and (max-width:1049px){.portal-veil{background:linear-gradient(90deg,#f6f3eaf2 0%,#f6f3eae0 45%,#f6f3ea00 70%)}.start-steps{max-width:440px}.portal-recap{flex-direction:column;align-items:flex-start;gap:12px}.portal-recap p{border:0;padding:0}}
@media(max-width:600px){.portal-veil{background:linear-gradient(180deg,#f6f3eaf5 0%,#f6f3eae6 55%,#f6f3ea00 75%)}.start-steps{grid-template-columns:1fr;gap:12px}.start-steps li{padding-top:12px}.portal-recap{position:relative;inset:auto;margin:28px 0 420px;flex-direction:column;align-items:flex-start;gap:12px;z-index:4}.portal-recap p{border:0;padding:0}}
@media(min-width:1050px){html.full .portal-copy{top:14%}html.full .portal-copy h2{font-size:clamp(40px,4.1vw,60px);margin:22px 0 18px}html.full .portal-ctas{margin-top:22px}html.full .start-steps{margin-top:24px}}
@media(min-width:1050px) and (max-height:820px){html.full .portal-copy{top:12%}html.full .portal-copy h2{font-size:48px;margin:16px 0 12px}html.full .portal-copy>p:not(.eyebrow){font-size:13px;line-height:1.85}html.full .portal-ctas{margin-top:16px}html.full .start-steps{margin-top:16px}}
.portal-threshold{font-size:10px;color:#2a3424}
