/* =========================================================
   Rodrigues & Sarmento — home.css (somente página inicial)
   ========================================================= */

/* ---------- portal de entrada ---------- */
.portal{position:fixed;inset:0;z-index:10000;display:none}
.has-portal .portal{display:block}
.has-portal,.has-portal body{overflow:hidden}
.portal-door{position:absolute;top:0;bottom:0;width:50.1%;overflow:hidden;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.028) 0 2px,transparent 2px 54px),
    radial-gradient(120% 90% at 50% 40%,#0E3A46 0%,var(--night) 70%);
  transition:transform 1.6s var(--ease-io)}
.portal-door--l{left:0}
.portal-door--r{right:0}
.portal-door--l::after,.portal-door--r::after{content:"";position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(233,173,102,.5) 30%,rgba(233,173,102,.5) 70%,transparent)}
.portal-door--l::after{right:0}
.portal-door--r::after{left:0}
.portal.is-open .portal-door--l{transform:translateX(-101%)}
.portal.is-open .portal-door--r{transform:translateX(101%)}
.portal-mark{position:absolute;top:38%;width:clamp(150px,20vw,230px);aspect-ratio:367/391;filter:drop-shadow(0 0 22px rgba(233,173,102,.28))}
.portal-door--l .portal-mark{right:0;transform:translate(50%,-50%)}
.portal-door--r .portal-mark{left:0;transform:translate(-50%,-50%)}
.portal-mark svg{width:100%;height:100%;overflow:visible}
.portal-mark .draw{fill:none;stroke:var(--gold);stroke-width:24;stroke-linejoin:miter;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s var(--ease-io) .5s forwards}
.portal-mark .bar{stroke-width:22;animation-duration:.9s;animation-delay:2s}
.portal-mark .dot{fill:var(--gold);transform-box:fill-box;transform-origin:center;transform:scale(0);animation:pop .8s var(--ease) 2.25s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{transform:scale(1)}}
.portal-center{position:absolute;left:50%;top:60%;transform:translateX(-50%);z-index:2;text-align:center;width:min(92vw,560px);
  opacity:0;animation:rise 1s var(--ease) 2.5s forwards;transition:opacity .4s,translate .4s}
@keyframes rise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
.portal.is-leaving .portal-center{opacity:0!important;animation:none;translate:0 -8px}
.portal-name{font:300 clamp(1.7rem,4vw,2.5rem)/1.1 var(--f-display);color:#fff;letter-spacing:-.01em}
.portal-name span{display:block;margin-top:8px;font:500 .8rem/1.2 var(--f-body);letter-spacing:.14em;color:var(--gold);text-transform:lowercase}
.portal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--night);padding-block:calc(var(--header-h) + 56px) 120px;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-5}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:hfade 26s infinite,hdrift 26s linear infinite}
.hero-slide.s1{background-image:url("../FOTOS/banner001.jpeg");animation-delay:0s}
.hero-slide.s2{background-image:url("../FOTOS/banner002.jpeg");animation-delay:13s}
@keyframes hfade{0%,46%{opacity:1}54%,96%{opacity:0}100%{opacity:1}}
@keyframes hdrift{from{transform:scale(1.02)}to{transform:scale(1.11)}}
.hero::before{content:"";position:absolute;inset:0;z-index:-4;background:
  linear-gradient(98deg,rgba(7,31,38,.95) 0%,rgba(7,31,38,.82) 42%,rgba(19,75,89,.5) 100%),
  linear-gradient(0deg,rgba(7,31,38,.9),transparent 34%)}
.hero-grain{position:absolute;inset:0;z-index:-3;opacity:.05;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.hero-light{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(560px circle at var(--mx,72%) var(--my,34%),rgba(233,173,102,.17),transparent 62%)}
.hero-mark{position:absolute;right:-5vw;top:50%;width:min(56vw,780px);aspect-ratio:367/391;z-index:-1;pointer-events:none;
  transform:translate(var(--px,0px),calc(-50% + var(--py,0px)));transition:transform .9s var(--ease)}
.hero-mark svg{width:100%;height:100%;overflow:visible}
.hero-mark path,.hero-mark circle{fill:none;stroke:var(--gold);stroke-width:1.4;vector-effect:non-scaling-stroke;opacity:.55}
.hero-mark .line{stroke-dasharray:1;stroke-dashoffset:1}
.is-ready .hero-mark .line{animation:draw 4.2s var(--ease-io) .5s forwards}
.hero-mark circle{opacity:0}
.is-ready .hero-mark circle{animation:fadein 1.2s 3.6s forwards}
@keyframes fadein{to{opacity:.7}}
.tick{position:absolute;width:26px;height:26px;border:0 solid var(--gold);opacity:.5;z-index:1;pointer-events:none}
.tick.t1{top:calc(var(--header-h) + 20px);left:28px;border-top-width:1px;border-left-width:1px}
.tick.t2{top:calc(var(--header-h) + 20px);right:28px;border-top-width:1px;border-right-width:1px}
.tick.t3{bottom:28px;left:28px;border-bottom-width:1px;border-left-width:1px}
.tick.t4{bottom:28px;right:28px;border-bottom-width:1px;border-right-width:1px}
@media (max-width:700px){.tick{display:none}}
.hero-inner{position:relative;width:min(100% - 2*var(--pad),var(--max));margin-inline:auto}
.hero-title{font-size:clamp(2.7rem,6.6vw,6rem);line-height:1;color:#fff;letter-spacing:-.028em}
.hero-title .ht{display:block}
.hero-title .ht + .ht{font-style:italic;color:var(--gold-soft)}
.hero-sub{margin-top:clamp(26px,3.4vw,44px);font:italic 300 clamp(1.25rem,2.3vw,1.9rem)/1.35 var(--f-display);color:rgba(255,255,255,.94);max-width:30ch}
.hero-lead{margin-top:20px;max-width:54ch;font-size:clamp(1rem,1.3vw,1.14rem);color:rgba(255,255,255,.74)}
.hero-cta{margin-top:clamp(30px,4vw,48px)}
.scroll-cue{position:absolute;left:50%;bottom:34px;width:1px;height:64px;background:linear-gradient(var(--gold),transparent);transform-origin:top;opacity:.7;animation:cue 2.6s var(--ease-io) infinite}
@keyframes cue{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:.8}100%{transform:scaleY(1);opacity:0}}
@media (max-width:700px){.scroll-cue{display:none}.hero{padding-bottom:90px}}

/* ---------- o escritório ---------- */
.sobre-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(44px,7vw,120px);align-items:center}
.sobre-text{display:grid;gap:28px;justify-items:start}
.scrub{font:300 clamp(1.4rem,2.3vw,1.95rem)/1.5 var(--f-display);color:var(--petrol);letter-spacing:-.01em;max-width:34ch}
.scrub .sw{color:#7C959D;transition:color .5s}
.scrub .sw.on{color:var(--petrol)}
.sobre-p2{max-width:52ch;color:var(--gray)}
.sobre-visual{position:relative}
.sobre-visual::before{content:"";position:absolute;top:-16px;right:-16px;width:56px;height:56px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);pointer-events:none}
.frame{position:relative;overflow:hidden;background:var(--night)}
.frame img{width:100%;height:100%;object-fit:cover}
.sobre-visual .frame{aspect-ratio:4/3;--cut:28px}
.badge{position:absolute;left:clamp(-24px,-2vw,-12px);bottom:-36px;z-index:4;background:var(--night);color:#fff;padding:22px 30px 20px;--cut:18px;display:grid;justify-items:start;gap:0}
.badge .num{font:300 clamp(3.4rem,6vw,5.2rem)/.9 var(--f-display);color:var(--gold-soft)}
.badge span:last-child{font:500 .92rem/1.3 var(--f-body);color:rgba(255,255,255,.8);margin-top:8px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px);margin-top:clamp(72px,9vw,140px);align-items:start}
.gallery .frame{aspect-ratio:4/3;--cut:22px}
.gallery figure:nth-child(2){margin-top:clamp(0px,4vw,64px)}
.gallery figure:nth-child(3){margin-top:clamp(0px,8vw,128px)}
@media (max-width:900px){
  .sobre-grid{grid-template-columns:1fr}
  .badge{left:12px}
  .gallery{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding-bottom:10px;margin-inline:calc(-1*var(--pad));padding-inline:var(--pad)}
  .gallery figure{scroll-snap-align:start;margin-top:0!important}
}

/* ---------- aviso ---------- */
.aviso{background:var(--gold-20);border-block:1px solid var(--gold-80);padding-block:26px;color:var(--night)}
.aviso p{width:min(100% - 2*var(--pad),980px);margin-inline:auto;display:flex;gap:16px;align-items:flex-start;font-size:1rem;line-height:1.6}
.aviso svg{width:24px;height:24px;flex:none;color:var(--petrol);margin-top:2px}
.aviso b{color:var(--petrol);font-weight:800}

/* ---------- equipe ---------- */
.trio{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:clamp(16px,2.6vw,40px);align-items:end}
.person{display:grid;gap:0;align-content:end}
.person .frame{--cut:22px;aspect-ratio:3/4}
.person-lg .frame{aspect-ratio:2/3;--cut:30px}
.person img{transition:transform 1.4s var(--ease),filter .7s;filter:saturate(.88) brightness(.96)}
.person:hover img{filter:none}
.person-cap{display:grid;gap:3px;padding-top:20px}
.person-cap::before{content:"";width:28px;height:1px;background:var(--gold);margin-bottom:12px;transition:width .7s var(--ease)}
.person:hover .person-cap::before{width:72px}
.person-cap b{font:400 clamp(1.2rem,1.9vw,1.75rem)/1.2 var(--f-display);color:#fff;letter-spacing:-.01em}
.person-cap span{font:600 .92rem/1.4 var(--f-body);color:var(--gold)}
.crew{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.6vw,24px);margin-top:clamp(64px,8vw,120px)}
.crew .person .frame{--cut:16px}
.crew .person-cap b{font-size:clamp(1.02rem,1.3vw,1.28rem)}
.crew .person-cap span{font-size:.86rem}
.equipe-more{margin-top:clamp(48px,6vw,80px);display:flex;justify-content:center}
@media (max-width:1100px){.crew{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){
  .trio{grid-template-columns:1fr 1fr}
  .trio .person-lg{grid-column:1/-1;order:-1}
  .person-lg .frame{aspect-ratio:4/5}
  .crew{grid-template-columns:repeat(2,1fr)}
}

/* ---------- áreas de atuação ---------- */
.areas-ui{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,100px);align-items:start}
.areas-tabs{display:flex;flex-direction:column;border-top:1px solid var(--line-light)}
.tab{display:flex;align-items:center;gap:18px;padding:clamp(14px,1.5vw,21px) 0;text-align:left;font:300 clamp(1.35rem,2.3vw,2.1rem)/1.15 var(--f-display);letter-spacing:-.012em;color:rgba(19,75,89,.52);
  border-bottom:1px solid var(--line-light);transition:color .4s,padding .6s var(--ease)}
.tab::before{content:"";flex:none;width:10px;height:10px;background:var(--gold);transform:rotate(45deg) scale(0);transition:transform .6s var(--ease);margin-left:-28px;margin-right:10px}
.tab:hover{color:var(--petrol)}
.tab[aria-selected="true"]{color:var(--petrol);padding-left:30px}
.tab[aria-selected="true"]::before{transform:rotate(45deg) scale(1);margin-left:-28px}
.areas-stage{position:sticky;top:calc(var(--header-h) + 28px);display:grid}
.area-panel{grid-area:1/1;position:relative;overflow:hidden;--cut:30px;padding:clamp(30px,4.2vw,62px);display:flex;flex-direction:column;gap:22px;justify-content:space-between;min-height:440px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 367 391' fill='none' stroke='%23E9AD66' stroke-opacity='.15' stroke-width='1.4'%3E%3Cpath d='M183 256L88 163L152 99V76A32 32 0 0 0 120 44H44V168A139 139 0 0 0 322 168V44H246A32 32 0 0 0 214 76V99L278 163Z'/%3E%3Ccircle cx='183' cy='166' r='20'/%3E%3Cpath d='M100 354H266'/%3E%3C/svg%3E") no-repeat right -60px bottom -70px/340px,
    linear-gradient(155deg,var(--petrol) 0%,var(--night) 100%);
  color:rgba(255,255,255,.84);
  opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .55s,transform .8s var(--ease),visibility 0s .55s}
.area-panel.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .6s .12s,transform .9s var(--ease) .1s,visibility 0s}
.area-ico{width:58px;height:58px;color:var(--gold)}
.area-ico *{vector-effect:non-scaling-stroke}
.area-panel h3{font-size:clamp(1.9rem,3.2vw,2.9rem);color:#fff}
.area-panel p{max-width:50ch;font-size:clamp(1rem,1.25vw,1.1rem);line-height:1.75}
.area-panel .btn{align-self:flex-start;padding:16px 28px;min-height:56px;text-align:left}
@media (max-width:900px){
  .areas-ui{grid-template-columns:1fr}
  .areas-tabs{flex-direction:row;border:0;overflow-x:auto;gap:10px;padding-bottom:10px;margin-inline:calc(-1*var(--pad));padding-inline:var(--pad);scroll-snap-type:x proximity;scroll-padding-inline:var(--pad)}
  .tab{flex:none;padding:12px 20px;border:1px solid var(--line-light);font-size:1.06rem;font-family:var(--f-body);font-weight:600;white-space:nowrap;scroll-snap-align:start}
  .tab::before{display:none}
  .tab[aria-selected="true"]{padding-left:20px;background:var(--petrol);color:#fff;border-color:var(--petrol)}
  .areas-stage{position:relative;top:0}
  .area-panel{min-height:0}
}

/* ---------- instagram ---------- */
.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2.4vw,36px);align-items:start}
.post{position:relative;display:block;aspect-ratio:4/5;--cut:24px}
.post:nth-child(2){margin-top:clamp(0px,4.5vw,64px)}
.post img{transition:transform 1.4s var(--ease)}
.post:hover img{transform:scale(1.05)}
.post-cap{position:absolute;inset:auto 0 0 0;z-index:4;padding:56px 22px 20px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:.95rem;background:linear-gradient(transparent,rgba(7,31,38,.88));opacity:0;transform:translateY(12px);transition:opacity .5s,transform .7s var(--ease)}
.post:hover .post-cap,.post:focus-visible .post-cap{opacity:1;transform:none}
.post-cap svg{width:20px;height:20px;color:var(--gold)}
.insta-more{margin-top:clamp(56px,7vw,96px);display:flex;justify-content:center}
@media (max-width:760px){
  .insta-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:74%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding-bottom:10px;margin-inline:calc(-1*var(--pad));padding-inline:var(--pad)}
  .post{scroll-snap-align:start;margin-top:0!important}
  .post-cap{opacity:1;transform:none}
}

/* ---------- diferenciais ---------- */
.dif-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,7vw,120px);align-items:start}
.dif-head{position:sticky;top:calc(var(--header-h) + 40px);display:grid;gap:22px}
.dif-list{border-bottom:1px solid var(--line-dark)}
.dif-row{position:relative;display:grid;grid-template-columns:auto 1fr;gap:8px 26px;padding:clamp(26px,3.2vw,44px) 8px;border-top:1px solid var(--line-dark);transition:padding .7s var(--ease)}
.dif-row::before{content:"";grid-row:1/3;align-self:start;margin-top:.62em;width:11px;height:11px;border:1px solid var(--gold);transform:rotate(45deg);transition:transform .8s var(--ease),background-color .4s}
.dif-row::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(233,173,102,.12),transparent 75%);opacity:0;transition:opacity .6s}
.dif-row:hover{padding-left:24px}
.dif-row:hover::before{transform:rotate(225deg) scale(1.15);background:var(--gold)}
.dif-row:hover::after{opacity:1}
.dif-row h3{font-size:clamp(1.7rem,3vw,2.6rem);transition:color .4s}
.dif-row:hover h3{color:var(--gold-soft)}
.dif-row p{color:rgba(255,255,255,.7);max-width:44ch}
.dif-list{position:relative;z-index:0}
@media (max-width:900px){.dif-grid{grid-template-columns:1fr}.dif-head{position:static}}

/* ---------- artigos ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,4vw,64px)}
.post-card{display:grid;gap:24px;align-content:start}
.post-card .frame{aspect-ratio:16/10;display:block;--cut:26px}
.post-card .frame img{transition:transform 1.4s var(--ease)}
.post-card:hover .frame img{transform:scale(1.05)}
.tag{position:absolute;left:0;top:0;z-index:4;background:var(--gold);color:var(--night);font:700 .84rem/1 var(--f-body);padding:12px 20px 12px 30px;letter-spacing:.01em}
.post-card h3{font-size:clamp(1.55rem,2.6vw,2.3rem)}
.post-card h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .7s var(--ease)}
.post-card:hover h3 a{background-size:100% 1px}
.post-card p{color:var(--gray);max-width:52ch}
.blog-more{margin-top:clamp(56px,7vw,96px);display:flex;justify-content:center}
@media (max-width:820px){.blog-grid{grid-template-columns:1fr}}

/* ---------- depoimentos ---------- */
.depo-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,110px);align-items:center}
.depo-side{display:grid;gap:34px;justify-items:start}
.depo-side .sec-head{margin-bottom:0}
.rating{display:grid;gap:8px}
.rating-num{font:300 clamp(4.6rem,9vw,7.6rem)/.9 var(--f-display);color:var(--petrol);letter-spacing:-.03em}
.stars{color:var(--gold-80);font-size:1.4rem;letter-spacing:.2em;line-height:1}
.rating small{font-size:.95rem;color:var(--gray);line-height:1.5}
.stage{position:relative;background:var(--white);padding:clamp(30px,4.6vw,68px);--cut:34px;display:grid}
.quote{grid-area:1/1;display:grid;align-content:space-between;gap:34px;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .5s,transform .8s var(--ease),visibility 0s .5s}
.quote.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .6s .1s,transform .9s var(--ease) .1s,visibility 0s}
.quote-mark{font:300 clamp(9rem,15vw,14rem)/.6 var(--f-display);color:var(--gold);height:.36em;overflow:visible}
.quote blockquote{font:300 clamp(1.5rem,2.8vw,2.45rem)/1.32 var(--f-display);color:var(--petrol);letter-spacing:-.012em;min-height:6.6em;align-self:center}
.quote figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.quote figcaption b{font:700 1.02rem var(--f-body);color:var(--night)}
.quote figcaption .stars{font-size:1.05rem}
.quote figcaption small{color:var(--gray);font-size:.88rem}
.stage-ctl{display:flex;align-items:center;gap:44px;margin-top:44px;padding-left:12px}
.ctl{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--petrol);color:var(--petrol);transform:rotate(45deg);transition:background-color .35s,color .35s}
.ctl svg{width:18px;height:18px;transform:rotate(-45deg)}
.ctl:hover{background:var(--petrol);color:#fff}
.stage-count{font:600 .95rem var(--f-body);color:var(--petrol-80);margin-left:14px;font-variant-numeric:tabular-nums}
@media (max-width:900px){.depo-grid{grid-template-columns:1fr}}

/* ---------- contato ---------- */
.contato{overflow:hidden;text-align:center;padding-block:clamp(110px,14vw,200px)}
.contato::before{content:"";position:absolute;left:50%;top:50%;width:min(1100px,150vw);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(233,173,102,.16),transparent 62%);pointer-events:none}
.contato::after{content:"";position:absolute;right:-8vw;bottom:-14vw;width:min(58vw,720px);aspect-ratio:367/391;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 367 391' fill='none' stroke='%23E9AD66' stroke-opacity='.18' stroke-width='1.2'%3E%3Cpath d='M183 256L88 163L152 99V76A32 32 0 0 0 120 44H44V168A139 139 0 0 0 322 168V44H246A32 32 0 0 0 214 76V99L278 163Z'/%3E%3Ccircle cx='183' cy='166' r='20'/%3E%3Cpath d='M100 354H266'/%3E%3C/svg%3E") no-repeat center/contain}
.contato-in{position:relative;z-index:1;display:grid;justify-items:center;gap:34px}
.contato .h2{font-size:clamp(2.6rem,7vw,6rem);max-width:14ch}
.contato .lead{max-width:44ch}
.contato-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;font-size:1rem;color:rgba(255,255,255,.78)}
.contato-meta a{color:#fff;font-weight:700;background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat;transition:background-size .6s var(--ease)}
.contato-meta a:hover{background-size:100% 1px}

/* ---------- indicador lateral de seções ---------- */
.rail{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:80;display:none;padding:14px 11px;background:rgba(7,31,38,.82);--cut:10px;
  clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.rail a{position:relative;display:grid;place-items:center;width:20px;height:22px}
.rail a::before{content:"";width:7px;height:7px;border:1px solid rgba(233,173,102,.7);transform:rotate(45deg);transition:background-color .35s,transform .5s var(--ease)}
.rail a[aria-current]::before{background:var(--gold);transform:rotate(45deg) scale(1.35)}
.rail a span{position:absolute;right:calc(100% + 16px);white-space:nowrap;background:var(--night);color:#fff;font:600 .82rem/1 var(--f-body);padding:9px 12px;opacity:0;transform:translateX(8px);transition:opacity .3s,transform .5s var(--ease);pointer-events:none}
.rail a:hover span,.rail a:focus-visible span{opacity:1;transform:none}
@media (min-width:1360px){.rail{display:block}}

/* alinhamento das fotos da equipe (legendas com altura igual) */
.trio .person-cap{min-height:clamp(96px,9vw,124px)}
.crew{align-items:start}
.crew .person{align-content:start}
.crew .person-cap{min-height:5.6rem}

/* economia de processamento: hero pausa fora da tela */
.hero.is-off .hero-slide,.hero.is-off .scroll-cue{animation-play-state:paused}

@media (max-width:700px){
  .hero-mark{width:104vw;right:-46vw;top:34%;opacity:.42}
}
