/* Reading scale: preserve the BALI composition while giving real copy room. */
:root{--copy-size:17px;--copy-leading:1.65;--copy-color:#4b5059;--label-color:#555b65}
body{font-size:var(--copy-size)}
.hero-meta{font-size:18px;line-height:1.5;gap:10px;margin-top:36px;letter-spacing:0;color:#22262d;font-weight:500}
.hero-meta p{gap:12px;align-items:baseline}
.hero-meta p>span{font-size:14px;line-height:1.5;flex:0 0 30px;color:#626872}
.hero-summary{font-size:18px;line-height:1.6;color:var(--copy-color);margin-top:26px}
.hero-identity>.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.065em}
.main-nav a,.header-contact{font-size:14px;line-height:1.4}
.main-nav sup{font-size:10px}
.main-nav{gap:28px}
.header-actions{gap:20px}
.motion-toggle{width:34px;height:34px}
.hero-rail{width:clamp(204px,16.5vw,248px);gap:24px}
.panel-kicker,.bali-panel .panel-kicker,.systems-note .panel-kicker{font-size:12px;line-height:1.5;letter-spacing:.035em}
.feature-panel p,.bali-panel p{font-size:16px;line-height:1.55}
.feature-panel .text-link,.bali-panel .text-link{font-size:13px;line-height:1.5}
.bali-signature{font-size:11px;line-height:1.4;color:var(--label-color);gap:8px}
.bali-signature>span:first-child{font-size:14px}
.disciplines-panel>div{gap:8px}
.disciplines-panel b{font-size:28px}
.disciplines-panel small{font-size:10px;line-height:1.4;letter-spacing:0;color:var(--label-color)}
.bali-coordinate{font-size:9px}
.bali-coordinate-bottom{font-size:9px;bottom:-22px}
.scroll-cue{font-size:12px;line-height:1.4}
.scroll-cue small{font-size:11px;color:var(--label-color)}
.hero-action-meta{font-size:11px;line-height:1.5;color:var(--label-color);letter-spacing:.025em}
.hero-actions .cut-button,.studio-heading .cut-button,.footer-callout .cut-button{font-size:14px;line-height:1.4}
.eyebrow,.section-label,.systems-heading>.eyebrow,.process-heading>.eyebrow,.faq-section .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.055em}
.section-label{color:var(--label-color)}
.text-link,.bracket-link,.systems-heading>.text-link,.systems-note .text-link,.service-content .text-link,.work-end .bracket-link{font-size:14px;line-height:1.5}
.systems-intro,.work-intro,.project-description p,.project-small .project-description p,.studio-copy,.expertise-heading>p,.service-content>p,.process-heading>p:last-child,.process-step p,.faq-list p{font-size:var(--copy-size);line-height:var(--copy-leading);color:var(--copy-color)}
.systems-intro{color:#c6cad2}
.systems-heading>.eyebrow{color:#aeb4c0}
.systems-note{width:280px}
.systems-note p{font-size:28px;line-height:1.2}
.systems-note .text-link{font-size:13px}
.map-topline,.map-bottomline{font-size:11px;line-height:1.5;letter-spacing:.03em;white-space:normal;flex-wrap:wrap;color:#b4bac5}
.map-topline>span:last-child{font-size:10px}
.map-bottomline>span:last-child{font-size:10px}
.trace-node text{font-size:22px}
.trace-node .map-subtext{font-size:12px;fill:#b5bcc9}
.map-center text{font-size:11px}
.work-intro{max-width:400px;padding-right:0}
.work-count{font-size:13px;line-height:1.5;color:var(--label-color)}
.work-filters{gap:28px;row-gap:10px}
.filter-button{font-size:14px;line-height:1.5;color:var(--label-color);padding:9px 0}
.filter-button sup{font-size:10px}
.project-index small{font-size:12px;line-height:1.5;letter-spacing:.025em;color:var(--label-color)}
.project-description>.eyebrow{font-size:12px;line-height:1.6;letter-spacing:.025em;color:var(--label-color)}
.project-description p,.project-small .project-description p{margin-top:18px}
.project-description p br{display:none}
.project-description h3,.project-small .project-description h3{line-height:1.15}
.project-tags,.project-small .project-tags{font-size:12px;line-height:1.5;gap:10px 14px;color:var(--label-color);letter-spacing:0}
.work-end p{font-size:13px;line-height:1.65;color:var(--label-color)}
.studio-copy{max-width:43ch}
.studio-annotation{font-size:11px;line-height:1.6;letter-spacing:.035em;color:var(--label-color)}
.studio-values{font-size:12px;line-height:1.6;color:var(--label-color);flex-wrap:wrap}
.expertise-heading>p{width:285px;flex-shrink:0}
.service-content>p{max-width:650px}
.service-number{font-size:13px;color:var(--label-color)}
.service-short{font-size:12px;line-height:1.5;letter-spacing:.02em;color:var(--label-color)}
.service-pills{font-size:13px;line-height:1.5;gap:12px 20px;color:var(--label-color)}
.process-step>span:last-child{font-size:12px;line-height:1.6;letter-spacing:.025em;color:var(--label-color)}
.faq-list summary{font-size:18px;line-height:1.5;gap:22px;padding:25px 0}
.faq-list p{padding-right:20px;max-width:64ch}
/* Explicit automatic height is essential: the source logo is 470 × 194. */
.footer-top{gap:30px}
.footer-brand{display:block;flex:0 0 auto;width:clamp(210px,18vw,260px);max-width:100%;height:auto}
.footer-brand img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;aspect-ratio:470/194}
.footer-top p{font-size:14px;line-height:1.65;letter-spacing:.035em;max-width:420px;color:#c6cad2}
.footer-main nav{width:270px;flex-shrink:0}
.footer-main nav a{font-size:16px;line-height:1.5;gap:20px;padding:17px 0}
.footer-main nav a>span{font-size:12px;line-height:1.8;color:#aeb5c2}
.footer-bottom{font-size:13px;line-height:1.6;letter-spacing:.015em;flex-wrap:wrap;color:#bdc3ce}
.footer-bottom a{overflow-wrap:anywhere}
.footer-bottom a:nth-child(2){font-size:13px}
.dialog-project-content>.eyebrow,.brief-heading>.eyebrow,.ai-copy>.eyebrow{font-size:12px;line-height:1.5}
.dialog-project-content>p,.project-details-grid p,.project-details-grid li,.brief-heading>p:last-child,.brief-ready>p{font-size:16px;line-height:1.7;color:var(--copy-color)}
.dialog-project-content p.dialog-disclosure,.form-note{font-size:13px;line-height:1.65;color:var(--label-color)}
.tags span{font-size:12px;line-height:1.4;padding:7px 10px}
.dialog-actions .button,.brief-submit,.ready-actions .button,.ai-copy .button{font-size:14px;line-height:1.45;min-height:52px;padding:14px 20px}
#project-brief label{font-size:14px;line-height:1.5}
input,select,textarea{font-size:16px;line-height:1.5}
.menu-email{font-size:16px;line-height:1.5;overflow-wrap:anywhere;color:var(--copy-color)}
.ai-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#c6cad2}
.workflow-options button{font-size:13px;line-height:1.5;padding:10px 12px}
.workflow-topline{font-size:12px;line-height:1.5;flex-wrap:wrap;color:#b6bdc9}
.flow-node small{font-size:11px;line-height:1.5;color:#adb5c2}
.flow-node h3{font-size:16px;line-height:1.4}
.flow-node p,.flow-result{font-size:14px;line-height:1.6;color:#bfc6d1}
.flow-node>div{min-width:0}
.demo-disclaimer{font-size:12px;line-height:1.6;color:#b5bdc9}
.toast,.noscript-note{font-size:15px;line-height:1.5}
@media(min-width:1000px){
  .project-row,.project-small:not(.project-right),.work-grid.filtered .project-row{grid-template-columns:7% 60% minmax(0,1fr);column-gap:3%}
  .project-right{grid-template-columns:7% minmax(0,1fr) 60%;column-gap:3%}
  .map-bottomline{width:calc(100% - 300px)}
}
@media(min-width:1000px) and (max-width:1199px){
  .main-nav{gap:20px;left:46%}.main-nav a,.header-contact{font-size:13px}.header-actions{gap:14px}
  .hero-rail{width:190px;top:25%;gap:20px}.hero-rail .bracket-panel{padding:16px}
  .feature-panel p,.bali-panel p{font-size:15px}.panel-kicker,.bali-panel .panel-kicker{font-size:11px}
  .hero-action-meta{font-size:10px}.scroll-cue{font-size:11px}.scroll-cue small{font-size:10px}
  .systems-heading{max-width:36%}.systems-intro br{display:none}.systems-note{width:260px}
  .service-short{display:none}
}
@media(max-width:999px){
  :root{--copy-size:16px}
  .stack-layer{position:relative}
  .hero-meta{font-size:16px;line-height:1.5;gap:9px;margin-top:28px}.hero-meta p>span{font-size:13px;flex-basis:28px}
  .hero-identity>.eyebrow{font-size:12px}
  .hero-rail{width:190px;bottom:145px}.bali-panel h2{font-size:49px}
  .bali-panel p{font-size:16px}.bali-panel .panel-kicker{font-size:11px}
  .hero-actions .cut-button{font-size:14px}.hero-action-meta{font-size:10px}
  .work-heading{align-items:flex-start}.work-intro{max-width:310px}.work-intro br{display:none}
  .work-count{font-size:12px}.work-filters{gap:24px}.filter-button{font-size:13px}
  .systems-heading{max-width:50%}.systems-intro br{display:none}.systems-note{width:245px;bottom:45px}
  .system-map{top:43%;height:43%}.map-bottomline{width:calc(100% - 250px)}
  .map-topline>span:last-child{display:none}
  .expertise-heading>p{width:225px}.service-pills{font-size:13px}
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 28px}.process-heading{grid-template-columns:1fr 2fr;gap:18px 28px}
  .process-heading>p:last-child{grid-column:2;text-align:left}.process-heading>p:last-child br{display:none}
  .footer-top p{font-size:13px}.footer-main nav{width:235px}.footer-main nav a{font-size:15px}.footer-bottom{font-size:12px}
}
@media(min-width:701px){.bali-coordinate-bottom{left:auto;right:3%;transform:none}}
@media(min-width:701px) and (max-width:999px){
  .hero-rail .bracket-panel{padding:18px}.hero-surface{min-height:940px}
  .project-row,.project-right,.project-small:not(.project-right),.work-grid.filtered .project-row{grid-template-columns:54px minmax(0,1fr);gap:0 24px}
  .project-index,.project-right .project-index,.work-grid.filtered .project-index{grid-column:1;grid-row:1}
  .project-plate,.project-right .project-plate,.work-grid.filtered .project-plate{grid-column:2;grid-row:1}
  .project-description,.project-right .project-description,.work-grid.filtered .project-description{grid-column:2;grid-row:2;padding:24px 0 0;max-width:650px}
  .project-index small{font-size:10px}.project-description h3,.project-small .project-description h3{font-size:30px}
  .work-heading .display{font-size:53px}
  .studio-composition{align-self:center}.studio-layout{gap:4%}
  .systems-surface{min-height:980px}.systems-note{bottom:45px}.system-map{top:41%;height:42%}
}
@media(max-width:700px){
  .hero-surface{min-height:1030px}.hero-meta{font-size:16px;line-height:1.5;gap:9px;margin-top:24px}.hero-meta p{gap:10px}
  .hero-meta p>span{font-size:13px;flex-basis:28px}.hero-identity>.eyebrow{font-size:11px;letter-spacing:.035em}
  .bali-stage{height:470px;bottom:135px}.bali-coordinate{font-size:8px}.bali-coordinate-bottom{font-size:8px;bottom:-11px}
  .hero-actions{bottom:25px;gap:16px}.hero-action-meta{font-size:9px;gap:5px;flex-wrap:wrap;justify-content:center}
  .hero-actions .cut-button{font-size:14px;min-height:54px}
  .eyebrow,.section-label,.systems-heading>.eyebrow,.process-heading>.eyebrow,.faq-section .eyebrow{font-size:11px;line-height:1.6}
  .section-label{align-items:flex-start;gap:16px}.section-label>span:last-child{max-width:49%;letter-spacing:.01em}
  .systems-heading{max-width:100%}.systems-surface{min-height:0;padding-bottom:32px}.systems-intro{max-width:34ch}
  .system-map{top:auto;height:340px;margin-top:48px}.map-topline,.map-bottomline{font-size:11px;line-height:1.5}
  .map-bottomline{width:100%;gap:10px}.map-bottomline>span:last-child{font-size:10px}
  .trace-node text{font-size:38px;transform:translateY(-15px)}.trace-node .map-subtext{font-size:23px;transform:translateY(5px)}
  .map-center text{font-size:22px}
  .systems-note{width:100%;bottom:auto;padding:20px;margin-top:30px}.systems-note .panel-kicker{font-size:12px}
  .systems-note .text-link{position:static;font-size:14px;margin-top:8px;gap:10px}.systems-note p{font-size:28px;line-height:1.2}
  .work-intro{display:block;max-width:none;margin-top:25px}.work-count{margin-top:16px;font-size:12px}
  .work-filters{gap:12px 20px}.filter-button{font-size:12px;line-height:1.5}.filter-button sup{font-size:10px}
  .project-index small{font-size:12px}.project-description>.eyebrow{font-size:11px}
  .project-description p,.project-small .project-description p{font-size:16px;line-height:1.7;margin-top:14px}
  .project-tags,.project-small .project-tags{font-size:12px;line-height:1.5;gap:9px 13px}
  .work-end p{font-size:13px}.work-end p br{display:none}.work-end .bracket-link{font-size:13px;line-height:1.5}
  .studio-copy{font-size:16px;max-width:40ch}.studio-annotation{font-size:10px;max-width:70%;letter-spacing:.015em;margin-top:27px}
  .studio-values{font-size:12px;gap:16px}.expertise-heading>p{width:auto;font-size:16px}
  .service-item summary{gap:12px}.service-number{font-size:12px}.service-content{padding-left:32px;padding-right:0}
  .service-content>p{font-size:16px;line-height:1.7}.service-content .text-link{font-size:14px}.service-pills{font-size:12px;line-height:1.6}
  .process-heading{grid-template-columns:1fr;gap:18px}.process-heading>p:last-child{grid-column:1;font-size:16px}
  .process-grid{gap:34px 24px}.process-step p{font-size:16px;line-height:1.65}.process-step>span:last-child{font-size:11px;line-height:1.6;margin-top:18px}
  .faq-list summary{font-size:16px;line-height:1.6}.faq-list p{font-size:16px;line-height:1.7;padding-right:0}
  .footer-top{flex-direction:column;align-items:flex-start;gap:24px}.footer-brand{width:210px;max-width:80%}
  .footer-top p{text-align:left;font-size:13px;line-height:1.7;max-width:100%}.footer-main{padding-top:36px}
  .footer-main nav{width:100%;gap:0 24px}.footer-main nav a{font-size:14px;gap:10px}.footer-main nav a>span{font-size:11px}
  .footer-callout .cut-button{font-size:14px;min-height:54px}.footer-bottom{font-size:12px;line-height:1.6;gap:18px 12px}
  .footer-bottom a:nth-child(2){font-size:13px;line-height:1.6}
  .dialog-project-content>.eyebrow,.brief-heading>.eyebrow,.ai-copy>.eyebrow{font-size:12px}
  .dialog-project-content>p,.project-details-grid p,.project-details-grid li,.brief-heading>p:last-child,.brief-ready>p{font-size:16px}
  .dialog-project-content p.dialog-disclosure,.form-note{font-size:13px}.tags span{font-size:12px}
  .dialog-actions .button,.brief-submit,.ready-actions .button{font-size:14px;line-height:1.5;min-height:52px}
  #project-brief label{font-size:14px}input,select,textarea{font-size:16px}
  .workflow-topline{font-size:11px}.workflow-options button{font-size:12px}.flow-node{align-items:flex-start;gap:10px;padding:15px 12px}
  .flow-node small{font-size:11px}.flow-node h3{font-size:15px}.flow-node p,.flow-result{font-size:14px;line-height:1.6}.demo-disclaimer{font-size:12px}
}
@media(min-width:501px) and (max-width:700px){.hero-surface{min-height:1200px}.bali-stage{height:590px;bottom:135px}}
@media(max-width:375px){.hero-surface{min-height:1010px}.hero-meta{font-size:16px}.bali-stage{height:455px;bottom:135px}.work-filters{gap:12px 17px}.filter-button{font-size:12px}}
