*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0}img,svg,video{max-width:100%}img{height:auto}
.csl-contact{display:grid;gap:.2rem}.csl-contact>p{margin:.35rem 0}.csl-contact>p>span:first-child{display:inline-block;min-width:5.5rem;font-size:.78em;letter-spacing:.1em;text-transform:uppercase;opacity:.7}.csl-contact a{color:inherit}
.csl-contact .social{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 0}.csl-contact .social a{padding:.3rem .8rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:999px;text-decoration:none;font-size:.9em}
.cform{display:grid;gap:.8rem;margin-top:1.2rem;max-width:34rem}.cform h3{margin:0}.cform label{display:grid;gap:.3rem;font-size:.92em}
.cform input:not([type=hidden]),.cform textarea{font:inherit;color:inherit;padding:.7rem .85rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:10px;background:color-mix(in srgb,currentColor 6%,transparent)}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--accent,currentColor);outline-offset:1px}.cform .hpot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform button{font:inherit;font-weight:700;cursor:pointer;padding:.8rem 1.3rem;border:0;border-radius:999px;background:var(--accent,#111);color:var(--on-accent,#fff);justify-self:start}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.csl-wrap{max-width:46rem;margin:0 auto;padding:clamp(2rem,6vw,4rem) 1.2rem}.csl-wrap h1{margin:0 0 1rem}.csl-date{opacity:.65;font-size:.9em;margin:0 0 .5rem}
.csl-prose p{line-height:1.7;margin:0 0 1.1em}.csl-back{margin-top:2rem}.csl-back a{color:inherit}
.csl-posts{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.csl-post{display:grid;gap:.35rem;padding:1.1rem 1.2rem;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:14px;color:inherit;text-decoration:none;transition:transform .2s,border-color .2s}
.csl-post:hover{transform:translateY(-2px);border-color:var(--accent,currentColor)}.csl-post small{opacity:.65}.csl-post strong{font-size:1.1em}.csl-post span{opacity:.85}
.csl-allposts{display:inline-block;margin-top:1rem;color:inherit;font-weight:600}
.csl-dls{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.csl-dl{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:14px;color:inherit;text-decoration:none;transition:transform .2s,border-color .2s}
.csl-dl:hover{transform:translateY(-2px);border-color:var(--accent,currentColor)}.csl-dl svg{width:2.1rem;height:2.1rem;flex:none;color:var(--accent,currentColor)}.csl-dl span{display:grid;gap:.1rem;min-width:0}.csl-dl strong{overflow-wrap:anywhere}.csl-dl small{opacity:.7}
.csl-bas{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}
.csl-ba{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:color-mix(in srgb,currentColor 8%,transparent);box-shadow:0 14px 34px rgba(0,0,0,.18);touch-action:pan-y;--pos:50%}
.csl-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.csl-ba .aa{clip-path:inset(0 0 0 var(--pos))}
.csl-ba .bar{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.4);pointer-events:none}
.csl-ba .bar::after{content:"";position:absolute;top:50%;left:50%;width:2.2rem;height:2.2rem;margin:-1.1rem;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.csl-ba .tg{position:absolute;top:.6rem;padding:.15rem .6rem;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.csl-ba .tb{left:.6rem}.csl-ba .ta{right:.6rem}.csl-ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.csl-ba figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .8rem;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent);color:#fff;font-size:.9rem;pointer-events:none}
.csl-gallery{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.csl-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
[data-csl-video]{position:relative;overflow:hidden;isolation:isolate}.csl-video{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.csl-auto{max-width:72rem;margin:0 auto;padding:clamp(2rem,6vw,4rem) 1.2rem}.csl-auto h2{margin:0 0 1rem}
@media (prefers-reduced-motion:reduce){.csl-video{display:none}}
@font-face{font-family:"Inter";src:url(/_a/f/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"Nunito";src:url(/_a/f/nunito.woff2) format("woff2");font-weight:200 1000;font-display:swap}@font-face{font-family:"Fraunces";src:url(/_a/f/fraunces.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"DM Serif Display";src:url(/_a/f/dmserif.woff2) format("woff2");font-weight:400 400;font-display:swap}:root{--accent:#2f3fd1;--on-accent:#fff;--ink:#14195e;--sky:#e8f4ff;--berry:#7a3ff2;--pink:#ff7eb6;--sun:#ffd447;--mint:#8fe3cf}
*{box-sizing:border-box;margin:0}
html{scroll-x-removedsmooth}
body{font-family:'Nunito',sans-serif;color:var(--ink);background:var(--sky);line-height:1.6;font-size:17px;overflow-x:hidden}
h1,h2,h3{font-family:'Fraunces','DM Serif Display',serif;line-height:1.1}
a{color:inherit}
.wrap{max-width:1040px;margin-inline:auto;padding-inline:20px}
header{position:sticky;top:0;z-index:20;background:rgba(232,244,255,.95);border-bottom:3px solid var(--ink)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;position:relative}
.logo{font-family:'Fraunces',serif;font-weight:900;font-size:1.3rem;text-decoration:none;color:var(--accent)}
#mt{display:none}
.burger{display:none;cursor:pointer;font-weight:800;border:2px solid var(--ink);border-radius:99px;padding:6px 14px;background:#fff}
nav ul{display:flex;gap:6px;list-style:none;padding:0}
nav a{display:block;padding:8px 14px;border-radius:99px;text-decoration:none;font-weight:800}
nav a:hover{background:var(--sun)}
@media(max-width:720px){.burger{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--sky);border-bottom:3px solid var(--ink);padding:10px 20px}nav ul{flex-direction:column}#mt:checked~nav{display:block}}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);font-weight:900;text-decoration:none;padding:14px 28px;border-radius:99px;border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.btn.alt{background:var(--sun);color:var(--ink)}
.hero{position:relative;overflow:hidden;padding:56px 0 110px;background:linear-gradient(180deg,#bfe3ff,var(--sky))}
.hero .wrap{display:grid;gap:32px;grid-template-columns:1fr;align-items:center}
@media(min-width:800px){.hero .wrap{grid-template-columns:1.1fr .9fr}}
.badge{display:inline-block;background:var(--pink);border:2px solid var(--ink);border-radius:99px;padding:4px 14px;font-weight:900;font-size:.85rem;transform:rotate(-3deg);margin-bottom:14px}
h1{font-size:clamp(2.6rem,9vw,5rem);font-weight:900;color:var(--accent)}
h1 span{color:var(--berry)}
.hero p{font-size:1.15rem;margin:16px 0 26px;max-width:46ch}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.pic{width:100%;max-width:400px;aspect-ratio:1;margin-inline:auto;border:4px solid var(--ink);border-radius:62% 38% 55% 45%/50% 55% 45% 50%;overflow:hidden;background:var(--mint);box-shadow:10px 10px 0 var(--berry);animation:bob 5s ease-in-out infinite}
.pic img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes bob{50%{transform:translateY(-12px) rotate(1.5deg)}}
.dot{position:absolute;border-radius:50%;background:var(--berry);opacity:.25;animation:bob 6s ease-in-out infinite}
.d1{width:90px;height:90px;top:30px;right:6%}.d2{width:50px;height:50px;bottom:60px;left:4%;background:var(--pink)}.d3{width:34px;height:34px;top:45%;left:46%;background:var(--sun)}
.wave{position:absolute;left:0;bottom:-1px;width:100%;height:70px;display:block}
.band{background:var(--ink);color:var(--sun);overflow:hidden;white-space:nowrap;padding:12px 0;font-family:'Fraunces',serif;font-weight:900;font-size:1.3rem}
.band div{display:inline-block;animation:slide 22s linear infinite}
@keyframes slide{to{transform:translateX(-50%)}}
section{padding:72px 0}
h2{font-size:clamp(2rem,6vw,3.2rem);color:var(--accent);margin-bottom:20px}
.about{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:800px){.about{grid-template-columns:.9fr 1.1fr}}
.about>*{min-width:0}
.about figure{aspect-ratio:4/5;max-width:340px;width:100%;border:4px solid var(--ink);border-radius:200px 200px 24px 24px;overflow:hidden;background:var(--pink);box-shadow:-8px 8px 0 var(--sun)}
.about img{width:100%;height:100%;object-fit:cover;display:block}
blockquote{margin-top:22px;padding:18px 22px;background:var(--sun);border:3px solid var(--ink);border-radius:20px;font-family:'Fraunces',serif;font-size:1.25rem;font-weight:700;transform:rotate(-1.5deg)}
.traits{background:#fff;border-block:3px solid var(--ink)}
.tl{list-style:none;padding:0;display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:700px){.tl{grid-template-columns:repeat(3,1fr)}}
.tl li{min-width:0;padding:26px 22px;border:3px solid var(--ink);border-radius:26px;background:var(--sky);transition:transform .2s}
.tl li:nth-child(2){background:#f1e8ff}.tl li:nth-child(3){background:#fff3c4}
.tl li:hover{transform:translateY(-6px) rotate(-1deg)}
.tl b{display:block;font-family:'Fraunces',serif;font-size:2.6rem;color:var(--berry);line-height:1}
.tl h3{font-size:1.4rem;margin:8px 0}
.steps{display:grid;gap:14px;max-width:680px}
.steps p{display:flex;gap:16px;align-items:center;background:#fff;border:3px solid var(--ink);border-radius:99px;padding:14px 24px}
.steps i{flex:none;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900}
.gal{background:var(--berry)}
.gal h2{color:#fff}
.gal .g{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.gal .g{grid-template-columns:1fr 1fr}}
.gal figure{aspect-ratio:4/3;border:4px solid var(--ink);border-radius:28px;overflow:hidden;background:var(--mint)}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gal figure:hover img{transform:scale(1.06)}
details{background:#fff;border:3px solid var(--ink);border-radius:20px;padding:16px 22px;margin-bottom:12px;max-width:720px}
summary{cursor:pointer;font-weight:900;font-size:1.1rem}
details p{margin-top:10px}
.contact{background:var(--sun);border-top:3px solid var(--ink)}
.cbox{background:#fff;border:3px solid var(--ink);border-radius:28px;padding:26px;box-shadow:8px 8px 0 var(--ink);max-width:640px;overflow-wrap:anywhere}
.cbtns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
footer{background:var(--ink);color:#fff;text-align:center;padding:28px 20px;font-weight:700}@supports (overflow:clip){html,body{overflow-x:clip}}html,body{max-width:100%}main,header,footer,section,nav,figure{max-width:100%}img,svg,video,canvas{max-width:100%}