/* ============================================================
   hi9 — Surface Design Studio for Middle Eastern Interiors
   Dark luxury · Arabesque elegance · Vine pattern translation
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500;600&family=Noto+Serif+SC:wght@300;400;500;600&display=swap');

:root{
  --bg:        #13110e;
  --bg-2:      #1a1612;
  --bg-3:      #221d18;
  --bg-card:   #1e1915;
  --gold:      #c8a96a;
  --gold-soft: #e0c98a;
  --gold-deep: #9a7d44;
  --emerald:   #12372f;
  --emerald-2: #1a4a3f;
  --ivory:     #efe6d2;
  --walnut:    #5a3825;
  --turquoise: #2f9b91;
  --text:      #ebe5d6;
  --text-dim:  #8a8175;
  --text-mute: #5d564c;
  --border:    #2a2520;
  --line:      rgba(200,169,106,.22);
  --line-soft: rgba(200,169,106,.12);
  --serif:     'Cormorant Garamond','Noto Serif SC',Georgia,serif;
  --sans:      'Inter','Noto Sans SC',-apple-system,'Helvetica Neue',sans-serif;
  --max:       1320px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.75;
  font-weight:300;
  letter-spacing:.012em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--bg)}

/* ---------- typography ---------- */
.serif{font-family:var(--serif);font-weight:400}
.cn{font-family:'Noto Serif SC',serif}
.eyebrow{
  font-family:var(--sans);
  font-size:.7rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:500;
  display:inline-flex;align-items:center;gap:12px;
}
.eyebrow::before{
  content:'';width:28px;height:1px;background:var(--gold);
}
.eyebrow.center::before{display:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:.004em}
h1{font-size:clamp(2.6rem,6.5vw,5.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.6rem)}
h3{font-size:clamp(1.3rem,2vw,1.9rem)}
h4{font-size:1.2rem;font-weight:500}
h2 em,h1 em{color:var(--gold);font-style:italic;font-weight:400}
.lead{font-size:clamp(1.02rem,1.5vw,1.22rem);color:var(--text-dim);font-weight:300}
.lead b{color:var(--gold-soft);font-weight:500}

/* ---------- layout ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 36px}
section{padding:120px 0;position:relative}
.divider{height:1px;background:var(--line);max-width:var(--max);margin:0 auto}

/* vine corner ornament (SVG data uri) */
.vine-corner{
  position:absolute;width:140px;height:140px;opacity:.18;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140' fill='none' stroke='%23c8a96a' stroke-width='1'%3E%3Cpath d='M0 70 Q35 40 70 70 T140 70'/%3E%3Cpath d='M70 0 Q40 35 70 70 T70 140'/%3E%3Ccircle cx='70' cy='70' r='6'/%3E%3Cpath d='M55 55 Q70 45 85 55 Q90 65 85 75 Q70 85 55 75 Q50 65 55 55 Z'/%3E%3C/svg%3E") no-repeat center/contain;
  pointer-events:none;
}

/* ---------- nav ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:24px 36px;
  display:flex;align-items:center;justify-content:space-between;
  transition:background .4s, padding .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(19,17,14,.88);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--border);
  padding:14px 36px;
}
.brand{display:flex;align-items:baseline;gap:12px}
.brand .logo{
  font-family:var(--serif);
  font-size:2rem;
  font-weight:500;
  letter-spacing:.02em;
  color:var(--text);
}
.brand .logo b{color:var(--gold);font-style:italic}
.brand .tag{
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--text-mute);
}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{
  font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-dim);font-weight:400;
  transition:color .3s;position:relative;padding:6px 0;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--gold);transition:width .3s;
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-cta{
  border:1px solid var(--gold);color:var(--gold)!important;
  padding:10px 22px;border-radius:1px;
  font-size:.7rem;letter-spacing:.22em;
}
.nav-cta::after{display:none}
.nav-cta:hover{background:var(--gold);color:var(--bg)!important}
.menu-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.4rem;cursor:pointer}

/* ---------- HERO ---------- */
.hero{
  height:100vh;min-height:680px;
  position:relative;overflow:hidden;
  padding:0;
}
.hero-slides{position:absolute;inset:0}
.hero-slide{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.6s ease;
  transform:scale(1.06);
}
.hero-slide.active{opacity:1;animation:kenburns 9s ease-out forwards}
@keyframes kenburns{
  from{transform:scale(1.14)}
  to{transform:scale(1.0)}
}
.hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,
    rgba(19,17,14,.62) 0%,
    rgba(19,17,14,.28) 35%,
    rgba(19,17,14,.45) 70%,
    rgba(19,17,14,.95) 100%);
  z-index:1;
}
.hero-inner{
  position:relative;z-index:2;
  height:100%;display:flex;flex-direction:column;
  justify-content:center;padding:0 36px;max-width:var(--max);margin:0 auto;
}
.hero-eyebrow{margin-bottom:28px;opacity:0;animation:fadeUp 1s .3s forwards}
.hero h1{
  font-size:clamp(2.8rem,7vw,6rem);
  font-weight:300;
  max-width:18ch;
  margin-bottom:30px;
  opacity:0;animation:fadeUp 1s .5s forwards;
  line-height:1.1;
}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.hero h1 .sep{color:var(--gold);font-weight:300;margin:0 .12em}
.hero-sub{
  font-size:clamp(1rem,1.5vw,1.2rem);
  color:var(--text);max-width:60ch;font-weight:300;
  margin-bottom:44px;opacity:0;animation:fadeUp 1s .7s forwards;
}
.hero-sub b{color:var(--gold-soft);font-weight:500}
.hero-actions{
  display:flex;gap:18px;flex-wrap:wrap;
  opacity:0;animation:fadeUp 1s .9s forwards;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 32px;font-size:.74rem;letter-spacing:.22em;
  text-transform:uppercase;font-weight:500;
  border:1px solid var(--gold);color:var(--gold);
  transition:all .35s;cursor:pointer;background:transparent;
}
.btn:hover{background:var(--gold);color:var(--bg)}
.btn.solid{background:var(--gold);color:var(--bg)}
.btn.solid:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
.btn.ghost{border-color:var(--line);color:var(--text-dim)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}
.btn .arr{transition:transform .35s}
.btn:hover .arr{transform:translateX(5px)}

/* hero controls */
.hero-controls{
  position:absolute;bottom:42px;left:0;right:0;z-index:3;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 36px;max-width:var(--max);margin:0 auto;
}
.hero-dots{display:flex;gap:14px;align-items:center}
.hero-dot{
  width:46px;height:2px;background:rgba(235,229,214,.28);
  cursor:pointer;position:relative;overflow:hidden;
}
.hero-dot::after{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:scaleX(0);transform-origin:left;
}
.hero-dot.active::after{animation:dotFill 7s linear forwards}
@keyframes dotFill{to{transform:scaleX(1)}}
.hero-counter{
  font-family:var(--serif);font-size:.95rem;color:var(--text-dim);
  letter-spacing:.1em;
}
.hero-counter b{color:var(--gold);font-size:1.2rem}
.hero-scroll{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:3;color:var(--text-dim);font-size:.62rem;letter-spacing:.3em;
  text-transform:uppercase;writing-mode:vertical-rl;
  display:flex;align-items:center;gap:14px;
  opacity:0;animation:fadeUp 1s 1.2s forwards;
}
.hero-scroll::after{
  content:'';width:1px;height:50px;background:linear-gradient(var(--gold),transparent);
  animation:scrollLine 2.2s ease-in-out infinite;
}
@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}

/* ---------- section header ---------- */
.sec-head{margin-bottom:72px;max-width:780px}
.sec-head .eyebrow{margin-bottom:22px}
.sec-head h2{margin-bottom:22px}
.sec-head .lead{max-width:64ch}
.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.sec-head.center .eyebrow{justify-content:center}
.sec-head.center .eyebrow::before{display:inline-block;width:28px}
.sec-head.center::before{
  content:'';display:block;width:48px;height:1px;background:var(--gold);margin:0 auto 28px;
}

/* ---------- statement ---------- */
.statement{
  text-align:center;padding:130px 0;
  background:radial-gradient(ellipse at center, rgba(200,169,106,.07), transparent 70%);
  position:relative;
}
.statement .big{
  font-family:var(--serif);
  font-size:clamp(1.8rem,3.6vw,3.1rem);
  font-weight:300;line-height:1.42;
  max-width:26ch;margin:0 auto;
}
.statement .big em{color:var(--gold);font-style:italic}
.statement .sig{
  margin-top:38px;font-size:.72rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--text-mute);
}

/* ---------- card grid generic ---------- */
.grid{display:grid;gap:28px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* ---------- works grid ---------- */
.works-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  background:var(--border);
}
.work-card{
  position:relative;overflow:hidden;
  aspect-ratio:4/5;
  background:var(--bg-2);
  cursor:pointer;
}
.work-card .img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1.2s ease;
}
.work-card:hover .img{transform:scale(1.08)}
.work-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(19,17,14,.08) 0%,rgba(19,17,14,.35) 50%,rgba(19,17,14,.96) 100%);
  transition:opacity .5s;
}
.work-meta{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:32px 28px;
  transition:transform .5s;
}
.work-card:hover .work-meta{transform:translateY(-6px)}
.work-meta .num{
  font-family:var(--serif);font-size:.86rem;color:var(--gold);
  letter-spacing:.1em;margin-bottom:10px;display:block;
}
.work-meta h3{
  font-size:1.5rem;margin-bottom:8px;color:var(--text);
}
.work-meta .mat{
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-dim);margin-bottom:14px;
}
.work-meta .desc{
  font-size:.88rem;color:var(--text-dim);max-height:0;overflow:hidden;
  transition:max-height .5s ease, opacity .4s, margin .4s;opacity:0;margin-top:0;
}
.work-card:hover .work-meta .desc{max-height:130px;opacity:1;margin-top:8px}
.work-meta .desc b{color:var(--gold-soft);font-weight:500}
.work-meta .link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--gold);font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;margin-top:14px;
  border-bottom:1px solid var(--gold);padding-bottom:4px;
  opacity:0;transition:opacity .4s;
}
.work-card:hover .work-meta .link{opacity:1}

/* ---------- method ---------- */
.method{background:var(--bg-2)}
.method-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--border);
}
.method-col{
  background:var(--bg-2);padding:60px 44px;
  position:relative;transition:background .4s;
}
.method-col:hover{background:var(--bg-3)}
.method-col .lvl{
  font-family:var(--serif);font-size:4.8rem;color:var(--gold);
  opacity:.18;line-height:1;margin-bottom:24px;font-weight:300;
}
.method-col .stage{
  font-size:.68rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;
}
.method-col h3{margin-bottom:20px}
.method-col h3 span{color:var(--text-dim);font-size:.88rem;font-family:var(--sans);font-weight:300;display:block;margin-top:6px;letter-spacing:.04em}
.method-col p{color:var(--text-dim);font-size:.95rem;margin-bottom:14px}
.method-col .quote{
  margin-top:26px;padding-left:18px;border-left:2px solid var(--gold);
  font-family:var(--serif);font-style:italic;color:var(--gold-soft);
  font-size:1.05rem;
}

/* ---------- scenario cards ---------- */
.scenario-card{
  background:var(--bg-card);border:1px solid var(--border);
  padding:40px 36px;transition:all .4s;position:relative;overflow:hidden;
}
.scenario-card::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0);transform-origin:left;transition:transform .5s;
}
.scenario-card:hover{border-color:var(--line);transform:translateY(-4px)}
.scenario-card:hover::before{transform:scaleX(1)}
.scenario-card .icon{
  font-family:var(--serif);font-size:2.4rem;color:var(--gold);
  margin-bottom:18px;font-weight:400;
}
.scenario-card h3{margin-bottom:14px;font-size:1.5rem}
.scenario-card p{color:var(--text-dim);font-size:.92rem;margin-bottom:18px}
.scenario-card .tags{display:flex;flex-wrap:wrap;gap:8px}
.scenario-card .tag{
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-deep);border:1px solid var(--line-soft);
  padding:5px 11px;
}

/* ---------- collections ---------- */
.coll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.coll-card{
  position:relative;overflow:hidden;aspect-ratio:3/4;
  background:var(--bg-2);cursor:pointer;
}
.coll-card .img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform 1.2s ease;
}
.coll-card:hover .img{transform:scale(1.07)}
.coll-card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(19,17,14,.92) 100%);
}
.coll-meta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:32px 30px}
.coll-meta .eyebrow{margin-bottom:10px}
.coll-meta h3{font-size:1.7rem;margin-bottom:8px}
.coll-meta p{font-size:.86rem;color:var(--text-dim);max-height:0;overflow:hidden;transition:max-height .5s,opacity .4s;opacity:0}
.coll-card:hover .coll-meta p{max-height:100px;opacity:1}

/* ---------- timeline ---------- */
.timeline{
  display:grid;grid-template-columns:repeat(3,1fr);gap:36px 48px;
  margin-top:30px;
}
.tl-step{position:relative;padding-left:8px}
.tl-step .n{
  font-family:var(--serif);font-size:2.4rem;color:var(--gold);
  font-weight:400;line-height:1;margin-bottom:16px;
  display:flex;align-items:baseline;gap:14px;
}
.tl-step .n::after{
  content:'';flex:1;height:1px;background:var(--line);
}
.tl-step h4{
  font-family:var(--serif);font-size:1.25rem;font-weight:500;
  color:var(--text);margin-bottom:10px;
}
.tl-step p{font-size:.88rem;color:var(--text-dim)}

/* ---------- supply chain advantages ---------- */
.supply{background:var(--bg-2)}
.supply-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border)}
.supply-col{
  background:var(--bg-2);padding:48px 36px;text-align:center;
  transition:background .4s;
}
.supply-col:hover{background:var(--bg-3)}
.supply-col .num{
  font-family:var(--serif);font-size:2.6rem;color:var(--gold);
  font-weight:300;margin-bottom:18px;
}
.supply-col h4{font-family:var(--serif);font-size:1.25rem;margin-bottom:14px;color:var(--text)}
.supply-col p{font-size:.86rem;color:var(--text-dim)}

/* ---------- stats ---------- */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border);
}
.stat{background:var(--bg);padding:56px 32px;text-align:center}
.stat .big{
  font-family:var(--serif);font-size:3.4rem;color:var(--gold);
  font-weight:400;line-height:1;
}
.stat .lbl{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--text-dim);margin-top:14px;
}

/* ---------- material library ---------- */
.mat-chips{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;
}
.mat-chip{
  display:flex;align-items:center;gap:12px;
  background:var(--bg-card);border:1px solid var(--border);
  padding:14px 22px;transition:all .3s;
}
.mat-chip:hover{border-color:var(--gold);transform:translateY(-2px)}
.mat-chip .sw{width:18px;height:18px;border-radius:50%;border:1px solid var(--border)}
.mat-chip .nm{font-size:.8rem;letter-spacing:.06em;color:var(--text)}
.mat-chip .hex{font-family:var(--serif);font-size:.72rem;color:var(--text-mute)}

/* ---------- VR showroom ---------- */
.vr-showroom{
  position:relative;min-height:520px;
  display:flex;align-items:center;justify-content:center;
  background-size:cover;background-position:center;
  text-align:center;padding:80px 36px;
}
.vr-showroom::after{
  content:'';position:absolute;inset:0;
  background:rgba(19,17,14,.78);
}
.vr-showroom .inner{position:relative;z-index:2;max-width:680px}
.vr-showroom h2{margin-bottom:22px}
.vr-showroom p{color:var(--text-dim);margin-bottom:36px;max-width:52ch;margin-left:auto;margin-right:auto}

/* ---------- contact ---------- */
.contact{
  text-align:center;
  background:radial-gradient(ellipse at top,rgba(200,169,106,.08),transparent 60%);
}
.contact h2{max-width:18ch;margin:0 auto 24px}
.contact .lead{max-width:56ch;margin:0 auto 48px}
.contact .info-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  margin-bottom:54px;max-width:1000px;margin-left:auto;margin-right:auto;
}
.contact .info{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:28px 20px;border:1px solid var(--border);background:var(--bg-card);
}
.contact .info .k{font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--text-mute)}
.contact .info .v{font-family:var(--serif);font-size:1.1rem;color:var(--text)}
.contact .info .v a{color:var(--gold)}

/* ---------- project form ---------- */
.project-form{
  max-width:780px;margin:0 auto;text-align:left;
  background:var(--bg-card);border:1px solid var(--border);padding:48px;
}
.project-form .row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px}
.project-form .field{display:flex;flex-direction:column}
.project-form .field.full{grid-column:1 / -1}
.project-form label{
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text-mute);margin-bottom:8px;
}
.project-form input,.project-form select,.project-form textarea{
  background:var(--bg);border:1px solid var(--border);
  color:var(--text);padding:13px 16px;font-family:var(--sans);
  font-size:.92rem;font-weight:300;transition:border-color .3s;
}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{
  outline:none;border-color:var(--gold);
}
.project-form textarea{min-height:120px;resize:vertical}
.project-form .submit{margin-top:12px;text-align:center}

/* ---------- secondary page hero ---------- */
.page-hero{
  position:relative;min-height:60vh;padding:160px 0 80px;
  background-size:cover;background-position:center;
  display:flex;align-items:flex-end;
}
.page-hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(19,17,14,.55) 0%,rgba(19,17,14,.4) 40%,rgba(19,17,14,.95) 100%);
}
.page-hero .inner{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding:0 36px;width:100%}
.page-hero .eyebrow{margin-bottom:22px}
.page-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);max-width:18ch;margin-bottom:20px}
.page-hero .sub{font-size:clamp(1rem,1.4vw,1.18rem);color:var(--text);max-width:62ch;font-weight:300}
.page-hero .meta{
  display:flex;gap:32px;flex-wrap:wrap;margin-top:32px;
  padding-top:28px;border-top:1px solid var(--line);
}
.page-hero .meta .item{display:flex;flex-direction:column;gap:4px}
.page-hero .meta .k{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-mute)}
.page-hero .meta .v{font-family:var(--serif);font-size:1.05rem;color:var(--gold-soft)}

/* ---------- work detail sections ---------- */
.detail-section{padding:90px 0}
.detail-section.alt{background:var(--bg-2)}
.detail-section h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:24px}
.detail-section h2 em{color:var(--gold);font-style:italic}
.detail-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:start}
.detail-grid .label-col .eyebrow{margin-bottom:16px}
.detail-grid .label-col h2{margin-bottom:0}
.detail-grid .body-col p{color:var(--text-dim);margin-bottom:16px;font-size:1rem}
.detail-grid .body-col p b{color:var(--gold-soft);font-weight:500}

.scene-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
.scene-gallery .full{grid-column:1 / -1}
.scene-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
.scene-gallery .full img{aspect-ratio:21/9}

.translation-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:24px}
.translation-steps .step{
  background:var(--bg-card);border:1px solid var(--border);padding:28px;
}
.translation-steps .step .n{
  font-family:var(--serif);font-size:1.6rem;color:var(--gold);
  margin-bottom:10px;
}
.translation-steps .step h4{font-family:var(--serif);font-size:1.15rem;margin-bottom:8px;color:var(--text)}
.translation-steps .step p{font-size:.86rem;color:var(--text-dim);margin:0}

.material-strategy{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.material-strategy .item{
  background:var(--bg-card);border:1px solid var(--border);padding:24px;
}
.material-strategy .item .sw{
  width:40px;height:40px;border-radius:2px;margin-bottom:14px;border:1px solid var(--border);
}
.material-strategy .item h4{font-family:var(--serif);font-size:1.1rem;margin-bottom:8px;color:var(--text)}
.material-strategy .item p{font-size:.84rem;color:var(--text-dim);margin:0}

.production-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.production-notes .note{
  display:flex;gap:14px;align-items:flex-start;
  padding:18px 22px;background:var(--bg-card);border:1px solid var(--border);
}
.production-notes .note .check{color:var(--gold);font-size:1.1rem;line-height:1.4}
.production-notes .note span{font-size:.9rem;color:var(--text-dim)}

.cta-section{text-align:center;padding:100px 0;background:var(--bg-2)}
.cta-section h2{max-width:20ch;margin:0 auto 26px}
.cta-section .lead{max-width:54ch;margin:0 auto 40px}
.cta-section .actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}

/* breadcrumb */
.breadcrumb{
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-mute);margin-bottom:24px;
}
.breadcrumb a{color:var(--gold-deep)}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb .sep{margin:0 10px;color:var(--text-mute)}

/* ---------- footer ---------- */
footer{
  border-top:1px solid var(--border);padding:60px 36px 40px;
  background:var(--bg);
  position:relative;overflow:hidden;
}
.footer-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;
}
.footer-inner .brand .logo{font-size:1.7rem}
.footer-inner h5{
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;font-weight:500;
}
.footer-inner ul{list-style:none}
.footer-inner ul li{margin-bottom:10px}
.footer-inner ul li a{font-size:.84rem;color:var(--text-dim);transition:color .3s}
.footer-inner ul li a:hover{color:var(--gold)}
.footer-bottom{
  max-width:var(--max);margin:48px auto 0;padding-top:28px;
  border-top:1px solid var(--border);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
}
.footer-bottom small{color:var(--text-mute);font-size:.76rem;letter-spacing:.06em}
.footer-bottom .links{display:flex;gap:24px}
.footer-bottom .links a{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}
.footer-bottom .links a:hover{color:var(--gold)}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .works-grid{grid-template-columns:repeat(2,1fr)}
  .coll-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:980px){
  .nav-links{display:none}
  .menu-toggle{display:block}
  .nav-links.open{
    display:flex;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:rgba(19,17,14,.97);
    padding:28px 36px;gap:22px;border-bottom:1px solid var(--border);
  }
  .method-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .supply-grid{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .contact .info-grid{grid-template-columns:repeat(2,1fr)}
  .detail-grid{grid-template-columns:1fr;gap:32px}
  .translation-steps,.material-strategy{grid-template-columns:1fr}
  .scene-gallery{grid-template-columns:1fr}
  section{padding:80px 0}
  .project-form .row{grid-template-columns:1fr}
}
@media (max-width:600px){
  .wrap{padding:0 22px}
  .works-grid{grid-template-columns:1fr}
  .coll-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .supply-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .contact .info-grid{grid-template-columns:1fr}
  .hero h1{font-size:2.6rem}
  .hero-controls{padding:0 22px}
  .nav{padding:18px 22px}
  .footer-inner{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;text-align:center}
  .page-hero{padding:120px 0 60px}
}

/* WordPress shell cleanup */
#wpadminbar,.wp-site-blocks>header,.wp-site-blocks>footer,header.wp-block-template-part,footer.wp-block-template-part,header.banner,footer.contentinfo,.wp-block-post-title,h1.wp-block-post-title,h1.entry-title,.kodee-ai-assistant,.kodee-wrapper,div[aria-label="Kodee AI Assistant"],dialog[aria-label="Kodee AI Assistant"],.kb-ai-assistant,#kodee-ai-assistant,.skip-link,a.skip-link{display:none!important;visibility:hidden!important;height:0!important;width:0!important;overflow:hidden!important}
html,body{margin:0!important;padding:0!important;background:#13110e!important;overflow-x:hidden!important}
.wp-site-blocks,.wp-site-blocks>main,.entry-content,.wp-block-post-content,.wp-block-group{margin:0!important;padding:0!important;max-width:100%!important;width:100%!important}