/* ============ homepage-specific ============ */

/* hero */
.hero{height:100vh;min-height:820px;display:flex;align-items:center;justify-content:center;text-align:center;}
.hero-bg{
  position:absolute;inset:0;overflow:hidden;will-change:transform;
  background:
    radial-gradient(1200px 700px at 18% 110%, rgba(160,110,50,.20), transparent 60%),
    radial-gradient(1100px 700px at 85% -10%, rgba(60,90,120,.22), transparent 60%),
    radial-gradient(900px 500px at 50% 55%, rgba(120,100,80,.10), transparent 65%),
    linear-gradient(180deg,#0e0d0b 0%,#0b0a08 60%,#080706 100%);
}
.hero .veil{position:absolute;inset:0;z-index:2;
  box-shadow:inset 0 0 260px 60px rgba(0,0,0,.85);
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,transparent 12%,transparent 88%,rgba(0,0,0,.55) 100%);}
.hero .bar{position:absolute;left:0;right:0;height:0;background:#000;z-index:3;}
.hero .bar.top{top:0;}
.hero .bar.bot{bottom:0;}
.hero .content{position:relative;z-index:5;}
.hero h1{font-size:150px;letter-spacing:.03em;}
.hero h1 span{display:block;}
.hero .tag{margin-top:34px;font-size:15px;letter-spacing:.5em;text-transform:uppercase;font-weight:400;}
.hero .sub{margin:26px auto 0;max-width:640px;font-size:15.5px;line-height:1.8;color:var(--cream-dim);}
.btn-row{margin-top:48px;display:flex;gap:18px;justify-content:center;}
.hero .reel{position:absolute;bottom:44px;left:60px;display:flex;align-items:center;gap:14px;z-index:6;
  font-size:10.5px;letter-spacing:.35em;text-transform:uppercase;color:var(--cream-dim);cursor:pointer;background:none;border:none;font-family:'Inter',sans-serif;}
.reel .ring{width:44px;height:44px;border:1px solid var(--cream-faint);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--cream);transition:transform .3s;}
.reel:hover .ring{transform:scale(1.15);}
.hero .scroll{position:absolute;bottom:44px;right:60px;z-index:6;font-size:10.5px;letter-spacing:.35em;text-transform:uppercase;color:var(--cream-dim);display:flex;align-items:center;gap:12px;}
.scroll .line{width:1px;height:46px;background:linear-gradient(180deg,var(--cream),transparent);animation:scrollpulse 2.2s ease-in-out infinite;}
@keyframes scrollpulse{0%,100%{opacity:.4;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}

/* four-property strip */
.strip{display:flex;height:66vh;min-height:520px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.tile{
  position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;
  padding:38px 30px;border-right:1px solid var(--line);overflow:hidden;
  transition:flex 0.7s cubic-bezier(.16,1,.3,1);cursor:pointer;text-decoration:none;color:var(--cream);
}
.tile:hover{flex:1.45;}
.tile:last-child{border-right:none;}
.tile .shade{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(8,7,6,.1) 40%,rgba(8,7,6,.88) 100%);}
.tile .t-meta{position:relative;z-index:4;transition:transform .5s ease;}
.tile:hover .t-meta{transform:translateY(-8px);}
.tile .t-eyebrow{font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--cream-dim);margin-bottom:12px;font-weight:500;}
.tile h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:30px;line-height:1.04;letter-spacing:.02em;}
.tile .num{position:absolute;top:32px;left:30px;font-size:10.5px;letter-spacing:.3em;color:var(--cream-faint);z-index:4;}
.tile .bgfx{position:absolute;inset:0;transition:transform 1.2s ease;}
.tile:hover .bgfx{transform:scale(1.06);}
.bg-dc{background:radial-gradient(500px 420px at 45% 30%, rgba(190,120,45,.30), transparent 70%),linear-gradient(160deg,#1c1610,#0d0b08 70%);}
.bg-ctm{background:radial-gradient(circle 130px at 62% 26%, rgba(240,235,215,.5), rgba(240,235,215,.06) 60%, transparent 70%),radial-gradient(600px 500px at 50% 100%, rgba(30,50,110,.45), transparent 75%),linear-gradient(180deg,#0d1330,#080a18);}
.bg-cd{background:radial-gradient(420px 380px at 55% 35%, rgba(150,25,30,.38), transparent 70%),linear-gradient(200deg,#1a0d0e,#0c0708 75%);}
.bg-ai{background:radial-gradient(460px 400px at 50% 30%, rgba(70,120,130,.30), transparent 72%),linear-gradient(170deg,#0e1516,#090c0d 75%);}
.bg-ai canvas.diffusion{opacity:.9;}

/* section palettes */
.dc-sec{background:radial-gradient(1000px 640px at 80% 30%, rgba(190,120,45,.16), transparent 65%),linear-gradient(180deg,#0b0a08,#0f0c09 50%,#0b0a08);}
.cd-sec{background:radial-gradient(900px 620px at 15% 60%, rgba(150,25,30,.18), transparent 68%),linear-gradient(180deg,#0b0a08,#100a0a 55%,#0b0a08);}
.ss-sec{background:radial-gradient(900px 620px at 85% 40%, rgba(60,110,120,.14), transparent 68%),linear-gradient(180deg,#0b0a08,#0a0e0f 55%,#0b0a08);}
.ctm-sec{background:radial-gradient(1100px 700px at 50% 105%, rgba(30,50,115,.35), transparent 75%),linear-gradient(180deg,#0b0a08 0%,#0a0d22 45%,#070917 100%);text-align:center;}
.ctm-sec .chips{justify-content:center;margin-left:auto;margin-right:auto;}
.ctm-sec p.copy{margin-left:auto;margin-right:auto;}
.reimg-sec{background:linear-gradient(180deg,#0b0a08,#0d0d0d 55%,#0b0a08);}

/* studio */
.studio{background:var(--cream);color:#141210;padding:140px 0;}
.studio .eyebrow{color:rgba(20,18,16,.5);}
.studio h2{font-size:76px;color:#141210;max-width:980px;}
.studio p.lede{margin-top:30px;max-width:620px;font-size:15.5px;line-height:1.85;color:rgba(20,18,16,.65);}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(20,18,16,.18);border:1px solid rgba(20,18,16,.18);margin-top:70px;}
.svc{background:var(--cream);padding:34px 30px;transition:background .4s;}
.svc:hover{background:#e6dcc6;}
.svc h4{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:17px;letter-spacing:.04em;margin-bottom:12px;}
.svc p{font-size:13px;line-height:1.7;color:rgba(20,18,16,.6);}
.pipeline{margin-top:110px;}
.pipeline .eyebrow{display:block;margin-bottom:40px;}
.pipe-row{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(20,18,16,.25);}
.step{padding:34px 22px 40px;border-right:1px solid rgba(20,18,16,.14);position:relative;
  opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s);}
.pipe-row.on .step{opacity:1;transform:none;}
.step:last-child{border-right:none;}
.step .s-num{font-family:'Anton',sans-serif;font-size:15px;letter-spacing:.14em;color:rgba(20,18,16,.4);}
.step h5{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:21px;margin-top:14px;letter-spacing:.03em;}
.step p{margin-top:10px;font-size:12px;line-height:1.6;color:rgba(20,18,16,.6);}
.step .arrow{position:absolute;right:-7px;top:38px;font-size:13px;color:rgba(20,18,16,.45);z-index:2;background:var(--cream);}
.pipe-tag{margin-top:56px;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;color:rgba(20,18,16,.85);}

/* made */
.made{padding:150px 0;background:linear-gradient(180deg,#0b0a08,#0d0c0a 50%,#0b0a08);}
.made h2{font-size:96px;margin-bottom:80px;}
.made-row{display:grid;grid-template-columns:90px 1fr 380px;gap:40px;align-items:baseline;padding:34px 0;border-top:1px solid var(--line);}
.made-row:last-of-type{border-bottom:1px solid var(--line);}
.made-row .m-num{font-size:11px;letter-spacing:.3em;color:var(--cream-faint);}
.made-row h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:34px;letter-spacing:.02em;}
.made-row .m-sub{font-size:13px;color:var(--cream-dim);line-height:1.7;}

@media (max-width:1024px){
  .hero h1{font-size:96px;}
  .studio h2{font-size:52px;}
  .pipe-row{grid-template-columns:repeat(3,1fr);}
  .made-row{grid-template-columns:60px 1fr;}
  .made-row .m-sub{grid-column:2;}
  .services{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .hero h1{font-size:60px;}
  .hero .tag{font-size:11px;letter-spacing:.3em;}
  .strip{flex-direction:column;height:auto;}
  .tile{min-height:180px;border-right:none;border-bottom:1px solid var(--line);}
  .pipe-row{grid-template-columns:1fr 1fr;}
  .services{grid-template-columns:1fr;}
}
