/* Separate reading, the model, and navigation in normal document flow. */
.hero{display:block;min-height:0;margin-top:0;padding:64px 0 40px;overflow:hidden}
.hero .hero-content{display:grid;grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr);gap:32px;align-items:center;isolation:isolate}
.hero .hero-text{max-width:none;min-width:0;padding:0;z-index:1}
.hero .frame{padding:0;margin:0;border:0}
.hero .frame::before,.hero .frame::after{display:none}
.hero .frame .frame-label{position:static;inset:auto;padding:0;display:block;font-size:13px;font-weight:550;line-height:1.7;letter-spacing:.025em;margin-bottom:26px;color:#d8dcd9}
.hero .frame .frame-label span{letter-spacing:inherit}
.hero .hero-text .display{font-size:clamp(42px,4.2vw,60px);line-height:1.2;letter-spacing:-.045em;margin-bottom:24px;max-width:none}
.hero .hero-text .lead-p{max-width:430px;font-size:17px;line-height:1.85;margin-bottom:32px}
.hero .hero-text .btn-row{display:flex;gap:12px;margin:0;max-width:none;flex-wrap:wrap}
.hero .btn.on-panel,.hero .btn.on-panel-ghost{width:auto;min-height:54px;height:auto;padding:14px 22px;white-space:normal;letter-spacing:-.02em;font-size:16px}
.hero .center-hero-stage{position:relative;min-width:0;width:100%;height:clamp(440px,43vw,560px);isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 58%,#557a7a26,transparent 68%)}
.hero .center-hero-stage .hero-3d{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:hidden}
.hero .center-hero-stage .hero-art-layer{position:absolute;inset:0;width:100%;height:100%;opacity:.65;overflow:hidden}
.hero .center-hero-stage .hero-art-layer svg{width:180%;height:100%;max-width:none;transform:translateX(-35%)}
.hero .hero-text-scrim,.hero .lens-streak{display:none}
.hero .center-hero-types{margin-top:32px;padding-top:28px;position:relative}
.hero .center-hero-types::before{content:"";position:absolute;top:0;left:var(--gut);right:var(--gut);height:1px;background:#a2bdc533}
.hero .center-hero-types>p{font-size:15px;margin-bottom:16px;line-height:1.6}
.hero .center-hero-types>div{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.hero .center-hero-types a{padding:13px 14px;min-height:52px;font-size:15px;background:#203b48;border-color:#54707e;transition:background-color 160ms ease,border-color 160ms ease}
.hero .center-hero-types a:hover{background:#315766;border-color:#bfd4db}
@media(min-width:1440px){.hero{padding-top:80px;padding-bottom:48px}.hero .hero-content{gap:40px}}
@media(min-width:769px) and (max-width:1024px){.hero{padding-top:48px}.hero .hero-content{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero .hero-text .display{font-size:42px}.hero .center-hero-stage{height:440px}.hero .hero-text .lead-p{font-size:16px}.hero .center-hero-types>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:768px){.hero{padding:36px 0 28px}.hero .hero-content{grid-template-columns:minmax(0,1fr);gap:12px}.hero .hero-text{padding:0}.hero .frame .frame-label{margin-bottom:20px;font-size:12px;line-height:1.6}.hero .hero-text .display{font-size:clamp(36px,8.8vw,52px);line-height:1.23;margin-bottom:20px}.hero .hero-text .lead-p{max-width:38ch;font-size:16px;line-height:1.8;margin-bottom:24px}.hero .hero-text .btn-row{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);gap:10px}.hero .btn.on-panel,.hero .btn.on-panel-ghost{width:100%;min-height:52px;padding:13px 12px;font-size:15px}.hero .center-hero-stage{height:clamp(300px,84vw,440px);margin:8px 0 0}.hero .center-hero-types{margin-top:12px;padding-top:24px}.hero .center-hero-types>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero .center-hero-types a{font-size:14px;min-height:48px;padding:12px 10px}.hero .center-hero-types>p{font-size:14px}}
@media(max-width:359px){.hero .hero-text .display{font-size:33px}.hero .hero-text .btn-row{grid-template-columns:1fr}.hero .center-hero-types>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* A stronger navy/cyan identity; one shared gutter for copy and subject navigation. */
:root{--bg:#122b3d;--bg-deep:#0b1c2c;--bg-mid:#203e52;--panel:#122b3d;--panel-2:#0b1c2c;--primary:#175f7a;--primary-hover:#104b65;--primary-ink:#164b61;--teal-bright:#eeede7;--accent:#eeede7;--mint:#e0eff4;--fg-2:#e0eff4;--fg-3:#b4cbd7;--tint:#edf5f8;--tint-2:#f5f9fb}
.hero{background:radial-gradient(ellipse at 78% 40%,#134867 0%,transparent 58%),linear-gradient(120deg,#0b1c2c,#112f46)}
.hero .hero-content,.hero .center-hero-types{box-sizing:border-box;padding-left:var(--gut);padding-right:var(--gut);width:100%}
.hero .hero-text .frame{padding-left:0;padding-right:0}
.hero .center-hero-stage{background:radial-gradient(ellipse at 50% 58%,#bfc9cc1c,transparent 68%)}
.hero .center-hero-stage::before{content:"";position:absolute;inset:18px 8px;z-index:0;pointer-events:none;background-image:linear-gradient(#d6dcd908 1px,transparent 1px),linear-gradient(90deg,#d6dcd908 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,#000 20%,transparent 72%)}
.hero .center-hero-stage::after{content:"";position:absolute;inset:32px 16px;z-index:2;pointer-events:none;background:linear-gradient(#d6dcd966,#d6dcd966) left top/28px 1px no-repeat,linear-gradient(#d6dcd966,#d6dcd966) left top/1px 28px no-repeat,linear-gradient(#d6dcd966,#d6dcd966) right bottom/28px 1px no-repeat,linear-gradient(#d6dcd966,#d6dcd966) right bottom/1px 28px no-repeat}
.hero .btn.on-panel{background:#f0efe9;border-color:#f0efe9;color:#092235;box-shadow:0 4px 28px #d6dcd91c}
.hero .btn.on-panel:hover{background:#ffffff;border-color:#ffffff;color:#092235}
.hero .btn.on-panel-ghost{background:#102b40;border-color:#718d9f;color:#e6f4f8}
.hero .center-hero-types a{background:#17384f;border-color:#496d83;color:#f2f8fc}
.hero .center-hero-types a:hover{background:#21526d;border-color:#eeede7}
.hero .center-hero-types a span{color:#eeede7}
@media(max-width:768px){.hero .center-hero-stage::after{inset:18px 4px}.hero .center-hero-stage::before{inset:8px 0}}
/* Let the holographic scene reach the edge of the hero instead of a small inset. */
@media(min-width:1025px){.hero{padding-top:28px;padding-bottom:36px}.hero .hero-content{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:16px}.hero .hero-text .display{font-size:clamp(44px,4vw,56px)}.hero .center-hero-stage{width:calc(100% + min(8vw,120px));height:clamp(540px,46vw,650px);max-width:none}.hero .center-hero-types{margin-top:8px}}
@media(min-width:769px) and (max-width:1024px){.hero .hero-content{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:16px}.hero .center-hero-stage{width:calc(100% + 40px);height:500px}.hero .hero-text .display{font-size:40px}}
@media(max-width:768px){.hero .center-hero-stage{width:calc(100% + var(--gut)*2);margin-left:calc(var(--gut)*-1);height:clamp(360px,105vw,520px);margin-top:0}.hero .center-hero-types{margin-top:0}}
.hero .center-hero-stage::after{display:none}
/* One continuous architectural scene, with the complete consultation menu in view. */
.hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;height:calc(100svh - 72px);min-height:560px;max-height:920px;padding:32px 0 24px}
.hero .hero-content{position:static;display:flex;align-items:center;flex:1;min-height:0;isolation:auto}
.hero .hero-text{position:relative;z-index:4;max-width:470px;width:44%;padding:20px 0}
.hero .hero-text .display{font-size:clamp(42px,4vw,60px)}
.hero .center-hero-stage{position:absolute;inset:0;width:100%;height:100%;margin:0;max-width:none;z-index:0;overflow:hidden;background:none}
.hero .center-hero-stage::before{display:none}
.hero .center-hero-stage::after{display:block;content:"";inset:0;background:linear-gradient(90deg,#0e1823f2 0%,#0e1823d9 22%,#0e182373 44%,transparent 66%),linear-gradient(0deg,#111d29 0%,transparent 28%);z-index:2}
.hero .center-hero-types{flex-shrink:0;margin-top:12px;padding-top:18px;z-index:5}
.hero .center-hero-types>p{margin-bottom:12px;color:#e8e9e6}
.hero .center-hero-types>div{grid-template-columns:repeat(7,minmax(0,1fr))}
.hero .center-hero-types a{min-height:48px}
.hero .frame .frame-label{color:#c7cdd0}
@media(min-width:769px) and (max-width:1024px){.hero .hero-text{width:48%}.hero .hero-text .display{font-size:40px}.hero .center-hero-types>div{grid-template-columns:repeat(7,minmax(0,1fr))}.hero .center-hero-types a{font-size:13px;padding:10px 8px;gap:4px}}
@media(max-width:768px){.hero{height:calc(100svh - 72px);min-height:580px;max-height:900px;padding:20px 0 18px}.hero .hero-content{align-items:flex-start}.hero .hero-text{width:100%;max-width:440px;padding:0}.hero .hero-text .display{font-size:36px;line-height:1.16;margin-bottom:14px}.hero .frame .frame-label{font-size:11px;line-height:1.5;margin-bottom:12px}.hero .hero-text .lead-p{font-size:15px;line-height:1.6;max-width:34ch;margin-bottom:18px}.hero .hero-text .btn-row{grid-template-columns:1.1fr 1fr;gap:8px}.hero .btn.on-panel,.hero .btn.on-panel-ghost{min-height:46px;padding:11px 12px;font-size:14px}.hero .center-hero-stage{inset:0;width:100%;height:100%;margin:0}.hero .center-hero-stage::after{background:linear-gradient(180deg,#0e1823e6 0%,#0e1823a6 32%,#0e182326 58%,#111d29e6 88%)}.hero .center-hero-types{margin-top:16px;padding-top:12px}.hero .center-hero-types>p{font-size:13px;margin-bottom:10px}.hero .center-hero-types>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hero .center-hero-types a{min-height:44px;padding:10px;font-size:14px}}
@media(max-height:700px) and (min-width:769px){.hero{padding-top:20px;padding-bottom:20px}.hero .hero-text .display{font-size:44px}.hero .hero-text .lead-p{margin-bottom:22px}.hero .frame .frame-label{margin-bottom:18px}}
/* A hint of the selected signal on its source link; geometry is rendered in the existing scene. */
.hero .center-hero-types a.signal-active{border-color:var(--signal-color);box-shadow:inset 0 -2px var(--signal-color);background:#263c4e}
.hero .center-hero-types a:focus-visible{outline:2px solid var(--signal-color,#e9e7df);outline-offset:3px}
/* Focusing a menu link must not scroll the clipped hero internally. */
.hero,.hero .center-hero-stage{overflow:clip}
