@font-face{font-family:"Inter Tight";src:url(../fonts/inter-tight-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"DM Sans";src:url(../fonts/dm-sans-latin.woff2) format("woff2");font-weight:100 1000;font-display:swap}
:root{--bg:#111;--bg2:#181818;--bg3:#222;--fg:#fff;--mut:#9b9b9b;--dim:#4d4d4d;--or:#ff6a3d;--line:rgba(255,255,255,.12);--e:cubic-bezier(.19,1,.22,1);--fd:"Inter Tight",system-ui,sans-serif;--fb:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px;overflow-x:clip}
body{font:400 18px/1.6 var(--fb);color:var(--mut);background:var(--bg);-webkit-font-smoothing:antialiased}
::selection{background:var(--or);color:#fff}
a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}
h1,h2,h3,h4,h5{font-family:var(--fd);color:var(--fg);font-weight:500;line-height:1;letter-spacing:-.045em}
h2{font-size:clamp(2.2rem,5.4vw,4.8rem)}h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.025em}
.g{color:var(--dim)}
.wrap{width:min(1400px,100% - 40px);margin-inline:auto}
.sec{padding:120px 0;position:relative}.sec.in{padding:70px 0 120px}.sec.rel{border-top:1px solid var(--line)}
.ic{flex:none}
.eye{display:inline-flex;align-items:center;gap:10px;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fg);margin-bottom:22px}.eye:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--or)}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:60px;flex-wrap:wrap}.sh h2{max-width:900px}.sh-l{max-width:420px}
.u{display:inline-block;color:var(--fg);font-size:.95rem;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .5s var(--e),color .3s}
/* reveal: split headings */
.js .sp .wd{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.js .sp .wd>span{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:left bottom;transition:transform 1.1s var(--e);transition-delay:calc(var(--i)*45ms)}.js .sp.in .wd>span{transform:none}
.js .rv{opacity:0;transform:translateY(40px);transition:opacity 1s var(--e) var(--d,0ms),transform 1.1s var(--e) var(--d,0ms)}.js .rv.in{opacity:1;transform:none}
.js .rvi{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--e)}.js .rvi img{transform:scale(1.3);transition:transform 1.8s var(--e)}.js .in .rvi,.js .rvi.in{clip-path:inset(0)}.js .in .rvi img,.js .rvi.in img{transform:none}
/* cursor */
.cur{position:fixed;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--or);pointer-events:none;z-index:200;mix-blend-mode:difference;transition:width .35s var(--e),height .35s var(--e),margin .35s var(--e),background .3s;opacity:0}.cur.on{opacity:1}.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:#fff}
@media(pointer:coarse){.cur{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;color:var(--fg);font-size:1rem;font-weight:500}.btn span{padding:11px 26px;border:1.5px solid currentColor;border-radius:99px;background:linear-gradient(var(--fg),var(--fg)) 50% 100%/100% 0 no-repeat;transition:background-size .5s var(--e),color .4s}
.btn i{display:grid;place-items:center;width:46px;height:46px;border:1.5px solid currentColor;border-radius:50%;margin-left:-2px;transition:transform .6s var(--e),background .4s,border-color .4s,color .4s}
.btn:hover span{background-size:100% 100%;color:var(--bg)}.btn:hover i{transform:rotate(45deg);background:var(--or);border-color:var(--or);color:#fff}
.btn.or span{background-color:var(--or);border-color:var(--or)}.btn.or i{background:var(--or);border-color:var(--or)}
.mag{will-change:transform;transition:transform .5s var(--e)}
/* header */
.prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--or);z-index:95}
.hd{position:sticky;top:0;z-index:80;background:rgba(17,17,17,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .5s var(--e),border-color .4s;border-bottom:1px solid transparent}.hd.s{border-color:var(--line)}.hd.hide{transform:translateY(-100%)}
.hd-in{position:relative;display:flex;align-items:center;gap:30px;height:96px;transition:height .4s var(--e)}.hd.s .hd-in{height:76px}
.logo{display:flex;align-items:center;gap:10px;color:var(--fg);font:600 1.7rem/1 var(--fd);letter-spacing:-.06em;white-space:nowrap}.logo small{display:block;font:400 .56rem/1 var(--fb);letter-spacing:.42em;text-transform:uppercase;color:var(--mut);margin-top:5px}.logo img{max-height:50px;width:auto}
.logo svg path{transition:transform .6s var(--e);transform-box:fill-box;transform-origin:center}.logo:hover .lg-a{transform:translateX(3px)}.logo:hover .lg-b{transform:rotate(-90deg)}.logo:hover .lg-c{transform:rotate(90deg)}
.hd-tag{max-width:220px;font-size:.92rem;line-height:1.35;color:var(--fg)}
.menu{margin-left:auto}.menu>ul{display:flex;gap:4px}.menu li{position:relative}
.menu a{display:flex;align-items:center;gap:6px;padding:8px 12px;overflow:hidden;color:var(--fg);font-size:1.02rem;white-space:nowrap}
.menu>ul>li>a{line-height:1.3}.menu>ul>li>a.on{color:var(--or)}.menu>ul>li>a:hover{color:var(--or)}.menu>ul>li>a:hover>*,.menu>ul>li>a:hover{animation:roll .55s var(--e)}
@keyframes roll{0%{transform:translateY(0)}49%{transform:translateY(-120%)}50%{transform:translateY(120%)}100%{transform:translateY(0)}}
.menu .menu-item-has-children>a:after{content:"+";font-size:1.1em;color:var(--or);transition:transform .4s var(--e)}.menu .menu-item-has-children:hover>a:after{transform:rotate(45deg)}
.sub-menu{position:absolute;right:0;top:100%;min-width:260px;padding:16px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;opacity:0;visibility:hidden;transform:translateY(14px);transition:.4s var(--e)}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.sub-menu a{padding:8px 10px;border-radius:8px;color:var(--mut);font-size:.98rem;transition:.3s var(--e)}.sub-menu a:hover{color:var(--fg);padding-left:18px;background:var(--bg3)}.sub-menu li:last-child a{color:var(--or)}
.hd-r{display:flex;align-items:center;gap:10px}.rb{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--fg);transition:.4s var(--e)}.rb:hover{background:var(--or);border-color:var(--or);transform:rotate(-15deg)}
.burger{display:none;width:46px;height:46px;border-radius:50%;background:var(--or);place-items:center;align-content:center;gap:6px}.burger i{display:block;width:18px;height:2px;background:#fff;transition:.4s var(--e)}.mo-open .burger i:first-child{transform:translateY(4px) rotate(45deg)}.mo-open .burger i:last-child{transform:translateY(-4px) rotate(-45deg)}
.hd-s{position:absolute;right:0;top:calc(100% + 8px);width:min(460px,100%);padding:10px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.4s var(--e)}.hd.sq .hd-s{opacity:1;visibility:visible;transform:none}
.veil{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:70;opacity:0;visibility:hidden;transition:.5s}.mo-open .veil{opacity:1;visibility:visible}
/* hero */
.hero{padding:70px 0 90px}.hero-h{font-size:clamp(3rem,9.6vw,9.6rem);line-height:.92;letter-spacing:-.06em;font-weight:500}
.hero-h .ln{display:block;overflow:hidden;padding-bottom:.06em}.hero-h .ln>span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.18em;transform:translateY(110%);animation:lin 1.2s var(--e) forwards}.hero-h .ln:nth-child(2)>span{animation-delay:.12s}.hero-h .ln:nth-child(3)>span{animation-delay:.24s}
@keyframes lin{to{transform:none}}
.hero-h .g{background:linear-gradient(var(--dim),var(--dim)) 0 92%/0 .045em no-repeat;animation:ul 1.2s var(--e) 1s forwards}@keyframes ul{to{background-size:100% .045em}}
.tabs3{display:inline-flex;gap:.06em;vertical-align:middle}.tabs3 b{display:block;width:.56em;height:.64em;background:var(--or);border-radius:0 0 .3em .3em;animation:tab 3.2s var(--e) infinite}.tabs3 b:nth-child(2){animation-delay:.15s}.tabs3 b:nth-child(3){animation-delay:.3s}
@keyframes tab{0%,60%,100%{border-radius:0 0 .3em .3em}20%,40%{border-radius:.3em .3em 0 0}}
.dash{width:.62em;height:.56em;fill:none;stroke:var(--fg);stroke-width:2.4;stroke-dasharray:6 5;animation:dash 1.4s linear infinite}@keyframes dash{to{stroke-dashoffset:-22}}
.hero-g{display:grid;grid-template-columns:1fr .5fr 1fr;gap:40px;margin-top:80px;align-items:end}.hero-s{color:var(--fg);max-width:180px;line-height:1.4;align-self:start}.hero-l{color:var(--fg);font-size:1.18rem;line-height:1.55;margin-bottom:34px;max-width:460px}
.hero-cats{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:340px}.hero-cats a{color:var(--fg);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;transition:color .3s}.hero-cats a:hover{color:var(--or)}
.hero-img{position:relative;display:block;height:min(88vh,860px);overflow:hidden;clip-path:inset(12% 6% 0 6% round 18px);animation:open 1.6s var(--e) .6s forwards}.hero-img>div{position:absolute;inset:-12% 0}.hero-img img{width:100%;height:100%;object-fit:cover}
@keyframes open{to{clip-path:inset(0 0 0 0 round 0)}}
.hero-cap{position:absolute;left:max(20px,calc((100vw - 1400px)/2));bottom:34px;max-width:560px;padding:20px 24px;border-radius:14px;background:rgba(17,17,17,.7);backdrop-filter:blur(10px);color:var(--fg);font:500 1.35rem/1.25 var(--fd);letter-spacing:-.02em;transition:transform .6s var(--e)}.hero-cap small{display:block;font:400 .8rem var(--fb);letter-spacing:.08em;text-transform:uppercase;color:var(--or);margin-bottom:6px}.hero-img:hover .hero-cap{transform:translateY(-8px)}
/* services */
.svc{border-bottom:1px solid var(--line)}.svc-g{display:grid;grid-template-columns:repeat(4,1fr)}.sv{display:flex;gap:18px;padding:44px 26px 48px;border-right:1px solid var(--line);transition:background .5s}.sv:first-child{padding-left:0}.sv:last-child{border:0}
.sv-i{flex:none;width:56px;height:56px;border-radius:12px;background:var(--or);color:#fff;display:grid;place-items:center;font:600 1.5rem var(--fd);transition:transform .7s var(--e),border-radius .7s var(--e)}.sv:hover .sv-i{transform:rotate(-12deg) scale(1.1);border-radius:50%}
.sv h3{font-size:1.5rem;margin-bottom:12px}.sv p{font-size:.95rem;line-height:1.5;margin-bottom:22px}.sv:hover .u{color:var(--or)}
/* cards */
.cov{display:block;position:relative;overflow:hidden;border-radius:12px;aspect-ratio:16/10;background:var(--bg3)}.cov img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}.pc:hover .cov img,.lead:hover .cov img{transform:scale(1.06)}.cov.sq{aspect-ratio:1;width:84px;flex:none;border-radius:10px}
.ph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,rgba(255,106,61,.35),transparent 55%),repeating-linear-gradient(135deg,#1c1c1c 0 14px,#202020 14px 28px)}.ph em{font:500 clamp(3rem,8vw,6rem)/1 var(--fd);font-style:normal;color:var(--fg);letter-spacing:-.06em;transition:transform .8s var(--e)}.cov.sq .ph em{font-size:1.8rem}.cov:hover .ph em,.pc:hover .ph em{transform:scale(1.12) rotate(-6deg)}
.grid{display:grid;gap:40px 30px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr);gap:40px 22px}
.proj .pc:nth-child(even){margin-top:120px}.proj .cov{aspect-ratio:4/3.1}
.pc{display:flex;flex-direction:column}.pc-b{padding-top:20px}.pc h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .6s var(--e)}.pc:hover h3 a{background-size:100% 1px}.g4 .pc h3{font-size:1.15rem}
.pc-m{font-size:.85rem;margin-top:8px}.pc-m a:hover{color:var(--or)}.pc-x{margin-top:12px;font-size:.98rem;line-height:1.55}
.pr{display:flex;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.pr>div{flex:1;min-width:0}.pr h3{font-size:1.1rem;margin-top:4px}.pr-go{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--fg);display:grid;place-items:center;transition:.5s var(--e)}.pr:hover .pr-go{background:var(--or);border-color:var(--or);transform:rotate(45deg)}
/* approach */
.appr{border-top:1px solid var(--line)}.appr-g{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.appr-l{position:sticky;top:120px;align-self:start}.big-n{display:block;font:500 clamp(7rem,15vw,14rem)/.85 var(--fd);color:var(--fg);letter-spacing:-.07em}
.appr h2{font-size:clamp(2rem,4.4vw,4rem)}.nl{margin-top:70px}.nl li{display:grid;grid-template-columns:50px 1fr 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);margin-left:var(--x);transition:background .5s}.nl li:last-child{border-bottom:1px solid var(--line)}
.nl b{font-weight:400;font-size:.9rem;color:var(--fg)}.nl h3{font-size:1.45rem}.nl h3 a{transition:color .3s}.nl h3 a:hover{color:var(--or)}.nl p{font-size:.92rem;line-height:1.5}
/* counter */
.cnt-g{display:flex;align-items:flex-end;gap:30px;flex-wrap:wrap}.huge{font:500 clamp(7rem,26vw,26rem)/.8 var(--fd);color:#f6f3ee;letter-spacing:-.075em}.cnt-g div{max-width:260px;padding-bottom:30px}.cnt-g p{color:var(--fg);font-size:1.3rem;line-height:1.3}.up{width:46px;height:28px;fill:none;stroke:var(--fg);stroke-width:4;margin-bottom:16px;animation:hop 2s var(--e) infinite}@keyframes hop{50%{transform:translateY(-8px)}}
/* cta + footer */
.cta{padding:120px 0;border-top:1px solid var(--line)}.cta-g{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:end}.cta h2{font-size:clamp(2.4rem,5.4vw,5rem)}.cta p{margin-bottom:28px;color:var(--fg)}
.ft{border-top:1px solid var(--line);padding-top:80px;overflow:hidden}.ft-g{display:grid;grid-template-columns:1.5fr .8fr .9fr 1.3fr;gap:46px}.ft .logo{margin-bottom:28px}.ft .srch{max-width:340px}
.ft h5{font:400 .85rem var(--fb);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-bottom:18px}.ft li{margin-bottom:10px}.ft li a{color:var(--fg);transition:color .3s,padding .4s var(--e)}.ft li a:hover{color:var(--or);padding-left:6px}.ft-rc time{display:block;font-size:.8rem}
.ft-w{font:600 clamp(4rem,19vw,19rem)/.8 var(--fd);letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);white-space:nowrap;text-align:center;margin:70px 0 -10px}.ft-w span{display:inline-block}
.ft-b{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--line);font-size:.9rem}.ft-b a{color:var(--fg)}.ft-b a:hover{color:var(--or)}
.top{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:50%;background:var(--bg2);color:var(--fg);display:grid;place-items:center;z-index:60;opacity:0;transform:translateY(20px);pointer-events:none;transition:.5s var(--e)}.top.s{opacity:1;transform:none;pointer-events:auto}.top:hover{background:var(--or)}
.top svg{position:absolute;inset:0;transform:rotate(-90deg)}.top circle{fill:none;stroke:var(--line);stroke-width:2}.top #topc{stroke:var(--or);stroke-dasharray:138.2;stroke-dashoffset:138.2}
/* banner */
.ban{padding:50px 0 70px;border-bottom:1px solid var(--line)}.crumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.9rem;margin-bottom:60px}.crumb a{color:var(--fg)}.crumb a:hover{color:var(--or)}.crumb i{font-style:normal;color:var(--dim)}.crumb span{color:var(--mut)}
.ban-g{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.ban h1{font-size:clamp(3rem,8vw,8rem);line-height:.92;letter-spacing:-.06em;max-width:1050px}.ban-l{max-width:380px;color:var(--fg)}
.ban-n{text-align:right}.ban-n b{display:block;font:500 clamp(4rem,9vw,9rem)/.85 var(--fd);letter-spacing:-.07em;color:var(--or)}.ban-n p{max-width:260px;margin:12px 0 0 auto;font-size:.95rem;color:var(--fg)}
.chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:30px 0 0}.chips span{color:var(--fg);margin-right:8px}.chips a{padding:7px 16px;border-radius:99px;border:1px solid var(--line);color:var(--fg);font-size:.92rem;transition:.4s var(--e)}.chips em{font-style:normal;color:var(--mut);font-size:.8rem;margin-left:4px}.chips a:hover{background:var(--or);border-color:var(--or);transform:translateY(-3px)}.chips a:hover em{color:#fff}
.lead{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-bottom:60px;margin-bottom:60px;border-bottom:1px solid var(--line)}.lead .cov{aspect-ratio:4/3.2}.lead h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0 18px}.lead h2 a:hover{color:var(--or)}.lead p:not(.pc-m){margin-bottom:28px}
.new{display:inline-block;padding:3px 12px;border-radius:99px;background:var(--or);color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin-right:10px}
/* post */
.ban-p h1{font-size:clamp(2.4rem,5.6vw,5.6rem);max-width:1200px}
.pm{display:grid;grid-template-columns:repeat(4,max-content);gap:20px 60px;margin-top:56px;color:var(--fg)}.pm small{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin-bottom:4px}.pm a:hover{color:var(--or)}.pm-a{display:flex;gap:14px;align-items:center}.pm-a>span:first-child{width:46px;height:46px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center;font:600 .9rem var(--fd)}
.post-img{position:relative;height:min(80vh,760px);overflow:hidden;margin:0}.post-img>div{position:absolute;inset:-10% 0}.post-img img{width:100%;height:100%;object-fit:cover}.js .post-img{clip-path:inset(0 0 100% 0);animation:down 1.4s var(--e) .3s forwards}@keyframes down{to{clip-path:inset(0)}}
.prose{font-size:1.12rem;line-height:1.85;color:#c6c6c6}.prose>p:first-of-type{font:400 1.55rem/1.45 var(--fd);letter-spacing:-.02em;color:var(--fg)}
.prose p{margin-bottom:26px}.prose h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:60px 0 20px;scroll-margin-top:110px}.prose h3{font-size:1.5rem;margin:40px 0 14px}.prose h4{font-size:1.2rem;margin:28px 0 10px}
.prose a{color:var(--fg);background:linear-gradient(var(--or),var(--or)) 0 100%/100% 1px no-repeat;transition:background-size .4s var(--e),color .3s}.prose a:hover{background-size:100% 100%}
.prose ul{margin:0 0 28px;display:grid;gap:12px}.prose ul li{position:relative;padding-left:34px}.prose ul li:before{content:"";position:absolute;left:0;top:.8em;width:18px;height:1.5px;background:var(--or)}
.prose ol{margin:0 0 28px;counter-reset:o;display:grid;gap:14px}.prose ol li{counter-increment:o;position:relative;padding-left:48px}.prose ol li:before{content:counter(o,decimal-leading-zero);position:absolute;left:0;top:0;font:500 1rem var(--fd);color:var(--or)}
.prose blockquote{position:relative;margin:50px 0;padding:10px 0 10px 80px;color:var(--fg);font:500 clamp(1.4rem,2.4vw,2rem)/1.3 var(--fd);letter-spacing:-.03em}.prose blockquote:before{content:"";position:absolute;left:0;top:14px;width:52px;height:40px;background:var(--or);border-radius:0 0 26px 26px}.prose blockquote p:last-child{margin:0}.prose blockquote cite{display:block;margin-top:14px;font:400 .95rem var(--fb);color:var(--mut)}
.prose img{border-radius:12px}.prose figure{margin:0 0 28px}.prose figcaption{font-size:.86rem;margin-top:10px}.prose table{width:100%;border-collapse:collapse;margin-bottom:28px}.prose td,.prose th{padding:12px;border:1px solid var(--line);text-align:left}
.aligncenter{margin-inline:auto}.alignleft{float:left;margin:0 26px 16px 0}.alignright{float:right;margin:0 0 16px 26px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.art-x{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;padding:28px 0;margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.art-x b{font-weight:400;color:var(--fg);margin-right:8px}.art-x .tags a{background:none}
.shr{display:flex;gap:8px;align-items:center}.shr a,.shr button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);color:var(--fg);display:grid;place-items:center;font-size:.82rem;transition:.5s var(--e)}.shr a:hover,.shr button:hover,.shr .ok{background:var(--or);border-color:var(--or);transform:rotate(-12deg)}
.auth{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:40px;padding:34px;border-radius:16px;background:var(--bg2)}.auth>div{flex:1;min-width:180px}.auth-a{width:76px;height:76px;border-radius:50%;background:var(--or);color:#fff;display:grid;place-items:center;font:600 1.4rem var(--fd)}.auth small{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.auth h4{font-size:1.5rem;margin-top:4px}.auth p{font-size:.95rem;margin-top:6px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:40px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.pn a{display:flex;align-items:center;gap:16px;padding:28px;background:var(--bg);transition:background .5s}.pn .nx{justify-content:flex-end;text-align:right}
.pn i{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);color:var(--fg);display:grid;place-items:center;flex:none;transition:.5s var(--e)}.pn small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;margin-bottom:6px}.pn b{font:500 1.15rem/1.25 var(--fd);color:var(--fg);letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pn a:hover{background:var(--bg2)}.pn a:hover i{background:var(--or);border-color:var(--or)}.pn a:first-child:hover i{transform:translateX(-6px)}.pn .nx:hover i{transform:translateX(6px)}
/* layout + sidebar */
.lay{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:70px;align-items:start}
.side{display:grid;gap:22px;position:sticky;bottom:24px;align-self:end}
.w{position:relative;padding:30px;border-radius:18px;background:var(--bg2);border:1px solid var(--line);transition:opacity 1s var(--e),transform 1.1s var(--e),filter 1s var(--e),border-color .4s}.w:hover{border-color:rgba(255,106,61,.45)}
.js .w{opacity:0;transform:translateY(60px) scale(.96);filter:blur(8px)}.js .w.in{opacity:1;transform:none;filter:none}
.w h4{display:flex;align-items:center;gap:12px;font-size:1.4rem;margin-bottom:24px}.w h4 span{font:500 .78rem var(--fb);letter-spacing:.06em;color:var(--or);padding:3px 9px;border:1px solid rgba(255,106,61,.4);border-radius:99px}
.w h4:after{content:"";flex:1;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--e) .4s}.w.in h4:after{transform:none}
.srch{display:flex;align-items:center;border-bottom:1.5px solid var(--line);position:relative}.srch:after{content:"";position:absolute;left:0;bottom:-1.5px;height:1.5px;width:100%;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--e)}.srch:focus-within:after{transform:none}
.srch input{flex:1;min-width:0;border:0;background:none;outline:0;padding:12px 2px;color:var(--fg);font-size:1.05rem}.srch input::placeholder{color:var(--mut)}.srch button{width:42px;height:42px;border-radius:50%;color:var(--fg);display:grid;place-items:center;transition:.4s var(--e)}.srch button:hover{background:var(--or);transform:rotate(90deg)}
.side li{transition:opacity .8s var(--e),transform .9s var(--e)}.js .w li{opacity:0;transform:translateX(-30px)}.js .w.in li{opacity:1;transform:none;transition-delay:calc(var(--i,0)*70ms + .35s)}
.sbar{display:grid;gap:4px}.sbar a{position:relative;display:flex;justify-content:space-between;gap:12px;padding:11px 0 14px;color:var(--fg);transition:padding .5s var(--e),color .3s}.sbar em{font-style:normal;font-size:.85rem;color:var(--mut);transition:color .3s}
.sbar u{position:absolute;left:0;bottom:4px;height:2px;width:100%;background:var(--bg3);border-radius:2px;overflow:hidden}.sbar u:after{content:"";position:absolute;inset:0;width:var(--w);background:var(--or);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--e)}.w.in .sbar u:after{transform:none;transition-delay:calc(var(--i,0)*90ms + .6s)}
.sbar a:hover,.sbar a.on{padding-left:14px;color:var(--or)}.sbar a:hover em,.sbar a.on em{color:var(--fg)}
.w-more{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--fg);font-size:.95rem}.w-more .ic{transition:transform .5s var(--e)}.w-more:hover{color:var(--or)}.w-more:hover .ic{transform:rotate(45deg)}
.slat{display:grid;gap:18px}.slat li{display:flex;gap:16px;align-items:center}.slat-i{position:relative;flex:none}.slat-i b{position:absolute;right:-8px;bottom:-8px;width:30px;height:30px;border-radius:50%;background:var(--or);color:#fff;font:500 .72rem/30px var(--fd);text-align:center;transition:transform .5s var(--e)}.slat li:hover .slat-i b{transform:scale(1.2) rotate(-12deg)}
.slat time{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.slat div a{display:block;color:var(--fg);font:500 1rem/1.3 var(--fd);letter-spacing:-.015em;transition:color .3s}.slat div a:hover{color:var(--or)}
.snav a{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--fg);overflow:hidden}.snav li:last-child a{border:0}.snav span{display:inline-block;position:relative;transition:transform .5s var(--e)}.snav span:after{content:attr(data-t);position:absolute;left:0;top:120%;color:var(--or)}.snav a:hover span{transform:translateY(-120%)}.snav .ic{transition:transform .5s var(--e),color .3s}.snav a:hover .ic{transform:rotate(45deg);color:var(--or)}
.sarc{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sarc a{display:flex;justify-content:space-between;gap:6px;padding:10px 12px;border-radius:10px;background:var(--bg3);color:var(--fg);font-size:.88rem;transition:.4s var(--e)}.sarc em{font-style:normal;color:var(--or)}.sarc a:hover{background:var(--or);transform:translateY(-3px)}.sarc a:hover em{color:#fff}
.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tags a{padding:6px 14px;border-radius:99px;border:1px solid var(--line);color:var(--fg);font-size:.86rem;transition:.4s var(--e)}.tags a:hover{background:var(--or);border-color:var(--or);transform:translateY(-3px) rotate(-3deg)}
.toc{counter-reset:t;border-left:1px solid var(--line)}.toc li{counter-increment:t}.toc a{position:relative;display:flex;gap:12px;padding:9px 0 9px 18px;font-size:.96rem;line-height:1.4;transition:color .3s,padding .4s var(--e)}.toc a:before{content:counter(t,decimal-leading-zero);color:var(--dim);font-size:.82rem}.toc a:after{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--or);transform:scaleY(0);transition:transform .4s var(--e)}.toc a:hover,.toc a.on{color:var(--fg);padding-left:24px}.toc a.on:after{transform:none}.toc a.on:before{color:var(--or)}
.w-cta{padding:1.5px;border:0;overflow:hidden;background:var(--line)}.w-cta:before{content:"";position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent 0 62%,var(--or) 80%,transparent 92%);animation:spin 5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.w-cta-in{position:relative;padding:32px 30px;border-radius:17px;background:var(--bg2)}.w-cta .tabs3{font-size:44px;margin-bottom:20px}.w-cta h4{font-size:1.8rem;margin-bottom:12px}.w-cta h4:after{display:none}.w-cta p{margin-bottom:24px}
/* tools */
.tool{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:30px}.tool .srch{flex:1;min-width:230px;max-width:460px}
.seg{display:flex;padding:4px;border-radius:99px;border:1px solid var(--line)}.seg button{padding:9px 20px;border-radius:99px;font-size:.92rem;color:var(--fg);transition:.4s var(--e)}.seg .on{background:var(--fg);color:var(--bg)}
.pag{display:flex;gap:8px;flex-wrap:wrap;margin-top:60px}.pag .page-numbers{min-width:50px;height:50px;padding:0 10px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--fg);transition:.4s var(--e)}.pag a.page-numbers:hover{background:var(--fg);color:var(--bg)}.pag .current{background:var(--or);border-color:var(--or)}.pag .dots{border:0}
.empty{padding:40px 0}
/* categories page */
.smh{font-size:clamp(1.8rem,3.2vw,2.8rem);margin-bottom:30px}
.hlist li{border-top:1px solid var(--line)}.hlist li:last-child{border-bottom:1px solid var(--line)}.hlist a{position:relative;display:grid;grid-template-columns:56px 1fr auto 50px;gap:20px;align-items:center;padding:24px 6px;transition:padding .6s var(--e)}
.hlist a:before{content:"";position:absolute;inset:0;background:var(--or);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--e);z-index:-1;border-radius:4px}.hlist li{position:relative;z-index:0}
.hlist b{font-weight:400;font-size:.9rem;color:var(--mut);transition:color .4s}.hlist strong{font:500 clamp(1.6rem,3vw,2.6rem)/1 var(--fd);letter-spacing:-.045em;color:var(--fg)}.hlist em{font-style:normal;font-size:.95rem;transition:color .4s}
.hlist i{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--fg);transition:.6s var(--e)}
.hlist a:hover{padding-left:26px;padding-right:20px}.hlist a:hover:before{transform:none}.hlist a:hover b,.hlist a:hover em{color:#fff}.hlist a:hover i{background:#fff;color:var(--or);border-color:#fff;transform:rotate(45deg)}
.hprev{position:fixed;left:0;top:0;width:300px;height:210px;border-radius:14px;overflow:hidden;pointer-events:none;z-index:90;opacity:0;transform:translate(-50%,-50%) scale(.6) rotate(-6deg);transition:opacity .4s,transform .6s var(--e)}.hprev.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg)}.hprev img{width:100%;height:100%;object-fit:cover}
@media(pointer:coarse){.hprev{display:none}}
.cts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ct{position:relative;display:grid;grid-template-columns:40px 1fr;gap:4px 14px;align-items:center;padding:18px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);overflow:hidden;transition:transform .5s var(--e),border-color .4s}
.ct b{grid-row:span 2;width:40px;height:40px;border-radius:10px;background:var(--bg3);color:var(--fg);display:grid;place-items:center;font:600 1.1rem var(--fd);transition:.6s var(--e)}.ct strong{color:var(--fg);font-weight:500;line-height:1.25}.ct em{font-style:normal;font-size:.82rem}
.ct u{position:absolute;left:0;bottom:0;height:3px;width:var(--w);background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--e) .2s}.ct.in u{transform:none}
.ct:hover{transform:translateY(-6px);border-color:rgba(255,106,61,.5)}.ct:hover b{background:var(--or);border-radius:50%;transform:rotate(-12deg)}.ct.hid{display:none}
/* sitemap */
.sm-sec+.sm-sec{margin-top:100px}.sm-k{display:flex;align-items:baseline;gap:16px;font-size:clamp(1.8rem,3.2vw,2.8rem);padding-bottom:22px;margin-bottom:10px;border-bottom:1px solid var(--line)}.sm-k span{font:400 .9rem var(--fb);color:var(--or)}.sm-k small{margin-left:auto;font:400 .9rem var(--fb);color:var(--mut);letter-spacing:0}
.bigl li{border-bottom:1px solid var(--line)}.bigl a{display:flex;align-items:center;padding:16px 0;overflow:hidden;font:500 clamp(1.8rem,3.6vw,3.2rem)/1.1 var(--fd);letter-spacing:-.045em;color:var(--fg)}.bigl span{position:relative;display:inline-block;transition:transform .6s var(--e)}.bigl span:after{content:attr(data-t);position:absolute;left:0;top:115%;color:var(--or)}.bigl a:hover span{transform:translateY(-115%)}
.az{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0 10px}.az a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--fg);font-size:.9rem;transition:.4s var(--e)}.az a:hover{background:var(--or);border-color:var(--or);transform:translateY(-4px)}
.lr{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.lr b{font:500 4rem/.9 var(--fd);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--dim);transition:color .5s,-webkit-text-stroke-color .5s}.lr:hover b,.lr:target b{color:var(--or);-webkit-text-stroke-color:var(--or)}
.lr p{line-height:2.1;font-size:1.05rem}.lr p a{color:var(--fg);transition:color .3s}.lr p a:hover{color:var(--or)}.lr sup{font-size:.68rem;color:var(--mut);margin-left:3px}.lr p i{font-style:normal;color:var(--dim);margin:0 12px}
.rtab{width:100%;border-collapse:collapse}.rtab td{padding:16px 10px;border-bottom:1px solid var(--line);vertical-align:top;transition:background .4s}.rtab td:first-child{width:130px;font-size:.88rem;white-space:nowrap}.rtab td:last-child{text-align:right;font-size:.88rem;white-space:nowrap}.rtab a{color:var(--fg);font:500 1.1rem/1.3 var(--fd);letter-spacing:-.015em}.rtab tr:hover td{background:var(--bg2)}.rtab tr:hover a{color:var(--or)}
.admin-bar .hd{top:32px}
@media(max-width:1200px){.hd{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}.hd-tag{display:none}.burger{display:grid}.menu{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(420px,90vw);margin:0;padding:120px 34px 34px;background:var(--bg2);overflow:auto;transform:translateX(100%);transition:transform .7s var(--e)}.mo-open .menu{transform:none}.mo-open .burger{position:relative;z-index:95}.hd-r{margin-left:auto}
.menu>ul{flex-direction:column}.menu>ul>li{border-bottom:1px solid var(--line);opacity:0;transform:translateX(40px);transition:.6s var(--e)}.mo-open .menu>ul>li{opacity:1;transform:none;transition-delay:calc(var(--i,0)*60ms + .25s)}.menu a{padding:16px 0;font:500 1.6rem var(--fd);letter-spacing:-.03em;justify-content:space-between}
.sub-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;background:none;padding:0 0 12px;min-width:0;display:none}.menu li.open>.sub-menu{display:block}.sub-menu a{font:400 1rem var(--fb)}
.lay,.cta-g,.appr-g,.lead{grid-template-columns:1fr}.appr-l{position:static}.side{position:static;grid-template-columns:repeat(2,1fr);align-self:auto}.g4{grid-template-columns:repeat(2,1fr)}.ft-g{grid-template-columns:1fr 1fr}.svc-g{grid-template-columns:1fr 1fr}.sv{padding:34px 22px}.sv:nth-child(2){border-right:0}.sv:nth-child(-n+2){border-bottom:1px solid var(--line)}.sv:nth-child(3){padding-left:0}.hero-g{grid-template-columns:1fr 1fr}.hero-cats{grid-column:span 2}.pm{grid-template-columns:repeat(2,max-content)}}
@media(max-width:720px){body{font-size:17px}.sec{padding:80px 0}.sec.in{padding:50px 0 80px}.hd-in{height:76px}.logo{font-size:1.4rem}.logo svg{width:36px}.g2,.g3,.side,.ft-g,.pn,.svc-g,.cts,.hero-g{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}.hero-cats{grid-column:auto}.proj .pc:nth-child(even){margin-top:0}.sv{border-right:0;border-bottom:1px solid var(--line);padding:30px 0}.hero{padding:40px 0 60px}.hero-g{margin-top:50px;gap:28px}.hero-img{height:62vh}.hero-cap{font-size:1.05rem;right:20px}.nl li{grid-template-columns:36px 1fr;margin-left:0}.nl p{grid-column:2}.ban-g{grid-template-columns:1fr}.ban-n{text-align:left}.ban-n p{margin-left:0}.crumb{margin-bottom:36px}.pm{grid-template-columns:1fr 1fr;gap:18px 26px}.post-img{height:50vh}.lr{grid-template-columns:60px 1fr;gap:14px}.lr b{font-size:2.6rem}.rtab td:last-child{display:none}.rtab td:first-child{width:90px}.hlist a{grid-template-columns:34px 1fr 42px;gap:12px}.hlist em{display:none}.hlist i{width:42px;height:42px}.w{padding:24px}.prose blockquote{padding-left:60px}.prose blockquote:before{width:40px;height:30px}.cnt-g div{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .rv,.js .w,.js .w li,.js .sp .wd>span{opacity:1!important;transform:none!important;filter:none!important}.js .rvi,.hero-img,.js .post-img{clip-path:none!important}.hero-h .ln>span{transform:none}.cur{display:none}}
