/* Shared patient-facing imagery and gold icon system. */
a[data-gold-icon], button[data-gold-icon] {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  max-width: 100%;
}
/* Intrinsic SVG paint stays separate from browser-adjusted CSS colors. */
a[data-gold-icon]::before,button[data-gold-icon]::before { content:none!important;display:none!important; }
a[data-gold-icon] > .gold-link-icon,button[data-gold-icon] > .gold-link-icon {
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  flex: 0 0 1.3rem;
  object-fit: contain;
  color-scheme: only light;
  background: transparent;
  border: 0;
  box-shadow: none;
  opacity: 1;
  filter: drop-shadow(0 1px 1px #0009) drop-shadow(0 0 5px #ffd70020);
  transition: filter .2s ease;
}
a[data-gold-icon]:hover > .gold-link-icon { filter: brightness(1.12); }
[dir='rtl'] [data-gold-icon='arrow-up-right'] > .gold-link-icon { transform:scaleX(-1); }
:is(a.button,a.btn,a.whatsapp,a.youtube-quick,a.vezeeta)[data-gold-icon] {
  background:linear-gradient(135deg,#211b11,#0d0c09);
  border:1px solid #c9a35f;
  color:#f3d796;
  box-shadow:inset 0 1px 0 #fff1b91c;
}
a[data-gold-icon] > .link-icon { display:none; }
a.card[data-gold-icon] { display:block; position:relative; }
a.card[data-gold-icon] > .gold-link-icon {
  width:1.9rem;height:1.9rem;margin-bottom:.8rem;
}
.patient-photo { position:relative; margin:0; overflow:hidden; border:1px solid #c9a35f45; background:#15130f; }
.patient-photo img { display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2; }
.photo-editorial { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:.55rem 2.5rem;align-items:start; }
.photo-editorial>.patient-photo { grid-column:2;grid-row:1 / span 3; }
.photo-editorial>:not(.patient-photo) { grid-column:1; }
.photo-editorial .grid,.photo-editorial .journey,.photo-editorial .buttons,.photo-editorial .booking { grid-column:1/-1; }
.photo-editorial>.patient-photo img { aspect-ratio:4/3; }

/* Photo-led guide openings, while keeping the title and actions first on mobile. */
.hero > .wrap.photo-hero { max-width:1080px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,54px);align-items:center; }
.photo-hero-copy { min-width:0; }
.photo-hero h1 { font-size:clamp(34px,4.5vw,58px);line-height:1.14;overflow-wrap:break-word; }
.photo-hero .patient-photo { align-self:center;width:100%;aspect-ratio:4/3;border-radius:3px 3px 48px 3px;box-shadow:0 24px 60px #0004; }
[dir=rtl] .photo-hero .patient-photo { border-radius:3px 3px 3px 48px; }
.photo-hero .patient-photo img { position:absolute;inset:0;aspect-ratio:auto; }
.photo-hero .lead { font-size:17px; }
.faq-hero .photo-hero h1 { font-size:clamp(30px,3.8vw,46px); }
.photo-interlude { margin:30px 0 4px;border-radius:3px; }
.photo-interlude img { aspect-ratio:21/9;height:auto; }
.faq-list > .photo-interlude { margin:28px 0; }

/* Edge-to-edge photographic card covers with the existing gold icon as a detail. */
body a.card.photo-card { --card-inset:27px;overflow:hidden;padding:0 0 var(--card-inset); }
body a.card.photo-card > :not(.patient-photo) { margin-inline:var(--card-inset); }
body a.card.photo-card > .patient-photo { border:0;border-bottom:1px solid #c9a35f45;margin:0 0 22px; }
body a.card.photo-card > .patient-photo img { aspect-ratio:3/2;height:auto; }
body a.card.photo-card[data-gold-icon] > .gold-link-icon { position:absolute;inset-inline-end:20px;top:20px;width:24px;height:24px;margin:0;z-index:1;filter:drop-shadow(0 1px 4px #000); }
body a.card.photo-card .num { min-height:20px;padding-inline-end:34px; }
body a.card.photo-card h3 { margin-block:12px; }
body a.card.photo-card .arrow { margin-top:16px; }
.links { gap:clamp(.5rem,1.1vw,1.1rem); }
.links a[data-gold-icon] { gap:.35rem; }
.links a[data-gold-icon] > .gold-link-icon { width:1rem;height:1rem;flex-basis:1rem; }
footer a[data-gold-icon] { margin:.35rem .3rem; }
:is(a,button)[data-gold-icon]:focus-visible { outline:2px solid #f3d796;outline-offset:5px; }
@media(max-width:1050px) { .links { display:none; } }
@media(min-width:1051px) { .actions .youtube-quick { display:none; } }
@media(max-width:760px) {
  .photo-editorial { display:block; }
  .photo-editorial>.patient-photo { margin:1.3rem 0 1.8rem; }
  .hero > .wrap.photo-hero { display:flex;flex-direction:column;gap:26px;align-items:stretch; }
  .photo-hero .patient-photo { aspect-ratio:auto;border-radius:3px 3px 30px 3px; }
  [dir=rtl] .photo-hero .patient-photo { border-radius:3px 3px 3px 30px; }
  .photo-hero .patient-photo img { position:static;aspect-ratio:3/2;height:auto; }
  .photo-hero h1 { font-size:clamp(32px,8vw,46px); }
  .photo-interlude img { aspect-ratio:3/2; }
  body a.card.photo-card { --card-inset:22px; }
  .nav { gap:.4rem; }
  .actions { min-width:0;flex-wrap:wrap;justify-content:flex-end; }
  .youtube-quick[data-gold-icon] { white-space:normal;font-size:.75rem;max-width:11rem; }
  .youtube-quick[data-gold-icon] > .gold-link-icon { width:1rem;height:1rem;flex-basis:1rem; }
  .brand-logo { flex-shrink:0; }
  .buttons>a[data-gold-icon],.booking>a[data-gold-icon] { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
  a[data-gold-icon] > .gold-link-icon,button[data-gold-icon] > .gold-link-icon { transition:none; }
  .flow-visual img { transform:none!important; }
}

/* Content is visible before JavaScript, after a failed script, and on deep links.
   One-time entrances are applied progressively by patient-motion.js. */
body :is(section,.flow-visual,.card,.oncology-point,.step,.location) {
  opacity:1;transform:none;transition-delay:0ms;
}
body .hero>div:first-child,body .hero-art { animation:none; }
body .hero-art::before { animation:patientSheen 2s .2s ease-out both; }
body header { transition:box-shadow .35s ease,border-color .35s ease,background-color .35s ease; }
body.page-scrolled header { border-bottom-color:#c9a35f88;box-shadow:0 8px 28px #0005; }
body .journey { position:relative; }
body .journey::before {
  content:'';position:absolute;top:0;inset-inline-start:0;height:2px;width:100%;
  background:linear-gradient(90deg,#efd394,#c9a35f55);transform-origin:left;animation:none;
}
.motion-rule::after { content:'';display:block;width:4.5rem;height:1px;margin-top:.85rem;background:#c9a35f;transform-origin:left; }
.flow-kicker.motion-rule::after { display:none; }
.motion-rule.motion-in::after,.flow-kicker.motion-in::before { animation:patientRule .9s .1s cubic-bezier(.22,.8,.2,1) both; }
body .journey.motion-in::before { animation:patientRule 1.3s .15s cubic-bezier(.22,.8,.2,1) both; }
[dir='rtl'] .motion-rule::after,[dir='rtl'] .flow-kicker::before,[dir='rtl'] .journey::before { transform-origin:right; }
body .card,body .oncology-point { transition:translate .3s ease,border-color .3s ease,box-shadow .3s ease; }
body :is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang,a.whatsapp) {
  overflow:hidden;isolation:isolate;
  transition:translate .25s ease,border-color .25s ease,box-shadow .25s ease;
}
body :is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang) { position:relative; }
:is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang,a.whatsapp)::after {
  content:'';position:absolute;inset:-35% -65%;pointer-events:none;
  background:linear-gradient(110deg,transparent 42%,#fff0bd26 50%,transparent 58%);
  transform:translateX(-70%);
}
body :is(a,button)[data-gold-icon] > .gold-link-icon { transition:scale .25s ease,filter .25s ease; }
body .links a { position:relative;padding-block:.4rem; }
.links a::after { content:'';position:absolute;inset-inline:0;bottom:0;height:1px;background:#efd394;transform:scaleX(0);transform-origin:left;transition:transform .25s ease; }
[dir='rtl'] .links a::after { transform-origin:right; }
.links a:focus-visible::after { transform:scaleX(1); }
:is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang,a.whatsapp):focus-visible::after { animation:patientSheen .65s ease-out; }
body :is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang,a.whatsapp):active { translate:0 1px; }
body details[open]>:not(summary) { animation:patientAnswer .3s ease-out; }
@media(hover:hover) and (pointer:fine) {
  body .card:hover,body .oncology-point:hover { transform:none;translate:0 -5px;border-color:#efd39499;box-shadow:0 18px 38px #0005; }
  body :is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang,a.whatsapp):hover { translate:0 -2px;box-shadow:0 7px 22px #c9a35f22; }
  :is(a.button,a.btn,a.lang,a.vezeeta,a.youtube-quick,button#lang,a.whatsapp):hover::after { animation:patientSheen .65s ease-out; }
  body :is(a,button)[data-gold-icon]:hover > .gold-link-icon { scale:1.08;filter:brightness(1.18); }
  .links a:hover::after { transform:scaleX(1); }
  .patient-photo img { transition:scale .7s cubic-bezier(.22,.8,.2,1); }
  .patient-photo:hover img { scale:1.025; }
}
@media(max-width:900px),(pointer:coarse) {
  body .flow-visual img { transform:none; }
  body .card:hover,body .oncology-point:hover { transform:none; }
}
@keyframes patientSheen { from{transform:translateX(-70%)}to{transform:translateX(70%)} }
@keyframes patientRule { from{transform:scaleX(0)}to{transform:scaleX(1)} }
@keyframes patientAnswer { from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none} }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  body *,body *::before,body *::after { animation:none!important;transition:none!important; }
  body :is(.card,.oncology-point,.patient-photo img,.flow-visual img),
  body :is(a,button)[data-gold-icon] { translate:none!important;scale:none!important;transform:none!important; }
  body :is(a,button)[data-gold-icon] > .gold-link-icon { scale:none!important; }
  body .flow-rail { display:none; }
}
