@font-face{font-family:"Unbounded";src:url(fonts/unbounded-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Unbounded";src:url(fonts/unbounded-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Atkinson";src:url(fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url(fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --snow:#F3F5F2;
  --ink:#1C2420;
  --pine:#1F3B2D;
  --pine-2:#2A4C3B;
  --chestnut:#8A4B2A;
  --chestnut-dk:#6E3A20;
  --berry:#B3263A;
  --gold:#E2A33B;
  --muted:#55625B;
  --display:"Unbounded",system-ui,sans-serif;
  --body:"Atkinson",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:min(1120px,100% - 32px);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--snow);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--gold);padding:8px 12px;z-index:9}

/* header */
.top{background:var(--pine);color:var(--snow)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px}
.brand{font:800 1.05rem/1 var(--display);letter-spacing:.01em;text-decoration:none;display:flex;align-items:center;gap:10px}
.brand svg{width:44px;height:auto}
.lang{display:flex;gap:4px;background:var(--pine-2);padding:4px;border-radius:999px}
.lang button{font:700 .85rem/1 var(--body);color:var(--snow);background:none;border:0;padding:8px 12px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--snow);color:var(--pine)}

/* hero */
.hero{background:var(--pine);color:var(--snow);padding-top:clamp(32px,7vw,88px);overflow:hidden}
.hero h1{font:800 clamp(2.1rem,6.4vw,5rem)/1.02 var(--display);letter-spacing:-.02em;margin:0;max-width:14ch}
.hero p.lead{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:46ch;margin:20px 0 0;color:#DCE5DF}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-block;font:700 1rem/1 var(--body);padding:16px 22px;border-radius:999px;text-decoration:none}
.btn-main{background:var(--gold);color:var(--ink)}
.btn-main:hover{background:#EDB656}
.btn-ghost{color:var(--snow);box-shadow:inset 0 0 0 2px #6F8A7C}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--snow)}

/* the long dog */
.dog{--h:clamp(110px,17vw,220px);display:flex;align-items:flex-end;height:var(--h);margin-top:clamp(28px,5vw,56px);padding-inline:max(16px,4vw)}
.dog svg{height:100%;width:auto;flex:none;display:block}
.torso{flex:1 1 auto;height:calc(var(--h)*.389 + 1px);margin:0 -1px calc(var(--h)*.222 - .5px);background:var(--chestnut);position:relative;transform-origin:left center}
.torso::before{ /* wire */
  content:"";position:absolute;left:0;right:0;top:18%;height:3px;background:#2B3A31;border-radius:2px}
.torso::after{ /* bulbs */
  content:"";position:absolute;left:0;right:0;top:18%;height:18px;
  background:
    radial-gradient(circle at 50% 50%,var(--gold) 0 5px,transparent 6px) 0 0/72px 18px repeat-x,
    radial-gradient(circle at 50% 50%,var(--berry) 0 5px,transparent 6px) 36px 0/72px 18px repeat-x;
  translate:0 -4px}
.ground{height:clamp(22px,3vw,34px);background:var(--snow);border-radius:24px 24px 0 0;margin-top:-2px}
@media (prefers-reduced-motion:no-preference){
  .torso{animation:stretch 1.4s cubic-bezier(.2,.8,.2,1) .2s both}
  .torso::after{animation:twinkle 2.4s steps(2) 1.8s infinite}
  @keyframes stretch{from{flex-grow:0;flex-basis:0}to{flex-grow:1}}
  @keyframes twinkle{50%{opacity:.55}}
}

/* sections */
section{padding-block:clamp(48px,8vw,96px)}
h2{font:800 clamp(1.6rem,3.6vw,2.6rem)/1.1 var(--display);letter-spacing:-.015em;margin:0 0 12px;max-width:22ch}
.intro{color:var(--muted);max-width:56ch;margin:0 0 36px}

.collections{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.collections li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:24px;align-items:start;padding:28px 0;border-bottom:1px solid #C9D1CC}
.collections h3{font:500 clamp(1.25rem,2.4vw,1.75rem)/1.15 var(--display);margin:0}
.collections p{margin:0;color:var(--muted)}
.collections a{font-weight:700;white-space:nowrap;text-underline-offset:4px}
.collections a:hover{color:var(--berry)}
.tag{display:inline-block;margin-top:10px;font-size:.85rem;font-weight:700;color:var(--berry)}

.deadline{background:var(--berry);color:#fff}
.deadline .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-block:28px}
.deadline p{margin:0;font:500 clamp(1.05rem,2vw,1.35rem)/1.35 var(--display);max-width:40ch}
.deadline .btn-main{flex:none}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;counter-reset:s}
.steps li{counter-increment:s;padding-top:16px;border-top:6px solid var(--chestnut)}
.steps li::before{content:counter(s);font:800 2.2rem/1 var(--display);color:var(--chestnut);display:block;margin-bottom:12px}
.steps h3{font:700 1.15rem/1.3 var(--body);margin:0 0 6px}
.steps p{margin:0;color:var(--muted)}

.about{background:#E4EAE5}
.about .wrap{max-width:720px}
.about p{margin:0 0 14px}

footer{background:var(--ink);color:#C9D1CC;padding-block:40px;font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px}
footer a{text-underline-offset:3px}

/* legal pages */
.legal{padding-block:48px}
.legal h1{font:800 clamp(1.8rem,4vw,2.6rem)/1.1 var(--display);margin:0 0 24px}
.legal h2{font:500 1.25rem/1.3 var(--display);margin:32px 0 8px}
.legal .wrap{max-width:760px}
.todo{background:#FFF2B3;padding:2px 4px;border-radius:3px}

@media (max-width:760px){
  .collections li{grid-template-columns:1fr;gap:8px}
  .steps{grid-template-columns:1fr;gap:28px}
  .dog{padding-inline:8px}
}
