.peek{position:fixed;z-index:30;width:230px;aspect-ratio:4/5;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(.6);transition:opacity .3s,transform .45s cubic-bezier(.2,.7,.2,1)}
.peek.on{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}
.peek img{width:100%;height:100%;object-fit:cover}
.serv{padding:clamp(80px,14vh,160px) var(--pad);background:transparent}
.serv .wttl2{padding-bottom:30px}
.serv .wttl2 .row{display:flex;justify-content:space-between;align-items:flex-end}
.serv h2{font-size:clamp(52px,13.5vw,250px);font-weight:900;font-variation-settings:'wdth' 72;line-height:.8;letter-spacing:-.03em}
.serv h2.yr{font-weight:300;font-variation-settings:'wdth' 100;font-size:clamp(30px,7vw,130px)}
.serv .wttl2 .kick{display:block;margin-bottom:14px}
.shd,.srow{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.2fr);gap:20px;align-items:center}
.shd{padding:14px 0;border-bottom:1px solid var(--line)}
.srow{position:relative;padding:clamp(14px,2.2vh,24px) 0;cursor:pointer}
.srow .nm{min-width:0;font-size:clamp(26px,3.7vw,62px);font-weight:500;font-variation-settings:'wdth' 92;line-height:1.05;letter-spacing:-.02em}
.srow .nm .roll{line-height:1.08}
.srow .c{font-size:14px;line-height:1.35;color:var(--fg)}
.srow .ln{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.srow .ln::after{content:'';position:absolute;inset:0;background:var(--fg);transform:scaleX(0);transform-origin:right;transition:transform .7s cubic-bezier(.7,0,.2,1)}
.srow:hover .ln::after{transform:scaleX(1);transform-origin:left}
.spage{position:fixed;inset:0;z-index:85;background:#0b0b0b;overflow:auto;clip-path:inset(100% 0 0 0);transition:clip-path .9s cubic-bezier(.7,0,.2,1);overscroll-behavior:contain}
.spage.on{clip-path:inset(0 0 0 0)}
.spage .in{padding:110px var(--pad) 60px;min-height:100%;display:flex;flex-direction:column;gap:40px}
.spage .x{position:fixed;top:18px;right:var(--pad);z-index:2;width:50px;height:50px;border-radius:50%;background:var(--fg);color:var(--bg);font-size:24px}
.spage h3{font-size:clamp(54px,11vw,190px);font-weight:900;font-variation-settings:'wdth' 72;line-height:.82;letter-spacing:-.03em;text-transform:uppercase}
.spage .g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:start}
.spage .g img{width:100%;aspect-ratio:4/3;object-fit:cover}
.spage p{font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:#d8d4cc}
.spage dl{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;border-top:1px solid var(--line);padding-top:20px;margin-top:26px}
.spage dt{font-family:var(--mono);font-size:11px;color:var(--mute);text-transform:uppercase;padding-top:3px}
.spage .nv{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:auto}
.spage .nv button{font-family:var(--mono);font-size:12px;text-transform:uppercase;min-height:44px;padding:12px 18px;border:1px solid var(--line);border-radius:99px}
@media (max-width:1000px){
.shd{display:none}
.srow{grid-template-columns:1fr;gap:4px}
.srow .c.p,.srow .c.f{display:none}
.srow .c{color:var(--mute)}
.spage .g{grid-template-columns:1fr}
}
/* --- antes injetado pelo app.js --- */
.spage{-webkit-overflow-scrolling:touch}
.spage .in{padding:96px var(--pad) 50px;gap:clamp(24px,4vh,44px);max-width:1500px;margin:0 auto}
.spage .sp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.spage .sp-ban{position:relative;width:100%;height:clamp(240px,52vh,560px);overflow:hidden;border-radius:16px;background:#141414}
.spage .sp-ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.spage .sp-ban::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55))}
.spage .sp-body{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,80px);align-items:start}
.spage .sp-body p{font-size:clamp(18px,1.7vw,26px);line-height:1.45;color:#e6e2da}
.spage .sp-side{border-top:1px solid var(--line);padding-top:6px}
.spage .sp-side dl{border:0;margin:0;padding-top:14px;grid-template-columns:110px 1fr}
.spage .sp-side dd{font-size:16px}
.spage .sp-side .btn{margin-top:26px}
@media (max-width:800px){.spage .sp-body{grid-template-columns:1fr}.spage .sp-ban{height:38vh}}
/* --- acessibilidade: foco visível no teclado e menos movimento --- */
.srow:focus-visible,.spage button:focus-visible,.spage a:focus-visible{outline:2px solid var(--fg);outline-offset:4px}
.srow:focus-visible .ln::after{transform:scaleX(1);transform-origin:left}
