.links a[aria-current=page]{color:var(--tx)}
.xh{min-height:100svh;position:relative;display:flex;align-items:center;padding:132px 0 88px;overflow:hidden;background:radial-gradient(45% 55% at 78% 45%,rgba(212,168,58,.2),transparent 70%),radial-gradient(30% 30% at 12% 100%,rgba(243,223,162,.08),transparent 70%)}
.xh::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),rgba(247,242,231,.035) calc(100%/12 - 1px) calc(100%/12));pointer-events:none}
.xh .wrap{display:grid;grid-template-columns:7fr 5fr;gap:clamp(28px,5vw,88px);align-items:center;width:100%;position:relative;z-index:1}
.xh h1{font-size:clamp(50px,9vw,148px);font-weight:700;line-height:.86;margin-top:28px}
.xh h1 em{font-style:normal;-webkit-text-stroke:1.5px var(--tx);color:transparent}
.xh .sub{font:500 clamp(20px,2.3vw,30px)/1.25 var(--h);margin:36px 0 16px;max-width:24ch;letter-spacing:-.02em}
.xh .lead{color:var(--mu);max-width:50ch;font-size:clamp(16px,1.4vw,19px);margin:0}
.xh .cta{margin-top:40px}
.xp{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,6vw,112px);margin-top:80px}
.xi{border-top:1px solid var(--line);padding:32px 0 48px;position:relative}
.xi::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:linear-gradient(90deg,var(--vio),var(--ice));transition:width .8s var(--e)}
.xi:hover::before{width:100%}.xi:nth-child(even){margin-top:64px}
.xi b,.xs2 b{font:400 12px var(--m);letter-spacing:.2em;color:var(--ice)}
.xi h3{font-size:clamp(26px,3vw,44px);font-weight:500;margin:18px 0 14px;line-height:1}
.xi p,.xs2 p{margin:0;color:var(--mu);max-width:38ch}
.xt{position:relative;margin-top:72px;padding-left:clamp(48px,7vw,96px)}
.xt::before,.xt::after{content:"";position:absolute;left:12px;top:0;width:1px}
.xt::before{bottom:0;background:var(--line)}
.xt::after{height:calc(var(--p,0)*100%);background:linear-gradient(var(--vio),var(--ice));box-shadow:0 0 12px var(--vio)}
.xs2{position:relative;padding:0 0 clamp(40px,5vw,72px)}
.xs2::before{content:"";position:absolute;left:calc(-1*clamp(48px,7vw,96px) + 8px);top:8px;width:9px;height:9px;background:var(--bg);border:1px solid var(--ice);transform:rotate(45deg)}
.xs2 h3{font-size:clamp(28px,3.6vw,56px);font-weight:500;margin:10px 0 12px;line-height:1}
.xf{border-top:1px solid var(--line);padding:56px 0 32px}
.xf .top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.xf p{margin:14px 0 0;color:var(--mu);max-width:30ch;font-size:15px}
.xf nav{display:flex;gap:28px;flex-wrap:wrap;font:400 12px var(--m);letter-spacing:.16em;text-transform:uppercase}
.xf nav a{color:var(--mu)}.xf nav a:hover{color:var(--tx)}
.xf ul{list-style:none;margin:40px 0 0;padding:32px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.xf li b{display:block;font:500 15px var(--h);margin-bottom:6px}
.xf li a{display:block;color:var(--mu);font-size:14px;padding:3px 0;word-break:break-word}.xf li a:hover{color:var(--ice)}
.xf .c{margin-top:32px;font:400 11px var(--m);letter-spacing:.08em;color:var(--mu)}
.contact .cta{margin-top:8px}
/* about */
.trio{position:relative;aspect-ratio:1/1.22;width:100%;max-width:520px;justify-self:end}
.trio .xc{position:absolute;width:50%}
.trio .xc:nth-child(1){left:0;top:12%}.trio .xc:nth-child(2){right:0;top:0}.trio .xc:nth-child(3){left:25%;top:50%}
.trio .pf{animation:fl 12s ease-in-out infinite}.trio .xc:nth-child(2) .pf{animation-delay:-4s}.trio .xc:nth-child(3) .pf{animation-delay:-8s}
.pf{position:relative;aspect-ratio:4/5;background:radial-gradient(circle at 50% 35%,#2b2417,#0c0a07);overflow:hidden}
.pf .ini{position:absolute;inset:0;display:grid;place-items:center;font:700 clamp(44px,6vw,88px) var(--h);color:rgba(243,223,162,.25)}
.pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;z-index:1;filter:contrast(1.06) brightness(.82) saturate(.92);transition:filter .8s var(--e),transform 1.4s var(--e)}
.pf::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,rgba(212,168,58,.38),transparent 38%),linear-gradient(to top,rgba(10,9,6,.88),transparent 45%)}
.pf::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;z-index:3;background:linear-gradient(100deg,transparent,rgba(247,242,231,.2),transparent);transform:skewX(-18deg);transition:left 1.2s var(--e);pointer-events:none}
.pf .nm{position:absolute;z-index:3;left:12px;bottom:10px;font:400 10px var(--m);letter-spacing:.16em;text-transform:uppercase}
.xc:hover .pf img{filter:contrast(1.08) brightness(1.04) saturate(1);transform:scale(1.04)}.xc:hover .pf::after{left:130%}
.xtm{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.5vw,56px);margin-top:80px;align-items:start}
.xtm .xc:nth-child(2){margin-top:72px}
.td{padding-top:28px;transition:transform .6s var(--e)}.xc:hover .td{transform:translateY(-6px)}
.td h3{font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1}
.td h3::after{content:"";display:block;height:1px;width:28px;background:var(--vio);margin-top:16px;transition:width .7s var(--e)}.xc:hover .td h3::after{width:100%}
.td .role{font:400 11px/1.6 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--ice);margin:14px 0 16px}.td .role.no{color:var(--mu)}
.td a{display:flex;gap:12px;align-items:baseline;padding:6px 0;color:var(--tx);font-size:15px;word-break:break-word;transition:color .3s}.td a:hover{color:var(--ice)}
.td a i{font:400 10px var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--mu);width:34px;flex:none;font-style:normal}
.xy{display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px;align-items:start}
.xy .h{grid-column:1/10;grid-row:1}.xy .art{grid-column:8/13;grid-row:1/3;margin-top:-20px}.xy .tx{grid-column:2/8;grid-row:2;margin-top:48px}
.xy .tx p{font-size:clamp(18px,1.6vw,22px);color:var(--mu);max-width:44ch;margin:0 0 24px}.xy .tx p:first-child{color:var(--tx)}
.art svg{width:100%;display:block;overflow:visible}.or{transform-origin:200px 240px;animation:rot 70s linear infinite}
/* services */
.na{width:100%;max-width:560px;justify-self:end}.na svg{width:100%;display:block;overflow:visible}
.fw{animation:flow 14s linear infinite}@keyframes flow{to{stroke-dashoffset:-130}}.or2{transform-origin:300px 300px;animation:rot 90s linear infinite}.nd{animation:pu 5s ease-in-out infinite}
svg.vz{fill:none;stroke:var(--ice);stroke-width:1.2;width:100%;display:block}svg.vz>*{stroke-dasharray:600;animation:dr 1.6s var(--e) both}@keyframes dr{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}
.eg{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(32px,4vw,56px) clamp(20px,3vw,40px);margin-top:80px}
.si:nth-child(1){grid-column:1/8}.si:nth-child(2){grid-column:8/13}.si:nth-child(3){grid-column:1/6}.si:nth-child(4){grid-column:6/13}.si:nth-child(5){grid-column:1/8}.si:nth-child(6){grid-column:8/13}
.si{border-top:1px solid var(--line);padding-top:24px}
.si .top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.si .top svg{max-width:200px;margin-top:8px}
.si .n{font:700 clamp(56px,7vw,110px)/1 var(--h);-webkit-text-stroke:1px rgba(247,242,231,.4);color:transparent}
.si h3{font-size:clamp(24px,2.6vw,38px);font-weight:500;margin-top:18px;line-height:1}
.si .hl{font:400 11px var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--ice);margin:14px 0 10px}
.si p{margin:0 0 16px;color:var(--mu);max-width:46ch}.si p.hl{margin:14px 0 10px;color:var(--ice)}
.go{background:none;border:0;border-bottom:1px solid var(--vio);padding:0 0 4px;color:var(--tx);font:400 12px var(--m);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;min-height:32px}.go:hover{color:var(--ice)}
.ex{display:grid;grid-template-columns:5fr 7fr;gap:clamp(24px,5vw,80px);margin-top:72px;align-items:start}
.exl{display:flex;flex-direction:column}
.eb{display:flex;gap:18px;align-items:baseline;text-align:left;width:100%;padding:22px 0;background:none;border:0;border-top:1px solid var(--line);color:var(--mu);cursor:pointer;font:500 clamp(18px,1.8vw,26px)/1.15 var(--h);letter-spacing:-.01em;transition:color .4s,padding .5s var(--e)}
.eb b{font:400 11px var(--m);letter-spacing:.2em;color:var(--ice);flex:none}
.eb:hover,.eb[aria-selected=true]{color:var(--tx);padding-left:14px}.eb[aria-selected=true]{border-top-color:var(--vio)}
.pn{border:1px solid var(--line);background:rgba(21,18,11,.5);padding:clamp(20px,3vw,40px);animation:inn .7s var(--e)}@keyframes inn{from{opacity:0;transform:translateY(14px)}}
.vzb{aspect-ratio:5/3;border:1px solid var(--line);background:radial-gradient(60% 60% at 50% 50%,rgba(212,168,58,.18),transparent 75%);margin-bottom:28px;display:grid;place-items:center;padding:28px}.vzb svg{max-height:100%}
.pn h3{font-size:clamp(28px,3vw,44px);font-weight:500;line-height:1}.pn p{color:var(--mu);margin:16px 0 20px}
.pn ul{list-style:none;padding:0;margin:0 0 20px;columns:2;column-gap:28px}.pn li{font-size:14px;padding:7px 0;border-top:1px solid var(--line);break-inside:avoid}.pn li::before{content:"+ ";color:var(--vio)}
.pn .nt{font:400 12px/1.6 var(--m);color:var(--mu);border-left:1px solid var(--ice);padding-left:14px;margin:0 0 24px}
.tk{display:flex;flex-wrap:wrap;margin-top:56px;border-top:1px solid var(--line)}
.tk span{font:500 clamp(24px,3.4vw,52px)/1 var(--h);letter-spacing:-.03em;padding:26px 36px 26px 0;margin-right:36px;border-bottom:1px solid var(--line);color:var(--mu);transition:color .4s}.tk span:hover{color:var(--tx)}
.xr{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,32px);margin-top:80px;padding-top:44px}
.xr::before,.xr::after{content:"";position:absolute;left:0;top:0;height:1px}.xr::before{right:0;background:var(--line)}.xr::after{width:calc(var(--p,0)*100%);background:linear-gradient(90deg,var(--vio),var(--ice));box-shadow:0 0 12px var(--vio)}
.xr .xs2{padding:0}.xr .xs2::before{left:0;top:-48px}.xr .xs2 h3{font-size:clamp(22px,2.2vw,32px)}
.sf{display:grid;gap:22px;max-width:720px;margin-top:64px}
@media(max-width:900px){
.xh .wrap,.xp,.xtm,.ex{grid-template-columns:1fr}.trio{justify-self:center;max-width:420px}.na{justify-self:center}
.xi:nth-child(even),.xtm .xc:nth-child(2){margin-top:0}.xf ul{grid-template-columns:1fr}
.xy .h,.xy .art,.xy .tx{grid-column:1/-1;grid-row:auto;margin-top:32px}
.si:nth-child(n){grid-column:1/-1}
.pn{margin-bottom:12px}.pn ul{columns:1}
.xr{grid-template-columns:1fr;padding:0 0 0 clamp(48px,7vw,96px)}.xr::before,.xr::after{left:12px;top:0;right:auto;width:1px}.xr::before{bottom:0;height:auto}.xr::after{height:calc(var(--p,0)*100%);background:linear-gradient(var(--vio),var(--ice))}.xr .xs2{padding-bottom:36px}.xr .xs2::before{left:calc(-1*clamp(48px,7vw,96px) + 8px);top:8px}}