*{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.04;letter-spacing:-.03em}a{color:inherit;text-decoration:none}.grid-bg{display:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 clamp(20px,6vw,72px)}.kicker{display:block;text-transform:uppercase;letter-spacing:.32em;font-size:.68rem;font-weight:600;color:var(--ink);margin-bottom:28px}.hero .kicker,.section-dark .kicker{color:var(--ink-inverse)}.section{padding-top:clamp(72px,11vw,150px);padding-bottom:clamp(72px,11vw,150px);border-top:1px solid var(--line)}.section-title{font-size:clamp(2rem,5.5vw,4rem);max-width:18ch}.section-lead{margin-top:28px;max-width:54ch;font-size:1.05rem;color:var(--ink-soft)}.state{padding:24px 0;color:var(--ink-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:500;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:16px 30px;border:1px solid var(--ink);border-radius:0;cursor:pointer;transition:background .18s ease,color .18s ease;background:var(--ink);color:var(--ink-inverse)}.btn:hover:not(:disabled){background:transparent;color:var(--ink)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{padding:12px 20px;font-size:.7rem}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--ink);color:var(--ink-inverse)}.on-dark .btn,.btn-invert{background:var(--ink-inverse);color:var(--ink);border-color:var(--ink-inverse)}.on-dark .btn:hover:not(:disabled),.btn-invert:hover:not(:disabled){background:transparent;color:var(--ink-inverse)}.on-dark .btn-ghost,.btn-ghost.btn-invert{background:transparent;color:var(--ink-inverse)}.on-dark .btn-ghost:hover:not(:disabled),.btn-ghost.btn-invert:hover:not(:disabled){background:var(--ink-inverse);color:var(--ink)}.nav{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;gap:24px;max-width:var(--max-width);margin:0 auto;padding:20px clamp(20px,6vw,72px)}.brand{display:inline-flex;align-items:baseline;gap:.4ch;font-family:var(--font-display);font-weight:500;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase}.brand b{font-weight:500}.brand-mark{display:inline-block;align-self:center;width:auto;height:1.5em;margin-right:.2em}.nav-links{display:flex;gap:34px;margin-left:auto;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.nav-links a:hover{color:var(--ink)}.nav .btn-sm{margin-left:8px}.hero{position:relative;background:var(--bg-inverse);color:var(--ink-inverse);padding:clamp(56px,9vw,120px) 0 clamp(56px,8vw,100px);overflow:hidden}.hero-inner{max-width:var(--max-width);margin:0 auto;padding:0 clamp(20px,6vw,72px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,64px);align-items:center}.hero-copy{max-width:640px}.hero h1{font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:300;max-width:12ch}.hero-sub{margin:32px 0 40px;max-width:44ch;font-size:1.08rem;color:#ffffffb8}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.stat-row{display:flex;gap:clamp(20px,4vw,44px);margin-top:56px;padding-top:26px;border-top:1px solid var(--line-inverse)}.stat-row>div{min-width:0}.stat-row dt{font-family:var(--font-display);font-weight:300;font-size:clamp(1.5rem,3.4vw,2.1rem)}.stat-row dd{margin-top:6px;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-visual svg{width:min(560px,92vw);height:auto}.hero-visual .ln{fill:none;stroke:#ffffffc7;stroke-width:1.25;vector-effect:non-scaling-stroke}.hero-visual .ln-faint{stroke:#ffffff4d}.hero-visual .ring{transform-origin:230px 170px;animation:spin 32s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section .container{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(40px,6vw,72px)}.section-head{display:grid;gap:8px}.cards{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.card{padding:28px clamp(18px,2.4vw,32px) 0 0;border-top:1px solid var(--ink)}.card+.card{padding-left:clamp(18px,2.4vw,32px);border-left:1px solid var(--line)}.card-glyph{font-family:var(--font-display);font-weight:300;font-size:1.1rem;color:var(--ink-soft);margin-bottom:18px;display:block}.card h3{font-size:1.16rem;letter-spacing:-.02em;margin-bottom:10px}.card p{color:var(--ink-soft);font-size:.9rem}.city-list{list-style:none;border-top:1px solid var(--ink)}.city-row{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.city-row .city-name{font-family:var(--font-display);font-weight:300;font-size:clamp(1.6rem,3.5vw,2.4rem);letter-spacing:-.02em}.city-row .city-region{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.city-row .city-note{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}.city-row .city-note:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;border:1px solid var(--ink);transform:translateY(-1px)}.city-row.city-live .city-note:before{background:var(--ink)}.contact{border-top:1px solid var(--ink);padding-top:clamp(40px,6vw,72px)}.contact .section-lead{margin-bottom:32px}.contact-links{list-style:none;display:flex;gap:40px;flex-wrap:wrap;margin-bottom:44px}.contact-links .kicker{margin-bottom:8px}.contact-links a{text-decoration:underline;text-underline-offset:3px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;align-items:end;max-width:760px}.field{display:flex;flex-direction:column;gap:12px}.field label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field select,.field textarea{background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:10px 0;color:var(--ink);font:inherit;font-size:1rem}.field textarea{resize:vertical;min-height:3.2em;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--line)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-width:2px;padding-bottom:9px}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a0a0a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center}.field select:invalid{color:var(--ink-soft)}.field-wide{grid-column:1 / -1}.contact-form .btn{grid-column:1 / -1;justify-self:start}.form-note{grid-column:1 / -1;margin-top:24px;font-size:.9rem;color:var(--ink)}.form-note.error{white-space:pre-line;border-left:2px solid var(--ink);padding-left:14px}.form-note.success{font-family:var(--font-display);font-size:1.1rem}.notfound{padding:clamp(90px,16vw,200px) clamp(20px,6vw,72px)}.notfound h1{font-size:clamp(2rem,6vw,3.4rem);font-weight:300;margin-bottom:16px}.notfound .section-lead{margin:0 0 36px}.footer{border-top:1px solid var(--ink);padding:56px 0}.footer-inner{display:grid;gap:40px}.footer-top{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:28px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap}.footer-links a:hover{color:var(--ink)}.footer-fine{color:var(--ink-soft);font-size:.74rem;line-height:1.8;max-width:60ch}@media (max-width: 940px){.hero-inner{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:none}.hero-visual{order:-1}.nav-links{display:none}.cards{grid-template-columns:1fr 1fr}.card:nth-child(odd){padding-left:0;border-left:0}.card:nth-child(3),.card:nth-child(4){border-top:1px solid var(--line)}}@media (max-width: 640px){.cards{grid-template-columns:1fr}.card+.card{padding-left:0;border-left:0;border-top:1px solid var(--line)}.contact-form{grid-template-columns:1fr;gap:28px 0}.contact-form .btn{width:100%}.city-row{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero-visual .ring{animation:none}}
