:root{--ink:#101315;--ink-2:#181d1f;--paper:#eeefe8;--paper-text:#171c1d;--muted:#adb5b3;--line:rgba(255,255,255,.17);--accent:#ff6b29;--accent-light:#ffa46d;--font-head:'Space Grotesk',Arial,sans-serif;--font-body:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:var(--ink);color:#f5f3ec;font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.skip-link{position:fixed;z-index:1000;left:16px;top:-70px;background:#fff;color:#101315;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}
.site-header{position:absolute;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:25px clamp(24px,5vw,92px);border-bottom:1px solid rgba(255,255,255,.1)}
.brand{display:flex;align-items:center;gap:13px}.brand-symbol{font-family:var(--font-head);font-size:30px;font-weight:700;letter-spacing:-.14em;padding-right:8px}.brand-flash,.brand-dot{color:var(--accent)}.brand-name{font-size:10px;font-weight:700;letter-spacing:.15em;line-height:1.25}
.top-nav{display:flex;gap:35px;margin-left:auto;margin-right:35px}.top-nav a{font-size:12px;color:#c3c8c6;transition:color .2s}.top-nav a:hover{color:white}
.header-actions{display:flex;gap:10px;align-items:center}.theme-toggle{height:39px;width:39px;color:#eceee9;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:99px;cursor:pointer}.theme-icon{font-size:22px;line-height:1}
.header-cta{display:inline-flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:12px 17px;font-size:12px;font-weight:700}.header-cta:hover{background:#fff;color:#101315}.availability-dot{height:7px;width:7px;background:#b2ee85;border-radius:50%;box-shadow:0 0 0 4px rgba(178,238,133,.08)}
.story{position:relative;background:#101315}.story-stage{height:100svh;min-height:690px;overflow:hidden;position:relative;isolation:isolate;background:var(--ink)}
.stage-grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(to right,transparent calc(25% - 1px),rgba(255,255,255,.17) 25%,transparent calc(25% + 1px)),linear-gradient(to right,transparent calc(50% - 1px),rgba(255,255,255,.17) 50%,transparent calc(50% + 1px)),linear-gradient(to right,transparent calc(75% - 1px),rgba(255,255,255,.17) 75%,transparent calc(75% + 1px));pointer-events:none}
.stage-index{position:absolute;z-index:2;top:118px;left:clamp(24px,5vw,92px);right:clamp(24px,5vw,92px);display:flex;justify-content:space-between;max-width:calc(100% - 48px);color:rgba(255,255,255,.4);font-family:var(--font-head);font-size:10px;letter-spacing:.13em}
.hero-copy{position:absolute;z-index:6;left:clamp(24px,6vw,110px);top:50%;transform:translateY(-50%);width:min(54vw,700px);pointer-events:auto}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.15em;color:#c5c9c6;white-space:normal}.eyebrow-line{display:inline-block;height:1px;width:27px;background:var(--accent)}.eyebrow-separator{color:var(--accent)}
h1,h2,h3,p{margin-top:0}.hero-copy h1{font-family:var(--font-head);font-weight:600;letter-spacing:-.064em;line-height:1.03;font-size:clamp(44px,4.25vw,75px);margin:28px 0 24px}.hero-copy h1 em{font-style:normal;color:var(--accent-light)}.orange-period{color:var(--accent)}
.hero-subline{color:#b0b6b3;font-size:clamp(13px,1.1vw,16px);line-height:1.75;max-width:460px}.hero-links{display:flex;align-items:center;gap:28px;margin-top:34px}.button-primary{display:inline-flex;align-items:center;gap:30px;justify-content:space-between;background:#f1f0e9;color:#16191a;border-radius:999px;padding:16px 22px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.button-primary:hover{background:var(--accent-light);transform:translateY(-2px)}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #646d6d;padding-bottom:8px}.text-link:hover{border-color:var(--accent)}
.portrait-frame{position:absolute;z-index:4;right:clamp(24px,4vw,76px);bottom:-2px;width:clamp(410px,42vw,710px);height:min(75vh,750px);min-height:515px;border-radius:18px 18px 0 0;overflow:hidden;background:#f76624;box-shadow:0 26px 85px rgba(0,0,0,.23)}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 43%;filter:saturate(1.05)}.portrait-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(14,14,14,.42),transparent 34%);pointer-events:none}
.portrait-serial{position:absolute;z-index:2;left:24px;bottom:25px;right:24px;display:flex;justify-content:space-between;gap:15px;font-family:var(--font-head);font-size:11px;font-weight:700;letter-spacing:.14em}.portrait-frame-outline{position:absolute;inset:12px;border:1px solid rgba(255,255,255,.36);border-radius:8px 8px 0 0;pointer-events:none}
.reveal-title{position:absolute;z-index:7;top:16.5%;left:clamp(24px,6vw,110px);pointer-events:none}.reveal-title h2{margin:17px 0 14px;font-size:clamp(42px,4.3vw,74px);line-height:.99;font-family:var(--font-head);font-weight:600;letter-spacing:-.07em}.reveal-title h2 em{font-style:normal;color:var(--accent)}.reveal-title>p:last-child{font-size:13px;color:#aeb6b3;line-height:1.6}
.skill-field{position:absolute;z-index:8;inset:0;pointer-events:none}.skill-chip{--chip-color:#f6a06f;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;position:absolute;left:0;top:0;min-height:43px;padding:10px 15px;border:1px solid rgba(255,255,255,.27);background:rgba(24,29,30,.92);box-shadow:0 10px 25px rgba(0,0,0,.15);border-radius:999px;color:#fff;font-family:var(--font-head);font-weight:500;font-size:clamp(11px,.96vw,15px);letter-spacing:-.018em;backdrop-filter:blur(16px);transform:translate(-50%,-50%);pointer-events:auto;transition:border-color .2s,background .2s}.skill-chip:hover{border-color:var(--chip-color);background:#303737}.skill-chip i{display:block;width:6px;height:6px;background:var(--chip-color);border-radius:50%;box-shadow:0 0 10px var(--chip-color);flex:none}.skill-chip small{font-family:var(--font-body);font-size:9px;letter-spacing:.01em;color:#becac4}.chip-grow{--chip-color:#bee8a4}.chip-operate{--chip-color:#a2c9ff}.chip-ai{--chip-color:#c7b7ff}
.thought-pulse{position:absolute;z-index:5;left:74%;top:19%;height:4px;width:4px;transform:translate(-50%,-50%);pointer-events:none}.thought-pulse span{position:absolute;display:block;border:1px solid rgba(255,166,111,.75);border-radius:50%;width:20px;height:20px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:0}.thought-pulse span:nth-child(2){width:52px;height:52px}.thought-pulse span:nth-child(3){width:100px;height:100px}
.scroll-cue{display:flex;align-items:center;gap:12px;position:absolute;z-index:10;left:clamp(24px,6vw,110px);bottom:50px;font-size:10px;font-weight:700;letter-spacing:.14em;color:#bdc2be}.scroll-cue-track{width:72px;height:1px;background:#4e5653;position:relative}.scroll-cue-progress{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent)}.scroll-cue-arrow{font-size:18px;font-weight:400;line-height:1}
.reveal-counter{position:absolute;z-index:9;right:clamp(24px,5vw,92px);top:19%;text-align:right;display:flex;flex-direction:column;gap:8px}.reveal-counter>span{font-size:9px;letter-spacing:.14em;color:#b6bdbc}.reveal-counter strong{font-family:var(--font-head);font-weight:500;font-size:42px;letter-spacing:-.07em}.reveal-counter strong span{font-size:13px;color:#9ca8a5;letter-spacing:0}
.bottom-rule{display:flex;position:absolute;z-index:10;bottom:0;left:0;right:0;padding:15px clamp(24px,5vw,92px);justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);font-size:9px;letter-spacing:.12em;color:#989f9d;pointer-events:none}
.js-animated .reveal-title,.js-animated .reveal-counter{opacity:0}.js-animated .skill-chip{opacity:0}
.expertise-section{background:var(--section-bg,var(--paper));color:var(--section-text,var(--paper-text));padding:clamp(90px,10vw,160px) clamp(24px,6vw,110px) 120px}.section-kicker{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--section-secondary,#69716c)}.tiny-cross{font-size:17px;color:#ff6323}.section-no{margin-left:auto;font-size:10px;letter-spacing:.14em;color:var(--section-secondary,#7a827d)}.expertise-heading{display:grid;grid-template-columns:1.5fr .65fr;align-items:end;gap:50px;margin:40px 0 64px}.expertise-heading h2{font-family:var(--font-head);font-size:clamp(44px,5.45vw,92px);font-weight:600;line-height:1.03;letter-spacing:-.078em;margin:0}.expertise-heading h2 em{font-style:normal;color:#f46a32}.expertise-heading p{font-size:15px;color:var(--section-secondary,#606a65);line-height:1.8;max-width:340px;margin:0 0 8px}
.expertise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.expertise-card{display:flex;flex-direction:column;min-height:440px;padding:25px;border:1px solid var(--card-border,#d2d4ca);border-radius:12px;background:var(--card-bg,#f6f7f1);transition:transform .25s,border-color .25s}.expertise-card:hover{transform:translateY(-8px);border-color:#ff7f4c}.card-top{display:flex;justify-content:space-between;align-items:center;color:var(--section-secondary,#636c67);font-size:11px}.card-symbol{font-size:25px;font-family:var(--font-head)}.expertise-card h3{font:600 clamp(30px,2.7vw,48px)/1 var(--font-head);letter-spacing:-.06em;margin:64px 0 16px}.expertise-card h3 span{color:#f46a32}.expertise-card>p{color:var(--section-secondary,#6d756f);font-size:13px;line-height:1.7;min-height:67px}.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.card-tags span{border:1px solid var(--card-border,#d1d4cb);padding:8px 10px;border-radius:100px;font-size:10px;line-height:1.25;white-space:nowrap}
.approach-section{background:var(--approach-bg,#161c1d);color:var(--approach-text,#f4f4ec);min-height:680px;padding:clamp(95px,10vw,155px) clamp(24px,6vw,110px);position:relative}.approach-section>.section-no{display:block;margin-bottom:80px;color:#a8b2af}.approach-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:40px}.approach-layout>p{font-size:10px;letter-spacing:.14em;color:#aab7b3;margin-top:12px}.approach-layout h2{font:600 clamp(60px,8vw,140px)/.95 var(--font-head);letter-spacing:-.084em;margin-bottom:42px}.approach-layout h2 em{font-style:normal;color:var(--accent)}.approach-note{max-width:460px;color:#aebbb6;margin:0 0 34px auto;font-size:15px;line-height:1.85}.approach-link{display:table;margin-left:auto;padding-bottom:8px;border-bottom:1px solid var(--accent);font-size:13px;font-weight:700}.approach-link span{margin-left:38px}
.site-footer{background:var(--footer-bg,#f36a31);color:#171c1d;padding:90px clamp(24px,6vw,110px) 22px}.site-footer>div:first-child>span{font-size:10px;font-weight:700;letter-spacing:.14em}.site-footer h2{font:600 clamp(82px,14vw,230px)/1 var(--font-head);letter-spacing:-.1em;margin:24px 0}.site-footer h2 span{color:#fff4df}.footer-link{display:flex;width:min(100%,380px);justify-content:space-between;border-bottom:1px solid #171c1d;padding:12px 0;font-weight:700}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(0,0,0,.25);margin-top:115px;padding-top:22px;font-size:9px;letter-spacing:.12em;font-weight:700}
[data-theme="light"]{--section-bg:#fffdf8;--section-text:#171c1d;--section-secondary:#5c6460;--card-bg:#f4f1eb;--card-border:#d2d1c9;--approach-bg:#f0f1e9;--approach-text:#172021;--footer-bg:#ff8b4d}
[data-theme="light"] .approach-layout>p,[data-theme="light"] .approach-section>.section-no,[data-theme="light"] .approach-note{color:#586461}
@media(max-width:1120px){.hero-copy h1{font-size:clamp(40px,4.5vw,56px)}.portrait-frame{width:47vw;right:0;height:72vh;min-height:490px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expertise-card{min-height:350px}.expertise-card h3{margin-top:40px}.expertise-heading{grid-template-columns:1fr 0.6fr}}
@media(max-width:700px){html{scroll-padding-top:64px}.site-header{padding:18px 20px;gap:10px}.brand-symbol{font-size:26px}.brand-name{font-size:8px}.top-nav{display:none}.header-cta{padding:11px 13px;font-size:11px}.theme-toggle{height:36px;width:36px}.story-stage{min-height:640px;height:100svh}.stage-index{top:94px;left:20px;right:20px;font-size:8px}.stage-index span:last-child{display:none}.stage-grid{opacity:.12}.hero-copy{left:22px;right:22px;width:auto;top:21%;transform:none}.hero-copy .eyebrow{max-width:310px;font-size:8px;gap:7px}.eyebrow-line{width:16px}.hero-copy h1{font-size:clamp(34px,9.1vw,57px);max-width:520px;line-height:1.01;margin:20px 0 15px;letter-spacing:-.064em}.hero-subline{font-size:11px;line-height:1.6;max-width:285px}.hero-links{gap:18px;margin-top:18px;flex-wrap:wrap}.button-primary{padding:13px 15px;font-size:10px;gap:12px}.text-link{font-size:10px}.portrait-frame{width:65vw;height:40vh;min-height:250px;max-height:410px;right:0;bottom:0;border-radius:13px 0 0 0}.portrait-serial{font-size:8px;bottom:20px;left:17px;right:15px}.portrait-frame-outline{inset:9px}.reveal-title{left:22px;right:20px;top:15%}.reveal-title .eyebrow{font-size:9px}.reveal-title h2{font-size:clamp(39px,10vw,61px);margin:13px 0 8px}.reveal-title>p:last-child{font-size:10px}.skill-chip{font-size:clamp(9px,2.65vw,12px);min-height:32px;padding:7px 9px;gap:6px}.skill-chip i{width:5px;height:5px}.skill-chip small{font-size:7px}.reveal-counter{top:auto;bottom:54px;right:20px}.reveal-counter>span{display:none}.reveal-counter strong{font-size:25px}.scroll-cue{bottom:57px;left:20px;font-size:8px;gap:8px}.scroll-cue-track{width:33px}.bottom-rule{padding:12px 20px;font-size:7px}.bottom-rule span:last-child{display:none}.expertise-section{padding:85px 22px 90px}.expertise-heading{display:block;margin:30px 0 40px}.expertise-heading h2{font-size:clamp(39px,9vw,60px)}.expertise-heading p{margin-top:22px;font-size:13px}.expertise-grid{grid-template-columns:1fr;gap:10px}.expertise-card{min-height:315px;padding:22px}.expertise-card h3{font-size:43px;margin:36px 0 13px}.expertise-card>p{min-height:auto;margin-bottom:26px}.card-tags span{font-size:10px}.approach-section{min-height:590px;padding:95px 22px}.approach-section>.section-no{margin-bottom:70px}.approach-layout{display:block}.approach-layout>p{margin-bottom:30px}.approach-layout h2{font-size:clamp(60px,14vw,92px)}.approach-note{margin-left:0;font-size:13px}.approach-link{margin-left:0}.site-footer{padding:85px 22px 20px}.site-footer h2{font-size:clamp(78px,19vw,120px)}.footer-bottom{display:block;margin-top:85px;line-height:2.2}}
@media(max-height:710px) and (min-width:701px){.story-stage{min-height:610px}.hero-copy h1{font-size:clamp(43px,4vw,65px)}.hero-copy{top:52%}.portrait-frame{height:73vh;min-height:470px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* V2: a full-height editorial portrait and actual vector skill marks. */
.site-header{background:linear-gradient(to bottom,rgba(16,19,21,.9),rgba(16,19,21,.3));border-bottom-color:rgba(255,255,255,.12)}
.portrait-frame{top:0;right:0;bottom:0;width:51vw;height:100%;min-height:0;max-height:none;border-radius:0;box-shadow:none}
.portrait-frame img{object-position:50% 35%}
.portrait-frame::before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(to right,#101315 0%,rgba(16,19,21,.75) 7%,transparent 30%);pointer-events:none}
.portrait-frame::after{z-index:1;background:linear-gradient(to top,rgba(16,19,21,.34),transparent 23%)}
.portrait-frame-outline{display:none}
.hero-copy{width:min(51vw,680px)}
.skill-chip{height:48px;min-height:48px;padding:0;border-radius:13px;cursor:pointer;font-size:clamp(11px,.98vw,15px);appearance:none;text-align:left}
.chip-inner{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;line-height:1;transform-origin:center}
.skill-icon{display:block;flex:none;width:20px;height:20px;object-fit:contain}
.skill-chip small{margin-left:2px;font-size:9px}
.skill-chip:hover,.skill-chip:focus-visible,.skill-chip.is-open{z-index:20;border-color:var(--chip-color);background:#303739;box-shadow:0 14px 42px rgba(0,0,0,.37),0 0 0 1px var(--chip-color)}
.skill-chip:focus-visible{outline:2px solid var(--chip-color);outline-offset:3px}
.chip-tooltip{position:absolute;left:50%;bottom:calc(100% + 12px);width:230px;max-width:68vw;white-space:normal;z-index:15;visibility:hidden;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;line-height:1.55;font:400 12px/1.55 var(--font-body);letter-spacing:0;color:#eef3ee;background:#242b2b;padding:13px 15px;border:1px solid rgba(255,255,255,.22);border-radius:9px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.skill-chip:hover .chip-tooltip,.skill-chip:focus-visible .chip-tooltip,.skill-chip.is-open .chip-tooltip{visibility:visible;opacity:1;transform:translate(-50%,0)}
.skill-chip:nth-child(13) .chip-tooltip{top:calc(100% + 12px);bottom:auto}
.skill-field.is-settled .chip-inner{animation:skill-float 3.1s ease-in-out infinite;animation-delay:var(--float-delay,0s)}
.skill-field.is-settled .skill-chip:hover .chip-inner,.skill-field.is-settled .skill-chip:focus-visible .chip-inner{animation-play-state:paused}
@keyframes skill-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.thought-pulse{left:77%;top:15%}
@media(min-width:701px) and (max-width:1120px){.portrait-frame{width:54vw;height:100%;min-height:0;max-height:none}.hero-copy{width:53vw}}
@media(max-width:700px){
  .site-header{background:linear-gradient(to bottom,#101315,rgba(16,19,21,.52))}
  .portrait-frame{top:auto;right:0;bottom:0;width:100%;height:55%;min-height:0;max-height:none;border-radius:0;box-shadow:none}
  .portrait-frame img{object-position:50% 34%}
  .portrait-frame::before{background:linear-gradient(to bottom,#101315 0%,rgba(16,19,21,.5) 24%,transparent 60%)}
  .portrait-frame::after{background:linear-gradient(to top,rgba(16,19,21,.34),transparent 28%)}
  .hero-copy{top:16%;left:21px;right:21px;width:auto}
  .hero-copy h1{font-size:clamp(34px,9.1vw,56px)}
  .portrait-serial{bottom:22px}
  .skill-chip{height:35px;min-height:35px;border-radius:9px;font-size:clamp(8px,2.5vw,12px)}
  .chip-inner{gap:6px;padding:7px 9px}
  .skill-icon{height:16px;width:16px}
  .skill-chip small{font-size:7px}
  .chip-tooltip{font-size:11px;width:190px;max-width:60vw}
  .reveal-title{top:13%}
  .reveal-title h2{font-size:clamp(38px,9.4vw,57px)}
}
