@font-face{font-family:"Inter";font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/fonts/inter-latin.woff2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500 700;font-display:swap;src:url(assets/fonts/space-grotesk-latin.woff2) format("woff2")}
@font-face{font-family:"Inter Fallback";src:local("Arial");ascent-override:90.2%;descent-override:22.5%;line-gap-override:0%;size-adjust:107.4%}
@font-face{font-family:"Space Grotesk Fallback";src:local("Arial");ascent-override:96%;descent-override:28.5%;line-gap-override:0%;size-adjust:102%}
:root{color-scheme:dark only;--bg:#07090f;--bg2:#0d111b;--card:#121827;--card2:#161d2e;--line:#232d44;--text:#eef1f8;--muted:#9aa6c4;--accent:#f0805a;--lime:#d8dc6a;--teal:#7fd6d3;--r:18px;--shadow:0 20px 50px -20px rgba(0,0,0,.7);
--fh:"Space Grotesk","Space Grotesk Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;--fb:Inter,"Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--fb);background:var(--bg);color:var(--text);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}a:hover{color:var(--teal)}
h1,h2,h3{font-family:var(--fh);letter-spacing:-.02em;line-height:1.12;margin:0}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:12px}h3{font-size:1.2rem;margin-bottom:8px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.round{border-radius:50%}.muted{color:var(--muted)}.fine{font-size:.85rem;color:var(--muted);margin-top:14px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--lime);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:700;margin:0 0 14px}
.dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--teal))}
.grad{background-image:linear-gradient(90deg,#e4ff5c,#5cf0e0 50%,#ff8a5c);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;background:linear-gradient(135deg,#f0805a,#f5a96a);color:#1d0d04;font-weight:700;text-decoration:none;border:0;cursor:pointer;font:700 1rem var(--fb);transition:transform .15s,box-shadow .15s}
.btn:hover{color:#1d0d04;transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(240,128,90,.6)}
.btn-sm{padding:11px 18px;font-size:.92rem}
.btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--line)}.btn-ghost:hover{color:var(--text);border-color:var(--teal);box-shadow:none}
/* nav */
.nav{position:sticky;top:0;z-index:20;background:rgba(7,9,15,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;gap:24px;height:70px}
.brand{display:flex;align-items:center;gap:12px;font:700 1.08rem var(--fh);text-decoration:none}
nav{display:flex;gap:22px;margin-left:auto}nav a{text-decoration:none;color:var(--muted);font-size:.94rem;font-weight:500}
/* hero */
.hero{position:relative;padding:72px 0 88px;overflow:hidden;background:radial-gradient(900px 500px at 85% 20%,rgba(127,214,211,.13),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(240,128,90,.13),transparent 60%)}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
h1{font-size:clamp(2.4rem,5.2vw,4rem);margin-bottom:16px}
.tagline{font:600 1.15rem var(--fh);color:var(--teal);margin:0 0 14px}
.lead{font-size:1.1rem;color:var(--muted);max-width:580px;margin:0}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-points{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.hero-points li{font-size:.85rem;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.02)}
.hero-art{position:relative}.hero-art>img:first-child{border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow)}
.hero-badge{position:absolute;left:-28px;bottom:-28px;width:120px;border:4px solid var(--bg);box-shadow:var(--shadow)}
/* sections */
.section{padding:96px 0}.alt{background:var(--bg2);border-top:1px solid #111829;border-bottom:1px solid #111829}
.head{max-width:760px;margin-bottom:44px}.sub{color:var(--muted);margin:0;font-size:1.05rem}
/* featured */
.featured{background:linear-gradient(180deg,#0b0f19,#07090f);padding:88px 0}
.feat-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.feat-img img{width:100%;max-height:640px;object-fit:cover;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow)}
.feat-copy h2{font-size:clamp(2rem,4vw,3rem)}
.opts{display:grid;gap:14px;margin-top:28px}
.opt{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 16px;padding:18px 22px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-decoration:none;transition:border-color .15s,transform .15s}
.opt:hover{border-color:var(--accent);transform:translateY(-2px);color:var(--text)}
.opt-t{font-weight:600}.opt-p{grid-row:1/3;grid-column:2;align-self:center;font:700 1.5rem var(--fh);color:var(--lime)}.opt-c{font-size:.88rem;color:var(--teal)}
/* services */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:42% 1fr}
.svc img{width:100%;height:100%;object-fit:cover}.svc-b{padding:26px}.svc-b p{color:var(--muted);margin:0;font-size:.97rem}
.chips{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:.78rem;padding:4px 10px;border-radius:999px;background:rgba(127,214,211,.08);color:var(--teal);border:1px solid rgba(127,214,211,.22)}
.lab{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:20px;margin-top:24px}
.lab img{width:100%;height:340px;object-fit:cover;border-radius:var(--r);border:1px solid var(--line)}
.lab-copy{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;justify-content:center}
.lab-copy p{color:var(--muted)}.lab-copy .btn{align-self:flex-start}
/* materials */
.mat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.mat-grid figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mat-grid figcaption{padding:14px 16px;display:grid}.mat-grid figcaption span{font-size:.85rem;color:var(--muted)}
/* shop */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.product{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,border-color .15s}
.product:hover{transform:translateY(-3px);border-color:#33405f}
.pimg{width:100%;aspect-ratio:1/1;object-fit:cover;background:#000}.pimg.contain{object-fit:contain;background:#2b2b2b}
.p-b{padding:20px;display:flex;flex-direction:column;flex:1}.p-b h3{font-size:1.06rem}.p-b .muted{font-size:.92rem;margin:0 0 12px}
.price{font:700 1.3rem var(--fh);color:var(--lime);margin:auto 0 14px}.price span{font:500 .82rem var(--fb);color:var(--muted)}
.soon-t{color:var(--teal)}.p-b .btn{align-self:flex-start}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:18px}
.gallery figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.gallery .g-wide{grid-column:span 2;grid-row:span 2;background:#000}
.gallery img{width:100%;height:100%;object-fit:cover}.gallery a{display:block;height:100%}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;font-size:.86rem;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(5,8,14,.88))}
/* inquiry */
.inq-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.steps{list-style:none;padding:0;margin:26px 0;display:grid;gap:12px}
.steps li{display:flex;align-items:center;gap:12px;font-weight:500}
.steps b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--lime),var(--teal));color:#07090f;font-family:var(--fh)}
.inq-form{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;display:grid;gap:16px;box-shadow:var(--shadow)}
.inq-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inq-form label{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:var(--muted)}
.inq-form input,.inq-form select,.inq-form textarea{font:inherit;font-size:1rem;color:var(--text);background:#0b0f19;border:1px solid #4a5878;border-radius:12px;padding:12px 14px;width:100%}
.inq-form input:focus,.inq-form select:focus,.inq-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:transparent}
.inq-form .btn{justify-self:start}.inq-form .fine{margin:0}
/* studios + footer */
.studios{background:radial-gradient(600px 300px at 50% 0%,rgba(127,214,211,.12),transparent 70%),linear-gradient(135deg,#141038,#07090f 65%)}
.studios .sub{margin-bottom:24px}
.footer{border-top:1px solid var(--line);padding:56px 0 24px;color:var(--muted);font-size:.94rem}
.foot-in{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.foot-brand{display:flex;gap:14px;align-items:center}.foot-brand div{display:grid}.foot-brand b{color:var(--text);font-family:var(--fh);font-size:1.1rem}
.foot-col{display:grid;gap:6px;align-content:start}.foot-col b{color:var(--text);margin-bottom:4px}.foot-col a{text-decoration:none;padding:6px 0}
.copy{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:.85rem}
/* responsive */
@media (max-width:1060px){nav{display:none}.nav-in .btn{margin-left:auto}.svc{grid-template-columns:1fr}.svc img{height:220px}.shop-grid{grid-template-columns:repeat(2,1fr)}.mat-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.hero-in,.feat-in,.inq-in{grid-template-columns:1fr;gap:40px}.hero{padding:48px 0 72px}.hero-badge{left:auto;right:16px;bottom:-24px;width:88px}
 .lab{grid-template-columns:1fr 1fr}.lab-copy{grid-column:1/-1}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}.foot-in{grid-template-columns:1fr 1fr}}
@media (max-width:600px){body{font-size:16px}.section{padding:68px 0}.wrap{padding:0 18px}.svc-grid,.shop-grid{grid-template-columns:1fr}.mat-grid{grid-template-columns:repeat(2,1fr)}
 .lab img{height:230px}.inq-form{padding:20px}.inq-form .row{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.foot-in{grid-template-columns:1fr}.brand span{font-size:1rem}.nav-in .btn{padding:8px 14px}}
.gallery .g-span2{grid-column:span 2}.gallery .g-span2 img{object-fit:contain}
.gallery .g-span2:last-child img{object-fit:cover}
@media (max-width:600px){.gallery .g-wide{grid-column:span 2;grid-row:span 2}}
/* review fixes Oct 20 */
picture{display:contents}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.inq-form ::placeholder{color:#8792ad;opacity:1}
.gallery img.pos-72{object-position:center 72%}
.how{margin:0 0 18px}
.nav-quote{display:none;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--text);padding:11px 4px}
.promo{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:8px 18px 8px 8px;border-radius:16px;background:var(--card);border:1px solid var(--line);text-decoration:none;transition:border-color .15s}
.promo:hover{border-color:var(--accent);color:var(--text)}
.promo img{width:46px;height:60px;border-radius:10px;object-fit:contain;background:#0b0f19}
.promo>span{display:grid;line-height:1.3}.promo b{font-size:.95rem}.promo span span{font-size:.85rem;color:var(--muted)}
@media (max-width:1060px){.nav-quote{display:inline-block;margin-left:auto}.nav-in .nav-quote+.btn{margin-left:0}}
@media (max-width:600px){.gallery figcaption{font-size:.78rem;padding:18px 10px 8px}.nav-in{gap:12px}.nav-in .btn{padding:10px 14px}}
@media (max-width:480px){.brand span{display:none}}
