:root{
  --bg:#05070a;
  --surface:#0a1016;
  --surface-2:#0d1720;
  --line:#172b3b;
  --line-soft:#ffffff0d;
  --text:#f5f7fa;
  --muted:#8b9aa7;
  --blue:#168cff;
  --blue-light:#6bc4ff;
  --header-height:calc(78px + env(safe-area-inset-top));
  --modal-space:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 18px);scrollbar-gutter:stable;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:clip;line-height:1.5;-webkit-text-size-adjust:100%}
html.modal-open{overflow:hidden;scroll-behavior:auto}
body.modal-open{position:fixed;width:100%;overflow:hidden}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
h1,h2,h3{overflow-wrap:anywhere}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
button{touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px}
.eyebrow{margin:0;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.22em}

/* Header */
.site-header{
  position:fixed;
  z-index:50;
  inset:0 0 auto;
  height:var(--header-height);
  padding:env(safe-area-inset-top) max(env(safe-area-inset-right),clamp(1.15rem,4vw,4.5rem)) 0 max(env(safe-area-inset-left),clamp(1.15rem,4vw,4.5rem));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  background:#05070ad9;
  border-bottom:1px solid var(--line-soft);
  backdrop-filter:blur(18px);
}
.logo{display:flex;align-items:center;gap:.7rem;font-size:.95rem;font-weight:750;letter-spacing:-.02em}
.logo-avatar{flex:none;width:34px;height:34px;border:2px solid var(--blue);border-radius:50%;object-fit:cover;object-position:50% 24%;box-shadow:0 0 0 4px #168cff12}
.site-header .logo{min-width:0;overflow-wrap:anywhere;line-height:1.2}
.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.86rem}
.site-header nav>a{position:relative;color:#a9b2ba;transition:color .2s ease}
.site-header nav>a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--blue);transition:right .2s ease}
.site-header nav>a:hover{color:#fff}
.site-header nav>a:hover:after{right:0}
.contact-mini{min-height:44px;padding:.78rem 1.05rem;border:1px solid var(--blue);border-radius:.65rem;background:var(--blue);color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease}
.contact-mini:hover{transform:translateY(-2px);box-shadow:0 10px 28px #168cff2b}
.menu-toggle{display:none;flex:none;width:44px;height:44px;padding:10px;border:1px solid #1d496b;border-radius:.7rem;background:#09141e;cursor:pointer;flex-direction:column;justify-content:center;gap:5px}
.menu-toggle span{display:block;width:100%;height:2px;border-radius:2px;background:#fff;transition:transform .2s ease,opacity .2s ease}
.menu-toggle.is-open span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:last-child{transform:translateY(-7px) rotate(-45deg)}

/* Clean hero — one headline, one portrait and a generous personal introduction. */
.hero{
  position:relative;
  isolation:isolate;
  width:min(100%,1480px);
  margin:0 auto;
  padding:calc(var(--header-height) + clamp(2.5rem,4vw,3rem)) clamp(1.25rem,5vw,5rem) clamp(3rem,5vw,5rem);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  grid-template-areas:"copy visual" "about about";
  align-items:center;
  column-gap:clamp(2rem,5vw,5rem);
  row-gap:clamp(2.5rem,4vw,4rem);
}
.hero:before{content:"";position:absolute;z-index:-2;inset:var(--header-height) 0 0;background:radial-gradient(ellipse at 80% 32%,#1264b51a,transparent 52%);pointer-events:none}
.hero-copy{grid-area:copy;min-width:0;container-type:inline-size;animation:heroIn .65s ease both}
.hero h1{max-width:100%;margin:0;font-family:"Arial Black",Arial,Helvetica,sans-serif;font-size:clamp(3rem,6.2vw,5.75rem);font-size:min(17cqi,5.75rem);line-height:.96;letter-spacing:-.065em;text-transform:uppercase;font-weight:900;overflow-wrap:normal}
.hero h1 span{display:block}
.hero h1 .headline-lead{margin-bottom:1rem;color:#c5ced8;font-family:Arial,Helvetica,sans-serif;font-size:clamp(.875rem,2.7cqi,1rem);line-height:1.4;letter-spacing:.25em;font-weight:600}
.hero h1 .headline-main{color:var(--text)}
.hero h1 .headline-accent{margin-top:.07em;color:var(--blue)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.4rem;margin-top:2rem}
.hero-actions a,.hero-actions button{min-height:52px;padding:.8rem 1.1rem;border-radius:.3rem;display:inline-flex;align-items:center;justify-content:center;gap:1.1rem;font-size:.875rem;font-weight:700;line-height:1.4;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.hero-actions .primary{border:1px solid var(--blue);background:var(--blue);color:#fff}
.hero-actions .primary b{font-size:1.25rem;line-height:1;font-weight:400}
.hero-actions .primary:hover{transform:translateY(-2px);background:#2998ff;box-shadow:0 10px 32px #168cff24}
.hero-actions .secondary{padding-inline:0;border:1px solid transparent;border-bottom-color:#29435a;border-radius:0;background:none;color:#dae3ec}
.hero-actions .secondary span{color:var(--blue-light)}
.hero-actions .secondary:hover{border-bottom-color:var(--blue);color:#fff}
.hero-timeline{width:min(100%,460px);min-width:0;margin-top:2.25rem;pointer-events:none;user-select:none}
.timeline-ruler{margin-left:25px;padding-bottom:.55rem;display:flex;justify-content:space-between;gap:.25rem;border-bottom:1px solid #243b4e;color:#6f8fa7;font-family:monospace;font-size:.5625rem;line-height:1.4;font-variant-numeric:tabular-nums}
.timeline-lanes{position:relative;margin-top:.55rem}
.timeline-track{min-width:0;display:grid;grid-template-columns:20px minmax(0,1.2fr) minmax(0,.75fr) minmax(0,.95fr);align-items:center;gap:5px;height:28px}
.timeline-track small{color:#698ba6;font-family:monospace;font-size:.5625rem;line-height:1}
.timeline-clip{display:block;min-width:0;height:23px;border:1px solid #2a83c2;border-radius:2px;background:#115385}
.clip-middle{background:#122f49;border-color:#345a78}
.clip-end{background:#0d4264;border-color:#25799d}
.audio-track{grid-template-columns:20px minmax(0,1fr);height:23px}
.timeline-audio{display:block;min-width:0;height:15px;border:1px solid #28556b;border-radius:2px;background:repeating-linear-gradient(90deg,#102b3a 0 4px,#285267 4px 5px,#102b3a 5px 8px);}
.timeline-playhead{position:absolute;left:62%;top:-.55rem;bottom:0;width:1px;background:#d5eaff;box-shadow:0 0 8px #82c6ff2b}
.timeline-playhead:before{content:"";position:absolute;top:-3px;left:-3px;width:7px;height:7px;transform:rotate(45deg);background:#d5eaff}
.hero-about{grid-area:about;min-width:0;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:clamp(2rem,5vw,5rem);padding-top:clamp(2rem,4vw,3rem);border-top:1px solid #22303d}
.hero-about .eyebrow{margin:0;color:var(--blue-light);font-size:.75rem;font-weight:600;line-height:1.5;letter-spacing:.16em}
.about-heading h2{margin:.7rem 0 0;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.05em}
.about-heading h2 span{color:var(--blue)}
.about-copy{min-width:0;max-width:700px}
.about-copy p{margin:0;color:#9eacb9;font-size:1rem;line-height:1.75}
.about-copy .about-lead{color:#d5dce5;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.65}
.about-copy p+p{margin-top:1rem}
.about-copy strong{color:#f5f7fa;font-weight:600}
.hero-visual{grid-area:visual;position:relative;min-width:0;width:100%;max-width:460px;margin:0 0 0 auto;isolation:isolate;animation:visualIn .8s .06s ease both}
.portrait-image{position:relative;aspect-ratio:4/4.6;overflow:hidden;background:#050a10}
.portrait-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),#05070abd 8%,transparent 36%),linear-gradient(90deg,var(--bg),transparent 10%,transparent 93%,var(--bg)),linear-gradient(180deg,#05070a50,transparent 25%);pointer-events:none}
.portrait-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}

/* Stats and moving strip */
.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);background:#080c11}
.numbers div{min-width:0;min-height:118px;padding:1.55rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;border-right:1px solid var(--line)}
.numbers div:last-child{border-right:0}
.numbers strong{font-size:2rem;letter-spacing:-.05em}
.numbers span{max-width:155px;color:#98a6b2;font-size:.75rem;line-height:1.45;letter-spacing:.08em;overflow-wrap:anywhere}
.trusted{padding:1.8rem 0;border-bottom:1px solid var(--line);background:#071018;overflow:hidden}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marquee>div{width:max-content;display:flex;align-items:center;gap:4.5rem;animation:marquee 25s linear infinite}
.marquee b,.marquee i{white-space:nowrap;font-size:.78rem;font-style:normal;letter-spacing:.14em}
.marquee b{color:#778897}.marquee i{color:var(--blue)}

/* Work */
.work{padding:clamp(6.5rem,10vw,10rem) clamp(1.25rem,5vw,5.5rem);background:linear-gradient(180deg,#05070a,#070c11)}
.section-intro{max-width:740px;margin:0 auto 4.5rem;text-align:center}
.section-intro h2{margin:1rem 0 1.4rem;color:var(--blue);font-size:clamp(2rem,5vw,4.5rem);line-height:1.06;letter-spacing:-.04em}
.section-intro>p:last-child{max-width:570px;margin:0 auto;color:var(--muted);font-size:1rem;line-height:1.65}
.project-showcase{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.15rem;align-items:start}
.project-tile{min-width:0;padding:.62rem;border:1px solid #17344b;border-radius:1.15rem;background:#0a131b;overflow-wrap:anywhere;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.project-tile:hover{transform:translateY(-7px);border-color:#2b8fd5;box-shadow:0 22px 55px #0009}
.cover-ui{position:relative;width:100%;aspect-ratio:9/13;padding:.78rem;display:flex;justify-content:space-between;border:0;border-radius:.82rem;overflow:hidden;background:#071018;cursor:pointer;text-align:left}
.cover-ui:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#03101aa8,transparent 32%,transparent 62%,#03101ad9)}
.cover-ui:after{content:"";position:absolute;z-index:1;width:45%;height:45%;right:-22%;top:-14%;border:1px solid #87d2ff27;border-radius:50%}
.cover-ui>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s ease}
.cover-ui>img.image-error{display:none}
.project-tile.five .cover-ui{background:radial-gradient(circle at 65% 24%,#168cff77,transparent 30%),linear-gradient(145deg,#0c2f4b,#050b11)}
.project-tile:hover .cover-ui>img{transform:scale(1.035);filter:saturate(1.08)}
.cover-head{position:relative;z-index:2;width:100%;display:flex;flex-wrap:wrap;gap:.3rem;justify-content:space-between;color:#deeffc;font-size:.75rem;letter-spacing:.06em}
.project-play{position:absolute;z-index:3;left:50%;top:50%;width:56px;height:56px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #ffffff70;border-radius:50%;background:#06111dcc;color:#fff;box-shadow:0 8px 24px #0009;transition:transform .2s ease,background .2s ease}
.cover-ui:hover .project-play{transform:translate(-50%,-50%) scale(1.08);background:var(--blue)}
.mobile-video-play{display:none}
.tile-info{padding:.95rem .25rem .35rem;display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.tile-info>div{min-width:0}
.tile-info span{display:block;color:#62b8ff;font-size:.75rem;line-height:1.5;letter-spacing:.05em}
.tile-info h3{margin:.42rem 0 .35rem;font-size:1.06rem;line-height:1.12;letter-spacing:-.025em}
.tile-info p{margin:0;color:#9aafbf;font-size:.8125rem;line-height:1.5}
.tile-info button{flex:0 0 auto;width:44px;height:44px;border:1px solid #1c496a;border-radius:50%;background:#091722;color:#55aeff;cursor:pointer;font-size:1.1rem;transition:background .2s ease,border-color .2s ease}
.tile-info button:hover{border-color:var(--blue);background:#0d2638}

/* Feedback carousel */
.feedbacks{padding:clamp(6.5rem,10vw,10rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 12% 20%,#168cff12,transparent 28%),#06090d;overflow:hidden}
.feedbacks-head{max-width:1450px;margin:0 auto 4rem;padding:0 clamp(1.25rem,5vw,5.5rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:end;gap:clamp(2rem,6vw,7rem)}
.feedbacks-head h2{margin:0;color:var(--blue);font-size:clamp(2rem,5vw,4.5rem);line-height:1.06;letter-spacing:-.04em}
.feedbacks-head>p{max-width:430px;margin:0 0 .3rem;color:var(--muted);font-size:1rem;line-height:1.7}
.feedback-window{position:relative;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.feedback-window:before,.feedback-window:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:clamp(20px,5vw,85px);pointer-events:none}
.feedback-window:before{left:0;background:linear-gradient(90deg,#06090d,transparent)}
.feedback-window:after{right:0;background:linear-gradient(-90deg,#06090d,transparent)}
.feedback-track{width:max-content;padding:1rem 0;display:flex;gap:1rem;animation:feedbackLoop 42s linear infinite;will-change:transform}
.feedback-track:hover,.feedback-track:focus-within{animation-play-state:paused}
.feedbacks.is-paused .feedback-track,.modal-open .feedback-track,.modal-open .marquee>div{animation-play-state:paused}
.feedback-card{position:relative;width:clamp(300px,29vw,430px);min-height:250px;padding:1.55rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #1b405c;border-radius:1.15rem;background:linear-gradient(145deg,#0c1822,#081019);box-shadow:0 18px 45px #0006;overflow:hidden}
.feedback-card:before{content:"“";position:absolute;right:1rem;top:-1rem;color:#168cff17;font-size:9rem;font-family:Georgia,serif;line-height:1;pointer-events:none}
.feedback-card:after{content:"";position:absolute;left:0;bottom:0;width:42%;height:3px;background:linear-gradient(90deg,var(--blue),var(--blue-light),transparent)}
.feedback-card>div{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.feedback-card small{overflow-wrap:anywhere}
.feedback-card>div span{color:#56b8ff;font-family:Georgia,serif;font-size:2rem;line-height:1}
.feedback-card small{color:#9ab0c1;font-size:.75rem;font-weight:700;letter-spacing:.08em}
.feedback-card blockquote{position:relative;z-index:1;margin:2.2rem 0;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:750;line-height:1.22;letter-spacing:-.035em}
.feedback-card>p{position:relative;z-index:1;margin:0;color:#99adbd;font-size:.75rem;font-weight:700;letter-spacing:.08em}
.feedback-controls{margin:1.5rem 1rem 0;text-align:center}
.feedback-toggle{min-height:44px;padding:.65rem 1rem;display:inline-flex;align-items:center;gap:.6rem;border:1px solid #294d68;border-radius:99px;background:#0a1621;color:#c0d2e0;font-size:.875rem;cursor:pointer}
.feedback-toggle:hover{border-color:var(--blue)}

/* Closing CTA and footer */
.cta{position:relative;isolation:isolate;padding:clamp(7rem,12vw,11rem) 1.25rem;text-align:center;border-top:1px solid var(--line);overflow:hidden}
.cta:before{content:"";position:absolute;z-index:-1;width:620px;height:620px;left:50%;bottom:-500px;transform:translateX(-50%);border-radius:50%;background:var(--blue);filter:blur(190px);opacity:.16}
.cta h2{margin:1.2rem auto;max-width:1000px;font-size:clamp(2rem,5vw,4.5rem);line-height:1.1;letter-spacing:-.04em}
.cta h2 span{color:var(--blue)}
.cta>p:not(.eyebrow){max-width:560px;margin:1.6rem auto 0;color:var(--muted);font-size:1rem;line-height:1.65}
.cta-contact{min-height:50px;margin:2rem auto 0;padding:.95rem 1.35rem;border:1px solid var(--blue);border-radius:.7rem;background:var(--blue);color:#fff;font-size:.82rem;font-weight:750;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.cta-contact:hover{transform:translateY(-3px);box-shadow:0 14px 38px #168cff31}
footer{padding:2.4rem clamp(1.25rem,4vw,4.5rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);color:#96a6b3;font-size:.75rem}
footer>div{display:flex;gap:1.5rem}
footer>div a,footer>div button{display:flex;align-items:center;gap:.4rem;border:0;background:none;color:inherit;padding:0;cursor:pointer;font-size:inherit;transition:color .2s ease}
footer>div a:hover,footer>div button:hover{color:#fff}

/* Native dialogs stay above every stacking context and fit the visible viewport. */
.modal{
  position:fixed;
  inset:0;
  margin:auto;
  padding:0;
  width:min(36rem,calc(100% - 2 * var(--modal-space) - env(safe-area-inset-left) - env(safe-area-inset-right)));
  max-width:none;
  max-height:calc(100vh - 2 * var(--modal-space) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  max-height:calc(var(--viewport-height,100dvh) - 2 * var(--modal-space) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow:hidden;
  border:1px solid #285271;
  border-radius:1.2rem;
  background:#0a121b;
  color:var(--text);
  box-shadow:0 24px 90px #0009;
  overscroll-behavior:contain;
}
.modal:not([open]){display:none}
.modal[open]{display:flex;flex-direction:column}
.modal::backdrop{background:#02060de8}
.modal-header{flex:none;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.25rem;border-bottom:1px solid #1c3448;background:#0c1924}
.modal-header>div{min-width:0}
.modal-header h2{margin:0;font-size:clamp(1.15rem,3vw,1.6rem);line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}
.modal-header .eyebrow{margin-bottom:.4rem;font-size:.75rem;letter-spacing:.12em}
.modal-close{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #335a79;border-radius:50%;background:#112636;color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
.modal-close:hover{background:#193d56;border-color:var(--blue)}
.video-dialog{width:min(30rem,calc(100% - 2 * var(--modal-space) - env(safe-area-inset-left) - env(safe-area-inset-right)))}
.video-dialog .modal-header{padding:.7rem .85rem;gap:.75rem}
.video-dialog .modal-header h2{font-size:1rem}
.video-content{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;display:grid;justify-items:center;padding:.75rem;background:#04070b}
.video-embed{width:min(100%,calc((100vh - 9rem) * .5625));width:min(100%,max(5rem,calc((var(--viewport-height,100dvh) - 9rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * .5625)));aspect-ratio:9/16;position:relative;overflow:hidden;border-radius:.6rem;background:#000}
.video-embed iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.local-player-note{margin:0;padding:2rem 1rem;color:#b5c7d6;line-height:1.6;text-align:center}
.contact-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1.25rem}
.contact-content>p{margin:0 0 1.2rem;color:#b0c0ce;font-size:1rem;line-height:1.6}
.contact-options{display:grid;gap:.65rem}
.contact-options>a,.contact-options>button{min-width:0;width:100%;padding:.95rem;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:.85rem;border:1px solid #23435b;border-radius:.8rem;background:#0d1c29;color:#fff;text-align:left;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.contact-options>a:hover,.contact-options>button:hover{border-color:var(--blue);background:#102738}
.contact-options>a>b,.contact-options>button>b{width:36px;height:36px;display:grid;place-items:center;border-radius:.55rem;background:#146fbb}
.contact-options span{min-width:0;display:flex;flex-direction:column;gap:.2rem;overflow-wrap:anywhere}
.contact-options strong{font-size:1rem;font-weight:700;line-height:1.4}
.contact-options small{color:#a8bdce;font-size:.875rem;line-height:1.5}
.contact-options i{color:#70c0ff;font-size:1rem;font-style:normal;text-align:center}
.contact-options .copied{border-color:var(--blue)}
.contact-content .copy-status{min-height:1.5em;margin:.85rem 0 0;color:#86d0ff;font-size:.875rem;overflow-wrap:anywhere}

@keyframes heroIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes visualIn{from{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes feedbackLoop{to{transform:translateX(calc(-50% - .5rem))}}

@media(max-width:1200px){
  .project-showcase{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px}
}

@media(max-width:1100px){
  :root{--header-height:calc(70px + env(safe-area-inset-top))}
  .site-header{padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}
  .site-header nav{position:absolute;top:var(--header-height);left:0;width:100%;max-height:calc(100vh - var(--header-height));max-height:calc(var(--viewport-height,100dvh) - var(--header-height));overflow-y:auto;overscroll-behavior:contain;display:none;flex-direction:column;align-items:stretch;gap:.35rem;padding:1rem;background:#060b10f7;border-bottom:1px solid #18344d;box-shadow:0 18px 40px #000c}
  .site-header nav.is-open{display:flex}
  .site-header nav>a{padding:.9rem 1rem;border-radius:.6rem;color:#d0dae2}
  .site-header nav>a:after{display:none}
  .site-header nav>a:hover{background:#0d1c28}
  .site-header nav .contact-mini{width:100%;padding:.9rem 1rem}
  .menu-toggle{display:flex}
  .hero{column-gap:2rem}
  .hero-about{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:2rem}
  .hero-actions{gap:.65rem 1.2rem}
  .hero-actions a,.hero-actions button{font-size:.8125rem}
  .numbers div{min-height:105px}
  .feedbacks-head{grid-template-columns:1fr;align-items:start}
}

@media(max-width:850px){
  .hero{width:min(100%,720px);grid-template-columns:1fr;grid-template-areas:"copy" "visual" "about";padding-top:calc(var(--header-height) + 2.5rem);row-gap:2.5rem}
  .hero-copy{width:100%}
  .hero h1{font-size:clamp(2rem,13vw,5.75rem);font-size:min(17cqi,5.75rem)}
  .hero-actions a,.hero-actions button{font-size:.875rem}
  .hero-visual{width:min(100%,460px);margin:0 auto}
  .portrait-image{aspect-ratio:4/4.4}
  .hero-about{grid-template-columns:1fr;gap:1.4rem}
  .project-showcase{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
}

@media(max-width:620px){
  :root{--header-height:calc(64px + env(safe-area-inset-top))}
  .site-header .logo{font-size:.86rem;gap:.5rem}
  .site-header .logo-avatar{width:31px;height:31px}
  .menu-toggle{border-color:transparent;background:transparent;padding:12px;gap:4px}
  .menu-toggle.is-open span:first-child{transform:translateY(6px) rotate(45deg)}
  .menu-toggle.is-open span:last-child{transform:translateY(-6px) rotate(-45deg)}
  .hero{width:min(100%,560px);grid-template-areas:"headline" "visual" "actions" "timeline" "about";padding:calc(var(--header-height) + 1.75rem) max(1.25rem,env(safe-area-inset-right)) 3rem max(1.25rem,env(safe-area-inset-left));row-gap:1.15rem;justify-items:center}
  .hero:before{background:radial-gradient(ellipse at 50% 26%,#1264b517,transparent 60%)}
  .hero-copy{display:contents;container-type:normal;animation:none}
  .hero h1{grid-area:headline;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 .18em;width:100%;margin:0;font-size:clamp(2.25rem,11vw,3.25rem);line-height:1.08;letter-spacing:-.045em;text-align:center}
  .hero h1 .headline-lead,.hero h1 .headline-main{flex:0 1 auto;margin:0;font-family:inherit;font-size:.5em;font-weight:700;line-height:1.3;letter-spacing:-.025em;color:#e5ebf2}
  .hero h1 .headline-accent{flex-basis:100%;margin-top:.1em}
  .hero-visual{width:min(70vw,260px);max-width:100%;margin:.15rem auto 0}
  .portrait-image{aspect-ratio:4/4.4}
  .hero-actions{grid-area:actions;display:grid;grid-template-columns:1fr;width:min(100%,270px);margin:0;gap:.2rem;justify-items:center}
  .hero-actions .primary,.hero-actions .secondary{width:100%;min-height:44px;padding:.7rem 1.15rem;border-radius:999px;font-size:.8125rem;font-weight:600;line-height:1.4;gap:.65rem;justify-content:center;box-shadow:none}
  .hero-actions .secondary{border:0;background:transparent;color:#b7c8d8}
  .hero-actions .primary b,.hero-actions .secondary span{display:none}
  .hero-actions .primary:before{content:"";width:0;height:0;flex:none;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor}
  .hero-actions .secondary:after{content:"";flex:none;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;background:linear-gradient(135deg,transparent 43%,currentColor 44% 56%,transparent 57%)}
  .hero-timeline{grid-area:timeline;width:min(100%,300px);margin:.1rem 0 .25rem}
  .timeline-ruler{margin-left:25px;padding-bottom:.4rem;font-size:.5rem}
  .timeline-track{height:24px}
  .timeline-clip{height:19px}
  .audio-track{height:20px}
  .timeline-audio{height:13px}
  .hero-about{width:100%;margin-top:1.25rem;gap:1.1rem;padding-top:1.75rem;justify-self:stretch;text-align:left}
  .hero-about .eyebrow{font-size:.6875rem;letter-spacing:.14em}
  .about-heading h2{margin-top:.5rem;font-size:1.9rem;line-height:1.15}
  .about-copy p{font-size:1rem;line-height:1.7}
  .about-copy .about-lead{font-size:1.0625rem;line-height:1.65}
  .numbers div{min-height:90px;padding:.9rem .35rem;flex-direction:column;gap:.4rem;text-align:center}
  .numbers strong{font-size:1.4rem}
  .numbers span{max-width:105px;font-size:.75rem;line-height:1.4;letter-spacing:0}
  .trusted{padding:1.2rem 0}
  .marquee>div{gap:3rem}
  .work{padding:4.25rem max(1.25rem,env(safe-area-inset-right)) 4.25rem max(1.25rem,env(safe-area-inset-left))}
  .section-intro{max-width:360px;margin:0 auto 1.75rem;text-align:left}
  .section-intro h2{margin:.75rem 0 1rem;font-size:clamp(1.875rem,8vw,2.5rem);line-height:1.1}
  .section-intro>p:last-child{margin:0;font-size:.9375rem;line-height:1.65}
  .project-showcase{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:360px;margin:0 auto;padding:0;gap:1.75rem}
  .project-tile{width:100%;padding:0;border-color:#20303e;border-radius:1.125rem;background:#0a1118;overflow:hidden}
  .project-tile:hover{transform:none;box-shadow:none}
  .cover-ui{display:block;aspect-ratio:9/13;padding:.875rem;border-radius:1rem 1rem 0 0}
  .cover-ui:before{background:linear-gradient(180deg,#03101a80,transparent 25%,transparent 62%,#03101ae8)}
  .cover-ui:after{display:none}
  .cover-ui:focus-visible{outline-offset:-4px}
  .cover-head{position:absolute;top:.875rem;left:.875rem;width:calc(100% - 1.75rem);align-items:center;font-size:.625rem;font-weight:600;line-height:1;letter-spacing:.08em}
  .cover-head span{padding:.4rem .55rem;border:1px solid #ffffff24;border-radius:999px;background:#06121bba}
  .project-play,.tile-info button{display:none}
  .mobile-video-play{position:absolute;z-index:3;left:1rem;bottom:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;max-width:calc(100% - 2rem);min-height:44px;padding:.65rem .95rem;border:1px solid #ffffff38;border-radius:999px;background:#07121fe8;color:#fff;font-size:.8125rem;font-weight:600;line-height:1.35;box-shadow:0 4px 16px #0003}
  .mobile-video-play svg{display:block;flex:none;width:13px;height:13px;color:var(--blue-light)}
  .tile-info{display:block;padding:1.15rem 1.125rem 1.3rem}
  .tile-info span{font-size:.625rem;font-weight:700;line-height:1.5;letter-spacing:.1em}
  .tile-info h3{margin:.45rem 0 .55rem;font-size:1.25rem;line-height:1.25;letter-spacing:-.025em;overflow-wrap:normal}
  .tile-info p{font-size:.8125rem;line-height:1.65;color:#a4b4c2}
  .feedbacks{padding-block:4.25rem}
  .feedbacks-head{gap:1.1rem;margin-bottom:1.75rem;padding-inline:1.25rem;text-align:left}
  .feedbacks-head h2{font-size:clamp(2rem,8vw,2.5rem)}
  .feedbacks-head>p{font-size:.9375rem;line-height:1.65}
  .feedback-window{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
  .feedback-track{animation-duration:34s}
  .feedback-card{width:min(82vw,340px);min-height:215px;padding:1.2rem}
  .feedback-card blockquote{font-size:1.35rem;line-height:1.25}
  .cta{padding:4.5rem 1.25rem}
  .cta h2{font-size:clamp(1.875rem,8vw,2.5rem);line-height:1.15}
  .cta>p:not(.eyebrow){font-size:.9375rem}
  .cta-contact{width:min(100%,340px)}
  footer{align-items:flex-start;flex-direction:column;gap:1.35rem;padding:2rem 1.25rem}
  .modal-header{padding:1rem}
  .contact-content{padding:1rem}
  .contact-options>a,.contact-options>button{padding:.75rem;gap:.65rem}
  .contact-options>a>i{position:relative;display:block;width:100%;height:18px;font-size:0}
  .contact-options>a>i:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;background:linear-gradient(135deg,transparent 43%,currentColor 44% 56%,transparent 57%)}
}

@media(max-width:390px){
  .contact-options>a,.contact-options>button{grid-template-columns:32px minmax(0,1fr) 16px;gap:.5rem}
  .contact-options>a>b,.contact-options>button>b{width:32px;height:32px}
}

@media (min-width:621px) and (max-width:850px) and (max-height:540px) and (pointer:coarse){
  .hero{width:min(100%,800px);padding-top:calc(var(--header-height) + 1.5rem);padding-inline:max(1.25rem,env(safe-area-inset-left)) max(1.25rem,env(safe-area-inset-right));grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"copy visual" "about about";gap:2rem}
  .hero h1{font-size:clamp(2.5rem,7.8vw,3.7rem)}
  .hero-actions{margin-top:1rem;gap:.45rem 1rem}
  .hero-actions a,.hero-actions button{min-height:44px;padding:.6rem .85rem;font-size:.75rem}
  .hero-actions .primary,.hero-actions .secondary{border-radius:999px;padding:.6rem 1rem;justify-content:center}
  .hero-actions .secondary{border:0;background:transparent}
  .hero-actions .primary b,.hero-actions .secondary span{display:none}
  .hero-actions .primary:before{content:"";flex:none;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid currentColor}
  .hero-actions .secondary:after{content:"";flex:none;width:9px;height:9px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;background:linear-gradient(135deg,transparent 43%,currentColor 44% 56%,transparent 57%)}
  .hero-visual{width:100%;max-width:240px}
  .hero-timeline{margin-top:1rem}
  .hero-about{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:1.5rem;padding-top:1.5rem}
  .about-heading h2{font-size:2rem}
  .about-copy .about-lead{font-size:1rem}
  .work,.feedbacks,.cta{padding-block:4rem}
}

@media(hover:none){
  .project-tile:hover,.hero-actions .primary:hover,.hero-actions .secondary:hover,.cta-contact:hover,.contact-mini:hover{transform:none}
  .project-tile:hover .cover-ui>img{transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .feedback-track{animation:none!important;transform:none;max-width:100%;width:100%;flex-wrap:wrap;justify-content:center;padding-inline:1rem}
  .feedback-card{width:min(100%,430px)}
  .feedback-card[aria-hidden="true"],.feedback-controls{display:none}
  .feedback-window{mask-image:none}
  .feedback-window:before,.feedback-window:after{display:none}
}
