﻿@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Syne:wght@500;700;800&display=swap');

:root{
  --bg:#f5f2ea;
  --paper:#fffdf8;
  --paper-2:#f1ece1;
  --ink:#111111;
  --ink-soft:#2c2a27;
  --muted:#6a655d;
  --line:#dbd4c6;
  --accent:#ca3d2d;
  --accent-dark:#a52d21;
  --teal:#275857;
  --radius:16px;
  --radius-sm:12px;
  --radius-pill:999px;
  --shadow-sm:0 8px 22px rgba(17,17,17,.08);
  --shadow-md:0 22px 60px rgba(17,17,17,.12);
  --max:1200px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{
  font-family:'Space Grotesk',sans-serif;
  color:var(--ink);
  background:
    radial-gradient(800px 540px at 92% -8%,rgba(202,61,45,.14),transparent 65%),
    radial-gradient(780px 520px at -2% 26%,rgba(39,88,87,.1),transparent 62%),
    linear-gradient(180deg,var(--bg),#fcfaf6 32%,#f7f3eb);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%;height:auto}

.page-overlay{position:fixed;inset:0;background:var(--paper);z-index:9999;pointer-events:none}
#customCursor,#cursorDot{display:none}
.side-video{display:none}
.parallax-media{transform:translate3d(0,0,0)}

main > *:not(.hero):not(.page-top):not(.marquee){
  width:min(var(--max),calc(100% - 28px));
  margin-inline:auto;
}

.site-nav{
  position:sticky;
  top:10px;
  z-index:200;
  width:min(var(--max),calc(100% - 20px));
  margin:10px auto 0;
  border:1px solid color-mix(in srgb, var(--line) 85%, #000 15%);
  background:rgba(255,253,248,.9);
  backdrop-filter:blur(10px);
  border-radius:var(--radius-pill);
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  transition:transform .3s ease, box-shadow .3s ease;
}
.site-nav.scrolled{box-shadow:var(--shadow-sm)}
.nav-logo,.mobile-logo,.footer-logo{
  font-family:'Syne',sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:800;
}
.nav-logo span,.mobile-logo span,.footer-logo span{color:var(--accent)}
.nav-links{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.nav-links a{
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--muted);
  padding:8px 12px;
  border-radius:var(--radius-pill);
  transition:all .2s ease;
}
.nav-links a:hover{color:var(--ink);background:rgba(17,17,17,.06)}
.nav-links a.active{background:var(--ink);color:#fff}
.nav-right{display:flex;align-items:center;gap:8px}

.lang-switch{
  display:inline-flex;
  gap:2px;
  padding:3px;
  border-radius:var(--radius-pill);
  background:rgba(17,17,17,.06);
}
.lang-btn{
  border:none;
  border-radius:var(--radius-pill);
  background:transparent;
  color:var(--muted);
  font-size:.56rem;
  letter-spacing:.12em;
  font-weight:700;
  text-transform:uppercase;
  padding:6px 8px;
  cursor:pointer;
}
.lang-btn.active{background:var(--ink);color:#fff}

.nav-order,.cart-btn,.btn{
  border:none;
  border-radius:var(--radius-pill);
  cursor:pointer;
  font-family:'Space Grotesk',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
}
.nav-order,.cart-btn{font-size:.62rem;padding:10px 13px}
.nav-order{background:var(--accent);color:#fff}
.nav-order:hover{background:var(--accent-dark)}
.cart-btn{background:rgba(17,17,17,.06);color:var(--ink);display:inline-flex;align-items:center;gap:8px}
.cart-btn:hover{background:rgba(17,17,17,.12)}
.cart-count{background:var(--ink);color:#fff;font-size:.56rem;border-radius:var(--radius-pill);padding:2px 7px;min-width:18px;text-align:center}

.mobile-header,.mobile-overlay,.mobile-sidebar{display:none}

.hero,.page-top{
  position:relative;
  overflow:hidden;
  border-radius:0 0 24px 24px;
  margin-top:-84px;
  color:#fff;
}
.hero{
  min-height:88vh;
  padding:160px 34px 56px;
  display:flex;
  align-items:flex-end;
  background:#111;
}
.hero-bg,.page-top{
  background:
    linear-gradient(130deg,rgba(0,0,0,.77),rgba(0,0,0,.48)),
    radial-gradient(560px 420px at 82% -10%,rgba(202,61,45,.38),transparent 72%),
    radial-gradient(540px 420px at -8% 118%,rgba(39,88,87,.28),transparent 70%),
    url('/images/work-06.jpg') center/cover no-repeat;
}
.hero-bg{position:absolute;inset:0;transform:scale(1.04)}
.hero--video .hero-bg{background:linear-gradient(130deg,rgba(0,0,0,.73),rgba(0,0,0,.45))}
.hero-video-wrap{position:absolute;inset:0;overflow:hidden}
.hero-video,.hero-video-fallback{
  position:absolute;
  top:50%;left:50%;
  width:120vw;height:67.5vw;
  min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);
  opacity:.56;
  filter:saturate(1.08) contrast(1.03);
  pointer-events:none;
}
.hero-video-fallback{display:none;object-fit:cover}
.hero-bg.hero-bg--fallback .hero-video{display:none}
.hero-bg.hero-bg--fallback .hero-video-fallback{display:block}
.hero::after,.page-top::after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:46%;
  background:linear-gradient(to top,rgba(0,0,0,.72),transparent);
}
.hero-inner{position:relative;z-index:2;max-width:760px}
.hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(255,255,255,.1);
  border-radius:var(--radius-pill);
  padding:7px 14px;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:18px;
}
.hero-pill-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.hero-h1,.page-h{
  margin:0 0 14px;
  font-family:'Syne',sans-serif;
  font-size:clamp(2.5rem,8vw,6.4rem);
  line-height:.9;
  letter-spacing:.01em;
  text-wrap:balance;
}
.hero-h1 em{color:#ffccbe;font-style:normal}
.hero-sub{margin:0 0 26px;color:rgba(255,255,255,.87);font-size:.95rem;line-height:1.65;max-width:640px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}

.hero-logo-wrap{margin-bottom:14px;perspective:1000px}
.hero-logo-3d{width:clamp(96px,13vw,156px);aspect-ratio:1;border-radius:50%;position:relative;transform-style:preserve-3d;animation:logoFloat 6s ease-in-out infinite}
.hero-logo-img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid rgba(255,255,255,.28);box-shadow:0 12px 30px rgba(0,0,0,.34);transform:translateZ(20px)}
@keyframes logoFloat{0%,100%{transform:rotateX(4deg) rotateY(-6deg)}50%{transform:rotateX(-4deg) rotateY(7deg) translateY(-3px)}}

.btn{font-size:.66rem;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#242424;color:#fff}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:#efebe2;color:var(--ink)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.34)}
.btn-ghost:hover{background:rgba(255,255,255,.24);color:#fff}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-sm{padding:9px 14px;font-size:.6rem}
.btn-w{width:100%}
.btn-lk{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ink)}
.btn-lk::after{content:'';position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--ink);transform-origin:left;transition:transform .25s ease}
.btn-lk:hover::after{transform:scaleX(.45)}

.marquee{
  width:min(var(--max),calc(100% - 28px));
  margin:16px auto;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(90deg,#151515,#212121 50%,#151515);
  color:#f6f0e6;
}
.marquee-inner{display:inline-block;white-space:nowrap;padding:12px 0;animation:scroll 28s linear infinite}
.marquee-inner span{font-family:'Syne',sans-serif;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;padding:0 18px}
.marquee-inner .sep{color:rgba(255,255,255,.45);padding:0 4px}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.sec{
  margin:16px auto;
  border-radius:var(--radius);
  padding:clamp(30px,5vw,56px) clamp(16px,3vw,34px);
}
.sec-white{background:var(--paper);border:1px solid var(--line)}
.sec-grey{background:linear-gradient(180deg,var(--paper-2),#ece5d7);border:1px solid #d4cbbb}
.sec-black{background:linear-gradient(145deg,#181818,#0f0f0f);border:1px solid #2a2a2a;color:#fff}
.sec-label{display:block;margin-bottom:10px;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.sec-label.inv{color:rgba(255,255,255,.54)}
.sec-h{margin:0 0 12px;font-family:'Syne',sans-serif;font-size:clamp(1.8rem,4.5vw,4rem);line-height:.94;letter-spacing:.01em}
.sec-h.inv{color:#fff}
.sec-p{margin:0;max-width:760px;color:var(--muted);font-size:.92rem;line-height:1.7}
.sec-p.inv{color:rgba(255,255,255,.74)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(var(--max),calc(100% - 28px));margin:16px auto}
.split-img,.split-body{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.split-img{background:#d9d2c2;min-height:420px}
.split-img img{height:100%;width:100%;object-fit:cover}
.split-body{background:var(--paper);padding:clamp(22px,3vw,38px);display:flex;flex-direction:column;gap:10px;justify-content:center}

.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.service-card,.service-item,.work-item,.prod-card,.price-card,.client-card,.stat,.price-object-card,.checkout-summary,.summary-total{
  border-radius:var(--radius-sm);
  border:1px solid var(--line);
  background:var(--paper);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.service-card:hover,.service-item:hover,.work-item:hover,.prod-card:hover,.price-card:hover,.client-card:hover,.price-object-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-sm);
  border-color:#c7bca7;
}
.service-card{padding:20px;display:flex;flex-direction:column;gap:10px;min-height:220px}
.service-icon{font-size:1.6rem;line-height:1}
.service-card h4{margin:0;font-family:'Syne',sans-serif;font-size:1.14rem}
.service-card p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.63;flex:1}
.service-arrow{align-self:flex-end;font-size:1.2rem;color:var(--accent)}

.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.work-item{position:relative;aspect-ratio:4/3;overflow:hidden;background:#d8d0bf}
.work-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease, filter .45s ease}
.work-item:hover img{transform:scale(1.04);filter:brightness(.9)}
.work-over{position:absolute;inset:auto 0 0;padding:16px;background:linear-gradient(to top,rgba(0,0,0,.78),transparent 85%)}
.work-over .yr{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66)}
.work-over h5{margin:4px 0;font-family:'Syne',sans-serif;font-size:.98rem;color:#fff}
.work-over p{margin:0;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.73)}

.service-block{display:grid;gap:18px}
.service-block-header{display:flex;align-items:flex-start;gap:16px}
.service-block-num{font-family:'Syne',sans-serif;font-size:2.4rem;line-height:1;color:#c3b69b;min-width:56px}
.service-items-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.service-items-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-items-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-item img{aspect-ratio:16/10;object-fit:cover;width:100%}
.service-item-body{padding:16px}
.service-item-body h4{margin:0 0 8px;font-family:'Syne',sans-serif;font-size:1.08rem}
.service-item-body p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.64}
.service-item--text{background:#f5f0e3}
.service-go-price{cursor:pointer}

.page-top{padding:145px 28px 48px}
.page-sub{margin:0;color:rgba(255,255,255,.76);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.page-top-bg{display:none}

.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.f-btn{padding:9px 12px;border-radius:var(--radius-pill);border:1px solid var(--line);background:#f2ecdf;color:var(--ink);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer}
.f-btn:hover{background:#e8dfcc}
.f-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}

.search-bar{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:18px}
.search-bar input{flex:1;border:none;outline:none;background:transparent;font-size:.92rem;font-family:'Space Grotesk',sans-serif}
.search-icon{font-size:1rem;color:var(--muted)}
.prod-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.prod-card{overflow:hidden;position:relative}
.prod-img{aspect-ratio:1;background:#ddd;overflow:hidden}
.prod-img img{width:100%;height:100%;object-fit:cover}
.prod-body{padding:14px}
.prod-body h5{margin:0 0 5px;font-family:'Syne',sans-serif;font-size:1rem}
.prod-price{font-size:.8rem;color:var(--muted);margin-bottom:8px}
.prod-badge{position:absolute;left:10px;top:10px;border-radius:var(--radius-pill);padding:5px 9px;background:var(--accent);color:#fff;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.prod-badge.sold{background:#4e4a43}
.prod-card.out{opacity:.55;filter:grayscale(.3)}
.cat-h{margin:34px 0 12px;padding-top:30px;border-top:1px solid var(--line);font-family:'Syne',sans-serif;font-size:1.2rem}
.cat-h:first-child{margin-top:0;padding-top:0;border-top:none}

.prices-scene{position:relative;isolation:isolate}
.prices-orb{position:absolute;border-radius:50%;pointer-events:none;opacity:.48;mix-blend-mode:multiply;z-index:0}
.prices-orb--a{width:320px;height:320px;right:-70px;top:100px;background:radial-gradient(circle at 35% 35%,#ff8262,transparent 68%)}
.prices-orb--b{width:260px;height:260px;left:-90px;top:520px;background:radial-gradient(circle at 40% 40%,#70bdb6,transparent 66%)}
.prices-orb--c{width:320px;height:320px;right:16%;bottom:110px;background:radial-gradient(circle at 35% 35%,#f2ca80,transparent 67%)}
.prices-scene > *:not(.prices-orb){position:relative;z-index:1}

.prices-notice{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:#f7f0e0;border:1px solid #d9ceb9;color:#4f473a}
.prices-section-title{margin:34px 0 12px;padding-top:30px;border-top:1px solid var(--line);font-family:'Syne',sans-serif;font-size:1.35rem}
.prices-section-title:first-of-type{margin-top:0;padding-top:0;border-top:none}
.prices-table{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.price-row-item{display:grid;grid-template-columns:1fr 72px 124px 160px 100px;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}
.price-row-item:last-child{border-bottom:none}
.price-row-item:hover{background:#f5f0e5}
.pri-service{font-size:.84rem;font-weight:500}
.pri-unit{font-size:.72rem;text-align:center;color:var(--muted)}
.pri-price{font-family:'Syne',sans-serif;font-size:.98rem;color:var(--accent)}
.pri-note{font-size:.71rem;color:var(--muted)}
.price-go{justify-self:end;padding:8px 10px;border-radius:var(--radius-pill);border:1px solid var(--ink);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink)}
.price-go:hover{background:var(--ink);color:#fff}
.price-row-item--action{cursor:pointer}
.price-row-item--focus{background:#fff1dc !important;box-shadow:inset 0 0 0 2px #e9a537;animation:pricePulse 1.2s ease-in-out 2}
@keyframes pricePulse{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}

.price-object-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.price-object-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.price-object-card{padding:14px 15px;background:rgba(255,253,248,.88);backdrop-filter:blur(6px)}
.price-object-card span{display:block;margin-bottom:6px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.price-object-card strong{font-family:'Syne',sans-serif;font-size:.97rem;line-height:1.25;color:var(--ink)}
.prices-cta{margin-top:28px;padding:24px;border-radius:14px;background:linear-gradient(120deg,#f3ebda,#efe8dc);border:1px solid #d7cbb5}
.prices-cta h3{margin:0 0 10px;font-family:'Syne',sans-serif;font-size:1.8rem}
.prices-cta p{margin:0 0 12px;color:var(--muted)}

.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}
.checkout-summary,.summary-total{padding:16px}

.field{
  width:100%;
  border-radius:11px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-family:'Space Grotesk',sans-serif;
  font-size:.9rem;
  padding:12px 13px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  margin-bottom:10px;
}
.field::placeholder{color:#958c7f}
.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(202,61,45,.14)}

.steps{list-style:none;padding:0;margin:0}
.step{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:none}
.step-n{font-family:'Syne',sans-serif;color:#c2b79f;font-size:1.6rem;line-height:1}
.step strong{display:block;font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;margin-bottom:6px}
.step p{margin:0;color:var(--muted);font-size:.87rem;line-height:1.62}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}
.stat{padding:18px 10px;text-align:center}
.stat-n{font-family:'Syne',sans-serif;font-size:2rem;line-height:1}
.stat-l{display:block;margin-top:4px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}

.skills-wrap{display:grid;gap:6px}
.skill{display:grid;grid-template-columns:190px 1fr 45px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.skill-name{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700}
.skill-track{height:4px;background:#dfd7c7;border-radius:var(--radius-pill);overflow:hidden}
.skill-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--teal));width:0;transition:width .9s ease}
.skill-pct{font-size:.71rem;text-align:right;color:var(--muted)}

.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:7px 11px;border-radius:var(--radius-pill);background:#f1ebde;border:1px solid var(--line);font-size:.61rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.chip:hover{background:#e7decb}

.site-footer{
  margin-top:16px;
  border-radius:20px 20px 0 0;
  background:#111;
  color:#fff;
  padding:42px 20px 18px;
}
.site-footer .footer-top{
  width:min(var(--max),100%);
  margin-inline:auto;
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.footer-tag{margin:8px 0 0;font-size:.65rem;line-height:1.6;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.63);max-width:260px}
.footer-nav{display:flex;flex-direction:column;gap:8px}
.footer-nav a{font-size:.69rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.72)}
.footer-nav a:hover{color:#fff}
.site-footer a{color:rgba(255,255,255,.8);font-size:.77rem}
.site-footer a:hover{color:#fff}
.footer-copy{width:min(var(--max),100%);margin:12px auto 0;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.54)}

.cart-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.44);opacity:0;pointer-events:none;transition:opacity .24s ease}
.cart-overlay.open{opacity:1;pointer-events:auto}
.cart-drawer{position:fixed;top:0;right:0;z-index:301;width:min(420px,100vw);height:100vh;background:var(--paper);border-left:1px solid var(--line);transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--line)}
.cart-head h3{margin:0;font-family:'Syne',sans-serif}
.cart-close{width:34px;height:34px;border:none;border-radius:50%;background:#eee6d7;cursor:pointer}
.cart-items{flex:1;overflow:auto;padding:8px 14px 14px}
.cart-empty{padding:34px 0;text-align:center;color:var(--muted)}
.cart-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.cart-item-img{width:60px;height:60px;border-radius:10px;overflow:hidden;background:#ddd;display:grid;place-items:center}
.cart-item-thumb{width:100%;height:100%;object-fit:cover}
.cart-item-fallback{font-size:1rem;color:#999}
.cart-item-info h6{margin:0 0 4px;font-size:.88rem}
.cart-item-info p{margin:0;font-size:.74rem;color:var(--muted)}
.cart-item-remove{border:none;background:none;font-size:1rem;color:var(--muted);cursor:pointer}
.cart-foot{padding:14px;border-top:1px solid var(--line)}
.cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cart-total span{font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cart-total strong{font-family:'Syne',sans-serif;font-size:1.4rem}

.reveal,.txt-reveal{will-change:transform, opacity}
.magnetic{will-change:transform}

body.easter-mode{animation:easterPulse 2.8s ease-in-out infinite}
@keyframes easterPulse{0%,100%{filter:hue-rotate(0deg) saturate(1)}50%{filter:hue-rotate(10deg) saturate(1.08)}}

:root{
  --mid:var(--line);
  --bg:#f3efe7;
  --paper:#fcf8f2;
  --paper-2:#f0e7da;
  --accent:#181818;
  --accent-dark:#000;
  --teal:#74816a;
}

body{
  background:
    radial-gradient(720px 420px at 90% -4%,rgba(116,129,106,.12),transparent 60%),
    radial-gradient(680px 420px at 0 20%,rgba(17,17,17,.04),transparent 56%),
    linear-gradient(180deg,#f7f3ed,var(--bg) 36%,#faf7f1);
}

.hero-h1,.page-h,.sec-h,.nav-logo,.mobile-logo,.footer-logo,.stat-n,.cart-head h3,.cart-total strong{
  font-family:'Syne',sans-serif;
}

.site-main{
  overflow:hidden;
}

.site-nav{
  top:12px;
  border-color:rgba(17,17,17,.1);
  background:rgba(252,248,242,.92);
  box-shadow:0 18px 45px rgba(17,17,17,.08);
  padding:12px 16px;
}

.nav-links{gap:4px}
.nav-links a{
  font-size:.62rem;
  letter-spacing:.18em;
}

.nav-right{
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.nav-user{
  font-size:.65rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}

.nav-auth-form{margin:0}

.nav-order{
  background:var(--accent);
}

.nav-order-subtle{
  background:rgba(17,17,17,.06);
  color:var(--ink);
}

.nav-order-subtle:hover{
  background:rgba(17,17,17,.12);
}

.nav-login{
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(17,17,17,.12);
}

.nav-login:hover{
  background:#f1eadf;
  color:var(--ink);
}

.mobile-header{
  background:rgba(252,248,242,.96);
}

.mobile-header-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.mobile-menu-btn{
  height:40px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}

.mobile-tag{
  margin:6px 0 0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5;
}

.mobile-sidebar-foot{
  margin-top:auto;
  display:grid;
  gap:8px;
}

.hero,.page-top{
  border-radius:0 0 32px 32px;
}

.hero-bg,.page-top{
  background:
    linear-gradient(145deg,rgba(0,0,0,.78),rgba(0,0,0,.38)),
    radial-gradient(560px 420px at 84% -10%,rgba(116,129,106,.34),transparent 72%),
    radial-gradient(460px 320px at 10% 90%,rgba(255,255,255,.08),transparent 65%),
    url('/images/work-06.jpg') center/cover no-repeat;
}

.hero-pill,.sec-label,.page-sub,.nav-links a,.btn,.nav-order,.cart-btn,.footer-copy,.skill-name,.stat-l,.cart-total span{
  letter-spacing:.16em;
}

.sec{
  margin:18px auto;
}

.sec-white,.sec-grey,.split-img,.split-body,.service-card,.service-item,.work-item,.prod-card,.price-card,.client-card,.stat,.price-object-card,.checkout-summary,.summary-total{
  border-color:rgba(17,17,17,.08);
  box-shadow:0 16px 40px rgba(17,17,17,.04);
}

.service-card:hover,.service-item:hover,.work-item:hover,.prod-card:hover,.client-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 54px rgba(17,17,17,.09);
}

.page-top--compact{
  padding-top:150px;
  padding-bottom:48px;
}

.catalog-intro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
  align-items:end;
  margin-bottom:26px;
}

.prod-desc{
  margin:0 0 14px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.6;
}

.checkout-payment{
  margin-top:28px;
  display:grid;
  gap:14px;
}

.checkout-radio-row{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  font-size:.84rem;
  color:var(--ink-soft);
}

.summary-meta{
  display:grid;
  gap:10px;
  margin-top:16px;
  color:var(--muted);
  font-size:.84rem;
}

.summary-meta div{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.checkout-success{
  padding-top:140px;
  min-height:60vh;
}

.auth-shell{
  width:min(700px,calc(100% - 24px));
  margin:0 auto;
  padding:150px 0 72px;
}

.auth-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:24px;
  padding:32px;
  box-shadow:var(--shadow-md);
  display:grid;
  gap:18px;
}

.auth-form{
  display:grid;
  gap:14px;
}

.auth-check{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.84rem;
  color:var(--ink-soft);
}

.auth-errors{
  padding:0;
  margin:0;
  color:#8a1f1f;
  font-size:.84rem;
}

.auth-note{
  margin:0;
  color:var(--muted);
  font-size:.88rem;
}

.auth-note a{
  color:var(--ink);
  text-decoration:underline;
  text-underline-offset:3px;
}

.admin-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:18px;
  margin-bottom:20px;
}

.admin-toolbar h3{
  margin:0;
  font-family:'Syne',sans-serif;
  font-size:2.2rem;
}

.admin-alert{
  margin-bottom:18px;
  padding:14px 16px;
  border-radius:14px;
  font-size:.9rem;
}

.admin-alert-success{
  background:#eef4ea;
  color:#26421c;
}

.admin-alert-error{
  background:#faecec;
  color:#7f2020;
}

.admin-table-wrap{
  overflow:auto;
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:820px;
}

.admin-table th,
.admin-table td{
  padding:14px 12px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  text-align:left;
}

.admin-table th{
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}

.admin-thumb-cell{
  width:110px;
}

.admin-thumb{
  width:86px;
  height:86px;
  object-fit:cover;
  border-radius:14px;
}

.admin-thumb-large{
  margin-bottom:12px;
}

.admin-empty-thumb{
  color:var(--muted);
  font-size:.82rem;
}

.admin-subtext{
  margin-top:6px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.55;
}

.admin-pill{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(17,17,17,.06);
  font-size:.72rem;
}

.admin-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.admin-actions form{
  margin:0;
}

.admin-form{
  display:grid;
  gap:20px;
}

.admin-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.footer-brand{
  display:grid;
  gap:14px;
}

.footer-heading{
  margin:0 0 12px;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.5);
}

.footer-contact{
  display:grid;
  gap:10px;
}

.footer-contact span{
  color:rgba(255,255,255,.8);
  font-size:.77rem;
}

@media (max-width:1180px){
  .catalog-intro{grid-template-columns:1fr}
  .nav-links{display:none}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prod-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-items-grid,.service-items-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-row-item{grid-template-columns:1fr 70px 120px}
  .pri-note,.price-go{display:none}
}

@media (max-width:991px){
  .site-nav{display:none}
  .mobile-header{
    display:flex;
    position:sticky;
    top:0;
    z-index:360;
    align-items:center;
    justify-content:space-between;
    padding:10px 12px;
    background:rgba(255,253,248,.96);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(8px);
  }
  .mobile-logo{font-size:1rem}
  .mobile-overlay{
    display:block;position:fixed;inset:0;z-index:361;
    background:rgba(0,0,0,.45);
    opacity:0;pointer-events:none;transition:opacity .2s ease;
  }
  .mobile-overlay.open{opacity:1;pointer-events:auto}
  .mobile-sidebar{
    display:flex;
    flex-direction:column;
    position:fixed;
    top:0;
    left:0;
    z-index:362;
    width:min(88vw,340px);
    height:100vh;
    background:var(--paper);
    border-right:1px solid var(--line);
    transform:translateX(-100%);
    transition:transform .24s ease;
    padding:14px;
    gap:16px;
  }
  .mobile-sidebar.open{transform:translateX(0)}
  .mobile-sidebar-head{display:flex;align-items:center;justify-content:space-between}
  .mobile-links{display:grid;gap:8px}
  .mobile-links a{padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}

  body.mobile-nav-open{overflow:hidden}

  .hero{margin-top:0;padding:112px 16px 34px;min-height:auto;border-radius:0 0 18px 18px}
  .hero-h1{font-size:clamp(2rem,12vw,3.3rem)}
  .hero-sub{font-size:.88rem;line-height:1.55}
  .hero-logo-3d{width:clamp(80px,24vw,120px)}
  .page-top{margin-top:0;padding:108px 16px 34px;border-radius:0 0 18px 18px}

  .split{grid-template-columns:1fr;width:calc(100% - 16px)}
  .split-img{min-height:280px}
  .sec{padding:26px 14px;border-radius:14px}
  .services-grid,.work-grid,.prod-grid,.service-items-grid,.service-items-grid--2,.service-items-grid--3,.price-object-row,.price-object-row--two,.checkout-grid{grid-template-columns:1fr}
  .service-block-header{flex-direction:column;gap:8px}
  .skill{grid-template-columns:1fr}
  .skill-pct{text-align:left}
  .site-footer{padding:30px 12px 14px;border-radius:16px 16px 0 0}
  .site-footer .footer-top{grid-template-columns:1fr;gap:14px}
  .auth-shell{padding:110px 0 56px}
  .auth-card{padding:22px}
}

@media (max-width:560px){
  main > *:not(.hero):not(.page-top):not(.marquee){width:calc(100% - 10px)}
  .nav-order,.cart-btn{font-size:.55rem;padding:8px 10px}
  .lang-btn{padding:5px 6px;font-size:.5rem}
  .price-row-item{grid-template-columns:1fr 110px}
  .pri-unit{display:none}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  .hero-video,.parallax-media,.magnetic{display:none !important}
  .hero-logo-3d{animation:none !important;transform:none !important}
  body.easter-mode{animation:none !important}
}

.hero-inner--with-mark{max-width:840px}
.split-body--editorial{background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(247,241,230,.96))}
.split-body--pricing{background:linear-gradient(180deg,#fffdf8,#f3ece0)}

.service-kicker{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  min-height:28px;
  padding:6px 10px;
  border-radius:var(--radius-pill);
  background:rgba(17,17,17,.06);
  color:var(--muted);
  font-size:.58rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}

.home-price-list{
  display:grid;
  gap:0;
  margin-top:24px;
  border-top:1px solid var(--line);
}

.home-price-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-size:.88rem;
}

.home-price-row strong{
  font-family:'Syne',sans-serif;
  font-size:.95rem;
  color:var(--accent);
  white-space:nowrap;
}

.home-price-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:22px;
}

.home-price-meta-card{
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.72);
}

.home-price-meta-card span{
  display:block;
  margin-bottom:6px;
  font-size:.58rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:700;
}

.home-price-meta-card strong{
  font-family:'Syne',sans-serif;
  font-size:.94rem;
  line-height:1.3;
}

.cta-band{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr);
  gap:26px;
  align-items:end;
}

.cta-band-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:flex-end;
}

.prices-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(200px,.55fr);
  gap:22px;
  align-items:center;
  margin-bottom:24px;
}

.prices-hero-copy .sec-h{max-width:680px}

.prices-hero-mark{
  justify-self:end;
  width:min(100%,280px);
  aspect-ratio:1;
  border-radius:50%;
  padding:14px;
  background:radial-gradient(circle at 28% 28%,rgba(255,255,255,.92),rgba(246,239,227,.72) 62%,rgba(17,17,17,.06));
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--shadow-md);
}

.prices-hero-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

.prices-notice-mark{
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:var(--radius-pill);
  background:var(--ink);
  color:#fff;
  font-size:.56rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}

.prices-notice p{
  margin:0;
  font-size:.84rem;
  line-height:1.65;
}

.prices-quick-nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0 8px;
}

.price-jump{
  padding:9px 13px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(17,17,17,.12);
  background:rgba(255,255,255,.66);
  font-size:.63rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--ink);
}

.price-jump:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}

.prices-cta{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  gap:20px;
  align-items:end;
}

.prices-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

@media (max-width: 991px){
  .home-price-meta,
  .cta-band,
  .prices-hero,
  .prices-cta{
    grid-template-columns:1fr;
  }

  .cta-band-actions,
  .prices-cta-actions{
    justify-content:flex-start;
  }

  .prices-hero-mark{
    justify-self:start;
    width:min(220px,60vw);
  }
}

@media (max-width: 767px){
  .home-price-row{
    flex-direction:column;
    gap:6px;
  }
}
