/* ============================================================
   MULTI-PAGE ADDITIONS
   footer · page hero · films · about · contact · lightbox · misc
   ============================================================ */

/* ---------- nav tweaks for 6 links + CTA ---------- */
.nav-links{gap:30px;}
.nav-cta-mobile{display:none !important;}
.nav-links a.nav-cta-mobile::after{display:none;}

/* ---------- inner-page hero ---------- */
.page-hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:190px 0 110px;
}
.page-hero-bg{position:absolute;inset:0;z-index:-2;}
.page-hero-bg img{width:100%;height:100%;object-fit:cover;}
.page-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,9,8,.72) 0%,rgba(10,9,8,.55) 45%,rgba(10,9,8,.96) 100%);
}
.page-hero h1{
  font-family:var(--serif);font-weight:500;line-height:1.05;
  font-size:clamp(2.6rem,6vw,4.6rem);margin-top:20px;
}
.page-hero h1 em{font-style:italic;color:var(--gold-soft);}
.page-hero p{margin-top:18px;max-width:560px;color:var(--ink-muted);font-size:1.05rem;}
.crumbs{margin-top:26px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);}
.crumbs a:hover{color:var(--gold-soft);}
.crumbs span{margin:0 8px;color:var(--gold);}

/* ---------- generic section rhythm ---------- */
.section{padding:110px 0;}
.section.alt{background:var(--bg-alt);}
.center-head{text-align:center;margin-inline:auto;max-width:640px;margin-bottom:56px;}
.center-head .eyebrow::before{display:none;}
.center-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4vw,3.2rem);line-height:1.1;margin-top:16px;}
.center-head p{margin-top:16px;color:var(--ink-muted);}

/* ---------- home: intro / cta band ---------- */
.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.intro-split .about-media{max-width:460px;}
.link-arrow{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);}
.link-arrow svg{width:16px;height:16px;transition:transform .3s var(--ease);}
.link-arrow:hover svg{transform:translateX(5px);}
.preview-more{text-align:center;margin-top:44px;}
.cta-band{
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:var(--radius-lg);padding:90px 40px;text-align:center;
  border:1px solid var(--line);
}
.cta-band-bg{position:absolute;inset:0;z-index:-2;}
.cta-band-bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.cta-band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.7),rgba(10,9,8,.88));}
.cta-band h2{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.1;}
.cta-band h2 em{font-style:italic;color:var(--gold-soft);}
.cta-band p{max-width:520px;margin:16px auto 30px;color:var(--ink-muted);}
.cta-band .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- portfolio (masonry) ---------- */
.portfolio-page{padding:70px 0 120px;}
.masonry{columns:4 250px;column-gap:16px;}
.masonry .p-item{
  aspect-ratio:auto !important;display:block;margin:0 0 16px;break-inside:avoid;
}
.masonry .p-item[hidden]{display:none;}
.masonry .p-item img{width:100%;height:auto;}
.portfolio-page .portfolio-head{margin-bottom:38px;}
.portfolio-page .filter-row{justify-content:center;width:100%;}
.p-item::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,9,8,.55));
  opacity:0;transition:opacity .35s var(--ease);pointer-events:none;
}
.p-item:hover::after{opacity:1;}
.p-item .tag{z-index:2;}

/* lightbox */
.lightbox{
  position:fixed;inset:0;z-index:600;background:rgba(6,5,4,.94);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox img{max-width:min(92vw,1200px);max-height:84vh;width:auto;height:auto;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.6);}
.lb-btn{
  position:absolute;width:48px;height:48px;border-radius:50%;
  background:var(--glass);border:1px solid var(--glass-strong);
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;line-height:1;color:var(--ink);
  transition:background .25s;
}
.lb-btn:hover{background:var(--glass-strong);}
.lb-btn svg{width:18px;height:18px;}
.lb-close{top:22px;right:22px;}
.lb-prev{left:22px;top:50%;transform:translateY(-50%);}
.lb-next{right:22px;top:50%;transform:translateY(-50%);}
.lb-cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:.76rem;letter-spacing:.06em;color:var(--ink-muted);padding:0 70px;}

/* ---------- films ---------- */
.film-frame{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);background:#000;aspect-ratio:16/9;box-shadow:var(--shadow);
}
.film-frame video{width:100%;height:100%;object-fit:cover;display:block;}
.film-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.film-card{
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:34px 30px;display:flex;flex-direction:column;gap:14px;
  transition:transform .4s var(--ease),border-color .4s var(--ease);
}
.film-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);}
.film-card .icon{width:52px;height:52px;border-radius:50%;border:1px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;}
.film-card .icon svg{width:22px;height:22px;color:var(--gold);}
.film-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:500;}
.film-card p{color:var(--ink-muted);font-size:.9rem;flex:1;}
.film-card .from{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);}
.film-card .from b{font-family:var(--serif);font-size:1.5rem;letter-spacing:0;color:var(--ink);font-weight:600;margin-left:4px;}

/* ---------- about ---------- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.stat-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-md);padding:30px 24px;text-align:center;}
.stat-card b{display:block;font-family:var(--serif);font-size:2.6rem;color:var(--gold-soft);line-height:1;}
.stat-card span{display:block;margin-top:10px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.value-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;}
.value-card .num{font-family:var(--serif);font-size:1.1rem;color:var(--gold-soft);}
.value-card h3{font-family:var(--serif);font-size:1.5rem;font-weight:500;margin:10px 0;}
.value-card p{color:var(--ink-muted);font-size:.9rem;}
.cover-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.cover-chips a{
  padding:11px 20px;border-radius:99px;border:1px solid var(--line);font-size:.78rem;color:var(--ink-muted);
  transition:all .3s var(--ease);
}
.cover-chips a:hover{border-color:var(--gold);color:var(--gold-soft);background:rgba(254,141,19,.08);}

/* ---------- contact ---------- */
.contact-page{padding:70px 0 100px;}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:60px;}
.contact-cards .info-card{align-items:flex-start;}
.contact-cards .info-card a{color:var(--ink);font-size:.98rem;word-break:break-word;}
.contact-cards .info-card a:hover{color:var(--gold-soft);}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch;}
.map-frame{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);min-height:440px;background:var(--bg-card);}
.map-frame iframe{width:100%;height:100%;min-height:440px;border:0;display:block;filter:grayscale(.85) invert(.92) contrast(.9);}

/* ---------- footer ---------- */
.site-footer{margin-top:0;background:#0c0b09;border-top:1px solid var(--line);padding-top:70px;}
.foot-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr 1.3fr;gap:44px;}
.foot-col h6{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px;font-weight:500;}
.foot-col > a{display:block;font-size:.86rem;color:var(--ink-muted);padding:5px 0;transition:color .25s;}
.foot-col > a:hover{color:var(--gold-soft);}
.foot-col > a.btn{display:inline-flex;color:#1a1409;padding:11px 20px;}
.foot-col > a.btn:hover{color:#1a1409;}
.foot-about p{margin:20px 0;color:var(--ink-muted);font-size:.88rem;max-width:320px;}
.foot-social{display:flex;gap:10px;}
.foot-social a{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--glass-strong);background:var(--glass);
  display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);
}
.foot-social a:hover{border-color:var(--gold);transform:translateY(-3px);}
.foot-social svg{width:17px;height:17px;color:var(--gold-soft);}
.foot-line{display:flex !important;gap:10px;align-items:flex-start;font-size:.86rem;color:var(--ink-muted);padding:5px 0;}
.foot-line svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;margin-top:4px;}
.foot-line span{word-break:break-word;}
.foot-wa{margin-top:14px;}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  margin-top:56px;padding-top:24px;padding-bottom:28px;border-top:1px solid var(--line);
}
.foot-bottom p{font-size:.74rem;color:var(--ink-faint);letter-spacing:.03em;}
.foot-credit{display:flex;align-items:center;gap:6px;}
.foot-credit .heart{color:var(--gold);font-size:.85rem;}
.apie-mark{
  display:inline-flex;align-items:baseline;gap:2px;letter-spacing:.02em;
  color:var(--ink-muted);transition:color .3s var(--ease);
}
.apie-mark:hover{color:var(--ink);}
.apie-mark .apie-caret{color:var(--ink-faint);font-family:'Courier New',monospace;}
.apie-mark .apie-dim{color:var(--ink-faint);}

/* ---------- cart drawer tweaks (packages, not single items) ---------- */
.cart-item .ci-lines{margin:10px 0 6px;display:flex;flex-direction:column;gap:5px;}
.cart-item .ci-lines li{font-size:.72rem;line-height:1.45;color:var(--ink-muted);white-space:pre-line;}
.cart-item .ci-price{font-family:var(--serif);font-size:1.35rem;color:var(--gold-soft);margin-top:8px;}
.cart-item .ci-price span{font-family:var(--sans);font-size:.62rem;color:var(--ink-faint);letter-spacing:.04em;}
.ci-edit{font-size:.7rem;letter-spacing:.06em;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px;}
.ci-edit:hover{color:var(--gold-soft);}
.cart-item .ci-actions{justify-content:space-between;}
.cart-more{margin-top:10px;}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav-cta{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:1024px){
  .intro-split{grid-template-columns:1fr;gap:50px;}
  .intro-split .about-media{margin-inline:auto;}
  .film-cards,.values-grid,.contact-cards{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .contact-layout{grid-template-columns:1fr;}
  .masonry{columns:3 220px;}
}
@media (max-width:760px){
  .nav-cta-mobile{display:inline-flex !important;margin-top:8px;}
  .page-hero{padding:150px 0 90px;}
  .section{padding:80px 0;}
  .masonry{columns:2 150px;column-gap:12px;}
  .masonry .p-item{margin-bottom:12px;}
  .foot-grid{grid-template-columns:1fr;gap:34px;}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
  .cta-band{padding:60px 22px;}
  .lb-prev{left:8px;}.lb-next{right:8px;}
  .lb-btn{width:42px;height:42px;}
}

/* long-form testimonial */
.testimonial blockquote{font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.5;}
.testimonial cite{letter-spacing:.12em;}

@media (max-width:520px){
  .brand .name{font-size:1.1rem;letter-spacing:.08em;}
  .brand .sub{font-size:.5rem;letter-spacing:.28em;}
  .brand-icon{width:30px;height:30px;}
  .nav-actions{gap:8px;}
  .icon-btn{width:40px;height:40px;}
}

/* ---------- legal pages ---------- */
.legal-hero{padding:170px 0 80px;}
.legal{padding:60px 0 110px;}
.legal-wrap{max-width:780px;}
.legal-meta{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:28px;}
.legal h2{font-family:var(--serif);font-weight:500;font-size:1.65rem;margin:40px 0 12px;color:var(--ink);}
.legal p{color:var(--ink-muted);margin-bottom:14px;font-size:.98rem;line-height:1.75;}
.legal ul{margin:0 0 16px;display:flex;flex-direction:column;gap:9px;}
.legal li{position:relative;padding-left:22px;color:var(--ink-muted);font-size:.96rem;line-height:1.7;}
.legal li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--gold);}
.legal b{color:var(--ink);font-weight:500;}
.legal a{color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px;}
.legal a:hover{color:var(--ink);}
.legal-other{margin-top:44px;padding-top:24px;border-top:1px solid var(--line);}
.foot-legal{display:flex;gap:22px;}
.foot-legal a:hover{color:var(--gold-soft);}

/* ---------- home hero: silent background clip over the still ---------- */
.hero-bg img{object-position:60% center;}
.hero-bg video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none;
}
.hero-bg video.on{opacity:1;}
.hero-bg:has(video.on)::after{
  background:linear-gradient(90deg,rgba(10,9,8,.72) 0%,rgba(10,9,8,.3) 55%,rgba(10,9,8,0) 100%),linear-gradient(180deg,rgba(10,9,8,.5) 0%,rgba(10,9,8,.3) 35%,rgba(10,9,8,.65) 75%,rgba(10,9,8,.96) 100%);
}
.hero-bg::after{transition:background .8s var(--ease);}

/* ---------- YouTube click-to-load ---------- */
.yt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.yt-lite{
  position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);background:#000;box-shadow:var(--shadow);
}
.yt-lite img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.yt-lite:hover img{transform:scale(1.04);}
.yt-lite::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.05) 45%,rgba(10,9,8,.85));pointer-events:none;}
.yt-lite.playing::after,.yt-lite.playing .yt-play,.yt-lite.playing .yt-cap,.yt-lite.playing img{display:none;}
.yt-lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.yt-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
  width:74px;height:74px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#1a1409;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 40px rgba(254,141,19,.4);transition:transform .3s var(--ease);
}
.yt-play svg{width:30px;height:30px;margin-left:3px;}
.yt-lite:hover .yt-play{transform:translate(-50%,-50%) scale(1.08);}
.yt-cap{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;}
.yt-cap b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:500;}
.yt-cap small{font-size:.76rem;letter-spacing:.06em;color:var(--ink-muted);}
@media (max-width:860px){.yt-grid{grid-template-columns:1fr;}}

/* smaller logo lockup in the footer */
.foot-col > a.brand{display:flex;align-items:center;padding:0;}
.foot-about .brand{gap:9px;}
.foot-about .brand-icon{display:block;flex-shrink:0;}
.foot-about .brand-icon{width:24px;height:24px;}
.foot-about .brand .name{font-size:1.05rem;letter-spacing:.12em;}
.foot-about .brand .sub{font-size:.5rem;letter-spacing:.3em;margin-top:3px;}

/* unfinished builder package, shown inside the cart drawer */
.cart-draft{
  background:rgba(254,141,19,.08);border:1px dashed var(--gold-dim);border-radius:14px;
  padding:16px 18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;
}
.cart-draft b{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--gold-soft);}
.cart-draft p{font-size:.8rem;color:var(--ink-muted);line-height:1.5;}
.cart-draft em{color:var(--ink);font-style:normal;font-weight:500;}
.cart-empty{padding:40px 10px;}
.legal-sep{border:0;border-top:1px solid var(--line);margin:48px 0 32px;}
.legal-wrap h3{margin-top:28px;}
.legal-decl{margin-top:36px;padding:20px 24px;border:1px solid var(--line);border-radius:12px;}
.legal-decl h2{margin-top:0;}
.legal-decl p{margin:6px 0;}
