:root{--deep:#020203;--bg:#050506;--surface:rgba(255,255,255,.045);--fg:#ededef;--muted:#8a8f98;--accent:#3b5bff;--accent-bright:#5670ff;--accent-soft:#8fa0ff;--border:rgba(255,255,255,.07);--border-hover:rgba(255,255,255,.13);--font:"Inter",system-ui,sans-serif;--mono:"JetBrains Mono",monospace;--page:min(100% - 48px,1160px);--ease:cubic-bezier(.16,1,.3,1);--rotate-ease:cubic-bezier(.22,.68,0,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% 0,#10101c 0,var(--bg) 34%,var(--deep) 100%);color:var(--fg);font:16px/1.7 var(--font);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:30;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.blob{position:absolute;border-radius:50%;filter:blur(140px);animation:float 9s ease-in-out infinite}.blob-a{width:900px;height:650px;left:calc(50% - 450px);top:-330px;background:rgba(94,106,210,.23)}.blob-b{width:650px;height:650px;left:-400px;top:35%;background:rgba(116,72,180,.12);animation-delay:-3s}.blob-c{width:600px;height:600px;right:-380px;top:55%;background:rgba(72,104,190,.1);animation-delay:-6s}@keyframes float{50%{transform:translateY(-20px) rotate(1deg)}}@keyframes shimmer{to{background-position:200% center}}a{color:inherit}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--accent);color:#fff;padding:12px 18px;border-radius:8px;font:12px var(--mono)}.skip-link:focus{top:16px}.site-header{height:72px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1160px)/2));background:rgba(5,5,6,.72);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand{font-weight:700;text-decoration:none;font-size:18px;background:var(--accent);color:#fff;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.15),0 6px 24px rgba(94,106,210,.3),inset 0 1px rgba(255,255,255,.25)}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:var(--muted);text-decoration:none;font-size:13px;transition:.2s var(--ease)}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--fg)}.menu-toggle{display:none;background:var(--surface);color:var(--fg);border:1px solid var(--border);border-radius:8px;padding:9px 13px}.hero,.statement,.expertise,.method,.about{width:var(--page);margin:auto}.hero{min-height:calc(100vh - 72px);padding:112px 0 96px;text-align:center;position:relative;transform-origin:top center}.eyebrow,.section-index,.project-tag{font:500 10px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid rgba(94,106,210,.3);background:rgba(94,106,210,.08);border-radius:999px;color:#b8bdf2}.eyebrow i{width:6px;height:6px;background:var(--accent-bright);border-radius:50%;box-shadow:0 0 12px var(--accent)}.hero h1{font-size:clamp(48px,7vw,90px);line-height:1.02;letter-spacing:-.055em;margin:38px auto 28px;max-width:1020px;background:linear-gradient(to bottom,#fff 20%,rgba(237,237,239,.7));background-clip:text;color:transparent}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#7f89ed,var(--accent-bright),#9aa1ff);background-size:200%;background-clip:text;color:transparent;animation:shimmer 5s linear infinite}.hero-bottom{display:flex;flex-direction:column;align-items:center;gap:28px}.lead{font-size:clamp(17px,2vw,20px);line-height:1.7;color:var(--muted);max-width:740px;margin:0}.button{min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:12px 20px;text-decoration:none;font-weight:600;font-size:13px;border-radius:9px;transition:.25s var(--ease)}.button-primary{background:var(--accent);color:#fff;box-shadow:0 0 0 1px rgba(94,106,210,.5),0 8px 28px rgba(94,106,210,.28),inset 0 1px rgba(255,255,255,.2)}.button-primary:hover{background:var(--accent-bright);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(120,130,230,.65),0 12px 40px rgba(94,106,210,.36),inset 0 1px rgba(255,255,255,.25)}.button:active{transform:scale(.98)}.button:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}.hero-console{margin:74px auto 0;max-width:980px;padding:1px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.03));box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(94,106,210,.12)}.hero-console:before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(160,168,255,.8),transparent)}.console-top{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:rgba(10,10,12,.9);border-radius:17px 17px 0 0;color:var(--muted);font:9px var(--mono);letter-spacing:.12em}.console-top span:last-child{color:#828cec}.console-grid{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(7,7,9,.82);border-radius:0 0 17px 17px}.signal{text-align:left;padding:28px 22px;border-right:1px solid var(--border)}.signal:last-child{border:0}.signal span,.signal small{display:block;color:var(--muted);font:9px var(--mono)}.signal strong{display:block;font-size:16px;margin:35px 0 4px}.signal.active{background:radial-gradient(circle at 50% 100%,rgba(94,106,210,.22),transparent 70%)}.statement,.expertise,.method,.about{padding:120px 0;border-top:1px solid var(--border)}.statement blockquote{font-size:clamp(34px,5vw,66px);font-weight:600;line-height:1.12;letter-spacing:-.045em;margin:54px 0 0;max-width:1050px;background:linear-gradient(#fff,rgba(237,237,239,.62));background-clip:text;color:transparent}.statement blockquote em{font-style:normal;color:#8b94f0}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start}.section-heading h2,.about h2{font-size:clamp(40px,5.5vw,70px);line-height:1.05;letter-spacing:-.045em;margin:0;background:linear-gradient(#fff,rgba(237,237,239,.65));background-clip:text;color:transparent}.bento-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:190px;gap:16px;margin-top:72px}.expertise-grid article{position:relative;overflow:hidden;padding:28px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.018));box-shadow:0 0 0 1px rgba(255,255,255,.015),0 18px 50px rgba(0,0,0,.25);transition:.3s var(--ease)}.expertise-grid article:nth-child(1){grid-column:span 4;grid-row:span 2}.expertise-grid article:nth-child(2),.expertise-grid article:nth-child(3){grid-column:span 2}.expertise-grid article:nth-child(4){grid-column:span 6}.expertise-grid article:hover{transform:translateY(-4px);border-color:var(--border-hover);background:linear-gradient(145deg,rgba(94,106,210,.13),rgba(255,255,255,.025));box-shadow:0 0 0 1px rgba(94,106,210,.12),0 28px 70px rgba(0,0,0,.4),0 0 70px rgba(94,106,210,.08)}.expertise-grid span{font:10px var(--mono);color:#7f89ed}.expertise-grid h3{font-size:22px;letter-spacing:-.03em;margin:50px 0 10px}.expertise-grid article:first-child h3{font-size:34px;margin-top:150px}.expertise-grid p{color:var(--muted);margin:0;max-width:530px;font-size:14px}.projects{padding:120px max(24px,calc((100% - 1160px)/2));border-top:1px solid var(--border);background:rgba(2,2,3,.55)}.inverse-heading p:last-child{color:var(--muted);max-width:460px;margin:16px 0 0}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:72px}.project-list article{position:relative;display:grid;grid-template-columns:38px 1fr auto;gap:18px;padding:30px;min-height:270px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));transition:.3s var(--ease)}.project-list article:first-child{grid-column:span 2;min-height:330px;background:radial-gradient(circle at 80% 100%,rgba(94,106,210,.18),transparent 45%),linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015))}.project-list article:hover{transform:translateY(-4px);border-color:rgba(94,106,210,.3);box-shadow:0 25px 70px rgba(0,0,0,.4),0 0 60px rgba(94,106,210,.08)}.project-no,.project-tag{font:9px var(--mono);color:var(--muted)}.project-list h3{font-size:clamp(26px,3vw,42px);line-height:1.08;letter-spacing:-.04em;margin:14px 0}.project-list p{color:var(--muted);font-size:14px;margin:0;max-width:630px}.arrow{font-size:20px;color:#8992ed}.method-list{list-style:none;margin:72px 0 0;padding:0;border-top:1px solid var(--border)}.method-list li{display:grid;grid-template-columns:1fr 2fr;gap:64px;padding:34px 0;border-bottom:1px solid var(--border)}.method-list li>span{font:10px var(--mono);color:#7f89ed}.method-list h3{font-size:28px;letter-spacing:-.035em;margin:0 0 6px}.method-list p{color:var(--muted);margin:0;max-width:600px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:66px}.about h2 em{font-style:normal;color:#858fe9}.about-grid p{color:var(--muted);font-size:17px;margin:0 0 24px}.dropcap:first-letter{color:var(--fg);font-size:58px;font-weight:600;float:left;line-height:.8;margin:8px 10px 0 0}.contact{padding:130px max(24px,calc((100% - 1160px)/2));text-align:center;border-top:1px solid var(--border);background:radial-gradient(circle at 50% 65%,rgba(94,106,210,.18),transparent 38%)}.contact h2{font-size:clamp(48px,7vw,92px);line-height:1;letter-spacing:-.055em;margin:58px 0 36px}.contact h2 em{font-style:normal;color:#8690ef}.contact-bottom{display:flex;align-items:center;flex-direction:column;gap:28px}.contact-bottom p{color:var(--muted);font-size:18px;max-width:650px;margin:0}.button-light{background:rgba(255,255,255,.08);border:1px solid var(--border-hover);box-shadow:inset 0 1px rgba(255,255,255,.1),0 8px 30px rgba(0,0,0,.35)}.button-light:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}footer{padding:30px max(24px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;gap:24px;color:var(--muted);font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid var(--border)}footer p{margin:0}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){:root{--page:calc(100% - 32px)}.site-header{padding:0 16px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;padding:16px;background:rgba(5,5,6,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px}.site-header nav.open{display:flex}.site-header nav a{padding:12px;min-height:44px}.hero{padding:80px 0 64px}.hero h1{font-size:clamp(44px,13vw,66px)}.console-grid{grid-template-columns:1fr 1fr}.signal:nth-child(2){border-right:0}.signal:nth-child(-n+2){border-bottom:1px solid var(--border)}.statement,.expertise,.method,.about,.projects,.contact{padding-top:80px;padding-bottom:80px}.section-heading,.about-grid{grid-template-columns:1fr;gap:30px}.bento-grid,.project-list{grid-template-columns:1fr;grid-auto-rows:auto}.expertise-grid article,.expertise-grid article:nth-child(n),.project-list article,.project-list article:first-child{grid-column:auto;grid-row:auto;min-height:230px}.expertise-grid article:first-child h3{font-size:26px;margin-top:75px}.project-list article{grid-template-columns:28px 1fr}.project-list .arrow{display:none}.method-list li{grid-template-columns:32px 1fr;gap:16px}.contact-bottom{align-items:stretch}.button{width:100%}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.blob,.hero h1 em{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:0s!important}}

/* Cobalt accent system */
.blob-a{background:rgba(59,91,255,.22)}.blob-b{background:rgba(46,76,224,.12)}.blob-c{background:rgba(14,116,255,.1)}
.brand{box-shadow:0 0 0 1px rgba(255,255,255,.15),0 6px 24px rgba(59,91,255,.3),inset 0 1px rgba(255,255,255,.25)}
.eyebrow{border-color:rgba(59,91,255,.32);background:rgba(59,91,255,.09);color:#afbbff}.hero-headline .hero-line2-frame em{background:linear-gradient(90deg,#6f84ff,var(--accent),#8fa0ff);background-size:200%;background-clip:text;color:transparent}
.button-primary{box-shadow:0 0 0 1px rgba(59,91,255,.55),0 8px 28px rgba(59,91,255,.3),inset 0 1px rgba(255,255,255,.2)}.button-primary:hover{box-shadow:0 0 0 1px rgba(86,112,255,.7),0 12px 40px rgba(59,91,255,.38),inset 0 1px rgba(255,255,255,.25)}
.hero-console{box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 90px rgba(59,91,255,.12)}.hero-console:before{background:linear-gradient(90deg,transparent,rgba(111,132,255,.8),transparent)}.console-top span:last-child{color:#6f84ff}.signal.active{background:radial-gradient(circle at 50% 100%,rgba(59,91,255,.22),transparent 70%)}
.statement blockquote em,.about h2 em,.contact h2 em{color:#6f84ff}.expertise-grid span,.method-list li>span,.arrow{color:#6f84ff}
.expertise-grid article:hover{background:linear-gradient(145deg,rgba(59,91,255,.13),rgba(255,255,255,.025));box-shadow:0 0 0 1px rgba(59,91,255,.14),0 28px 70px rgba(0,0,0,.4),0 0 70px rgba(59,91,255,.09)}
.project-list article:first-child{background:radial-gradient(circle at 80% 100%,rgba(59,91,255,.18),transparent 45%),linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015))}.project-list article:hover{border-color:rgba(59,91,255,.32);box-shadow:0 25px 70px rgba(0,0,0,.4),0 0 60px rgba(59,91,255,.09)}.contact{background:radial-gradient(circle at 50% 65%,rgba(59,91,255,.18),transparent 38%)}

/* Reusable rotating hero */
.hero-line2-frame{display:block;min-height:1.08em;margin-top:2px}.hero-line2-frame em,.hero-subtitle{display:inline-block;will-change:transform,filter,opacity;transition:opacity .55s var(--rotate-ease),transform .55s var(--rotate-ease),filter .55s var(--rotate-ease)}
.hero-subtitle{transition-delay:.05s}.hero-line2-frame em.is-out,.hero-subtitle.is-out{opacity:0;transform:translateY(-16px);filter:blur(6px)}.hero-line2-frame em.is-entering,.hero-subtitle.is-entering{opacity:0;transform:translateY(16px);filter:blur(6px)}
.hero-progress{width:64px;height:2px;margin:0 auto 26px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}.hero-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--accent),#79a2ff)}.hero-progress span.is-running{animation:heroProgress 3.6s linear forwards}@keyframes heroProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-subtitle-frame{min-height:7rem;display:flex;align-items:flex-start;justify-content:center}.hero-bottom{gap:18px}

/* Content-safe centered cards */
.bento-grid{grid-auto-rows:minmax(260px,auto)}.expertise-grid article{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;overflow:visible}.expertise-grid article:nth-child(1){grid-column:span 4;grid-row:span 1}.expertise-grid article:nth-child(2),.expertise-grid article:nth-child(3){grid-column:span 2}.expertise-grid article:nth-child(4){grid-column:span 4}.expertise-grid h3,.expertise-grid article:first-child h3{margin:18px 0 12px;font-size:clamp(22px,2.4vw,34px)}.expertise-grid p{max-width:560px;margin-inline:auto;overflow-wrap:anywhere}
.project-list article,.project-list article:first-child{display:flex;align-items:center;justify-content:center;text-align:center;min-height:310px;padding:52px 42px 40px}.project-list article:first-child{min-height:350px}.project-list article>div{max-width:720px;margin:auto}.project-list p{margin-inline:auto}.project-no{position:absolute;top:26px;left:28px}.project-list .arrow{position:absolute;top:22px;right:28px}

@media(max-width:960px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.expertise-grid article:nth-child(n){grid-column:auto;grid-row:auto;min-height:270px}.expertise-grid article:first-child h3{margin-top:18px}.project-list article,.project-list article:first-child{min-height:300px}}
@media(max-width:760px){.hero-line2-frame{min-height:2.12em}.hero-subtitle-frame{min-height:11rem}.bento-grid{grid-template-columns:1fr}.expertise-grid article:nth-child(n){min-height:250px;padding:32px 24px}.project-list article,.project-list article:first-child{min-height:310px;padding:58px 24px 34px}.project-no{left:22px}.project-list .arrow{right:22px}}
@media(prefers-reduced-motion:reduce){.hero-progress span{transform:scaleX(1);animation:none!important}.hero-line2-frame em,.hero-subtitle{transition:none;filter:none;transform:none}}

/* Compact reading rails retain the existing palette and card surfaces. */
.carousel-section{scroll-margin-top:90px}
.carousel-section .content-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;margin-top:44px;padding:6px 0 20px;border-top:0;grid-template-columns:none;grid-auto-rows:auto}
.carousel-section .content-track>article:nth-child(n){flex:0 0 calc((100% - 16px)/2);grid-column:auto;grid-row:auto;min-width:0;min-height:320px;padding:48px 32px 36px;scroll-snap-align:start;scroll-snap-stop:always;box-shadow:none;transform:none}
.carousel-section .content-track h3,.carousel-section .content-track article:first-child h3{font-size:clamp(24px,2.3vw,32px);line-height:1.15;margin:18px 0 14px;overflow-wrap:anywhere}
.carousel-section .content-track p{font-size:16px;line-height:1.7}
.carousel-section .step-track>li{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;grid-template-columns:80px 1fr;gap:24px;padding:38px 0;align-items:start;min-height:240px}
.carousel-section .step-track>li>span{color:var(--accent-soft);font:24px var(--mono)}
.carousel-section .step-track h3{margin-top:0}
.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px}
.carousel-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 15px;border-radius:9px;border:1px solid var(--border);background:rgba(255,255,255,.045);color:var(--fg);font:16px var(--font);cursor:pointer;transition:background .2s,border-color .2s}
.carousel-controls button:hover:not(:disabled){background:rgba(59,91,255,.15);border-color:var(--accent)}
.carousel-controls button:disabled{opacity:.3;cursor:default}
.carousel-counter{color:var(--muted);font:13px var(--mono);min-width:72px;text-align:center}
.carousel-controls .carousel-play{font-size:13px;margin-left:8px}
@media(max-width:760px){
  .carousel-section .content-track>article:nth-child(n){flex-basis:100%;min-height:320px;padding:52px 24px 32px}
  .carousel-section .step-track>li{grid-template-columns:34px minmax(0,1fr);gap:16px;min-height:270px}
  .carousel-section .step-track>li>span{font-size:16px}
  .carousel-section .content-track{margin-top:30px}
  .carousel-controls{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.carousel-section .content-track{scroll-behavior:auto}.carousel-controls button{transition:none}}

/* A shared reading rhythm across the full page. */
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:40;pointer-events:none;background:linear-gradient(90deg,var(--accent),var(--accent-soft));transform:scaleX(var(--reading-progress,0));transform-origin:left;box-shadow:0 0 16px rgba(59,91,255,.45)}
.scroll-scene{position:relative}
.scene-connector{position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-soft),transparent);transform:scaleX(var(--scene-progress,0));transform-origin:left;opacity:.6}
.hero .scene-connector{display:none}
.scroll-entrance{opacity:0;transform:translateY(30px);filter:blur(3px);transition:opacity .8s cubic-bezier(.22,.68,0,1),transform .8s cubic-bezier(.22,.68,0,1),filter .8s cubic-bezier(.22,.68,0,1);transition-delay:var(--entrance-delay,0ms)}
.scroll-entrance.scroll-arrived,.scroll-entrance:focus-within{opacity:1;transform:none;filter:none}
.scroll-scene .section-index{transition:color .5s ease}
.scroll-scene.scene-current .section-index{color:var(--accent-soft)}
@media(prefers-reduced-motion:no-preference){
  .hero{opacity:calc(1 - var(--hero-retreat,0)*.3);transform:translateY(calc(var(--hero-retreat,0)*28px))}
}
@media(max-width:760px){.scroll-entrance{transform:translateY(18px);filter:none}.scroll-entrance.scroll-arrived{transform:none}}
@media(prefers-reduced-motion:reduce){
  .scroll-entrance{opacity:1;transform:none;filter:none;transition:none}
  .hero{opacity:1;transform:none}
  .scene-connector{transform:none;opacity:.15}
  .reading-progress{display:none}
  .scroll-scene .section-index{transition:none}
}
@media print{.scroll-entrance{opacity:1;transform:none;filter:none}.reading-progress,.scene-connector{display:none}}

.motion-toggle{margin-left:18px;margin-right:auto;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);font:12px var(--font);cursor:pointer}
.motion-toggle[aria-pressed=true]{color:var(--accent-soft);border-color:var(--accent)}
.motion-toggle:disabled{cursor:default}
.site-header nav a{position:relative}
.site-header nav a[aria-current=location]{color:var(--fg)}
.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-header nav a[aria-current=location]:after{transform:scaleX(1)}
.carousel-controls{flex-wrap:wrap}
.carousel-markers{display:flex;flex-wrap:wrap;align-items:center;margin-right:auto;gap:0}
.carousel-markers button{position:relative;min-width:32px;width:32px;min-height:44px;padding:0;border:0;background:transparent}
.carousel-markers button:before{content:'';width:6px;height:6px;border-radius:9px;background:var(--muted);transition:width .25s,background .25s}
.carousel-markers button[aria-current=true]:before{width:22px;background:var(--accent-soft)}
.kinetic-title.scroll-entrance{opacity:1;transform:none;filter:none}
.kinetic-word{display:inline-block;opacity:0;transform:translateY(.35em);transition:opacity .6s var(--ease),transform .7s var(--ease);transition-delay:var(--word-delay,0ms)}
.kinetic-title.scroll-arrived .kinetic-word{opacity:1;transform:none}
.kinetic-title:not(.contact h2){background:none;color:var(--fg)}
.kinetic-title:not(.contact h2) .kinetic-word{background:linear-gradient(#fff,rgba(237,237,239,.65));background-clip:text;color:transparent}
.kinetic-title em .kinetic-word{background:none!important;color:var(--accent-soft)!important}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  html:not(.motion-reduced) .carousel-section .content-track>article:nth-child(n),html:not(.motion-reduced) .hero-console{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s ease,border-color .2s}
}
html.motion-reduced{scroll-behavior:auto}
.motion-reduced *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-reduced .scroll-entrance,.motion-reduced .kinetic-word,.motion-reduced .hero{opacity:1;transform:none;filter:none}
.motion-reduced .reading-progress{display:none}
.motion-reduced .scene-connector{transform:none;opacity:.15}
.motion-reduced .hero-line2-frame em,.motion-reduced .hero-subtitle{opacity:1;transform:none;filter:none}
.motion-reduced .hero-progress span{transform:scaleX(1)}
@media(max-width:760px){.carousel-markers{flex-basis:100%;justify-content:center;margin:0}.motion-toggle{margin-left:12px;font-size:11px;padding-inline:9px}.site-header nav a:after{bottom:4px}}
@media(prefers-reduced-motion:reduce){.kinetic-word{opacity:1;transform:none;transition:none}.site-header nav a:after{transition:none}}
@media print{.kinetic-word{opacity:1;transform:none}.motion-toggle{display:none}}

/* Varied editorial rhythm: open grids, expandable ideas, a single case gallery. */
main > section{scroll-margin-top:96px}
#atuacao .bento-grid,#ia .bento-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:auto;margin-top:44px;gap:16px}
#atuacao .expertise-grid article:nth-child(n),#ia .expertise-grid article:nth-child(n){grid-column:span 3;grid-row:auto;min-height:0;padding:30px 32px;align-items:flex-start;text-align:left;justify-content:flex-start}
#atuacao .expertise-grid article:first-child{grid-column:span 4;background:radial-gradient(ellipse at 90% 0,rgba(59,91,255,.14),transparent 70%),var(--surface)}
#atuacao .expertise-grid article:nth-child(2){grid-column:span 2}
#atuacao .expertise-grid article:nth-child(3){grid-column:span 2}
#atuacao .expertise-grid article:nth-child(4){grid-column:span 4}
#atuacao .expertise-grid h3,#ia .expertise-grid h3{font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:20px 0 12px}
#atuacao .expertise-grid p,#ia .expertise-grid p{margin:0;font-size:16px;line-height:1.65;max-width:60ch}
#atuacao .expertise-grid article>span,#ia .expertise-grid article>span{font-size:13px}
#ia .section-heading>p:last-child{grid-column:2;margin:0;max-width:62ch;color:var(--muted)}
.principle-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;align-items:start;margin-top:44px}
.principle-list details{border-bottom:1px solid var(--border);min-width:0}
.principle-list summary{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:16px;padding:23px 0;cursor:pointer;list-style:none;min-height:94px}
.principle-list summary::-webkit-details-marker{display:none}
.principle-list summary:after{content:'+';font-size:24px;color:var(--accent-soft);text-align:center;transition:transform .25s}
.principle-list details[open] summary:after{transform:rotate(45deg)}
.principle-list summary>span{font:13px var(--mono);color:var(--accent-soft)}
.principle-list h3{margin:0;font-size:18px;line-height:1.4;letter-spacing:-.025em;font-weight:500}
.principle-list summary:hover h3,.principle-list details[open] h3{color:var(--accent-soft)}
.principle-list summary:focus-visible{outline:2px solid var(--accent-bright);outline-offset:4px;border-radius:4px}
.principle-list details>p{margin:0;padding:0 28px 24px 44px;color:var(--muted);font-size:16px;line-height:1.65}
.principle-list details[open]>p{animation:principleIn .3s var(--ease)}
@keyframes principleIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#metodo .method-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:44px;border-top:0;counter-reset:steps}
#metodo .method-list li{position:relative;grid-template-columns:40px minmax(0,1fr);gap:20px;padding:24px 0;align-items:start}
#metodo .method-list li>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(59,91,255,.3);border-radius:50%;background:rgba(59,91,255,.06);font:13px var(--mono);color:var(--accent-soft)}
#metodo .method-list h3{font-size:23px;line-height:1.3}
#metodo .method-list p{font-size:16px;line-height:1.65}
.capacity-section .method-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:52px;border-top:0}
.capacity-section .method-list li{position:relative;display:block;padding:0;border:0;min-width:0}
.capacity-section .method-list li:before{content:'';position:absolute;top:17px;left:40px;right:-24px;height:1px;background:var(--border-hover)}
.capacity-section .method-list li:last-child:before{display:none}
.capacity-section .method-list li>span{display:grid;place-items:center;width:35px;height:35px;background:var(--bg);border:1px solid rgba(59,91,255,.4);border-radius:50%;font:13px var(--mono);color:var(--accent-soft);margin-bottom:22px}
.capacity-section .method-list h3{font-size:22px;line-height:1.3}
.capacity-section .method-list p{font-size:16px;line-height:1.6}
#projetos .content-track>article:nth-child(n){min-height:340px;border-top-color:rgba(143,160,255,.24)}
#projetos .content-track>article:nth-child(3n+2){background:radial-gradient(ellipse at 0 100%,rgba(59,91,255,.11),transparent 65%),var(--surface)}
@media(min-width:1000px){#principios{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:56px;align-items:start}#principios .section-heading{position:sticky;top:120px;display:block}#principios .section-heading h2{font-size:clamp(40px,4.5vw,58px);margin-top:32px}.principle-list{grid-template-columns:1fr;margin-top:0}.principle-list summary{min-height:76px;padding:20px 0}}
@media(max-width:960px){#atuacao .expertise-grid article:nth-child(n){grid-column:span 3}.capacity-section .method-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px}.capacity-section .method-list li:nth-child(3):before{display:none}}
@media(max-width:760px){
 #atuacao .bento-grid,#ia .bento-grid{grid-template-columns:1fr;margin-top:30px}
 #atuacao .expertise-grid article:nth-child(n),#ia .expertise-grid article:nth-child(n){grid-column:auto;padding:26px 24px;min-height:0}
 #ia .section-heading>p:last-child{grid-column:auto}
 .principle-list{grid-template-columns:1fr;margin-top:30px}
 .principle-list summary{min-height:80px;gap:12px;padding:20px 0}
 .principle-list details>p{padding-left:40px}
 #metodo .method-list{grid-template-columns:1fr;margin-top:30px}
 #metodo .method-list li{padding:20px 0;gap:16px}
 .capacity-section .method-list{grid-template-columns:1fr;gap:0;margin-top:32px}
 .capacity-section .method-list li{display:grid;grid-template-columns:35px minmax(0,1fr);gap:20px;padding-bottom:28px}
 .capacity-section .method-list li:before,.capacity-section .method-list li:nth-child(3):before{display:block;top:40px;bottom:6px;left:17px;width:1px;height:auto;right:auto}
 .capacity-section .method-list li:last-child:before{display:none}
 .capacity-section .method-list li>span{margin:0}
 #projetos .content-track>article:nth-child(n){min-height:340px}
}
@media(prefers-reduced-motion:reduce){.principle-list details[open]>p{animation:none}}

/* Principles reference: fixed heading and a scroll-driven text sequence. */
#principios.principles-story{display:block;padding:100px 0;overflow:visible}
#principios .principles-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:80px;align-items:start}
#principios.principles-story .section-heading{display:block;position:static;min-width:0}
#principios.principles-story .section-heading h2{font-size:clamp(34px,4.2vw,58px);margin:24px 0 0;line-height:1.08}
.principles-skip{display:inline-flex;align-items:center;min-height:44px;margin-top:28px;color:var(--muted);font-size:14px;text-underline-offset:5px}
.principles-skip:hover{color:var(--accent-soft)}
.principles-panel{min-width:0;border-block:1px solid var(--border-hover);padding:32px 0}
.principles-stack{display:grid;gap:28px}
.principle-slide{min-width:0;padding:0 0 28px;border-bottom:1px solid var(--border)}
.principle-slide:last-child{border-bottom:0;padding-bottom:0}
.principle-slide>span{display:block;font:500 14px var(--mono);color:var(--accent-soft);letter-spacing:.06em;margin-bottom:22px}
.principle-slide h3{font-size:clamp(24px,2.6vw,34px);line-height:1.2;letter-spacing:-.025em;margin:0 0 20px}
.principle-slide p{font-size:16px;line-height:1.65;color:var(--muted);max-width:520px;margin:0}
.principles-progress{display:none;height:2px;width:100%;margin-top:36px;overflow:hidden;background:rgba(255,255,255,.09)}
.principles-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-soft));transform-origin:left;transform:scaleX(var(--principle-progress,.1));transition:transform .55s var(--rotate-ease)}
#principios.is-pinned{padding:0;height:calc(100svh - var(--pin-header,72px) + var(--pin-distance,620vh))}
#principios.is-pinned .principles-inner{position:sticky;top:var(--pin-header,72px);height:calc(100svh - var(--pin-header,72px));align-items:center;padding-block:32px}
.is-pinned .principles-panel{display:flex;flex-direction:column;justify-content:center;min-height:70%;padding-block:32px}
.is-pinned .principles-stack{gap:0;align-items:center}
.is-pinned .principle-slide{grid-area:1/1;padding:0;border:0;pointer-events:none}
.is-pinned .principle-slide>*{opacity:0;transform:translateY(14px);filter:blur(5px);transition:opacity .55s var(--rotate-ease),transform .55s var(--rotate-ease),filter .55s var(--rotate-ease)}
.is-pinned .principle-slide p{transition-delay:.05s}
.is-pinned .principle-slide.is-before>*{transform:translateY(-14px)}
.is-pinned .principle-slide.is-current{pointer-events:auto}
.is-pinned .principle-slide.is-current>*{opacity:1;transform:none;filter:none}
.is-pinned .principles-progress{display:block}
@media(max-width:960px){#principios .principles-inner{gap:40px}}
@media(max-width:760px){
 #principios.principles-story{padding-block:80px}
 #principios .principles-inner{grid-template-columns:1fr;gap:28px}
 #principios.principles-story .section-heading h2{font-size:clamp(32px,8vw,44px);margin-top:16px}
 .principles-skip{margin-top:12px}
 #principios.is-pinned{padding:0}
 #principios.is-pinned .principles-inner{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:24px;padding-block:24px}
 .is-pinned .principles-panel{min-height:0;padding-block:24px}
 .principle-slide h3{font-size:24px}
 .principle-slide>span{margin-bottom:16px}
 .principles-progress{margin-top:24px}
}
@media print{#principios.is-pinned{height:auto;padding:40px 0}#principios.is-pinned .principles-inner{position:static;height:auto;display:block}.is-pinned .principles-stack{display:block}.is-pinned .principle-slide{margin:24px 0}.is-pinned .principle-slide>*{opacity:1;transform:none;filter:none}.principles-progress,.principles-skip{display:none}}

/* Selectable vertical fan, extending the existing pinned principles scene. */
.principles-hint,.principles-choices,.principle-select{display:none}
.is-pinned .principles-hint{display:block;font-size:14px;color:var(--muted);margin:24px 0 14px}
.is-pinned .principles-choices{display:flex;flex-wrap:wrap;gap:6px;max-width:270px}
.principles-choices button{min-width:44px;min-height:44px;border:1px solid var(--border-hover);border-radius:8px;background:var(--surface);color:var(--muted);font:14px var(--mono);cursor:pointer;transition:background .2s,border-color .2s}
.principles-choices button:hover,.principles-choices button[aria-pressed=true]{color:var(--fg);background:rgba(59,91,255,.18);border-color:var(--accent)}
.is-pinned .principles-panel{border:0;min-height:0;padding:112px 22px;position:relative}
.is-pinned .principles-stack{width:100%;max-width:480px;margin:auto;align-items:stretch;isolation:isolate}
.is-pinned .principle-slide{position:relative;padding:28px;border-radius:20px;background:#0d0f1c;border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 34px -16px rgba(0,0,0,.65);transform:translateY(var(--fan-y,0px)) rotate(var(--fan-rotation,0deg)) scale(var(--fan-scale,1));opacity:var(--fan-opacity,0);transition:transform .6s var(--rotate-ease),opacity .55s ease,border-color .4s,box-shadow .4s;pointer-events:none}
.is-pinned .principle-slide.is-near{pointer-events:auto}
.is-pinned .principle-slide.is-current{border-color:rgba(86,112,255,.65);box-shadow:0 20px 50px -20px rgba(59,91,255,.4)}
.is-pinned .principle-slide>*{opacity:1;transform:none;filter:none;transition:none}
.is-pinned .principle-slide>span{font-size:13px;margin-bottom:12px}
.is-pinned .principle-slide h3{font-size:24px;line-height:1.25;margin-bottom:12px}
.is-pinned .principle-slide p{font-size:16px;line-height:1.6}
.is-pinned .principle-select{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;cursor:pointer;z-index:2}
.is-pinned .principle-select:disabled{pointer-events:none}
.is-pinned .principle-slide:hover{border-color:var(--accent-soft)}
.is-pinned .principles-progress{position:absolute;bottom:0;left:22px;right:22px;width:auto;margin:0}
@media(max-width:760px){
 #principios.is-pinned .principles-inner{gap:8px;padding-block:16px}
 #principios.is-pinned .section-heading h2{font-size:30px;margin-top:10px}
 .is-pinned .principles-hint{margin:12px 0 8px}
 .is-pinned .principles-choices{gap:4px;max-width:none}
 .principles-choices button{min-width:44px;min-height:44px;flex:0 0 calc((100% - 16px)/5)}
 .is-pinned .principles-skip{margin-top:4px;font-size:13px}
 .is-pinned .principles-panel{padding:72px 16px}
 .is-pinned .principle-slide{padding:22px}
 .is-pinned .principle-slide h3{font-size:21px}
 .is-pinned .principle-slide{transform:translateY(calc(var(--fan-y,0px)*.55)) rotate(var(--fan-rotation,0deg)) scale(var(--fan-scale,1))}
}
@media print{.principles-hint,.principles-choices,.principle-select{display:none!important}.is-pinned .principle-slide{opacity:1;transform:none;box-shadow:none}}

/* Same cases layout, driven by ordinary vertical page scrolling. */
.cases-scroll-inner{display:flow-root;min-width:0}
.cases-scroll-distance{display:none;pointer-events:none}
.cases-scroll-linked .cases-scroll-inner{position:sticky;top:var(--cases-pin-top,72px)}
.cases-scroll-linked .cases-scroll-distance{display:block;height:var(--cases-travel)}
.cases-scroll-linked .content-track{scroll-snap-type:none}
@media print{.cases-scroll-linked .cases-scroll-inner{position:static}.cases-scroll-distance{display:none!important}}
