/* ============================================================
   Feigy Borochov · Couture Studio — shared styles
   Design system ported from the studio's reference design.
   ============================================================ */
:root{
  /* Editorial Luxury palette */
  --noir:#1a1814; --ink:#2a2622; --bone:#f5f1eb; --paper:#faf7f2;
  --pearl:#ebe5db; --champagne:#d4c4a8; --gold:#b8a07a;
  --gold-ink:#836a32; /* darker gold for small text — meets WCAG AA on paper */
  --rose-shadow:#8b6f5c; --muted:#6b6358;
  /* Typography */
  --font-display:'Italiana','Cormorant Garamond',serif;
  --font-serif:'Cormorant Garamond','Frank Ruhl Libre',serif;
  --font-hebrew:'Frank Ruhl Libre','Cormorant Garamond',serif;
  --font-sans:'Inter','Assistant',-apple-system,BlinkMacSystemFont,sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --maxw:1320px; /* single source of truth (refined from 1500 in the couture pass) */
}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:var(--noir);color:var(--paper)}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);
  line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* Hebrew body text gets the Hebrew serif where appropriate */
:lang(he){font-family:var(--font-sans)}

/* Grain texture overlay */
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}

/* ===== HEADER ===== */
header{position:fixed;top:0;width:100%;z-index:100;padding:1.4rem 3rem;
  background:rgba(250,247,242,.85);backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  border-bottom:1px solid rgba(26,24,20,.06);transition:padding .4s var(--ease),background .4s var(--ease)}
header.scrolled{padding:.85rem 3rem;background:rgba(250,247,242,.95)}
.header-content{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;
  align-items:center;flex-direction:row-reverse;gap:2rem}
.logo-container{display:flex;align-items:center;gap:1rem;flex-direction:row-reverse;transition:opacity .3s}
.logo-container:hover{opacity:.7}
.logo-symbol img{height:42px;width:auto;display:block}
.logo-text img{height:26px;width:auto;display:block}
nav.main{display:flex;flex-direction:row-reverse;gap:2.5rem;align-items:center}
nav.main a{position:relative;font-family:var(--font-sans);font-size:.75rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;color:var(--noir);padding-bottom:4px;transition:color .3s}
nav.main a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:1px;background:var(--noir);
  transform:translateX(-50%);transition:width .4s var(--ease)}
nav.main a:hover::after,nav.main a.active::after{width:100%}
nav.main a.active{color:var(--rose-shadow)}
.head-tools{display:flex;align-items:center;gap:1.1rem;flex-direction:row-reverse}
.lang-btn{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.15em;font-weight:500;
  color:var(--noir);background:transparent;border:1px solid rgba(26,24,20,.2);
  border-radius:100px;padding:.4rem .8rem;cursor:pointer;transition:.3s}
.lang-btn:hover{border-color:var(--noir)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{width:24px;height:1.5px;background:var(--noir);transition:.3s}

/* Mobile drawer */
.mobile-nav{position:fixed;inset:0;z-index:200;background:var(--paper);display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  transform:translateY(-100%);transition:transform .5s var(--ease)}
.mobile-nav.open{transform:none}
.mobile-nav a{font-family:var(--font-display);font-size:2rem;letter-spacing:.06em;color:var(--noir)}
.mobile-nav .close{position:absolute;top:1.5rem;inset-inline-end:1.5rem;font-size:2.4rem;
  font-weight:200;background:none;border:0;cursor:pointer;color:var(--noir);line-height:1}

/* ===== PAGE HERO (inner pages) ===== */
.page-hero{position:relative;height:62vh;min-height:420px;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center;color:var(--paper);
  background-size:cover;background-position:center;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,24,20,.45),rgba(26,24,20,.3) 40%,rgba(26,24,20,.6));z-index:1}
.page-hero>*{position:relative;z-index:2}
.page-hero .eyebrow-line{color:var(--champagne)}
.page-hero h1{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,5rem);font-weight:400;
  letter-spacing:.08em;line-height:1;margin:.4rem 0}
.page-hero .page-sub{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;
  letter-spacing:.04em;color:rgba(245,241,235,.85)}

/* ===== EYEBROW (shared, with flanking lines) ===== */
.eyebrow-line{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold-ink);font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:1.1rem}
.eyebrow-line::before,.eyebrow-line::after{content:'';width:28px;height:1px;background:currentColor;opacity:.5}

/* ===== SECTIONS ===== */
section{position:relative;z-index:1}
.section-inner{max-width:var(--maxw);margin:0 auto;padding:7rem 3rem}
.section-head{text-align:center;margin-bottom:4.5rem}
h2{font-family:var(--font-display);font-size:clamp(2.3rem,5vw,4.2rem);font-weight:400;text-align:center;
  letter-spacing:.04em;line-height:1;color:var(--noir);margin:1.2rem 0 1rem}
.section-tagline{font-family:var(--font-serif);font-style:italic;font-size:1.1rem;text-align:center;
  color:var(--muted);max-width:600px;margin:0 auto;line-height:1.7;letter-spacing:.02em}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-sans);font-size:.75rem;
  letter-spacing:.3em;text-transform:uppercase;font-weight:400;padding:1.05rem 2.6rem;cursor:pointer;
  border:1px solid var(--noir);background:var(--noir);color:var(--paper);transition:.4s var(--ease)}
.btn:hover{background:transparent;color:var(--noir)}
.btn--light{border-color:var(--champagne);background:transparent;color:var(--paper)}
.btn--light:hover{background:var(--champagne);color:var(--noir)}
.btn--ghost{background:transparent;color:var(--noir)}
.btn--ghost:hover{background:var(--noir);color:var(--paper)}
.center{text-align:center}
.mt-3{margin-top:3rem}

/* ===== FADE-UP ANIMATION ===== */
.fade-up{opacity:0;transform:translateY(50px);
  transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.fade-up.visible{opacity:1;transform:none}
.fade-up[style*="--delay"]{transition-delay:calc(var(--delay,0) * 110ms)}

/* ===== INTRO (home) ===== */
.intro{background:linear-gradient(180deg,var(--paper),var(--bone))}
.intro .section-inner{max-width:820px;text-align:center}
.intro p{font-family:var(--font-serif);font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.6;
  color:var(--ink);font-weight:400;letter-spacing:.01em}
.intro .signature{font-family:var(--font-display);font-size:1.6rem;color:var(--rose-shadow);
  margin-top:2rem;letter-spacing:.08em}

/* ===== FEATURE SPLIT (home → collections) ===== */
.feature{display:grid;grid-template-columns:1fr 1fr;min-height:90vh}
.feature__media{position:relative;overflow:hidden;background:var(--pearl)}
.feature__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.feature:hover .feature__media img{transform:scale(1.05)}
.feature__body{display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;padding:clamp(2.5rem,6vw,6rem)}
.feature__body h2{margin-top:.8rem}
.feature__body .section-tagline{margin-bottom:2.5rem}
.feature--reverse .feature__media{order:2}

/* ===== GALLERY / MODEL CARDS ===== */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem 1.5rem}
.model-card{position:relative;cursor:pointer;transition:transform .6s var(--ease);
  border:0;background:transparent;text-align:inherit;font:inherit;color:inherit;width:100%}
.model-card:hover{transform:translateY(-6px)}
.model-card:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.model-card__media{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--pearl)}
.model-card__media img{width:100%;height:100%;object-fit:cover;filter:brightness(.97) contrast(1.02);
  transition:transform 1.4s var(--ease),filter .6s ease}
.model-card:hover .model-card__media img{transform:scale(1.08);filter:brightness(1.05) contrast(1.05)}
.model-card__overlay{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;
  display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;
  background:linear-gradient(180deg,transparent 50%,rgba(26,24,20,.7))}
.model-card:hover .model-card__overlay,.model-card:focus-visible .model-card__overlay{opacity:1}
.model-card__count{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--paper);opacity:.85;text-align:center;margin-bottom:.4rem}
.model-card__view{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:var(--paper);text-align:center}
.model-card__meta{padding-top:1.2rem;text-align:center;border-top:1px solid transparent;transition:border-color .4s}
.model-card:hover .model-card__meta{border-top-color:var(--champagne)}
.model-card__name{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--noir);
  letter-spacing:.08em;line-height:1;margin-bottom:.4rem;transition:color .4s}
.model-card:hover .model-card__name{color:var(--rose-shadow)}
.model-card__number{font-family:var(--font-sans);font-size:.65rem;letter-spacing:.35em;
  color:var(--muted);text-transform:uppercase}

/* ===== ABOUT ===== */
.about-section{position:relative;overflow:hidden}
.about-section::before{content:'';position:absolute;inset:0;background-image:url('../assets/site/bg/about-bg.jpg');
  background-size:cover;background-position:center;opacity:.16;z-index:0}
.about-section::after{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,var(--paper),rgba(250,247,242,.88))}
.about-section .section-inner{position:relative;z-index:2}
.about-content{max-width:720px;margin:0 auto;font-family:var(--font-sans)}
.about-content .lead{font-family:var(--font-serif);font-size:1.5rem;text-align:center;color:var(--noir);
  margin-bottom:2.6rem;line-height:1.5;letter-spacing:.01em}
.about-content p{margin-bottom:1.4rem;line-height:1.9;color:#555;font-size:1.02rem}
.about-content h3{font-family:var(--font-display);font-size:1.55rem;letter-spacing:.04em;font-weight:400;
  color:var(--noir);margin:2.6rem 0 1.1rem}
html[lang=he] .about-content{text-align:right}
html[lang=en] .about-content{text-align:left}
/* ===== ONE-PAGE FLOW ===== */
.collection-section{position:relative;background:var(--paper)}
.collection-section::before{content:'';position:absolute;inset-inline:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,160,122,.5),transparent)}
.collection-section--evening{background:linear-gradient(180deg,var(--paper),var(--bone))}
.collection-section .section-head{max-width:760px;margin:0 auto 4rem;text-align:center}
.gallery--onepage{align-items:start}
.gallery--onepage .model-card{margin-top:0!important}
.gallery--onepage .model-card__media{aspect-ratio:3/4!important}
.contact-section{scroll-margin-top:72px}

/* ===== CONTACT ===== */
.contact-section{position:relative;background-image:url('../assets/site/bg/contact-bg.jpg');background-size:cover;
  background-position:center;overflow:hidden}
.contact-section::before{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(26,24,20,.86),rgba(26,24,20,.72))}
.contact-section .section-inner{position:relative;z-index:2}
.contact-section h2,.contact-section .page-sub{color:var(--paper)}
.contact-section .eyebrow-line{color:var(--champagne)}
.contact-section .section-tagline{color:rgba(245,241,235,.8)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:start;margin-top:1rem}
.contact-info h3{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.04em;font-weight:400;
  color:var(--paper);margin-bottom:1.6rem}
.contact-info .blurb{color:rgba(245,241,235,.9);line-height:1.8;margin-bottom:1.4rem}
.contact-label{font-family:var(--font-sans);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--champagne);display:block;margin:1.5rem 0 .4rem}
.contact-info a.line{color:var(--paper);font-family:var(--font-serif);font-size:1.2rem;
  border-bottom:1px solid rgba(212,196,168,.4);padding-bottom:2px;transition:border-color .3s}
.contact-info a.line:hover{border-bottom-color:var(--champagne)}
.contact-socials{display:flex;gap:1rem;margin-top:2rem;flex-direction:row-reverse}
.contact-socials a{width:44px;height:44px;border:1px solid rgba(212,196,168,.4);border-radius:50%;
  display:grid;place-items:center;transition:.3s}
.contact-socials a:hover{background:var(--champagne);border-color:var(--champagne)}
.contact-socials svg{width:20px;height:20px;fill:var(--paper);transition:.3s}
.contact-socials a:hover svg{fill:var(--noir)}
html[lang=he] .contact-info{text-align:right}
html[lang=en] .contact-info{text-align:left}

.contact-form{display:flex;flex-direction:column;gap:1.4rem}
.contact-form label{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.25em;
  text-transform:uppercase;color:var(--champagne);margin-bottom:-.7rem}
.contact-form input,.contact-form textarea{width:100%;padding:.9rem 0;border:0;
  border-bottom:1px solid rgba(245,241,235,.25);background:transparent;font-family:var(--font-sans);
  font-size:.95rem;color:var(--paper);transition:border-color .3s;font-weight:300;letter-spacing:.03em}
html[lang=he] .contact-form input,html[lang=he] .contact-form textarea{text-align:right}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-bottom-color:var(--champagne)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(245,241,235,.5);
  font-style:italic;font-family:var(--font-serif)}
.contact-form textarea{resize:vertical;min-height:90px}
.contact-form .btn{align-self:flex-start;margin-top:.6rem}
.form-note{font-size:.72rem;letter-spacing:.05em;color:rgba(245,241,235,.5);margin-top:-.4rem}

/* ===== FOOTER ===== */
footer{background:var(--noir);color:rgba(245,241,235,.6);text-align:center;padding:4rem 2rem 2.5rem}
footer .footer-logo img{height:54px;margin:0 auto 1.5rem;opacity:.9;
  filter:brightness(0) invert(1)}
footer .footer-nav{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.6rem;
  font-family:var(--font-sans);font-size:.72rem;letter-spacing:.25em;text-transform:uppercase}
footer .footer-nav a{color:rgba(245,241,235,.7);transition:color .3s}
footer .footer-nav a:hover{color:var(--champagne)}
footer .footer-fine{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.25em;
  text-transform:uppercase;color:rgba(245,241,235,.4);line-height:2}
footer .footer-fine a{border-bottom:1px solid rgba(245,241,235,.2)}

/* ===== WHATSAPP FLOAT ===== */
.wa-float{position:fixed;inset:auto 1.5rem 1.5rem auto;z-index:90;width:56px;height:56px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(37,211,102,.4);
  transition:transform .3s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}

/* ===== LANGUAGE VISIBILITY ===== */
[data-en]{display:none}
html[lang=en] [data-he]{display:none}
html[lang=en] [data-en]{display:revert}
html[lang=en] .eyebrow-line[data-en],html[lang=en] .btn[data-en]{display:inline-flex}
html[lang=en] .hero-subtitle[data-en],html[lang=en] .section-tagline[data-en],
html[lang=en] .page-sub[data-en],html[lang=en] h1[data-en],html[lang=en] h2[data-en],
html[lang=en] h3[data-en],html[lang=en] p[data-en]{display:block}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .section-inner{padding:6rem 2rem}
  nav.main{gap:1.6rem}
  nav.main a{font-size:.7rem;letter-spacing:.18em}
}
@media (max-width:860px){
  header{padding:1rem 1.5rem}
  header.scrolled{padding:.8rem 1.5rem}
  nav.main{display:none}
  .burger{display:flex}
  .feature{grid-template-columns:1fr}
  .feature__media{min-height:60vh;order:-1!important}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .page-hero{height:50vh;min-height:340px}
}
@media (max-width:560px){
  .gallery{grid-template-columns:1fr 1fr;gap:1.2rem 1rem}
  .gallery--onepage .model-card{margin-top:0!important}
  .model-card__name{font-size:1.25rem}
  .section-inner{padding:5rem 1.3rem}
  .logo-symbol img{height:36px}
  .logo-text img{height:22px}
}
@media (max-width:380px){
  .gallery{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto}
  .fade-up{opacity:1!important;transform:none!important;transition:none}
}

/* ===== LIGHTBOX ===== */
.lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(26,24,20,.96);
  backdrop-filter:blur(20px);justify-content:center;align-items:center;flex-direction:column;
  opacity:0;transition:opacity .4s ease}
.lightbox.active{display:flex;opacity:1}
.lightbox-image-wrap{position:relative;width:90vw;height:78vh;display:flex;justify-content:center;
  align-items:center;overflow:hidden;touch-action:none}
.lightbox-image{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;user-select:none;
  -webkit-user-drag:none;box-shadow:0 30px 80px rgba(0,0,0,.4);
  image-rendering:auto;transition:transform .2s var(--ease)}
.lightbox-image.zoomed{cursor:grab}
.lightbox-image.zoomed:active{cursor:grabbing}
.lightbox-image.zooming{transition:none}
@media (prefers-reduced-motion:reduce){.lightbox-image{transition:none}}
.lightbox-close{position:absolute;top:2rem;inset-inline-end:2rem;width:48px;height:48px;border-radius:50%;
  color:var(--paper);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.15);font-size:1.5rem;font-weight:200;cursor:pointer;
  display:grid;place-items:center;transition:.4s var(--ease);z-index:10001;line-height:1}
.lightbox-close:hover{background:rgba(255,255,255,.18);transform:rotate(90deg)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;
  color:var(--paper);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);font-size:1.6rem;font-weight:200;cursor:pointer;
  display:grid;place-items:center;transition:.4s var(--ease);z-index:10001;font-family:var(--font-serif)}
.lightbox-nav:hover{background:rgba(255,255,255,.15);transform:translateY(-50%) scale(1.08)}
.lightbox-nav.prev{inset-inline-start:2rem}
.lightbox-nav.next{inset-inline-end:2rem}
.lightbox-header{position:absolute;top:2rem;left:50%;transform:translateX(-50%);z-index:10001;
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.lightbox-title{font-family:var(--font-display);font-size:1.5rem;color:var(--paper);letter-spacing:.1em;font-weight:400}
.lightbox-hint{color:rgba(245,241,235,.45);font-family:var(--font-sans);font-size:.62rem;
  letter-spacing:.28em;text-transform:uppercase}
.lightbox-counter{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:var(--paper);
  font-family:var(--font-serif);font-style:italic;padding:.55rem 1.6rem;font-size:1rem;letter-spacing:.15em;
  z-index:10001;background:rgba(255,255,255,.04);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.1);border-radius:100px}
@media (max-width:768px){
  .lightbox-image-wrap{width:95vw;height:72vh}
  .lightbox-nav{width:42px;height:42px;font-size:1.3rem}
  .lightbox-nav.prev{inset-inline-start:.6rem}
  .lightbox-nav.next{inset-inline-end:.6rem}
  .lightbox-close{width:42px;height:42px;top:1rem;inset-inline-end:1rem}
  .lightbox-hint{display:none}
}

/* ===== HOME HERO (full-screen video) ===== */
.hero{position:relative;height:100vh;overflow:hidden;background:var(--noir);isolation:isolate}
.hero-video{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;
  transform:translate(-50%,-50%);animation:heroBreath 16s ease-in-out infinite;z-index:1}
@keyframes heroBreath{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.04)}}
.hero::before{content:'';position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(26,24,20,.4),rgba(26,24,20,.15) 40%,rgba(26,24,20,.5))}
.hero-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center;color:var(--paper);padding:0 2rem}
.hero-content .eyebrow-line{color:rgba(245,241,235,.85);margin-bottom:1.8rem;
  opacity:0;animation:heroReveal 1.4s var(--ease) .4s forwards}
.hero h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,6.5rem);font-weight:400;
  letter-spacing:.08em;line-height:1;margin-bottom:1.3rem;opacity:0;
  animation:heroReveal 1.6s var(--ease) .6s forwards}
.hero-subtitle{font-family:var(--font-serif);font-style:italic;font-size:clamp(1rem,1.6vw,1.3rem);
  letter-spacing:.06em;opacity:0;animation:heroReveal 1.6s var(--ease) .9s forwards}
@keyframes heroReveal{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.hero-scroll{position:absolute;bottom:2.6rem;left:50%;transform:translateX(-50%);z-index:4;
  color:var(--paper);font-family:var(--font-sans);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:0;animation:heroReveal 1.6s var(--ease) 1.3s forwards}
.hero-scroll::after{content:'';width:1px;height:46px;background:linear-gradient(to bottom,rgba(245,241,235,.8),transparent);
  animation:scrollLine 2.4s ease-in-out infinite}
@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}
.sound-toggle{position:absolute;bottom:2.4rem;inset-inline-start:2.4rem;z-index:5;width:46px;height:46px;
  border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.2);color:var(--paper);cursor:pointer;display:grid;place-items:center;
  transition:.4s var(--ease)}
.sound-toggle:hover{background:rgba(255,255,255,.16);transform:scale(1.08)}
.sound-toggle svg{width:18px;height:18px;fill:var(--paper)}
@media (max-width:560px){.sound-toggle{width:40px;height:40px;bottom:1.5rem;inset-inline-start:1.5rem}}

/* ============================================================
   ENHANCEMENTS — Hebrew typography, polish & micro-interactions
   ============================================================ */

/* Hebrew elegant serif: Italiana & Cormorant carry no Hebrew glyphs,
   so Hebrew headings & serif accents use Frank Ruhl Libre instead. */
h1[data-he], h2[data-he], h3[data-he],
.page-sub[data-he], .hero-subtitle[data-he], .section-tagline[data-he],
.intro p[data-he], .about-content [data-he] .lead, .about-content [data-he] h3{
  font-family:var(--font-hebrew);font-style:normal;letter-spacing:.012em
}
/* Hebrew display headings sit a touch heavier for presence */
html[lang=he] .page-hero h1, html[lang=he] .hero h1{font-weight:500;letter-spacing:.02em}

/* Anchor targets clear the fixed header when jumping in-page */
html{scroll-padding-top:96px}

/* Page-hero: faint monogram watermark + crisper title */
.page-hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:url('../assets/site/logo/monogram.png') center/auto 64% no-repeat;
  filter:brightness(0) invert(1);opacity:.06}
.page-hero h1{text-shadow:0 2px 40px rgba(0,0,0,.28)}
.page-hero .page-sub{margin-top:.3rem}

/* Buttons: gentle lift + tighter focus ring */
.btn{transition:.4s var(--ease),transform .4s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
a:focus-visible,.lang-btn:focus-visible,.burger:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* Accessible focus: visible ring on form fields and lightbox controls (AA) */
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-bottom-color:var(--gold)}
.lightbox-close:focus-visible,.lightbox-nav:focus-visible,.lightbox-cta a:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
/* Safety-net focus ring for any other keyboard-focused control */
button:focus-visible,[tabindex]:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Decorative hairline above standalone intro quotes */
.intro .section-inner > p:first-child::before{content:'';display:block;width:42px;height:1px;
  background:var(--gold);opacity:.6;margin:0 auto 2.4rem}

/* Model cards: keep the number quietly present, lift the cover */
.model-card__media{box-shadow:0 1px 0 rgba(26,24,20,.04)}
.model-card:hover .model-card__media{box-shadow:0 24px 50px -30px rgba(26,24,20,.55)}
.model-card__number{opacity:.75}

/* Feature gowns are full-length portraits — anchor toward the top */
.feature__media img{object-position:center 18%}

/* Footer: hairline + breathing room */
footer{border-top:1px solid rgba(245,241,235,.08)}
.footer-logo{padding-top:.5rem}

/* Smoother language swap */
[data-he],[data-en]{transition:opacity .3s ease}

/* ============================================================
   ACCESSIBILITY & FORM POLISH (UI/UX Pro Max priorities 1,2,8)
   ============================================================ */
/* Screen-reader-only utility */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Skip to content */
.skip-link{position:fixed;top:-60px;inset-inline-start:1rem;z-index:300;background:var(--noir);
  color:var(--paper);padding:.7rem 1.2rem;font-size:.8rem;letter-spacing:.1em;border-radius:0 0 6px 6px;
  transition:top .3s var(--ease)}
.skip-link:focus{top:0}

/* Minimum 44px touch targets */
.lang-btn{min-height:40px}
.burger{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.mobile-nav .close,.lightbox-close,.lightbox-nav{min-width:44px;min-height:44px}
.contact-socials a,.wa-float{min-width:44px;min-height:44px}

/* Cards reachable by keyboard (role=button) */
.model-card{cursor:pointer}
.model-card:focus-visible{outline:2px solid var(--gold);outline-offset:6px}

/* Form: required marker, validation feedback, helper note */
.contact-form .req{color:var(--champagne)}
.contact-form input:user-invalid,.contact-form textarea:user-invalid{border-bottom-color:#d98b80}
.contact-form .field-error{color:#e6a89f;font-size:.72rem;letter-spacing:.04em;margin-top:-.6rem;min-height:1em}
.form-status{font-family:var(--font-serif);font-style:italic;font-size:1rem;color:var(--champagne);
  min-height:1.4em;margin-top:.4rem}

/* Subtle arrow on primary buttons (RTL/LTR aware) */
.btn--arrow::after{content:'';width:18px;height:1px;background:currentColor;position:relative;
  transition:width .35s var(--ease)}
.btn--arrow:hover::after{width:26px}

/* ============================================================
   REFINEMENT PASS — international couture polish
   (Galia Lahav / Berta / Vera Wang cues: air, restraint, scale)
   Same design line — only more precise.
   ============================================================ */
:root{ --line:rgba(26,24,20,.10); }

/* More generous vertical rhythm */
.section-inner{padding:9rem 3rem}
.section-head{margin-bottom:5rem}

/* Editorial headings — airier, wider, lighter */
h2{font-size:clamp(2.6rem,5.2vw,4.6rem);letter-spacing:.07em;font-weight:400}
.eyebrow-line{font-size:.68rem;letter-spacing:.46em;gap:1.3rem}
.eyebrow-line::before,.eyebrow-line::after{width:34px}
.section-tagline{font-size:1.18rem;line-height:1.85;color:#7a7064;max-width:36ch}
html[lang=he] .section-tagline{max-width:44ch}

/* Hero — more cinematic presence */
.hero h1{font-size:clamp(3.4rem,9vw,7rem);letter-spacing:.14em}
.hero-content .eyebrow-line{margin-bottom:2.2rem}
.hero-subtitle{font-size:clamp(1.05rem,1.7vw,1.35rem);letter-spacing:.08em}

/* Navigation — wider couture tracking */
nav.main{gap:2.9rem}
nav.main a{font-size:.72rem;letter-spacing:.26em}

/* Buttons — couture proportions */
.btn{padding:1.15rem 3rem;font-size:.72rem;letter-spacing:.34em}

/* Galleries — restrained, more breathing room (aspect ratio left as set) */
.gallery{gap:3.5rem 1.8rem}
.model-card__meta{padding-top:1.4rem}
.model-card__name{font-size:1.6rem;letter-spacing:.12em}
.model-card__number{letter-spacing:.42em;font-size:.62rem}

/* About — refined measure & rhythm */
.about-content .lead{font-size:1.7rem;margin-bottom:3rem;letter-spacing:.015em}
.about-content p{font-size:1.05rem;line-height:2}
.about-content h3{font-size:1.7rem;margin:3rem 0 1.2rem;letter-spacing:.05em}

/* Intro quote — larger, airier */
.intro p{font-size:clamp(1.45rem,2.6vw,2.05rem);line-height:1.7}

/* Editorial hairline between the two collections */
.collection-section + .collection-section .section-inner{border-top:1px solid var(--line)}

@media (max-width:860px){
  .section-inner{padding:6rem 1.6rem}
  .section-head{margin-bottom:3.2rem}
}

/* ===== OPTIONAL VIDEO PER MODEL ===== */
.lightbox-video{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.4);background:#000}
.model-card.has-video .model-card__media::after{
  content:'';position:absolute;top:1rem;inset-inline-end:1rem;z-index:2;width:38px;height:38px;border-radius:50%;
  background:rgba(26,24,20,.55) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M8 5v14l11-7z'/></svg>") center/16px no-repeat;
  backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.35);transition:.3s}
.model-card.has-video:hover .model-card__media::after{background-color:rgba(184,160,122,.9)}

/* ============================================================
   ENGLISH SITE (LTR) — with the About section kept in Hebrew (RTL)
   ============================================================ */
/* The design was authored RTL-first; restore natural LTR order */
html[lang=en] .header-content,
html[lang=en] .logo-container,
html[lang=en] nav.main,
html[lang=en] .head-tools,
html[lang=en] .contact-socials{flex-direction:row}

/* About: Hebrew + right-to-left even though the site is English */
#about{direction:rtl}
#about [data-en]{display:none!important}
#about [data-he]{display:revert!important}
#about .about-content{text-align:right}

/* ============================================================
   QA FIXES — contrast (WCAG AA) + reduced-motion completeness
   ============================================================ */
/* Darker rose for small text on light bg (was #8b6f5c ≈ 4.34:1) */
nav.main a.active{color:#7a5a46}
.intro .signature{color:#7a5a46}
.model-card:hover .model-card__name{color:#7a5a46}

/* Raise light-on-dark small text to clear 4.5:1 */
footer .footer-fine{color:rgba(245,241,235,.62)}
.lightbox-hint{color:rgba(245,241,235,.66)}
.form-note{color:rgba(245,241,235,.64)}

/* Form validation visibility */
.contact-form input[aria-invalid="true"],
.contact-form textarea[aria-invalid="true"]{border-color:#d98b80}

/* Complete reduced-motion coverage (also kill transitions & hover transforms) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important;
    animation-iteration-count:1!important}
  .model-card:hover,.model-card:hover .model-card__media img,.btn:hover,
  .feature:hover .feature__media img{transform:none!important}
}

/* ===== BRAND STATEMENT (hero → content breath, intl-bridal flow) ===== */
.statement{background:linear-gradient(180deg,var(--paper),var(--bone))}
.statement .section-inner{max-width:900px;text-align:center;padding-top:8.5rem;padding-bottom:8.5rem}
.statement .section-inner::before{content:'';display:block;width:46px;height:1px;background:var(--gold);opacity:.7;margin:0 auto 2.6rem}
.statement p{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.55;
  color:var(--ink);font-weight:400;letter-spacing:.01em}
.statement p em{font-style:italic;color:#7a5a46}
.statement__sign{font-family:var(--font-display);font-size:1.7rem;color:#7a5a46;margin-top:2.2rem;letter-spacing:.1em}
@media (max-width:860px){.statement .section-inner{padding-top:5.5rem;padding-bottom:5.5rem}}

/* ============================================================
   GALLERY REFINEMENT — cards stay in their row (no hover lift),
   softer/refined corners on the images
   ============================================================ */
.model-card{transition:none}
.model-card:hover{transform:none}                 /* no floating out of the row */
.model-card__media{border-radius:8px}             /* refined, gentle corners */
.model-card:hover .model-card__media{box-shadow:0 18px 40px -26px rgba(26,24,20,.5)}
.model-card:hover .model-card__media img{transform:scale(1.03)}  /* subtle, contained */
.model-card.has-video .model-card__media::after{border-radius:50%} /* keep badge round */

/* Refined hover: the caption drifts up as it fades, with a growing hairline
   under "View collection" — one quiet, couture-appropriate motion. */
.model-card__overlay > *{transform:translateY(12px);transition:transform .6s var(--ease)}
.model-card:hover .model-card__overlay > *,
.model-card:focus-visible .model-card__overlay > *{transform:translateY(0)}
.model-card__view::after{content:'';display:block;width:0;height:1px;margin:.55rem auto 0;
  background:var(--champagne);transition:width .6s var(--ease)}
.model-card:hover .model-card__view::after,
.model-card:focus-visible .model-card__view::after{width:34px}

/* About sub-headings: use the body font (not the serif display), keep size + bold */
#about .about-content h3{font-family:var(--font-sans);font-weight:600;letter-spacing:0}

/* About section title in the body font too (match the sub-headings) */
#about h2{font-family:var(--font-sans);font-weight:600}

/* ===== COLOUR FILTER ===== */
.filter{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin:-2rem 0 3.2rem}
.filter-btn{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:500;color:var(--muted);background:transparent;border:1px solid var(--line);
  border-radius:999px;padding:.55rem 1.35rem;cursor:pointer;transition:.3s var(--ease);min-height:38px}
.filter-btn:hover{border-color:var(--noir);color:var(--noir)}
.filter-btn.active{background:var(--noir);border-color:var(--noir);color:var(--paper)}
.filter-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.model-card.is-hidden{display:none}

/* ===== LIGHTBOX PER-MODEL INQUIRY CTA ===== */
.lightbox-counter{bottom:5.6rem}
.lightbox-cta{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:10001;
  display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}
.lb-btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-sans);font-size:.72rem;
  letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--paper);
  background:rgba(255,255,255,.08);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);
  border-radius:999px;padding:.7rem 1.4rem;cursor:pointer;transition:.3s var(--ease);text-decoration:none}
.lb-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.45)}
.lb-btn svg{width:17px;height:17px;fill:currentColor}
.lb-btn--wa{background:#1FA855;border-color:#1FA855}
.lb-btn--wa svg{fill:#fff}
.lb-btn--wa:hover{background:#178544;border-color:#178544}
@media (max-width:768px){
  .lightbox-counter{bottom:6.4rem}
  .lb-btn{font-size:.66rem;padding:.6rem 1rem}
}

/* About signature (name sign-off) */
.about-sign{font-family:var(--font-serif);font-style:italic;font-size:1.6rem;color:var(--rose-shadow);
  margin-top:1.6rem}

/* Contact address maps links */
.contact-maps{display:flex;gap:1.2rem;margin-top:.4rem}
.contact-maps a{font-family:var(--font-sans);font-size:.8rem;letter-spacing:.08em;color:var(--champagne);
  border-bottom:1px solid rgba(212,196,168,.45);padding-bottom:1px;transition:.3s}
.contact-maps a:hover{border-bottom-color:var(--champagne)}

/* Contact info text visible on the dark contact background */
.contact-info{color:rgba(245,241,235,.9)}
.contact-info p{color:rgba(245,241,235,.9)}
.contact-info p[dir="rtl"]{font-size:1.05rem}

/* ============================================================
   LEGAL PAGES (privacy / terms) + COOKIE BANNER
   ============================================================ */
.legal-topbar{position:sticky;top:0;z-index:50;background:rgba(250,247,242,.95);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;
  padding:1rem clamp(1.25rem,5vw,3rem)}
.legal-topbar .logo-text img{height:24px;display:block}
.legal-topbar a.back{font-family:var(--font-sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--noir)}
.legal-page{max-width:760px;margin:0 auto;padding:3.5rem 1.5rem 5rem}
.legal-page h1{font-family:var(--font-hebrew);font-size:clamp(2rem,5vw,3rem);font-weight:500;color:var(--noir);margin-bottom:.3rem}
.legal-page .updated{color:var(--muted);font-size:.85rem;margin-bottom:2.6rem}
.legal-page h2{font-family:var(--font-hebrew);font-size:1.4rem;font-weight:600;color:var(--noir);margin:2.4rem 0 .7rem}
.legal-page p,.legal-page li{color:#4a463f;line-height:1.9;font-size:1rem;margin-bottom:.7rem}
.legal-page ul{padding-inline-start:1.4rem;list-style:disc;margin-bottom:.7rem}
.legal-page a{color:var(--gold-ink);border-bottom:1px solid rgba(131,106,50,.4)}

/* Cookie consent banner */
.cookie-banner{position:fixed;inset:auto 1rem 1rem 1rem;z-index:300;max-width:560px;margin:0 auto;
  background:var(--noir);color:rgba(245,241,235,.92);border-radius:14px;padding:1.1rem 1.3rem;
  box-shadow:0 20px 50px rgba(0,0,0,.35);display:flex;gap:1rem;align-items:center;flex-wrap:wrap;
  font-family:var(--font-sans);font-size:.88rem;line-height:1.5;transform:translateY(140%);transition:transform .5s var(--ease)}
.cookie-banner.show{transform:none}
.cookie-banner p{margin:0;flex:1 1 260px}
.cookie-banner a{color:var(--champagne);border-bottom:1px solid rgba(212,196,168,.5)}
.cookie-banner .cookie-actions{display:flex;gap:.6rem;flex-shrink:0}
.cookie-banner button{font-family:var(--font-sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;cursor:pointer;border-radius:999px;padding:.6rem 1.2rem;border:1px solid var(--champagne);transition:.3s}
.cookie-banner .accept{background:var(--champagne);color:var(--noir);border-color:var(--champagne)}
.cookie-banner .accept:hover{background:#c9b487}
.cookie-banner .decline{background:transparent;color:rgba(245,241,235,.85)}
.cookie-banner .decline:hover{border-color:var(--paper)}

/* Legal pages: uniform body font, lighter weight, right-aligned (not centered) */
.legal-page h1,.legal-page h2{font-family:var(--font-sans);text-align:right;letter-spacing:0}
.legal-page h1{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:600}
.legal-page h2{font-size:1.12rem;font-weight:600;color:var(--ink);margin:2rem 0 .5rem}

/* Logo lockup: monogram beside the wordmark (not stacked) */
.logo-container a{display:flex;align-items:center;gap:.65rem}
.logo-symbol img{height:40px}
.logo-text img{height:26px}
@media (max-width:560px){
  .logo-symbol img{height:34px}
  .logo-text img{height:22px}
}

/* ============================================================
   LAUNCH POLISH — final couture pass
   One recurring seam motif, refined card meta, Hebrew display
   type, editorial filter bar, lightbox geometry, responsive
   and reduced-motion corrections. Visual only; no JS hooks
   (.active/.zoomed/.zooming/.is-hidden/.visible) are altered.
   ============================================================ */

/* --- 1 · Section seams: one recurring centered champagne-gold
       hairline stitches about→bridal→evening→contact into a
       single editorial spread. --- */
.collection-section::before{inset-inline:auto;left:50%;transform:translateX(-50%);
  width:min(340px,64vw);
  background:linear-gradient(90deg,transparent,rgba(184,160,122,.62) 24%,rgba(184,160,122,.62) 76%,transparent)}
.contact-section::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(340px,64vw);height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(212,196,168,.75) 24%,rgba(212,196,168,.75) 76%,transparent)}
/* the seam replaces the doubled full-width border between the two galleries */
.collection-section + .collection-section .section-inner{border-top:0}

/* --- 2 · Card meta: a quiet champagne hairline between name and
       number (single treatment; the hover border-top retires). --- */
.model-card__name{margin-bottom:0}
.model-card__name::after{content:'';display:block;width:22px;height:1px;
  margin:.6rem auto .55rem;background:var(--champagne)}
.model-card:hover .model-card__meta{border-top-color:transparent}
.model-card__number{color:var(--gold-ink);opacity:.8;padding-inline-start:.42em} /* padding = optical centering for the tracking */

/* --- 3 · Hebrew display type: Frank Ruhl Libre 500 for the About
       headings (Italiana/Cormorant carry no Hebrew), upright
       signature, and a Hebrew-capable mobile-nav fallback. --- */
#about h2{font-family:var(--font-hebrew);font-weight:500;letter-spacing:.015em}
#about .about-content h3{font-family:var(--font-hebrew);font-weight:500;letter-spacing:.015em}
#about .about-sign{font-family:var(--font-hebrew);font-style:normal;letter-spacing:.02em}
.mobile-nav a[data-he]{font-family:var(--font-hebrew);letter-spacing:.02em}

/* --- 4 · Evening filter bar: italic serif labels with a growing
       gold underline instead of generic pills. --- */
.filter{gap:.4rem 1.5rem;margin:-2.2rem 0 3.4rem}
.filter-btn{position:relative;font-family:var(--font-serif);font-style:italic;font-weight:400;
  font-size:1.05rem;letter-spacing:.05em;text-transform:none;color:var(--muted);
  background:transparent;border:0;border-radius:0;padding:.5rem .4rem;min-height:44px;min-width:44px}
.filter-btn::after{content:'';position:absolute;left:50%;bottom:.5rem;transform:translateX(-50%);
  width:0;height:1px;background:var(--gold-ink);transition:width .4s var(--ease)}
.filter-btn:hover{color:var(--noir);border-color:transparent}
.filter-btn:hover::after{width:55%}
.filter-btn.active{background:transparent;border-color:transparent;color:var(--noir)}
.filter-btn.active::after{width:100%}

/* --- 5 · Lightbox: keep counter + CTA clear of the image on any
       viewport height; unified pill proportions; 44px tap targets. --- */
.lightbox-image-wrap{height:72vh;margin-bottom:7vh}
.lb-btn{min-height:44px}
.lightbox-counter{padding:.5rem 1.5rem;font-size:.95rem}
@media (max-width:768px){
  .lightbox-image-wrap{width:94vw;height:62vh;margin-bottom:12vh}
  .lightbox-header{top:1.15rem;max-width:calc(100vw - 120px)}
  .lightbox-title{font-size:1.15rem}
  .lightbox-counter{bottom:5.2rem;font-size:.85rem;padding:.4rem 1.2rem}
  .lightbox-cta{bottom:1.1rem;width:100%;padding:0 .75rem}
}

/* --- 6 · Hero display: optical centering for the tracked title,
       soft shadow for legibility over bright video frames. --- */
.hero h1{padding-inline-start:.14em;text-shadow:0 2px 40px rgba(0,0,0,.25)}

/* --- 7 · Contact form niceties --- */
.contact-form input,.contact-form textarea{caret-color:var(--champagne)}
@media (max-width:768px){
  .contact-form input,.contact-form textarea{font-size:1rem} /* prevents iOS focus zoom */
}

/* --- 8 · Footer: rhythm + hover language matching the header nav --- */
footer{padding:4.5rem 1.5rem 2.75rem}
footer .footer-nav{gap:1rem 2.2rem;margin-bottom:2rem}
footer .footer-nav a{position:relative;padding:.35rem .1rem}
footer .footer-nav a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:1px;
  background:var(--champagne);transform:translateX(-50%);transition:width .4s var(--ease)}
footer .footer-nav a:hover::after{width:100%}
footer .footer-fine a{transition:color .3s,border-color .3s}
footer .footer-fine a:hover{color:var(--champagne);border-bottom-color:rgba(212,196,168,.6)}

/* --- 9 · Small-screen corrections. Earlier mobile gap/size rules
       were overridden by the later refinement layer (source order),
       so they are restated here where they win the cascade. --- */
@media (max-width:560px){
  .section-inner{padding:5.5rem 1.25rem}
  .gallery{gap:2.4rem 1rem}
  .model-card__name{font-size:1.3rem}
  .hero h1{font-size:clamp(2.4rem,10vw,3.6rem);letter-spacing:.08em;padding-inline-start:.08em}
  .sound-toggle{width:44px;height:44px}
  .filter{gap:.2rem 1rem;margin-bottom:2.8rem}
}

/* --- 10 · Reduced motion: heroReveal is killed globally above,
       which left the hero copy at opacity:0 — restore visibility. --- */
@media (prefers-reduced-motion:reduce){
  .hero-content .eyebrow-line,.hero h1,.hero-subtitle,.hero-scroll{opacity:1!important;animation:none!important}
}

/* ============================================================
   FINAL QA TOUCHES — pre-launch polish
   ============================================================ */
/* Cover crop: the 2:3 photos lose ~11% height inside the 3:4 cards —
   bias the window upward so heads stay clear; only floor fabric is trimmed */
.model-card__media img{object-position:center 22%}

/* Champagne "mat" frame on hover — an inner hairline like a mounted print */
.model-card__media::before{content:'';position:absolute;inset:10px;z-index:2;pointer-events:none;
  border:1px solid rgba(212,196,168,0);border-radius:4px;transition:border-color .6s var(--ease)}
.model-card:hover .model-card__media::before,
.model-card:focus-visible .model-card__media::before{border-color:rgba(212,196,168,.55)}

/* Hero-to-paper seam: fade the video's lower edge into the About paper */
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:12vh;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(250,247,242,.5) 80%,var(--paper))}
