:root{--bg:#fbf6ee;--card:#fffdf9;--ink:#26242e;--mut:#64606e;--line:#ece4d8;--a:#ff8a5c;--a2:#ff6f61;
--t0:#ffd9c4;--t1:#cfe7ff;--t2:#d4f2e2;--t3:#e6dcff;--t4:#fff0bf;--r:28px;--sh:0 1px 2px #6b4e2a0f,0 12px 32px -8px #6b4e2a22;--sh2:0 2px 4px #6b4e2a12,0 30px 60px -18px #6b4e2a40}
*{box-sizing:border-box;margin:0}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--ink);font:17px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}h1,h2,h3,.logo,.btn,.num,.out b{font-family:Fredoka,Inter,sans-serif}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem);font-weight:600;line-height:1.05;letter-spacing:-.02em}h1.sm{font-size:clamp(2rem,4.4vw,3.4rem)}
h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:600;line-height:1.1;letter-spacing:-.015em;margin-bottom:1.4rem}h3{font-size:1.25rem;font-weight:600;margin-bottom:.4rem}
.hl{background:linear-gradient(transparent 62%,var(--t0) 62%);padding:0 .1em;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.sec{padding:110px 0}.wrap.sec{padding:110px 24px}.mut{color:var(--mut)}.small{font-size:.88rem}
.eyebrow{color:var(--a2);font-weight:600;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.9rem}.eyebrow a{text-decoration:none}
.lead{font-size:1.18rem;color:var(--mut);max-width:580px;margin:1.3rem 0 2.1rem}
.hdr{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:#fbf6eed9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #ece4d880}
.hdr nav{display:flex;gap:26px;align-items:center}.hdr nav a{text-decoration:none;color:var(--mut);font-weight:500;font-size:.96rem}.hdr nav a:hover,.hdr nav a.on{color:var(--ink)}
.logo{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:600;font-size:1.2rem}.logo b{font-weight:600;color:var(--a2)}
.mark{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#ffb38a,#ff7a6b);color:#fff;font-weight:700;box-shadow:0 6px 14px -4px #ff7a6b88}
.burger{display:none;background:none;border:0;color:var(--ink);font-size:1.6rem}
.btn{display:inline-block;background:var(--ink);color:#fff!important;padding:15px 28px;border-radius:999px;font-weight:600;font-size:1.02rem;text-decoration:none;border:0;cursor:pointer;box-shadow:0 10px 24px -10px #26242e88;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px #26242e99}.btn.ghost{background:#fff;color:var(--ink)!important;box-shadow:var(--sh);border:1px solid var(--line)}.btn.sm{padding:10px 20px;font-size:.92rem}.row{display:flex;gap:12px;flex-wrap:wrap}
.hero{padding:40px 0 30px;background:radial-gradient(700px 420px at 78% 40%,#ffe3d1,transparent 70%),radial-gradient(500px 300px at 100% 20%,#e3f0ff,transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;min-height:min(78vh,720px)}
.hero-art{position:relative;aspect-ratio:1;max-height:620px;width:100%}#hero3d{position:absolute;inset:0;width:100%;height:100%}
.buddy{position:absolute;inset:12%;display:grid;place-items:center}body.has3d .buddy{display:none}
.buddy .body{position:relative;width:62%;aspect-ratio:1/1.05;border-radius:48% 48% 44% 44%;background:radial-gradient(circle at 34% 28%,#fff6ee,#ffc29e 38%,#ff9a76 80%);box-shadow:inset -18px -22px 40px #e9765a66,0 30px 50px -20px #c8654a66;animation:bob 3.2s ease-in-out infinite}
.eye{position:absolute;top:38%;width:13%;aspect-ratio:1/1.3;border-radius:50%;background:#2b2530;box-shadow:inset 3px 3px 0 #fff8}.eye.l{left:30%}.eye.r{right:30%}
.cheek{position:absolute;top:58%;width:14%;aspect-ratio:2/1;border-radius:50%;background:#ff7f8a66}.cheek.l{left:18%}.cheek.r{right:18%}
.buddy .shadow{position:absolute;bottom:6%;width:46%;height:6%;border-radius:50%;background:#8a5a3a26;animation:sh 3.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-18px) scale(1.02,.98)}}@keyframes sh{50%{transform:scale(.8);opacity:.6}}
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g5{grid-template-columns:repeat(5,1fr)}
.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.card{padding:30px;text-decoration:none;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s;will-change:transform}.card:hover{box-shadow:var(--sh2)}
.card p{color:var(--mut);font-size:.98rem}.ico{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--tint);font-size:1.6rem;margin-bottom:18px}
.tool{display:flex;flex-direction:column;min-height:260px;background:linear-gradient(180deg,var(--tint) 0,var(--tint) 70px,var(--card) 70px)}
.num{font-size:1rem;font-weight:600;background:#fff;border-radius:99px;padding:6px 14px;align-self:flex-start;margin-bottom:34px;box-shadow:var(--sh)}
.tool h3{font-size:1.45rem}.go{margin-top:auto;padding-top:18px;color:var(--a2);font-weight:600;text-decoration:none}
.tools-band{background:linear-gradient(180deg,var(--bg),#f4ede2 20%,#f4ede2 80%,var(--bg))}
.pf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:34px}
.pf-track{display:flex;gap:26px;padding:10px max(24px,calc((100vw - 1200px)/2 + 24px)) 30px;overflow-x:auto;scrollbar-width:none}.pf-track::-webkit-scrollbar{display:none}
.pf-card{flex:0 0 min(78vw,560px);background:var(--card);border-radius:32px;overflow:hidden;box-shadow:var(--sh2);border:1px solid var(--line)}
.pf-media{aspect-ratio:16/10;background:radial-gradient(circle at 30% 25%,#fff8,transparent 60%),var(--tint);display:grid;place-content:center;text-align:center;color:#5c5666;font-weight:500;border-bottom:2px dashed #0000001f;gap:8px}
.phtag{font:600 .75rem Inter;letter-spacing:.18em;color:var(--a2);background:#fff;padding:5px 12px;border-radius:99px;justify-self:center}
.pf-meta{padding:24px 28px 28px}.chip{display:inline-block;background:var(--tint);padding:4px 12px;border-radius:99px;font-size:.82rem;font-weight:600;margin-bottom:10px}
.pf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.pf-grid .pf-card{flex:auto}
.ph{border:2px dashed #d9cbb8;border-radius:var(--r);min-height:220px;display:grid;place-content:center;text-align:center;padding:24px;color:var(--mut);background:#fff9f1}
.ph span{color:var(--a2);font-weight:600;letter-spacing:.18em;font-size:.75rem;margin-bottom:6px}.ph.video{aspect-ratio:16/9;background:radial-gradient(circle at 50% 50%,#fff,#fbeee0)}
.showreel{border-radius:36px;box-shadow:var(--sh2)}
.proc{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.proc li{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--sh)}
.proc b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--t0);font:600 1.1rem Fredoka;margin-bottom:16px}.proc li:nth-child(2) b{background:var(--t1)}.proc li:nth-child(3) b{background:var(--t2)}.proc li:nth-child(4) b{background:var(--t3)}.proc li:nth-child(5) b{background:var(--t4)}
.proc p{font-size:.92rem}
.cta{text-align:center;margin:40px auto 100px;padding:90px 24px;border-radius:40px;background:radial-gradient(circle at 20% 20%,#ffe3d1,transparent 60%),radial-gradient(circle at 80% 80%,#dbeaff,transparent 60%),var(--card);box-shadow:var(--sh2);border:1px solid var(--line)}
.cta p{color:var(--mut);margin-bottom:28px}
.pagehead{padding:100px 24px 50px}.svc{display:flex;padding:36px}.svc h2{font-size:1.8rem;margin-bottom:.5rem}.svc p{color:var(--mut)}
.panel{padding:32px}.form,.tool-ui{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.92rem}
input,select,textarea{background:#fff;border:1.5px solid var(--line);color:var(--ink);border-radius:16px;padding:13px 15px;font:inherit;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--a);box-shadow:0 0 0 4px #ff8a5c26}
.out{background:linear-gradient(135deg,#fff3ea,#f1f6ff);border-radius:22px;padding:24px}.out small{color:var(--a2);font-weight:700;letter-spacing:.12em;font-size:.75rem}.out b{display:block;font-size:2rem;font-weight:600;margin:4px 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.table{overflow-x:auto;margin:20px 0;padding:12px}table{width:100%;border-collapse:collapse}td,th{padding:13px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--a2)}
.tool-ui+h2{margin-top:60px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chk{min-height:170px;border-radius:18px;background:conic-gradient(#f3ede4 25%,#fff 0 50%,#f3ede4 0 75%,#fff 0) 0 0/20px 20px;display:grid;place-items:center;border:1px solid var(--line)}.chk img{max-width:100%;max-height:420px}
.soon{text-align:center;padding:40px}.soon b{font:600 1.8rem Fredoka;color:var(--a2)}.soon p{margin:10px 0 22px;color:var(--mut)}.tag{background:var(--t3);padding:3px 11px;border-radius:99px;font-weight:600}
.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:26px}.panelc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--sh)}.frame{aspect-ratio:16/9;border:1.5px dashed #d9cbb8;border-radius:12px;margin:8px 0;display:grid;place-items:center;color:#b9ab98}.panelc textarea{width:100%;margin-top:8px;font-size:.88rem}
.faq{margin-top:80px;max-width:820px}details{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px 22px;margin-bottom:12px}summary{cursor:pointer;font-weight:600}details p{color:var(--mut);margin-top:8px}
.ftr{border-top:1px solid var(--line);padding:64px 0 30px;background:#f6efe4}.fgrid{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.4fr;gap:30px;margin-bottom:30px}.ftr h4{margin-bottom:10px;font-family:Fredoka;font-weight:600}.ftr a:not(.logo){display:block;color:var(--mut);text-decoration:none;padding:3px 0}.ftr p.mut{margin-top:10px}
@media(max-width:1000px){.g5{grid-template-columns:repeat(3,1fr)}.proc{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.g3{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-art{max-width:380px;margin:0 auto;order:-1}
.burger{display:block}.hdr{padding:12px 20px}.hdr nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--bg);padding:20px;border-bottom:1px solid var(--line)}body.menu .hdr nav{display:flex}}
@media(max-width:600px){.g5,.g3,.g2,.form,.tool-ui,.two,.fgrid,.pf-grid,.proc{grid-template-columns:1fr}.g5{grid-template-columns:1fr 1fr}.sec,.wrap.sec{padding-top:70px;padding-bottom:70px}.pf-head{flex-direction:column;align-items:flex-start}.hero-art{max-width:260px}.pagehead{padding:60px 24px 30px}.svc{padding:26px}}
@media print{.hdr,.ftr,.cta,.faq,.pagehead,.tool-ui{display:none}body{background:#fff}}

html,body{overflow-x:clip}.pf-pin{overflow:hidden}
/* v3.1 brand logo */
.logo-foot img{display:block;width:200px;height:auto;margin-bottom:6px}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:760px}
.ccard{display:flex;flex-direction:column;gap:2px}.ccard small{color:var(--mut);font-weight:600}.ccard b{font:600 1.25rem Fredoka,sans-serif;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:600px){.contact-cards{grid-template-columns:1fr}.logo-foot img{width:180px}}
/* header brand v3.2: scoped, explicit sizes (fixes .logo img{height:auto} overriding heights) */
.hdr{min-height:72px;gap:20px;flex-wrap:nowrap}
.hdr .logo{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0;line-height:0}
.hdr .logo picture{display:block;flex:0 0 auto;line-height:0}
.hdr .logo img{display:block;max-width:none;object-fit:contain}
.hdr .logo img.logo-mark{height:44px;width:68px}
.hdr .logo img.logo-word{height:32px;width:171px}
.hdr nav{flex:0 1 auto;min-width:0;flex-wrap:nowrap}.hdr nav a{white-space:nowrap}
@media(max-width:1180px){.hdr nav{gap:18px}.hdr nav a{font-size:.92rem}}
@media(max-width:1024px){.hdr{padding:12px 20px;min-height:64px}.burger{display:block;flex:0 0 auto;padding:6px 8px;line-height:1}
.hdr nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:4px;background:var(--bg);padding:14px 20px 20px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -20px #6b4e2a40}
.hdr nav a{display:block;padding:10px 0;font-size:1rem}.hdr nav a.btn{padding:10px 20px;margin-top:6px}body.menu .hdr nav{display:flex}
.hdr .logo img.logo-mark{height:40px;width:61px}.hdr .logo img.logo-word{height:30px;width:160px}}
@media(max-width:600px){.hdr{padding:10px 16px;min-height:58px}.hdr .logo{gap:8px}.hdr .logo img.logo-mark{height:36px;width:55px}.hdr .logo img.logo-word{height:26px;width:139px}}
@media(max-width:340px){.hdr .logo picture:nth-child(2){display:none}}
/* v3.3 tools art, real portfolio, articles, admin */
.tool{padding:0;overflow:hidden;background:var(--card)}
.tool-art{aspect-ratio:16/10;background:var(--tint);overflow:hidden;border-bottom:1px solid var(--line)}
.tool-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.tool:hover .tool-art img{transform:scale(1.04)}
.tool-body{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.tool-head{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center}
.tool-hero-art{border-radius:28px;overflow:hidden;box-shadow:var(--sh2);border:1px solid var(--line)}.tool-hero-art img{display:block;width:100%;height:auto}
.pf-media.yt{position:relative;padding:0;display:block;background:#efe6da;border-bottom:0;cursor:pointer}
.pf-media.yt img{display:block;width:100%;height:100%;object-fit:cover}
.pf-media.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:0;background:#fffdf9e6;color:var(--a2);display:grid;place-items:center;box-shadow:0 10px 30px -8px #26242e66;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.play svg{margin-left:3px}.pf-media.yt:hover .play,.play:focus-visible{transform:scale(1.08)}.play:focus-visible{outline:3px solid var(--a)}
.pf-media.big .play{width:84px;height:84px;margin:-42px 0 0 -42px}
.dur{position:absolute;right:12px;bottom:12px;background:#26242ed9;color:#fff;font:600 .78rem Inter;padding:3px 9px;border-radius:99px}
.pf-media.yt.playing .play,.pf-media.yt.playing .dur,.pf-media.yt.playing img{display:none}
.pf-meta h3{font-size:1.15rem;line-height:1.3}.pf-meta .go{margin-top:8px}
.showreel{overflow:hidden;border-radius:36px}.showreel .pf-media{aspect-ratio:16/9}.sr-cap{margin-top:14px;text-align:center}.sr-cap a{color:var(--a2)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.fchip{border:1px solid var(--line);background:#fff;cursor:pointer;font:600 .88rem Inter;padding:8px 16px;color:var(--ink)}.fchip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pf-card[hidden]{display:none}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.art-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.art-cover{aspect-ratio:16/9;background:var(--tint)}.art-cover img{width:100%;height:100%;object-fit:cover;display:block}
.art-cover-empty{background:radial-gradient(circle at 30% 30%,#fff9,transparent 60%),var(--tint)}
.art-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}.art-body .chip{align-self:flex-start}
.empty{grid-column:1/-1;text-align:center;padding:60px 24px}
.article{max-width:820px}.art-head{padding-left:0;padding-right:0}.art-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.art-hero{margin:0 0 36px;border-radius:28px;overflow:hidden;box-shadow:var(--sh2)}.art-hero img{display:block;width:100%;height:auto}
.prose{font-size:1.1rem;line-height:1.8}.prose>*+*{margin-top:1.1em}.prose h2{font-size:1.8rem;margin:1.6em 0 .4em}.prose h3{font-size:1.35rem;margin-top:1.4em}
.prose a{color:var(--a2)}.prose img{max-width:100%;height:auto;border-radius:18px}.prose blockquote{border-left:4px solid var(--t0);padding:6px 0 6px 18px;color:var(--mut)}
.prose pre{background:#26242e;color:#fbf6ee;padding:18px;border-radius:16px;overflow-x:auto;font-size:.92rem}.prose code{background:#f1e9dd;padding:2px 6px;border-radius:6px;font-size:.92em}.prose pre code{background:none;padding:0}
.art-fig{margin:2em 0}.art-fig img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:var(--sh2);background:#f1e9dd}
.prose ul,.prose ol{padding-left:1.4em}.back{margin:50px 0 80px}
.admin{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:start;margin-bottom:80px}
.admin-list{position:sticky;top:96px}.plist{list-style:none;padding:0;margin-top:16px;display:grid;gap:8px;max-height:60vh;overflow:auto}
.pitem{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;font:inherit;display:grid;gap:4px}.pitem.on{border-color:var(--a);box-shadow:0 0 0 3px #ff8a5c22}.pitem b{font-weight:600;font-size:.95rem}
.pstat{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}.pstat.published{color:#2e8b57}
.admin-actions{gap:10px}.danger{color:#c0392b!important}.preview{border-top:1px dashed var(--line);padding-top:20px}
@media(max-width:900px){.art-grid{grid-template-columns:1fr 1fr}.admin{grid-template-columns:1fr}.admin-list{position:static}.tool-head{grid-template-columns:1fr}.tool-hero-art{max-width:420px}}
@media(max-width:600px){.art-grid{grid-template-columns:1fr}.play{width:56px;height:56px;margin:-28px 0 0 -28px}}
@media(prefers-reduced-motion:reduce){.tool:hover .tool-art img{transform:none}}
