/* Architectural studio direction. Reuses the existing Quickenworks palette. */
:root{--mono:var(--font);--studio-ease:cubic-bezier(.625,.05,0,1)}
body{background-color:var(--paper);background-image:radial-gradient(rgba(41,60,87,.09) .6px,transparent .6px);background-size:6px 6px}
.wrap{width:calc(100% - 64px);max-width:1600px}
.eyebrow,.panel-label,.hero-index>span,.viewport-footer,.globe-spec,.hero-bottom,.capabilities-strip,.service-number,.service-tags,.services-foot,.process-grid article>span,.project-tag,.project-meta>span,.contact-top>span,.contact-bottom>span,.site-footer p{font-family:var(--mono);font-size:var(--font-xs);letter-spacing:.04em;font-weight:400}
.eyebrow{color:var(--muted)}
.site-header{height:84px;border:1px solid var(--line);border-top:0;padding:0 24px;background:var(--paper)}
.site-header .brand-logo{width:226px}.site-header nav{align-self:stretch;gap:32px}.nav-links{gap:0;align-items:stretch}.nav-links>li{display:flex;align-items:center}.nav-links a{font-family:var(--mono);font-size:var(--font-xs);text-transform:uppercase;padding:0 22px;position:relative;min-height:52px;text-decoration:none}
.nav-links>li>a:after{content:'';height:4px;width:4px;background:var(--accent);position:absolute;bottom:6px;left:22px;transform:scale(0);transition:transform .25s var(--studio-ease)}
.nav-links>li>a:is(:hover,:focus-visible):after{transform:scale(1)}.site-header nav>.button{align-self:center;min-width:155px}
.hero{display:flex;flex-direction:column;border-inline:1px solid var(--line);padding-top:0}
.hero-index{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 24px;border-bottom:1px solid var(--line)}
.hero-index .eyebrow{display:flex;align-items:center;gap:9px;color:var(--ink)}.hero-index .live-dot{width:6px;height:6px;border-radius:0;background:var(--primary)}.hero-index>span{color:var(--muted);text-align:right}
.hero-viewport{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;height:440px;min-height:0;overflow:hidden}
.viewport-grid{position:absolute;inset:22px;z-index:-1;pointer-events:none;border:1px dashed var(--line);background-image:linear-gradient(to right,rgba(189,206,239,.35) 1px,transparent 1px),linear-gradient(to bottom,rgba(189,206,239,.35) 1px,transparent 1px);background-size:12.5% 25%}
.hero-viewport:after{content:'';position:absolute;inset:50% 22px auto;height:1px;border-top:1px dashed var(--line);z-index:-1;pointer-events:none}
.hero-viewport .globe-scene{width:420px;max-width:46%;margin:0;flex-shrink:0;align-self:center}
.hero-viewport .globe-label-top{top:2%;right:50%;transform:translateX(50%);font-size:var(--font-xs);white-space:nowrap}.hero-viewport .globe-coordinate{display:none}.hero-viewport .globe-caption{bottom:1%;font-family:var(--mono);font-size:var(--font-xs)}.hero-viewport .globe-pause{width:44px;height:44px;right:2%;bottom:0;border-radius:0;background:var(--paper)}
.globe-orbit{border-color:var(--line)}.hero-viewport .globe-orbit{opacity:.7}
.registration-mark{position:absolute;width:12px;height:12px;color:var(--primary);z-index:2;pointer-events:none}.registration-mark:before,.registration-mark:after{content:'';position:absolute;background:currentColor;top:50%;left:50%;transform:translate(-50%,-50%)}.registration-mark:before{height:1px;width:12px}.registration-mark:after{height:12px;width:1px}.mark-tl{left:16px;top:16px}.mark-tr{right:16px;top:16px}.mark-bl{left:16px;bottom:16px}.mark-br{right:16px;bottom:16px}
.globe-note{position:absolute;left:5%;top:24%;width:205px;padding:18px 0;background:var(--paper)}.panel-label{display:block;color:var(--primary);margin-bottom:20px}.globe-note h2{font-size:26px;line-height:1.08;font-weight:500;letter-spacing:-.055em;text-transform:uppercase}.globe-note p{font-family:var(--mono);font-size:var(--font-xs);color:var(--muted);line-height:1.65;margin-top:17px}.note-rule{display:block;width:76px;border-top:1px solid var(--primary);margin-top:20px;position:relative}.note-rule:after{content:'';position:absolute;right:0;top:-3px;width:5px;height:5px;background:var(--primary)}
.globe-spec{position:absolute;right:5%;top:27%;background:var(--paper);width:190px;padding:16px;border:1px solid var(--line)}.globe-spec .panel-label{font-size:var(--font-xs);margin-bottom:16px}.globe-spec p{font-size:var(--font-xs);line-height:1.5}.spec-coordinate{display:block;border-top:1px dashed var(--line);margin-top:22px;padding-top:12px;font-size:var(--font-xs);color:var(--muted)}.spec-cross{position:absolute;right:15px;bottom:12px;font:28px var(--mono);color:var(--primary)}
.viewport-footer{position:absolute;bottom:19px;left:38px;right:38px;display:flex;justify-content:space-between;color:var(--muted);font-size:var(--font-xs);pointer-events:none}.viewport-footer span{padding:0 5px;background:var(--paper)}
.hero-copy{display:grid;grid-template-columns:1.15fr 1fr 190px;width:100%;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(38px,3.5vw,58px);text-transform:uppercase;line-height:1;letter-spacing:-.055em;font-weight:500;padding:25px 30px;border-right:1px solid var(--line)}
.hero-highlight{color:var(--primary)}.hero-highlight:before{display:none}
.hero-summary{display:flex;flex-direction:column;justify-content:center;padding:24px 26px;border-right:1px solid var(--line)}.hero-description{max-width:440px;margin:0;font-size:var(--font-normal);line-height:1.65;color:var(--muted)}.hero-summary>.text-link{margin-top:10px;font:var(--font-xs)/1.5 var(--font);text-transform:uppercase}.hero-principles{display:flex;gap:20px;border-top:1px dashed var(--line);padding-top:13px;margin-top:8px;font:var(--font-xs)/1.5 var(--font);color:var(--muted)}.hero-principles>span:before{content:'+';margin-right:6px;color:var(--primary)}
.hero-actions{margin:0;display:flex;align-items:stretch;gap:0;flex-direction:column}.hero-actions .hero-project-button{height:100%;min-height:180px;border:0;padding:19px;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;font-size:var(--font-xs);background:transparent;color:var(--primary)}.hero-project-button .qw-button__label{margin:0;align-self:flex-start;min-height:24px}.hero-project-button .qw-button__icon{align-self:flex-end;border:0;min-width:36px;height:36px}.hero-project-button .qw-button__icon svg{width:25px;height:25px}
.hero-bottom{border:0;min-height:50px;padding:13px 24px;font-size:var(--font-xs);gap:20px}.hero-bottom .live-dot{width:5px;height:5px;border-radius:0;background:var(--accent)}.hero-bottom a{font-size:var(--font-xs)}
.capabilities-strip{background:transparent;border-top:0}.capabilities-strip .wrap{border-inline:1px solid var(--line);justify-content:space-around;padding-block:22px}.capabilities-strip span{font-family:var(--mono);font-size:var(--font-xs);letter-spacing:.05em}.capabilities-strip b{font-family:var(--mono);font-size:18px;color:var(--primary)}
.studio-statement{display:grid;grid-template-columns:1fr 2.15fr;gap:70px;border-inline:1px solid var(--line);border-bottom:1px solid var(--line);padding:100px 38px}.studio-statement>.eyebrow{padding-top:7px}.studio-statement h2{font-size:clamp(36px,4.1vw,66px);text-transform:uppercase;letter-spacing:-.055em}.studio-statement h2 span{color:var(--primary)}.studio-statement>div>p{font-size:var(--font-normal);color:var(--muted);max-width:490px;margin-top:28px}.studio-statement .button{margin-top:26px}
.section-space{padding-block:80px}.work-section,.studio-section{padding-inline:38px;border-inline:1px solid var(--line)}.section-heading{align-items:flex-start;margin-bottom:40px;gap:55px}.section-heading h2,.studio-intro h2,.faq-section h2,.contact-main h2{text-transform:uppercase;font-weight:500;font-size:clamp(36px,3.9vw,60px);letter-spacing:-.055em;line-height:1.02}.serif-word{font:inherit;letter-spacing:inherit}.section-heading .eyebrow,.studio-intro .eyebrow{margin-bottom:28px}.section-heading>p{font-size:var(--font-normal);max-width:320px;padding-top:44px;min-width:0}
.work-grid{gap:0;border:1px solid var(--line)}.project-card{padding:18px;min-width:0}.project-card+ .project-card{border-left:1px solid var(--line)}.project-visual{border-radius:0;aspect-ratio:1.2}.project-tag{border-radius:0;font-size:var(--font-xs);padding:6px 9px;background:var(--paper);border-color:var(--line);left:18px;top:18px}.finance-visual{background:var(--pastel)}.botanical-visual{background:rgba(43,191,168,.17)}.finance-window,.botanical-window{border-radius:0;box-shadow:0 10px 28px rgba(41,60,87,.09)}.project-visual:hover .finance-window,.project-visual:hover .botanical-window{transform:translateY(-4px)}.project-open{border-radius:0;right:14px;bottom:14px;width:44px;height:44px;border-color:var(--line);transition:background .25s,color .25s}.project-visual:is(:hover,:focus-visible) .project-open{background:var(--primary);color:var(--paper)}.project-meta{padding:22px 0 5px}.project-meta h3{font-size:17px;font-weight:500;line-height:1.25}.project-meta p{font-family:var(--mono);font-size:var(--font-xs);margin-top:10px}.concept-note{font-family:var(--mono);font-size:var(--font-xs);margin-top:20px}
.services-section{background:var(--ink);padding:0}.services-section>.wrap{border-inline:1px solid rgba(189,206,239,.3);padding:64px 38px 28px}.services-section .section-heading{margin-bottom:42px}.services-section .eyebrow{color:var(--pastel)}.services-section .section-heading>p{color:var(--pastel)}.services-section .serif-word{color:var(--sky)}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid rgba(189,206,239,.35);border-left:1px solid rgba(189,206,239,.35);align-items:start}.service-row,.service-row:last-child{border:0;border-right:1px solid rgba(189,206,239,.35);border-bottom:1px solid rgba(189,206,239,.35);padding:26px;position:relative;min-height:176px}.service-row summary{padding:0;display:grid;grid-template-columns:1fr 38px;gap:20px;align-items:start}.service-number{color:var(--sky);grid-column:1/-1;font-size:var(--font-xs)}.service-number:before{content:'['}.service-number:after{content:']'}.service-row h3{font-size:clamp(25px,2.4vw,35px);line-height:1.05;text-transform:uppercase;max-width:340px;letter-spacing:-.045em}.service-plus{border-radius:0;width:36px;height:36px;line-height:1;color:var(--paper);background:transparent}.service-row[open] .service-plus{transform:none;background:transparent;color:var(--sky);border-color:var(--sky)}.service-row[open] .service-plus:after{content:'−';position:absolute}.service-row[open] .service-plus{font-size:0}.service-row[open] .service-plus:after{font-size:22px}.service-content{padding:26px 0 0;display:block;gap:0}.service-content>p{font-size:var(--font-normal);line-height:1.7;color:var(--pastel);max-width:410px}.service-content>div{margin-top:20px;padding-top:14px;border-top:1px dashed rgba(189,206,239,.3)}.service-tags{font-size:var(--font-xs);line-height:1.8}.service-content .text-link{font-family:var(--mono);font-size:var(--font-xs);margin-top:12px;text-transform:uppercase;letter-spacing:0}.services-foot{margin-top:24px;font-size:var(--font-xs)}
.studio-intro{grid-template-columns:1fr 1.25fr;gap:80px}.studio-lead{font-size:23px;line-height:1.5;letter-spacing:-.025em}.studio-intro .text-link{font:var(--font-xs)/1.5 var(--font);text-transform:uppercase}.process-grid{gap:0;margin-top:62px;border:1px solid var(--line)}.process-grid article{padding:27px;border-top:0}.process-grid article+article{border-left:1px solid var(--line)}.process-grid article>span{font-size:var(--font-xs);color:var(--primary)}.process-grid h3{font-size:25px;text-transform:uppercase;line-height:1.05;margin-top:38px}.process-grid p{font-size:var(--font-normal);max-width:100%}
.faq-section{padding:64px 38px 80px;border-inline:1px solid var(--line);border-bottom:1px solid var(--line);gap:60px;grid-template-columns:1fr 1.25fr}.faq-list{border-top:1px solid var(--line)}.faq-list summary{padding:24px 16px;font-size:var(--font-normal);transition:color .2s,background .2s}.faq-list summary:is(:hover,:focus-visible){color:var(--primary);background:rgba(189,206,239,.15)}.faq-list details[open] summary{color:var(--primary)}.faq-list details p{padding:0 16px 24px;font-size:var(--font-normal)}.faq-list summary span{font-family:var(--mono);font-size:22px}
.contact-section{background:var(--paper);padding:0}.contact-section>.wrap{border-inline:1px solid var(--line);background-color:rgba(49,185,255,.09);padding:32px 38px}.contact-top{padding-bottom:22px;border-bottom:1px dashed var(--line)}.contact-top .eyebrow{color:var(--primary)}.contact-main{padding-block:44px;gap:35px}.contact-main h2{font-size:clamp(44px,5.4vw,82px);max-width:900px}.contact-main .serif-word{color:var(--primary)}.contact-arrow.button.qw-button{width:150px;height:150px;min-width:150px;padding:0;border:1px solid var(--primary);margin:0;background:var(--primary);border-radius:0;justify-content:center}.contact-arrow .qw-button__icon{width:100%;height:100%;border:0}.contact-arrow .qw-button__icon svg{width:64px;height:64px;stroke-width:1}.contact-arrow:hover{transform:none}.contact-bottom{padding-top:24px;border-color:var(--line)}.contact-email{font-size:20px}.contact-bottom>span{font-size:var(--font-xs)}
.site-footer{border:1px solid var(--line);border-bottom:0;padding:28px 38px;min-height:110px}.site-footer .brand-logo{width:200px}.site-footer p{font-size:var(--font-xs)}.site-footer .text-link{font:var(--font-xs)/1.5 var(--font);text-transform:uppercase}
dialog{border-radius:0;border-color:var(--line);box-shadow:0 20px 90px rgba(41,60,87,.2)}dialog h2{text-transform:uppercase;font-size:40px}input:not([type=checkbox]):not([type=radio]),textarea,select{border-radius:0}.dialog-close{font-family:var(--mono);font-size:26px}.content-page{border-inline:1px solid var(--line);padding-inline:38px}
/* One button implementation: fill, text and arrows move horizontally. */
.button.qw-button {
  --button-fill:var(--ink); --button-hover-text:var(--paper);
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:stretch; justify-content:space-between; gap:0;
  min-height:56px; padding:0; border:1px solid var(--primary); border-radius:0;
  background:var(--primary); color:var(--paper);
  font:500 var(--font-small)/1.5 var(--font); letter-spacing:.015em; text-transform:uppercase;
  transform:none; transition:color .18s,border-color .18s;
}
.button.qw-button::after { content:none; }
.qw-button__tiles {
  position:absolute; left:0; top:50%; width:100%; height:100%;
  transform:translateY(-50%); pointer-events:none; z-index:0;
  background:var(--button-fill);
  -webkit-mask-image:url('../images/button-pixel-mask.svg');
  mask-image:url('../images/button-pixel-mask.svg');
  -webkit-mask-size:2000% 100%; mask-size:2000% 100%;
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:0% 0; mask-position:0% 0; mask-mode:alpha;
  transition:-webkit-mask-position 580ms steps(19),mask-position 580ms steps(19);
}
.qw-button__label {
  display:grid; grid-template-columns:1fr; align-self:center; overflow:hidden;
  position:relative; z-index:1; margin:15px 20px; text-align:left;
}
.qw-button__label>span,.qw-button__icon>span { grid-area:1/1; transition:transform .48s var(--studio-ease); }
.qw-button__label>span { display:block; }
.qw-button__label>span+span,.qw-button__icon>span+span { transform:translateX(-105%); }
.qw-button__icon {
  display:grid; grid-template-columns:1fr; align-self:stretch; position:relative;
  z-index:1; min-width:54px; overflow:hidden; border-left:1px solid rgba(240,246,251,.3);
}
.qw-button__icon>span { display:grid; place-items:center; }
.qw-button__icon svg { width:22px; height:22px; }
.button.qw-button:is(:hover,:focus-visible,:active) {
  background:var(--primary); color:var(--button-hover-text); border-color:var(--button-fill); transform:none;
}
.qw-button:is(:hover,:focus-visible,:active) .qw-button__tiles {
  -webkit-mask-position:100% 0; mask-position:100% 0;
}
@supports not (mask-image:url('')) {
  .qw-button__tiles { visibility:hidden; }
  .qw-button:is(:hover,:focus-visible,:active) .qw-button__tiles { visibility:visible; }
}
.qw-button:is(:hover,:focus-visible,:active) .qw-button__label>span:first-child,
.qw-button:is(:hover,:focus-visible,:active) .qw-button__icon>span:first-child { transform:translateX(105%); }
.qw-button:is(:hover,:focus-visible,:active) .qw-button__label>span+span,
.qw-button:is(:hover,:focus-visible,:active) .qw-button__icon>span+span { transform:translateX(0); }
.button.qw-button.button-outline,.hero-actions .button.qw-button {
  --button-fill:var(--primary); background:transparent; color:var(--primary); border-color:var(--line);
}
.button.qw-button.button-outline:is(:hover,:focus-visible,:active),
.hero-actions .button.qw-button:is(:hover,:focus-visible,:active) { background:transparent; color:var(--paper); }
.button-outline .qw-button__icon,.hero-project-button .qw-button__icon { border-color:var(--line); }
.hero-actions .button.qw-button {
  padding:20px; border:0; flex-direction:column; align-items:flex-start; min-height:100%; height:100%;
}
.hero-project-button .qw-button__label { margin:0; font-size:var(--font-small); }
.hero-project-button .qw-button__icon { height:40px; min-width:40px; align-self:flex-end; border:0; }
#brief-form .button.qw-button { width:100%; margin-top:20px; }
.button-small.qw-button { min-height:52px; }
.button-small .qw-button__label { margin:13px 16px; }
.button-small .qw-button__icon { min-width:50px; }
.text-link svg { transition:transform .25s var(--studio-ease); }
.text-link:is(:hover,:focus-visible) svg { transform:translateX(3px); }


@media(min-width:1600px){.hero-viewport{height:500px}.hero-viewport .globe-scene{width:470px}.hero-copy{grid-template-columns:1.15fr 1fr 215px}.hero h1{font-size:62px}}
@media(max-width:1100px){.site-header{padding-inline:20px}.site-header .brand-logo{width:205px}.site-header nav{gap:15px}.nav-links a{padding-inline:14px}.globe-note{left:5%;width:170px}.globe-note h2{font-size:23px}.globe-spec{right:5%;width:155px}.hero-copy{grid-template-columns:1.1fr 1fr 155px}.hero h1{padding:24px;font-size:43px}.hero-summary{padding:20px}.hero-description{font-size:var(--font-normal)}.hero-principles{gap:12px;flex-wrap:wrap}.hero-project-button .qw-button__label{font-size:var(--font-xs)}.studio-statement{gap:45px;grid-template-columns:1fr 2fr}.service-row{padding:23px}.studio-intro{gap:48px}.project-visual{aspect-ratio:1.08}}
@media(max-width:800px){.wrap{width:calc(100% - 32px)}.site-header .brand-logo{width:185px}.nav-links a{padding-inline:10px;font-size:var(--font-xs)}.site-header nav>.button{min-width:125px}.button-small .qw-button__label{margin-inline:12px}.hero-viewport{height:360px}.hero-viewport .globe-scene{width:360px;max-width:55%}.globe-note{width:135px;left:4%}.globe-note h2{font-size:20px}.globe-note p{font-size:var(--font-xs)}.globe-spec{right:4%;width:135px;padding:12px}.globe-spec p{font-size:var(--font-xs)}.globe-spec .panel-label{font-size:var(--font-xs)}.viewport-footer{font-size:var(--font-xs);left:30px;right:30px}.hero-copy{grid-template-columns:1.1fr 1fr}.hero h1{font-size:39px;grid-row:1/3;padding:22px}.hero-summary{border-right:0;padding:20px;border-bottom:1px solid var(--line)}.hero-actions .button.qw-button{min-height:60px;flex-direction:row;align-items:center;padding:12px 20px}.hero-project-button .qw-button__icon{align-self:center;height:32px}.hero-principles{display:none}.hero-bottom{font-size:var(--font-xs);flex-wrap:wrap}.hero-bottom a{display:none}.hero-index{padding:15px 20px}.hero-index>span{font-size:var(--font-xs)}.hero-index .eyebrow{font-size:var(--font-xs)}.work-section,.studio-section{padding-inline:24px}.studio-statement{padding:70px 24px;gap:35px}.studio-statement h2{font-size:40px}.section-heading h2,.studio-intro h2,.faq-section h2{font-size:39px}.services-section>.wrap{padding-inline:24px}.section-heading>p{max-width:245px}.project-card{padding:12px}.project-visual{aspect-ratio:.95}.project-meta h3{font-size:var(--font-normal)}.service-row h3{font-size:27px}.service-content .text-link{font-size:var(--font-xs);gap:10px}.process-grid article{padding:20px}.process-grid h3{font-size:22px}.faq-section{padding-inline:24px;gap:35px}.contact-section>.wrap{padding-inline:24px}.contact-arrow.button.qw-button{width:105px;height:105px;min-width:105px}.contact-arrow .qw-button__icon svg{width:44px;height:44px}.site-footer{padding-inline:24px}.site-footer p{order:0;flex-basis:auto}.site-footer .brand-logo{width:170px}}
@media(max-width:600px){.site-header{height:auto;min-height:78px;padding:17px 18px;gap:16px}.site-header .brand-logo{width:clamp(150px,47vw,205px)}.site-header nav{gap:16px;width:100%;align-self:auto}.site-header nav>.button{align-self:stretch}.nav-links>li{display:block}.nav-links a{padding:14px 0;min-height:48px}.nav-links>li>a:after{left:auto;right:0;bottom:23px}.nav-links .sub-menu{padding-left:16px}.menu-toggle{border-radius:0;font:var(--font-xs)/1.5 var(--font);text-transform:uppercase;min-width:75px;justify-content:space-between}.hero-index{padding:13px 18px;gap:12px}.hero-index>span{display:none}.hero-index .eyebrow{font-size:var(--font-xs);letter-spacing:.02em}.hero-viewport{height:350px}.hero-viewport .globe-scene{width:300px;max-width:88%;margin:0}.viewport-grid{inset:17px;background-size:25% 20%}.hero-viewport:after{inset-inline:17px}.registration-mark{width:10px;height:10px}.mark-tl,.mark-bl{left:12px}.mark-tr,.mark-br{right:12px}.mark-tl,.mark-tr{top:12px}.mark-bl,.mark-br{bottom:12px}.globe-note,.globe-spec{display:none}.viewport-footer{left:25px;right:25px;bottom:22px;font-size:var(--font-xs)}.viewport-footer span:last-child{display:none}.hero-viewport .globe-label-top{font-size:var(--font-xs)}.hero-viewport .globe-caption{font-size:var(--font-xs);bottom:2%}.hero-viewport .globe-pause{right:0;bottom:0}.hero-copy{display:block}.hero h1{font-size:clamp(38px,9.2vw,53px);padding:24px 20px;border-right:0;border-bottom:1px solid var(--line)}.hero-summary{padding:20px;border-right:0}.hero-description{max-width:none;font-size:var(--font-normal);margin:0}.hero-summary>.text-link{margin-top:9px}.hero-actions{margin:0;display:block}.hero-actions .button.qw-button{min-height:64px;width:100%;flex-direction:row;align-items:center;padding:16px 20px;gap:20px;background:var(--primary);color:var(--paper);--button-fill:var(--ink)}.hero-project-button .qw-button__label{font-size:var(--font-xs)}.hero-actions .button.qw-button:is(:hover,:focus-visible,:active){background:var(--primary)}.hero-bottom{padding:16px 20px;font-size:var(--font-xs);gap:9px;align-items:flex-start;flex-direction:column}.hero-bottom>span:nth-child(2){gap:7px}.capabilities-strip .wrap{padding:19px 14px;gap:12px;justify-content:center}.capabilities-strip span{font-size:var(--font-xs)}.capabilities-strip b{font-size:var(--font-normal)}.studio-statement{display:block;padding:52px 20px}.studio-statement>.eyebrow{margin-bottom:28px}.studio-statement h2{font-size:clamp(31px,8vw,43px)}.studio-statement>div>p{font-size:var(--font-normal);margin-top:22px}.studio-statement .button{margin-top:22px;width:100%}.section-space{padding-block:54px}.work-section,.studio-section{padding-inline:20px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow,.studio-intro .eyebrow{font-size:var(--font-xs);margin-bottom:22px}.section-heading h2,.studio-intro h2,.faq-section h2{font-size:clamp(32px,8.3vw,44px)}.section-heading>p{padding-top:0;margin-top:23px;max-width:none;font-size:var(--font-normal)}.work-grid{grid-template-columns:1fr;gap:0}.project-card{padding:12px}.project-card+.project-card{border-left:0;border-top:1px solid var(--line)}.project-visual{aspect-ratio:.97}.project-tag{font-size:var(--font-xs);top:12px;left:12px}.finance-visual,.botanical-visual{padding:52px 12px 28px}.project-meta{padding-top:18px}.project-meta h3{font-size:var(--font-normal)}.project-meta p{font-size:var(--font-xs)}.concept-note{font-size:var(--font-xs);line-height:1.7}.services-section{padding:0}.services-section>.wrap{padding:48px 20px 24px}.services-section .section-heading{margin-bottom:30px}.service-list{grid-template-columns:1fr}.service-row,.service-row:last-child{padding:24px 20px;min-height:0}.service-row summary{gap:18px;grid-template-columns:1fr 36px}.service-number{font-size:var(--font-xs)}.service-row h3{font-size:28px;max-width:260px}.service-content{padding-top:20px}.service-content .text-link{font-size:var(--font-xs)}.service-content>p{font-size:var(--font-normal)}.services-foot{font-size:var(--font-xs);line-height:1.6}.studio-intro{grid-template-columns:1fr;gap:28px}.studio-lead{font-size:20px}.studio-intro .text-link{font-size:var(--font-xs);line-height:1.6}.process-grid{grid-template-columns:1fr;margin-top:36px}.process-grid article{padding:24px}.process-grid article+article{border-left:0;border-top:1px solid var(--line)}.process-grid h3{margin-top:24px;font-size:25px}.faq-section{padding:45px 20px 55px;grid-template-columns:1fr;gap:30px}.faq-section h2 br{display:block}.faq-list summary{padding:20px 0;font-size:var(--font-normal)}.faq-list details p{padding:0 0 22px;font-size:var(--font-normal)}.contact-section{padding:0}.contact-section>.wrap{padding:24px 20px}.contact-top{padding-bottom:18px}.contact-top .eyebrow{font-size:var(--font-xs);line-height:1.7}.contact-main{display:block;padding-block:30px}.contact-main h2{font-size:clamp(36px,9.3vw,51px)}.contact-arrow.button.qw-button{margin-top:24px;width:64px;height:64px;min-width:64px}.contact-arrow .qw-button__icon svg{width:32px;height:32px}.contact-bottom{align-items:flex-start;gap:12px;padding-top:20px}.contact-email{font-size:18px}.contact-bottom>span{font-size:var(--font-xs)}.site-footer{padding:24px 20px;gap:16px;flex-wrap:wrap}.site-footer .brand-logo{width:160px}.site-footer .text-link{font-size:var(--font-xs)}.site-footer p{order:3;flex-basis:100%;font-size:var(--font-xs)}.content-page{padding-inline:20px}.button.qw-button{font-size:var(--font-xs)}.qw-button__label{margin-inline:16px}dialog h2{font-size:34px}}

/* Inter type system: display, section title, card title, body, UI and metadata. */
:root {
  --font-normal:1rem; --font-small:.9375rem; --font-xs:.8125rem;
  --type-display:clamp(2.625rem,1.1rem + 3.5vw,4.5rem);
  --type-section:clamp(2rem,1.35rem + 2vw,3.25rem);
  --type-card:clamp(1.625rem,1.25rem + 1vw,2rem);
  --type-lead:clamp(1.25rem,1rem + .7vw,1.625rem);
}
body {
  font-family:var(--font); font-size:var(--font-normal); font-weight:400;
  line-height:1.7; letter-spacing:0; font-kerning:normal; font-optical-sizing:auto;
}
.hero h1,.studio-statement h2,.section-heading h2,.studio-intro h2,
.faq-section h2,.contact-main h2,.globe-note h2,.service-row h3,
.process-grid h3,.project-meta h3,dialog h2,.content-page h1,
.entry-content h2,.entry-content h3,.post-card h2 {
  font-family:var(--font); font-weight:600; text-transform:none;
  letter-spacing:-.035em; text-wrap:balance; overflow-wrap:break-word;
}
.hero h1 {
  font-size:var(--type-display); line-height:1.06; letter-spacing:-.045em;
  padding:36px 32px;
}
.section-heading h2,.studio-intro h2,.faq-section h2 {
  font-size:var(--type-section); line-height:1.14;
}
.studio-statement h2 {
  font-size:clamp(2.125rem,1.4rem + 2.3vw,3.5rem); line-height:1.13; max-width:24ch;
}
.contact-main h2 {
  font-size:clamp(2.625rem,1.6rem + 3vw,4.5rem); line-height:1.08; max-width:22ch;
}
.globe-note h2 { font-size:1.5rem; line-height:1.25; letter-spacing:-.025em; }
.service-row h3 { font-size:var(--type-card); line-height:1.22; letter-spacing:-.03em; max-width:20ch; }
.process-grid h3 { font-size:1.5rem; line-height:1.25; letter-spacing:-.025em; margin-top:32px; }
.project-meta h3 { font-size:1.375rem; line-height:1.35; letter-spacing:-.025em; }
dialog h2 { font-size:clamp(2rem,1.5rem + 1.5vw,2.75rem); line-height:1.15; }
.content-page h1 { font-size:var(--type-display); line-height:1.1; }
.entry-content h2 { font-size:2rem; line-height:1.2; }
.entry-content h3,.post-card h2 { font-size:1.5rem; line-height:1.3; }
.hero-description,.studio-statement>div>p,.section-heading>p,
.service-content>p,.studio-intro .muted,.process-grid p,.faq-list details p,
dialog>p:not(.eyebrow),.concept-dialog ul,.post-card>p,
input:not([type=checkbox]):not([type=radio]),textarea,select {
  font-family:var(--font); font-size:var(--font-normal); font-weight:400;
  line-height:1.75; letter-spacing:0; text-transform:none;
}
.hero-description { max-width:42ch; }
.hero-summary { padding:32px; gap:8px; }
.studio-statement>div>p { max-width:55ch; margin-top:24px; }
.section-heading>p { max-width:36ch; padding-top:0; }
.section-heading { align-items:flex-end; gap:40px; }
.studio-lead {
  font-size:var(--type-lead); font-weight:500; letter-spacing:-.02em;
  line-height:1.5; max-width:40ch; text-wrap:pretty;
}
.studio-intro .muted,.service-content>p,.faq-list details p,.process-grid p { max-width:60ch; }
.nav-links a,.menu-toggle,.text-link,.hero-summary>.text-link,
.studio-intro .text-link,.service-content .text-link,.site-footer .text-link,
.capabilities-strip span,.project-meta p,label,
.button.qw-button,.hero-project-button .qw-button__label {
  font-family:var(--font); font-size:var(--font-small); line-height:1.5;
  font-weight:500; letter-spacing:0; text-transform:none;
}
.service-content .text-link,.studio-intro .text-link { gap:12px; }
.project-meta p { font-weight:400; margin-top:8px; line-height:1.6; }
.faq-list summary { font-size:var(--font-normal); font-weight:500; line-height:1.5; letter-spacing:-.01em; }
.eyebrow,.section-heading .eyebrow,.studio-intro .eyebrow,.contact-top .eyebrow,
.hero-index .eyebrow,.hero-index>span,.hero-bottom,.hero-bottom a,.hero-principles,
.panel-label,.globe-spec .panel-label,.globe-note p,.globe-spec,.globe-spec p,.spec-coordinate,
.hero-viewport .globe-label-top,.hero-viewport .globe-caption,.viewport-footer,
.service-number,.service-tags,.services-foot,.process-grid article>span,
.project-tag,.project-meta>span,.concept-note,.contact-top>span,.contact-bottom>span,
.site-footer p,.form-note {
  font-family:var(--font); font-size:var(--font-xs); font-weight:400;
  line-height:1.65; letter-spacing:.01em;
}
.eyebrow,.section-heading .eyebrow,.studio-intro .eyebrow,.contact-top .eyebrow,
.hero-index .eyebrow,.panel-label,.globe-spec .panel-label,.process-grid article>span {
  font-weight:600; letter-spacing:.085em; text-transform:uppercase; line-height:1.5;
}
.section-heading .eyebrow,.studio-intro .eyebrow,.faq-section .eyebrow { margin-bottom:20px; }
.service-number,.project-meta>span,.spec-coordinate { font-variant-numeric:tabular-nums; }
.service-tags { display:block; line-height:1.8; }
.capabilities-strip span { font-weight:500; letter-spacing:.025em; }
.project-tag { letter-spacing:.025em; font-weight:500; }
.contact-email { font-size:clamp(1.125rem,1rem + .5vw,1.5rem); font-weight:500; letter-spacing:-.02em; }
@media(max-width:1100px) {
  .hero h1 { padding:28px; }
  .hero-summary { padding:28px; }
}
@media(max-width:600px) {
  .hero h1 { padding:28px 20px; }
  .hero-summary { padding:24px 20px; }
  .hero-index .eyebrow { letter-spacing:.055em; }
  .section-heading>p { margin-top:24px; max-width:40ch; }
  .project-meta h3 { font-size:1.25rem; }
  .service-content .text-link { align-items:flex-start; }
  .service-content .text-link svg { margin-top:2px; }
  .process-grid h3 { margin-top:24px; }
  .contact-top { flex-wrap:wrap; }
  .contact-top>span { display:none; }
}
.hero-copy>*,.hero-summary { min-width:0; }
.hero-copy { grid-template-columns:1.5fr 1fr 210px; }
.hero-principles { flex-wrap:wrap; gap:8px 16px; }
.capabilities-strip .wrap { flex-wrap:wrap; gap:16px 24px; }
.globe-note { width:210px; }
.globe-spec { width:205px; }
.contact-bottom { flex-wrap:wrap; }
@media(max-width:1100px) {
  .hero-copy { grid-template-columns:1.2fr 1fr; }
  .hero h1 { grid-row:1/3; }
  .hero-summary { border-right:0; border-bottom:1px solid var(--line); }
  .hero-actions .button.qw-button { min-height:64px; flex-direction:row; align-items:center; padding:16px 28px; }
  .hero-project-button .qw-button__label,.hero-project-button .qw-button__icon { align-self:center; }
  .globe-note,.globe-spec { width:175px; }
}
@media(max-width:900px) {
  .site-header { height:auto; min-height:84px; flex-wrap:wrap; padding-block:16px; gap:16px; }
  .menu-toggle:not([hidden]) { display:flex; border-radius:0; }
  .site-header nav { width:100%; align-self:auto; flex-direction:column; align-items:stretch; gap:16px; }
  .site-header.nav-enhanced nav { display:none; }
  .site-header.nav-enhanced.is-open nav { display:flex; }
  .nav-links { flex-direction:column; align-items:stretch; gap:0; }
  .nav-links>li { display:block; }
  .nav-links a { padding:12px 0; min-height:48px; }
  .nav-links>li>a:after { left:auto; right:0; bottom:23px; }
  .site-header nav>.button { align-self:stretch; width:100%; }
  .globe-note,.globe-spec { display:none; }
  .hero-viewport .globe-scene { max-width:88%; }
}
@media(max-width:800px) {
  .hero-copy { grid-template-columns:1.2fr 1fr; }
  .hero-actions .button.qw-button { min-height:64px; flex-direction:row; align-items:center; padding:16px 20px; }
  .hero-project-button .qw-button__icon { align-self:center; height:32px; }
  .hero-project-button .qw-button__label { align-self:center; }
}
@media(max-width:600px) {
  .hero-actions .button.qw-button { width:100%; background:var(--primary); color:var(--paper); --button-fill:var(--ink); }
  .hero-actions .button.qw-button:is(:hover,:focus-visible,:active) { background:var(--primary); }
  .qw-button__label { margin-inline:16px; }
  .viewport-footer { bottom:12px; }
  .hero-viewport .globe-caption { bottom:5%; }
  .hero-index .eyebrow { flex-wrap:wrap; }
  .contact-email { font-size:18px; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
  .qw-button__tiles,.qw-button__label>span+span,.qw-button__icon>span+span { display:none; }
  .qw-button .qw-button__label>span,.qw-button .qw-button__icon>span,
  .qw-button:is(:hover,:focus-visible,:active) .qw-button__label>span:first-child,
  .qw-button:is(:hover,:focus-visible,:active) .qw-button__icon>span:first-child,
  .text-link:is(:hover,:focus-visible) svg { transform:none; transition:none; }
  .button.qw-button:is(:hover,:focus-visible,:active),
  .button.qw-button.button-outline:is(:hover,:focus-visible,:active),
  .hero-actions .button.qw-button:is(:hover,:focus-visible,:active) { background:var(--button-fill); transition:none; }
}
