:root{--navy:#13283b;--blue:#176b87;--sky:#d8f1f2;--lime:#cde65b;--paper:#f6f4ed;--ink:#17242d;--muted:#62717a;--line:#bfd0d3;--mono:"IBM Plex Mono",monospace;--sans:"Gowun Dodum",system-ui,sans-serif}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}.skip{position:fixed;left:12px;top:-60px;z-index:20;background:#fff;padding:10px}.skip:focus{top:12px}.top{min-height:72px;padding:12px clamp(18px,4vw,64px);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:rgba(246,244,237,.94);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand b{background:var(--navy);color:var(--lime);padding:8px;font-family:var(--mono)}.top nav{display:flex;gap:22px;font-size:14px}.call{font-family:var(--mono);font-size:13px;border:1px solid;padding:8px 12px}.hero{min-height:calc(100vh - 72px);padding:clamp(55px,9vw,120px) clamp(20px,8vw,120px);background:var(--navy);color:#f9fbf7;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:min(62vw,760px);aspect-ratio:1;right:-16%;bottom:-45%;border:1px solid #5d8592;border-radius:50%;box-shadow:0 0 0 70px #17364a,0 0 0 71px #5d8592,0 0 0 145px #17364a,0 0 0 146px #5d8592}.hero__copy{position:relative;z-index:1;max-width:760px}.eyebrow,.section-head>p{font:600 12px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}.hero .eyebrow{color:var(--lime)}h1{font-size:clamp(3.2rem,9vw,8.2rem);line-height:.9;letter-spacing:-.075em;margin:24px 0 32px}h1 em{color:var(--lime);font-style:normal}.hero__copy>p:not(.eyebrow){max-width:530px;font-size:clamp(17px,2vw,21px);color:#bdd0d4}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.button{display:inline-flex;justify-content:center;padding:12px 18px;border:1px solid currentColor;font-weight:700}.button.primary{background:var(--lime);border-color:var(--lime);color:var(--navy)}.legend{position:absolute;z-index:2;right:4vw;top:34px;display:flex;gap:16px;font:11px var(--mono)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot--live{background:var(--lime)}.dot--wait{border:1px solid #fff}.map-section,.proof,.fees{padding:clamp(70px,10vw,130px) clamp(20px,8vw,120px)}.section-head{display:grid;grid-template-columns:180px 1fr;gap:12px;margin-bottom:54px;align-items:end}.section-head h2,.visit h2{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1;letter-spacing:-.055em}.section-head span{grid-column:2;color:var(--muted)}.map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr);gap:28px}.classmap{min-height:560px;background:var(--sky);border:1px solid #83afb5;position:relative;overflow:hidden;border-radius:40% 7% 8% 5%/11% 8% 9% 7%;box-shadow:inset 0 0 0 18px rgba(255,255,255,.45)}.classmap:before{content:"";position:absolute;inset:9%;background-image:linear-gradient(#add5d6 1px,transparent 1px),linear-gradient(90deg,#add5d6 1px,transparent 1px);background-size:44px 44px;opacity:.55}.route{position:absolute;left:18%;top:22%;width:60%;height:54%;border:3px dashed var(--blue);border-radius:48% 30% 45% 20%;transform:rotate(-7deg)}.spot{position:absolute;z-index:2;background:#fff;border:2px solid var(--blue);border-radius:999px;padding:8px 13px;display:flex;align-items:center;gap:8px;box-shadow:0 6px 0 rgba(19,40,59,.15);transition:.2s}.spot:hover,.spot:focus-visible,.spot.is-active{background:var(--navy);color:#fff;transform:translateY(-4px)}.spot b{font:600 12px var(--mono);background:var(--lime);color:var(--navy);width:24px;height:24px;border-radius:50%;display:grid;place-items:center}.spot--1{left:12%;top:18%}.spot--2{right:12%;top:28%}.spot--3{right:22%;bottom:16%}.spot--4{left:13%;bottom:20%}.spot.wait{border-style:dashed}.desk{position:absolute;width:80px;height:46px;border:2px solid #7fb1b4;background:#c8e8e8;transform:skew(-8deg)}.desk--a{left:40%;top:43%}.desk--b{left:23%;top:54%}.board{position:absolute;right:9%;top:7%;background:var(--navy);color:#fff;padding:12px 20px;transform:rotate(2deg)}.map-card{align-self:end;background:var(--navy);color:#fff;padding:32px;min-height:280px}.map-card__step,.source{font:11px/1.6 var(--mono);color:#8aa4ad}.map-card h3{font-size:2rem;margin:38px 0 12px;color:var(--lime)}.sr-list{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.proof{background:#e4ead7}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #aab99c}.stats article{padding:32px 18px;border-right:1px solid #aab99c}.stats strong{font:600 clamp(2.2rem,5vw,4.8rem) var(--mono);letter-spacing:-.08em}.proof>.source{margin-top:22px;color:#66715c}.fees table{width:100%;border-collapse:collapse}.fees th,.fees td{text-align:left;padding:17px;border-bottom:1px solid var(--line)}.fees td:last-child{text-align:right;font-family:var(--mono)}.visit{padding:clamp(70px,10vw,130px) clamp(20px,8vw,120px);background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:50px}.visit .eyebrow{color:var(--lime)}.address{font-size:clamp(18px,2.4vw,26px);display:grid;align-content:end;justify-items:start;gap:28px}.address small{font-size:12px;color:#c9dcdf}footer{padding:28px clamp(20px,8vw,120px);display:flex;gap:22px;align-items:center;background:var(--navy);color:#fff;font-size:13px}footer a{margin-left:auto;color:var(--lime)}[data-reveal]{opacity:0;transform:translateY(18px);transition:.65s ease}[data-reveal].is-in{opacity:1;transform:none}@media(max-width:760px){.top nav{display:none}.top .call{display:none}.legend{position:relative;right:auto;top:auto;margin-top:50px}.section-head,.map-layout,.visit{grid-template-columns:1fr}.section-head span{grid-column:1}.classmap{min-height:480px}.stats{grid-template-columns:1fr 1fr}.stats article:nth-child(2){border-right:0}.spot span{font-size:12px}.map-card{min-height:230px}.tablewrap{overflow:auto}.fees table{min-width:600px}footer{align-items:flex-start;flex-direction:column}footer a{margin-left:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spot{transition:none}[data-reveal]{opacity:1;transform:none;transition:none}}
