@font-face{font-family:Fredoka;font-weight:300 700;font-display:swap;src:url(fonts/fredoka.ttf) format("truetype")}
@font-face{font-family:Nunito;font-weight:200 1000;font-display:swap;src:url(fonts/nunito.ttf) format("truetype")}
/* Loftspace "Sunny" theme tokens, from the member app (loftspace/src/main/webapp/m/m.css) */
:root{--bg:#fff8ec;--ink:#3a2a1a;--muted:#a58a6c;--title:#ff6b5a;--card:#fff;--line:#f1dcc0;--blue:#4cb8f5;--coral:#ff6b5a;--coral-d:#d94b3b;--sun:#ffc93c;--sun-d:#e0a500;--mint:#5cc8a8;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:500 17px/1.6 Nunito,system-ui,sans-serif;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{width:min(1140px,calc(100% - 48px));margin-inline:auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:20px;height:84px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 26px/1 Fredoka,Nunito,sans-serif;color:var(--title)}
.logo img{width:40px;height:40px;border-radius:12px}
.top nav{display:flex;gap:26px;font-weight:700;font-size:15px}
.top nav a{text-decoration:none;color:var(--muted)}
.top nav a:hover{color:var(--coral)}
.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:center;padding:40px 0 72px}
.chip{display:inline-block;background:var(--sun);color:#5a3d00;font-weight:800;font-size:14px;padding:7px 14px;border-radius:999px}
h1{font:600 clamp(44px,5.6vw,72px)/1.02 Fredoka,Nunito,sans-serif;margin-top:20px;letter-spacing:-.01em}
h1 span{color:var(--coral)}
.lede{margin-top:20px;font-size:19px;color:#6b5540;max-width:480px}
.btn{display:inline-block;margin-top:30px;background:var(--coral);color:#fff;font:600 19px/1 Fredoka,sans-serif;text-decoration:none;padding:17px 28px;border-radius:18px;box-shadow:0 4px 0 var(--coral-d);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--coral-d)}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--coral-d)}
.art img{width:100%;border-radius:32px;box-shadow:0 4px 0 var(--line),0 30px 50px -30px rgba(90,60,20,.45)}
h2{font:600 clamp(32px,3.6vw,46px)/1.1 Fredoka,Nunito,sans-serif;text-align:center}
.inside{padding:40px 0 20px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.grid article{background:var(--card);border-radius:26px;padding:28px 26px 30px;box-shadow:0 3px 0 var(--line)}
.ic{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;margin-bottom:18px}
.ic svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c1{background:var(--blue);box-shadow:0 3px 0 #2b97d6}.c2{background:var(--coral);box-shadow:0 3px 0 var(--coral-d)}.c3{background:var(--sun);box-shadow:0 3px 0 var(--sun-d)}
.grid h3{font:600 23px/1.2 Fredoka,sans-serif;margin-bottom:8px}
.grid p{color:#6b5540;font-size:16px}
.safe{padding:72px 0 0}
.safe-card{background:#fff3d6;border-radius:34px;padding:44px 48px;box-shadow:0 4px 0 var(--line)}
.safe-card h2{text-align:left}
.safe ul{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px}
.safe li{position:relative;padding-left:34px;color:#6b5540;font-size:16px}
.safe li:before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--mint);box-shadow:inset 0 0 0 5px #d8f4ea}
.safe b{color:var(--ink)}
.join{padding:80px 0 10px;text-align:center}
.join p{max-width:600px;margin:18px auto 0;font-size:18px;color:#6b5540}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:72px;padding:26px 0 40px;border-top:2px solid var(--line);font-size:14px;color:var(--muted);font-weight:700}
.foot a{color:var(--coral);text-decoration:none}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:34px;padding-top:20px}.grid{grid-template-columns:1fr}.safe ul{grid-template-columns:1fr}.safe-card{padding:34px 26px}}
@media (max-width:520px){.top nav{display:none}.wrap{width:calc(100% - 32px)}}
