/* Auwave: readable typography, clear actions, and a tangible delivery process. */
.cursor-dot,.cursor-ring{display:none!important}
body{font-family:"Instrument Sans",Arial,sans-serif;line-height:1.5}
button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--violet);outline-offset:5px}
section[id],header[id]{scroll-margin-top:24px}
.nav{position:relative;z-index:20;height:88px;background:#fff}
.nav-links{gap:26px;font-size:14px}
.nav-links a{display:flex;align-items:center;min-height:44px}
.nav-links a[aria-current="location"]{color:var(--violet);text-decoration:underline;text-underline-offset:7px}
.nav-contact{display:flex;align-items:center;min-height:44px;font-size:14px}
.nav-contact .nav-contact-label,.nav-contact .nav-contact-short{margin-left:0;color:inherit}
.nav-contact .nav-contact-short{display:none}
.nav-toggle{display:none}
.hero{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);min-height:760px}
.hero-main{padding-top:68px;padding-right:52px}
.hero h1{margin-top:35px;font-size:clamp(62px,7.1vw,108px);line-height:1.02;letter-spacing:-.055em}
.hero-line{overflow:visible;padding-bottom:.12em;margin-bottom:-.12em}
.hero-note{grid-template-columns:104px minmax(0,1fr);gap:28px;margin-top:46px}
.hero-note .label{font-size:14px;padding-top:4px}
.hero-note p{margin:0;max-width:520px;font-size:19px;line-height:1.6;letter-spacing:-.015em}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:28px}
.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:52px;padding:14px 20px;background:var(--ink);color:white;font-size:15px;font-weight:500;transition:background .2s}
.button-primary:hover{background:var(--violet)}
.button-primary span,.text-link span{transition:transform .2s}
.button-primary:hover span{transform:translate(3px,-3px)}
.text-link{display:inline-flex;align-items:center;gap:15px;min-height:48px;font-size:14px;text-decoration:underline;text-underline-offset:5px}
.text-link span{color:var(--violet)}
.text-link:hover span{transform:translateY(3px)}
.hero-sea{min-height:160px;margin-top:36px;margin-right:-52px}
.aside-top{padding:24px 28px;font-size:14px;line-height:1.5}
.aside-top>span:first-child{white-space:normal;max-width:230px}
.flow-copy strong{font-size:20px;line-height:1.25}
.flow-copy small{font-size:14px;line-height:1.6}
.flow-step{min-height:88px}
.flow-num{font-size:14px}
.map-status{grid-template-columns:48px 1fr auto;align-items:center;font-size:14px;padding-top:8px;margin-top:10px}
.phase-pause{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:62px;padding:6px 0 6px 8px;border:0;background:transparent;color:var(--muted);font:400 14px "IBM Plex Mono",monospace;cursor:pointer}
.phase-pause:hover{color:var(--violet)}
.phase-detail{min-height:184px;padding:20px;gap:13px}
.phase-kicker,.phase-time{font-size:14px;line-height:1.5}
.phase-outcome{font-size:16px;line-height:1.5;font-weight:500}
.phase-tags span{font-size:14px}
.map-caption{font-size:14px;padding-top:20px;margin-top:8px}
.aside-cta{font-size:16px;white-space:normal;line-height:1.35;min-height:92px}
.aside-cta-copy{padding:16px 14px 16px 0}
.aside-cta-copy small{font-size:14px;line-height:1.5}
.proof-item .mono,.section-index{font-size:14px}
.section{padding:100px 0}
.section-head{grid-template-columns:230px minmax(0,1fr);gap:40px;margin-bottom:52px}
.section-head h2{font-size:clamp(40px,4.8vw,68px);line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
.cap-row{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);gap:28px;transition:none}
.cap-row:hover{padding-left:0;background:transparent}
.cap-row h3{font-size:27px;line-height:1.2;letter-spacing:-.025em}
.cap-row p{font-size:16px;line-height:1.65}
.cap-num{font-size:14px}
.cap-row .arrow{display:none}
.work-note{font-size:16px;line-height:1.65}
.project-card h3{letter-spacing:-.035em;line-height:1.12}
.project-shot img,.featured .project-shot img{height:auto;min-height:0;flex:0 0 auto;aspect-ratio:8/5;object-fit:contain}
.project-solvida .project-shot img{aspect-ratio:9/4}
.project-shot,.featured .project-shot{min-height:0}
.featured .project-shot{justify-content:flex-start}
.project-card.featured{min-height:0}
.project-card p{font-size:15px;line-height:1.65}
.project-meta,.project-link{font-size:14px}
.project-link{margin-top:24px;padding-top:20px;min-height:50px;align-items:center}
.project-solvida .project-link b{color:#655014}
.project-picnic .project-link b{color:#005157}
.project-card:not(.featured) .project-copy{min-height:365px}
.project-card:not(.featured) .project-link{margin-top:auto}
.engagement .mono{font-size:14px}
.engagement h3{letter-spacing:-.03em;line-height:1.2}
.engagement p{font-size:16px;line-height:1.65}
.engagement a{font-size:15px;min-height:48px;align-items:center}
.faq-item summary{font-size:19px;line-height:1.4}
.faq-item summary span:first-child{font-size:14px;padding-top:4px}
.faq-item p{font-size:16px}
.principle-copy h2{line-height:1.08;letter-spacing:-.045em}
.principle-copy p{font-size:18px}
.principle-row h3{font-size:21px;line-height:1.35}
.principle-row p{font-size:15px;line-height:1.65}
.principle-row b{font-size:14px}
.final h2{line-height:1.06;letter-spacing:-.05em}
.footer-col h3,.footer-bottom{font-size:14px}
.footer-col a{font-size:14px;min-height:32px;display:flex;align-items:center}
.footer-brand p{font-size:14px;line-height:1.65}
.reveal,.reveal.visible{clip-path:none}
.reveal{opacity:1;transform:none}
.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(18px)}
/* Essential hero content stays readable even if animation playback is interrupted. */
.motion-ready .hero-line>span,.motion-ready .hero-note,.motion-ready .hero-aside,.motion-ready .system-map:before,.motion-ready .flow-step{animation:none;opacity:1;transform:none}

/* Each illustration describes a deliverable; all labels stay real text. */
.process{background:#15151b;color:#fff}
.process-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:70px;margin-bottom:48px}
.process .section-index{color:#b9aaff}
.process-heading h2{margin:24px 0 0;font-size:clamp(44px,5.3vw,74px);font-weight:500;letter-spacing:-.045em;line-height:1.06}
.process-heading h2 em{font-style:normal;color:#b9aaff}
.process-heading>p{max-width:370px;margin:0 0 6px;font-size:18px;line-height:1.65;color:#c1c0cb}
.process-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #44434f}
.process-tab{position:relative;display:flex;align-items:center;gap:18px;min-height:85px;padding:20px 26px;border:0;border-right:1px solid #44434f;background:transparent;color:#cbc9d3;text-align:left;font-size:23px;font-weight:500;cursor:pointer;overflow:hidden;transition:background .45s cubic-bezier(.22,1,.36,1),color .35s}
.process-tab:last-child{border-right:0}
.process-tab .tab-number{color:#b9aaff;font:400 14px "IBM Plex Mono",monospace}
.process-tab svg{width:25px;height:25px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.5;opacity:.5;transition:transform .22s}
.process-tab:hover{background:#25242f;color:#fff}
.process-tab[aria-selected="true"]{background:var(--violet);color:#fff}
.process-tab[aria-selected="true"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#d8d0ff;transform-origin:left;animation:processProgress 6s linear both}
.process-tab[aria-selected="true"] .tab-number{color:#e7e1ff}
.process-tab[aria-selected="true"] svg{opacity:1;transform:rotate(45deg)}
.process-tab:focus-visible{outline-color:#dbd2ff;outline-offset:-5px}
.process-panels{display:grid;overflow:hidden}
.process-panels>.process-panel{grid-area:1/1}
.process-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid #44434f;border-top:0;opacity:1;transform:none;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.process-panel.is-entering{opacity:0;transform:translateX(22px)}
.process-panel.is-leaving{opacity:0;transform:translateX(-18px);pointer-events:none}
.process-panel[hidden]{display:none}
.process-copy{padding:45px 42px 44px}
.process-panel{min-height:524px}
.process-eyebrow{font:400 14px/1.7 "IBM Plex Mono",monospace;letter-spacing:.015em;color:#b9aaff}
.process-copy h3{font-size:clamp(30px,3.1vw,43px);line-height:1.1;letter-spacing:-.035em;font-weight:500;margin:26px 0 20px}
.process-copy>p{max-width:445px;font-size:16px;line-height:1.75;color:#c1c0cb;margin:0}
.process-copy h4{margin:30px 0 14px;font-size:14px;line-height:1.4;font-weight:500;color:#fff}
.outcome-list{list-style:none;padding:0;margin:0}
.outcome-list li{display:flex;align-items:baseline;gap:12px;font-size:14px;line-height:1.6;color:#dedde5;padding:9px 0;border-top:1px solid #34333f}
.outcome-list li:before{content:"↗︎";color:#b9aaff;font-size:16px}
.process-visual{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:28px;position:relative;min-width:0;margin:0;padding:40px 38px 24px;background:#eae6fc;overflow:hidden;color:var(--ink)}
.brief-sheet,.product-sheet,.release-sheet{position:relative;width:100%;max-width:350px;background:#fff;padding:25px;border:1px solid #24232e}
.brief-sheet{transform:rotate(-2deg);transform-origin:50% 80%;transition:transform .35s ease}
.visual-discover:hover .brief-sheet{transform:rotate(0)}
.sheet-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;font:400 14px/1.6 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.03em}
.sheet-topline svg{width:23px;height:23px;fill:none;stroke:var(--violet);stroke-width:1.5}
.brief-title{margin:22px 0 24px;font-size:36px;line-height:1.04;letter-spacing:-.04em;font-weight:500}
.brief-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.brief-row>span{color:var(--violet);font:400 14px "IBM Plex Mono",monospace}
.brief-row strong{display:block;font-size:14px;font-weight:500;line-height:1.4}
.brief-row small{display:block;font-size:14px;color:var(--muted);line-height:1.5;margin-top:3px}
.brief-footer{display:flex;align-items:center;justify-content:space-between;margin:15px -25px -25px;padding:14px 25px;background:var(--violet);color:white;font-size:14px}
.brief-footer svg{width:32px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
.process-visual figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;width:100%;max-width:360px;font:400 14px/1.6 "IBM Plex Mono",monospace;color:#555062;text-transform:uppercase}
.visual-build{background:#e8e6ef}
.product-sheet{max-width:405px;padding:22px}
.product-sheet .sheet-topline{flex-wrap:wrap}
.iteration-label{color:var(--muted);font-size:14px}
.interface-sketch{display:grid;grid-template-columns:32px 1fr;margin:26px -6px 24px;border:1px solid #b7b2ca;min-height:208px;background:#f7f6fb}
.sketch-rail{display:flex;flex-direction:column;gap:14px;padding:17px 10px;border-right:1px solid #d3cedf}
.sketch-rail i{height:9px;width:9px;background:#d8d3e6}
.sketch-rail i:first-child{background:var(--violet);margin-bottom:14px}
.sketch-body{padding:16px}
.sketch-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #dedbe7}
.sketch-toolbar span{height:7px;width:62%;background:#34303f}
.sketch-toolbar i{width:14px;height:14px;border-radius:50%;background:#d2c9ff}
.sketch-content{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin:16px 0}
.sketch-feature{display:grid;place-items:center;background:#dfd7ff;min-height:86px}
.sketch-feature svg{width:100%;height:auto;fill:white;stroke:var(--violet);stroke-width:2}
.sketch-feature svg circle{fill:var(--violet)}
.sketch-lines{display:flex;flex-direction:column;gap:8px;justify-content:center}
.sketch-lines i{height:4px;background:#c4bfd1}
.sketch-lines i:nth-child(2){width:80%}
.sketch-lines i:nth-child(3){width:60%}
.sketch-lines span{width:40px;height:16px;background:var(--violet);margin-top:7px}
.sketch-bottom{display:flex;gap:10px}
.sketch-bottom span{flex:1;height:24px;border:1px solid #d7d2e4;background:#fff}
.review-note{display:flex;align-items:start;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.review-note svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--violet);stroke-width:1.5}
.review-note strong{display:block;font-size:15px;font-weight:500}
.review-note small{display:block;margin-top:5px;font-size:14px;line-height:1.5;color:var(--muted)}
.visual-scale{background:#d9d0fc}
.release-sheet{transform:rotate(2deg);transition:transform .35s ease}
.visual-scale:hover .release-sheet{transform:rotate(0)}
.release-symbol{margin:8px 0 12px}
.release-symbol svg{display:block;width:100%;max-height:165px;fill:#fff;stroke:var(--violet);stroke-width:2}
.release-symbol .release-path,.release-symbol .release-arrow{fill:none;stroke-width:9;stroke-linejoin:round}
.release-symbol .release-baseline{stroke:#d9d9e0;stroke-width:1}
.release-title{font-size:31px;line-height:1.08;letter-spacing:-.035em;font-weight:500}
.release-checks{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:14px}
.release-checks b{font-weight:400;color:var(--violet);margin-right:3px}
.process-next{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-top:30px}
.process-next p{font-size:16px;margin:0;line-height:1.6}
.process-next p span{color:#b2afbd;font-size:14px}
.process-next a{display:flex;align-items:center;justify-content:space-between;gap:38px;min-height:52px;padding:13px 20px;border:1px solid #8a859b;font-size:15px;transition:background .2s,border-color .2s}
.process-next a:hover{background:var(--violet);border-color:var(--violet)}
.process-next a span{color:#c4b7ff;font-size:21px}
@keyframes processProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:901px) and (max-width:1100px){.hero-main{padding-right:30px;padding-left:24px}.hero h1{font-size:64px}.hero-note{grid-template-columns:1fr;gap:12px;margin-top:30px}.hero-sea{margin-right:-30px}.nav-links{gap:18px}.process-copy{padding:35px 28px}.process-visual{padding:32px 26px 24px}}
@media(max-width:900px){
  .nav{grid-template-columns:1fr auto auto;column-gap:20px;height:80px}
  .nav-toggle{display:flex;align-items:center;gap:9px;justify-content:center;min-height:44px;min-width:72px;padding:8px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;cursor:pointer}
  .nav-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 20px;background:#fff;border:1px solid var(--line);border-top:0}
  .nav[data-menu-open="true"] .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
  .nav-links a{min-height:48px}
  .hero{grid-template-columns:1fr}
  .hero-main{min-height:660px;padding:60px 24px 42px;border-right:0}
  .hero h1{font-size:clamp(64px,9.5vw,88px)}
  .hero-note{max-width:650px;margin-top:36px}
  .hero-sea{margin-left:-24px;margin-right:-24px;min-height:160px}
  .hero-aside{min-height:0}
  .aside-top{padding:22px 28px}
  .aside-top>span:first-child{max-width:none}
  .system-map{min-height:0}
  .phase-detail{min-height:162px}
  .section-head{grid-template-columns:160px minmax(0,1fr);gap:24px}
  .process-heading{gap:30px;grid-template-columns:1.25fr 1fr}
  .process-heading>p{font-size:16px}
  .process-copy{padding:30px 24px}
  .process-visual{padding:34px 24px 24px}
  .process-tab{padding:20px;gap:12px;font-size:21px}
  .brief-title{font-size:31px}
  .engagement{min-height:260px}
  .footer-col:last-child{display:block}
  .footer-top{grid-template-columns:1.5fr 1fr 1fr}
  .footer-col:last-child{grid-column:2/-1}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 40px)}
  .nav{column-gap:12px;height:76px}
  .nav-contact{font-size:14px;line-height:1.5;text-transform:none}
  .nav-contact .nav-contact-label{display:none}
  .nav-contact .nav-contact-short{display:inline}
  .nav-contact span{margin-left:8px}
  .nav-toggle{min-width:44px;padding:10px}
  .menu-label{display:none}
  .brand img{width:114px}
  .hero-main{padding:48px 20px 36px;min-height:0}
  .hero h1{font-size:clamp(47px,9.8vw,68px);margin-top:26px;line-height:1.05;letter-spacing:-.05em}
  .hero-note{grid-template-columns:1fr;gap:12px;margin-top:30px}
  .hero-note p{font-size:18px;line-height:1.6}
  .hero-actions{gap:16px;margin-top:24px}
  .button-primary{font-size:14px;padding:12px 16px;gap:20px}
  .text-link{font-size:14px;gap:10px}
  .hero-sea{margin-left:-20px;margin-right:-20px;margin-bottom:-36px;min-height:140px}
  .flow-copy strong{font-size:22px}
  .flow-copy small{font-size:14px}
  .phase-outcome{font-size:17px}
  .section{padding:68px 0}
  .section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}
  .section-head h2{font-size:42px;line-height:1.12}
  .cap-row{grid-template-columns:30px minmax(0,1fr);gap:14px;padding:27px 0}
  .cap-row h3{font-size:24px}
  .cap-row p{grid-column:2;margin-top:0}
  .work-note{margin:0 0 32px;font-size:16px}
  .project-meta,.project-link{font-size:14px}
  .project-card:not(.featured) .project-copy{min-height:340px}
  .process-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
  .process-heading h2{font-size:clamp(42px,8vw,56px);margin-top:20px}
  .process-heading>p{max-width:440px;margin:0;font-size:17px}
  .process-tabs{position:sticky;top:0;z-index:5;background:#15151b}
  .process-tab{min-height:78px;padding:14px 12px;gap:5px;flex-direction:column;align-items:flex-start;font-size:17px;line-height:1.35}
  .process-tab .tab-number{font-size:14px}
  .process-tab svg{display:none}
  .process-panel{grid-template-columns:1fr}
  .process-copy{padding:30px 24px 32px}
  .process-copy h3{font-size:36px}
  .process-copy>p{font-size:16px}
  .process-copy h4{margin-top:26px}
  .process-eyebrow{font-size:14px}
  .outcome-list li{font-size:14px;padding:10px 0}
  .process-visual{padding:35px 27px 24px;min-height:400px;gap:24px}
  .brief-sheet,.product-sheet,.release-sheet{max-width:340px}
  .process-visual figcaption{font-size:14px}
  .process-next{align-items:stretch;flex-direction:column;gap:22px;padding-top:26px}
  .process-next a{align-self:flex-start;width:100%}
  .engagement-grid{gap:14px}
  .engagement{min-height:270px;padding:24px}
  .faq-item summary{font-size:18px;gap:12px;grid-template-columns:25px minmax(0,1fr) auto}
  .faq-item p{padding-left:37px}
  .principle-copy{padding:68px 20px}
  .principle-row{padding:27px 20px;grid-template-columns:26px 1fr;gap:16px}
  .final{padding-top:68px}
  .final h2{font-size:clamp(46px,10vw,62px)}
  .final-top{gap:30px;padding-bottom:44px}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px 16px}
  .footer-col:last-child{grid-column:auto}
  .footer-col a{min-height:36px;overflow-wrap:anywhere}
  .footer-brand{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.visible){opacity:1;transform:none}.brief-sheet,.release-sheet{transform:none}}
/* Keep the hero headline stable: no entrance transform and enough line spacing to prevent collisions. */
.motion-ready .hero h1{animation:none}
.hero h1{line-height:1.14}
@media(max-width:620px){.hero h1{line-height:1.14}}
