/* Hero presentation; edit these rules directly rather than stacking overrides. */
.hero--cinematic{
  --hero-gold:#edc879;
  position:relative;isolation:isolate;overflow:hidden;color:#fcf8ef;background:#041c30;
}
.hero-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(2,22,38,.97),rgba(3,27,46,.9) 45%,rgba(3,27,46,.36)),url('../img/our-work/details-1280.webp') center/cover}
.hero-light:after{content:"";position:absolute;inset:-15%;background:radial-gradient(ellipse at 38% 46%,rgba(237,200,121,.12),transparent 45%);opacity:.4}
.hero-inner{position:relative;padding:0 0 20px}
.hero-copy{position:relative;z-index:3;width:56%;padding:48px 0 46px}
.hero-copy .eyebrow{color:var(--hero-gold);font-size:.64rem;letter-spacing:.28em}
.hero-copy .eyebrow:before{width:36px;background:var(--hero-gold)}
.hero-copy h1{font-family:var(--serif);font-size:clamp(5.2rem,8.8vw,9.5rem);font-weight:600;line-height:.83;letter-spacing:-.045em;margin:27px 0 27px}
.hero-title-line{display:block;transform-origin:left bottom}
.hero-copy h1 em{position:relative;display:inline-block;color:var(--hero-gold);font-weight:600;line-height:1.03;background:linear-gradient(110deg,#d9b66e 10%,#f2d390 32%,#fff1c9 44%,#edc879 57%,#d9b66e 85%) 0 0/240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-copy h1 em:after{content:"";position:absolute;bottom:14%;left:87%;width:150px;height:2px;background:linear-gradient(90deg,transparent,#fce3ad,transparent);box-shadow:0 0 18px 2px rgba(237,200,121,.3);pointer-events:none}
.hero-text{max-width:560px;color:#e0e6e9;font-size:.95rem;line-height:1.75;margin:0 0 2px}
.hero-promise{margin:0 0 25px;font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--hero-gold)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hero-call,.hero-whatsapp{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:58px;padding:0 22px;border-radius:11px;font-size:.79rem;font-weight:800;transition:background .25s,transform .25s,border-color .25s,box-shadow .25s}
.hero-call{background:linear-gradient(110deg,#edca80,#f3d99a 52%,#e7bd6b);color:#10263a;border:1px solid #f3d99a;box-shadow:0 7px 25px rgba(237,200,121,.16)}
.hero-call svg,.hero-whatsapp svg{width:20px;height:20px;flex-shrink:0}
.hero-call>span,.hero-whatsapp>span{margin-left:14px;font-size:1.2rem;transition:transform .25s}
.hero-call:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(237,200,121,.28)}
.hero-call:hover>span,.hero-whatsapp:hover>span{transform:translateX(3px)}
.hero-whatsapp{border:1px solid #a6b0b8;color:#fff;background:rgba(3,26,44,.3)}
.hero-whatsapp svg,.hero-whatsapp>span{color:var(--hero-gold)}
.hero-whatsapp:hover{border-color:var(--hero-gold);background:rgba(237,200,121,.08);transform:translateY(-2px)}
.hero-assurances{display:grid;grid-template-columns:repeat(4,max-content);gap:22px;list-style:none;padding:0;margin:27px 0 0}
.hero-assurances li{display:flex;gap:10px;align-items:center;color:#f2f4f6;font-size:.61rem;line-height:1.5;font-weight:600}
.hero-assurances svg{width:27px;height:27px;flex-shrink:0;stroke:var(--hero-gold);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.hero-scene{position:absolute;z-index:1;top:0;right:min(-24px,calc((1320px - 100vw)/2));bottom:82px;width:60%;perspective:1600px}
.hero-scene-float{height:100%;transform-style:preserve-3d}
.hero-scene-depth{position:relative;height:100%;transform-style:preserve-3d;transform:none}
.hero-arch{position:absolute;inset:-12px -16px 0 -20px;border:1px solid var(--hero-gold);border-radius:55% 0 0 0 / 57% 0 0 0;transform:translateZ(-20px);pointer-events:none}
.hero-media{position:absolute;inset:0;overflow:hidden;background:#24394b;border-left:5px solid var(--hero-gold);border-top:4px solid var(--hero-gold);border-radius:55% 0 0 0 / 57% 0 0 0;box-shadow:-20px 10px 65px rgba(0,0,0,.2);transform:translateZ(12px)}
.hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#041c30,transparent 34%),linear-gradient(90deg,rgba(4,28,48,.26),transparent 60%)}
.hero-poster{position:absolute;inset:0;display:block}
.hero-poster img,.hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:49% 38%;transform:scale(1.05)}
.hero-video{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}
.hero-media.is-playing .hero-video{opacity:1}
.hero-inset{position:absolute;right:-12px;bottom:-15px;width:88%;height:43%;margin:0;overflow:hidden;transform:translateZ(55px);mask-image:linear-gradient(0deg,transparent,#000 17%,#000 78%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 17%,#000 78%,transparent)}
.hero-inset img{width:100%;height:100%;object-fit:cover;object-position:50% 49%;mask-image:linear-gradient(90deg,transparent,#000 14%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%)}
.hero-signature{position:absolute;right:8%;top:46%;display:flex;align-items:center;gap:17px;padding:21px 25px;background:rgba(4,28,48,.9);border:1px solid rgba(237,200,121,.33);border-radius:3px;backdrop-filter:blur(18px);transform:translateZ(75px);box-shadow:0 18px 45px rgba(0,0,0,.24)}
.hero-signature-line{height:50px;width:1px;background:var(--hero-gold)}
.hero-signature p{margin:0;font-family:var(--serif);font-size:1.8rem;line-height:1.25}
.hero-signature em{color:var(--hero-gold);font-weight:500}
.hero-services{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:27px 12px;border:1px solid rgba(237,200,121,.25);border-radius:42px 42px 6px 6px;background:linear-gradient(110deg,rgba(3,25,42,.97),rgba(8,36,55,.94));backdrop-filter:blur(18px);box-shadow:0 -15px 60px rgba(0,0,0,.15)}
.hero-services>a{display:flex;align-items:flex-start;gap:17px;padding:4px 22px;border-right:1px solid rgba(237,200,121,.22)}
.hero-services>a:last-child{border-right:0}
.hero-services img{width:72px;height:72px;flex-shrink:0;border-radius:50%;object-fit:cover;border:1px solid rgba(237,200,121,.4)}
.hero-services strong{display:block;font-size:.78rem;color:#fff;margin:2px 0 8px}
.hero-services small{display:block;color:#b7c7d2;font-size:.71rem;line-height:1.65;max-width:175px}
.hero-services i{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--hero-gold);border-radius:50%;color:var(--hero-gold);font-style:normal;margin-top:11px;transition:background .25s,color .25s,transform .25s}
.hero-services>a:hover i{background:var(--hero-gold);color:#041c30;transform:translateX(3px)}
.hero-bottom{position:relative;z-index:4;display:flex;align-items:center;gap:25px;padding-top:16px}
.hero-locations{display:flex;gap:12px;align-items:center}
.hero-locations>span{color:#9eafbd;font-size:.54rem;text-transform:uppercase;letter-spacing:.12em}
.hero-locations p{margin:0;color:#d3dee5;font-size:.64rem}
.hero-locations i{color:var(--hero-gold);font-style:normal;margin:0 7px}
.hero-explore{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:.61rem;color:#c7d1d9;min-height:36px}
.hero-explore>span{color:var(--hero-gold);font-size:1rem}




.hero--cinematic a:focus-visible{outline:2px solid var(--hero-gold);outline-offset:5px}
@media(min-width:1500px){.hero-copy{padding-top:62px;padding-bottom:54px}.hero-assurances{gap:30px}.hero-assurances li{font-size:.68rem}.hero-text{font-size:1.04rem}.hero-services{padding-block:31px}.hero-services img{width:82px;height:82px}}
@media(max-width:1100px){
  .hero-copy{width:59%;padding-top:42px;padding-bottom:36px}.hero-copy h1{font-size:clamp(4.8rem,9vw,6.5rem)}
  .hero-text{font-size:.85rem;max-width:430px}.hero-desktop-break{display:none}.hero-promise{font-size:1.25rem}
  .hero-call,.hero-whatsapp{padding:0 17px;gap:10px;font-size:.72rem;min-height:54px}.hero-call>span,.hero-whatsapp>span{margin-left:6px}
  .hero-assurances{gap:16px;grid-template-columns:repeat(2,max-content);margin-top:24px}.hero-assurances li{font-size:.62rem}
  .hero-scene{width:57%}.hero-signature{right:7%;top:44%;padding:15px 17px;gap:12px}.hero-signature p{font-size:1.5rem}
  .hero-services>a{gap:12px;padding-inline:16px}.hero-services img{width:53px;height:53px}.hero-services strong{font-size:.71rem}.hero-services small{font-size:.64rem}
}
@media(max-width:900px){
  .hero-inner{width:calc(100% - 36px);padding-bottom:18px;display:flex;flex-direction:column}
  .hero-light{background:radial-gradient(ellipse at 90% 12%,rgba(104,131,143,.18),transparent 55%),linear-gradient(#041c30,#061f33)}
  .hero-copy{width:100%;padding:36px 0 28px}
  .hero-copy .eyebrow{font-size:.55rem;letter-spacing:.18em}.hero-copy .eyebrow:before{width:27px}
  .hero-copy h1{font-size:clamp(4.65rem,13.6vw,6.5rem);margin:23px 0 20px;line-height:.88}
  .hero-copy h1 em:after{width:90px;left:83%}
  .hero-text{font-size:.88rem;max-width:490px;line-height:1.75}.hero-promise{font-size:1.25rem;margin-bottom:21px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:460px}
  .hero-call,.hero-whatsapp{padding:0 12px;gap:9px;font-size:.74rem;min-height:54px;border-radius:9px}
  .hero-call>span,.hero-whatsapp>span{margin-left:auto}.hero-call svg,.hero-whatsapp svg{width:18px;height:18px}
  .hero-assurances{grid-template-columns:repeat(2,1fr);gap:17px 14px;margin-top:24px;max-width:430px}.hero-assurances li{font-size:.65rem;gap:11px}.hero-assurances svg{width:25px;height:25px}
  .hero-scene{position:relative;flex-shrink:0;inset:auto;align-self:center;width:calc(100% + 36px);height:355px;perspective:1200px}
  .hero-arch{inset:0 -10px 0 2px;border-radius:42% 0 0 0 / 50% 0 0 0}
  .hero-media{inset:10px 0 0 14px;border-left-width:3px;border-top-width:3px;border-radius:42% 0 0 0 / 50% 0 0 0}
  .hero-poster img,.hero-video{object-position:50% 36%}.hero-inset{width:82%;height:45%;bottom:-8px;right:-4px}
  .hero-signature{top:43%;right:auto;left:22px;max-width:calc(100% - 100px);padding:13px 15px;gap:10px}.hero-signature p{font-size:clamp(1.15rem,4.8vw,1.5rem)}.hero-signature-line{height:40px;flex-shrink:0}
  .hero-services{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:10px 5px;border-radius:24px 24px 6px 6px;margin-top:-14px}
  .hero-services>a{flex-direction:column;gap:12px;padding:18px 14px;border-right:0;border-bottom:1px solid rgba(237,200,121,.2)}
  .hero-services>a:nth-child(odd){border-right:1px solid rgba(237,200,121,.2)}.hero-services>a:nth-last-child(-n+2){border-bottom:0}
  .hero-services img{width:50px;height:50px}.hero-services strong{font-size:.78rem;margin:0 0 6px}.hero-services small{font-size:.72rem;line-height:1.55}.hero-services i{width:29px;height:29px;margin-top:11px}
  .hero-bottom{width:100%;flex-wrap:wrap;gap:4px 14px;padding-top:14px}.hero-locations{flex-basis:100%;gap:7px;flex-wrap:wrap}.hero-locations>span{font-size:.5rem}.hero-locations p{font-size:.6rem}.hero-locations i{margin:0 4px}
  .hero-explore{margin-left:0;margin-right:auto;min-height:44px}
}
@media(max-width:360px){
  .hero-inner{width:calc(100% - 28px)}.hero-copy h1{font-size:4.25rem}.hero-copy .eyebrow{font-size:.48rem;letter-spacing:.14em}
  .hero-call,.hero-whatsapp{font-size:.72rem;gap:7px;padding-inline:10px}.hero-call>span,.hero-whatsapp>span{display:none}.hero-promise{font-size:1.12rem}
  .hero-scene{width:calc(100% + 28px);height:310px}.hero-signature{left:18px;padding:12px}.hero-signature p{font-size:1.1rem}
  .hero-services>a{padding:16px 12px}
}
@media(prefers-reduced-motion:reduce){
  :is(.hero-scene-depth,.hero-video,.hero-call,.hero-call>span,.hero-whatsapp,.hero-whatsapp>span,.hero-services i){transition:none}
  html:has(.hero--cinematic){scroll-behavior:auto}
}
/* Existing standalone page uses the same video loader. */
.hero--simple{position:relative;isolation:isolate;min-height:calc(100svh - 62px);display:flex;align-items:flex-end;padding:0;overflow:hidden;background:#03152a}
.hero--simple .hero-media{inset:0;border:0;border-radius:0;transform:none;box-shadow:none}
.hero--simple .hero-media:after{background:linear-gradient(180deg,rgba(3,21,42,.18),rgba(3,21,42,.45) 45%,rgba(3,21,42,.92))}
.hero--simple .hero-poster img,.hero--simple .hero-video{transform:none}
.hero--simple .w{position:relative;z-index:2;padding:80px 0 56px;text-shadow:0 2px 18px rgba(0,0,0,.3)}
.hero--simple h1{font-size:clamp(2.7rem,7vw,5.6rem)}
@media(max-width:599px){.hero--simple .w{padding:64px 0 36px}}

@media(max-width:720px){.hero-light{background-image:linear-gradient(90deg,rgba(2,22,38,.97),rgba(3,27,46,.9) 45%,rgba(3,27,46,.36)),url('../img/our-work/details-600.webp')}}
