@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');

:root { color-scheme: light; --ink:#171b19; --muted:#59615e; --line:#d7dcd8; --green:#315344; --coral:#dc806c; --paper:#f7f8f6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; letter-spacing:0; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Playfair Display',Georgia,serif; font-weight:500; letter-spacing:0; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:25px max(5vw,24px); z-index:2; }
.hero-header { position:absolute; left:0; right:0; top:0; color:#fff; }
.wordmark { font-family:'Playfair Display',Georgia,serif; font-size:29px; font-weight:600; white-space:nowrap; }
.wordmark span { color:var(--coral); }
.site-header nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }
.site-header a:hover,.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.hero { min-height:min(80svh,740px); position:relative; display:flex; align-items:center; color:#fff; background:#2b3029 url('/assets/wardrobe.png') center center/cover no-repeat; padding:110px max(5vw,24px) 85px; }
.hero::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(14,20,17,.86) 0%,rgba(14,20,17,.64) 35%,rgba(14,20,17,.14) 76%); }
.hero-content { position:relative; width:min(610px,100%); }
.eyebrow,.section-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0; }
.eyebrow { color:#f2bcac; }
.hero h1 { font-size:92px; line-height:1.03; margin:20px 0 22px; }
.hero p { max-width:510px; font-size:22px; line-height:1.55; color:#f1f3ef; }
.hero-link { display:inline-flex; gap:30px; align-items:center; margin-top:20px; border-bottom:1px solid #fff; padding:0 0 12px; font-weight:700; }
.hero-link:hover span,.text-link:hover span { transform:translate(3px,-3px); }
.hero-link span,.text-link span { transition:transform .2s ease; }
.hero-caption { position:absolute; right:max(5vw,24px); bottom:30px; font-size:12px; font-weight:600; color:#f2f3f0; }
.intro-band { display:grid; grid-template-columns:1fr 2fr; gap:48px; padding:90px max(5vw,24px) 75px; background:#fff; }
.section-label { color:var(--green); }
.intro-body { max-width:790px; }
.intro-body h2,.visual-copy h2,.closing-band h2 { font-size:56px; line-height:1.13; margin-bottom:25px; }
.intro-body p,.visual-copy p,.closing-band p { color:var(--muted); font-size:17px; line-height:1.7; max-width:620px; }
.feature-band { display:grid; grid-template-columns:1fr 1fr; padding:0 max(5vw,24px) 95px; background:#fff; column-gap:42px; }
.feature-line { border-top:1px solid var(--line); display:grid; grid-template-columns:54px 1fr; column-gap:16px; padding:28px 0 32px; }
.feature-number { grid-row:1/3; font-size:13px; color:var(--coral); font-weight:700; }
.feature-line h3 { font-size:20px; margin:0 0 9px; }
.feature-line p { margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.visual-band { padding:88px max(5vw,24px) 100px; background:#e7ede8; }
.visual-copy { max-width:750px; margin-bottom:42px; }
.visual-copy h2 { margin-top:23px; }
.visual-band img { width:100%; max-height:520px; object-fit:cover; border-radius:4px; box-shadow:0 18px 42px rgba(29,45,34,.11); }
.closing-band { padding:110px max(5vw,24px) 120px; background:#fff; }
.closing-band h2 { max-width:750px; margin-top:20px; }
.text-link { display:inline-flex; align-items:center; gap:26px; font-weight:700; color:var(--green); border-bottom:1px solid var(--green); padding-bottom:9px; }
.site-footer { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; padding:30px max(5vw,24px); background:var(--ink); color:#e7eee9; font-size:13px; }
.site-footer div { display:flex; gap:24px; flex-wrap:wrap; }
.document-page { background:#fff; }
.document-header { color:var(--ink); border-bottom:1px solid var(--line); }
.document-wrap,.support-main { width:min(860px,100%); margin:0 auto; padding:70px 24px 110px; }
.policy-content h1,.support-main h1 { font-size:64px; line-height:1.12; margin-bottom:27px; }
.policy-content h2 { font-family:'DM Sans',system-ui,sans-serif; font-size:25px; font-weight:700; margin:52px 0 16px; }
.policy-content h3 { font-family:'DM Sans',system-ui,sans-serif; font-size:18px; margin:28px 0 12px; }
.policy-content p,.policy-content li,.support-main p { color:#414a46; line-height:1.75; font-size:16px; }
.policy-content li { margin:7px 0; }
.policy-content a { color:var(--green); text-decoration:underline; }
.support-main { min-height:calc(100svh - 170px); }
.support-main h1 { margin:15px 0 22px; }
.support-main>p { max-width:620px; font-size:19px; }
.support-email { display:inline-flex; gap:18px; align-items:center; margin-top:22px; padding:18px 0; border-bottom:1px solid var(--green); color:var(--green); font-size:26px; font-weight:700; overflow-wrap:anywhere; }
.support-note { border-top:1px solid var(--line); margin-top:85px; padding-top:28px; max-width:650px; }
.support-note h2 { font-family:'DM Sans',system-ui,sans-serif; font-size:20px; }
@media (max-width:720px) {
  .site-header { padding:18px 20px; }
  .site-header nav { gap:14px; font-size:13px; }
  .site-header nav a:first-child:not(:last-child) { display:none; }
  .wordmark { font-size:24px; }
  .hero { min-height:min(77svh,670px); padding:105px 22px 75px; background-position:59% center; }
  .hero::before { background:linear-gradient(90deg,rgba(14,20,17,.87),rgba(14,20,17,.46)); }
  .hero h1 { font-size:54px; }
  .hero p { font-size:18px; }
  .intro-body h2,.visual-copy h2,.closing-band h2 { font-size:38px; }
  .policy-content h1,.support-main h1 { font-size:44px; }
  .support-email { font-size:18px; }
  .hero-caption { display:none; }
  .intro-band { display:block; padding:65px 22px 46px; }
  .intro-body { margin-top:20px; }
  .feature-band { display:block; padding:0 22px 65px; }
  .feature-line { grid-template-columns:42px 1fr; }
  .visual-band { padding:66px 22px 76px; }
  .visual-band img { min-height:210px; object-position:center; }
  .closing-band { padding:78px 22px 92px; }
  .document-wrap,.support-main { padding:46px 22px 80px; }
  .site-footer { padding:27px 22px; }
}
