@font-face{font-family:Fredoka;src:url('fonts/fredoka-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{--ground:#e5edf1;--ink:#29454e;--quiet:#526870;--leaf:#729575;--font-display:Fredoka,sans-serif;--font-body:'DM Sans',sans-serif}
*{box-sizing:border-box}
html{background:var(--ground);scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
.page{width:min(1280px,100%);margin:auto;padding:36px 48px 0}
.masthead{display:flex;justify-content:space-between;align-items:center;min-height:45px}
.brand{display:inline-flex;align-items:center;gap:10px;transition:color .2s}
.brand svg{width:37px;height:40px}
.brand span{font-family:var(--font-display);font-size:27px;letter-spacing:-.6px;font-weight:500}
.brand:hover{color:#668368}
.header-note{font-size:14px;color:var(--quiet)}
.introduction{display:flex;align-items:flex-end;justify-content:space-between;padding-top:58px}
h1{font-family:var(--font-display);font-size:clamp(64px,7.6vw,108px);font-weight:500;line-height:1.01;letter-spacing:-3.8px;margin:0}
.intro-aside{width:240px;padding-bottom:9px;padding-left:24px}
.intro-aside p{font-size:16px;line-height:1.6;margin:0}
.intro-aside p+p{color:var(--quiet);margin-top:15px;font-size:14px}
.collection{padding-top:12px}
.companions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;column-gap:2px}
.companion{margin:0;min-width:0;text-align:center}
.robot{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:45%;position:relative;touch-action:manipulation}
.robot svg{display:block;width:100%;height:auto;overflow:visible;transition:filter .25s}
.robot:hover svg{filter:brightness(1.025)}
.robot:active svg{filter:brightness(.98)}
.robot:focus-visible{outline-offset:-12px}
figcaption{padding:0 3px}
h2{font-family:var(--font-display);font-size:25px;font-weight:500;letter-spacing:-.35px;line-height:1.25;margin:0 0 8px}
figcaption p{margin:0;color:var(--quiet);font-size:14px;line-height:1.55}
.collection-note{min-height:72px;display:flex;align-items:center;justify-content:center;gap:8px;padding-top:13px}
.collection-note p{font-size:12px;color:var(--quiet);margin:0;line-height:1.5}
.greeting-dot{width:5px;height:5px;border-radius:50%;background:var(--leaf);flex-shrink:0}
footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c5d3d8;margin-top:10px;padding:25px 0 27px;font-size:13px}
footer p{margin:0;color:var(--quiet)}
footer a{display:inline-flex;gap:10px;align-items:center;text-underline-offset:4px;transition:color .2s}
footer a:hover{color:#557b60;text-decoration:underline}
footer svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
@media(min-width:1500px){.page{padding-top:48px}.introduction{padding-top:70px}.collection{padding-top:30px}}
@media(max-width:900px){.page{padding:28px 28px 0}.introduction{padding-top:54px}h1{font-size:76px;letter-spacing:-2.7px}.intro-aside{width:205px;padding-left:16px}.intro-aside p{font-size:14px}.intro-aside p+p{font-size:13px}.collection{padding-top:34px}figcaption p{font-size:12px}h2{font-size:23px}}
@media(max-width:640px){.page{padding:23px 20px 0}.masthead{min-height:36px}.brand{gap:7px}.brand svg{width:29px;height:34px}.brand span{font-size:23px}.header-note{font-size:11px}.introduction{display:block;padding-top:44px}h1{font-size:clamp(53px,13.7vw,82px);line-height:1.04;letter-spacing:-1.8px}.intro-aside{padding:18px 0 0;width:auto}.intro-aside p{font-size:14px}.intro-aside p+p{display:none}.collection{padding-top:17px}.companions{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;column-gap:0}.robot{width:calc(100% + 8px);margin-left:-4px}.robot:focus-visible{outline-offset:-6px}h2{font-size:23px;margin-bottom:5px}figcaption{padding:0 2px}figcaption p{font-size:13px;line-height:1.55}.collection-note{min-height:70px;padding-top:12px}.collection-note p{font-size:12px}footer{font-size:11px;padding:22px 0 25px;margin-top:0;gap:12px}footer a{gap:6px}footer svg{width:15px;height:15px}}
@media(max-width:350px){.page{padding-inline:15px}.header-note{display:none}h1{font-size:49px}figcaption p{font-size:10px}footer{flex-direction:column;align-items:flex-start;gap:12px}}
