@font-face{font-family:'DM Sans';src:url('assets/DMSans-variable.ttf') format('truetype');font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/DMSans-Italic-variable.ttf') format('truetype');font-weight:100 1000;font-style:italic;font-display:swap}
:root{--ink:#101E35;--ink-soft:#334762;--muted:#516279;--paper:#FFFFFF;--surface:#FFFFFF;--surface-2:#EAF6FC;--line:#DCE7EF;--wattle:#FFC94D;--accent:#81CBEA;--accent-dark:#235773;--radius:18px;--shadow:0 12px 30px #101e3508;--max:1160px}
body{font-family:'DM Sans',Arial,sans-serif;font-optical-sizing:auto;font-size:18px;line-height:1.65}.site-header{background:#ffffffed}.nav-wrap{height:104px}.approved-logo{width:126px;height:80px;object-fit:contain}.brand{padding:5px 0}.nav-links a{font-size:15px;font-weight:600}.menu-btn{font-weight:600}summary{font-weight:700}.nav-links a:hover,.nav-links a[aria-current=page]{background:var(--surface-2);box-shadow:none}
.hero{padding:76px 0 80px}.hero-grid{gap:70px;grid-template-columns:1.1fr .9fr}h1,.page-hero h1{font-size:clamp(40px,5.5vw,64px);font-weight:700;line-height:1.08;letter-spacing:-.04em}h1 em{color:var(--ink)}h2{font-size:clamp(30px,4vw,40px);line-height:1.15;font-weight:700;letter-spacing:-.03em}h3,.card h3{font-size:24px;line-height:1.25;font-weight:700}.lead{font-size:22px;line-height:1.5}.eyebrow{background:var(--surface-2);border-color:var(--line);color:var(--ink);font-weight:700}.kicker{color:var(--accent-dark);letter-spacing:.08em}.btn{font-size:15px;min-height:48px;border-radius:12px;font-weight:600}.btn-primary{background:var(--ink);color:white}.btn-secondary{background:white}.card{box-shadow:none;padding:28px}.card-icon{background:var(--surface-2);color:var(--ink)}.section{padding:80px 0}.section.alt{background:var(--surface-2);border:0}.studio-band{border-radius:20px;padding:40px}.studio-band .kicker{color:var(--wattle)}.studio-band h2{font-size:36px}.studio-band p{color:#e0edf4}
.glacier-art{background:var(--surface-2);border-radius:26px;padding:58px 38px;position:relative;min-height:410px;display:flex;flex-direction:column;justify-content:center}.logo-holding{background:white;border-radius:20px;padding:35px 22px;display:flex;justify-content:center}.logo-holding img{width:100%;max-width:300px}.glacier-art>p{font-size:22px;line-height:1.3;font-weight:700;margin:27px 0 0}.glacier-art:after{content:'';width:62px;height:8px;position:absolute;bottom:33px;right:32px;background:var(--wattle);border-radius:4px}.footer-wordmark{margin-bottom:12px}.footer-small,.footer-links a{font-size:13px}.badge{background:var(--surface-2);color:var(--ink)}.notice{background:var(--surface-2);color:var(--ink)}.game-art{background:var(--accent-dark)}.game-board i{background:#81cbea66}.contact-card .kicker{color:var(--wattle)}:focus-visible{outline:3px solid #235773;outline-offset:4px}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:40px}.glacier-art{max-width:540px;min-height:340px}.section{padding:56px 0}.nav-links{top:98px}.studio-band{padding:28px}.hero{padding:48px 0 56px}}
@media(max-width:560px){body{font-size:17px}.container{width:calc(100% - 40px)}.lead{font-size:19px}h1,.page-hero h1{font-size:40px}h2{font-size:30px}.card h3{font-size:22px}.nav-wrap{height:96px}.approved-logo{width:116px;height:74px}.glacier-art{padding:36px 24px}.studio-band h2{font-size:30px}.page-hero{padding-top:42px}.cards{gap:16px}.footer-links{gap:16px}}

/* Consistent controls and safe small-screen layouts. */
.nav-links a,.btn,.menu-btn,.footer-links a,.text-link,.badge{font-weight:600}
.hero-grid>*,.cards>*,.support-grid>*,.footer-grid>*{min-width:0}
.contact-card a{overflow-wrap:anywhere}
.site-header .nav-links{max-height:calc(100dvh - 120px);overflow-y:auto}
@media(min-width:861px){.site-header .nav-links{max-height:none;overflow:visible}}
@media(max-width:560px){.nav-links{top:90px}.prose h2{font-size:28px}.card.game-card{padding:0}}

/* Pathwink help and legal pages: retain Glacier and locally hosted DM Sans. */
.policy-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.policy-links a{font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.contents{margin:32px 0;padding:24px;background:white;border:1px solid var(--line);border-radius:16px}
.contents ul{columns:2;column-gap:32px;padding-left:22px;margin-bottom:0}
.contents li{break-inside:avoid;padding:4px 0}
.legal-prose{overflow-wrap:anywhere}.legal-prose h2{scroll-margin-top:130px}.legal-prose li{margin-bottom:8px}
.review-notice{background:white}.legal-prose>section{margin-bottom:40px}
@media(max-width:560px){.contents ul{columns:1}.contents{padding:20px}.policy-links{gap:8px 20px}}
@media print{.site-header,.site-footer,.contents,.policy-links{display:none}.section{padding:0}.legal-prose{max-width:none}.legal-prose h2{break-after:avoid}}
/* Prose links must not override the primary contact button contrast. */
.prose .btn-primary{color:#fff;font-weight:600}

/* Final editorial/layout review: clear hierarchy and balanced short pages. */
body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}
h1,h2,h3{text-wrap:balance}.kicker{font-weight:700}
.game-title{font-size:34px;margin-top:14px}.game-heading{font-size:36px}
.card.game-card{padding:0}.game-meta p{margin-top:14px}
#pathwink{scroll-margin-top:120px}
.contact-page .container,.policy-page .page-hero .container{max-width:820px}
.contact-page .page-hero{padding-bottom:24px}
.contact-page .section{padding-top:32px;padding-bottom:48px}
.contact-page .section p:first-child{margin-top:0}
.policy-page .page-hero h1{font-size:clamp(36px,4.5vw,52px)}
.policy-page .page-hero .lead{margin-bottom:16px}
.footer-links a{min-height:32px;display:inline-flex;align-items:center}
.menu-btn{min-height:44px;min-width:44px}
@media(max-width:560px){.game-title{font-size:30px}.game-heading{font-size:30px}.contact-page .page-hero h1{font-size:36px}.contact-page .page-hero{padding-top:32px}.contact-page .page-hero .lead{margin-bottom:16px}.policy-page .page-hero h1{font-size:36px}.policy-page .section{padding-top:32px}}
