@font-face{font-family:Hanken;src:url('/fonts/hanken-grotesk-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/fonts/fraunces-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:light;--canvas:#f6f3ee;--surface:#fffdfa;--ink:#302b27;--muted:#756c63;--accent:#a74f3c;--line:#ded6ca;--hover:#f2eae0;--soft:#eee7dd}
:root[data-theme=dark]{color-scheme:dark;--canvas:#1a1612;--surface:#241e19;--ink:#ece3d6;--muted:#b4a699;--accent:#e29a80;--line:#463a30;--hover:#30271f;--soft:#2b231c}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--canvas:#1a1612;--surface:#241e19;--ink:#ece3d6;--muted:#b4a699;--accent:#e29a80;--line:#463a30;--hover:#30271f;--soft:#2b231c}}
*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Hanken,'PingFang SC','Noto Sans CJK SC',sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:24px;height:24px;flex-shrink:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip-link{position:absolute;left:16px;top:-100px;padding:10px 18px;background:var(--ink);color:var(--canvas);z-index:5}.skip-link:focus{top:12px}.page-header,main,.page-footer{width:calc(100% - 80px);max-width:1120px;margin-inline:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:20px;font-family:Fraunces,serif;font-size:29px;font-weight:650;letter-spacing:-.8px}.brand span{font-family:Hanken,'PingFang SC',sans-serif;font-size:13px;font-weight:450;color:var(--muted);letter-spacing:0}.header-actions{display:flex;align-items:center;gap:26px}nav{display:flex;align-items:center;gap:26px}nav a{color:var(--muted);font-size:14px}nav a:hover{color:var(--accent)}.theme-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:transparent;padding:6px 11px;cursor:pointer;font-size:12px;white-space:nowrap}.theme-button svg{width:17px;height:17px}.theme-button:hover{background:var(--soft);color:var(--ink)}.intro{padding:40px 0 30px}.intro h1{font-size:36px;line-height:1.35;letter-spacing:-.7px;margin:0 0 8px;font-weight:650}.intro p{color:var(--muted);margin:0;font-size:16px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2,.help-section h2{margin:0;font-size:17px;font-weight:600}.section-heading p{font-size:13px;color:var(--muted);margin:0}.primary-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:25px 26px;transition:border-color .16s,background-color .16s}.service:hover{border-color:var(--accent);background:var(--hover)}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.service-icon{display:flex;align-items:center;color:var(--accent)}.service-icon svg{width:30px;height:30px}.chevron{width:17px;height:17px;color:var(--muted)}.service-copy{display:flex;flex-direction:column;flex:1}.service-title{display:block;font-size:25px;line-height:1.3;font-weight:600;letter-spacing:-.5px;margin-bottom:10px}.service-description{display:block;font-size:14px;line-height:1.8;color:var(--muted);max-width:34em}.service-detail{display:block;font-size:12px;color:var(--accent);margin-top:auto;padding-top:23px}.spatial-section{margin-top:36px}.spatial-section h2{font-family:Fraunces,serif;font-size:23px}.spatial-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.compact{flex-direction:row;gap:23px;padding:23px 26px}.compact .service-top{margin:0;align-self:flex-start;padding-top:5px}.compact .chevron{display:none}.compact .service-title{font-size:23px;margin-bottom:5px}.compact .service-detail{padding-top:12px;font-size:12px}.compact .service-description{font-size:14px}.related{display:flex;flex-wrap:wrap;gap:9px 28px;padding-top:17px}.related a{font-size:13px;display:flex;align-items:center;gap:8px;color:var(--muted);min-height:30px}.related a:hover{color:var(--accent)}.related svg{width:14px;height:14px}.help-section{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:grid;grid-template-columns:170px 1fr;gap:22px}.help-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.help-links a,.software-links a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:52px}.help-links strong,.software-links strong{display:block;font-weight:550;font-size:14px}.help-links span span,.software-links span span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.help-links svg,.software-links svg{color:var(--accent);width:16px;height:16px}.help-links a:hover strong,.software-links a:hover strong{color:var(--accent)}.page-footer{margin-top:42px;padding:23px 0 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted);font-size:12px}.footer-domain{margin-left:16px;font-size:11px}.public-intro{padding:62px 0 38px}.public-intro h1{font-family:Fraunces,serif;font-size:clamp(40px,5.4vw,65px);line-height:1.12;font-weight:550;letter-spacing:-1.5px;max-width:720px;margin-bottom:22px}.public-intro p{font-size:18px;max-width:600px;line-height:1.7}.resource-services{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.resource{padding:30px 32px;min-height:260px}.resource .service-title{font-family:Fraunces,serif;font-size:33px;font-weight:550}.resource .service-description{font-size:16px;line-height:1.7}.resource .service-top{margin-bottom:25px}.resource .service-detail{padding-top:23px;font-size:13px}.software-section{margin-top:40px}.software-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;border-top:1px solid var(--line);padding-top:12px}.software-links a{min-height:75px}.software-links strong{font-size:18px}.software-links span span{font-size:14px}.public .page-footer{margin-top:46px}
@media(max-width:900px){.page-header,main,.page-footer{width:calc(100% - 48px)}.header-actions{gap:18px}nav{gap:18px}.primary-services{gap:12px}.service{padding:22px}.service-title{font-size:22px}.compact{gap:16px}.compact .service-title{font-size:21px}.help-section{grid-template-columns:130px 1fr}.help-links{gap:20px}.resource{padding:26px}.resource .service-title{font-size:30px}}
@media(max-width:650px){.page-header,main,.page-footer{width:calc(100% - 36px)}.page-header{padding:19px 0;gap:12px}.brand{font-size:26px;gap:12px}.brand span{font-size:11px}.header-actions{gap:0}.header-actions nav{display:none}.theme-button{padding:7px;min-width:36px}.theme-button span{display:none}.intro{padding:29px 0 26px}.intro h1{font-size:30px}.intro p{font-size:14px}.section-heading{margin-bottom:12px}.section-heading p{font-size:12px}.primary-services{grid-template-columns:1fr;gap:10px}.service{flex-direction:row;gap:17px;padding:19px 20px;position:relative}.service-top{margin:0;align-self:flex-start;padding-top:2px}.service-icon svg{width:27px;height:27px}.service-top .chevron{position:absolute;right:16px;top:24px}.service-copy{padding-right:18px}.service-title{font-size:22px;margin-bottom:5px}.service-description{font-size:13px;line-height:1.7}.service-detail{display:none}.spatial-section{margin-top:28px}.spatial-services{grid-template-columns:1fr;gap:10px}.compact{padding:19px 20px;gap:17px}.compact .service-top{padding-top:2px}.compact .service-title{font-size:22px}.compact .service-description{font-size:13px}.related{gap:6px 21px;padding-top:12px}.related a{font-size:12px;min-height:36px}.help-section{display:block;margin-top:23px;padding-top:21px}.help-links{grid-template-columns:1fr;gap:12px;margin-top:10px}.help-links a{min-height:52px}.help-links strong{font-size:14px}.page-footer{margin-top:28px;padding-top:18px;display:block;line-height:1.8}.page-footer>span{display:block}.page-footer>span+span{margin-top:6px}.public-intro{padding-top:38px;padding-bottom:30px}.public-intro h1{font-size:43px;max-width:350px;letter-spacing:-1.1px;margin-bottom:17px}.public-intro p{font-size:16px}.resource-services{grid-template-columns:1fr;gap:14px}.resource{display:block;min-height:0;padding:25px}.resource .service-top{margin-bottom:22px}.resource .service-copy{padding-right:0}.resource .service-title{font-size:30px;margin-bottom:12px}.resource .service-description{font-size:15px}.resource .service-detail{display:block;font-size:12px;padding-top:18px}.resource .chevron{position:static}.software-section{margin-top:30px}.software-links{grid-template-columns:1fr;gap:4px}.software-links a{min-height:80px}.public .page-footer{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
