/* =====================================================================
   Dr. Shlomo Steve Jackson — "Dawn" design system (light, Hebrew-first)
   Single-page rolldown. Airy daylight blues + restrained brass,
   arch motif (morning-light windows), duotone-blue portraits,
   the recurring ח (eighth day). Frank Ruhl Libre + Heebo.
   Extracted from the design handoff prototype (dawn-light-he.html).
   ===================================================================== */

:root{
  --paper:#f2f7fc;
  --paper-2:#e6eff8;
  --paper-3:#dde9f5;
  --white:#ffffff;
  --ocean:#1c3e63;
  --ocean-deep:#142f4d;
  --sky:#4f7aa6;
  --sky-soft:#9bbad6;
  --ink:#12304f;
  --ink-soft:#4e6a86;
  --ink-faint:#7e96ad;
  --brass:#a87f3c;
  --brass-soft:#c39a52;
  --brass-deep:#8a6529;
  --light:#eef4fa;
  --light-soft:rgba(238,244,250,.78);
  --light-faint:rgba(238,244,250,.55);
  --line:rgba(18,48,79,.13);
  --line-soft:rgba(18,48,79,.07);
  --display:'Frank Ruhl Libre',serif;
  --ui:'Heebo',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
picture{display:contents;}
a{color:inherit;text-decoration:none;}
.tel{unicode-bidi:isolate;direction:ltr;}
::selection{background:var(--brass);color:#fff;}
.wrap{max-width:1200px;margin:0 auto;padding:0 38px;}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;}
.eyebrow{font-family:var(--ui);font-weight:600;font-size:.8rem;letter-spacing:.16em;color:var(--brass-deep);display:inline-flex;align-items:center;gap:.7rem;}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--brass);display:inline-block;}

/* ---------------- nav ---------------- */
.nav{position:fixed;top:0;right:0;left:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:24px 38px;transition:background .35s,padding .35s,box-shadow .35s,backdrop-filter .35s;}
.nav.solid{background:rgba(242,247,252,.85);backdrop-filter:blur(16px);padding:14px 38px;box-shadow:0 1px 0 var(--line-soft);}
.brand{font-family:var(--display);font-size:1.4rem;font-weight:500;color:var(--ocean);letter-spacing:.01em;}
.nav__links{display:flex;align-items:center;gap:32px;}
.nav__links a{font-weight:500;font-size:.96rem;color:var(--ink-soft);transition:color .2s;}
.nav__links a:hover{color:var(--ocean);}
.nav__act{display:flex;align-items:center;gap:18px;}
.call{display:inline-flex;align-items:center;gap:.55rem;background:var(--ocean);color:#fff;padding:.64rem 1.3rem;border-radius:2px;font-weight:600;font-size:.95rem;transition:.25s;box-shadow:0 14px 30px -14px rgba(28,62,99,.6);}
.call:hover{background:var(--ocean-deep);}
.call svg{width:15px;height:15px;}
.lang{font-weight:700;color:var(--ocean);font-size:.9rem;border-bottom:1px solid transparent;}
.lang:hover{border-color:var(--brass);}
@media(max-width:980px){.nav__links{display:none;}.nav,.nav.solid{padding:14px 20px;}}

/* ---------------- hero ---------------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;
  background:
    radial-gradient(110% 75% at 82% -8%, rgba(155,186,214,.55), transparent 55%),
    radial-gradient(90% 70% at 6% 112%, rgba(200,160,90,.12), transparent 55%),
    linear-gradient(180deg,#e9f2fb 0%, var(--paper) 55%);
}
.hero__watermark{position:absolute;top:8%;left:-2%;font-family:var(--display);font-weight:300;font-size:46vh;line-height:.7;color:rgba(28,62,99,.05);z-index:1;pointer-events:none;user-select:none;}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr .82fr;gap:64px;align-items:center;width:100%;padding-top:96px;padding-bottom:60px;}
.hero__head{font-size:clamp(2.9rem,6.4vw,5.4rem);font-weight:300;color:var(--ocean);margin:26px 0 0;}
.hero__head b{font-weight:500;color:var(--brass-deep);}
.hero__sub{font-size:1.22rem;color:var(--ink-soft);max-width:40ch;margin-top:28px;font-weight:300;}
.hero__cta{display:flex;align-items:center;gap:22px;margin-top:40px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--ui);font-weight:600;font-size:1.06rem;padding:1.05rem 1.9rem;border-radius:2px;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s;}
.btn--primary{background:var(--ocean);color:#fff;box-shadow:0 22px 46px -18px rgba(28,62,99,.65);}
.btn--primary:hover{background:var(--ocean-deep);transform:translateY(-2px);}
.btn--ghost{color:var(--ocean);border:1px solid var(--line);}
.btn--ghost:hover{border-color:var(--brass);color:var(--brass-deep);}
.hero__note{margin-top:18px;font-size:.95rem;color:var(--ink-faint);}

/* arched duotone portrait */
.arch{position:relative;}
.arch::before{content:"";position:absolute;inset:-14px;border:1px solid rgba(168,127,60,.5);border-radius:6px;z-index:0;}
.duo{position:relative;overflow:hidden;border-radius:6px;background:var(--paper-3);box-shadow:0 50px 90px -42px rgba(18,48,79,.5);}
.duo img{width:100%;height:100%;object-fit:cover;display:block;}
.duo::after{display:none;}
.duo::before{display:none;}
.hero__portrait{position:relative;}
.hero__portrait .duo{aspect-ratio:1/1.32;}
.hero__cap{position:absolute;z-index:3;right:18px;bottom:20px;color:#fff;}
.hero__cap b{font-family:var(--display);font-size:1.3rem;font-weight:500;display:block;}
.hero__cap span{font-size:.82rem;color:var(--light-soft);letter-spacing:.04em;}
@media(max-width:980px){.hero .wrap{grid-template-columns:1fr;gap:42px;}.hero__portrait{max-width:380px;}}

.cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:3;color:var(--ink-faint);font-size:.74rem;letter-spacing:.2em;display:flex;flex-direction:column;align-items:center;gap:10px;}
.cue svg{width:14px;height:30px;animation:bob 2.4s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translateY(0);opacity:.55;}50%{transform:translateY(6px);opacity:1;}}
@media(max-width:980px){.cue{display:none;}}

/* ---------------- section base ---------------- */
.section{position:relative;padding:128px 0;}
.s-pillars{background:var(--white);}
.s-about{background:var(--paper-2);}
.s-process{background:var(--white);}
.s-quote{background:linear-gradient(160deg,var(--ocean),var(--ocean-deep));color:var(--light);}
.s-photos{background:var(--paper-3);}
.s-letters{background:var(--white);}
.s-faq{background:var(--paper-2);}
.s-contact{background:radial-gradient(120% 130% at 50% 0%, #ffffff, var(--paper) 55%, var(--paper-2) 100%);}
/* layering — dark sections lift as rounded panels over the light ones */
.s-why,.s-quote,.s-social,.s-closing{border-radius:40px 40px 0 0;margin-top:-40px;z-index:2;box-shadow:0 -34px 70px -48px rgba(18,48,79,.55);}
/* hover-lift on cards */
.shot{transition:transform .5s cubic-bezier(.2,.6,.2,1),box-shadow .5s ease;}
.shot:hover{transform:translateY(-6px);box-shadow:0 55px 85px -38px rgba(18,48,79,.5);}
.clinic-photo{transition:transform .5s cubic-bezier(.2,.6,.2,1),box-shadow .5s ease;}
.clinic-photo:hover{transform:translateY(-6px);}
.letter{transition:transform .4s cubic-bezier(.2,.6,.2,1);}
.letter:hover{transform:translateY(-5px);}
.archive-item{transition:transform .45s cubic-bezier(.2,.6,.2,1),box-shadow .45s ease;}
.archive-item:hover{transform:translateY(-5px);box-shadow:0 40px 70px -38px rgba(18,48,79,.55);}
.section__title{font-size:clamp(2.1rem,4.5vw,3.5rem);font-weight:300;margin-top:22px;color:var(--ocean);}
.s-quote .section__title{color:#fff;}
.lede{font-size:1.18rem;font-weight:300;margin-top:22px;max-width:50ch;color:var(--ink-soft);}

/* ---------------- pillars ---------------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.pillar{padding:8px 38px;border-right:1px solid var(--line-soft);}
.pillar:first-child{padding-right:0;}
.pillar:last-child{border-right:none;}
.pillar__ic{width:54px;height:54px;border-radius:6px;border:1px solid rgba(168,127,60,.55);display:grid;place-items:center;color:var(--brass);margin-bottom:22px;}
.pillar__ic svg{width:24px;height:24px;}
.pillar h3{font-family:var(--display);font-size:1.7rem;font-weight:400;margin-bottom:10px;color:var(--ocean);}
.pillar p{color:var(--ink-soft);font-weight:300;font-size:1.02rem;}
@media(max-width:860px){.pillars{grid-template-columns:1fr;gap:40px;}.pillar{border-right:none;padding:0;}}

/* ---------------- about ---------------- */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center;}
.about__media{position:relative;}
.about__media .duo{aspect-ratio:4/4.6;}
.video-tag{position:absolute;left:-20px;bottom:38px;z-index:3;display:flex;align-items:center;gap:.7rem;background:#fff;color:var(--ink);padding:.65rem 1.15rem .65rem .65rem;border-radius:2px;font-weight:600;font-size:.92rem;box-shadow:0 24px 50px -22px rgba(18,48,79,.45);}
.video-tag .play{width:38px;height:38px;border-radius:50%;background:var(--brass);display:grid;place-items:center;}
.video-tag .play svg{width:13px;height:13px;fill:#fff;}
.about p{color:var(--ink-soft);font-weight:300;margin-top:20px;font-size:1.08rem;}
.pull{margin-top:34px;padding-right:26px;border-right:2px solid var(--brass);}
.pull p{font-family:var(--display);font-size:1.5rem;font-weight:400;color:var(--ocean);line-height:1.4;margin:0;}
.pull span{display:block;margin-top:12px;font-family:var(--ui);font-weight:600;font-size:.85rem;letter-spacing:.06em;color:var(--brass-deep);}
@media(max-width:860px){.about{grid-template-columns:1fr;gap:44px;}.about__media{max-width:420px;}}

/* ---------------- process ---------------- */
.proc__head{text-align:center;max-width:56ch;margin:0 auto 72px;}
.proc__head .eyebrow{justify-content:center;}
.timeline{max-width:820px;margin:0 auto;position:relative;}
.timeline::before{content:"";position:absolute;top:0;bottom:60px;right:31px;width:1px;background:linear-gradient(180deg,var(--brass),var(--sky-soft));}
.tl{display:grid;grid-template-columns:64px 1fr;gap:30px;padding-bottom:48px;position:relative;}
.tl__n{position:relative;z-index:2;width:64px;height:64px;border-radius:6px;background:var(--paper-2);border:1px solid rgba(168,127,60,.55);display:grid;place-items:center;font-family:var(--display);font-size:1.7rem;color:var(--brass-deep);}
.tl h3{font-family:var(--display);font-size:1.85rem;font-weight:400;color:var(--ocean);margin-bottom:8px;}
.tl p{color:var(--ink-soft);font-weight:300;}
.tl--last .tl__n{background:var(--brass);color:#fff;border-color:var(--brass);}
.tl--last h3 .day8{color:var(--brass-deep);}

/* ---------------- team ---------------- */
.s-team{background:var(--white);}
.team__head{max-width:60ch;margin-bottom:58px;}
.team__members{display:grid;gap:0;}
.member{display:grid;grid-template-columns:.34fr .66fr;gap:48px;padding:46px 0;border-top:1px solid var(--line);align-items:start;}
.member__avatar{width:96px;height:104px;border-radius:6px;background:var(--paper-3);border:1px solid rgba(168,127,60,.45);display:grid;place-items:center;color:var(--sky);margin-bottom:20px;overflow:hidden;}
.member__avatar svg{width:42px;height:42px;}
.member__avatar img{width:100%;height:100%;object-fit:cover;}
.member__id h3{font-family:var(--display);font-size:1.9rem;font-weight:400;color:var(--ocean);}
.member__id .role{margin-top:8px;font-family:var(--ui);font-weight:600;font-size:.8rem;letter-spacing:.16em;color:var(--brass-deep);}
.member__bio p{color:var(--ink-soft);font-weight:300;font-size:1.06rem;line-height:1.75;margin-bottom:16px;}
.member__bio p:last-child{margin-bottom:0;}
@media(max-width:860px){.member{grid-template-columns:1fr;gap:16px;padding:36px 0;}}
.team__summary{max-width:780px;margin:54px auto 0;padding-top:44px;border-top:1px solid var(--line);text-align:center;font-family:var(--display);font-weight:300;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.55;color:var(--ocean);}

/* ---------------- why-choose checklist ---------------- */
.s-why{background:linear-gradient(150deg,#23456e 0%,var(--ocean) 45%,var(--ocean-deep) 100%);color:var(--light);position:relative;overflow:hidden;}
.s-why::before{content:"\2713";position:absolute;top:1%;inset-inline-end:-3%;font-size:38vh;line-height:.7;color:rgba(255,255,255,.045);pointer-events:none;z-index:0;}
.s-why .wrap{position:relative;z-index:1;}
.s-why .eyebrow,.s-why .eyebrow::before{color:var(--brass-soft);}
.s-why .section__title{color:#fff;}
.s-why .checklist li{color:var(--light-soft);}
.s-why .checklist li::before{background:no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cda85f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
.why{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start;}
.why__head .eyebrow{margin-bottom:0;}
.checklist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;}
.checklist li{display:flex;align-items:flex-start;gap:14px;font-size:1.05rem;color:var(--ink-soft);font-weight:300;line-height:1.5;}
.checklist li::before{content:"";flex:0 0 auto;width:20px;height:20px;margin-top:4px;background:
  no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a87f3c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");}
@media(max-width:860px){.why{grid-template-columns:1fr;gap:40px;}.checklist{grid-template-columns:1fr;}}

/* ---------------- clinic / ceremony prose ---------------- */
.s-clinic{background:var(--white);}
.clinic__head{max-width:56ch;margin-bottom:56px;}
.prose-cols{display:grid;grid-template-columns:1fr 1fr;gap:54px;}
.prose-block h3{font-family:var(--display);font-size:1.7rem;font-weight:400;color:var(--ocean);margin-bottom:12px;}
.prose-block p{color:var(--ink-soft);font-weight:300;font-size:1.05rem;margin-bottom:14px;}
.prose-block + .prose-block{}
.prose-block__note{margin-top:6px;font-size:.95rem;color:var(--brass-deep);font-weight:600;}
@media(max-width:860px){.prose-cols{grid-template-columns:1fr;gap:40px;}}
.clinic-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;}
.clinic-photo{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:8px;border:1px solid var(--line-soft);box-shadow:0 30px 60px -42px rgba(18,48,79,.4);cursor:zoom-in;background:#fff;}
.clinic-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.clinic-photo:hover img{transform:scale(1.04);}
@media(max-width:860px){.clinic-photos{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.clinic-photos{grid-template-columns:1fr;}}

/* ---------------- includes checklist (after process) ---------------- */
.includes{max-width:820px;margin:64px auto 0;padding-top:42px;border-top:1px solid var(--line);}
.includes h3{font-family:var(--display);font-size:1.5rem;font-weight:400;color:var(--ocean);margin-bottom:24px;text-align:center;}

/* ---------------- closing statement ---------------- */
.s-closing{background:linear-gradient(160deg,var(--ocean-deep) 0%,var(--ocean) 55%,#23456e 100%);color:var(--light);position:relative;overflow:hidden;}
.s-closing .wrap{position:relative;z-index:1;}
.s-closing .eyebrow,.s-closing .eyebrow::before{color:var(--brass-soft);}
.closing{max-width:760px;margin:0 auto;text-align:center;}
.closing p{font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.35;color:#fff;}
.closing p + p{font-family:var(--ui);font-weight:300;font-size:1.15rem;line-height:1.7;color:var(--light-soft);margin-top:24px;}

/* ---------------- process steps (no badges) ---------------- */
.steps{max-width:820px;margin:0 auto;}
.step{padding:38px 0;border-top:1px solid var(--line);}
.step:first-child{border-top:none;padding-top:0;}
.step h3{font-family:var(--display);font-size:1.85rem;font-weight:400;color:var(--ocean);margin-bottom:14px;}
.step p{color:var(--ink-soft);font-weight:300;font-size:1.06rem;line-height:1.75;margin-bottom:12px;}
.step p:last-child{margin-bottom:0;}

/* ---------------- quote band ---------------- */
.bigquote{max-width:920px;margin:0 auto;text-align:center;}
.bigquote .mk{font-family:var(--display);font-size:4rem;line-height:.3;color:var(--brass-soft);}
.bigquote p{font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,3.8vw,2.9rem);line-height:1.3;color:#fff;margin-top:18px;}
.bigquote span{display:block;margin-top:30px;font-family:var(--ui);font-weight:600;font-size:.9rem;letter-spacing:.12em;color:var(--brass-soft);}

/* ---------------- photos ---------------- */
.photos__head{margin-bottom:48px;}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;}
.shot{position:relative;overflow:hidden;border-radius:6px;box-shadow:0 40px 70px -40px rgba(18,48,79,.4);background:#fff;aspect-ratio:4/5;}
.shot img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s ease;}
.shot:hover img{transform:scale(1.05);}
.shot{grid-column:span 4;}
.shot--wide{grid-column:span 12;aspect-ratio:2/1;}
.shot--wide img{object-position:center 32%;}
.shot{cursor:zoom-in;}
.shot__cap{position:absolute;right:16px;bottom:14px;color:#fff;font-family:var(--display);font-size:1.15rem;text-shadow:0 2px 14px rgba(0,0,0,.6);}
.photos__note{margin-top:28px;color:var(--ink-faint);font-size:.95rem;}
@media(max-width:860px){.gallery{grid-template-columns:1fr 1fr;}.shot{grid-column:span 1 !important;grid-row:span 1 !important;border-radius:6px !important;}.shot--wide{grid-column:span 2 !important;aspect-ratio:16/10;}}

/* ---------------- media & social (dark band) ---------------- */
.s-social{background:linear-gradient(155deg,#23456e 0%, var(--ocean) 42%, var(--ocean-deep) 100%);color:var(--light);position:relative;overflow:hidden;}
.s-social::before{content:"\25B6";position:absolute;top:4%;inset-inline-start:-3%;font-size:34vh;line-height:.7;color:rgba(255,255,255,.04);pointer-events:none;z-index:0;}
.s-social .wrap{position:relative;z-index:1;}
.s-social .social__head .eyebrow{color:var(--brass-soft);}
.s-social .social__head .eyebrow::before{color:var(--brass-soft);}
.s-social .section__title{color:#fff;}
.social__head{max-width:56ch;margin-bottom:64px;}

/* alternating cinematic feature rows */
.media-feature{display:flex;gap:56px;align-items:center;margin-bottom:84px;}
.media-feature--rev{flex-direction:row-reverse;}
.media-feature__text{flex:1;}
.media-feature__text .eyebrow{color:var(--brass-soft);}
.media-feature__text .eyebrow::before{color:var(--brass-soft);}
.media-feature__text h3{font-family:var(--display);font-size:clamp(1.7rem,2.6vw,2.3rem);font-weight:400;color:#fff;margin:14px 0;line-height:1.12;}
.media-feature__text p{color:var(--light-soft);font-weight:400;font-size:1.08rem;line-height:1.75;}

/* video card with chip + play badge + duration */
.media-card{flex:1.45;position:relative;border-radius:14px;overflow:hidden;box-shadow:0 60px 110px -45px rgba(0,0,0,.7);transform:translateZ(0);transition:transform .4s cubic-bezier(.2,.6,.2,1);}
.media-card:hover{transform:translateY(-5px);}
.media-card__video{display:block;width:100%;aspect-ratio:16/9;background:#000;}
.media-card__overlay{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center;transition:opacity .4s;background:linear-gradient(180deg,rgba(10,20,35,.15),rgba(10,20,35,.05) 40%,rgba(10,20,35,.35));}
.media-card.is-playing .media-card__overlay{opacity:0;}
.media-card__chip{position:absolute;top:15px;inset-inline-start:15px;display:inline-flex;align-items:center;gap:.45rem;background:rgba(8,16,28,.62);backdrop-filter:blur(7px);color:#fff;font-family:var(--ui);font-weight:600;font-size:.76rem;letter-spacing:.03em;padding:6px 12px;border-radius:999px;}
.media-card__chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#e3322d;box-shadow:0 0 0 3px rgba(227,50,45,.28);}
.media-card__dur{position:absolute;bottom:15px;inset-inline-end:15px;background:rgba(8,16,28,.62);backdrop-filter:blur(7px);color:#fff;font-family:var(--ui);font-size:.74rem;font-weight:600;padding:4px 9px;border-radius:7px;}
.media-card__play{width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.65);display:grid;place-items:center;color:#fff;box-shadow:0 16px 50px rgba(0,0,0,.45);transition:transform .35s,background .35s;}
.media-card:hover .media-card__play{transform:scale(1.1);background:rgba(255,255,255,.24);}
.media-card__play svg{width:26px;height:26px;margin-inline-start:4px;fill:#fff;}
@media(max-width:860px){.media-feature,.media-feature--rev{flex-direction:column;gap:24px;margin-bottom:54px;}}

/* influencer block on the dark band */
.social{display:grid;grid-template-columns:320px 1fr;gap:54px;align-items:center;}
.social__story{margin:0;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 50px 100px -45px rgba(0,0,0,.7);cursor:zoom-in;justify-self:center;background:#000;}
.social__story img{width:100%;display:block;}
.social__media{display:flex;flex-direction:column;gap:24px;}
.social__media .eyebrow{color:var(--brass-soft);}
.social__media .eyebrow::before{color:var(--brass-soft);}
.social__video{width:100%;aspect-ratio:16/9;border-radius:14px;background:#000;box-shadow:0 50px 100px -45px rgba(0,0,0,.7);display:block;}
.social__quote{margin:0;}
.social__quote cite{display:block;font-family:var(--ui);font-style:normal;font-weight:600;font-size:.92rem;color:var(--brass-soft);unicode-bidi:plaintext;}
@media(max-width:860px){.social{grid-template-columns:1fr;gap:30px;}.social__story{max-width:300px;}}

/* ---------------- letters ---------------- */
.letters{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.letter{position:relative;padding-top:30px;}
.letter__mark{font-family:var(--display);font-size:5rem;line-height:.4;color:var(--brass);}
.letter p{font-family:var(--display);font-size:1.5rem;font-weight:400;line-height:1.42;color:var(--ocean);margin-top:6px;}
.letter span{display:block;margin-top:20px;font-weight:600;font-size:.88rem;color:var(--ink-faint);}
.letters__cta{margin-top:54px;}
.btn--line{color:var(--ocean);border:1px solid var(--line);}
.btn--line:hover{border-color:var(--brass);color:var(--brass-deep);}
@media(max-width:860px){.letters{grid-template-columns:1fr;gap:44px;}}

/* ---------------- letters archive (full grid) ---------------- */
.archive-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.archive-item{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:6px;background:#fff;box-shadow:0 28px 56px -40px rgba(18,48,79,.45);cursor:zoom-in;}
.archive-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);transition:transform .6s ease,filter .4s;}
.archive-item:hover img{transform:scale(1.05);filter:saturate(1);}
.archive-item__num{position:absolute;bottom:8px;inset-inline-end:9px;font-family:var(--ui);font-size:.72rem;color:#fff;background:rgba(18,48,79,.62);padding:2px 8px;border-radius:999px;opacity:0;transition:opacity .3s;backdrop-filter:blur(4px);}
.archive-item:hover .archive-item__num{opacity:1;}
@media(max-width:860px){.archive-grid{grid-template-columns:repeat(4,1fr);gap:12px;}}
@media(max-width:520px){.archive-grid{grid-template-columns:repeat(3,1fr);gap:10px;}.archive-item__num{opacity:1;}}

/* ---------------- faq ---------------- */
.faq{max-width:840px;margin:0 auto;}
.faq__head{text-align:center;margin-bottom:54px;}
.faq__head .eyebrow{justify-content:center;}
.q{border-bottom:1px solid var(--line);}
.q summary{list-style:none;cursor:pointer;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:26px;font-family:var(--display);font-size:1.5rem;font-weight:400;color:var(--ocean);}
.q summary::-webkit-details-marker{display:none;}
.q .ic{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--brass-deep);transition:.3s;}
.q[open] .ic{background:var(--brass);color:#fff;border-color:var(--brass);transform:rotate(45deg);}
.q .ic svg{width:15px;height:15px;}
.q .a{padding:0 0 30px;color:var(--ink-soft);max-width:66ch;font-size:1.06rem;}

/* ---------------- contact ---------------- */
.contact{text-align:center;position:relative;z-index:2;}
.contact .lede{margin:22px auto 0;}
.phone-wrap{margin-top:40px;}
.phone{font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,7vw,4.6rem);color:var(--ocean);display:inline-flex;align-items:center;gap:1.1rem;transition:color .25s;}
.phone svg{width:46px;height:46px;color:var(--brass);}
.phone:hover{color:var(--brass-deep);}
.contact .meta{display:flex;gap:30px;justify-content:center;flex-wrap:wrap;margin-top:26px;color:var(--ink-soft);font-size:1rem;}
.contact .meta a{border-bottom:1px solid var(--line);padding-bottom:2px;}

/* ---------------- footer ---------------- */
.footer{background:var(--ocean-deep);color:var(--light-faint);padding:52px 0;font-size:.95rem;}
.footer .wrap{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:center;}
.footer .fb{font-family:var(--display);color:var(--light);font-size:1.15rem;}
.footer__id{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap;}
.fb-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9rem;transition:color .2s;}
.fb-link svg{width:20px;height:20px;flex:0 0 auto;}
.footer .fb-link{color:var(--light-soft);}
.footer .fb-link:hover{color:#fff;}
.contact .meta .fb-link{border:0;padding:0;color:var(--ink-soft);}
.contact .meta .fb-link:hover{color:var(--brass-deep);}

/* reveal + hero load */
.reveal{opacity:0;transform:translateY(34px) scale(.99);transition:opacity .95s cubic-bezier(.2,.6,.2,1),transform .95s cubic-bezier(.2,.6,.2,1);}
.reveal-l{opacity:0;transform:translateX(-48px);transition:opacity 1.05s cubic-bezier(.2,.6,.2,1),transform 1.05s cubic-bezier(.2,.6,.2,1);}
.reveal-r{opacity:0;transform:translateX(48px);transition:opacity 1.05s cubic-bezier(.2,.6,.2,1),transform 1.05s cubic-bezier(.2,.6,.2,1);}
.reveal.in,.reveal-l.in,.reveal-r.in{opacity:1;transform:none;}
.hl{opacity:0;transform:translateY(30px);animation:rise 1s cubic-bezier(.2,.6,.2,1) forwards;}
.hl.d1{animation-delay:.15s;}.hl.d2{animation-delay:.32s;}.hl.d3{animation-delay:.5s;}.hl.d4{animation-delay:.68s;}.hl.d5{animation-delay:.86s;}
@keyframes rise{to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-l,.reveal-r,.hl{opacity:1!important;transform:none!important;animation:none!important;}.shot:hover img,.archive-item:hover img,.clinic-photo:hover img,.shot:hover,.clinic-photo:hover,.letter:hover,.media-card:hover{transform:none!important;}.hero__watermark{transform:none!important;}}

/* keyboard focus — branded ring */
:focus{outline:none;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px;}

/* ---------------- lightbox ---------------- */
.lightbox{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.4vw,18px);padding:4vw;direction:ltr;
  background:rgba(18,48,79,.86);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;cursor:zoom-out;}
.lightbox.is-open{opacity:1;visibility:visible;}
.lightbox img{order:0;max-width:calc(100% - 130px);max-height:92vh;border-radius:6px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);
  transform:scale(.96);transition:transform .3s cubic-bezier(.2,.6,.2,1);}
.lightbox.is-open img{transform:scale(1);}
.lightbox__close{position:absolute;top:22px;inset-inline-end:26px;width:44px;height:44px;border:none;background:rgba(255,255,255,.12);
  color:#fff;border-radius:50%;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .25s;z-index:2;}
.lightbox__close:hover{background:rgba(255,255,255,.24);}
.lightbox__nav{position:static;flex:0 0 auto;width:50px;height:50px;border:none;background:rgba(255,255,255,.12);
  color:#fff;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .25s;z-index:2;}
.lightbox__nav:hover{background:rgba(255,255,255,.26);}
.lightbox__prev{order:-1;}
.lightbox__next{order:1;}
@media(max-width:640px){.lightbox__nav{width:40px;height:40px;font-size:1.6rem;}.lightbox img{max-width:calc(100% - 96px);}}
