/* Tela Studios — static multi-page portfolio */
:root{
  --void:#0A0A0B;
  --surface:#161616;
  --mid:#83868C;
  --paper:#F2F2F0;
  --hair:rgba(242,242,240,.14);
  --hair-strong:rgba(242,242,240,.28);
  --glass:rgba(10,10,11,.78);
  --sans:"Instrument Sans",Arial,sans-serif;
  --mono:"JetBrains Mono",monospace;
  --ease:cubic-bezier(.22,.72,.18,1);
  --header-h:5.75rem;
  --gutter:clamp(1.1rem,3.2vw,3.5rem);
  --measure:46rem;
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--void);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;min-height:100svh;overflow-x:hidden;background:var(--void);color:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,textarea{font:inherit}
button,a{color:inherit}
a{text-decoration:none}
button{border:0}
img{display:block;max-width:100%;height:auto}
svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
::selection{background:var(--paper);color:var(--void)}
:focus-visible{outline:2px solid var(--paper);outline-offset:4px}

.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;transform:translateY(-180%);padding:.7rem 1rem;background:var(--paper);color:var(--void);font-family:var(--mono);font-size:.72rem}
.skip-link:focus{transform:none}
.ambient-field{position:fixed;inset:0;z-index:-2;width:100%;height:100%;opacity:.46;pointer-events:none}
.page-noise{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.038;background:radial-gradient(circle at 20% 30%,rgba(242,242,240,.8) 0 .45px,transparent .65px),radial-gradient(circle at 70% 65%,rgba(242,242,240,.55) 0 .4px,transparent .6px);background-size:5px 5px,7px 7px;background-position:0 0,2px 1px}

/* Homepage intro */
.intro-overlay{position:fixed;inset:0;z-index:900;display:grid;place-items:center;overflow:hidden;background:var(--void);color:var(--paper);transition:opacity .28s var(--ease),visibility .28s}
.intro-overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(242,242,240,.06) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(242,242,240,.06) 50%,transparent 50.1%);background-size:8rem 8rem;-webkit-mask-image:radial-gradient(circle at center,#000,transparent 68%);mask-image:radial-gradient(circle at center,#000,transparent 68%)}
.intro-overlay.is-complete{opacity:0;visibility:hidden;pointer-events:none}
.intro-lockup{position:relative;z-index:1;display:flex;align-items:center;gap:clamp(1.5rem,4vw,3.5rem)}
.intro-mark{width:clamp(8rem,17vw,13rem);height:auto;overflow:visible}
.intro-mark .mark-plane{stroke:var(--paper);stroke-width:.72}
.intro-mark .mark-plane path{stroke-dasharray:150;stroke-dashoffset:150;animation:intro-draw .52s var(--ease) forwards}
.intro-mark .mark-plane-left path{animation-delay:.05s}
.intro-mark .mark-plane-right path{animation-delay:.1s}
.intro-type{display:flex;flex-direction:column;line-height:.84;letter-spacing:-.065em}
.intro-type span:first-child{font-size:clamp(3.3rem,8vw,7.5rem);font-weight:600}
.intro-type span:last-child{margin-top:.8rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.42em;color:var(--mid)}
@keyframes intro-draw{to{stroke-dashoffset:0}}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;min-height:var(--header-h);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2rem;padding:.95rem var(--gutter);border-bottom:1px solid var(--hair);background:rgba(10,10,11,.72);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.brand-lockup{display:inline-flex;align-items:center;gap:.8rem;width:max-content}
.brand-mark{width:2.35rem;height:2.35rem;overflow:visible}
.brand-mark .mark-plane{stroke:var(--paper);stroke-width:1.05;transform-origin:center;animation:mark-breathe 8s ease-in-out infinite}
.brand-mark .mark-plane-left{animation-delay:-2.6s}.brand-mark .mark-plane-right{animation-delay:-5.2s}
.brand-type{display:flex;align-items:baseline;gap:.6rem;white-space:nowrap}.brand-type b{font-size:.82rem;letter-spacing:.18em;font-weight:600}.brand-type small{font-family:var(--mono);font-size:.58rem;letter-spacing:.15em;color:var(--mid)}
@keyframes mark-breathe{0%,100%{transform:translate(0,0);opacity:.76}50%{transform:translate(0,-1.2px);opacity:1}}
.site-nav{justify-self:end;display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem)}
.site-nav a{position:relative;padding:.5rem 0;font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);transition:color .3s ease}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.16rem;height:1px;background:var(--paper);transition:right .4s var(--ease)}
.site-nav a:hover,.site-nav a.is-current{color:var(--paper)}.site-nav a.is-current::after{right:0}

main{min-height:calc(100svh - 3rem)}
.page-shell{position:relative;padding:calc(var(--header-h) + clamp(3rem,7vw,7rem)) var(--gutter) clamp(5rem,9vw,9rem)}
.eyebrow,.section-label,.mono-note{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;color:var(--mid);text-transform:uppercase}
.eyebrow{margin:0 0 1.6rem}.section-label{margin:0 0 1.2rem}.mono-note{line-height:1.7}
h1,h2,h3{margin:0;font-family:var(--sans);font-weight:500;letter-spacing:-.05em;line-height:.95}
h1{font-size:clamp(3.2rem,7vw,7.2rem)}h2{font-size:clamp(2.1rem,4vw,4.2rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.035em;line-height:1.08}
p{margin:0}.lede{max-width:42rem;color:var(--mid);font-size:clamp(1.02rem,1.55vw,1.28rem);line-height:1.58}
.text-link{display:inline-flex;align-items:center;gap:.65rem;padding-bottom:.32rem;border-bottom:1px solid var(--hair-strong);font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;transition:border-color .3s ease,color .3s ease}
.text-link::after{content:"↗";font-size:.85rem;transition:transform .3s var(--ease)}.text-link:hover{border-color:var(--paper)}.text-link:hover::after{transform:translate(2px,-2px)}
.quiet-links{display:flex;flex-wrap:wrap;gap:1rem 1.7rem;margin-top:2.1rem}
.email-display{display:inline-block;font-size:clamp(1.15rem,2.6vw,2.2rem);letter-spacing:-.025em;line-height:1.15;border-bottom:1px solid var(--hair-strong);overflow-wrap:anywhere;transition:border-color .3s ease}
.email-display:hover{border-color:var(--paper)}

/* Home */
.home-hero{min-height:100svh;display:grid;grid-template-columns:minmax(27rem,.85fr) minmax(32rem,1.15fr);grid-template-rows:1fr auto;align-items:center;column-gap:clamp(3rem,6vw,7rem);row-gap:clamp(1.25rem,2.5vh,2.5rem);padding-bottom:clamp(3rem,6vh,5rem)}
.home-copy{grid-column:1;grid-row:1/3;align-self:center}.home-copy h1{max-width:10ch}.home-copy .lede{margin-top:1.9rem;max-width:38rem}
.home-visual{grid-column:2;grid-row:1;align-self:end;justify-self:end;display:grid;place-items:center;width:100%;min-width:0}
.hero-contact{grid-column:2;grid-row:2;justify-self:end;align-self:start;width:min(100%,34rem);margin-top:clamp(.5rem,1.5vh,1.2rem)}.hero-contact .section-label{margin-bottom:.8rem}.hero-contact>p:last-child{max-width:31rem;margin-top:1.4rem;color:var(--mid);font-size:.94rem}
.hero-weave{position:relative;isolation:isolate;justify-self:end;width:clamp(30rem,38vw,40rem);aspect-ratio:1;display:grid;place-items:center;overflow:visible;transform:translateX(var(--hero-align-x,0px))}
.hero-weave::before{content:"";position:absolute;inset:4%;z-index:-2;border-radius:50%;background:radial-gradient(circle,rgba(242,242,240,.085) 0,rgba(131,134,140,.04) 38%,transparent 70%);filter:blur(1rem);animation:hero-depth-breathe 6.5s ease-in-out infinite}
.hero-weave::after{content:"";position:absolute;left:15%;right:5%;bottom:7%;z-index:-2;height:12%;border-radius:50%;background:rgba(0,0,0,.72);filter:blur(1.1rem);transform:rotate(-6deg);animation:hero-shadow-drift 6.5s ease-in-out infinite}
.hero-weave-aura{position:absolute;inset:19%;z-index:-1;border:1px solid rgba(242,242,240,.1);border-radius:50%;box-shadow:0 0 3rem rgba(242,242,240,.035),inset 0 0 2rem rgba(242,242,240,.025);transform:rotateX(68deg) rotateZ(-12deg);animation:hero-aura-orbit 11s var(--ease) infinite}
.hero-weave-canvas{display:block;width:100%;height:100%;filter:contrast(1.04) drop-shadow(0 1.5rem 2.5rem rgba(0,0,0,.42))}
@keyframes hero-depth-breathe{0%,100%{transform:scale(.92);opacity:.52}50%{transform:scale(1.08);opacity:1}}
@keyframes hero-shadow-drift{0%,100%{transform:translateX(-3%) rotate(-6deg) scale(.9);opacity:.6}50%{transform:translateX(4%) rotate(-3deg) scale(1.08);opacity:.9}}
@keyframes hero-aura-orbit{0%,100%{transform:rotateX(68deg) rotateZ(-12deg) scale(.92);opacity:.4}50%{transform:rotateX(61deg) rotateZ(13deg) scale(1.1);opacity:.85}}
.credential-band{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.credential-band div{padding:1.3rem 1.4rem}.credential-band div+div{border-left:1px solid var(--hair)}
.credential-band dt{font-family:var(--mono);font-size:.55rem;letter-spacing:.11em;color:var(--mid);text-transform:uppercase}.credential-band dd{margin:.45rem 0 0;font-size:.95rem}
.home-proof{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);align-items:start;padding-top:clamp(5rem,9vw,9rem)}
.home-proof h2{max-width:10ch}.home-proof-copy{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}.home-proof-copy p{color:var(--mid);line-height:1.7}.home-proof-copy .text-link{margin-top:1.4rem;color:var(--paper)}
.home-testimonial{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(28rem,1.28fr);gap:clamp(3rem,8vw,9rem);align-items:start;padding-top:clamp(4rem,7vw,7rem);border-top:1px solid var(--hair)}.home-testimonial h2{max-width:10ch}.home-testimonial blockquote{margin:0;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--hair);background:rgba(22,22,22,.62)}.home-testimonial blockquote>p{max-width:36rem;font-size:clamp(1.45rem,2.7vw,2.55rem);line-height:1.25;letter-spacing:-.035em}.home-testimonial blockquote footer{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-top:2.2rem;padding-top:1rem;border-top:1px solid var(--hair)}.home-testimonial cite{font-family:var(--mono);font-size:.56rem;line-height:1.65;letter-spacing:.07em;color:var(--mid);font-style:normal;text-transform:uppercase}

/* Page headers */
.page-header{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(22rem,1.2fr);gap:clamp(3rem,8vw,9rem);align-items:end;padding-bottom:clamp(4rem,8vw,8rem);border-bottom:1px solid var(--hair)}
.page-header h1{max-width:10ch}.page-header .lede{max-width:38rem}.page-header-copy>*+*{margin-top:1.4rem}

/* Work gallery */
.named-case{display:grid;grid-template-columns:minmax(22rem,1.1fr) minmax(22rem,.9fr);gap:clamp(3rem,8vw,9rem);align-items:stretch;padding:clamp(4rem,8vw,8rem) 0;border-bottom:1px solid var(--hair)}.named-case-intro h2{max-width:12ch}.named-case-intro>p:last-child{max-width:46rem;margin-top:1.8rem;color:var(--mid);font-size:1.05rem;line-height:1.85}.named-case-result{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid var(--hair-strong);background:rgba(22,22,22,.68)}.named-case-result>span,.search-proof-card span{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;color:var(--mid);text-transform:uppercase}.named-case-result strong{display:block;margin-top:1rem;font-size:clamp(2rem,4vw,4rem);font-weight:500;letter-spacing:-.05em;line-height:.95}.named-case-result p{max-width:34rem;margin-top:1.2rem;color:var(--mid);line-height:1.75}.named-case-result .text-link{align-self:flex-start;margin-top:1.8rem}
.work-layout{display:grid;grid-template-columns:minmax(16rem,.55fr) minmax(34rem,1.45fr);gap:clamp(2.5rem,6vw,7rem);align-items:center;padding-top:clamp(4rem,8vw,8rem)}
.work-copy .mono-note{max-width:38rem;margin-top:1.5rem}.gallery-system{position:relative;min-width:0;perspective:1400px}.gallery-kicker{display:flex;justify-content:space-between;margin-bottom:.75rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;color:var(--mid)}
.browser-frame{position:relative;overflow:hidden;border:1px solid var(--hair-strong);background:var(--surface);box-shadow:0 3rem 8rem rgba(0,0,0,.48);transform-style:preserve-3d;will-change:transform;transition:transform .45s var(--ease),border-color .45s ease}
.browser-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.browser-chrome{height:2.45rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 .85rem;border-bottom:1px solid var(--hair);font-family:var(--mono);font-size:.54rem;letter-spacing:.08em;color:var(--mid);background:var(--surface)}
.window-dots{display:flex;gap:.36rem}.window-dots i{display:block;width:.35rem;height:.35rem;border-radius:50%;background:var(--mid);opacity:.54}.browser-url{grid-column:2;justify-self:center;max-width:55vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen-link{position:relative;display:block;overflow:hidden;background:var(--surface)}.project-stack{position:relative;aspect-ratio:16/9;overflow:hidden}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);filter:saturate(.9) contrast(.98);transition:opacity .55s var(--ease),transform 1.1s var(--ease),filter .55s ease}.project-image.is-active{opacity:1;transform:scale(1);filter:saturate(1) contrast(1)}.screen-link:hover .project-image.is-active{transform:scale(1.018)}
.open-project{position:absolute;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.55rem;padding:.65rem .8rem;border:1px solid var(--hair-strong);background:rgba(10,10,11,.84);font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s var(--ease)}.screen-link:hover .open-project,.screen-link:focus-visible .open-project{opacity:1;transform:none}
.project-dock{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-top:1.15rem}.project-copy{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:baseline;min-width:0}.project-copy p:first-child{grid-row:1/3;font-family:var(--mono);font-size:.55rem;letter-spacing:.12em;color:var(--mid)}.project-copy h2{font-size:clamp(1.45rem,2.3vw,2.4rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-copy p:last-child{font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;color:var(--mid);text-transform:uppercase}
.project-controls{display:flex;align-items:center;gap:.35rem}.project-select{position:relative;width:3rem;height:2.7rem;padding:0;cursor:pointer;border:1px solid var(--hair);background:transparent;color:var(--mid);font-family:var(--mono);font-size:.58rem;transition:border-color .3s ease,color .3s ease,background-color .3s ease}.project-select::after{content:"";position:absolute;left:-1px;right:100%;bottom:-1px;height:1px;background:var(--paper);transition:right .45s var(--ease)}.project-select:hover,.project-select.is-selected{border-color:var(--hair-strong);color:var(--paper);background:var(--surface)}.project-select.is-selected::after{right:-1px}
.project-list{margin-top:clamp(5rem,9vw,9rem);border-top:1px solid var(--hair)}.project-row{display:grid;grid-template-columns:4rem 1fr 1fr auto;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--hair);transition:background-color .3s ease}.project-row:hover{background:rgba(242,242,240,.025)}.project-row>span{font-family:var(--mono);font-size:.56rem;color:var(--mid)}.project-row h3{font-size:clamp(1.35rem,2.5vw,2.2rem)}.project-row p{color:var(--mid)}.project-row b{font-weight:400;font-size:1.1rem}

/* Process */
.process-intro-note{margin-top:2rem;max-width:39rem;padding-left:1.2rem;border-left:1px solid var(--paper);font-size:1.08rem;line-height:1.6}
.process-line{list-style:none;margin:clamp(4rem,8vw,8rem) 0 0;padding:0;border-top:1px solid var(--hair)}
.process-line li{display:grid;grid-template-columns:5rem minmax(14rem,.7fr) minmax(18rem,1.3fr) auto;gap:2rem;align-items:start;padding:2.4rem 0;border-bottom:1px solid var(--hair)}
.process-line .step-no{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--mid)}.process-line h2{font-size:clamp(2rem,4vw,4rem)}.process-line p{max-width:44rem;color:var(--mid);font-size:1.03rem;line-height:1.7}.process-line time{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;color:var(--mid);text-transform:uppercase;white-space:nowrap}
.payment-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);margin-top:clamp(5rem,9vw,9rem);padding-top:2rem;border-top:1px solid var(--hair-strong)}.payment-note h2{max-width:11ch}.payment-note-copy p{max-width:44rem;color:var(--mid);font-size:1.05rem;line-height:1.75}.payment-note-copy p+p{margin-top:1.3rem}
.service-paths{display:grid;grid-template-columns:minmax(18rem,.65fr) minmax(28rem,1.35fr);gap:clamp(3rem,8vw,9rem);margin-top:clamp(5rem,9vw,9rem);padding-top:clamp(2rem,4vw,4rem);border-top:1px solid var(--hair-strong)}.service-paths-heading h2{max-width:10ch}.service-paths-heading>p:last-child{max-width:37rem;margin-top:1.5rem;color:var(--mid);line-height:1.75}.service-path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.service-path-grid>a{display:flex;min-height:22rem;flex-direction:column;padding:clamp(1.3rem,2.4vw,2rem);border:1px solid var(--hair);background:rgba(22,22,22,.55);transition:transform .4s var(--ease),border-color .3s ease,background-color .3s ease}.service-path-grid>a:hover{transform:translateY(-3px);border-color:var(--hair-strong);background:rgba(22,22,22,.82)}.service-path-grid span{font-family:var(--mono);font-size:.54rem;letter-spacing:.09em;color:var(--mid);text-transform:uppercase}.service-path-grid h3{max-width:9ch;margin-top:2.4rem;font-size:clamp(1.8rem,3vw,3rem)}.service-path-grid p{max-width:28rem;margin-top:1.2rem;color:var(--mid);line-height:1.7}.service-path-grid b{margin-top:auto;padding-top:2rem;font-family:var(--mono);font-size:.57rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase}
.search-proof-card{display:grid;grid-template-columns:minmax(22rem,1.15fr) minmax(20rem,.85fr);gap:clamp(3rem,8vw,9rem);margin-top:clamp(5rem,9vw,9rem);padding:clamp(2rem,4vw,4rem);border:1px solid var(--hair-strong);background:rgba(22,22,22,.6)}.search-proof-card h2{max-width:12ch}.search-proof-card>div:first-child>p:last-child{max-width:48rem;margin-top:1.7rem;color:var(--mid);font-size:1.05rem;line-height:1.85}.search-proof-card>div:last-child{display:flex;flex-direction:column;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--hair)}.search-proof-card>div:last-child p{max-width:35rem;margin-top:1.2rem;color:var(--mid);line-height:1.75}.search-proof-card .text-link{align-self:flex-start;margin-top:1.8rem}

/* Case studies */
.case-header{display:grid;grid-template-columns:minmax(20rem,1.1fr) minmax(18rem,.9fr);gap:clamp(3rem,9vw,10rem);align-items:end;padding-bottom:clamp(4rem,8vw,8rem);border-bottom:1px solid var(--hair)}.case-header h1{max-width:11ch}.case-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;border-top:1px solid var(--hair)}.case-meta div{padding-top:1rem}.case-meta dt{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;color:var(--mid);text-transform:uppercase}.case-meta dd{margin:.45rem 0 0;font-size:.96rem}
.case-body{display:grid;grid-template-columns:minmax(14rem,.55fr) minmax(26rem,1.45fr);gap:clamp(3rem,10vw,12rem);padding-top:clamp(4rem,8vw,8rem)}.case-section{grid-column:2;display:grid;grid-template-columns:9rem 1fr;gap:clamp(1.5rem,4vw,4rem);padding-bottom:clamp(4rem,7vw,7rem)}.case-section+.case-section{padding-top:clamp(3rem,5vw,5rem);border-top:1px solid var(--hair)}.case-section-number{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;color:var(--mid)}.case-section h2{max-width:12ch;font-size:clamp(2rem,4vw,4rem)}.case-section-copy>p{max-width:51rem;margin-top:1.8rem;color:var(--mid);font-size:1.04rem;line-height:1.92}.case-section-copy>p+p{margin-top:1.55rem}
.decision-list{list-style:none;margin:2rem 0 0;padding:0}.decision-list li{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid var(--hair)}.decision-list span{font-family:var(--mono);font-size:.56rem;color:var(--mid)}.decision-list b{display:block;margin-bottom:.35rem;font-size:1rem;font-weight:500}.decision-list p{color:var(--mid);line-height:1.65}
.case-visual{margin-top:clamp(1rem,3vw,3rem)}.case-visual .browser-frame{will-change:auto;transform:none}.case-visual .screen-link{cursor:default}.case-caption{display:flex;justify-content:space-between;gap:1rem;margin-top:.8rem;font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;color:var(--mid);text-transform:uppercase}
.case-pagination{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(4rem,8vw,8rem);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.case-pagination a{padding:1.5rem}.case-pagination a:last-child{text-align:right;border-left:1px solid var(--hair)}.case-pagination span{display:block;font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;color:var(--mid);text-transform:uppercase}.case-pagination b{display:block;margin-top:.45rem;font-size:1.1rem;font-weight:500}
.search-result-panel{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(28rem,1.3fr);gap:clamp(3rem,8vw,9rem);padding:clamp(3rem,7vw,7rem) 0;border-top:1px solid var(--hair-strong);border-bottom:1px solid var(--hair)}.search-result-heading h2{max-width:10ch}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.result-grid>div{padding:1.3rem}.result-grid>div+div{border-left:1px solid var(--hair)}.result-grid span{font-family:var(--mono);font-size:.54rem;letter-spacing:.09em;color:var(--mid);text-transform:uppercase}.result-grid strong{display:block;margin-top:.8rem;font-size:clamp(1.25rem,2.2vw,2.1rem);font-weight:500;letter-spacing:-.035em;line-height:1.05}.result-grid p{margin-top:.8rem;color:var(--mid);font-size:.88rem;line-height:1.65}.result-caveat{max-width:48rem;margin-top:1.4rem;font-family:var(--mono);font-size:.56rem;line-height:1.75;letter-spacing:.04em;color:var(--mid)}.testimonial-panel{display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(28rem,1.3fr);gap:clamp(3rem,8vw,9rem);padding:clamp(4rem,7vw,7rem) 0;border-bottom:1px solid var(--hair)}.testimonial-panel h2{max-width:11ch;font-size:clamp(2rem,4vw,4rem)}.testimonial-panel blockquote{margin:0;padding:clamp(1.5rem,3vw,2.75rem);border:1px solid var(--hair);background:rgba(22,22,22,.64)}.testimonial-panel blockquote>p{max-width:50rem;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.6;letter-spacing:-.025em}.testimonial-panel blockquote footer{margin-top:2rem;padding-top:1.1rem;border-top:1px solid var(--hair)}.testimonial-panel cite{font-family:var(--mono);font-size:.58rem;line-height:1.7;letter-spacing:.08em;color:var(--mid);font-style:normal;text-transform:uppercase}

/* About */
.about-grid{display:grid;grid-template-columns:minmax(22rem,1.15fr) minmax(13rem,.38fr) minmax(18rem,.72fr);align-items:start;gap:clamp(2.5rem,6vw,7rem)}.about-statement h1{max-width:9ch}.about-lead{margin-top:2rem;max-width:42rem;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.45}.about-statement>p:last-of-type{margin-top:1.5rem;max-width:41rem;color:var(--mid);line-height:1.75}.founder-panel{margin:0}.portrait-frame{position:relative;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--hair-strong);background:var(--surface)}.portrait-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,10,11,.22));pointer-events:none}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(.18) contrast(1.02)}.founder-panel figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.65rem;font-family:var(--mono);font-size:.48rem;letter-spacing:.08em;color:var(--mid)}
.about-index{border-top:1px solid var(--hair)}.about-index>p{padding:1rem 0 1.35rem;border-bottom:1px solid var(--hair);font-family:var(--mono);font-size:.58rem;line-height:1.65;letter-spacing:.07em;color:var(--mid)}.about-index dl{margin:0}.about-index dl div{display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--hair)}.about-index dt{font-family:var(--mono);font-size:.55rem;color:var(--mid)}.about-index dd{margin:0;font-size:.9rem;line-height:1.55}
.testimonial-feature{display:grid;grid-template-columns:minmax(18rem,.62fr) minmax(30rem,1.38fr);gap:clamp(3rem,8vw,9rem);margin-top:clamp(5rem,10vw,10rem);padding-top:clamp(2rem,4vw,4rem);border-top:1px solid var(--hair-strong);scroll-margin-top:calc(var(--header-h) + 2rem)}.testimonial-feature-heading h2{max-width:10ch}.testimonial-feature blockquote{margin:0;padding:clamp(1.5rem,3vw,2.75rem);border:1px solid var(--hair);background:rgba(22,22,22,.64)}.testimonial-feature blockquote>p{max-width:54rem;color:var(--mid);font-size:clamp(1.03rem,1.4vw,1.2rem);line-height:1.88}.testimonial-feature blockquote>p+p{margin-top:1.45rem}.testimonial-feature blockquote footer{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid var(--hair)}.testimonial-feature cite{font-family:var(--mono);font-size:.58rem;line-height:1.65;letter-spacing:.08em;color:var(--paper);font-style:normal;text-transform:uppercase}

/* FAQ */
.faq-list{max-width:68rem;margin:clamp(4rem,8vw,8rem) 0 0 auto;border-top:1px solid var(--hair)}.faq-item{display:grid;grid-template-columns:3.5rem minmax(16rem,.8fr) minmax(20rem,1.2fr);gap:2rem;padding:2rem 0;border-bottom:1px solid var(--hair)}.faq-item>span{font-family:var(--mono);font-size:.57rem;color:var(--mid)}.faq-item h2{font-size:clamp(1.45rem,2.5vw,2.35rem);line-height:1.08}.faq-item p{color:var(--mid);line-height:1.75}

/* Contact and form */
.contact-top{display:grid;grid-template-columns:minmax(18rem,.72fr) minmax(22rem,1.28fr);gap:clamp(3rem,8vw,9rem);align-items:end;padding-bottom:clamp(4rem,8vw,8rem);border-bottom:1px solid var(--hair)}.contact-top h1{max-width:9ch}.contact-details{display:grid;gap:1.6rem}.contact-details dt{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;color:var(--mid);text-transform:uppercase}.contact-details dd{margin:.45rem 0 0}.contact-details .email-display{font-size:clamp(1.2rem,3vw,2.6rem)}
.contact-form-section{display:grid;grid-template-columns:minmax(17rem,.7fr) minmax(28rem,1.3fr);gap:clamp(3rem,8vw,9rem);padding-top:clamp(4rem,8vw,8rem)}.contact-form-copy h2{max-width:10ch}.contact-form-copy p{max-width:31rem;margin-top:1.4rem;color:var(--mid);line-height:1.7}
.demo-form{position:relative;max-width:52rem;padding:clamp(1.35rem,3vw,2.5rem);border:1px solid var(--hair);background:rgba(22,22,22,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.form-heading{padding-bottom:1.6rem;border-bottom:1px solid var(--hair);color:var(--mid);font-size:.88rem}.demo-form label{display:block;margin-top:1.4rem}.demo-form label>span{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.48rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.09em;color:var(--mid);text-transform:uppercase}.demo-form label small{font:inherit;color:var(--mid)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.demo-form input,.demo-form textarea{width:100%;border:0;border-bottom:1px solid var(--hair-strong);border-radius:0;outline:0;padding:.65rem 0 .8rem;background:transparent;color:var(--paper);font-size:1rem;line-height:1.45;resize:vertical;transition:border-color .3s ease,background-color .3s ease}.demo-form input:focus,.demo-form textarea:focus{border-color:var(--paper);background:rgba(242,242,240,.025)}.demo-form input::placeholder{color:var(--mid);opacity:.68}.honey{position:absolute!important;left:-9999px!important;opacity:0!important}.form-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:3.85rem;margin-top:1.7rem;padding:1rem 1.4rem;cursor:pointer;border:1px solid var(--paper);background:var(--paper);color:var(--void);font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:transform .35s var(--ease),border-color .35s ease,background-color .35s ease}.form-submit:hover{transform:translateY(-2px);border-color:var(--hair-strong)}.form-submit:disabled{cursor:wait;opacity:.6}.form-note{margin-top:.8rem;font-family:var(--mono);font-size:.54rem;line-height:1.65;letter-spacing:.04em;color:var(--mid)}.form-note a{color:var(--paper);border-bottom:1px solid var(--hair-strong)}

/* Thanks and 404 */
.center-page{min-height:100svh;display:grid;place-items:center;text-align:center}.center-content{max-width:52rem}.center-content h1{max-width:10ch;margin-inline:auto}.center-content>p:not(.eyebrow){max-width:38rem;margin:1.7rem auto 0;color:var(--mid);font-size:1.05rem}.center-content .quiet-links{justify-content:center}

/* Footer */
.site-footer{position:relative;z-index:5;padding:2rem var(--gutter) 2.3rem;border-top:1px solid var(--hair);background:var(--void);color:var(--mid)}.footer-top{display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:start}.footer-identity{font-family:var(--mono);font-size:.56rem;line-height:1.8;letter-spacing:.08em;text-transform:uppercase}.footer-identity a{display:block;margin-top:.55rem;color:var(--paper);overflow-wrap:anywhere}.footer-nav{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.8rem 1.6rem;font-family:var(--mono);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase}.footer-nav a:hover{color:var(--paper)}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--hair);font-family:var(--mono);font-size:.5rem;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:1080px){
  :root{--header-h:5.25rem}.home-hero{grid-template-columns:minmax(25rem,.9fr) minmax(26rem,1.1fr);column-gap:clamp(2rem,4vw,4rem)}.hero-weave{width:clamp(26rem,40vw,33rem)}.work-layout{grid-template-columns:1fr}.work-copy{max-width:48rem}.about-grid{grid-template-columns:minmax(22rem,1fr) 13rem}.about-index{grid-column:1/-1;display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem}.case-body{grid-template-columns:1fr}.case-section{grid-column:1}.process-line li{grid-template-columns:4rem minmax(13rem,.65fr) minmax(18rem,1.35fr)}.process-line time{grid-column:3}.result-grid{grid-template-columns:1fr}.result-grid>div+div{border-left:0;border-top:1px solid var(--hair)}
}

@media (max-width:860px){
  :root{--header-h:5rem}.site-header{grid-template-columns:auto 1fr;padding-block:.75rem;background:rgba(10,10,11,.94);backdrop-filter:none;-webkit-backdrop-filter:none}.site-nav{position:fixed;left:var(--gutter);right:var(--gutter);bottom:.8rem;z-index:120;justify-self:auto;justify-content:center;gap:0;padding:.5rem;border:1px solid var(--hair-strong);background:rgba(10,10,11,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-nav a{flex:1;display:flex;justify-content:center;font-size:.54rem;letter-spacing:.08em}.page-shell{padding-bottom:7rem}.home-hero,.page-header,.case-header,.contact-top,.contact-form-section,.home-testimonial,.named-case,.service-paths,.search-proof-card,.search-result-panel,.testimonial-panel,.testimonial-feature{grid-template-columns:1fr}.home-hero{grid-template-rows:auto;align-content:center;min-height:auto;padding-top:calc(var(--header-h) + 5rem);row-gap:0}.home-copy,.home-visual,.hero-contact{grid-column:1;grid-row:auto}.home-copy{align-self:auto}.home-visual{justify-self:end;margin-top:2rem}.hero-weave{width:min(100%,32rem);transform:none}.hero-contact{justify-self:start;width:100%;margin-top:1rem}.credential-band{grid-template-columns:1fr}.credential-band div+div{border-left:0;border-top:1px solid var(--hair)}.home-proof,.payment-note{grid-template-columns:1fr}.project-row{grid-template-columns:3rem 1fr auto}.project-row p{grid-column:2}.project-row b{grid-column:3;grid-row:1/3}.process-line li{grid-template-columns:3rem 1fr}.process-line p,.process-line time{grid-column:2}.faq-list{margin-left:0}.faq-item{grid-template-columns:3rem 1fr}.faq-item p{grid-column:2}.case-section{grid-template-columns:5rem 1fr}.footer-top{grid-template-columns:1fr}.footer-nav{justify-self:start;justify-content:flex-start}.site-footer{padding-bottom:6rem}.testimonial-feature-heading .quiet-links{margin-bottom:1rem}
}

@media (max-width:560px){
  :root{--gutter:1rem;--header-h:4.5rem}.brand-mark{width:2rem;height:2rem}.brand-type small{display:none}.brand-type b{font-size:.75rem}.intro-lockup{flex-direction:column;gap:1.35rem}.intro-mark{width:7.5rem}.intro-type span:first-child{font-size:3.8rem}.intro-type span:last-child{margin-top:.65rem}.eyebrow{margin-bottom:1.15rem;font-size:.55rem}h1{font-size:clamp(2.8rem,14vw,4.5rem)}.hero-weave{width:min(100%,21rem);margin-left:auto;margin-right:0;transform:none}.home-proof-copy,.service-path-grid{grid-template-columns:1fr}.home-testimonial blockquote footer{display:block}.home-testimonial blockquote .text-link{margin-top:1rem}.service-path-grid>a{min-height:18rem}.gallery-kicker{font-size:.52rem}.browser-chrome{height:2rem;grid-template-columns:1fr auto 1fr;padding:0 .6rem}.browser-url{max-width:58vw;font-size:.46rem}.open-project{display:none}.project-dock{display:block;margin-top:.9rem}.project-copy{grid-template-columns:auto 1fr}.project-copy h2{font-size:1.4rem}.project-controls{margin-top:1rem;display:grid;grid-template-columns:repeat(4,1fr)}.project-select{width:100%;height:2.55rem}.project-row{grid-template-columns:2.5rem 1fr auto;gap:1rem}.project-row p{font-size:.84rem}.case-meta{grid-template-columns:1fr}.case-section{grid-template-columns:1fr}.case-section-number{margin-bottom:-.4rem}.decision-list li{grid-template-columns:2rem 1fr}.case-caption{display:block}.case-caption span+span{display:block;margin-top:.3rem}.field-pair{grid-template-columns:1fr;gap:0}.demo-form{padding:1.15rem}.about-grid{display:flex;flex-direction:column}.founder-panel{width:100%;display:grid;grid-template-columns:8.5rem 1fr;align-items:end;gap:1rem}.portrait-frame{width:8.5rem}.founder-panel figcaption{display:flex;flex-direction:column;justify-content:flex-end}.about-index{display:block;width:100%}.faq-item{grid-template-columns:1fr;gap:.8rem}.faq-item p{grid-column:1}.case-pagination{grid-template-columns:1fr}.case-pagination a:last-child{text-align:left;border-left:0;border-top:1px solid var(--hair)}.footer-bottom{flex-direction:column}.footer-nav{display:grid;grid-template-columns:repeat(2,auto);gap:.8rem 1.6rem}
}

@media (max-width:360px){.brand-type{display:none}.site-nav a{font-size:.49rem}.project-copy p:first-child{display:none}.project-copy{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.ambient-field{display:none}.intro-overlay{display:none}.browser-frame{transform:none!important}}
