/* Shared ocean edges and editorial hierarchy. Last in cascade by design. */
:root{--ocean-seam:#053246;--aqua-light:#89edee;--readable:#edfaf8}
main>.chapter{border:0!important;box-shadow:none;border-radius:0;padding-inline:clamp(24px,6vw,100px);background-color:var(--ocean-seam)}
main>.chapter:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,var(--ocean-seam),transparent 110px,transparent calc(100% - 110px),var(--ocean-seam))}
main>.chapter>*:not(.immersive-current):not(.iceberg-background):not(.iceberg-light):not(.services-atmosphere){position:relative;z-index:3}
#prioridades{background:var(--ocean-seam)}
#prioridades::before{inset:-4%;mask-image:none;background:linear-gradient(90deg,#042b42f2,#042b42d9 48%,#042b4238),url('assets/pain-ocean.webp') center/cover}
.immersive-current{opacity:.65;animation-duration:34s}
.immersive-current::before,.immersive-current::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 76% 65%,#8fffe126,transparent 23%),radial-gradient(ellipse at 24% 85%,#58d7ff2a,transparent 28%);transform-origin:50% 100%;animation:current-rise 24s ease-in-out infinite alternate;animation-play-state:paused}
.immersive-current::after{animation-delay:-12s;opacity:.6;transform:scale(1.2)}
.immersion-active>.immersive-current::before,.immersion-active>.immersive-current::after{animation-play-state:running}
@keyframes current-rise{from{transform:perspective(1000px) rotateX(12deg) translate3d(-1%,3%,0);opacity:.4}to{transform:perspective(1000px) rotateX(16deg) translate3d(2%,-3%,0);opacity:.85}}
#detras.iceberg-editorial{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:auto 1fr;align-items:start;gap:40px clamp(32px,5vw,80px);padding-top:110px;padding-bottom:130px;min-height:1000px;background-position:left center!important}
#detras .iceberg-heading{grid-column:1/-1;max-width:900px;margin:0}
#detras .iceberg-heading h2{font-size:clamp(36px,4.5vw,66px);line-height:1.1;letter-spacing:-.025em;margin:0;color:#d9fff4;text-shadow:0 2px 15px #022d40}
#detras .iceberg-heading h2 span{color:#87edf0}
#detras .iceberg-overline{font-size:13px;font-weight:700;letter-spacing:.1em;line-height:1.6;color:#a6ffdc;margin:0 0 18px}
#detras .iceberg-background{background-position:left center!important}
#detras::before{background:linear-gradient(90deg,transparent 0%,transparent 35%,#032c4240 48%,#032c42e8 64%,#032c42f5 100%)}
#detras .iceberg-open-water{grid-column:1;min-height:490px}
#detras .iceberg-copy{grid-column:2;max-width:580px;width:100%;padding:20px 0;margin:0;text-shadow:0 2px 5px #012334}
#detras .iceberg-copy .iceberg-lead{font-size:clamp(25px,2.3vw,34px);line-height:1.35;margin-bottom:26px;color:#ccffe9}
#detras .iceberg-copy p{font-size:18px;line-height:1.85;color:var(--readable);max-width:54ch}
#detras .iceberg-copy h3{font-size:17px;line-height:1.5;letter-spacing:.045em;color:#94eff2}
#detras .iceberg-full-story>summary{font-size:16px;line-height:1.5;padding-block:16px;color:#b5ffdf}
#detras .iceberg-full-story[open]{background:transparent;backdrop-filter:none;padding:0}
#detras .iceberg-references summary,#detras .iceberg-source{font-size:14px}
#detras .iceberg-references p,#detras .iceberg-references a{font-size:13px;line-height:1.7}
#detras .services-contact{font-size:15px;line-height:1.6;display:inline-block;min-height:44px;padding-block:10px}
/* A light current follows the frame; content remains still. */
@property --rim-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
#servicios .service-card{transition:box-shadow .35s,border-color .35s,background .35s;isolation:isolate}
#servicios .service-card::after{content:"";position:absolute;inset:0;padding:2px;border-radius:inherit;pointer-events:none;z-index:4;background:conic-gradient(from var(--rim-angle),#6de4dc22 0deg,#6de4dc22 200deg,#71dfff 250deg,#e2fff6 270deg,#8effd9 295deg,#6de4dc22 330deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity .3s;animation:rim-current 4s linear infinite;animation-play-state:paused}
#servicios .service-card:is(:hover,:focus-within,.card-selected)::after{opacity:1;animation-play-state:running}
#servicios .service-card:is(:hover,:focus-within,.card-selected){border-color:#85f5e6;box-shadow:0 0 24px #63d9ff36,inset 0 0 25px #7affdf12;animation:none;transform:none}
#service-dialog:open{border-color:#92efea;box-shadow:0 0 0 1px #96fce24d,0 0 44px #65dfff38,0 24px 70px #001c3680}
@keyframes rim-current{to{--rim-angle:360deg}}
.arrival-message{position:absolute;z-index:4;bottom:clamp(28px,6vh,72px);left:50%;transform:translate(-50%,12px);width:min(660px,56vw);text-align:center;opacity:0;visibility:hidden;transition:opacity 1.2s ease .35s,transform 1.2s ease .35s;color:#edfff8;text-shadow:0 2px 12px #012a41}
.arrival-message .arrival-headline{font-size:clamp(19px,2vw,28px);line-height:1.35;margin:0 0 12px;font-weight:500}
.arrival-headline strong{color:#b4ffe2;font-weight:800}.arrival-message>p:last-child{font-size:15px;line-height:1.6;margin:0 auto;max-width:580px}
.opening-complete .arrival-message{opacity:1;visibility:visible;transform:translate(-50%,0)}
.language-switch{position:fixed;bottom:16px;right:16px;z-index:20;display:flex;gap:2px;padding:3px;border:1px solid #9ceadd55;border-radius:28px;background:#042f43ed;box-shadow:0 3px 18px #01233740}
.language-switch button{font-size:12px;min-width:44px;min-height:44px;padding:8px;border:0;background:transparent;color:#d8eee9}.language-switch button[aria-pressed=true]{background:#bafae8;color:#043247;font-weight:800}.opening-pending .language-switch{visibility:hidden}
@media(max-width:900px){#detras.iceberg-editorial{grid-template-columns:1fr;gap:20px;padding-top:95px;padding-bottom:110px}#detras .iceberg-heading,#detras .iceberg-copy,#detras .iceberg-open-water{grid-column:1}#detras .iceberg-open-water{min-height:320px}#detras .iceberg-background{background-size:auto 680px!important;background-position:left 180px!important;background-repeat:no-repeat}#detras::before{background:linear-gradient(180deg,#032c4266,transparent 250px,transparent 510px,#032c42e8 700px,#032c42f2)}#detras .iceberg-copy{max-width:700px}#detras .iceberg-copy p{font-size:17px}#detras .iceberg-heading h2{font-size:clamp(34px,6vw,50px)}.arrival-message{width:64vw;bottom:45px}.arrival-message>p:last-child{font-size:13px}}
@media(max-width:550px){.arrival-message{width:calc(100% - 40px);bottom:82px}.arrival-message .arrival-headline{font-size:19px}.arrival-message>p:last-child{font-size:13px;max-width:330px}#detras .iceberg-open-water{min-height:300px}#detras .iceberg-copy .iceberg-lead{font-size:27px}.language-switch{bottom:10px;right:10px}}
@media(max-height:600px) and (min-width:600px){.arrival-message{bottom:15px}.arrival-message .arrival-headline{font-size:17px}.arrival-message>p:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.immersive-current::before,.immersive-current::after,#servicios .service-card::after{animation:none!important}.arrival-message{transition:none}}
@media(min-width:901px){#detras .iceberg-background{inset:210px -5% -5% 0!important;mask-image:linear-gradient(180deg,transparent,black 75px)!important;-webkit-mask-image:linear-gradient(180deg,transparent,black 75px)!important}#detras::before{background:linear-gradient(180deg,#032c42d9,transparent 330px),linear-gradient(90deg,transparent 0%,transparent 35%,#032c4240 48%,#032c42e8 64%,#032c42f5 100%)}}
.footer{padding-bottom:85px;border:0}
/* Editorial title shares the clear right-hand column with its article. */
#detras.iceberg-editorial{grid-template-rows:auto 1fr;column-gap:clamp(32px,5vw,80px);row-gap:24px}
#detras .iceberg-heading{grid-column:2;grid-row:1;max-width:580px}
#detras .iceberg-heading h2{font-size:clamp(32px,3.2vw,48px);line-height:1.15;text-wrap:balance}
#detras .iceberg-copy{grid-column:2;grid-row:2;padding-top:0}
#detras .iceberg-open-water{grid-column:1;grid-row:1/span 2;min-height:560px}
#detras .iceberg-background{inset:-5%!important;background-position:left center!important;mask-image:none!important;-webkit-mask-image:none!important}
#prioridades::after,#detras::after,#servicios::after{background:linear-gradient(180deg,var(--ocean-seam) 0%,#053246ed 3%,#0532469c 9%,#05324630 17%,transparent 25%,transparent 75%,#05324630 83%,#0532469c 91%,#053246ed 97%,var(--ocean-seam) 100%)}
.chapter :is(.eyebrow,.iceberg-overline,h3){transition:color .3s,text-shadow .3s}
@media(hover:hover){.chapter :is(.eyebrow,.iceberg-overline,h3):hover{color:#b5f8ff;text-shadow:0 0 10px #65dbff99,0 0 26px #33bdff55}}
.sound-toggle{min-width:44px!important;font-size:17px!important;line-height:1}.sound-toggle[aria-pressed=true]{box-shadow:inset 0 0 14px #83ffe640;background:#0d5364!important;color:#b5ffe6!important}
@media(max-width:900px){#detras .iceberg-open-water{grid-column:1;grid-row:1;min-height:390px}#detras .iceberg-heading{grid-column:1;grid-row:2;max-width:700px}#detras .iceberg-copy{grid-column:1;grid-row:3}#detras .iceberg-background{background-size:auto 680px!important;background-position:left top!important}#detras::before{background:linear-gradient(180deg,transparent 0,transparent 300px,#032c42d9 530px,#032c42f2 680px)}#detras .iceberg-heading h2{font-size:clamp(32px,5vw,46px)}}
