:root { --navy:#091a34; --text:#f5f7fb; --muted:#cad4e2; --rule:rgba(232,240,251,.56); --serif:Georgia,"Times New Roman",Times,serif; --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; --max-width:1320px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; color:var(--text); background:var(--navy); font-family:var(--serif); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid #fff; outline-offset:7px; border-radius:2px; }
a:hover { color:#fff; }
::selection { background:#dde5f3; color:var(--navy); }
.wrap { width:min(calc(100% - 112px),var(--max-width)); margin-inline:auto; }
.site-shell { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:42px 0 29px; border-bottom:1px solid var(--rule); }
.brand { display:inline-flex; flex-direction:row; align-items:center; gap:16px; flex:0 0 auto; }
.brand-mark { width:56px; height:auto; max-height:31px; object-fit:contain; opacity:.83; flex:0 0 auto; }
.brand-type { display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.brand-name { font-size:clamp(31px,3.3vw,46px); font-weight:400; line-height:1; letter-spacing:.112em; }
.brand-descriptor { font-size:clamp(10px,1.04vw,14px); font-weight:400; line-height:1.45; letter-spacing:.155em; white-space:nowrap; }
.site-nav { display:flex; align-items:center; gap:clamp(26px,4.2vw,74px); padding-top:3px; }
.site-nav a,.site-footer a { font-size:14px; letter-spacing:.15em; text-transform:uppercase; white-space:nowrap; }
.site-nav a { padding:8px 0; }
.site-nav a:hover,.site-footer a:hover,.contact a:hover { text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; }
.main-content { flex:1 0 auto; display:flex; align-items:center; justify-content:center; }
.hero { text-align:center; padding:clamp(70px,8vh,108px) 0 clamp(77px,10vh,122px); width:100%; }
h1 { font-size:clamp(42px,4.8vw,70px); font-weight:400; line-height:1.21; letter-spacing:-.018em; margin:0 auto; text-wrap:balance; max-width:1160px; }
h1 span { display:block; }
.intro { max-width:1040px; margin:clamp(34px,4.8vw,60px) auto 0; font-size:clamp(17px,1.50vw,21px); font-weight:400; line-height:1.75; color:#e0e6f0; text-wrap:pretty; }
.hero-divider { background:var(--rule); width:172px; height:1px; margin:clamp(43px,5.2vw,68px) auto clamp(33px,4.5vw,57px); }
.contact { scroll-margin-top:24px; }
.contact h2 { font-size:clamp(22px,2.05vw,30px); font-weight:400; line-height:1.4; margin:0 0 8px; }
.contact a { display:inline-block; font-size:clamp(16px,1.83vw,26px); line-height:1.55; color:var(--muted); overflow-wrap:anywhere; }
.site-footer { border-top:1px solid var(--rule); min-height:95px; display:flex; justify-content:center; align-items:center; padding:28px 0; }
.site-footer nav { display:flex; align-items:center; justify-content:center; gap:32px; }
.site-footer a { font-size:13px; }
.footer-separator { height:17px; width:1px; background:var(--rule); display:inline-block; }
.legal-main { flex:1 0 auto; padding:74px 0 105px; }
.legal-content { width:min(100%,840px); margin-inline:auto; }
.legal-content h1 { font-size:clamp(42px,5vw,62px); line-height:1.2; margin:0 0 50px; text-align:left; }
.legal-content h2 { font-size:22px; line-height:1.4; font-weight:400; margin:37px 0 11px; }
.legal-content p,.legal-content address,.legal-content li { font-family:var(--sans); color:var(--muted); font-style:normal; font-size:16px; line-height:1.83; margin:0 0 16px; }
.legal-content a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-content strong { color:var(--text); }
@media(max-width:1000px){ .wrap{width:min(calc(100% - 76px),var(--max-width));} .brand-name{font-size:35px;} .brand-mark{width:50px;} .brand{gap:13px;} .brand-descriptor{font-size:10px;} h1{font-size:clamp(40px,4.8vw,60px);} }
@media(max-width:700px){ .wrap{width:calc(100% - 42px);} .site-header{align-items:flex-start;flex-direction:column;gap:20px;padding:29px 0 23px;} .brand{gap:11px;} .brand-mark{width:39px;max-height:25px;} .brand-name{font-size:clamp(31px,8vw,38px);letter-spacing:.1em;} .brand-descriptor{font-size:clamp(9px,2.37vw,11px);letter-spacing:.11em;} .site-nav{gap:35px;padding-top:3px;} .site-nav a{font-size:11px;letter-spacing:.16em;padding:5px 0;} .hero{padding:72px 0 78px;} h1{font-size:clamp(31px,7.6vw,47px);letter-spacing:-.014em;line-height:1.23;} h1 span+span{margin-top:8px;} .intro{font-size:clamp(15px,3.9vw,18px);line-height:1.75;margin-top:39px;} .hero-divider{margin:47px auto 40px;width:126px;} .contact h2{font-size:25px;margin-bottom:11px;} .contact a{font-size:clamp(15px,3.75vw,19px);line-height:1.75;} .site-footer{min-height:85px;padding:24px 0;} .site-footer nav{gap:23px;} .site-footer a{font-size:11px;letter-spacing:.14em;} .legal-main{padding:55px 0 75px;} .legal-content h1{margin-bottom:31px;} .legal-content h2{font-size:20px;} .legal-content p,.legal-content address,.legal-content li{font-size:15px;} }
@media(max-width:350px){ .wrap{width:calc(100% - 34px);} .brand{gap:9px;} .brand-mark{width:33px;} .brand-name{font-size:29px;letter-spacing:.085em;} .brand-descriptor{font-size:8.7px;letter-spacing:.085em;} h1{font-size:29px;} .intro{font-size:15px;} .contact a{font-size:14px;} }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
