:root { --paper:#f4f1e9; --ink:#171814; --line:rgba(23,24,20,.18); --muted:#5a5a52; --night:#171814; --night-muted:#c5c4b8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; padding-top:60px; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; height:60px; padding:0 44px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:var(--paper); }
.brand { display:inline-flex; align-items:center; }
.brand img { width:126px; height:auto; display:block; filter:invert(1); }
.desktop-nav { display:flex; align-items:center; gap:29px; font-size:13px; font-weight:500; }
.desktop-nav a:not(.nav-cta) { padding:10px 0; border-bottom:1px solid transparent; }
.desktop-nav a:not(.nav-cta):hover { border-color:var(--ink); }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; padding:16px 19px; border:0; background:var(--ink); color:var(--paper); cursor:pointer; font:500 14px "DM Sans",Arial,sans-serif; transition:transform .18s ease,background .18s ease; }
.nav-cta { padding:12px 16px; }
.nav-cta:hover,.button:hover { transform:translateY(-2px); background:#34362b; }
.arrow { font-size:20px; line-height:12px; }
.menu-toggle { display:none; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:0; background:var(--ink); color:var(--paper); font:400 28px/1 Arial,sans-serif; cursor:pointer; }
.mobile-nav { display:none; }
.eyebrow { margin:0; color:#55564f; font:500 11px/1.25 "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.utility-hero { min-height:clamp(430px,47vw,590px); padding:clamp(78px,10vw,142px) 8.1vw 72px; display:flex; flex-direction:column; justify-content:space-between; border-bottom:1px solid var(--line); }
.utility-hero h1 { max-width:1050px; margin:27px 0 0; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(4.25rem,8.4vw,8.7rem); font-weight:400; line-height:.84; letter-spacing:-.07em; }
.utility-hero-bottom { display:grid; grid-template-columns:minmax(250px,440px) 1fr; gap:64px; align-items:end; }
.utility-hero-bottom p { max-width:470px; margin:0; font-size:18px; line-height:1.48; letter-spacing:-.024em; }
.utility-hero-note { max-width:320px; color:var(--muted); font:400 11px/1.55 "DM Mono",monospace; letter-spacing:.03em; text-transform:uppercase; }
.content-section { padding:116px 8.1vw 132px; }
.section-head { display:grid; grid-template-columns:minmax(180px,363px) minmax(0,1fr); gap:64px; margin-bottom:65px; }
.section-head h2 { max-width:880px; margin:0; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(3.2rem,5.8vw,6.4rem); font-weight:400; line-height:.88; letter-spacing:-.065em; }
.support-layout { display:grid; grid-template-columns:minmax(250px,30%) minmax(0,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.support-aside,.support-form-wrap { padding:28px 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.support-aside { min-height:470px; display:flex; flex-direction:column; justify-content:space-between; background:var(--night); color:var(--paper); }
.support-aside .eyebrow { color:#aaa99e; }
.support-aside h2 { max-width:300px; margin:24px 0 0; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(2.75rem,4.1vw,4.6rem); font-weight:400; line-height:.89; letter-spacing:-.06em; }
.support-aside p:last-child { max-width:290px; margin:42px 0 0; color:var(--night-muted); font-size:15px; line-height:1.5; }
.support-form-wrap { background:var(--paper); }
.support-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 22px; }
.support-field { display:flex; flex-direction:column; gap:9px; }
.support-field:nth-child(3),.support-field:nth-child(4),.support-actions { grid-column:1 / -1; }
.support-field label { font:500 11px/1.25 "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.support-input,.support-textarea { width:100%; border:1px solid var(--line); border-radius:0; outline:0; background:transparent; color:var(--ink); font:400 16px/1.4 "DM Sans",Arial,sans-serif; }
.support-input { min-height:52px; padding:12px 14px; }
.support-textarea { min-height:162px; padding:13px 14px; resize:vertical; }
.support-input::placeholder,.support-textarea::placeholder { color:#83837b; }
.support-input:focus,.support-textarea:focus { border-color:var(--ink); }
.support-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:2px; }
.support-status { min-height:20px; margin:0; color:var(--muted); font-size:14px; }
.support-status.is-error { color:#9d3320; }
.support-submit { min-width:136px; }
.support-submit:disabled { opacity:.6; cursor:wait; transform:none; }
.faq-heading { max-width:900px; margin:0 auto 62px; text-align:center; }
.faq-heading h2 { margin:0; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(4.6rem,8vw,8.5rem); font-weight:400; line-height:.84; letter-spacing:-.07em; }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { position:relative; display:flex; align-items:center; min-height:88px; padding:19px 54px 19px 0; cursor:pointer; list-style:none; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(1.75rem,2.5vw,2.72rem); line-height:.98; letter-spacing:-.048em; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%); font-family:"DM Sans",Arial,sans-serif; font-size:28px; font-weight:400; }
details[open] summary::after { content:"−"; }
details p { max-width:720px; margin:0; padding:0 0 27px; color:var(--muted); font-size:16px; line-height:1.58; }
.legal-hero { min-height:440px; }
.legal-hero h1 { max-width:900px; }
.legal-document { width:min(970px,100%); margin:0 auto; }
.legal-meta { margin:0 0 50px; color:var(--muted); font:400 11px/1.45 "DM Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.legal-group { padding:27px 0 31px; border-top:1px solid var(--line); }
.legal-group:last-child { border-bottom:1px solid var(--line); }
.legal-group h2 { margin:0 0 15px; font-family:"DM Serif Display",Georgia,serif; font-size:clamp(2rem,3.15vw,3.5rem); font-weight:400; line-height:.92; letter-spacing:-.055em; }
.legal-group p,.legal-group li { max-width:760px; color:var(--muted); font-size:16px; line-height:1.62; }
.legal-group p { margin:0; }
.legal-group ul { max-width:760px; margin:14px 0 0; padding-left:20px; }
.legal-group li + li { margin-top:7px; }
.legal-group a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
footer { padding:31px 8.1vw 35px; display:flex; flex-direction:column; align-items:flex-end; gap:22px; border-top:1px solid var(--line); font-size:12px; text-align:right; }
.footer-nav { display:flex; flex-direction:column; align-items:flex-end; gap:12px; color:var(--muted); }
.footer-nav a:hover { color:var(--ink); }
.footer-social { display:flex; gap:8px; }
.footer-social a { width:30px; height:30px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--ink); transition:background .18s ease,color .18s ease; }
.footer-social a:hover { background:var(--ink); color:var(--paper); }
.footer-social svg { width:14px; height:14px; fill:currentColor; }
.footer-copyright { width:100%; margin:4px 0 0; color:var(--muted); text-align:center; }
@media (max-width:760px) { body { padding-top:60px; } .site-header { height:60px; padding:0 20px; } .brand img { width:105px; } .desktop-nav { display:none; } .menu-toggle { display:inline-flex; } .mobile-nav { position:fixed; top:60px; left:0; right:0; z-index:49; padding:8px 20px 20px; border-bottom:1px solid var(--line); background:var(--paper); box-shadow:0 18px 28px rgba(23,24,20,.1); } .mobile-nav.is-open { display:grid; gap:0; } .mobile-nav a { display:flex; align-items:center; justify-content:space-between; min-height:52px; border-bottom:1px solid var(--line); font-size:16px; font-weight:500; } .mobile-nav a::after { content:"→"; font-size:20px; } .mobile-nav a:last-child { margin-top:14px; padding:0 16px; border:0; background:var(--ink); color:var(--paper); } .utility-hero { min-height:570px; padding:74px 20px 55px; } .utility-hero h1 { font-size:clamp(4.2rem,18vw,6.4rem); } .utility-hero-bottom,.section-head { grid-template-columns:1fr; gap:27px; } .utility-hero-bottom { margin-top:58px; } .content-section { padding:83px 20px; } .section-head { margin-bottom:45px; } .section-head h2 { font-size:3.85rem; } .support-layout { grid-template-columns:1fr; } .support-aside { min-height:340px; border-right:1px solid var(--line); } .support-aside h2 { font-size:3.35rem; } .support-aside p:last-child { margin-top:56px; } .support-form-wrap { padding:23px 20px; } .support-form { grid-template-columns:1fr; } .support-field:nth-child(2) { grid-column:1 / -1; } .faq-heading { margin-bottom:42px; } .faq-heading h2 { font-size:4.8rem; } summary { min-height:76px; padding-right:38px; font-size:1.95rem; } details p { padding-bottom:22px; font-size:15px; } .legal-hero { min-height:430px; } .legal-meta { margin-bottom:35px; } .legal-group { padding:23px 0 26px; } .legal-group h2 { font-size:2.45rem; } .legal-group p,.legal-group li { font-size:15px; } footer { padding:27px 20px; flex-direction:column; align-items:flex-end; text-align:right; } .footer-nav { flex-direction:column; align-items:flex-end; gap:12px; } }
