.fv-feature{position:relative;margin-top:clamp(65px,8vw,150px);color:#edf5ff;isolation:isolate}
.fv-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:end;position:relative;z-index:2}
.fv-badge{display:inline-flex;align-items:center;gap:8px;color:#9ab9d9;font-size:10px;letter-spacing:.1em;padding:7px 0;margin-bottom:17px}
.fv-badge::before{content:'';width:5px;height:5px;background:#80b4ee;border-radius:50%;box-shadow:0 0 14px #448ee277}
.fv-title{font-size:clamp(32px,3.6vw,64px);font-weight:500;letter-spacing:-.048em;line-height:1.08;max-width:620px;text-wrap:balance}
.fv-prose{font-size:clamp(15px,1.25vw,21px);line-height:1.8;color:#a7bbd5;max-width:720px}
.fv-planner{position:relative;margin:50px calc(var(--gutter)*-.35) 0;isolation:isolate}
.fv-planner::before{content:'';position:absolute;inset:8% -8% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 53% 45%,#1c42694d,transparent 64%)}
.fv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-inline:calc(var(--gutter)*.35);padding-block:24px;border-top:1px solid #91b9e327;position:relative;z-index:2}
.fv-drawing-label{display:flex;align-items:center;gap:12px;color:#82a6cd;font-size:10px;letter-spacing:.1em;line-height:1.7}
.fv-drawing-label svg{width:19px;height:19px;opacity:.8;flex-shrink:0}
.fv-controls{display:none;align-items:center;gap:10px;margin-left:auto}
.fv-ready .fv-controls{display:flex}
.fv-view-switch{display:flex;border:1px solid #729cc43b;padding:4px;border-radius:50px;background:#081a2db0;gap:2px}
.fv-view-switch button{border:0;border-radius:40px;padding:10px 17px;background:transparent;color:#8cabca;font-size:12px;line-height:1.4;min-height:39px;transition:color .25s,background .25s,box-shadow .25s}
.fv-view-switch button[aria-pressed=true]{background:#bddcff;color:#102f4e;box-shadow:0 3px 16px #00000012}
.fv-view-switch button:hover{color:#eaf4ff}
.fv-view-switch button[aria-pressed=true]:hover{color:#102f4e;background:#d0e6ff}
.fv-stage{position:relative;aspect-ratio:1.65;max-height:900px;min-height:420px;width:100%;overflow:visible}
.fv-stage::before{content:'';position:absolute;inset:0 0 4%;pointer-events:none;opacity:.3;background-image:linear-gradient(#77a5cd0d 1px,transparent 1px),linear-gradient(90deg,#77a5cd0d 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(ellipse at 50% 52%,#000 5%,transparent 69%);-webkit-mask-image:radial-gradient(ellipse at 50% 52%,#000 5%,transparent 69%)}
.fv-drawing{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fv-world{isolation:isolate}
.fv-orbit{fill:none;stroke:#6b9ac5;stroke-width:.8;opacity:.17;stroke-dasharray:3 8}
.fv-floor-shadow{fill:url(#fv-ground-shadow);opacity:.33}
.fv-scene-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:-6px calc(var(--gutter)*.35) 0;padding-top:26px;border-top:1px solid #91b9e327}
.fv-layout{display:flex;align-items:center;gap:20px;min-width:0}
.fv-layout-marker{width:30px;height:30px;position:relative;flex-shrink:0;color:#79aade;opacity:.9}
.fv-layout-marker::before,.fv-layout-marker::after{content:'';position:absolute;inset:5px;border:1px solid currentColor;transform:rotate(-30deg) skewX(-15deg);transition:transform 1s cubic-bezier(.2,.65,.3,1)}
.fv-layout-marker::after{inset:10px 0 0 10px;opacity:.35}
[data-fv-arrangement=b] .fv-layout-marker::before{transform:rotate(60deg) skewX(-15deg)}
.fv-layout-name{display:block;font-size:clamp(17px,1.6vw,26px);font-weight:460;letter-spacing:-.025em;line-height:1.3}
.fv-layout-detail{display:block;font-size:11px;line-height:1.5;margin-top:7px;color:#819fbe}
.fv-change{display:none;align-items:center;justify-content:center;gap:24px;border:1px solid #83aed74d;border-radius:40px;background:#102b45;color:#d7eaff;padding:14px 20px;font-size:12px;line-height:1.3;min-height:48px;flex-shrink:0;transition:background .25s,border-color .25s,transform .25s}
.fv-ready .fv-change{display:inline-flex}
.fv-change svg{width:17px;height:17px;transition:transform .55s cubic-bezier(.2,.65,.3,1);flex-shrink:0}
.fv-change:hover{background:#173957;border-color:#afd2f581;transform:translateY(-2px)}
.fv-change:hover svg{transform:rotate(40deg)}
.fv-feature button:focus-visible{outline:2px solid #bcdcff;outline-offset:5px}
.fv-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){.fv-stage{aspect-ratio:1.9}.fv-drawing{width:106%;max-width:106%;left:-3%}.fv-planner{margin-top:65px}.fv-scene-foot{margin-top:-20px}}
@media(max-width:1000px){.fv-intro{gap:6%;grid-template-columns:.85fr 1.15fr}.fv-title{font-size:38px}.fv-prose{font-size:16px;line-height:1.75}.fv-stage{min-height:390px;aspect-ratio:1.42}.fv-toolbar{padding-block:20px}.fv-drawing-label{letter-spacing:.04em}.fv-layout-detail{font-size:10px}}
@media(max-width:700px){.fv-intro{grid-template-columns:1fr;gap:25px}.fv-title{font-size:clamp(34px,8vw,45px);max-width:450px}.fv-title br{display:none}.fv-prose{font-size:16px;max-width:550px}.fv-badge{margin-bottom:11px}.fv-planner{margin-top:35px;margin-inline:-8px}.fv-toolbar{margin-inline:8px;align-items:center;gap:14px;flex-wrap:wrap;padding-block:19px}.fv-drawing-label{font-size:9px;gap:9px}.fv-drawing-label svg{width:16px;height:16px}.fv-view-switch button{padding:9px 14px;font-size:11px;min-height:37px}.fv-stage{min-height:0;aspect-ratio:1.15;margin-top:0}.fv-drawing{width:108%;max-width:108%;left:-4%;height:110%;top:-5%}.fv-scene-foot{margin:0 8px;padding-top:23px;gap:24px;flex-wrap:wrap}.fv-layout{gap:15px}.fv-layout-name{font-size:21px}.fv-layout-detail{font-size:10px;margin-top:6px}.fv-change{font-size:11px;min-height:45px;padding:13px 17px;gap:24px}.fv-floor-shadow{opacity:.23}.fv-orbit{opacity:.1}}
@media(max-width:450px){.fv-toolbar{gap:18px}.fv-drawing-label{width:100%}.fv-controls,.fv-ready .fv-controls{width:100%}.fv-view-switch{width:100%}.fv-view-switch button{flex:1;font-size:12px}.fv-stage{aspect-ratio:1.11}.fv-scene-foot{margin-top:-5px;gap:22px}.fv-change{width:100%;justify-content:space-between;padding-inline:19px}.fv-layout-name{font-size:22px}.fv-layout-detail{font-size:11px}.fv-drawing-label{font-size:10px}.fv-stage::before{background-size:30px 30px}}
@media(prefers-reduced-motion:reduce){.fv-feature *,.fv-feature *::before,.fv-feature *::after{transition:none!important}.fv-change:hover{transform:none}}
@media(pointer:coarse){.fv-view-switch button{min-height:44px}.fv-change:hover{transform:none}.fv-change:hover svg{transform:none}}
