/* Groundwork DS3: interface-only roles. The original scenes own --paper, --ink,
   lighting, camera, geometry and their after-hours palette. */
@font-face{font-family:Figtree;src:url('/system/figtree-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
html.gw-ds3{
  --gw-font:Figtree,system-ui,sans-serif;--gw-radius:8px;--gw-radius-card:12px;
  --gw-gutter:40px;--gw-container:1360px;--gw-measure:680px;
  --gw-h1:clamp(32px,3.6vw,52px);--gw-h2:clamp(24px,2vw,32px);
  --gw-body:17px;--gw-ui:16px;--gw-meta:14px;
  --pd-font-instrument:var(--gw-font);--pd-font-display:var(--gw-font);--pd-font-body:var(--gw-font);
  background:var(--gw-paper);color:var(--gw-ink);
}
body[data-gw-ds3]{margin:0;font-family:var(--gw-font);font-size:16px;line-height:1.5;background:var(--gw-paper);color:var(--gw-ink);font-variant-numeric:tabular-nums}
body[data-gw-ds3] :where(button,input,select,textarea){font-family:var(--gw-font)}
body[data-gw-ds3] :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--gw-focus);outline-offset:3px}
body[data-gw-ds3] [hidden]{display:none!important}
body[data-gw-ds3] :where(h1,h2,h3){font-family:var(--gw-font);font-weight:750;letter-spacing:-.035em;line-height:1.15}
body[data-gw-ds3] :where(a){text-underline-offset:3px}
body[data-gw-ds3] :where(button,summary){cursor:pointer}
body[data-gw-ds3] :where(button:disabled){cursor:default}

/* A real search, a compact menu, and the same destinations on every page. */
body[data-gw-ds3] .gw-ds3-mast{display:block;position:relative;z-index:20;width:100%;max-width:none;min-height:0;margin:0;padding:0;background:var(--gw-paper);color:var(--gw-ink);border-bottom:1px solid var(--gw-rule);font:400 16px/1.5 var(--gw-font)}
.gw-ds3-mast .gw-ds3-mast-inner{width:min(1440px,100%);margin:auto;min-height:80px;padding:12px var(--gw-gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;box-sizing:border-box}
.gw-ds3-mast .gw-brand{justify-self:start;display:flex;align-items:center;gap:9px;min-height:44px;color:var(--gw-ink);text-decoration:none}
.gw-ds3-mast .gw-mark{width:26px;height:26px;fill:none;stroke:var(--gw-signal);stroke-width:1.6}
.gw-ds3-mast .gw-wordmark{font:800 19px/1.15 var(--gw-font);letter-spacing:-.05em}
.gw-ds3-mast .gw-dot{color:var(--gw-signal)}
.gw-ds3-mast .gw-ds3-actions{grid-column:3;display:flex;align-items:center;gap:22px;justify-self:end}
.gw-ds3-mast .gw-ds3-saved{display:flex;align-items:center;gap:7px;min-height:44px;color:var(--gw-ink);font-size:14px;font-weight:650;text-decoration:none}
.gw-ds3-mast .gw-ds3-saved svg{width:19px;height:19px}
.gw-ds3-mast .gw-ds3-mini-search{display:flex;align-items:center;gap:12px;min-height:46px;padding:4px 5px 4px 18px;border:1px solid var(--gw-rule-strong);border-radius:40px;box-shadow:0 2px 8px color-mix(in srgb,var(--gw-ink) 7%,transparent);color:var(--gw-ink);text-decoration:none;font-size:14px}
.gw-ds3-mini-search strong{font-weight:650}
.gw-ds3-mini-search>span{border-left:1px solid var(--gw-rule-strong);padding-left:12px;color:var(--gw-muted)}
.gw-ds3-mini-search i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gw-action);color:var(--gw-paper)}
.gw-ds3-mini-search svg{width:17px;height:17px}
.gw-ds3-mast .gw-ds3-menu{position:relative;display:block;margin:0;padding:0;border:0;background:var(--gw-paper)}
.gw-ds3-mast .gw-ds3-menu>summary{display:grid;place-items:center;list-style:none;width:46px;height:44px;min-width:0;padding:0;border:1px solid var(--gw-rule-strong);border-radius:40px;color:var(--gw-ink)}
.gw-ds3-menu>summary::-webkit-details-marker{display:none}
.gw-ds3-mast .gw-ds3-menu>summary::after{content:none}
.gw-ds3-mast .gw-ds3-menu>summary svg{width:20px;height:20px;transform:none}
.gw-ds3-mast .gw-ds3-menu[open]>summary{background:var(--gw-card)}
.gw-ds3-mast .gw-ds3-menu-panel{position:absolute;top:52px;right:0;display:grid;gap:0;min-width:240px;max-width:calc(100vw - 40px);padding:8px;background:var(--gw-paper);border:1px solid var(--gw-rule-strong);border-radius:12px;box-shadow:0 8px 28px color-mix(in srgb,var(--gw-ink) 12%,transparent);z-index:30}
.gw-ds3-mast .gw-ds3-menu-panel a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:var(--gw-ink);text-decoration:none;font-size:15px;font-weight:500}
.gw-ds3-mast .gw-ds3-menu-panel a::after{content:none}
.gw-ds3-mast .gw-ds3-menu-panel a:hover{background:var(--gw-card)}
.gw-ds3-mast .gw-ds3-categories{display:flex;justify-content:center;align-items:stretch;gap:36px;min-height:78px;padding:0 var(--gw-gutter);overflow-x:auto;scrollbar-width:thin;background:var(--gw-paper)}
.gw-ds3-mast .gw-ds3-categories a{display:grid;justify-items:center;align-content:center;gap:5px;flex:none;min-height:64px;padding:4px 0 8px;border-bottom:2px solid transparent;color:var(--gw-muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}
.gw-ds3-mast .gw-ds3-categories a svg{width:21px;height:21px}
.gw-ds3-mast .gw-ds3-categories a::after{content:none}
.gw-ds3-mast .gw-ds3-categories a[aria-current=page],.gw-ds3-mast .gw-ds3-categories a:hover{color:var(--gw-ink);border-color:var(--gw-ink)}
.gw-ds3-search{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:center;box-sizing:border-box;gap:0;width:min(860px,calc(100% - var(--gw-gutter)*2));min-height:72px;margin:18px auto 0;padding:5px;background:var(--gw-paper);border:1px solid var(--gw-rule-strong);border-radius:60px;box-shadow:0 3px 12px color-mix(in srgb,var(--gw-ink) 7%,transparent),0 1px 2px color-mix(in srgb,var(--gw-ink) 5%,transparent)}
.gw-ds3-search label{display:grid;gap:1px;min-width:0;padding:5px 20px;font-size:12px;font-weight:750}
.gw-ds3-search label+label{border-left:1px solid var(--gw-rule-strong)}
.gw-ds3-search :is(input,select){box-sizing:border-box;width:100%;min-width:0;min-height:30px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--gw-ink);font:400 16px/1.5 var(--gw-font)}
.gw-ds3-search input::placeholder{color:var(--gw-muted);opacity:1}
.gw-ds3-search button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 22px;border:0;border-radius:40px;background:var(--gw-action);color:var(--gw-paper);font:700 16px/1 var(--gw-font)}
.gw-ds3-search button:hover{background:var(--gw-action-hover)}
.gw-ds3-search button svg{width:21px;height:21px}

/* Keep the miniature as the subject; the surrounding composition follows DS3. */
body[data-gw-ds3=home] .homepage-hero{box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px 48px;min-height:0;max-width:1440px;margin:auto;padding:48px var(--gw-gutter) 32px;background:var(--gw-paper);color:var(--gw-ink)}
body[data-gw-ds3=home] .home-hero-copy{max-width:620px}
body[data-gw-ds3=home] .home-hero-copy h1{margin:0 0 24px;font-size:clamp(34px,3.6vw,52px);font-weight:800;line-height:1.07;letter-spacing:-.05em;text-wrap:balance}
body[data-gw-ds3=home] .home-hero-copy>p{max-width:43ch;font-size:18px;line-height:1.5;color:var(--gw-muted)}
body[data-gw-ds3=home] .home-actions{margin-top:24px}
body[data-gw-ds3=home] .home-primary{min-height:48px;border-radius:8px;background:var(--gw-action);color:var(--gw-paper);font-weight:700}
body[data-gw-ds3=home] .home-hero-art{grid-column:2;grid-row:1;min-width:0;border-radius:16px;background:var(--gw-card);overflow:hidden}
body[data-gw-ds3=home] .home-hero-art img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
body[data-gw-ds3=home] .home-entry{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin:0}
body[data-gw-ds3=home] .home-entry>a{padding:16px 0 0;border-color:var(--gw-rule-strong)}
body[data-gw-ds3=home] .home-entry-title{font-size:16px;font-weight:700}
body[data-gw-ds3=home] .home-entry-note{font-size:14px;color:var(--gw-muted);line-height:1.5}
body[data-gw-ds3=home] .home-scene-link{position:static;grid-column:1/-1;grid-row:3;justify-self:start;margin:0;min-height:44px}
body[data-gw-ds3=home] :is(.home-places,.homepage-tools,.homepage-worlds,.homepage-figures){box-sizing:border-box;width:100%;max-width:1440px;margin:auto;padding:48px var(--gw-gutter);background:var(--gw-paper);color:var(--gw-ink)}
body[data-gw-ds3=home] :is(.gw-section-head,.home-section-heading){margin-bottom:24px}
body[data-gw-ds3=home] :is(.gw-section-head h2,.home-section-heading h2){font-size:28px;font-weight:750;letter-spacing:-.035em}
body[data-gw-ds3=home] .home-places-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
body[data-gw-ds3=home] .gw-card{min-width:0;background:var(--gw-paper);border:0;border-radius:0;overflow:visible}
body[data-gw-ds3=home] .gw-card-art{border-radius:12px;overflow:hidden;background:var(--gw-card);aspect-ratio:1.2}
body[data-gw-ds3=home] .gw-card-art img{width:100%;height:100%;object-fit:contain}
body[data-gw-ds3=home] .gw-card-body{padding:16px 0;display:grid;gap:12px}
body[data-gw-ds3=home] .gw-card-title{color:var(--gw-ink);font-weight:750;font-size:18px;text-decoration:none}
body[data-gw-ds3=home] .gw-card-sub{color:var(--gw-muted);font-size:15px}
body[data-gw-ds3=home] .gw-price strong{font-size:19px;font-weight:750}
body[data-gw-ds3=home] .gw-price small{font-size:14px;font-weight:400}
body[data-gw-ds3=home] .home-task-copy h3{font-size:32px;font-weight:750}
body[data-gw-ds3=home] .home-task-tabs>a[aria-selected=true]{border-color:var(--gw-ink)}
body[data-gw-ds3=home] .home-world-list a{border-radius:12px}
body[data-gw-ds3] .gw-site-footer{background:var(--gw-card);border-top:1px solid var(--gw-rule);color:var(--gw-ink)}
body[data-gw-ds3] .gw-site-footer .gw-footer-inner{max-width:1440px;margin:auto;padding-inline:var(--gw-gutter)}

@media(max-width:900px){
  html.gw-ds3{--gw-gutter:24px}
  .gw-ds3-mast .gw-ds3-categories{justify-content:flex-start;gap:28px}
  body[data-gw-ds3=home] .homepage-hero{gap:24px;padding-top:32px}
  body[data-gw-ds3=home] .home-entry{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-gw-ds3=home] .home-places-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  html.gw-ds3{--gw-gutter:20px}
  .gw-ds3-mast .gw-ds3-mast-inner{min-height:72px;grid-template-columns:1fr auto;gap:10px;padding-block:10px}
  .gw-ds3-mast .gw-wordmark{font-size:17px}
  .gw-ds3-mast .gw-ds3-actions{grid-column:2;gap:14px}
  .gw-ds3-mast .gw-ds3-mini-search{display:none}
  .gw-ds3-mast .gw-ds3-categories{gap:26px;min-height:68px;padding-inline:20px}
  .gw-ds3-mast .gw-ds3-categories a{min-height:60px;font-size:12px}
  .gw-ds3-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;gap:0;width:calc(100% - 40px);margin:8px 20px 12px;padding:8px;border-radius:24px}
  .gw-ds3-search label{padding:6px 10px}
  .gw-ds3-search label:first-child{grid-column:1/-1;border-bottom:1px solid var(--gw-rule);padding-bottom:10px}
  .gw-ds3-search label:nth-child(2){grid-column:1;grid-row:2;border-left:0}
  .gw-ds3-search label:nth-child(3){grid-column:2;grid-row:2}
  .gw-ds3-search button{grid-column:3;grid-row:2;min-height:44px;padding:0;margin:4px 0}
  .gw-ds3-search button span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
  body[data-gw-ds3=home] .homepage-hero{grid-template-columns:1fr;padding:32px 20px 24px;gap:28px}
  body[data-gw-ds3=home] .home-hero-copy h1{font-size:36px;line-height:1.09;margin-bottom:18px}
  body[data-gw-ds3=home] .home-hero-copy>p{font-size:17px;line-height:1.55}
  body[data-gw-ds3=home] .home-hero-art{grid-column:1;grid-row:2}
  body[data-gw-ds3=home] .home-entry{grid-row:3;grid-template-columns:1fr 1fr;gap:14px 20px}
  body[data-gw-ds3=home] .home-entry>a:last-child{grid-column:1/-1}
  body[data-gw-ds3=home] .home-scene-link{grid-row:4}
  body[data-gw-ds3=home] .home-entry-title{font-size:15px}
  body[data-gw-ds3=home] :is(.home-places,.homepage-tools,.homepage-worlds,.homepage-figures){padding:32px 20px}
  body[data-gw-ds3=home] .home-places-cards{grid-template-columns:1fr;gap:24px}
  body[data-gw-ds3=home] :is(.gw-section-head,.home-section-heading){display:grid;gap:12px}
  body[data-gw-ds3=home] :is(.gw-section-head h2,.home-section-heading h2){font-size:25px}
}
@media(prefers-reduced-motion:reduce){body[data-gw-ds3] .gw-ds3-mast *{scroll-behavior:auto;transition:none}}
