:root{
  --cobalt:#1638d6;--cobalt-dark:#0f2896;--coral:#ff6b57;--coral-deep:#c9331f;--sun:#ffd43b;
  --ink:#16151b;--ink-soft:#4a4756;--white:#fff;--tint:#eef2ff;--butter:#fff5c7;--line:#dcdff0;
  --display:"Bricolage Grotesque","Trebuchet MS",system-ui,sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font:400 1.0625rem/1.65 var(--body);color:var(--ink);background:var(--white)}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);margin:0;line-height:1.05;letter-spacing:-.025em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px;border-radius:6px}
.on-light :focus-visible,.site-header :focus-visible,.section:not(.dark) :focus-visible{outline-color:var(--cobalt)}
.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;left:-999px;top:.5rem;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:200;border-radius:8px}
.skip:focus{left:.5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.65rem 1.5rem;border-radius:999px;border:2.5px solid var(--ink);background:transparent;color:var(--ink);font:700 1rem var(--body);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,color .15s,box-shadow .15s}
.btn:hover{transform:translateY(-3px);box-shadow:0 6px 0 rgba(22,21,27,.9)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn-coral{background:var(--coral);border-color:var(--ink);color:var(--ink)}
.btn-cobalt{background:var(--cobalt);border-color:var(--cobalt);color:#fff}
.btn-cobalt:hover{box-shadow:0 6px 0 var(--cobalt-dark)}
.btn-ghost-light{border-color:#fff;color:#fff}
.btn-ghost-light:hover{background:#fff;color:var(--cobalt);box-shadow:0 6px 0 rgba(0,0,0,.35)}
.btn-sm{min-height:2.6rem;padding:.4rem 1.2rem;font-size:.97rem}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.4rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;font:800 1.2rem/1 var(--display);letter-spacing:-.02em}
.logo-mark{width:2.4rem;height:2.4rem;flex:none}
.nav{display:flex;align-items:center;gap:1.6rem}
.nav a:not(.btn){text-decoration:none;font-weight:600;padding:.3rem 0;border-bottom:3px solid transparent}
.nav a:not(.btn):hover{border-color:var(--coral)}
.menu-btn{display:none;width:3rem;height:3rem;border:2.5px solid var(--ink);border-radius:14px;background:#fff;cursor:pointer;padding:0;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:1.3rem;height:3px;background:var(--ink);border-radius:2px;position:relative;transition:transform .2s,background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-7px}.menu-btn span::after{top:7px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .menu-btn{display:inline-flex}
  .nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:2px solid var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.25rem;display:none}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1.1rem}
  .nav .btn{margin-top:1rem}
}

/* hero */
.hero{background:var(--cobalt);color:#fff;position:relative;overflow:hidden;padding:clamp(3rem,7vw,6rem) 0 clamp(4rem,8vw,7rem)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.7rem);font-weight:800;margin-bottom:1.5rem}
.hero .lead{font-size:1.2rem;max-width:36rem;color:#e6ebff;margin-bottom:2rem}
.hero .tagline{display:inline-block;background:var(--sun);color:var(--ink);font-weight:700;padding:.35rem .9rem;border-radius:999px;margin-bottom:1.5rem;font-size:.98rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem}
.hero .btn-coral{box-shadow:0 5px 0 rgba(0,0,0,.35)}
.hero .btn-coral:hover{box-shadow:0 8px 0 rgba(0,0,0,.35)}
.hero-blob{position:absolute;border-radius:50%;pointer-events:none}
.hero-blob.a{width:28rem;height:28rem;background:var(--cobalt-dark);left:-12rem;bottom:-14rem}
.hero-blob.b{width:9rem;height:9rem;background:var(--sun);right:-3rem;top:-3rem}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* collage */
.collage{position:relative;aspect-ratio:1/1;width:min(100%,540px);margin-inline:auto}
.tile{position:absolute;border:3px solid var(--ink);border-radius:var(--r);background:#fff;color:var(--ink);box-shadow:8px 8px 0 var(--ink);overflow:hidden}
.t-browser{left:0;top:4%;width:76%;animation:float 7s ease-in-out infinite}
.t-browser .bar{height:1.7rem;background:var(--ink);display:flex;align-items:center;gap:.3rem;padding:0 .7rem}
.t-browser .bar i{width:.55rem;height:.55rem;border-radius:50%;background:var(--coral)}
.t-browser .bar i:nth-child(2){background:var(--sun)}.t-browser .bar i:nth-child(3){background:#fff}
.t-browser .body{padding:.9rem}
.t-browser .hero-mini{height:5.2rem;background:var(--coral);border-radius:12px;margin-bottom:.7rem;position:relative}
.t-browser .hero-mini::after{content:"";position:absolute;right:.8rem;top:.8rem;width:3rem;height:3rem;border-radius:50%;background:var(--sun);border:3px solid var(--ink)}
.t-browser .ln{height:.55rem;background:var(--line);border-radius:4px;margin-bottom:.45rem}
.t-browser .ln.s{width:60%}
.t-browser .pill{display:inline-block;height:1.5rem;width:5rem;background:var(--cobalt);border-radius:999px;margin-top:.3rem}
.t-chart{right:0;top:0;width:44%;background:var(--sun);padding:.8rem;animation:float 8s ease-in-out -2s infinite}
.t-chart .bars{display:flex;align-items:flex-end;gap:.35rem;height:5.5rem;border-bottom:3px solid var(--ink)}
.t-chart .bars b{flex:1;background:var(--ink);border-radius:5px 5px 0 0}
.t-chart small,.t-brand small,.t-social small{display:block;font-weight:700;font-size:.78rem;margin-top:.45rem}
.t-brand{left:6%;bottom:2%;width:40%;padding:.9rem;background:#fff;animation:float 9s ease-in-out -4s infinite}
.t-brand .aa{font:800 2.6rem/1 var(--display);color:var(--cobalt)}
.t-brand .sw{display:flex;gap:.3rem;margin-top:.5rem}
.t-brand .sw i{flex:1;height:1.4rem;border-radius:7px;border:2px solid var(--ink)}
.t-social{right:2%;bottom:6%;width:46%;padding:.7rem;background:var(--coral);animation:float 7.5s ease-in-out -1s infinite}
.t-social .post{aspect-ratio:1/1;background:var(--cobalt);border-radius:14px;border:3px solid var(--ink);position:relative;overflow:hidden}
.t-social .post::before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:var(--sun);left:-12%;bottom:-20%}
.t-social .post::after{content:"";position:absolute;width:38%;aspect-ratio:1;border-radius:50%;background:#fff;right:10%;top:10%;border:3px solid var(--ink)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* sections */
.section{padding:clamp(3.5rem,8vw,6.5rem) 0}
.section.tint{background:var(--tint)}
.section.butter{background:var(--butter)}
.section.dark{background:var(--ink);color:#fff}
.head{max-width:44rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.head h2{font-size:clamp(2rem,4.6vw,3.6rem);font-weight:800;margin-bottom:1rem}
.head p{font-size:1.15rem;color:var(--ink-soft)}
.dark .head p{color:#d8d6e2}

/* services */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.svc{border:3px solid var(--ink);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.2rem);box-shadow:8px 8px 0 var(--ink);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.svc:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 var(--ink)}
.svc .ico{width:3.6rem;height:3.6rem;border-radius:50%;border:3px solid var(--ink);background:#fff;display:grid;place-items:center;margin-bottom:1.1rem}
.svc .ico svg{width:1.8rem;height:1.8rem}
.svc h3{font-size:1.8rem;font-weight:800;margin-bottom:.6rem}
.svc>p{margin-bottom:1.1rem}
.svc ul{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.2rem;margin-top:auto}
.svc li{padding-left:1.4rem;position:relative;font-size:.98rem}
.svc li::before{content:"";position:absolute;left:0;top:.55em;width:.6rem;height:.6rem;border-radius:50%;background:var(--ink)}
.svc.web{background:var(--cobalt);color:#fff;border-color:var(--ink)}
.svc.web li::before{background:var(--sun)}
.svc.brand{background:var(--coral)}
.svc.data{background:var(--sun)}
.svc.social{background:#fff}
.svc.social li::before{background:var(--coral)}
.svc.plain{background:var(--sun)}
@media(max-width:860px){.services{grid-template-columns:1fr}.svc ul{grid-template-columns:1fr}}

/* packages */
.packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}
.pkg{background:#fff;border:3px solid var(--ink);border-radius:var(--r);padding:2rem;display:flex;flex-direction:column;position:relative}
.pkg.featured{background:var(--cobalt);color:#fff;transform:translateY(-.8rem);box-shadow:8px 8px 0 var(--ink)}
.pkg .flag{position:absolute;top:-1rem;right:1.2rem;background:var(--sun);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:.15rem .8rem;font-weight:700;font-size:.9rem}
.pkg h3{font-size:1.7rem;font-weight:800;margin-bottom:.5rem}
.pkg .price{font-family:var(--display);font-size:2.4rem;font-weight:800;line-height:1;margin-bottom:.8rem}
.pkg .price span{display:block;font-family:var(--body);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;color:var(--ink-soft)}
.pkg.featured .price span{color:#dfe5ff}
.pkg .for{color:var(--ink-soft);margin-bottom:1.3rem}
.pkg.featured .for{color:#dfe5ff}
.pkg ul{display:grid;gap:.6rem;margin-bottom:1.8rem}
.pkg li{padding-left:1.7rem;position:relative}
.pkg li::before{content:"";position:absolute;left:0;top:.35em;width:1rem;height:1rem;border-radius:50%;background:var(--coral);border:2px solid var(--ink)}
.pkg .btn{margin-top:auto}
.pkg.featured .btn{background:var(--sun);border-color:var(--ink);color:var(--ink)}
.pkg-note{margin-top:2rem;font-size:1.1rem;max-width:44rem}
.web-special{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.7rem 2rem;margin:0 0 2.4rem;border:3px solid var(--ink);border-radius:var(--r);background:#fff;box-shadow:7px 7px 0 var(--sun)}
.web-special h3{font-size:2rem;line-height:1.1;margin:.35rem 0}.web-special p{max-width:42rem;margin:.6rem 0}.web-special small{display:block;max-width:43rem;line-height:1.5;color:var(--ink-soft)}.web-special .btn{flex:none}
.care-plan{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.4rem;padding:1.7rem 2rem;border:3px solid var(--ink);border-radius:var(--r);background:var(--butter);box-shadow:7px 7px 0 var(--cobalt)}
.care-plan .cat{background:var(--sun);border:2px solid var(--ink);border-radius:999px;padding:.1rem .75rem;font-weight:700;font-size:.85rem}
.care-plan h3{font-size:1.8rem;line-height:1.1;margin:.7rem 0 .4rem}.care-plan .care-price{display:inline-block;font-size:1.1rem;color:var(--cobalt);white-space:nowrap}
.care-plan p{max-width:42rem;margin:0}.care-plan .btn{flex:none}
@media(max-width:700px){.care-plan{align-items:flex-start;flex-direction:column}.care-plan .btn{width:100%;text-align:center}}
.dashboard-work{margin-top:2rem;padding:2rem;border:3px solid var(--ink);border-radius:var(--r);background:#f3f5ff}.dashboard-work h3{font-size:1.8rem;margin:.5rem 0}.dashboard-work p{max-width:45rem;margin-bottom:1rem}
@media(max-width:700px){.web-special{align-items:flex-start;flex-direction:column}.web-special .btn{width:100%;text-align:center}}
@media(max-width:960px){.packages{grid-template-columns:1fr}.pkg.featured{transform:none}}

/* portfolio */
.featured-projects{display:grid;gap:2rem}
.project{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);border:3px solid var(--ink);border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:10px 10px 0 var(--ink)}
.project-cover{min-height:28rem;border-right:3px solid var(--ink);padding:1.4rem;background:var(--tint);display:flex;flex-direction:column}
.browser-bar{height:2.5rem;border:3px solid var(--ink);border-bottom:0;border-radius:14px 14px 0 0;background:#fff;display:flex;align-items:center;gap:.4rem;padding:0 .8rem}
.browser-bar i{width:.65rem;height:.65rem;border-radius:50%;background:var(--coral);border:1.5px solid var(--ink)}
.browser-bar i:nth-child(2){background:var(--sun)}.browser-bar i:nth-child(3){background:#a7baff}
.browser-bar span{margin-left:.5rem;font-size:.78rem;font-weight:700;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-art{flex:1;border:3px solid var(--ink);padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.project-art::before,.project-art::after{content:"";position:absolute;border:3px solid var(--ink);border-radius:50%}
.project-art::before{width:13rem;height:13rem;right:-4rem;top:-5rem}.project-art::after{width:5rem;height:5rem;right:2rem;top:5rem;background:#fff}
.eventfully .project-art{background:var(--coral)}.eventfully .project-art::before{background:var(--sun)}
.pristine .project-art{background:var(--ink);color:#fff}.pristine .project-art::before{background:var(--cobalt);border-color:#fff}.pristine .project-art::after{background:var(--coral);border-color:#fff}
.project-kicker{position:relative;z-index:1;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-bottom:.7rem}
.project-art strong{position:relative;z-index:1;font:800 clamp(2.4rem,5vw,4.5rem)/.9 var(--display);letter-spacing:-.05em}
.project-detail{position:relative;z-index:1;margin-top:1rem;font-weight:700}
.project-copy{padding:clamp(1.6rem,4vw,3rem);display:flex;flex-direction:column;align-items:flex-start}
.project .cat{background:var(--sun);border:2px solid var(--ink);border-radius:999px;padding:.1rem .75rem;font-weight:700;font-size:.85rem;margin-bottom:1rem}
.project h3{font-size:clamp(1.9rem,3vw,2.7rem);font-weight:800;margin-bottom:.8rem}
.project-copy>p{color:var(--ink-soft)}
.project-goals{display:grid;gap:.45rem;margin:1.3rem 0 1.6rem}
.project-goals li{padding-left:1.4rem;position:relative}
.project-goals li::before{content:"";position:absolute;left:0;top:.55em;width:.6rem;height:.6rem;border-radius:50%;background:var(--coral)}
.project-link{margin-top:auto;font-weight:800;text-decoration-thickness:2px;text-underline-offset:5px;color:var(--cobalt)}
.project-link span{display:inline-block;margin-left:.25rem;transition:transform .15s}.project-link:hover span{transform:translate(3px,-3px)}
@media(max-width:860px){.project{grid-template-columns:1fr}.project-cover{border-right:0;border-bottom:3px solid var(--ink);min-height:23rem}}
@media(max-width:520px){.project-cover{padding:.7rem;min-height:19rem}.project-art{padding:1.3rem}.project-art strong{font-size:2.6rem}.project-art::before{width:9rem;height:9rem}.project-art::after{width:3.5rem;height:3.5rem;right:1rem;top:3.5rem}}

/* testimonials */
.testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.quote{margin:0;background:#fff;border:3px solid var(--ink);border-radius:var(--r);padding:1.8rem;box-shadow:7px 7px 0 var(--ink);display:flex;flex-direction:column;gap:1.2rem}
.quote blockquote{margin:0;font-size:1.08rem}
.quote figcaption{margin-top:auto;display:grid;border-top:3px solid var(--sun);padding-top:.8rem}
.quote figcaption span{color:var(--ink-soft);font-size:.95rem}
@media(max-width:960px){.testimonials{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;gap:1rem;max-width:52rem}
.faq details{background:#fff;border:3px solid var(--ink);border-radius:var(--r);padding:0 1.4rem}
.faq details[open]{box-shadow:6px 6px 0 var(--ink)}
.faq summary{cursor:pointer;list-style:none;font:800 1.2rem/1.3 var(--display);padding:1.1rem 2rem 1.1rem 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1.8rem;height:1.8rem;border-radius:50%;background:var(--sun);border:2px solid var(--ink);display:grid;place-items:center;font-size:1.2rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq summary:focus-visible{outline:3px solid var(--cobalt);outline-offset:4px;border-radius:8px}
.faq details p{padding-bottom:1.2rem;color:var(--ink-soft)}

/* about */
.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.photo{position:relative;max-width:26rem;margin-inline:auto;width:100%}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:3px solid var(--ink);border-radius:var(--r);box-shadow:10px 10px 0 var(--ink);background:#fff;position:relative;z-index:1}
.photo::before{content:"";position:absolute;width:9rem;height:9rem;border-radius:50%;background:var(--coral);right:-2rem;top:-2rem;border:3px solid var(--ink)}
.about h2{font-size:clamp(2rem,4.2vw,3.2rem);font-weight:800;margin-bottom:1.5rem}
.about p+p{margin-top:1.1rem}
@media(max-width:860px){.about{grid-template-columns:1fr}}

/* process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;counter-reset:s}
.step{border:3px solid #fff;border-radius:var(--r);padding:1.6rem;position:relative}
.step .n{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;font:800 1.4rem var(--display);color:var(--ink);margin-bottom:1rem}
.step:nth-child(1) .n{background:var(--sun)}.step:nth-child(2) .n{background:var(--coral)}.step:nth-child(3) .n{background:#fff}.step:nth-child(4) .n{background:#9db3ff}
.step h3{font-size:1.4rem;font-weight:800;margin-bottom:.6rem}
.step p{color:#d8d6e2;font-size:1rem}
@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}

/* why */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem}
.why li{border:3px solid var(--ink);border-radius:var(--r);padding:1.4rem;background:#fff}
.why li:nth-child(4n+1){background:var(--butter)}.why li:nth-child(4n+3){background:var(--tint)}
.why h3{font-size:1.25rem;font-weight:800;margin-bottom:.4rem}
.why p{font-size:.98rem;color:var(--ink-soft)}

/* contact */
.contact{background:var(--cobalt);color:#fff}
.contact .wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.contact h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;margin-bottom:1.2rem}
.contact .intro{color:#e6ebff;margin-bottom:2rem;font-size:1.1rem}
.info{display:grid;gap:1rem}
.info div{border-left:5px solid var(--sun);padding-left:1rem}
.info dt{font-weight:700;color:var(--sun)}
.info dd{margin:0}
.info a{font-weight:600}
form{background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:var(--r);padding:clamp(1.3rem,3vw,2.2rem);box-shadow:10px 10px 0 var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.2rem}
.f{display:grid;gap:.35rem}
.f.full{grid-column:1/-1}
label{font-weight:700;font-size:.97rem}
.req{color:var(--coral-deep)}
input,select,textarea{font:400 1rem var(--body);color:var(--ink);background:#fff;border:2.5px solid var(--ink);border-radius:12px;padding:.7rem .85rem;width:100%;min-height:3rem}
textarea{min-height:8rem;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}
.hp{position:absolute;left:-9999px}
.form-note{font-size:.9rem;color:var(--ink-soft)}
@media(max-width:900px){.contact .wrap{grid-template-columns:1fr}}
@media(max-width:560px){form{grid-template-columns:1fr}}

/* footer */
.footer{background:var(--ink);color:#fff;padding:3.5rem 0 2rem}
.footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:2rem;margin-bottom:2.5rem}
.footer h3{font-size:1.05rem;margin-bottom:.8rem;color:var(--sun)}
.footer li{margin-bottom:.4rem}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline}
.footer .tag{color:#d8d6e2;margin-top:.6rem;max-width:20rem}
.legal{border-top:1px solid #3a3844;padding-top:1.4rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:.93rem;color:#c8c5d6}
@media(max-width:900px){.footer .cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer .cols{grid-template-columns:1fr}}

/* simple pages */
.page{min-height:70vh;display:grid;place-items:center;padding:4rem 0;background:var(--butter)}
.page .box{background:#fff;border:3px solid var(--ink);border-radius:var(--r);box-shadow:10px 10px 0 var(--ink);padding:clamp(1.6rem,4vw,3rem);max-width:44rem}
.page h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;margin-bottom:1rem}
.page p{margin-bottom:1rem}
.page h2{font-size:1.4rem;margin:1.6rem 0 .5rem}
