/* Owner corrections: same gesture face, uppercase, original Mirage controls. */
:root { --font-body:Manrope,sans-serif; --font-text:Manrope,sans-serif; --fontw-cta:800; }
html,body { width:100%; overflow-x:clip; }
html { scroll-padding-top:108px; }
h1,h2,h3,.expressions span,.signature { text-transform:uppercase; }
h1,h2,h3 { font-family:Gesture,sans-serif; letter-spacing:-.025em; text-wrap:balance; }
h1 { font-size:clamp(38px,4vw,58px); }
h2 { font-size:clamp(36px,4.2vw,58px); }
h3 { font-size:27px; }
.expressions span { font-size:clamp(24px,2.5vw,37px); }
.clouds a { text-transform:uppercase; }
.clouds a:nth-child(4) {min-width:250px;}
.chrome .zp-mirage span { -webkit-text-fill-color:currentColor; background:none; }
.zp-home .chrome .zad-menu-toggle.zp-mirage { color:#092332; }
.section-intro,.panel-dialog,.about-copy,.meeting,.value-composition { position:relative; isolation:isolate; }
.section-intro::before,.panel-dialog::before,.about-copy::before,.meeting::before,.value-composition::before {
  content:''; position:absolute; z-index:-1; inset:-55px -65px; pointer-events:none;
  background:radial-gradient(ellipse at center,#001a2bd9 0%,#001827a8 43%,#00182700 75%);
  filter:blur(18px);
}
.panel-dialog::before { inset:-65px -100px; }
.section-intro>p:last-child,.panel-dialog p,.about-copy>p:not(.fine),.natural-note p { color:#f2f8f8; }
.about-copy::before { inset:-60px -80px; }
.sea-world .fine,.sea-world .caption,.personal .caption { color:#e1eeee; }
.hero-title::before { content:none; }
.hero-offer { align-items:start; }
.hero-title h1 { max-width:480px; }
.zp-home .button.zp-mirage,.zp-home .pill.zp-mirage { box-shadow:none; }
.zp-home .zp-mirage .zp-mirage-label { font-family:Manrope,sans-serif; }
.zp-home .zp-mirage--primary .zp-mirage-label { color:#12212b; -webkit-text-fill-color:currentColor; }
.zp-home .zp-mirage--primary .zp-mirage-label>span { -webkit-text-fill-color:currentColor; background:none; }
.zp-home .zp-mirage:not(.zp-mirage--primary) { color:#fff; }
.zp-home .hero .zp-mirage:not(.zp-mirage--primary) { color:#102833; }
.zp-home .zad-service-tabs .zp-mirage[aria-pressed=true],
.zp-home .cl-devices .zp-mirage[aria-pressed=true],
.zp-home .faq-tabs .zp-mirage[aria-selected=true] {color:#071923;--mirage-button-label-top:#071923;--mirage-button-label-bottom:#071923;}
.zp-home .zp-mirage:focus-visible { outline:3px solid #ffda27; outline-offset:5px; }
#catalogo .cl-card-action.zp-mirage.zp-mirage--primary {padding:0;background:none;box-shadow:none;min-height:44px;}
#catalogo .cl-card-action .zp-mirage-label {min-height:44px;padding:12px 10px;font-size:12px;}
.zad-menu-previews a>span.zp-mirage.zp-mirage--primary {padding:0;background:none;box-shadow:none;min-height:34px;}
.zad-menu-previews .zp-mirage-label {padding:9px 8px!important;min-height:34px!important;font-size:9px!important;gap:5px!important;}
.service-line { line-height:1.7; }
.fine { font-size:12px; }
.story-beats { counter-reset:beat; }
.marco-character,.comic-stage>.speech,.sherlock-character,.story-beats li { opacity:1; }
html.motion-ready .personal[data-story-ready] .marco-character,
html.motion-ready .personal[data-story-ready] .comic-stage>.speech,
html.motion-ready .personal[data-story-ready] .sherlock-character {
  transition:opacity .65s ease,transform .8s cubic-bezier(.18,.75,.2,1);
}
html.motion-ready .personal[data-story-ready]:not([data-beat-one]) .marco-character { opacity:0;transform:translateX(-65px); }
html.motion-ready .personal[data-story-ready]:not([data-beat-two]) .comic-stage>.speech { opacity:0;transform:translateY(45px); }
html.motion-ready .personal[data-story-ready]:not([data-beat-three]) .sherlock-character { opacity:0;transform:translateX(55px); }
.faq-tabs button[aria-selected=true] { background:#fff8e8;color:#102833; }
.faq-tabs { flex-wrap:wrap; }
.questions details { max-width:850px;margin:auto; }
.questions summary { text-transform:none;line-height:1.5; }
.questions details p { max-width:740px; }
.meeting { max-width:1000px;margin:60px auto 0; }
.business-hours { font:700 13px/1.6 Manrope,sans-serif;display:block;margin-top:14px;color:inherit; }
.zad-contact-dock a {width:46px;height:46px;padding:11px;}
.zad-contact-dock a>span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.certificates {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0;}
.certificate {min-width:0;display:block;padding:10px;border:1px solid #d6e5e250;border-radius:18px;background:#092633b8;}
.certificate img {height:95px;width:100%;object-fit:contain;background:#fffaf1;border-radius:10px;}
.certificate strong {display:block;font:400 18px/1.25 Gesture,sans-serif;text-transform:uppercase;margin:12px 0 8px;color:#fffaf1;}
.certificate small {display:block;font:600 10px/1.5 Manrope,sans-serif;color:#d9e9e5;}
/* The seabed remains visible through the beginning of the closing scene. */
.finale {
  margin-top:-1px; padding-top:140px;
  background:linear-gradient(180deg,#082d3d00 0%,#153f4f50 17%,#527467aa 38%,#cabb55ed 63%,#ffda27 87%);
}
.finale::before {content:'';position:absolute;inset:0 0 auto;height:330px;pointer-events:none;background:linear-gradient(180deg,transparent,#05283812);}
.finale-title { z-index:1;max-width:1000px;margin:auto; }
.finale-title h2 { font-size:clamp(40px,5vw,68px);text-shadow:0 3px 28px #00182790; }
.finale-title .eyebrow { color:#f5faf4; }
.finale-ensemble { grid-template-columns:.7fr 1.7fr .7fr;min-height:560px;gap:15px; }
.duo { height:555px;isolation:isolate; }
.duo::after {content:none;}
.final-duo {position:absolute;height:100%;width:100%;inset:0;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 22px #153e2c22);mask-image:linear-gradient(#000 0 88%,transparent 100%);}
.finale-nav,.finale-social { align-self:center;color:#092e2b;z-index:5; }
.finale-nav a,.finale-social a { font-size:16px;line-height:1.5; }
.final-contact { margin-top:-8px;z-index:6; }
.signature-footer { color:#102e27;border-color:#15352f40; }
.signature-footer a { text-decoration:underline;text-underline-offset:4px; }
@media(max-width:1300px) { .chrome .clouds {display:none;} }
@media(max-width:900px) {
  h2 { font-size:43px; }
  .hero-title h1 { font-size:40px; }
  .finale-ensemble { grid-template-columns:.65fr 1.7fr .65fr; }
  .duo { height:470px; }
  .finale-nav a,.finale-social a {font-size:12px;}
}
@media(max-width:600px) {
  h1,.hero-title h1 {font-size:34px;line-height:1.12;}
  h2 {font-size:33px;line-height:1.17;}
  h3 {font-size:24px;line-height:1.2;}
  .expressions span {font-size:15px;line-height:1.2;}
  .hero-offer {padding-top:40px;}
  .hero-title .eyebrow {font-size:9px;}
  .hero-title>p:last-child {font-size:14px;line-height:1.65;}
  .hero .fine {font-size:11px;line-height:1.6;}
  .service-line {font-size:11px;}
  .hero-decision .actions {display:flex;flex-direction:column;gap:18px;align-items:stretch;}
  .hero-decision .actions .primary {width:calc(100% - 50px);align-self:flex-start;}
  .hero-decision .actions .text-link {align-self:flex-start;margin-left:10px;}
  .hero-decision .fine,.hero-decision .service-line {padding-right:44px;}
  .zp-home .zp-mirage.zp-mirage--primary .zp-mirage-label {font-size:13px;padding:14px 21px;}
  .section-intro::before,.panel-dialog::before,.about-copy::before,.meeting::before,.value-composition::before {inset:-40px -22px;filter:blur(12px);background:radial-gradient(ellipse,#001827dd,#00182794 55%,#00182700 83%);}
  .section-intro>p:last-child,.panel-dialog p,.natural-note p,.about-copy>p:not(.eyebrow),.meeting p:not(.eyebrow) {font-size:13px;line-height:1.65;}
  .speech.small h2 {font-size:30px;}
  .panel-dialog {gap:14px;}
  .panel-dialog>img {width:77px;flex-shrink:0;}
  .panel-result {max-width:340px;}
  .caption {font-size:11px;line-height:1.6;}
  .certificates {gap:8px;}
  .certificate {padding:8px;border-radius:14px;}
  .certificate img {height:72px;}
  .certificate strong {font-size:14px;}
  .certificate small {font-size:9px;}
  .questions summary {font-size:15px;}
  .questions details p {font-size:13px;line-height:1.7;}
  .meeting .actions {gap:20px;}
  .meeting .actions>* {width:100%;}
  .finale {padding:110px 22px 28px;}
  .finale-title h2 {font-size:34px;}
  .finale-ensemble {display:flex;min-height:0;gap:30px;margin-top:15px;}
  .duo {height:360px;width:100%;order:-1;}
  .duo::after {right:-15px;height:90px;}
  .finale-nav,.finale-social {width:46%;gap:14px;}
  .finale-nav a,.finale-social a {font-size:13px;}
  .final-contact {margin-top:35px;}
  .signature-footer {font-size:9px;line-height:1.9;}
}
@media(prefers-reduced-motion:reduce) {
  html.motion-ready .personal[data-story-ready] .marco-character,
  html.motion-ready .personal[data-story-ready] .comic-stage>.speech,
  html.motion-ready .personal[data-story-ready] .sherlock-character {opacity:1!important;transform:none!important;transition:none!important;}
}

/* One full-width photographic composition: shared scenery, uncut silhouettes. */
#apertura{background:var(--paper);}
.photo.hero-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));height:700px;padding-top:64px;background:#0878ff;overflow:hidden;isolation:isolate;mask-image:linear-gradient(#000 0 72%,transparent 100%);}
.hero-world{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;}
.hero-world .hero-colour{transform-origin:center;}
.hero-portrait{position:relative;margin:0;min-width:0;height:100%;overflow:visible;isolation:auto;z-index:1;}
.hero-portrait-image{position:absolute;inset:auto 0 0!important;height:100%!important;width:100%!important;object-fit:contain!important;object-position:center bottom!important;transform-origin:50% 85%;}
.hero-portrait figcaption{position:absolute;top:43%;left:2%;right:2%;z-index:2;text-align:center;font:400 clamp(25px,2.65vw,43px)/1.12 Gesture,sans-serif;text-transform:uppercase;color:#2454ff;paint-order:stroke fill;-webkit-text-stroke:3px #fffaf1;text-shadow:3px 4px 0 #102b53;transform-origin:center;}
.hero-portrait-code figcaption{color:#dc4e24;}
.hero-portrait-bug figcaption{color:#ffda27;}
.hero .benefits span{font-size:18px;line-height:1.5;}
.hero .panel-scope{display:block;font:500 12px/1.5 Manrope,sans-serif;margin-top:8px;color:#455a61;}
.catalog-tiger{position:absolute;left:-40px;top:370px;width:260px;height:auto;pointer-events:none;z-index:1;filter:drop-shadow(0 14px 15px #00161d99);transform:translate3d(0,var(--tiger-y,0px),0);}
#catalogo .cl-catalog{z-index:2;}
@media(max-width:900px){.photo.hero-portraits{height:560px;padding-top:76px;}.hero-portrait figcaption{font-size:26px;top:45%;}.catalog-tiger{width:200px;left:-45px;}}
@media(max-width:600px){
 .photo.hero-portraits{height:285px;padding-top:58px;}
 .hero-portrait figcaption{font-size:13px;top:48%;left:4%;right:4%;line-height:1.2;-webkit-text-stroke:1.4px #fffaf1;text-shadow:1px 2px #102b53;}
 .hero-portrait-image{height:100%!important;width:122%!important;left:-11%!important;max-width:none;}
 .hero .benefits{grid-template-columns:1fr;gap:18px;}
 .hero .benefits>div{padding:0 0 17px!important;border-left:0!important;border-bottom:1px solid #8c9c9738;display:grid;grid-template-columns:110px 1fr;gap:8px 14px;align-items:start;}
 .hero .benefits strong{font-size:16px;}.hero .benefits strong b{font-size:34px;}
 .hero .benefits span{font-size:15px;line-height:1.5;margin:0;}
 .hero .panel-scope{grid-column:2;font-size:11px;margin-top:0;}
 .catalog-tiger{position:relative;top:auto;left:auto;width:200px;margin:-5px auto 20px;}
}
@media(prefers-reduced-motion:reduce){.hero-portrait-image,.hero-portrait figcaption,.hero-colour,.catalog-tiger{transform:none!important;}}
@media(max-width:600px){.hero .benefits span,.hero .panel-scope{padding-right:38px;}}

/* Incoming legacy chapter links share the approved scenes. */
.home-anchor-alias{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none;}
.faq-panel[hidden]{display:none!important;}
.questions details p a{text-decoration:underline;text-underline-offset:3px;}
