/* Edition 6: stable detail, compositor-friendly text, input-driven smooth scrolling. */
:root{--ease-premium:cubic-bezier(.22,.75,.25,1);--ease-soft:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:108px}
.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0a0e15;transition:background .45s,box-shadow .45s,border-color .45s;view-transition-name:site-header}
.site-header.is-scrolled{background:#0a0e15;border-bottom-color:#ffffff20;box-shadow:0 8px 40px #0004}
.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:1px;overflow:hidden;pointer-events:none}
.reading-progress span{display:block;height:100%;background:linear-gradient(90deg,#667085,#e0e4eb);transform:scaleX(var(--read-progress,0));transform-origin:left}
.home-hero-dark .hero-grid{padding-top:45px;padding-bottom:128px}
.practice-badge{display:inline-flex;align-items:center;gap:9px;border:1px solid #ffffff28;border-radius:24px;padding:8px 13px;font-size:10px;color:#e0e4eb;letter-spacing:.035em;background:#0a0e152b;margin:0 0 24px}
.badge-dot{width:5px;height:5px;background:#d1d6e0;box-shadow:0 0 0 3px #ffffff08;border-radius:50%;flex:none}
.home-hero-dark .hero-copy h1{margin:23px 0 18px}
.headline-line{overflow:clip;padding:0 0 .1em;margin-bottom:-.1em}
.headline-inner{display:block}
.home-hero-dark .hero-intro{max-width:575px;line-height:1.85;font-size:14px}
.hero-backdrop.perspective-scene{inset:-26px;width:calc(100% + 52px);height:calc(100% + 52px);transform:none;transition:none}
.hero-backdrop img{animation:none;transform:none}
.hero-guide{position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:1}
.hero-guide span{position:absolute;background:#2b333e;animation:none!important;transform:none!important}
.guide-vertical{top:0;bottom:0;width:1px;transform-origin:top}.guide-left{left:14%}.guide-right{right:14%}
.guide-horizontal{left:0;right:0;bottom:105px;height:1px;transform-origin:left}
.home-hero-dark:after{background:linear-gradient(180deg,#0a0e1540,#0a0e154a 48%,#0a0e15eb)}
.btn,.header-contact,.text-link{position:relative;isolation:isolate}
.btn{transition:background .45s,color .45s,transform .55s var(--ease-premium),box-shadow .55s;overflow:hidden}
.btn:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff35 48%,transparent 76%);transform:translateX(-130%);pointer-events:none}
.btn:hover:before{transform:translateX(130%);transition:transform .85s var(--ease-premium)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0005}
.btn .icon,.text-link .icon,.header-contact .icon{transition:transform .5s var(--ease-premium)}
.btn:hover .icon,.text-link:hover .icon,.header-contact:hover .icon{transform:translate(3px,-3px)}
.text-link{text-underline-offset:7px;transition:border-color .4s}
.focus-overlap .services-grid{border-color:#4e576a80;box-shadow:0 24px 60px #0005}
.focus-overlap .service-tile{transition:background .55s,border-color .55s,transform .65s var(--ease-premium),box-shadow .65s;overflow:hidden}
.focus-overlap .service-tile:before{background:linear-gradient(90deg,#667085,#e0e4eb);height:1px}
.service-tile:after{content:'';position:absolute;inset:0;background:radial-gradient(250px circle at var(--glow-x,50%) var(--glow-y,50%),#e0e4eb12,transparent 75%);opacity:0;transition:opacity .6s;pointer-events:none;z-index:0}
.service-tile>*{position:relative;z-index:1}
.focus-overlap .service-tile .tile-arrow{position:absolute}
.service-tile:hover:after{opacity:1}
.focus-overlap .service-tile .focus-icon{transition:transform .6s var(--ease-premium),opacity .6s;opacity:.8}
.focus-overlap .service-tile:hover .focus-icon{transform:translateY(-3px);opacity:1}
.focus-overlap .service-tile:hover .tile-arrow{transform:rotate(0deg) translate(1px,-1px)}
.practice-note{display:flex;align-items:center;justify-content:center;gap:19px;margin-top:26px;padding:4px 0}
.practice-note-label{flex:none;font-size:8px;letter-spacing:.15em;color:#e0e4eb;border:1px solid #4e576a;border-radius:20px;padding:8px 10px}
.focus-overlap .practice-note .section-footnote{margin:0;text-align:left;font-size:11px!important;max-width:630px;line-height:1.8}
.philosophy-section{padding-top:84px;padding-bottom:96px}
.three-pillar article{transition:border-color .45s;position:relative}
.three-pillar article:before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:#d1d6e0;transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease-premium)}
.three-pillar article:hover:before{transform:scaleX(1)}
.architecture-detail{transition:none;transform:none}
.media-frame-back{transition:none;transform:none}
.about-media{padding-bottom:55px}
.monogram-panel{border-width:5px;transition:none;transform:none}
.about-teaser-grid{gap:8%}.about-teaser-text h2{font-size:clamp(33px,3.2vw,47px)}
.engagement-principles{margin-top:31px;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #373f4e}
.engagement-principles article{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #373f4e}
.engagement-principles h3{font:500 11px/1.6 var(--sans);color:#e0e4eb;letter-spacing:.015em;margin:0}
.engagement-principles p{font-size:11px;line-height:1.65;margin:0!important;text-align:right}
.approach-steps{position:relative}
.approach-steps div{position:relative;overflow:hidden;transition:border-color .6s,background .6s,transform .65s var(--ease-premium)}
.approach-steps div:after{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,#e0e4eb,transparent);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease-premium)}
.approach-steps div.is-visible:after{transform:scaleX(1)}
.approach-steps div:hover{transform:translateY(-4px)}
.founding-note,.first-conversation{margin-top:32px;padding:25px 27px;border:1px solid #373f4e;border-left:2px solid #667085;border-radius:3px;background:linear-gradient(130deg,#21263180,#0a0e15)}
.founding-note .eyebrow{font-size:9px;letter-spacing:.1em;color:#d1d6e0}
.founding-note p,.first-conversation p{font-size:14px;line-height:1.85;margin:12px 0 0;color:#bfc6d4}
.first-conversation h3{font:500 20px var(--serif);color:#f0f1f5;margin:0}
.contact-panel{transition:border-color .55s,box-shadow .55s;background:linear-gradient(135deg,#252b37,#1b212c)}
.contact-panel:focus-within{border-color:#667085;box-shadow:0 24px 55px #0005}
.contact-form input,.contact-form textarea,.contact-form select{transition:border-color .3s,box-shadow .3s,background .3s}
.faq-list details{transition:background .45s,padding .45s}
.faq-list details[open]{background:#21263160;padding-inline:16px}
.faq-list details[open]>p{animation:detail-enter .5s var(--ease-premium) both}
.faq-list summary span{transition:transform .45s var(--ease-premium)}
.faq-list details[open] summary span{transform:rotate(45deg)}
.footer-email a .icon{transition:transform .5s var(--ease-premium)}
.footer-email a:hover .icon{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  html:active-view-transition{overflow-x:clip}
  ::view-transition{overflow:clip}
  ::view-transition-old(root){animation:page-out .22s ease both}
  ::view-transition-new(root){animation:page-in .3s ease-out both}
  ::view-transition-group(site-header){animation-duration:.4s;animation-timing-function:var(--ease-premium)}
  .hero-copy h1>.headline-line,.page-hero h1{animation:none}
  .motion-pending :is(.headline-inner,.practice-badge,.hero-topline,.home-hero-dark .hero-intro,.home-hero-dark .hero-actions,.page-hero h1){opacity:0}
  .entry-in-progress :is(.headline-inner,.practice-badge,.hero-topline,.home-hero-dark .hero-intro,.home-hero-dark .hero-actions,.page-hero h1),.motion-prepared{will-change:transform,opacity}
  .motion-ready .headline-inner{animation:headline-arrive 1.2s var(--ease-premium) both}
  .motion-ready .headline-line:nth-child(2) .headline-inner{animation-delay:90ms}
  .motion-ready .practice-badge{animation:detail-enter 1s .03s var(--ease-premium) both}
  .motion-ready .hero-topline{animation:detail-enter 1s .08s var(--ease-premium) both}
  .motion-ready .home-hero-dark .hero-intro{animation:detail-enter 1.1s .16s var(--ease-premium) both}
  .motion-ready .home-hero-dark .hero-actions{animation:detail-enter 1.1s .24s var(--ease-premium) both}
  .motion-ready .page-hero h1{animation:detail-enter 1.1s var(--ease-premium) both}
  .reveal{transition:opacity .9s var(--ease-premium),transform 1.05s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
  .reveal-pending{opacity:0;transform:translate3d(0,16px,0)}
  .reveal.is-visible,.reveal:focus-within{opacity:1;transform:translate3d(0,0,0)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .motion-enhanced .focus-overlap .service-tile:hover{transform:translate3d(0,-4px,0)}
}
@keyframes headline-arrive{from{opacity:0;transform:translate3d(0,32px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes detail-enter{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0}to{opacity:1}}
@media(max-width:970px){.hero-guide span{background:#222b35}.engagement-principles article{display:block}.engagement-principles p{text-align:left;margin-top:3px!important}}
@media(min-width:971px) and (max-width:1080px){.header-contact{display:none}}
@media(max-width:700px){.home-hero-dark .hero-grid{padding-top:31px;padding-bottom:125px}.practice-badge{font-size:9px;margin-bottom:23px}.home-hero-dark .hero-intro{font-size:13px}.practice-note{align-items:flex-start;gap:12px}.practice-note-label{font-size:7px;margin-top:2px}.focus-overlap .practice-note .section-footnote{font-size:11px!important}.philosophy-section{padding:60px 0 69px}.engagement-principles article{display:flex}.engagement-principles p{text-align:right;margin-top:0!important}.founding-note,.first-conversation{padding:21px}.about-media{padding-bottom:45px}}
@media(max-width:440px){.engagement-principles article{display:block}.engagement-principles p{text-align:left;margin-top:3px!important}.practice-note{flex-direction:column;gap:10px}.home-hero-dark .hero-actions .btn{gap:10px}}
@media(max-width:370px){html[lang=nl] .home-hero-dark .hero-grid{padding-top:24px;padding-bottom:98px}.practice-badge{font-size:8px;padding:8px 11px}.home-hero-dark .hero-copy h1{margin-block:20px 16px}}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  html{scroll-behavior:auto}
  .hero-backdrop.perspective-scene,.architecture-detail,.monogram-panel,.media-frame-back{transform:none!important}
  .service-tile:after,.btn:before{display:none}
  .headline-inner,.practice-badge,.hero-topline,.hero-intro,.hero-actions{animation:none!important;opacity:1;transform:none}
  .reveal,.reveal-pending{opacity:1;transform:none;transition:none!important}
}

/* Lenis writes native scroll positions; avoid a second browser easing pass. */
html.lenis,html.lenis body{scroll-behavior:auto!important}
.service-tile:after{background:radial-gradient(250px circle at 50% 50%,#e0e4eb12,transparent 75%)}
@media(prefers-reduced-motion:reduce){.motion-pending :is(.headline-inner,.practice-badge,.hero-topline,.hero-intro,.hero-actions,.page-hero h1){opacity:1}.entry-in-progress *, .motion-prepared{will-change:auto!important}}
