
/* Layout: chapters that fade between deep navy and cool paper as you scroll; asymmetric hero with a floating kit, pinned horizontal gallery, sticky stacking process */
:root{
  --bg:#16211F; --bg-2:#1B2826; --surface:#1F2D2A; --line:#2D3D39;
  --fg:#F1F3F1; --fg-2:#A9B5B1; --fg-3:#6F7E79;
  --accent:#E8775A; --accent-ink:#1E0F0A; --accent-text:#F08E73; --glow:#2E5A50; --shadow:rgb(0 0 0 / .6);
  --font:"Geist", "Helvetica Neue", system-ui, sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
html:not(.fade-tones) [data-tone="light"], body[data-tone="light"]{
  --bg:#F7F8F5; --bg-2:#EEF2EF; --surface:#FFFFFF; --line:#DDE4E0; --glow:#BFE6D7; --shadow:rgb(22 33 31 / .16);
  --fg:#16211F; --fg-2:#4B5A56; --fg-3:#7E8B87; --accent-text:#B5482E;
  color-scheme:light;
}
html:not(.fade-tones) [data-tone]{background:var(--bg);color:var(--fg)}
*{box-sizing:border-box}
[hidden]{display:none!important}
img{max-width:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.05rem/1.65 var(--font);-webkit-font-smoothing:antialiased;transition:background-color .9s var(--ease),color .9s var(--ease)}
main{overflow-x:clip;width:100%;max-width:100%}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.04em;line-height:1;text-wrap:balance}
p{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chapter{padding-block:clamp(7rem,14vw,12rem)}
.lead{color:var(--fg-2);font-weight:300;font-size:clamp(1.05rem,1.35vw,1.2rem);max-width:52ch}
.h2{font-size:clamp(2.3rem,5vw,4.6rem)}
.gold{color:var(--accent-text)}

body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font:500 1rem/1 var(--font);padding:1.05rem 1.6rem;border-radius:999px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .5s var(--ease),background .3s,border-color .3s,color .3s}
.btn:active{transform:scale(.97)}
.btn--gold{background:var(--accent);color:var(--accent-ink)}
@media (hover:hover) and (pointer:fine){.btn--gold:hover{background:#EE8D73}}
.btn--ghost{background:transparent;color:var(--fg);border-color:var(--line)}
@media (hover:hover) and (pointer:fine){.btn--ghost:hover{border-color:var(--fg)}}
.btn .i{transition:transform .5s var(--ease)}
@media (hover:hover) and (pointer:fine){.btn:hover .i{transform:translateX(4px)}}

/* progress + nav */
.progress{position:fixed;left:0;right:0;top:0;height:2px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:80}
.nav{position:fixed;left:0;right:0;top:0;z-index:70;padding-top:env(safe-area-inset-top,0px);transition:transform .7s var(--ease),background .6s}
.nav.hide{transform:translateY(-110%)}
.nav.solid{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding-block:1rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
.brand svg{width:32px;height:32px;border-radius:9px}
.nav-links{display:flex;gap:2rem;font-size:.93rem}
.nav-links a{text-decoration:none;color:var(--fg-2);position:relative;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
@media (hover:hover) and (pointer:fine){.nav-links a:hover{color:var(--fg)}}
@media (hover:hover) and (pointer:fine){.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}}
.nav .btn{justify-self:end;padding:.8rem 1.2rem;font-size:.9rem}
@media (max-width:820px){.nav-links{display:none}.nav .wrap{grid-template-columns:1fr auto}}

/* intro loader (created by script only) */
#loader{position:fixed;inset:0;z-index:100;pointer-events:none}
#loader .p{position:absolute;inset:0}
#loader .p-gold{background:var(--accent)}
#loader .p-navy{background:#F7F8F5}
#loader .in{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:clamp(16px,4vw,48px);color:#16211F}
#loader .nm{font-size:clamp(1rem,2vw,1.4rem);font-weight:400;letter-spacing:-.02em}
#loader .num{font-size:clamp(4rem,14vw,12rem);font-weight:300;letter-spacing:-.06em;line-height:.8;font-variant-numeric:tabular-nums}

/* hero */
.hero{position:relative;padding-block:clamp(9rem,15vw,12rem) clamp(6rem,10vw,9rem);isolation:isolate;overflow:clip}
.glow{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(90px)}
.glow--a{width:52vw;max-width:720px;aspect-ratio:1;right:-8%;top:12%;background:radial-gradient(circle,var(--glow),transparent 70%);opacity:.9;animation:drift 16s ease-in-out infinite alternate}
.glow--b{width:30vw;max-width:420px;aspect-ratio:1;right:22%;bottom:-6%;background:radial-gradient(circle,#E8775A,transparent 70%);opacity:.18;animation:drift 20s ease-in-out infinite alternate-reverse}
.hero h1{font-size:clamp(2.8rem,6.2vw,6.4rem);font-weight:500;letter-spacing:-.05em;line-height:.98;position:relative;z-index:2}
.line{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .line:last-child{padding-bottom:.3em;margin-bottom:-.22em}
.sq{position:relative;display:inline-block}
.sq svg{position:absolute;left:-2%;bottom:-.12em;width:104%;height:.26em;overflow:visible}
.sq path{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:squig 1.1s 2.6s cubic-bezier(.65,0,.35,1) forwards}
@keyframes squig{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.sq path{stroke-dashoffset:0}}

.line > span{display:inline-block}
.line .soft{color:var(--fg-3);font-weight:300}
.pimg{display:inline-flex;align-items:center;justify-content:center;width:1.7em;height:.82em;border-radius:999px;vertical-align:middle;margin:0 .08em;overflow:hidden;position:relative;top:-.05em;background:var(--accent);transition:width .8s var(--ease)}
@media (hover:hover) and (pointer:fine){.hero h1:hover .pimg{width:2em}}
.pimg span{width:46%;height:56%;background:#16211F;border-radius:3px;transform:rotate(-9deg);box-shadow:5px 4px 0 rgb(0 0 0 / .18);animation:wobble 5s ease-in-out infinite}
.hero-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem;margin-top:2.6rem;align-items:start}
.hero-row .lead{max-width:42ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.scroll-hint{display:flex;align-items:center;gap:.8rem;margin-top:3.6rem;color:var(--fg-3);font-size:.85rem}
.scroll-hint i{display:block;width:1px;height:46px;background:var(--line);position:relative;overflow:hidden}
.scroll-hint i::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--accent);animation:drip 2s var(--ease) infinite}

/* floating kit */
.comp{position:relative;height:clamp(360px,44vw,560px);margin-top:-6rem}
.layer{position:absolute}
.obj{will-change:transform}
.l-phone{right:6%;top:0;width:34%}
.l-cardb{right:34%;top:24%;width:46%}
.l-cardf{right:22%;top:46%;width:50%}
.l-chip{right:0;top:58%;width:18%}
.phone{aspect-ratio:9/19;border-radius:28px;background:#05080F;padding:7px;box-shadow:0 50px 90px -30px rgb(0 0 0 / .8);border:1px solid #2D3D39;transform:rotate(6deg)}
.phone > div{height:100%;border-radius:22px;background:#F4EEE6;overflow:hidden;display:flex;flex-direction:column;padding:16% 10% 10%;gap:6%}
.phone b{color:#6B2834;font-weight:600;font-size:clamp(.7rem,1.3vw,1.05rem);line-height:1.05;letter-spacing:-.02em}
.phone .ln{height:5px;border-radius:9px;background:#E3D9CC}
.phone .ph{flex:1;border-radius:12px;background:radial-gradient(60% 60% at 40% 30%, #C98B7A, #6B2834 75%)}
.phone .ct{height:26px;border-radius:99px;background:#6B2834}
.kcard{aspect-ratio:85/55;border-radius:7px;box-shadow:0 40px 70px -24px rgb(0 0 0 / .7);padding:6% 7%;display:flex;flex-direction:column;justify-content:space-between}
.kcard--f{background:#6B2834;color:#F4EEE6;transform:rotate(-8deg)}
.kcard--b{background:#F4EEE6;transform:rotate(9deg);display:grid;place-items:center}
.kcard svg{width:22%}
.kcard--b svg{width:28%}
.kcard b{font-weight:600;font-size:clamp(.8rem,1.4vw,1.15rem);letter-spacing:-.02em}
.kcard small{display:block;font-size:clamp(.55rem,.85vw,.72rem);opacity:.8;line-height:1.5}
.chip{aspect-ratio:1;border-radius:50%;background:var(--accent);display:grid;place-items:center;box-shadow:0 30px 50px -20px rgb(0 0 0 / .6);transform:rotate(-10deg)}
.chip svg{width:46%}
@media (max-width:900px){
  .hero-row{grid-template-columns:1fr}
  .comp{margin-top:3rem;height:420px}
  .l-phone{right:2%;width:40%}.l-cardb{right:30%;width:58%}.l-cardf{right:14%;width:64%}.l-chip{right:0;top:72%;width:22%}
}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding-block:1.5rem;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.mq{display:flex;width:max-content;animation:mq 44s linear infinite}
.mq span{display:flex;align-items:center;gap:2.6rem;padding-right:2.6rem;font-size:clamp(1.4rem,2.6vw,2.3rem);font-weight:300;letter-spacing:-.035em;color:var(--fg-2);white-space:nowrap}
.mq span::after{content:"";width:.3em;height:.3em;border-radius:50%;background:var(--accent)}
@media (hover:hover) and (pointer:fine){.marquee:hover .mq{animation-play-state:paused}}

/* heads */
.head{display:grid;grid-template-columns:1.15fr 1fr;gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(3rem,6vw,5rem)}
.head .lead{justify-self:end}
@media (max-width:767px){.head{grid-template-columns:1fr}.head .lead{justify-self:start}}

/* before / after */
.ba{position:relative;aspect-ratio:16/8.4;max-width:100%;border-radius:32px;overflow:hidden;border:1px solid var(--line);user-select:none;-webkit-user-select:none;touch-action:pan-y;--pos:50%}
.ba-layer{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;gap:4%;align-items:center;padding:6% 7%}
.ba-old{background:#CFC9BE}
.ba-new{background:#E9E3D9;clip-path:inset(0 0 0 var(--pos))}
.ba-tag{position:absolute;top:22px;font-size:.82rem;font-weight:500;padding:.45rem .8rem;border-radius:99px;z-index:3}
.ba-tag--old{left:22px;background:#16211F;color:#F1F3F1}
.ba-tag--new{right:22px;background:var(--accent);color:var(--accent-ink)}
/* old look: deliberately dated */
.old-card{aspect-ratio:85/55;border-radius:2px;background:linear-gradient(135deg,#2D6FD1,#5FC9F0);color:#fff;font-family:"Times New Roman",Times,serif;text-align:center;padding:5%;display:flex;flex-direction:column;justify-content:center;gap:4%;box-shadow:0 20px 30px -18px rgb(0 0 0 / .5);transform:rotate(-3deg)}
.old-card b{font-size:clamp(.9rem,2vw,1.7rem);font-style:italic;color:#FFF35C;text-shadow:2px 2px 0 #B0221E;letter-spacing:.02em}
.old-card span{font-size:clamp(.5rem,1vw,.85rem);text-shadow:1px 1px 0 rgb(0 0 0 / .4)}
.old-card i{font-style:normal;font-size:clamp(.45rem,.85vw,.72rem);font-family:Arial,sans-serif}
.old-site{border-radius:4px;background:#fff;overflow:hidden;box-shadow:0 20px 30px -18px rgb(0 0 0 / .5);font-family:"Times New Roman",Times,serif}
.old-site .t{background:#3B5998;color:#FF0;padding:4% 5%;font-size:clamp(.6rem,1.3vw,1.05rem);font-weight:700;text-align:center}
.old-site .m{display:flex;flex-wrap:wrap;gap:3%;padding:3% 5%;background:#DDD;font-size:clamp(.4rem,.75vw,.65rem);color:#00E}
.old-site .m span{text-decoration:underline}
.old-site .c{padding:5%;display:grid;gap:6px}
.old-site .c p{font-size:clamp(.45rem,.8vw,.7rem);color:#333;text-align:center}
.old-site .c em{display:block;height:clamp(40px,7vw,90px);background:repeating-linear-gradient(45deg,#E5E5E5 0 8px,#F4F4F4 8px 16px);font-style:normal;font-size:clamp(.4rem,.7vw,.6rem);color:#999;display:grid;place-items:center}
/* new look */
.new-card{aspect-ratio:85/55;border-radius:6px;background:#6B2834;color:#F4EEE6;padding:6% 7%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 50px -24px rgb(0 0 0 / .55);transform:rotate(-3deg)}
.new-card svg{width:20%}
.new-card b{font-weight:600;font-size:clamp(.9rem,1.8vw,1.5rem);letter-spacing:-.03em}
.new-card small{display:block;font-size:clamp(.5rem,.85vw,.75rem);opacity:.8}
.new-site{border-radius:10px;background:#F4EEE6;overflow:hidden;box-shadow:0 30px 50px -24px rgb(0 0 0 / .55)}
.new-site .bar{display:flex;gap:5px;padding:8px 10px;background:#E6DED2}
.new-site .bar i{width:7px;height:7px;border-radius:50%;background:#C9BFB1}
.new-site .c{padding:7%;display:grid;gap:8px}
.new-site b{font-weight:600;color:#6B2834;font-size:clamp(.8rem,1.7vw,1.5rem);letter-spacing:-.03em;line-height:1.05}
.new-site .ln{height:6px;border-radius:9px;background:#E3D9CC}
.new-site .row{display:flex;gap:6px;margin-top:4px}
.new-site .row span{height:clamp(14px,1.8vw,24px);border-radius:99px;background:#6B2834;width:38%}
.new-site .row span + span{background:transparent;border:1px solid #6B2834;width:28%}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:#fff;transform:translateX(-1px);z-index:2;pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:54px;height:54px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 10px 30px -8px rgb(0 0 0 / .45);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D1321' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 7l-5 5 5 5M15 7l5 5-5 5'/></svg>");background-size:26px;background-repeat:no-repeat;background-position:center}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}
.ba input:focus-visible + .ba-handle::after{outline:3px solid var(--accent);outline-offset:3px}
.ba-note{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.2rem;color:var(--fg-3);font-size:.9rem}
@media (max-width:767px){.ba{aspect-ratio:4/5}.ba-layer{grid-template-columns:1fr;align-content:center;gap:8%;padding:16% 10% 8%}}

/* live portfolio */
.pf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.4rem);align-items:start}
.pf-card{display:grid;gap:1.6rem;min-width:0;align-content:start}
.pf-card:nth-child(even){margin-top:clamp(4rem,10vw,9rem)}
.pf-shot{all:unset;display:block;cursor:zoom-in;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 50px 90px -40px var(--shadow);transition:transform .9s var(--ease),box-shadow .9s var(--ease)}
@media (hover:hover) and (pointer:fine){.pf-shot:hover{transform:translateY(-6px)}}
.pf-shot:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.pf-bar{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--line);background:var(--bg-2)}
.pf-bar .dots{display:flex;gap:5px}
.pf-bar .dots i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.pf-bar .addr{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;background:var(--bg);border-radius:99px;padding:.35rem .8rem;font-size:.8rem;color:var(--fg-2);overflow:hidden;white-space:nowrap}
.fav{width:16px;height:16px;border-radius:4px;flex:none;object-fit:contain}
.fav-letter{width:16px;height:16px;border-radius:4px;flex:none;display:grid;place-items:center;font-size:.62rem;font-weight:600;background:var(--brand);color:#fff}
.pf-view{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--brand)}
.pf-view .shot{position:absolute;left:0;top:0;width:100%;height:auto;display:block;transition:transform 1.4s var(--ease)}
@media (hover:hover) and (pointer:fine){.pf-shot:hover .shot.tall{transform:translateY(var(--shift,0px));transition:transform 7s cubic-bezier(.45,0,.55,1)}}
.pf-fb{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:1.1rem;color:#fff;text-align:center;padding:1.5rem;
  background:radial-gradient(70% 70% at 50% 35%, color-mix(in srgb,var(--brand) 70%,#fff 12%), var(--brand) 75%)}
.pf-fb::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgb(255 255 255 / .1) 1px,transparent 1px);background-size:20px 20px}
.pf-fb > *{position:relative}
.pf-fb .big-fav{width:clamp(64px,8vw,96px);height:clamp(64px,8vw,96px);border-radius:22px;background:rgb(255 255 255 / .1);border:1px solid rgb(255 255 255 / .18);display:grid;place-items:center;overflow:hidden;transition:transform .9s var(--ease)}
@media (hover:hover) and (pointer:fine){.pf-shot:hover .big-fav{transform:scale(1.08) rotate(-4deg)}}
.pf-fb .big-fav img{width:58%;height:58%;object-fit:contain}
.pf-fb .big-fav span{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;letter-spacing:-.04em}
.pf-fb b{font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:500;letter-spacing:-.04em}
.pf-fb small{font-size:.85rem;opacity:.7}
.pf-zoom{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;padding:.5rem .8rem;border-radius:99px;z-index:2;background:rgb(22 33 31 / .72);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .6s var(--ease)}
@media (hover:hover) and (pointer:fine){.pf-shot:hover .pf-zoom,.pf-shot:focus-visible .pf-zoom{opacity:1;transform:none}}
.pf-meta{display:grid;gap:.9rem}
.pf-title{display:flex;align-items:center;gap:.8rem}
.pf-title .fav,.pf-title .fav-letter{width:28px;height:28px;border-radius:8px;font-size:.9rem}
.pf-title h3{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.pf-meta p{color:var(--fg-2);font-weight:300;max-width:48ch}
.pf-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.pf-tags span{font-size:.8rem;padding:.4rem .75rem;border-radius:99px;border:1px solid var(--line);color:var(--fg-2)}
.pf-link{display:inline-flex;align-items:center;gap:.5rem;justify-self:start;text-decoration:none;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:.25rem;transition:border-color .3s,gap .5s var(--ease)}
@media (hover:hover) and (pointer:fine){.pf-link:hover{border-color:var(--accent);gap:.8rem}}
@media (max-width:767px){.pf{grid-template-columns:1fr}.pf-card:nth-child(even){margin-top:0}}

/* preview lightbox */
.lb{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(env(safe-area-inset-bottom,0px) + 16px);background:rgb(14 22 20 / .82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lb-box{width:min(1100px,100%);max-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-radius:22px;overflow:hidden;background:#1B2826;border:1px solid #2D3D39;color:#F1F3F1}
.lb-top{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-bottom:1px solid #2D3D39}
.lb-top .addr{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:#A9B5B1;overflow:hidden;white-space:nowrap}
.lb-close{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid #2D3D39;flex:none}
@media (hover:hover) and (pointer:fine){.lb-close:hover{border-color:#F1F3F1}}
.lb-close:focus-visible{outline:2px solid var(--accent)}
.lb-close .i{transform:rotate(45deg)}
.lb-view{position:relative;overflow:auto;min-height:280px;max-height:72vh;overscroll-behavior:contain}
.lb-view .shot{display:block;width:100%;height:auto}
.lb-view .pf-fb{position:relative;min-height:420px}
.lb-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-top:1px solid #2D3D39}
.lb-foot p{color:#A9B5B1;font-size:.92rem;max-width:60ch}

/* trust bento: 3 cols x 2 rows */
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(250px,auto);grid-auto-flow:dense;gap:14px}
.b{position:relative;border-radius:28px;background:var(--surface);border:1px solid var(--line);overflow:hidden;padding:clamp(1.5rem,2.6vw,2.3rem);display:flex;flex-direction:column;gap:.7rem;min-width:0}
.b h3{font-size:clamp(1.45rem,2.2vw,2rem)}
.b p{color:var(--fg-2);font-weight:300;max-width:40ch}
.b-a{grid-column:span 2}
.b-b{grid-row:span 2;background:#16211F;color:#F1F3F1;border-color:#16211F}
.b-b p{color:#A9B5B1}
.vis{transition:transform .9s var(--ease)}
@media (hover:hover) and (pointer:fine){.b:hover .vis{transform:scale(1.05)}}
.b-a{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.doc{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.3rem;display:grid;gap:.6rem;font-size:.88rem}
.doc .r{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:.55rem;color:var(--fg-2)}
.doc .r:last-child{border:0;padding:0;color:var(--fg);font-weight:500}
.doc .ok{color:var(--accent-text);font-weight:500}
.mono{width:clamp(110px,12vw,150px);aspect-ratio:1;border-radius:50%;background:var(--accent);color:#16211F;display:grid;place-items:center;font-size:clamp(2.2rem,3.6vw,3rem);font-weight:500;letter-spacing:-.05em;margin-bottom:auto;position:relative}
.mono::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgb(232 119 90 / .45);animation:ring 3s var(--ease) infinite}
.b-b .mail{font-size:.95rem;color:#F1F3F1;word-break:break-word;margin-top:.4rem}
.big{font-size:clamp(3.6rem,6vw,5.2rem);font-weight:300;letter-spacing:-.06em;line-height:.9;color:var(--accent-text)}
.files{display:flex;flex-wrap:wrap;gap:.45rem}
.files span{font-size:.82rem;font-weight:500;padding:.5rem .8rem;border-radius:10px;border:1px solid var(--line);background:var(--bg)}
@media (max-width:900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.b-b{grid-row:span 1}.b-a{grid-column:span 2}}
@media (max-width:620px){.bento{grid-template-columns:1fr}.b-a{grid-column:auto;grid-template-columns:1fr}}

/* horizontal work gallery: full brand boards */
.work{padding-block:clamp(7rem,14vw,12rem)}
.hz{overflow:hidden}
.hz-track{display:flex;gap:22px;padding-inline:clamp(16px,4vw,48px);width:max-content;align-items:center}
.bcase{--d:#111;--p:#333;--l:#eee;--a:#999;--bf:Georgia,serif;
  position:relative;flex:none;width:min(86vw,1140px);height:min(78vh,700px);min-height:560px;border-radius:32px;padding:10px;background:var(--d);
  display:grid;grid-template-columns:1.05fr 1fr .95fr;grid-template-rows:1.18fr 1fr;gap:10px;container-type:inline-size;isolation:isolate}
.tile{position:relative;border-radius:22px;overflow:hidden;min-width:0;min-height:0}
.bcase .serif{font-family:var(--bf)}

/* art tile */
.t-art{grid-row:1 / 3;background:var(--p);color:var(--l);padding:clamp(1.1rem,2.4cqi,1.8rem);display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.t-art::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 70% 20%, color-mix(in srgb,var(--l) 14%,transparent), transparent 70%);pointer-events:none}
.t-art > *{position:relative}
.art-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-size:clamp(.66rem,1.05cqi,.8rem);letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.art-top b{font-weight:500}
.art-mid{display:grid;justify-items:start;gap:clamp(.6rem,1.4cqi,1rem)}
.mark{width:clamp(56px,8.5cqi,96px);height:auto;overflow:visible}
.mark .m-shape{fill:var(--l);fill-opacity:1;stroke:var(--l);stroke-width:1.4}
.mark .m-cut{fill:none;stroke:var(--p);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.mark .m-line{fill:none;stroke:var(--l);stroke-width:3.4;stroke-linecap:round}
.mark .m-dot{fill:var(--p)}
.wordmark{font-family:var(--bf);font-size:clamp(1.7rem,4.6cqi,3.3rem);line-height:.95;letter-spacing:-.02em}
.slogan{font-size:clamp(.82rem,1.35cqi,1rem);opacity:.82;max-width:26ch;line-height:1.45}
.palette{display:flex;gap:6px;height:clamp(64px,9cqi,92px)}
.sw{flex:1;border-radius:12px;padding:.45rem .5rem;display:flex;flex-direction:column;justify-content:flex-end;font-size:clamp(.5rem,.8cqi,.64rem);line-height:1.25;border:1px solid color-mix(in srgb,var(--l) 18%,transparent);cursor:pointer;transform-origin:50% 100%}
.sw b{font-weight:600;display:block}
.type-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;border-top:1px solid color-mix(in srgb,var(--l) 22%,transparent);padding-top:.8rem}
.type-row .aa{font-family:var(--bf);font-size:clamp(1.8rem,4cqi,2.8rem);line-height:.9}
.type-row small{font-size:clamp(.6rem,.95cqi,.74rem);opacity:.75;text-align:right;line-height:1.4}

/* website tile */
.t-web{grid-column:2 / 4;background:var(--l);color:var(--d);display:flex;flex-direction:column}
.w-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:color-mix(in srgb,var(--l) 88%,var(--d));flex:none}
.w-bar i{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--l) 60%,var(--d))}
.w-bar span{margin-left:8px;font-size:clamp(.55rem,.85cqi,.68rem);opacity:.7;background:var(--l);padding:3px 10px;border-radius:99px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w-nav{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:clamp(.6rem,1.4cqi,1rem) clamp(.9rem,2cqi,1.4rem);font-size:clamp(.55rem,.85cqi,.7rem)}
.w-logo{display:flex;align-items:center;gap:.4rem;font-family:var(--bf);font-size:clamp(.75rem,1.2cqi,.95rem);color:var(--p);white-space:nowrap}
.w-logo svg{width:clamp(14px,1.8cqi,20px)}
.w-links{display:flex;gap:clamp(.5rem,1.4cqi,1rem);opacity:.75;white-space:nowrap}
.w-btn{background:var(--p);color:var(--l);padding:.45em .9em;border-radius:99px;white-space:nowrap}
.w-hero{flex:1;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(.6rem,1.6cqi,1.2rem);padding:0 clamp(.9rem,2cqi,1.4rem) clamp(.9rem,2cqi,1.4rem);min-height:0}
.w-copy{display:flex;flex-direction:column;justify-content:center;gap:clamp(.4rem,1cqi,.7rem);min-width:0}
.w-eyebrow{font-size:clamp(.5rem,.8cqi,.64rem);letter-spacing:.08em;text-transform:uppercase;color:var(--a)}
.w-h{font-family:var(--bf);font-size:clamp(1rem,2.5cqi,1.9rem);line-height:1.04;color:var(--p);letter-spacing:-.01em}
.w-h span{display:inline-block}
.w-p{font-size:clamp(.55rem,.9cqi,.74rem);opacity:.75;line-height:1.5;max-width:34ch}
.w-ctas{display:flex;gap:.4rem;margin-top:.2rem;flex-wrap:wrap}
.w-ctas span{font-size:clamp(.55rem,.85cqi,.7rem);padding:.6em 1.1em;border-radius:99px;white-space:nowrap}
.w-ctas .c1{background:var(--p);color:var(--l)}
.w-ctas .c2{border:1px solid color-mix(in srgb,var(--d) 30%,transparent)}
.w-img{border-radius:14px;overflow:hidden;position:relative;min-height:0}
.w-img svg{position:absolute;inset:0;width:100%;height:100%}
.cursor{position:absolute;left:0;top:0;width:18px;height:18px;z-index:3;pointer-events:none;filter:drop-shadow(0 2px 3px rgb(0 0 0 / .35));opacity:0}

/* card tile */
.t-card{background:color-mix(in srgb,var(--l) 82%,var(--a));display:grid;place-items:center;perspective:900px;cursor:pointer}
.t-card::after{content:attr(data-hint);position:absolute;left:12px;bottom:10px;font-size:clamp(.55rem,.85cqi,.68rem);color:var(--d);opacity:.55}
.tilt{width:78%;transform-style:preserve-3d}
.flip{position:relative;aspect-ratio:85/55;transform-style:preserve-3d}
.face{position:absolute;inset:0;border-radius:6px;backface-visibility:hidden;-webkit-backface-visibility:hidden;padding:7% 8%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 22px 40px -18px rgb(0 0 0 / .55)}
.face.front{background:var(--p);color:var(--l)}
.face.back{background:var(--l);color:var(--d);transform:rotateY(180deg)}
.face .f-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}
.face svg.fm{width:clamp(18px,2.6cqi,30px)}
.face .nm{font-family:var(--bf);font-size:clamp(.72rem,1.35cqi,1rem);line-height:1.1}
.face .tt{font-size:clamp(.44rem,.72cqi,.58rem);opacity:.75;letter-spacing:.04em;text-transform:uppercase;margin-top:.2em}
.face .ct{font-size:clamp(.44rem,.72cqi,.58rem);line-height:1.55;opacity:.9}
.face.back{align-items:center;justify-content:center;gap:6%;text-align:center}
.face.back .wm{font-family:var(--bf);font-size:clamp(.8rem,1.6cqi,1.15rem);color:var(--p)}
.qr{width:24%;aspect-ratio:1;display:grid;grid-template-columns:repeat(7,1fr);gap:1px;color:var(--d)}
.qr i{background:currentColor}.qr i.o{background:transparent}

/* extra tile */
.t-extra{background:var(--l);color:var(--d);padding:clamp(.9rem,2cqi,1.3rem);display:flex;flex-direction:column;gap:.6rem;font-size:clamp(.58rem,.92cqi,.74rem)}
.x-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.x-head b{font-family:var(--bf);font-size:clamp(.85rem,1.5cqi,1.1rem);color:var(--p);font-weight:inherit}
.x-head span{opacity:.6;font-size:.9em}
/* insta post */
.ig{flex:1;display:grid;grid-template-rows:auto 1fr auto;gap:.45rem;min-height:0}
.ig-top{display:flex;align-items:center;gap:.4rem}
.ig-top i{width:20px;height:20px;border-radius:50%;background:var(--p);display:grid;place-items:center}
.ig-top i svg{width:60%}
.ig-img{border-radius:10px;position:relative;overflow:hidden;min-height:0}
.ig-img svg{position:absolute;inset:0;width:100%;height:100%}
.ig-heart{position:absolute;left:50%;top:50%;width:34%;margin:-17% 0 0 -17%;opacity:0;color:#fff;filter:drop-shadow(0 4px 10px rgb(0 0 0 / .3))}
.ig-bot{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.ig-bot .likes{font-weight:600}
.ig-bot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.ig-bot .h svg{fill:#E0465E;stroke:#E0465E}
/* loyalty */
.stamps{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(5px,1cqi,9px);align-content:center}
.stamp{aspect-ratio:1;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--d) 35%,transparent);display:grid;place-items:center;position:relative}
.stamp .ink{position:absolute;inset:8%;border-radius:50%;background:var(--p);display:grid;place-items:center;transform:scale(0);opacity:0}
.stamp .ink svg{width:56%;fill:var(--l)}
.stamp.free{border-color:var(--a);border-style:solid}
.stamp.free em{font-style:normal;font-size:.75em;font-weight:600;color:var(--a);text-align:center;line-height:1.1}
.x-foot{display:flex;justify-content:space-between;gap:.5rem;opacity:.7}
/* work order */
.wo{flex:1;display:grid;align-content:start;gap:.35rem}
.wo-plate{display:inline-flex;align-items:stretch;border:1.5px solid var(--d);border-radius:4px;overflow:hidden;font-weight:700;font-family:"Archivo",sans-serif;letter-spacing:.06em;justify-self:start}
.wo-plate i{background:#1F4BB0;color:#fff;font-style:normal;font-size:.7em;padding:.2em .35em;display:grid;place-items:center}
.wo-plate span{padding:.15em .55em;font-size:1.05em}
.wo-row{display:flex;align-items:center;gap:.5rem;padding:.32rem 0;border-bottom:1px dashed color-mix(in srgb,var(--d) 22%,transparent)}
.wo-row .ck{width:15px;height:15px;border-radius:4px;border:1.5px solid color-mix(in srgb,var(--d) 40%,transparent);display:grid;place-items:center;flex:none}
.wo-row .ck svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.wo-row .ck.on{background:var(--a);border-color:var(--a)}
.wo-row .ck.on svg{opacity:1}
.wo-row em{margin-left:auto;font-style:normal;opacity:.6;white-space:nowrap}
.wo-status{display:flex;justify-content:space-between;align-items:center;margin-top:.3rem}
.pill{padding:.35em .8em;border-radius:99px;background:color-mix(in srgb,var(--d) 10%,transparent);font-weight:600}
.pill.ready{background:#2F9E5B;color:#fff}
/* letterhead */
.lh{flex:1;background:#FBF8F1;border-radius:6px;box-shadow:0 14px 26px -16px rgb(0 0 0 / .4);padding:9% 10%;display:flex;flex-direction:column;gap:5%;min-height:0;transform:rotate(-1.5deg)}
.lh-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--a);padding-bottom:5%}
.lh-top b{font-family:var(--bf);color:var(--p);font-size:clamp(.7rem,1.25cqi,.95rem);font-weight:600}
.lh-top svg{width:clamp(14px,2cqi,22px)}
.lh-line{height:4px;border-radius:9px;background:color-mix(in srgb,var(--d) 12%,transparent)}
.lh-sign{margin-top:auto;display:flex;justify-content:flex-end}
.lh-sign svg{width:46%;overflow:visible}
.lh-sign path{fill:none;stroke:var(--p);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.lh small{text-align:right;opacity:.7;font-size:.85em}

.hz-end{width:min(60vw,560px);flex:none;display:flex;flex-direction:column;justify-content:center;gap:1.4rem;padding-inline:2rem}
.hz-end h3{font-size:clamp(1.8rem,3.4vw,3rem)}

/* per-brand type voices */
.bcase[data-k="lavin"] .wordmark{font-style:italic;font-weight:500}
.bcase[data-k="lavin"] :is(.w-h,.nm,.wm,.aa,.x-head b,.w-logo){font-weight:600}
.bcase[data-k="kahve"] :is(.wordmark,.w-h,.nm,.wm,.aa,.x-head b,.w-logo){font-weight:700;font-variation-settings:"opsz" 96}
.bcase[data-k="oto"] :is(.wordmark,.w-h,.nm,.wm,.aa,.x-head b,.w-logo){font-stretch:125%;font-weight:800;letter-spacing:-.01em}
.bcase[data-k="oto"] .wordmark{text-transform:uppercase;font-size:clamp(1.4rem,3.8cqi,2.7rem)}
.bcase[data-k="hukuk"] :is(.wordmark,.w-h,.nm,.wm,.aa,.x-head b,.w-logo,.lh-top b){font-weight:600}
.stamp.filled .ink{transform:none;opacity:1}
.wordmark .ch{display:inline-block;white-space:pre}

/* pre-animation states (only when Motion is running) */
.m-on .bcase:not(.seen) .tile{opacity:0;transform:translateY(40px) scale(.96)}
.m-on .bcase:not(.seen) .m-shape{fill-opacity:0}

@media (max-width:899px){
  .hz{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(16px,4vw,48px);-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hz::-webkit-scrollbar{display:none}
  .hz-track{align-items:flex-start}
  .bcase{width:88vw;height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:none;scroll-snap-align:start}
  .t-art{grid-row:auto;min-height:380px}
  .t-web{grid-column:auto;min-height:280px}
  .t-card{min-height:230px}
  .t-extra{min-height:240px}
  .hz-end{width:80vw;scroll-snap-align:start}
}

/* stacking process */
.stack{display:grid;gap:0}
.scard{position:sticky;top:calc(110px + var(--i) * 18px);margin-bottom:clamp(3rem,10vh,7rem);border-radius:32px;background:var(--surface);border:1px solid var(--line);padding:clamp(1.6rem,4vw,3.4rem);display:grid;grid-template-columns:auto 1fr auto;gap:1rem clamp(1.4rem,4vw,3.4rem);align-items:start;transform-origin:50% 0;box-shadow:0 -20px 60px -30px var(--shadow);min-height:clamp(260px,34vh,340px)}
.scard:last-child{margin-bottom:0}
.scard .n{font-size:clamp(4rem,9vw,8rem);font-weight:300;letter-spacing:-.07em;line-height:.8;color:var(--accent-text)}
.scard h3{font-size:clamp(1.7rem,3vw,2.6rem)}
.scard p{margin-top:1rem;color:var(--fg-2);font-weight:300;max-width:48ch;font-size:1.08rem}
.scard .t{font-size:.85rem;font-weight:500;padding:.5rem .85rem;border-radius:99px;border:1px solid var(--line);white-space:nowrap;color:var(--fg-2)}
@media (max-width:767px){.scard{grid-template-columns:1fr;top:calc(90px + var(--i) * 12px)}.scard .t{justify-self:start}}

/* accordion packages */
.acc{display:flex;gap:14px;height:540px}
.panel{position:relative;flex:1;min-width:0;border-radius:28px;border:1px solid var(--line);background:var(--surface);overflow:hidden;cursor:pointer;transition:flex-grow .9s var(--ease);display:flex;flex-direction:column;padding:clamp(1.4rem,2.6vw,2.2rem)}
.panel.is-open{flex-grow:2.6;cursor:default}
.panel--feat{background:#16211F;color:#F1F3F1;border-color:#16211F}
.panel.panel--feat .who,.panel.panel--feat li{color:#B9C4C0}
.panel-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.panel h3{font-size:clamp(1.6rem,2.6vw,2.4rem);white-space:nowrap}
.panel .who{color:var(--fg-3);font-size:.92rem;margin-top:.5rem}
.panel .plus{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:none;transition:transform .6s var(--ease),background .4s,border-color .4s}
.panel.is-open .plus{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.panel-body{margin-top:auto;display:grid;gap:1.4rem;opacity:0;transform:translateY(16px);transition:opacity .5s .1s,transform .7s var(--ease);min-width:280px}
.panel.is-open .panel-body{opacity:1;transform:none}
.inc{display:flex;flex-wrap:wrap;gap:.4rem}
.inc span{font-size:.82rem;padding:.4rem .75rem;border-radius:99px;border:1px solid currentColor;opacity:.85}
.panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.panel li{display:flex;gap:.6rem;color:var(--fg-2);font-weight:300}
.panel li .i{color:var(--accent);margin-top:.25em;width:16px;height:16px}
.panel .btn{justify-self:start}
.panel--feat .btn--ghost{color:#F1F3F1;border-color:#3B4D48}
@media (max-width:900px){.acc{flex-direction:column;height:auto}.panel,.panel.is-open{flex-grow:1}.panel-body{opacity:1;transform:none;margin-top:2rem;min-width:0}.panel .plus{display:none}}

/* faq */
.faq{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,7vw,7rem)}
.faq > *{min-width:0}
details{border-top:1px solid var(--line);padding-block:1.4rem}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:clamp(1.1rem,1.6vw,1.3rem);letter-spacing:-.015em}
summary::-webkit-details-marker{display:none}
summary .i{transition:transform .5s var(--ease);color:var(--fg-3)}
details[open] summary .i{transform:rotate(45deg);color:var(--accent-text)}
details p{margin-top:.8rem;color:var(--fg-2);font-weight:300;max-width:62ch}
@media (max-width:899px){.faq{grid-template-columns:1fr}}

/* action */
.action{position:relative;isolation:isolate;overflow:clip}
.action .glow--a{left:-10%;right:auto;top:-10%}
.cta-title{font-size:clamp(3rem,8.4vw,8rem);font-weight:500;letter-spacing:-.06em;line-height:.95}
.cta-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,7vw,7rem);margin-top:clamp(3rem,6vw,5rem)}
.cta-grid > *{min-width:0}
.contact{display:grid;gap:1.6rem;align-content:start}
.contact div{display:grid;gap:.3rem}
.contact span{color:var(--fg-3);font-size:.9rem}
.contact strong{font-weight:400;font-size:clamp(1.1rem,1.8vw,1.4rem);word-break:break-word}
form{display:grid;gap:1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(1.4rem,3vw,2.4rem)}
.field{display:grid;gap:.5rem}
.field > label,.lg{font-weight:500;font-size:.95rem}
.help{font-size:.84rem;color:var(--fg-3)}
.err{font-size:.84rem;color:#F08A7A}
input[type=text],textarea,select{font:inherit;font-size:1rem;color:var(--fg);background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;width:100%;transition:border-color .25s,box-shadow .25s}
input::placeholder,textarea::placeholder{color:var(--fg-3)}
input[type=text]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgb(232 119 90 / .18)}
[aria-invalid="true"]{border-color:#F08A7A!important}
textarea{min-height:120px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.checks{display:flex;flex-wrap:wrap;gap:.5rem}
.checks label{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:99px;padding:.65rem 1.05rem;cursor:pointer;font-size:.95rem;transition:all .3s var(--ease)}
.checks input{accent-color:var(--accent)}
.checks label:has(input:checked){border-color:var(--accent);background:rgb(232 119 90 / .14)}
.actions{display:flex;flex-wrap:wrap;gap:.7rem}
.result{border:1px dashed var(--line);border-radius:16px;padding:1.1rem;display:grid;gap:.6rem}
.result pre{margin:0;white-space:pre-wrap;font:400 .88rem/1.55 var(--font);color:var(--fg-2)}
.sk{height:10px;border-radius:6px;background:linear-gradient(90deg,var(--bg-2),var(--line),var(--bg-2));background-size:200% 100%;animation:sh 1.6s linear infinite}
@media (max-width:900px){.cta-grid{grid-template-columns:1fr}}
@media (max-width:560px){.two{grid-template-columns:1fr}}







@keyframes drift{to{transform:translate(-5vw,4vh) scale(1.12)}}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes sh{to{background-position:-200% 0}}
@keyframes drip{to{top:110%}}
@keyframes ring{0%{transform:scale(.92);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@keyframes wobble{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(-3deg) translateY(-6%)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* mystic background: logo-construction star chart */
#mystic{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;--mys:#E8775A;--mys-rgb:232,119,90}
body[data-tone="light"] #mystic{--mys:#B5482E;--mys-rgb:181,72,46}
main,footer{position:relative;z-index:1}
#mystic canvas{position:absolute;inset:0;width:100%;height:100%}
#mystic .geo-wrap{position:absolute;left:50%;top:50%;width:min(132vmin,1320px);aspect-ratio:1;margin:calc(min(132vmin,1320px) / -2) 0 0 calc(min(132vmin,1320px) / -2);will-change:transform}
#mystic .geo{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#mystic .geo g{transform-box:view-box;transform-origin:50% 50%}
#mystic .gd{fill:none;stroke:var(--mys);stroke-width:1;vector-effect:non-scaling-stroke}
#mystic .spiral{stroke-width:1.4}
#mystic text{fill:var(--mys);stroke:none;font:500 11px/1 "Geist",system-ui,sans-serif;letter-spacing:.12em}
#mystic .words{font-size:15px;letter-spacing:.42em}
#mystic .star{fill:var(--mys);transform-box:fill-box;transform-origin:50% 50%}
#mystic .base{opacity:.16;transition:opacity .9s}
body[data-tone="light"] #mystic .base{opacity:.2}
#mystic .lit{position:absolute;inset:0;opacity:.85;
  -webkit-mask-image:radial-gradient(circle 230px at var(--mx,-999px) var(--my,-999px),#000 0%,rgb(0 0 0 / .35) 45%,transparent 72%);
          mask-image:radial-gradient(circle 230px at var(--mx,-999px) var(--my,-999px),#000 0%,rgb(0 0 0 / .35) 45%,transparent 72%)}
body[data-tone="light"] #mystic .lit{opacity:.45}
#mystic.css-spin .ring-outer{animation:spin 260s linear infinite}
#mystic.css-spin .ring-words{animation:spin 180s linear infinite reverse}
#mystic.css-spin .ring-inner{animation:spin 120s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (hover:none){#mystic .lit{display:none}}
@media (prefers-reduced-motion:reduce){#mystic .lit{display:none}}

/* personal business card in the "Tek muhatap" tile */
.b-b{justify-content:flex-start}
.ycard-wrap{container-type:inline-size;perspective:1100px;margin-bottom:auto;padding-bottom:1.6rem;display:grid;gap:.7rem}
.ycard{position:relative;width:100%;aspect-ratio:85/55;transform-style:preserve-3d;cursor:pointer;--rx:0deg;--ry:0deg;--flip:0deg;
  transform:rotateX(var(--rx)) rotateY(calc(var(--ry) + var(--flip)));transition:transform .9s cubic-bezier(.16,1,.3,1)}
.ycard.flipped{--flip:180deg}
.ycard.tracking{transition:transform .25s ease-out}
.ycard:focus-visible{outline:2px solid #E8775A;outline-offset:6px;border-radius:12px}
.yface{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;container-type:inline-size;
  padding:7% 8%;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 34px 60px -26px rgb(0 0 0 / .75)}
.yfront{background:#FBFAF7;color:#16211F}
.yfront::before{content:"";position:absolute;right:-12%;top:-34%;width:42%;aspect-ratio:1;border-radius:50%;background:#E8775A;opacity:.16}
.yfront::after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:4px;background:#E8775A;border-radius:4px 4px 0 0}
.y-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;position:relative}
.y-top svg{width:10cqi;height:10cqi}
.y-tag{font-size:3.1cqi;letter-spacing:.08em;text-transform:uppercase;color:#6F7E79}
.y-name{font-size:7.4cqi;font-weight:600;letter-spacing:-.035em;line-height:1}
.y-role{font-size:3.5cqi;color:#4B5A56;margin-top:1.6cqi;letter-spacing:.01em}
.y-info{list-style:none;margin:0;padding:3cqi 0 0;border-top:1px solid #E3E8E6;display:grid;gap:1.6cqi;font-size:3.6cqi}
.y-info li{display:flex;align-items:center;gap:2.2cqi;min-width:0}
.y-info span,.y-info a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#16211F;text-decoration:none}
.y-info a{font-weight:600;letter-spacing:.02em}
.yi{width:4.2cqi;height:4.2cqi;flex:none;fill:none;stroke:#E8775A;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.yback{background:#E8775A;color:#16211F;transform:rotateY(180deg);align-items:center;justify-content:center;text-align:center;gap:3cqi}
.yback svg{width:20cqi;height:20cqi}
.yback b{font-size:6.4cqi;font-weight:600;letter-spacing:-.03em}
.yback span{font-size:3.6cqi;opacity:.75}
.ycard .yback{justify-content:center;gap:3cqi}
.y-hint{font-size:.78rem;color:#6F7E79}
.y-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.y-actions .btn{padding:.85rem 1.2rem;font-size:.92rem}
.y-wa{background:transparent;color:#F1F3F1;border-color:#3B4D48}
@media (hover:hover) and (pointer:fine){.y-wa:hover{border-color:#F1F3F1}}
@media (prefers-reduced-motion:reduce){.ycard{transition:none}}
/* multi-page additions */
.nav-links a[aria-current="page"]{color:var(--fg)}
.nav-links a[aria-current="page"]::after{transform:scaleX(1);background:var(--accent);height:2px}

/* page head */
.ph{padding-block:clamp(9rem,15vw,12rem) clamp(3rem,6vw,5rem)}
.crumb{display:flex;gap:.55rem;align-items:center;font-size:.9rem;color:var(--fg-3)}
.crumb a{color:var(--fg-2);text-decoration:none}
@media (hover:hover) and (pointer:fine){.crumb a:hover{color:var(--fg)}}
.crumb i{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.ph h1{font-size:clamp(2.8rem,7.4vw,7rem);font-weight:500;letter-spacing:-.055em;line-height:.98;margin-top:1.6rem}
.ph-row{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:end;margin-top:2rem}
.ph-row .lead{justify-self:end}
.ph-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.ph-chips a{font-size:.9rem;padding:.6rem 1rem;border-radius:99px;border:1px solid var(--line);text-decoration:none;color:var(--fg-2);transition:border-color .3s,color .3s,background .3s}
@media (hover:hover) and (pointer:fine){.ph-chips a:hover{border-color:var(--accent);color:var(--fg);background:rgb(232 119 90 / .08)}}
@media (max-width:767px){.ph-row{grid-template-columns:1fr}.ph-row .lead{justify-self:start}}

/* go cards (Ana sayfa) */
.go-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:14px}
.go{position:relative;overflow:hidden;border-radius:32px;padding:clamp(1.6rem,3.4vw,2.8rem);min-height:clamp(320px,34vw,440px);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;text-decoration:none;isolation:isolate}
.go--dark{background:#16211F;color:#F1F3F1}
.go--coral{background:#E8775A;color:#1E0F0A}
.go small{font-size:.9rem;opacity:.75}
.go h3{font-size:clamp(2rem,4.2vw,3.6rem);letter-spacing:-.045em;line-height:1}
.go p{max-width:38ch;opacity:.8;font-weight:300}
.go-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.go-arrow{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .7s var(--ease)}
.go--dark .go-arrow{background:#E8775A;color:#1E0F0A}
.go--coral .go-arrow{background:#16211F;color:#F1F3F1}
@media (hover:hover) and (pointer:fine){.go:hover .go-arrow{transform:rotate(-45deg) scale(1.08)}}
.go-art{position:absolute;z-index:-1;pointer-events:none;transition:transform 1.1s var(--ease)}
@media (hover:hover) and (pointer:fine){.go:hover .go-art{transform:translate(-10px,-10px) rotate(-3deg)}}
.go--dark .go-art{right:-4%;top:-8%;display:flex;gap:10px;transform:rotate(-8deg)}
@media (hover:hover) and (pointer:fine){.go--dark:hover .go-art{transform:rotate(-4deg) translateY(10px)}}
.go-art .sw2{width:clamp(70px,9vw,120px);aspect-ratio:85/55;border-radius:8px;box-shadow:0 20px 40px -18px rgb(0 0 0 / .6)}
.go--coral .go-art{right:-12%;bottom:-22%;width:62%;aspect-ratio:1;border-radius:50%;border:2px solid rgb(30 15 10 / .18)}
.go--coral .go-art::before,.go--coral .go-art::after{content:"";position:absolute;inset:14%;border-radius:50%;border:2px solid rgb(30 15 10 / .14)}
.go--coral .go-art::after{inset:32%}
@media (max-width:767px){.go-grid{grid-template-columns:1fr}}

/* footer */
.site-foot{border-top:1px solid var(--line);padding-block:clamp(4rem,8vw,6rem) 2rem}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem}
.foot-grid h4{margin:0 0 1rem;font-size:.85rem;font-weight:500;color:var(--fg-3);letter-spacing:.04em}
.foot-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.foot-grid a{text-decoration:none;color:var(--fg-2)}
@media (hover:hover) and (pointer:fine){.foot-grid a:hover{color:var(--fg)}}
.foot-brand p{color:var(--fg-2);font-weight:300;max-width:34ch;margin-top:1rem}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:clamp(3rem,6vw,5rem);padding-top:1.4rem;border-top:1px solid var(--line);color:var(--fg-3);font-size:.88rem}
@media (max-width:767px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1 / -1}}

/* page curtain */
#pt{position:fixed;inset:0;z-index:100;pointer-events:none;display:none}
.js #pt{display:block;animation:ptsafe .01s 6s forwards}
.js #pt.ready{animation:none}
@keyframes ptsafe{to{visibility:hidden}}
#pt .pt-a,#pt .pt-b{position:absolute;inset:0}
#pt .pt-a{background:#E8775A}
#pt .pt-b{background:#F7F8F5;display:grid;place-items:center}
#pt .pt-mark{width:64px;height:64px}

/* shake-to-scatter easter egg */
html.spellbound body{pointer-events:none}
html.spellbound .line,html.spellbound .hero,html.spellbound .action,html.spellbound .t-art{overflow:visible}
html.spellbound main section{isolation:auto}
.shake-hint{display:inline-flex;align-items:center;gap:.45rem}
.shake-hint i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:hintpulse 2.4s ease-in-out infinite}
@keyframes hintpulse{50%{transform:scale(1.6);opacity:.4}}
html.spellbound{overflow:hidden;touch-action:none}
.shake-hint.mob{display:none}
@media (hover:none),(pointer:coarse){.shake-hint.desk{display:none}html.has-motion .shake-hint.mob{display:inline-flex}}
.magic-on{font:inherit;font-size:.82rem;font-weight:500;padding:.35rem .8rem;border-radius:99px;border:1px solid var(--accent);background:transparent;color:var(--accent-text);cursor:pointer}
.magic-on:disabled{opacity:.7;cursor:default}
@media (prefers-reduced-motion:reduce){.shake-hint{display:none}}

/* ===== Buttons: instant press, real material, complete states ===== */
.btn{position:relative;isolation:isolate;min-height:48px;font-weight:500;letter-spacing:-.011em;line-height:1.1;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;
  transition-property:transform,box-shadow,background-color,border-color,color;
  transition-duration:.45s,.45s,.25s,.25s,.25s;
  transition-timing-function:cubic-bezier(.23,1,.32,1),cubic-bezier(.23,1,.32,1),ease,ease,ease}
/* feedback lives on the press: fast in, soft release */
.btn:active{transform:scale(.97);transition-duration:.1s,.1s,.25s,.25s,.25s}
.btn .i{transition:transform .45s cubic-bezier(.23,1,.32,1)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* primary: coral with a lit top edge and a tinted shadow */
.btn--gold{color:#1E0F0A;border-color:transparent;
  background:linear-gradient(180deg,#EF8A6E 0%,#E8775A 52%,#E26D50 100%);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .38),inset 0 -1px 0 rgb(120 40 20 / .16),0 1px 2px rgb(150 60 35 / .22),0 10px 22px -12px rgb(232 119 90 / .75)}
.btn--gold::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;opacity:0;pointer-events:none;transition:opacity .35s ease;
  background:radial-gradient(110px circle at var(--bx,50%) var(--by,50%),rgb(255 255 255 / .42),transparent 70%)}

/* secondary: frosted glass that sits on any section */
.btn--ghost{color:var(--fg);background:color-mix(in srgb,var(--surface) 62%,transparent);
  border-color:color-mix(in srgb,var(--fg) 14%,transparent);
  -webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .55),0 1px 2px rgb(22 33 31 / .06)}
/* ghost on dark surfaces */
.panel--feat .btn--ghost,.y-wa,.lb-box .btn--ghost{color:#F1F3F1;background:rgb(255 255 255 / .06);border-color:rgb(255 255 255 / .16);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .1)}

@media (hover:hover) and (pointer:fine){
  .btn--gold:hover{transform:translateY(-1px);background:linear-gradient(180deg,#F2937A 0%,#EB7F63 52%,#E47456 100%);box-shadow:inset 0 1px 0 rgb(255 255 255 / .42),inset 0 -1px 0 rgb(120 40 20 / .16),0 2px 4px rgb(150 60 35 / .2),0 16px 30px -14px rgb(232 119 90 / .85)}
  .btn--gold:hover::before{opacity:1}
  .btn--ghost:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--surface) 88%,transparent);border-color:color-mix(in srgb,var(--fg) 32%,transparent)}
  .panel--feat .btn--ghost:hover,.y-wa:hover,.lb-box .btn--ghost:hover{background:rgb(255 255 255 / .12);border-color:rgb(255 255 255 / .34)}
  .btn:hover .i{transform:translateX(3px)}
  .btn:active,.btn--gold:active,.btn--ghost:active{transform:scale(.97)}
  .btn:active .i{transform:translateX(5px)}
}

/* states */
.btn:disabled,.btn[aria-disabled="true"]{cursor:default;opacity:.55;transform:none;box-shadow:none}
.btn.is-loading{color:transparent!important;pointer-events:none;opacity:1}
.btn.is-loading .i{opacity:0}
.btn.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;
  border:2px solid rgb(30 15 10 / .22);border-top-color:#1E0F0A;animation:spin .7s linear infinite}

/* sizes: comfortable 44px+ targets everywhere */
.nav .btn{min-height:44px;padding:.7rem 1.15rem}
.y-actions .btn{min-height:46px}

/* small controls get the same instant press */
.ph-chips a,.checks label,.lb-close,.panel .plus,.magic-on,.pf-link,.nav-links a{-webkit-tap-highlight-color:transparent}
.ph-chips a:active,.checks label:active,.lb-close:active,.magic-on:active{transform:scale(.96);transition:transform .1s ease-out}
.ph-chips a,.checks label,.lb-close,.magic-on{transition:transform .4s cubic-bezier(.23,1,.32,1),border-color .25s ease,background-color .25s ease,color .25s ease}
.ph-chips a:focus-visible,.checks label:has(:focus-visible),.lb-close:focus-visible,.magic-on:focus-visible,.pf-link:focus-visible,.nav-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:99px}

@media (prefers-reduced-motion:reduce){
  .btn,.btn .i,.ph-chips a,.checks label{transition-property:background-color,border-color,color,box-shadow,opacity}
  .btn:hover,.btn:active,.btn:hover .i,.btn:active .i,.ph-chips a:active,.checks label:active{transform:none}
  .btn.is-loading::after{animation-duration:1.6s}
}
@media (prefers-reduced-transparency:reduce){
  .btn--ghost{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--surface)}
}
@media (prefers-contrast:more){
  .btn--ghost{border-color:var(--fg)}
  .btn--gold{box-shadow:0 0 0 1px #1E0F0A}
}

/* ===================== Liquid Glass ===================== */
:root{--lg-blur:10px;--lg-sat:1.9}
/* shared glass recipe for buttons and small controls */
.btn,.ph-chips a,.checks label,.lb-close,.magic-on,.panel .plus{
  -webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat)) brightness(1.04);
          backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat)) brightness(1.04)}
html.lg-refract .btn,html.lg-refract .ph-chips a,html.lg-refract .checks label,html.lg-refract .lb-close,html.lg-refract .panel .plus{
  backdrop-filter:url(#lg-refract) blur(var(--lg-blur)) saturate(var(--lg-sat)) brightness(1.04)}

/* clear glass (secondary) */
.btn--ghost{color:var(--fg);border-color:transparent;
  background:linear-gradient(180deg,rgb(255 255 255 / .42),rgb(255 255 255 / .16));
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .85),inset 0 -1px 1px rgb(255 255 255 / .25),inset 0 0 0 .5px rgb(255 255 255 / .5),
    inset 0 -10px 18px -12px rgb(255 255 255 / .55),0 8px 24px -12px rgb(22 33 31 / .22),0 1px 2px rgb(22 33 31 / .08)}
/* tinted glass (primary) */
.btn--gold{color:#1E0F0A;border-color:transparent;
  background:linear-gradient(180deg,rgb(240 140 112 / .86),rgb(232 119 90 / .78) 55%,rgb(222 104 76 / .84));
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .7),inset 0 -1px 1px rgb(255 255 255 / .2),inset 0 0 0 .5px rgb(255 230 220 / .45),
    inset 0 -12px 20px -12px rgb(255 220 205 / .55),0 10px 26px -12px rgb(232 119 90 / .7),0 1px 2px rgb(150 60 35 / .2)}
/* dark glass on dark surfaces */
.panel--feat .btn--ghost,.y-wa,.lb-box .btn--ghost{color:#F1F3F1;
  background:linear-gradient(180deg,rgb(255 255 255 / .14),rgb(255 255 255 / .05));
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .35),inset 0 0 0 .5px rgb(255 255 255 / .22),inset 0 -10px 18px -12px rgb(255 255 255 / .18),0 10px 24px -14px rgb(0 0 0 / .6)}

/* specular rim: light catches the top-left edge, fades, returns softly bottom-right */
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;opacity:1;
  background:linear-gradient(135deg,rgb(255 255 255 / .95),rgb(255 255 255 / .2) 32%,rgb(255 255 255 / 0) 55%,rgb(255 255 255 / .45));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.panel--feat .btn--ghost::before,.y-wa::before,.lb-box .btn--ghost::before{opacity:.45}
/* light that follows the pointer inside the glass */
.btn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;
  background:radial-gradient(90px circle at var(--bx,50%) var(--by,50%),rgb(255 255 255 / .55),rgb(255 255 255 / 0) 70%);
  transition:opacity .35s ease}
.btn--gold::before{background:linear-gradient(135deg,rgb(255 255 255 / .9),rgb(255 240 230 / .25) 32%,rgb(255 255 255 / 0) 55%,rgb(255 230 215 / .5))}
.btn > *{position:relative;z-index:2}

/* liquid press: the glass squashes like a drop, then springs back */
.btn{transition-property:transform,box-shadow,background-color,border-color,color,filter;
  transition-duration:.55s,.45s,.25s,.25s,.25s,.3s;
  transition-timing-function:cubic-bezier(.34,1.56,.64,1),cubic-bezier(.23,1,.32,1),ease,ease,ease,ease}
.btn:active{transform:scale(1.04,.94);filter:brightness(1.06);transition-duration:.12s,.12s,.25s,.25s,.25s,.12s;transition-timing-function:cubic-bezier(.23,1,.32,1)}
@media (hover:hover) and (pointer:fine){
  .btn:hover::after{opacity:1}
  .btn--ghost:hover{transform:translateY(-1px);background:linear-gradient(180deg,rgb(255 255 255 / .55),rgb(255 255 255 / .24))}
  .btn--gold:hover{transform:translateY(-1px);background:linear-gradient(180deg,rgb(244 150 122 / .9),rgb(236 126 98 / .82) 55%,rgb(226 110 82 / .88))}
  .btn:active,.btn--gold:active,.btn--ghost:active{transform:scale(1.04,.94)}
}
.btn.is-loading::after{background:none;opacity:1;inset:auto;z-index:3}

/* small controls: clear glass */
.ph-chips a,.checks label,.lb-close,.panel .plus,.magic-on{position:relative;border-color:transparent!important;
  background:linear-gradient(180deg,rgb(255 255 255 / .4),rgb(255 255 255 / .14));
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .8),inset 0 0 0 .5px rgb(255 255 255 / .45),0 6px 16px -10px rgb(22 33 31 / .25),0 0 0 1px color-mix(in srgb,var(--fg) 8%,transparent)}
.checks label:has(input:checked){background:linear-gradient(180deg,rgb(240 140 112 / .55),rgb(232 119 90 / .32));box-shadow:inset 0 1px 1px rgb(255 255 255 / .75),inset 0 0 0 .5px rgb(255 230 220 / .5),0 6px 16px -10px rgb(232 119 90 / .6)}
.lb-close,.panel--feat .plus{background:linear-gradient(180deg,rgb(255 255 255 / .16),rgb(255 255 255 / .05));box-shadow:inset 0 1px 1px rgb(255 255 255 / .3),inset 0 0 0 .5px rgb(255 255 255 / .2)}
.panel.is-open .plus{background:linear-gradient(180deg,rgb(240 140 112 / .9),rgb(232 119 90 / .8));box-shadow:inset 0 1px 1px rgb(255 255 255 / .7),0 6px 16px -8px rgb(232 119 90 / .7)}
.ph-chips a:active,.checks label:active,.lb-close:active,.magic-on:active{transform:scale(1.05,.93)}

/* navigation: a floating Liquid Glass capsule */
.nav,.nav.solid{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}
.nav .wrap{position:relative;max-width:min(1180px,calc(100% - 24px));margin-inline:auto;padding:.42rem .45rem .42rem 1rem;border-radius:999px;
  background:linear-gradient(180deg,rgb(255 255 255 / .5),rgb(255 255 255 / .22));
  -webkit-backdrop-filter:blur(16px) saturate(1.9) brightness(1.04);backdrop-filter:blur(16px) saturate(1.9) brightness(1.04);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .9),inset 0 -1px 1px rgb(255 255 255 / .3),inset 0 0 0 .5px rgb(255 255 255 / .55),
    inset 0 -14px 24px -16px rgb(255 255 255 / .6),0 12px 32px -14px rgb(22 33 31 / .28),0 0 0 1px color-mix(in srgb,var(--fg) 6%,transparent)}
html.lg-refract .nav .wrap{backdrop-filter:url(#lg-refract-wide) blur(16px) saturate(1.9) brightness(1.04)}
body[data-tone="dark"] .nav .wrap{background:linear-gradient(180deg,rgb(255 255 255 / .14),rgb(255 255 255 / .05));
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .3),inset 0 0 0 .5px rgb(255 255 255 / .18),0 12px 32px -14px rgb(0 0 0 / .6)}
.nav .wrap::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(110deg,rgb(255 255 255 / .9),rgb(255 255 255 / .1) 30%,rgb(255 255 255 / 0) 60%,rgb(255 255 255 / .5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
          mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.nav-links a{padding:.5rem .8rem;border-radius:99px;transition:background-color .25s ease,color .25s ease}
@media (hover:hover) and (pointer:fine){.nav-links a:hover{background:rgb(255 255 255 / .35)}}
.nav-links a::after{bottom:2px;left:.8rem;right:.8rem}
.nav-links{gap:.2rem}
@media (max-width:820px){.nav .wrap{padding-left:.8rem}}

/* accessibility: solid materials when transparency is reduced or contrast is raised */
@media (prefers-reduced-transparency:reduce){
  .btn,.ph-chips a,.checks label,.lb-close,.panel .plus,.magic-on,.nav .wrap{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .btn--ghost,.ph-chips a,.checks label,.nav .wrap{background:var(--surface)}
  .btn--gold{background:#E8775A}
}
@media (prefers-contrast:more){
  .btn--ghost,.ph-chips a,.checks label,.nav .wrap{background:var(--surface);box-shadow:0 0 0 1.5px var(--fg)}
  .btn::before,.nav .wrap::before{display:none}
}
@media (prefers-reduced-motion:reduce){
  .btn:active,.ph-chips a:active,.checks label:active,.lb-close:active,.magic-on:active{transform:none}
}

/* ===== design-tool cursor: pen, selection, text, eyedropper, resize ===== */
html.dc,html.dc *{cursor:none!important}
html.dc input[type=text],html.dc textarea{cursor:text!important}
html.dc select{cursor:pointer!important}
#dc-tool,#dc-sel,#dc-pick{position:fixed;left:0;top:0;pointer-events:none;z-index:99;opacity:0;transition:opacity .2s ease}
html.dc.dc-on #dc-tool{opacity:1}
html.dc.dc-native #dc-tool,html.dc.dc-native #dc-sel,html.dc.dc-native #dc-pick{opacity:0!important}
#dc-tool{width:24px;height:24px;will-change:transform}
#dc-tool svg{position:absolute;inset:0;width:24px;height:24px;opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .25s cubic-bezier(.23,1,.32,1)}
#dc-tool[data-tool="pen"] .t-pen,#dc-tool[data-tool="move"] .t-move,#dc-tool[data-tool="text"] .t-text,#dc-tool[data-tool="pick"] .t-pick,#dc-tool[data-tool="resize"] .t-resize{opacity:1;transform:none}
html.dc-down #dc-tool svg{transform:scale(.88)}
/* selection box with handles and live dimensions */
#dc-sel{contain:layout style;will-change:transform,width,height;border:1.5px solid #E8775A;border-radius:2px}
html.dc.dc-on.dc-has-sel #dc-sel{opacity:1}
#dc-sel i{position:absolute;width:8px;height:8px;background:#fff;border:1.5px solid #E8775A;border-radius:1.5px}
#dc-sel i:nth-child(1){left:-5px;top:-5px}#dc-sel i:nth-child(2){right:-5px;top:-5px}
#dc-sel i:nth-child(3){left:-5px;bottom:-5px}#dc-sel i:nth-child(4){right:-5px;bottom:-5px}
#dc-sel b{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;font:600 11px/1 "Geist",system-ui,sans-serif;
  font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#fff;background:#E8775A;padding:4px 7px;border-radius:5px}
html.dc-down #dc-sel{border-width:2px}
/* eyedropper readout */
#dc-pick{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:99px;background:#16211F;color:#F1F3F1;
  font:600 11px/1 "Geist",system-ui,sans-serif;letter-spacing:.03em;box-shadow:0 6px 16px -6px rgb(0 0 0 / .45)}
#dc-pick span{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgb(255 255 255 / .85)}
html.dc.dc-on.dc-has-pick #dc-pick{opacity:1}
#dc-ink{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:97}
html.dc-drawing,html.dc-drawing *{-webkit-user-select:none!important;user-select:none!important}

/* ================= mobile-native layer ================= */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,[role="button"],summary,label,.btn{touch-action:manipulation}
.btn,button,summary,.ph-chips a,.checks label,.nav-links a,.menu-btn,.msheet nav a,.go,.pf-link,.spell-tip{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select{font-size:max(16px,1rem)!important}
.hz-track,.hz,.lb-box,.msheet{overscroll-behavior:contain}
.site-foot{padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}
@media (pointer:coarse){
  .go:active,.pf-shot:active,.b:active,.scard:active{transform:scale(.985);transition:transform .12s ease-out}
  .nav-links a:active,.foot-grid a:active,.crumb a:active{opacity:.6}
}

/* menu button: lives in the glass capsule, only under 820px */
.menu-btn{display:none;position:relative;width:44px;height:44px;border-radius:50%;border:0;padding:0;cursor:pointer;color:var(--fg);
  background:linear-gradient(180deg,rgb(255 255 255 / .6),rgb(255 255 255 / .25));
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .9),inset 0 0 0 .5px rgb(255 255 255 / .6),0 4px 12px -6px rgb(22 33 31 / .3);
  transition:transform .16s cubic-bezier(.23,1,.32,1)}
.menu-btn:active{transform:scale(.92)}
.menu-btn span{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.23,1,.32,1),top .35s cubic-bezier(.23,1,.32,1)}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:25px}
.menu-btn[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
body[data-tone="dark"] .menu-btn{color:#F7F8F5;background:linear-gradient(180deg,rgb(255 255 255 / .18),rgb(255 255 255 / .06))}
.menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* the sheet: a Liquid Glass panel that drops from the capsule */
.msheet{position:absolute;left:12px;right:12px;top:calc(100% + 8px);border-radius:28px;padding:.6rem;max-height:calc(100svh - 110px);overflow-y:auto;
  background:linear-gradient(180deg,rgb(255 255 255 / .82),rgb(255 255 255 / .62));color:#16211F;
  -webkit-backdrop-filter:blur(24px) saturate(1.9);backdrop-filter:blur(24px) saturate(1.9);
  box-shadow:inset 0 1px 1px rgb(255 255 255 / .95),inset 0 0 0 .5px rgb(255 255 255 / .7),0 24px 60px -20px rgb(22 33 31 / .45),0 0 0 1px rgb(22 33 31 / .06);
  transform-origin:top right;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .22s ease-out,transform .32s cubic-bezier(.23,1,.32,1)}
.msheet.on{opacity:1;transform:none}
.msheet nav{display:grid}
.msheet nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 1.1rem;border-radius:18px;text-decoration:none;color:inherit;
  font-size:1.35rem;font-weight:600;letter-spacing:-.02em;transition:background-color .15s ease}
.msheet nav a i{font-style:normal;opacity:.35;font-size:1.1rem;transition:transform .2s ease}
.msheet nav a:active{background:rgb(22 33 31 / .07)}
.msheet nav a[aria-current="page"]{background:rgb(232 119 90 / .12)}
.msheet nav a[aria-current="page"] i{opacity:1;color:#E8775A}
.msheet.on nav a{animation:msin .45s cubic-bezier(.23,1,.32,1) both}
.msheet.on nav a:nth-child(2){animation-delay:.03s}.msheet.on nav a:nth-child(3){animation-delay:.06s}.msheet.on nav a:nth-child(4){animation-delay:.09s}
@keyframes msin{from{opacity:0;transform:translateY(-6px)}}
.msheet-foot{display:grid;gap:.5rem;padding:.6rem .4rem .4rem;border-top:1px solid rgb(22 33 31 / .08);margin-top:.4rem}
.msheet-foot .btn{width:100%;justify-content:center;min-height:50px}
.msheet-scrim{position:fixed;inset:0;z-index:69;background:rgb(22 33 31 / .18);opacity:0;transition:opacity .25s ease}
.msheet-scrim.on{opacity:1}
html.menu-open{overflow:hidden}
@media (max-width:820px){
  .menu-btn{display:block}
  .nav .wrap{grid-template-columns:1fr auto auto;gap:.4rem}
  .nav .btn{padding:.6rem .95rem;min-height:44px}
}
@media (min-width:821px){.msheet,.msheet-scrim{display:none!important}}
@media (max-width:380px){.nav .brand span,.nav .brand b{font-size:.92em}}
@media (prefers-reduced-motion:reduce){.msheet,.msheet nav a,.menu-btn span{transition:none!important;animation:none!important}}
@media (prefers-reduced-transparency:reduce){.msheet{-webkit-backdrop-filter:none;backdrop-filter:none;background:#F7F8F5}}

/* floating shake tip (phones only, once per visit) */
.spell-tip{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;display:flex;align-items:center;gap:.6rem;
  width:max-content;max-width:calc(100% - 32px);white-space:nowrap;padding:.5rem .5rem .5rem .9rem;border:0;border-radius:999px;font:inherit;font-size:.92rem;color:#16211F;cursor:pointer;
  background:linear-gradient(180deg,rgb(255 255 255 / .85),rgb(255 255 255 / .62));
  -webkit-backdrop-filter:blur(20px) saturate(1.9);backdrop-filter:blur(20px) saturate(1.9);
  box-shadow:inset 0 1px 1px #fff,inset 0 0 0 .5px rgb(255 255 255 / .7),0 16px 40px -14px rgb(22 33 31 / .45),0 0 0 1px rgb(22 33 31 / .06);
  opacity:0;transform:translate(-50%,24px) scale(.96);pointer-events:none;transition:opacity .3s ease-out,transform .5s cubic-bezier(.23,1,.32,1)}
.spell-tip.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.spell-tip:active{transform:translate(-50%,0) scale(.96);transition-duration:.12s}
.spell-tip .st-ico{color:#E8775A;font-size:1.05rem;animation:hintpulse 2.4s ease-in-out infinite}
.spell-tip b{font-weight:600}
.spell-tip .st-go{padding:.45rem .85rem;border-radius:99px;background:#E8775A;color:#1E0F0A;font-weight:600;font-size:.85rem}
html.spellbound .spell-tip{display:none}

/* ================= mini game ================= */
.game-sec{padding-top:clamp(2rem,5vw,4rem)}
.gm{position:relative;max-width:980px;margin-inline:auto;border-radius:28px;padding:clamp(.6rem,1.4vw,1rem);
  background:linear-gradient(180deg,rgb(255 255 255 / .7),rgb(255 255 255 / .4));
  -webkit-backdrop-filter:blur(16px) saturate(1.6);backdrop-filter:blur(16px) saturate(1.6);
  box-shadow:inset 0 1px 1px #fff,inset 0 0 0 .5px rgb(255 255 255 / .7),0 30px 70px -30px rgb(22 33 31 / .35),0 0 0 1px rgb(22 33 31 / .06)}
.gm-hud{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.6rem);flex-wrap:wrap;padding:.3rem .5rem .7rem;font-size:.9rem;color:var(--fg-2);font-variant-numeric:tabular-nums}
.gm-hud b{color:var(--fg);font-weight:600}
.gm-c{display:inline-flex;align-items:center;gap:.35rem}
.gm-c b{margin-right:.5rem}
.gm-lives b{color:var(--accent);letter-spacing:.1em}
.gm-snd{margin-left:auto;font:inherit;font-size:.8rem;padding:.4rem .8rem;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--fg-2);cursor:pointer;min-height:36px}
.gm-snd[aria-pressed="true"]{opacity:.6}
.c-logo,.c-card,.c-web,.c-tpl{display:inline-block;width:14px;height:14px;vertical-align:-2px}
.c-logo{background:radial-gradient(circle,#E8775A 0 2.5px,transparent 3px),#16211F;border-radius:4px}
.c-card{width:16px;height:11px;background:linear-gradient(#E8775A,#E8775A) 3px 3px/6px 1.5px no-repeat,#F7F8F5;box-shadow:0 0 0 1.5px #16211F;border-radius:1px}
.c-web{background:linear-gradient(#F7F8F5,#F7F8F5) 2px 5px/10px 7px no-repeat,#16211F;border-radius:2px}
.c-tpl{width:16px;height:12px;background:#A3ACA7;border-radius:3px}
.gm-stage{position:relative;border-radius:18px;overflow:hidden;background:#F7F8F5;box-shadow:inset 0 0 0 1px rgb(22 33 31 / .08);touch-action:none}
#game{display:block;width:100%;height:auto;aspect-ratio:320/192;image-rendering:pixelated;image-rendering:crisp-edges;outline:none}
.gm-ov{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;background:rgb(247 248 245 / .55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease-out}
.gm-ov.on{opacity:1}
.gm-ov[hidden]{display:none}
.gm-card{max-width:460px;text-align:center;padding:clamp(1rem,3vw,1.8rem);border-radius:24px;
  background:linear-gradient(180deg,rgb(255 255 255 / .9),rgb(255 255 255 / .72));
  box-shadow:inset 0 1px 1px #fff,0 20px 50px -24px rgb(22 33 31 / .45),0 0 0 1px rgb(22 33 31 / .06);
  transform:translateY(8px) scale(.98);transition:transform .4s cubic-bezier(.23,1,.32,1)}
.gm-ov.on .gm-card{transform:none}
.gm-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.gm-card h3{font-size:clamp(1.2rem,3.4vw,1.8rem);letter-spacing:-.03em;margin:.3rem 0 .5rem}
.gm-card p{font-size:clamp(.82rem,2.2vw,.95rem);color:var(--fg-2);line-height:1.5}
.gm-act{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.gm-keys{margin-top:.8rem;font-size:.78rem!important;opacity:.8}
.gm-keys:empty{display:none}
.gm-keys.mob{display:none}
.gm-pad{display:none;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem .3rem .2rem;touch-action:none;-webkit-user-select:none;user-select:none}
.gm-pad > div{display:flex;gap:.6rem}
.gm-pad button{width:68px;height:68px;border-radius:50%;border:0;font:inherit;font-size:1.3rem;color:#16211F;cursor:pointer;touch-action:none;-webkit-touch-callout:none;
  background:linear-gradient(180deg,rgb(255 255 255 / .95),rgb(255 255 255 / .6));
  box-shadow:inset 0 1px 1px #fff,0 8px 20px -10px rgb(22 33 31 / .45),0 0 0 1px rgb(22 33 31 / .08);transition:transform .08s ease-out,background-color .08s}
.gm-pad button.on{transform:scale(.92);background:#E3E7E0}
.gm-pad .gm-jump{width:92px;height:92px;font-size:1rem;font-weight:600;color:#1E0F0A;background:linear-gradient(180deg,#F2937A,#E47456);box-shadow:inset 0 1px 1px rgb(255 255 255 / .6),0 10px 24px -10px rgb(232 119 90 / .8)}
.gm-pad .gm-jump.on{background:#D96A4D}
.gm-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;margin-top:1.2rem;font-size:.85rem;color:var(--fg-2)}
.gm-legend span{display:inline-flex;align-items:center;gap:.45rem}
@media (pointer:coarse){
  .gm-pad{display:flex}
  .gm-keys.desk{display:none}.gm-keys.mob{display:block}
}
@media (max-width:560px){
  .gm{border-radius:22px;margin-inline:-8px}
  .gm-hud{font-size:.8rem;gap:.5rem .9rem}
  #gm-time{display:none}
  .gm-card{padding:.9rem}
  .gm-card p{font-size:.8rem}
  .gm-card .btn{min-height:42px;padding:.6rem 1rem}
}
@media (pointer:coarse) and (orientation:landscape) and (max-height:500px){
  .gm{display:grid;grid-template-columns:1fr;max-width:none}
  #game{max-height:calc(100svh - 120px);width:auto;margin-inline:auto}
}
.pf-view .shot:not(.tall){height:100%;object-fit:cover;object-position:center top}
