/* RAMOS – public landing page only. Overrides are intentionally scoped. */
body.home-entry-reference{--ramos-copper-on-dark:#d59662;--ramos-copper-solid:#ac6639;--ramos-sage-ink:#285f4d;--ramos-wash:#f1f6f3}
/* Quiet menu feedback, including the active state and opened settings. */
body.home-entry-reference .site-header #main-nav>a[aria-current=location],
body.home-entry-reference .site-header .header-actions .popover[open]>summary,
body.home-entry-reference .site-header .header-actions>.language-choice:is(:hover,:focus-within) select,
body.home-entry-reference .site-header .header-actions :is(.login,.button,summary):hover{
 background:var(--ramos-wash)!important;color:#072a3f!important;border-color:#c8d8d0!important;box-shadow:none!important;transform:none!important
}
body.home-entry-reference .site-header #main-nav>a[aria-current=location]{box-shadow:inset 0 -2px var(--ramos-sage-ink)!important}
body.home-entry-reference .site-header #main-nav>a[aria-current=location] svg,
body.home-entry-reference .site-header .header-actions .popover[open]>summary svg,
body.home-entry-reference .site-header .header-actions summary:hover svg{color:var(--ramos-sage-ink)!important;stroke:currentColor!important}
body.home-entry-reference .site-header .popover>div{box-shadow:0 12px 32px #152a3a12;border:1px solid #dbe5df;border-radius:12px}
/* The darkening belongs to the photo, NEVER to the text, copper controls or icons. */
body.home-entry-reference .hero{isolation:isolate;overflow:hidden}
body.home-entry-reference .hero-photo{z-index:0;transform:translate3d(0,var(--ramos-hero-pan,0px),0) scale(1.085);filter:brightness(.98) saturate(.92);transition:filter .65s ease}
body.home-entry-reference .hero-shade,body.home-entry-reference .hero::after{z-index:1;pointer-events:none}
body.home-entry-reference .hero-inner{position:relative;z-index:2}
body.home-entry-reference .hero h1 em{color:var(--ramos-copper-on-dark);opacity:1;filter:none;text-shadow:none}
body.home-entry-reference .hero .button.copper{background:var(--ramos-copper-on-dark);border-color:var(--ramos-copper-on-dark);color:#072a3f;opacity:1;filter:none;mix-blend-mode:normal;box-shadow:none}
body.home-entry-reference .hero .button.copper:hover,body.home-entry-reference .hero .button.copper:focus-visible{background:#e1ad80;border-color:#e1ad80;color:#072a3f}
body.home-entry-reference .hero .button.copper svg{color:inherit;stroke:currentColor;filter:none;opacity:1}
body.home-entry-reference .hero .button.ghost{background:rgba(21,42,58,.28);border-color:var(--ramos-copper-on-dark);color:#fff;opacity:1;filter:none;mix-blend-mode:normal}
body.home-entry-reference .hero .button.ghost svg{border-color:var(--ramos-copper-on-dark);color:var(--ramos-copper-on-dark);stroke:currentColor;opacity:1}
body.home-entry-reference .hero .photo-credit{z-index:3}
body.home-entry-reference .hero .photo-credit summary{color:#fff;background:rgba(21,42,58,.76);border-radius:12px;padding:4px 9px}
body.home-entry-reference .final-cta .button.copper{background:var(--ramos-copper-on-dark);border-color:var(--ramos-copper-on-dark);color:#072a3f}
@media(hover:hover){body.home-entry-reference .hero:hover .hero-photo{filter:brightness(1.05) saturate(.96)}}
/* Film-like, restrained reveals; no scroll hijacking or disappearing content. */
body.home-entry-reference [data-story-reveal]{transition:opacity .65s ease,translate .75s cubic-bezier(.22,.61,.36,1)}
body.home-entry-reference [data-story-reveal=waiting]{opacity:0;translate:0 22px}
body.home-entry-reference [data-story-reveal=shown],body.home-entry-reference [data-story-reveal]:focus-within{opacity:1;translate:0 0}
body.home-entry-reference .section-active .feature-copy{border-inline-start:0!important;padding-inline-start:0!important}
body.home-entry-reference .feature-copy>.kicker{color:#285f4d}
body.home-entry-reference .topic-photo{isolation:isolate;overflow:hidden}
body.home-entry-reference .topic-photo>img{transform:translate3d(0,var(--ramos-photo-pan,0px),0) scale(1.07)!important;transition:filter .6s ease;filter:brightness(.86) saturate(.95)}
body.home-entry-reference .topic-photo:hover>img{filter:brightness(1) saturate(1)}
body.home-entry-reference .report-wrap{transform:translateY(calc((1 - var(--scene-progress,0))*14px));transition:none}
/* Full-bleed circular lenses. A fine edge, no white padding or contained thumbnails. */
body.home-entry-reference .photo-marquee{--lens-size:clamp(148px,14vw,190px);--lens-gap:clamp(22px,3vw,42px);position:relative;margin-top:30px}
body.home-entry-reference .photo-marquee .marquee-window{direction:ltr;padding:18px 10px 24px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
body.home-entry-reference .photo-marquee .marquee-track{display:flex;direction:ltr;gap:0;width:max-content;animation:ramos-lenses-left 50s linear infinite!important;animation-play-state:paused!important;will-change:transform}
body.home-entry-reference .photo-marquee[data-lens-running=true] .marquee-track{animation-play-state:running!important}
body.home-entry-reference .photo-marquee .marquee-group{display:flex;direction:ltr;gap:var(--lens-gap);padding:8px var(--lens-gap) 8px 0;margin:0;flex-shrink:0}
body.home-entry-reference .photo-marquee .marquee-group[aria-hidden=true]{pointer-events:auto}
body.home-entry-reference .photo-marquee .ramos-lens-link{display:grid;gap:14px;flex:0 0 var(--lens-size);width:var(--lens-size);min-width:var(--lens-size);margin:0;align-content:start;justify-items:center;color:#072a3f;text-decoration:none;transform:none!important;border-radius:10px}
body.home-entry-reference .ramos-lens{display:block;position:relative;width:var(--lens-size);height:var(--lens-size);border-radius:50%;overflow:hidden;isolation:isolate;background:#e5ebe7;box-shadow:0 0 0 1px #152a3a20,0 8px 20px #152a3a0c;transition:box-shadow .3s ease}
body.home-entry-reference .photo-marquee .ramos-lens img.ramos-lens-image{display:block;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none;object-fit:cover!important;object-position:50% 50%;padding:0!important;margin:0;border:0;border-radius:50%;background:transparent;outline:0;box-shadow:none;filter:none;opacity:0;transform:scale(1.015)!important;transition:opacity .6s ease,transform .85s cubic-bezier(.22,.61,.36,1)}
body.home-entry-reference .photo-marquee .ramos-lens img.ramos-lens-image.is-visible{opacity:1}
body.home-entry-reference .photo-marquee .ramos-lens img[hidden]{display:none!important}
body.home-entry-reference .ramos-lens-glass{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff50;background:linear-gradient(135deg,#ffffff15,transparent 42%);z-index:2;pointer-events:none}
body.home-entry-reference .ramos-lens-dots{display:flex;position:absolute;bottom:13px;left:50%;translate:-50% 0;gap:4px;z-index:3;padding:5px 7px;border-radius:20px;background:#152a3a70;pointer-events:none}
body.home-entry-reference .ramos-lens-dots i{width:4px;height:4px;display:block;background:#ffffff80;border-radius:50%}
body.home-entry-reference .ramos-lens-dots i.is-current{background:#fff;width:12px;border-radius:5px}
body.home-entry-reference .ramos-lens-label{font-size:14px;line-height:1.4;font-weight:600;max-width:100%;text-wrap:balance;padding-inline:2px}
body.home-entry-reference .photo-marquee .marquee-controls{display:flex!important;justify-content:flex-end;margin:0}
body.home-entry-reference .photo-marquee #marquee-pause{min-height:44px;padding:9px 14px;font-size:13px;background:#fff;border:1px solid #cedbd3;border-radius:22px;color:#285f4d;transform:none!important}
body.home-entry-reference .photo-marquee #marquee-pause:hover{background:#f1f6f3}
body.home-entry-reference .photo-marquee #marquee-pause:disabled{opacity:1;color:#516258}
body.home-entry-reference .ramos-lens-link:focus-visible{outline:3px solid #285f4d;outline-offset:5px}
@keyframes ramos-lenses-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(hover:hover){
 body.home-entry-reference .ramos-lens-link:hover .ramos-lens-image.is-visible{transform:scale(1.13)!important}
 body.home-entry-reference .ramos-lens-link:hover .ramos-lens{box-shadow:0 0 0 2px #bb733380,0 10px 24px #152a3a14}
}
body.home-entry-reference .photo-marquee:is([data-lens-reduced=true],[data-lens-keyboard=true]) .marquee-track{animation:none!important;transform:none!important}
body.home-entry-reference .photo-marquee:is([data-lens-reduced=true],[data-lens-keyboard=true]) .marquee-group[aria-hidden=true]{display:none}
body.home-entry-reference .photo-marquee:is([data-lens-reduced=true],[data-lens-keyboard=true]) .marquee-window{overflow-x:auto;scrollbar-width:thin;scroll-behavior:auto;scroll-padding-inline:12px}
/* The speaking photograph is also full-bleed, without changing the demo. */
body.home-entry-reference .speaking-orbit>img{object-fit:cover!important;padding:0!important;background:transparent;outline:1px solid #152a3a15}
@media(max-width:700px){
 body.home-entry-reference .photo-marquee{--lens-size:154px;--lens-gap:26px}
 body.home-entry-reference .ramos-lens-label{font-size:13px}
 body.home-entry-reference .hero-photo{transform:scale(1.06)!important}
 body.home-entry-reference [data-story-reveal=waiting]{translate:0 14px}
}
html[data-motion=reduce] body.home-entry-reference [data-story-reveal]{opacity:1!important;translate:none!important}
html[data-motion=reduce] body.home-entry-reference .hero-photo,html[data-motion=reduce] body.home-entry-reference .topic-photo>img{transform:none!important}
html[data-motion=reduce] body.home-entry-reference .photo-marquee .marquee-track{animation:none!important}
@media(prefers-reduced-motion:reduce){
 body.home-entry-reference [data-story-reveal]{opacity:1!important;translate:none!important}
 body.home-entry-reference .hero-photo,body.home-entry-reference .topic-photo>img{transform:none!important}
 body.home-entry-reference .photo-marquee .marquee-track{animation:none!important}
}
@media print{
 body.home-entry-reference [data-story-reveal]{opacity:1!important;translate:none!important}
 body.home-entry-reference .photo-marquee .marquee-track{animation:none!important;transform:none!important;flex-wrap:wrap;width:100%}
 body.home-entry-reference .marquee-group{flex-wrap:wrap!important}
 body.home-entry-reference .marquee-group[aria-hidden=true]{display:none}
}
/* Legacy global SVG/image rules used !important and a heavy inherited text shadow.
   Resolve those at the exact public controls instead of recolouring the whole page. */
body.home-entry-reference .hero .button,
body.home-entry-reference .hero .button *{text-shadow:none!important;filter:none!important}
body.home-entry-reference .hero .button.copper svg{color:#072a3f!important;stroke:currentColor!important}
body.home-entry-reference .hero .button.ghost svg{color:var(--ramos-copper-on-dark)!important;stroke:currentColor!important;border-color:var(--ramos-copper-on-dark)!important}
body.home-entry-reference .photo-marquee .ramos-lens img.ramos-lens-image,
body.home-entry-reference .photo-marquee .ramos-lens-link:hover img.ramos-lens-image{filter:none!important}
body.home-entry-reference .topic-photo>img{filter:brightness(.86) saturate(.95)!important}
body.home-entry-reference .topic-photo:hover>img{filter:brightness(1) saturate(1)!important}

/* Progressive enhancement: without JavaScript, retain a scrollable gallery. */
body.home-entry-reference .photo-marquee:not([data-lenses-ready]) .marquee-track{animation:none!important;transform:none!important}
body.home-entry-reference .photo-marquee:not([data-lenses-ready]) .marquee-window{overflow-x:auto}
body.home-entry-reference .photo-marquee:not([data-lenses-ready]) .marquee-group[aria-hidden=true]{display:none}
body.home-entry-reference .public-noscript{max-width:1160px;margin:20px auto;padding:15px 20px;background:#f1f6f3;border-left:3px solid #4e7f6b;color:#072a3f}
/* Reserve breathing room for the approved silhouette at the RTL header edge. */
html[dir=rtl] body.home-entry-reference .cappy-dock{margin-inline-end:24px}
body.home-entry-reference #cappy-image.ramos-cappy-selected .cappy-rig,
body.home-entry-reference #cappy-image.ramos-cappy-selected .cappy-rig *{animation:none!important;transition:none!important}
/* Compact phone header: Cappy lives in the first row, not below the controls. */
@media(max-width:700px){
 body.home-entry-reference .header-inner{position:relative;min-height:0!important;height:auto!important;padding:8px 12px!important;row-gap:5px!important}
 body.home-entry-reference .brand{flex-basis:65px}
 body.home-entry-reference .brand img{width:65px;height:65px}
 body.home-entry-reference .header-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px!important;width:100%;flex:0 0 100%!important;max-width:none!important;margin:0!important}
 body.home-entry-reference .header-actions>.subject-choice{grid-column:1;grid-row:1}
 body.home-entry-reference .header-actions>.language-choice:not(.subject-choice){grid-column:2;grid-row:1}
 body.home-entry-reference .header-actions>.login{grid-column:3;grid-row:1}
 body.home-entry-reference .header-actions>.button{grid-column:4;grid-row:1}
 body.home-entry-reference .header-actions select{width:100%!important;max-width:100%;min-width:0;height:42px!important;font-size:11px!important}
 body.home-entry-reference .header-actions>.login,body.home-entry-reference .header-actions>.button{width:100%;min-width:0;height:42px!important;padding:6px 3px!important;font-size:11px!important;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
 body.home-entry-reference .header-actions>.prices{grid-column:3;grid-row:2;justify-self:end}
 body.home-entry-reference .header-actions>.settings{grid-column:4;grid-row:2;justify-self:end}
 body.home-entry-reference .header-actions>.popover>summary{height:32px;width:32px;padding:4px;min-height:32px}
 body.home-entry-reference .header-actions .cappy-dock{position:absolute;top:7px;right:118px;left:auto;width:56px;height:64px;margin:0!important}
 body.home-entry-reference #cappy,body.home-entry-reference #cappy .cappy-trigger{width:56px!important}
 body.home-entry-reference #cappy .cappy-trigger{height:64px!important}
 body.home-entry-reference #cappy #cappy-pause{top:43px!important;left:-17px!important;right:auto!important;width:28px!important;height:28px!important;min-width:28px;min-height:28px}
 body.home-entry-reference #cappy .cappy-cue{top:calc(var(--ramos-header-offset,180px) - 6px)!important;right:-60px!important;min-width:130px;max-width:180px}
 html[dir=rtl] body.home-entry-reference .header-actions .cappy-dock{right:auto;left:118px}
 html[dir=rtl] body.home-entry-reference #cappy #cappy-pause{left:auto!important;right:-17px!important}
}
/* A legacy 35px mascot margin must not offset its measured header dock. */
body.home-entry-reference #cappy{margin:0!important}
@media(max-width:700px){
 body.home-entry-reference #cappy #cappy-pause{top:20px!important;left:-24px!important;right:auto!important}
 html[dir=rtl] body.home-entry-reference #cappy #cappy-pause{left:auto!important;right:-24px!important}
}
