:root{--ink:#252525;--paper:#fff;--mute:#6c6c6c;--line:#dfdfdf;--steel:#bebebe;--gutter:clamp(22px,4.7vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #737373;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button{border:0;background:none;padding:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06}svg{width:24px;height:24px;flex-shrink:0}.eyebrow{text-transform:uppercase;letter-spacing:.105em;font-size:12px;line-height:1.5;font-weight:500}.section{padding:104px var(--gutter)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:56px}.section-heading h2{font-weight:500;font-size:clamp(38px,4.7vw,68px);letter-spacing:-.045em;margin-top:24px}.section-intro{max-width:385px;color:var(--mute);padding-bottom:5px}.skip-link{position:fixed;top:-80px;left:20px;padding:12px 20px;background:#fff;color:var(--ink);z-index:100}.skip-link:focus{top:12px}.header{background:var(--ink);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.header-inner{display:flex;align-items:center;padding:18px var(--gutter);gap:40px;min-height:86px}.brand{display:block;margin-right:auto;flex-shrink:0}.brand img{width:174px;height:47px;object-fit:contain}.navigation{display:flex;gap:30px;font-size:14px}.navigation a{color:#e0e0e0;transition:color .2s}.navigation a:hover{color:white}.header-contact{display:flex;align-items:center;gap:25px;margin-left:35px;border-bottom:1px solid #ffffff80;font-size:14px;padding:8px 0}.header-contact svg{width:17px;height:17px}.menu-toggle{display:none}.hero{background:var(--ink);color:white;display:grid;grid-template-columns:54% 46%;min-height:640px}.hero-content{padding:42px 7.5% 38px var(--gutter);display:flex;flex-direction:column;position:relative}.hero-eyebrow{display:flex;justify-content:space-between;gap:22px;color:#c5c5c5;max-width:660px}.hero h1{font-weight:500;font-size:clamp(54px,6.35vw,98px);line-height:.99;letter-spacing:-.05em;margin:48px 0 40px}.hero h1 span{color:var(--steel)}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.hero-bottom p{font-size:16px;line-height:1.55;color:#d4d4d4}.round-link{display:grid;place-items:center;width:54px;height:54px;border:1px solid #ffffff55;border-radius:50%;transition:background .2s}.round-link:hover{background:#ffffff18}.hero-visual{position:relative;overflow:hidden;min-height:640px}.hero-visual>img{width:100%;height:100%;position:absolute;object-position:50% 48%}.hero-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#191919bb);padding:90px 35px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.hero-caption small{display:block;font-size:12px;margin-top:5px;color:#d8d8d8}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:34px var(--gutter) 38px;border-bottom:1px solid var(--line)}.stats>div{padding-left:30px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border:0}.stats strong{font-size:clamp(36px,3.7vw,52px);font-weight:500;letter-spacing:-.06em;line-height:1.2}.stats strong span{font-size:.6em;margin-left:3px}.stats p{color:var(--mute);font-size:14px;margin-top:7px}.stats .stats-geography{display:flex;justify-content:flex-end;flex-direction:column}.stats-geography strong{font-size:clamp(25px,2.45vw,36px);letter-spacing:-.045em}.featured-project{display:grid;grid-template-columns:57% 43%;background:#f0f0f0;min-height:520px;margin-bottom:56px;scroll-margin-top:105px}.feature-image{position:relative;overflow:hidden}.feature-image>img{height:100%;width:100%;max-height:600px;object-position:50% 54%;transition:transform .6s}.feature-image:hover>img{transform:scale(1.035)}.feature-image-label{position:absolute;top:24px;left:24px;padding:7px 12px;background:#fff;color:var(--ink);font-size:12px}.project-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:43px;height:43px;background:white;color:var(--ink);transition:transform .2s}.feature-copy{padding:38px 38px 36px 44px;display:flex;flex-direction:column}.feature-copy>.eyebrow{color:var(--mute);font-size:12px}.feature-copy h3{font-size:clamp(32px,3.3vw,48px);font-weight:500;letter-spacing:-.04em;margin:26px 0}.feature-volume{font-size:clamp(40px,4.5vw,62px);line-height:1.2;letter-spacing:-.05em;margin:0 0 20px}.feature-volume span{font-size:23px}.feature-copy>p{color:var(--mute);font-size:16px;max-width:400px}.text-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;border-bottom:1px solid currentColor;padding:12px 0;align-self:flex-start}.feature-copy .text-button{margin-top:auto;padding-top:24px}.text-button svg{width:18px;height:18px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}.project-open{text-align:left;width:100%}.project-image{display:block;position:relative;aspect-ratio:1.55;overflow:hidden;background:#e8e8e8}.project-image>img{width:100%;height:100%;transition:transform .55s}.project-open:hover .project-image>img{transform:scale(1.04)}.project-open:hover .project-arrow{transform:translate(2px,-2px)}.project-tag{position:absolute;left:18px;bottom:18px;background:white;padding:8px 13px;font-size:14px}.project-meta{display:flex;justify-content:space-between;gap:16px;margin-top:20px;color:var(--mute);font-size:12px}.project-card h3{font-size:28px;font-weight:500;letter-spacing:-.035em;margin-top:11px}.project-description{display:block;color:var(--mute);margin-top:12px;font-size:16px;max-width:510px}.more-projects{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.more-projects summary{list-style:none;display:flex;justify-content:space-between;padding:22px 0;cursor:pointer;font-size:16px}.more-projects summary::-webkit-details-marker{display:none}.summary-plus{font-size:25px;line-height:1}.less-label{display:none}.more-projects[open] .less-label{display:inline}.more-projects[open] .more-label{display:none}.more-projects[open] .summary-plus{transform:rotate(45deg)}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 0 40px;gap:25px}.compact-grid h3{font-size:23px}.compact-grid .project-meta{display:block}.compact-grid .project-meta>span{display:block}.restaurant{display:grid;grid-template-columns:53% 47%;margin-top:78px;min-height:580px;background:var(--ink);color:white}.restaurant-copy{padding:45px;display:flex;flex-direction:column}.restaurant-copy .eyebrow{color:#c0c0c0}.restaurant-copy h3{font-size:clamp(38px,4.5vw,64px);font-weight:500;letter-spacing:-.045em;margin:30px 0}.restaurant-copy>p:not(.eyebrow){max-width:350px;color:#c4c4c4}.restaurant-bottom{display:flex;align-items:flex-end;gap:32px;justify-content:space-between;margin-top:auto;padding-top:35px}.restaurant-bottom>div{display:flex;align-items:center;gap:15px}.restaurant-bottom strong{font-size:85px;font-weight:400;line-height:1}.restaurant-bottom span{font-size:14px;color:#c4c4c4}.restaurant-image{position:relative;overflow:hidden}.restaurant-image>img{width:100%;height:100%;object-position:50% 50%}.services{padding-top:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service{border-top:1px solid var(--line);padding-top:22px;display:flex;gap:22px;min-height:170px}.service-number{font-size:12px;color:var(--mute);padding-top:5px}.service h3{font-size:23px;line-height:1.2;font-weight:500;letter-spacing:-.025em;max-width:240px}.service p{color:var(--mute);font-size:16px;margin-top:15px;max-width:270px}.company{background:var(--ink);color:white}.company .eyebrow{color:#bcbcbc}.company-intro{max-width:460px;color:#c8c8c8}.company-intro p+p{margin-top:20px}.company-intro p:first-child{color:white;font-size:20px;line-height:1.5}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid #ffffff30;padding-top:34px}.resource strong{display:block;font-size:clamp(75px,8vw,114px);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:20px 0}.resource h3{font-weight:400;font-size:21px;line-height:1.25;min-height:52px}.resource p{font-size:16px;color:#c0c0c0;margin-top:20px;max-width:330px}.company-footnote{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #ffffff30;margin-top:42px;padding-top:24px;color:#c6c6c6;font-size:14px}.company-footnote p:first-child{max-width:520px}.company-footnote p:last-child{max-width:320px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps span{font-size:13px;color:var(--mute)}.steps h3{font-size:22px;font-weight:500;margin:36px 0 18px;letter-spacing:-.025em}.steps p{font-size:16px;color:var(--mute);max-width:240px}.partners{padding-top:0}.partner-heading{display:flex;align-items:center;gap:80px;margin-bottom:35px}.partner-heading h2{font-size:28px;font-weight:500;letter-spacing:-.025em}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.partner-grid>span{display:grid;place-items:center;text-align:center;min-height:100px;font-size:18px;font-weight:600;letter-spacing:-.03em;padding:20px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.contacts{background:var(--ink);color:white;padding-bottom:24px}.contact-top{display:flex;justify-content:space-between;gap:30px;color:#c8c8c8}.contact-main{display:grid;grid-template-columns:53% 47%;gap:24px;margin:40px 0 64px}.contact-main h2{font-size:clamp(50px,7vw,100px);font-weight:400;letter-spacing:-.05em}.contact-brief{align-self:end;padding-right:24px}.contact-brief p{color:#c8c8c8;max-width:390px}.contact-email{font-size:clamp(21px,2.5vw,36px);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0 15px;border-bottom:1px solid #ffffff70;letter-spacing:-.035em}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:35px;border-top:1px solid #ffffff30;padding-top:28px}.contact-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#bebebe}.contact-grid h3{font-size:19px;font-weight:400;margin:18px 0 10px;line-height:1.3}.phone{font-size:25px;letter-spacing:-.035em}.contact-grid p{font-size:16px;line-height:1.7;margin-top:18px}.contacts footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff30;margin-top:65px;padding-top:25px;font-size:12px;color:#c0c0c0}.footer-brand img{width:142px;height:auto}.project-dialog{width:min(1080px,calc(100% - 36px));max-height:90dvh;border:0;padding:24px 28px 30px;color:var(--ink);background:white;overflow:auto}.project-dialog::backdrop{background:#141414be;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px}.dialog-close{display:grid;place-items:center;font-size:24px;width:44px;height:44px;flex-shrink:0}.dialog-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:34px}.dialog-gallery{min-width:0}.dialog-gallery>img{width:100%;height:470px;object-fit:contain;background:#efefef}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding-top:12px}.gallery-controls[hidden]{display:none}.gallery-controls button{width:48px;height:44px;background:#f0f0f0;font-size:24px}.gallery-controls span{font-size:13px}.dialog-copy{padding:4px 5px}.dialog-copy h2{font-size:36px;font-weight:500;letter-spacing:-.035em;line-height:1.1}.dialog-copy>p{color:var(--mute);margin-top:18px;font-size:16px}.dialog-copy>strong{font-size:36px;letter-spacing:-.045em;font-weight:500;display:block;margin-top:28px;line-height:1.2}.dialog-copy dl{margin:28px 0}.dialog-copy dl>div{display:grid;grid-template-columns:85px 1fr;gap:14px;border-top:1px solid var(--line);padding:12px 0;font-size:14px}.dialog-copy dt{color:var(--mute)}.dialog-copy dd{margin:0}.dialog-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:14px}.dialog-cta svg{width:18px}.modal-open{overflow:hidden}@media(min-width:1700px){.hero{min-height:770px}.hero-visual{min-height:770px}.section{padding-left:max(var(--gutter),calc((100vw - 1530px)/2));padding-right:max(var(--gutter),calc((100vw - 1530px)/2))}}@media(max-width:1100px){.header-inner{gap:25px}.header-contact{margin-left:0}.navigation{gap:20px}.hero-eyebrow{font-size:12px;display:block}.hero-eyebrow span{display:block}.hero-eyebrow span+span{margin-top:8px}.hero h1{font-size:7vw}.hero,.hero-visual{min-height:620px}.feature-copy{padding:32px}.feature-copy h3{font-size:36px}.feature-copy>p{font-size:16px}.restaurant-copy{padding:32px}.restaurant-bottom{flex-wrap:wrap}.restaurant{min-height:590px}.service{gap:15px}.service h3{font-size:21px}.section{padding-top:80px;padding-bottom:80px}.services,.partners{padding-top:0}.contact-main{grid-template-columns:1fr 1fr}.contact-grid{gap:24px}.phone{font-size:23px}}@media(max-width:800px){html{scroll-padding-top:80px}.header-inner{min-height:76px;padding-top:14px;padding-bottom:14px;gap:24px}.brand img{width:150px;height:41px}.header-contact{margin-left:auto;font-size:13px;gap:12px}.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:15px var(--gutter) 25px;background:var(--ink);border-top:1px solid #ffffff20}.navigation.open{display:flex;flex-direction:column;gap:0}.navigation a{padding:12px 0;font-size:20px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:34px;height:40px}.menu-toggle span{height:1px;width:27px;background:white;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{grid-template-columns:1fr 1fr;min-height:580px}.hero-visual{min-height:580px}.hero h1{font-size:7vw;line-height:1.05;margin-top:36px}.hero-content{padding-top:28px;padding-right:22px}.hero-bottom{display:block}.hero-bottom p{font-size:14px}.round-link{margin-top:24px;width:42px;height:42px}.hero-caption{padding:70px 20px 22px;font-size:12px}.stats{padding-top:26px;padding-bottom:28px}.stats>div{padding-left:16px}.stats p{font-size:12px;max-width:130px}.stats strong{font-size:35px}.stats-geography strong{font-size:24px}.section-heading{gap:25px;margin-bottom:36px}.section-intro{font-size:14px;max-width:310px}.featured-project{grid-template-columns:1fr 1fr;min-height:500px;margin-bottom:38px}.feature-copy{padding:26px 22px}.feature-copy h3{font-size:29px;margin:20px 0}.feature-copy>.eyebrow{font-size:12px}.feature-volume{font-size:42px}.feature-copy>p{font-size:14px}.feature-image>img{max-height:none}.project-card h3{font-size:24px}.project-meta{font-size:12px}.project-description{font-size:14px}.project-grid{gap:30px 22px}.compact-grid{grid-template-columns:1fr 1fr}.restaurant-copy h3{font-size:40px}.restaurant{min-height:560px}.restaurant-copy{padding:28px}.restaurant-copy .eyebrow{font-size:12px}.restaurant-copy>p:not(.eyebrow){font-size:14px}.services-grid{grid-template-columns:repeat(2,1fr)}.company .section-heading{align-items:flex-start}.company-intro{max-width:340px}.company-intro p:first-child{font-size:17px}.company-intro p{font-size:14px}.resource-grid{gap:25px}.resource h3{font-size:18px}.resource p{font-size:14px}.resource .eyebrow{font-size:12px}.resource strong{font-size:80px}.steps{grid-template-columns:repeat(2,1fr);gap:32px}.steps h3{margin-top:24px}.steps p{max-width:320px}.partner-grid{grid-template-columns:repeat(3,1fr)}.partner-grid>span{font-size:16px}.partner-heading{gap:30px}.contact-main h2{font-size:60px}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:last-child{grid-column:1/-1}.dialog-layout{gap:22px;grid-template-columns:1fr 1fr}.dialog-gallery>img{height:380px}.dialog-copy h2{font-size:28px}}@media(max-width:560px){:root{--gutter:22px}.header-contact{display:none}.menu-toggle{margin-left:auto}.hero{display:flex;flex-direction:column}.hero-content{padding:27px var(--gutter) 30px}.hero-eyebrow{display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.06em}.hero-eyebrow span+span{margin-top:0;max-width:140px;text-align:right}.hero h1{font-size:clamp(46px,12.5vw,69px);line-height:1.02;letter-spacing:-.045em;margin:30px 0}.hero-bottom{display:flex;align-items:center}.hero-bottom p{font-size:14px}.round-link{margin:0;width:44px;height:44px}.hero-visual{min-height:430px;height:430px}.hero-visual>img{object-position:50% 48%}.hero-caption{padding:80px 22px 24px;font-size:13px}.hero-caption small{font-size:12px}.stats{grid-template-columns:1fr 1fr;padding:25px var(--gutter);gap:25px 15px}.stats>div:nth-child(3){padding-left:0;border-left:0}.stats strong{font-size:43px}.stats-geography strong{font-size:29px}.stats p{max-width:170px;font-size:12px;margin-top:4px}.section{padding-top:62px;padding-bottom:62px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:43px;margin-top:18px;letter-spacing:-.04em}.section-intro{margin-top:23px;max-width:350px;font-size:16px}.section-intro br{display:none}.eyebrow{font-size:12px}.featured-project{display:flex;flex-direction:column;margin-bottom:34px}.feature-image{height:370px}.feature-image>img{object-position:center 44%}.feature-image-label{font-size:12px;top:18px;left:18px}.feature-copy{padding:25px}.feature-copy>.eyebrow{font-size:12px}.feature-copy h3{font-size:36px;line-height:1.02;letter-spacing:-.04em}.feature-copy h3 br{display:none}.feature-copy h3 br::after{content:' '}.feature-volume{font-size:48px;margin-bottom:15px}.feature-copy>p{font-size:16px}.feature-copy .text-button{margin-top:18px;padding-top:10px}.project-grid,.compact-grid{grid-template-columns:1fr;gap:32px}.project-image{aspect-ratio:1.35}.project-card h3{font-size:28px;margin-top:10px}.project-meta{font-size:12px;display:flex}.project-description{font-size:16px}.project-tag{font-size:13px;bottom:14px;left:14px}.project-arrow{right:14px;bottom:14px;width:40px;height:40px}.more-projects{margin-top:30px}.more-projects summary{font-size:16px}.compact-grid{padding-bottom:32px}.compact-grid .project-meta{display:flex}.compact-grid h3{font-size:26px}.restaurant{display:flex;flex-direction:column;margin-top:46px}.restaurant-copy{padding:28px}.restaurant-copy h3{font-size:43px;margin:25px 0}.restaurant-copy>p:not(.eyebrow){font-size:16px}.restaurant-bottom{gap:24px;padding-top:26px}.restaurant-bottom strong{font-size:73px}.restaurant-bottom .text-button{font-size:13px;gap:16px}.restaurant-image{height:420px}.services,.partners{padding-top:0}.services-grid{grid-template-columns:1fr;gap:0}.service{padding:22px 0;min-height:0;gap:22px}.service h3{max-width:none;font-size:23px}.service p{max-width:none;font-size:16px;margin-top:10px}.service-number{font-size:12px}.company .section-heading{display:block}.company-intro{max-width:none;margin-top:28px}.company-intro p:first-child{font-size:19px}.company-intro p{font-size:16px}.resource-grid{grid-template-columns:1fr;gap:28px;padding-top:30px}.resource{display:grid;grid-template-columns:95px 1fr;column-gap:22px}.resource .eyebrow{grid-column:1/-1;font-size:12px}.resource strong{font-size:64px;grid-column:1;grid-row:2/4;margin-top:15px}.resource h3{font-size:20px;min-height:0;margin-top:20px;grid-column:2}.resource p{font-size:14px;margin-top:13px;grid-column:2}.resource:not(:first-child){padding-top:25px;border-top:1px solid #ffffff30}.company-footnote{display:block;margin-top:30px}.company-footnote p{font-size:14px}.company-footnote p+p{margin-top:17px}.steps{gap:30px 22px}.steps h3{font-size:20px;line-height:1.15}.steps p{font-size:14px}.partner-heading{display:block}.partner-heading h2{font-size:28px;line-height:1.1;margin-top:18px}.partner-grid{grid-template-columns:1fr 1fr}.partner-grid>span{min-height:90px;font-size:16px;padding:15px}.contact-top{display:block}.contact-top>.eyebrow:last-child{display:block;margin-top:12px;font-size:12px}.contact-main{display:block;margin:30px 0 40px}.contact-main h2{font-size:61px;line-height:1.03}.contact-brief{margin-top:30px;padding:0}.contact-brief p{font-size:16px}.contact-email{font-size:26px;padding-top:22px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid>div:last-child{grid-column:auto}.contact-grid h3{margin-top:12px}.contact-grid p{margin-top:12px}.phone{font-size:28px}.contacts{padding-bottom:22px}.contacts footer{margin-top:40px;flex-wrap:wrap;gap:22px}.footer-brand{width:100%}.footer-brand img{width:140px}.project-dialog{width:calc(100% - 24px);max-height:93dvh;padding:16px 18px 24px}.dialog-top{gap:15px;margin-bottom:14px}.dialog-top .eyebrow{font-size:12px}.dialog-layout{display:flex;flex-direction:column;gap:24px}.dialog-gallery>img{height:300px}.dialog-copy h2{font-size:29px}.dialog-copy>p{font-size:16px}.dialog-copy>strong{font-size:34px;margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

[hidden]{display:none!important}
@media(max-width:560px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid>span{min-width:0;overflow-wrap:anywhere;font-size:clamp(12px,3.7vw,15px)}}

/* Additional pages and interactive components. */
[hidden]{display:none!important}a.project-open{display:block}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:16px 22px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:14px;line-height:1.35;transition:background .2s,transform .2s}.button:hover{background:#474747;transform:translateY(-1px)}.button-light{background:white;border-color:white;color:var(--ink)}.button-light:hover{background:#e2e2e2}.button-outline{background:transparent;color:var(--ink)}.button-outline:hover{background:#efefef}.button svg{width:19px;height:19px}.projects>.button{margin-top:40px}.navigation [aria-current=page]{color:white;border-bottom:1px solid #c9c9c9}.page-intro{padding:62px var(--gutter) 65px;border-bottom:1px solid var(--line)}.page-intro>.eyebrow{color:var(--mute);margin-bottom:28px}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:75px;align-items:end}.intro-grid h1{font-size:clamp(40px,5.9vw,84px);font-weight:400;letter-spacing:-.05em;line-height:1.06;overflow-wrap:break-word}.intro-grid>p{max-width:460px;color:var(--mute);padding-bottom:5px;font-size:18px}.breadcrumbs{display:flex;align-items:center;gap:15px;font-size:13px;color:var(--mute);margin-bottom:40px}.breadcrumbs a:hover{text-decoration:underline}.site-footer{background:var(--ink);color:white;padding:66px var(--gutter) 24px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.footer-top h2{font-weight:400;font-size:clamp(44px,6vw,80px);letter-spacing:-.04em;margin:25px 0 30px}.footer-top .eyebrow{color:#c2c2c2}.footer-contact{align-self:center;min-width:0}.footer-contact>p{font-size:20px;margin:15px 0 12px}.footer-contact .contact-email{margin-top:25px}.footer-contact .text-button{margin-top:10px}.footer-bottom{margin-top:65px;border-top:1px solid #ffffff30;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#c4c4c4;font-size:12px}.catalog-section{padding-top:36px}.catalog-tools{margin-bottom:40px}.filter-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.filter-button{border:1px solid var(--line);padding:12px 17px;display:flex;gap:18px;align-items:center;font-size:14px;transition:background .2s}.filter-button span{font-size:11px;color:var(--mute)}.filter-button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.filter-button[aria-pressed=true] span{color:#c6c6c6}.search-field{display:block;max-width:550px}.search-field>span{display:block;margin-bottom:8px;font-size:13px;color:var(--mute)}input,select,textarea{width:100%;max-width:100%;border:1px solid #c3c3c3;border-radius:0;background:white;color:var(--ink);padding:14px 15px;font:inherit;line-height:1.5;accent-color:var(--ink)}select{padding-right:30px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #747474;outline-offset:3px}textarea{resize:vertical}input[aria-invalid=true],select[aria-invalid=true]{border-color:#a52424;outline-color:#a52424}input::placeholder,textarea::placeholder{color:#7a7a7a;opacity:1}.catalog-status{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;min-height:46px;color:var(--mute);font-size:13px}.empty-state{padding:50px 0 90px;max-width:550px}.empty-state h2{font-size:36px;font-weight:400}.empty-state p{margin:20px 0}.catalog-grid{row-gap:55px}.cta-strip{background:#efefef;margin:0 var(--gutter);padding:42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-strip h2{font-weight:400;font-size:clamp(28px,3.3vw,44px);letter-spacing:-.04em}.cta-strip p{color:var(--mute);max-width:660px;margin-top:14px}.cta-strip .button{flex-shrink:0}.catalog-section+.cta-strip{margin-bottom:90px}.project-gallery{padding:40px var(--gutter) 0}.gallery-stage{position:relative;background:#ebebeb}.gallery-stage>img{width:100%;height:min(64vw,680px);min-height:230px;object-fit:cover}.gallery-zoom{position:absolute;right:20px;top:20px;padding:12px 16px;background:white;display:flex;align-items:center;gap:24px;font-size:13px;z-index:1}.gallery-zoom svg{width:18px;height:18px}.gallery-position{position:absolute;bottom:18px;left:20px;padding:5px 12px;background:#252525db;color:white;font-size:13px}.gallery-thumbs{display:flex;gap:12px;margin-top:15px;overflow:auto;padding:5px}.gallery-thumb{width:110px;flex:0 0 110px;opacity:.58;border:2px solid transparent;padding:3px}.gallery-thumb img{width:100%;aspect-ratio:1.55;object-fit:cover}.gallery-thumb[aria-pressed=true]{opacity:1;border-color:var(--ink)}.project-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding-top:65px}.project-detail h2{font-size:clamp(36px,5.4vw,70px);font-weight:400;letter-spacing:-.05em;margin:20px 0 25px;line-height:1.12}.large-copy{font-size:21px;line-height:1.5;max-width:650px}.source-note{font-size:12px;color:var(--mute);margin-top:30px;max-width:600px}.fact-list{margin:0}.fact-list>div{border-top:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:1fr 1.6fr;gap:20px}.fact-list dt{font-size:13px;color:var(--mute)}.fact-list dd{margin:0;line-height:1.5}.lightbox{width:min(1360px,96vw);max-width:96vw;height:92vh;max-height:92vh;background:#1f1f1f;color:white;border:0;padding:18px 25px;overflow:hidden}.lightbox[open]{display:flex;flex-direction:column}.lightbox::backdrop{background:#141414eb}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:20px;font-size:14px}.lightbox-close{color:white;padding:10px}.lightbox-image{width:100%;flex:1;min-height:0;object-fit:contain}.lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px;font-size:12px;color:#c4c4c4}.lightbox-nav button{color:white;border:1px solid #717171;min-width:48px;min-height:42px;font-size:23px}.service-link{padding-bottom:25px;transition:background .2s}.service-link:hover{background:#f5f5f5}.service-more{display:flex;gap:22px;align-items:center;font-size:13px;margin-top:24px}.service-more svg{width:17px;height:17px}.company-link{margin-top:38px}.services-page{padding-bottom:0}.services-page .service{min-height:280px}.services-page .services-grid{row-gap:32px}.service-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.service-detail h2,.legal-section h2{font-size:clamp(36px,4.4vw,58px);font-weight:400;letter-spacing:-.04em;margin-top:22px}.numbered-list{list-style:none;margin:36px 0 0;padding:0}.numbered-list li{display:flex;gap:28px;border-top:1px solid var(--line);padding:22px 0;font-size:20px;line-height:1.4}.numbered-list li>span{font-size:12px;color:var(--mute);padding-top:6px}.brief-panel{background:#f0f0f0;padding:34px;align-self:start}.brief-panel h3{font-size:28px;font-weight:400;letter-spacing:-.03em;margin-top:18px}.brief-panel ul{padding-left:20px;margin:24px 0}.brief-panel li+li{margin-top:14px}.brief-panel p:not(.eyebrow){color:var(--mute);font-size:14px;margin-bottom:25px}.related-services{padding-top:0}.other-services{padding-top:0}.direction-links{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.direction-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line)}.direction-links a:hover{text-decoration:underline}.team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px}.team-grid>div{border-top:1px solid var(--line);padding-top:22px}.team-grid strong{display:block;font-size:80px;font-weight:400;letter-spacing:-.05em}.team-grid span{display:block;color:var(--mute);max-width:180px}.faq-section{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.faq-section .section-heading{align-self:start}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0;list-style:none;font-size:18px;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:26px;font-weight:300}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{padding:0 40px 24px 0;color:var(--mute);max-width:700px}.contact-page{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}.contact-person h2{font-size:clamp(34px,4vw,52px);font-weight:400;letter-spacing:-.04em;margin:25px 0 32px}.contact-big{display:block;font-size:clamp(21px,2.6vw,36px);letter-spacing:-.03em;margin:12px 0;overflow-wrap:anywhere}.contact-person .button{margin-top:27px}.office-list article{border-top:1px solid var(--line);padding:24px 0 32px}.office-list h3{font-size:24px;line-height:1.4;font-weight:400;margin:20px 0 8px;max-width:390px}.legal-section{background:#f2f2f2;display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.copy-status{font-size:13px;margin-top:14px}.request-section{padding-top:55px}.request-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:80px;max-width:1280px;margin:auto}.request-aside{align-self:start;position:sticky;top:115px}.request-steps{margin:0;padding:0;list-style:none}.request-steps li{border-top:1px solid var(--line);padding:20px 0;display:flex;align-items:center;gap:20px;color:var(--mute);font-size:14px}.request-steps li span{font-size:12px}.request-steps li[aria-current=step]{font-weight:600;color:var(--ink);border-top-color:var(--ink)}.request-help{margin-top:35px;display:grid;gap:8px}.request-help a{font-size:23px;letter-spacing:-.04em}.request-help span{font-size:13px;color:var(--mute)}.privacy-note{font-size:12px;color:var(--mute);margin-top:25px;line-height:1.6}.request-step{border:0;padding:0;margin:0;min-width:0}.request-step legend{font-size:34px;line-height:1.1;letter-spacing:-.035em;font-weight:400;padding:0;margin-bottom:25px;max-width:100%}.field-hint{font-size:14px;color:var(--mute);margin-bottom:20px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}.choice-tile{border:1px solid #c8c8c8;padding:18px 15px;display:flex!important;gap:12px;align-items:center;cursor:pointer;min-height:76px;margin:0!important;font-size:15px!important;line-height:1.4}.choice-tile input{width:18px;height:18px;flex:0 0 18px;padding:0;margin:0}.choice-check{display:none}.choice-tile:has(input:checked){background:#efefef;border-color:#686868}.request-step label,#request-result label{display:block;font-size:14px;margin-bottom:24px}.request-step label>input,.request-step label>select,.request-step label>textarea,#request-result label>textarea{margin-top:9px}.choice-tile>input{margin-top:0!important}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.optional{font-size:12px;color:var(--mute)}.field-error{color:#a52424;font-size:13px;margin:-8px 0 20px}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:25px;margin-top:8px;border-top:1px solid var(--line);padding-top:24px}.form-actions>#request-back{margin-right:auto}.form-status{font-size:13px;color:#a52424;margin-top:15px}.request-review{background:#f0f0f0;padding:26px;margin-bottom:28px}.request-review h3{font-size:21px;font-weight:400}.request-review dl{margin:20px 0 8px;display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:14px;overflow-wrap:anywhere}.request-review dt{color:var(--mute)}.request-review dd{margin:0}.request-review .text-button{font-size:13px}#request-result h2{font-size:clamp(36px,4.5vw,56px);letter-spacing:-.04em;font-weight:400;margin:20px 0 25px}#request-result>p{margin-bottom:18px}.result-note{font-size:14px;background:#f0f0f0;padding:14px 18px}.result-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}#draft-status{font-size:13px;min-height:20px}#email-draft{font-size:14px;line-height:1.6;background:#fcfcfc}.error-actions{display:flex;gap:20px}
@media(min-width:1500px){.page-intro,.section,.site-footer,.header-inner{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.project-gallery{max-width:1600px;margin:auto}}
@media(max-width:1050px){.intro-grid{gap:40px}.request-layout{grid-template-columns:230px minmax(0,1fr);gap:40px}.project-detail,.service-detail,.contact-page{gap:45px}.faq-section{gap:40px}.footer-top{gap:40px}.team-grid{gap:20px}.team-grid strong{font-size:65px}}
@media(max-width:800px){.intro-grid{grid-template-columns:1fr;gap:26px}.intro-grid>p{max-width:650px;font-size:16px}.page-intro{padding-top:40px;padding-bottom:40px}.intro-grid h1{font-size:52px}.page-intro>.eyebrow{margin-bottom:22px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start}.footer-bottom>a:last-child{margin-left:auto}.footer-bottom>span{font-size:11px}.footer-top{gap:35px}.cta-strip{padding:30px;align-items:flex-start;flex-direction:column}.project-detail{gap:40px;grid-template-columns:1fr;padding-top:38px}.fact-list>div{grid-template-columns:1fr 2fr}.service-detail{grid-template-columns:1fr;gap:38px}.brief-panel{max-width:600px}.faq-section{display:block}.faq-section .section-heading{margin-bottom:35px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.request-layout{grid-template-columns:1fr;gap:38px}.request-aside{position:static;display:grid;grid-template-columns:1fr}.request-help{display:none}.privacy-note{margin-top:16px;max-width:580px}.request-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.request-steps li{font-size:12px;gap:10px;align-items:flex-start;line-height:1.5}.request-section{padding-top:30px}.legal-section{gap:35px;grid-template-columns:1fr}.contact-page{grid-template-columns:1fr 1fr;gap:30px}.office-list h3{font-size:21px}.service-link{min-height:230px}.gallery-stage>img{height:58vw}.gallery-thumb{width:90px;flex-basis:90px}}
@media(max-width:560px){.intro-grid h1{font-size:clamp(35px,10.7vw,52px)}.page-intro{padding-top:32px}.page-intro>.eyebrow{font-size:10px}.section{padding-top:58px;padding-bottom:58px}.catalog-section{padding-top:26px}.filter-list{gap:6px}.filter-button{font-size:12px;gap:13px;padding:10px 12px}.catalog-status{align-items:flex-start}.catalog-status .text-button{font-size:12px;padding-top:0}.catalog-grid{gap:35px}.project-grid{grid-template-columns:1fr}.project-meta{font-size:11px}.project-meta>span{text-align:right}.footer-top{grid-template-columns:1fr;gap:40px}.site-footer{padding-top:45px}.footer-top h2{font-size:52px}.footer-contact .contact-email{font-size:25px}.footer-bottom{margin-top:45px;gap:18px}.footer-bottom>span:nth-of-type(2){order:4;width:100%}.footer-brand img{width:124px}.gallery-zoom{right:12px;top:12px;padding:8px 11px;gap:12px;font-size:12px}.project-gallery{padding-top:22px}.gallery-stage>img{height:68vw;min-height:220px}.gallery-position{left:12px;bottom:12px;font-size:11px}.gallery-thumbs{gap:6px}.gallery-thumb{width:70px;flex-basis:70px}.lightbox{width:100vw;max-width:100vw;padding:10px 12px;height:94vh;max-height:94vh}.lightbox-nav p{max-width:150px;text-align:center;font-size:10px}.lightbox-nav{gap:10px}.project-detail{padding-top:32px}.large-copy{font-size:18px}.fact-list>div{grid-template-columns:1fr 1.8fr;gap:15px;font-size:14px}.cta-strip{margin:0 var(--gutter);padding:24px}.cta-strip p{font-size:14px}.cta-strip .button{width:100%;font-size:13px;min-width:0}.direction-links{grid-template-columns:1fr;font-size:15px}.services-page{padding-bottom:0}.services-page .service{min-height:0}.service-link{min-height:0}.brief-panel{padding:25px}.numbered-list li{font-size:18px;gap:20px}.team-grid{grid-template-columns:1fr 1fr}.team-grid strong{font-size:68px}.team-grid span{font-size:14px}.contact-page{grid-template-columns:1fr;gap:45px}.contact-person h2{font-size:42px}.contact-big{font-size:27px}.legal-section h2{margin-top:18px}.office-list h3{font-size:24px}.request-section{padding-top:22px}.request-steps{gap:12px}.request-steps li{flex-direction:column;gap:5px;padding:14px 0}.request-layout{gap:30px}.request-step legend{font-size:30px;margin-bottom:20px}.choice-grid{grid-template-columns:1fr;gap:9px}.choice-tile{min-height:58px;padding:14px;font-size:14px!important}.field-grid{grid-template-columns:1fr;gap:0}.request-review{padding:22px}.request-review dl{grid-template-columns:80px 1fr;gap:12px;font-size:13px}.form-actions{gap:15px}.form-actions .button{padding:15px 18px;gap:15px;font-size:13px}.form-actions .text-button{font-size:13px}.result-actions .button{width:100%}.breadcrumbs{font-size:12px;margin-bottom:30px}.faq-list summary{font-size:17px}.faq-list details>p{padding-right:5px;font-size:15px}.services{padding-top:0}.related-services,.other-services{padding-top:0}.error-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.navigation .nav-request{display:none}.request-step legend,#result-title{scroll-margin-top:112px}html:has(#request-form){scroll-behavior:auto}@media(max-width:800px){.navigation .nav-request{display:block;border-top:1px solid #ffffff30;margin-top:10px;padding-top:20px;color:white}}

@media(max-width:560px){input,select,textarea{font-size:16px}}

/* Business workflows extend the original graphite identity. */
.header-inner{gap:25px}.navigation{gap:22px}.header-contact{margin-left:15px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:auto;padding-top:20px}.hero-actions>a:not(.button){font-size:14px;border-bottom:1px solid #b6b6b6;padding:12px 0}.hero h1{font-size:clamp(54px,6.3vw,90px);line-height:1.04}.hero-eyebrow{font-size:12px}.hero-content{padding-right:6%}.site-footer .text-button{font-size:13px}.footer-bottom{flex-wrap:wrap}.footer-bottom .analytics-settings{padding:0;border:0;font-size:12px}.contractor-resources{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-bottom:1px solid var(--line);padding-top:45px;padding-bottom:45px}.contractor-resources strong{font-size:75px;font-weight:400;letter-spacing:-.04em}.contractor-resources p{color:var(--mute);max-width:260px}.contractor-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contractor-grid h2,.contractor-documents h2,.contractor-geography h2,.comparison-section h2{font-size:clamp(36px,4.8vw,64px);font-weight:400;letter-spacing:-.04em;margin:22px 0}.contractor-documents{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:#f0f0f0}.contractor-documents p:not(.eyebrow){max-width:500px;color:var(--mute)}.document-links{align-self:center}.document-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px 0;border-top:1px solid #c9c9c9;font-size:20px}.document-card small{display:block;font-size:13px;color:var(--mute);margin-top:7px}.document-card:hover{text-decoration:underline}.contractor-geography p:not(.eyebrow){max-width:690px;font-size:18px;color:var(--mute);margin-bottom:26px}.case-story{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:44px 70px}.case-story article{border-top:1px solid var(--line);padding-top:25px}.case-story h2{font-size:30px;font-weight:400;letter-spacing:-.035em;margin:22px 0 20px}.case-story article>p:last-child{color:var(--mute);font-size:18px;max-width:620px}.comparison-section{padding-top:0}.photo-comparison{position:relative;aspect-ratio:1.7;overflow:hidden;background:#ebebeb;--split:50%}.photo-comparison>img,.comparison-before,.comparison-before>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.photo-comparison:after{content:'';position:absolute;top:0;bottom:0;left:var(--split);width:3px;background:white}.comparison-label{position:absolute;bottom:20px;background:#252525cc;padding:7px 13px;color:white;font-size:14px}.before-label{left:20px}.after-label{right:20px}.comparison-control{display:block;margin-top:22px;font-size:14px}.comparison-control input{padding:0;margin-top:12px;height:32px;cursor:ew-resize;accent-color:var(--ink)}.request-intro{padding-top:40px;padding-bottom:40px}.request-intro .intro-grid h1{font-size:clamp(38px,4.8vw,64px)}.request-intro .intro-grid{align-items:center}.request-section{padding-top:40px}.form-connection{background:#f0f0f0;padding:16px 20px;margin-bottom:28px;font-size:14px}.honey-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.upload-zone{border:1px dashed #a4a4a4;padding:25px;background:#f7f7f7}.upload-zone.dragging{background:#ebebeb;border-color:#484848}.upload-zone label{cursor:pointer;display:block!important;margin:0 0 16px!important}.upload-zone strong{display:block;font-size:18px;font-weight:400}.upload-zone label span{display:block;font-size:14px;color:var(--mute);margin-top:8px}.upload-zone input{border:0;padding:5px 0;background:transparent;font-size:14px}.upload-zone p{font-size:12px;color:var(--mute);margin-top:14px}.upload-zone input::file-selector-button{font:inherit;border:1px solid #a7a7a7;padding:9px 14px;background:white;margin-right:14px;cursor:pointer}#selected-files{padding:0;margin:16px 0 25px;list-style:none}#selected-files li{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}#selected-files li span{overflow-wrap:anywhere}#selected-files button{font-size:12px;white-space:nowrap;border-bottom:1px solid}.consent-check{display:flex!important;gap:12px;align-items:flex-start;font-size:13px!important;line-height:1.6}.consent-check input{flex:0 0 19px;width:19px;height:19px;margin:3px 0!important;padding:0}.consent-check a,.privacy-note a,.policy-content a{text-decoration:underline}.form-status{color:#a52424}.form-actions button:disabled{opacity:.65;cursor:wait}.consent-banner{position:fixed;left:24px;right:24px;bottom:20px;z-index:40;max-width:1120px;margin:0 auto;background:#fff;border:1px solid #cbcbcb;box-shadow:0 12px 60px #23232333;padding:24px 28px;display:flex;align-items:center;gap:35px}.consent-banner strong{font-size:16px;font-weight:500}.consent-banner p{font-size:13px;color:var(--mute);margin-top:6px;max-width:620px}.consent-banner a{text-decoration:underline}.consent-actions{display:flex;gap:10px;flex-shrink:0}.consent-actions .button{font-size:13px;padding:13px 17px;min-height:47px}.policy-title{font-size:clamp(36px,5vw,66px);font-weight:400;letter-spacing:-.04em}.policy-content{max-width:1060px}.policy-content h2{font-size:27px;font-weight:400;margin:35px 0 18px}.policy-content h2:first-child{margin-top:0}.policy-content p+p{margin-top:18px}.policy-content p{line-height:1.8;color:#525252}.request-review dd{white-space:normal;overflow-wrap:anywhere}.form-connection a{text-decoration:underline}.source-note:empty{display:none}
@media(max-width:1100px){.navigation{gap:15px;font-size:13px}.header-inner{gap:20px}.header-contact{margin-left:0;gap:10px;font-size:13px}.brand img{width:150px}.consent-banner{gap:20px;max-width:900px}.consent-actions{flex-direction:column}.contractor-grid{gap:45px}}
@media(max-width:800px){.contractor-grid,.contractor-documents{grid-template-columns:1fr;gap:35px}.contractor-resources{gap:20px}.contractor-resources strong{font-size:60px}.contractor-resources p{font-size:14px}.case-story{gap:35px}.navigation{font-size:20px}.hero h1{font-size:clamp(50px,7.3vw,66px)}.hero-actions{gap:20px}.consent-banner{left:16px;right:16px;bottom:15px;padding:20px}.request-intro .intro-grid{gap:20px}.request-intro .intro-grid h1{font-size:46px}}
@media(max-width:560px){.hero h1{font-size:clamp(47px,12.3vw,65px);margin-top:35px}.hero-eyebrow{font-size:10px}.hero-actions{padding-top:0;gap:12px;align-items:stretch;flex-direction:column}.hero-actions .button{align-self:flex-start}.hero-actions>a:not(.button){align-self:flex-start}.contractor-resources{grid-template-columns:1fr;gap:20px}.contractor-resources>div{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding-bottom:15px}.contractor-resources strong{width:100px;flex-shrink:0}.case-story{grid-template-columns:1fr;padding-top:0}.case-story h2{font-size:28px}.case-story article>p:last-child{font-size:16px}.document-card{font-size:18px}.document-card small{font-size:12px}.photo-comparison{aspect-ratio:1.15}.comparison-label{bottom:12px;font-size:11px;padding:5px 8px}.before-label{left:10px}.after-label{right:10px}.consent-banner{display:block;padding:18px;left:12px;right:12px;bottom:12px}.consent-actions{flex-direction:row;margin-top:16px;flex-wrap:wrap;gap:8px}.consent-actions .button{font-size:12px;padding:12px;min-height:42px}.consent-banner p{font-size:12px}.request-intro .intro-grid h1{font-size:38px}.upload-zone{padding:20px}.upload-zone input{font-size:12px}.upload-zone input::file-selector-button{padding:9px 10px;margin-right:7px}.consent-check{font-size:12px!important}.footer-bottom{gap:18px}.footer-bottom a{font-size:12px}.policy-content h2{font-size:25px}}

/* Release 4: architecture, project discovery and curated portfolios. */
.showcase{background:#252525;color:white;display:grid;grid-template-columns:48% 52%;position:relative}.showcase-copy{padding:42px 40px 40px var(--gutter);display:flex;flex-direction:column;min-width:0}.showcase .eyebrow{color:#c5c5c5;font-size:11px}.showcase h1{font-size:clamp(56px,6.6vw,99px);font-weight:400;letter-spacing:-.06em;line-height:1.015;margin:48px 0 25px}.showcase-intro{font-size:18px;color:#cccccc;margin-bottom:35px}.showcase-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:auto}.showcase-actions .text-button{font-size:13px;gap:20px}.showcase-download{font-size:12px;color:#c1c1c1;margin-top:25px;align-self:flex-start;text-decoration:underline;text-underline-offset:5px}.showcase-stage{position:relative;min-width:0;min-height:685px;overflow:hidden}.showcase-slide{position:absolute;inset:0}.showcase-slide>img{width:100%;height:100%;object-fit:cover;animation:showcase-in .55s ease-out}.showcase-caption{position:absolute;inset:auto 0 0;padding:125px 38px 93px;background:linear-gradient(transparent,#1a1a1adb);display:flex;align-items:center;justify-content:space-between;gap:28px}.showcase-caption>span{display:block;max-width:480px}.showcase-caption small{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#d0d0d0}.showcase-caption strong{display:block;font-size:clamp(25px,2.8vw,42px);font-weight:400;line-height:1.12;letter-spacing:-.035em;margin:15px 0}.showcase-caption span>span{font-size:13px;color:#dadada}.showcase-controls{position:absolute;bottom:28px;left:38px;right:38px;display:flex;align-items:center;gap:10px}.showcase-controls>span{font-size:12px;letter-spacing:.12em;margin-right:auto}.showcase-controls button{width:43px;height:43px;display:grid;place-items:center;border:1px solid #ffffff75;font-size:24px}.showcase-controls button:hover{background:#ffffff22}.showcase-tabs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff28;padding:0 var(--gutter)}.showcase-tabs button{display:flex;align-items:center;gap:24px;text-align:left;color:#b6b6b6;padding:25px 24px;border-bottom:2px solid transparent;min-width:0}.showcase-tabs button:first-child{padding-left:0}.showcase-tabs button+button{border-left:1px solid #ffffff22}.showcase-tabs button[aria-selected=true]{border-bottom-color:#dcdcdc;color:white}.showcase-tabs button>span{font-size:12px}.showcase-tabs strong{font-size:15px;font-weight:400;line-height:1.4}.project-tools-home{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#efefef;margin-bottom:85px}.project-tools-home h2{font-size:clamp(33px,4vw,55px);font-weight:400;letter-spacing:-.04em;margin:22px 0}.project-tools-home p:not(.eyebrow){max-width:470px;color:var(--mute)}.project-tools-home>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.project-tools-home .button{min-width:215px}.project-subnav{display:flex;gap:30px;padding:16px var(--gutter);border-bottom:1px solid var(--line);font-size:13px;overflow-x:auto;white-space:nowrap}.project-subnav a{padding:8px 0}.project-subnav a[aria-current=page]{border-bottom:1px solid}.map-section{padding-top:0}.map-tools{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:25px;align-items:end}.map-tools label{font-size:13px}.map-tools input,.map-tools select{margin-top:9px}.map-tools button{padding-bottom:15px}.map-count{margin:20px 0;color:var(--mute);font-size:13px}.map-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:start}.map-canvas-wrap{position:sticky;top:108px;min-width:0}#project-map{height:440px;background-color:#e3e3e3;background-image:linear-gradient(#ffffff40 1px,transparent 1px),linear-gradient(90deg,#ffffff40 1px,transparent 1px);background-size:32px 32px;border:1px solid #d1d1d1;z-index:0;isolation:isolate}.map-basemap{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f1f1f1;padding:16px;font-size:12px}.map-basemap button{border-bottom:1px solid;white-space:nowrap;padding:8px 0}.map-explanation{font-size:12px;color:var(--mute);margin:15px 0}.map-places{display:flex;flex-wrap:wrap;gap:8px}.map-places button{font-size:12px;padding:9px 12px;background:#f1f1f1;border:1px solid #dddddd}.map-places button[aria-pressed=true]{background:#252525;color:white}.map-city-icon{background:transparent;border:0}.map-bubble{display:grid;place-items:center;background:#252525;color:white;border:3px solid white;box-shadow:0 4px 16px #31313144;border-radius:50%;width:45px;height:45px;font:500 16px Arial}.leaflet-tooltip{font-family:Arial,Helvetica,sans-serif}.leaflet-control-attribution{font-size:10px!important}.map-browser{display:grid;grid-template-columns:1fr;min-width:0}#map-list{max-height:210px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 2px 20px}#map-list button{border:1px solid #dddddd;padding:13px;text-align:left;font-size:13px;line-height:1.35}#map-list button span{display:block;color:var(--mute);font-size:11px;margin-top:6px}#map-list button[aria-pressed=true]{border-color:#6a6a6a;background:#efefef}#map-detail{background:#f2f2f2;padding:24px}#map-detail>img{width:100%;aspect-ratio:1.6;object-fit:cover;margin-bottom:24px}#map-detail h2{font-size:30px;font-weight:400;letter-spacing:-.035em}#map-detail .eyebrow{margin-bottom:12px;color:var(--mute);font-size:10px}#map-detail p{font-size:14px;margin-top:16px}#map-detail dl{display:grid;grid-template-columns:80px 1fr;gap:10px;font-size:13px;margin-top:25px}#map-detail dt{color:var(--mute)}#map-detail dd{margin:0}#map-detail .map-detail-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px}#map-detail a{font-size:13px}.portfolio-builder{padding-top:0}.portfolio-builder-top{display:grid;grid-template-columns:1.4fr 1fr;gap:25px;margin-bottom:30px}.portfolio-builder label{font-size:13px}.portfolio-builder input,.portfolio-builder select{margin-top:9px}.portfolio-quick{grid-column:1/-1;display:flex;gap:30px;flex-wrap:wrap}.portfolio-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.portfolio-item{border:1px solid #d9d9d9;display:block;cursor:pointer;position:relative;min-width:0}.portfolio-item.selected{border-color:#545454;box-shadow:0 0 0 1px #545454}.portfolio-item img{width:100%;aspect-ratio:1.65;object-fit:cover}.portfolio-item>div{padding:19px 20px}.portfolio-item h2{font-size:22px;font-weight:400;letter-spacing:-.025em;line-height:1.2}.portfolio-item p{margin-top:10px;color:var(--mute);font-size:12px}.portfolio-item .portfolio-check{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px;padding:8px 11px;background:white;font-size:12px}.portfolio-item input{width:19px;height:19px;padding:0;margin:0;accent-color:#474747}.portfolio-builder-bottom{position:sticky;bottom:0;z-index:2;background:#252525;color:white;margin-top:30px;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:25px}.portfolio-builder-bottom strong{font-weight:400;font-size:20px}.portfolio-builder-bottom p{font-size:12px;color:#c8c8c8;margin-top:6px}.portfolio-builder-bottom .button{background:#ededed;color:#252525;white-space:nowrap}.portfolio-order{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-top:25px}.portfolio-order li{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px;min-width:0}.portfolio-order li>span{margin-right:auto}.portfolio-order button{min-width:32px;min-height:35px;border:1px solid #d5d5d5}.portfolio-order button:disabled{opacity:.35}.portfolio-order .remove{border:0}#portfolio-status{font-size:14px;margin:20px 0}#portfolio-ready a{display:inline-block;border-bottom:1px solid;margin:0 20px 20px 0}.portfolio-alternative{font-size:14px;color:var(--mute);margin-top:30px}.portfolio-alternative a{text-decoration:underline}.solution-section{padding-top:0}.solution-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.solution-choices button{position:relative;display:flex;flex-direction:column;text-align:left;background:#f0f0f0;padding:26px;min-height:230px;border:1px solid #dddddd}.solution-choices button[aria-pressed=true]{background:#252525;color:white;border-color:#252525}.solution-number{font-size:12px;color:#8d8d8d}.solution-choices strong{font-size:25px;font-weight:400;line-height:1.15;letter-spacing:-.03em;max-width:270px;margin:28px 0 15px}.solution-choices button>span:not(.solution-number):not(.solution-arrow){font-size:13px;color:#7d7d7d;max-width:235px}.solution-choices button[aria-pressed=true]>span{color:#cacaca}.solution-arrow{position:absolute;top:23px;right:23px;font-size:24px}#solution-result{margin-top:45px;border-top:1px solid var(--line);padding-top:40px}.solution-result-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.solution-result-grid h2{font-size:clamp(33px,4.5vw,55px);font-weight:400;letter-spacing:-.04em;margin:20px 0}.solution-result-grid p{color:var(--mute);max-width:590px;margin-bottom:25px}.solution-directions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.solution-directions a{border:1px solid #d4d4d4;padding:8px 12px;font-size:12px}.solution-projects{margin-top:45px}.solution-projects>h3{font-size:23px;font-weight:400;margin-bottom:14px}.solution-projects>p{font-size:13px;color:var(--mute);margin-bottom:25px}.solution-projects .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.solution-projects h3{font-size:23px}.solution-object{display:block;margin-top:27px;font-size:14px;max-width:430px}.solution-object select{margin:9px 0 25px}.solution-context{padding:15px 20px;background:#ededed;font-size:14px;margin-bottom:25px}.solution-context a{text-decoration:underline}.site-footer .footer-bottom{row-gap:20px}
@keyframes showcase-in{from{opacity:.65;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.showcase-stage{min-height:770px}.showcase-copy{padding-top:55px}.showcase h1{margin-top:70px}}
@media(max-width:1100px){.showcase-stage{min-height:640px}.showcase h1{font-size:6.8vw}.showcase-copy{padding-right:25px}.showcase-intro{font-size:16px}.showcase-tabs button{padding:20px 15px;gap:15px}.showcase-tabs strong{font-size:13px}.map-layout{grid-template-columns:1fr 1fr;gap:22px}.map-tools{gap:15px}.portfolio-cards{gap:20px}.solution-choices{grid-template-columns:1fr 1fr}.solution-result-grid{gap:35px}.project-tools-home{gap:30px}}
@media(max-width:800px){.showcase-stage{min-height:610px}.showcase h1{font-size:7.2vw;margin-top:45px}.showcase .eyebrow{font-size:9px}.showcase-copy{padding-top:30px}.showcase-caption{padding-left:24px;padding-right:24px}.showcase-controls{left:24px;right:24px}.showcase-actions .button{padding:17px 20px}.showcase-intro{font-size:15px}.showcase-tabs strong{font-size:12px}.project-tools-home{grid-template-columns:1fr}.project-tools-home>div:last-child{justify-content:flex-start}.map-tools{grid-template-columns:1fr 1fr}.map-layout{grid-template-columns:1fr}.map-canvas-wrap{position:static}.map-browser{grid-template-columns:1fr 1.2fr;gap:20px}#map-list{display:flex;flex-direction:column;max-height:550px}#project-map{height:370px}.portfolio-cards{grid-template-columns:1fr 1fr}.portfolio-builder-bottom{padding:20px}.solution-result-grid{grid-template-columns:1fr}.solution-projects .project-grid{grid-template-columns:1fr 1fr}.portfolio-order{grid-template-columns:1fr}}
@media(max-width:560px){.showcase{grid-template-columns:1fr}.showcase-copy{padding:29px var(--gutter) 32px}.showcase .eyebrow{font-size:10px}.showcase h1{font-size:clamp(52px,13.2vw,74px);margin:33px 0 23px}.showcase-intro{font-size:16px;margin-bottom:28px}.showcase-actions{align-items:flex-start;gap:22px;flex-direction:column}.showcase-download{margin-top:25px}.showcase-stage{min-height:475px;order:2}.showcase-tabs{order:3;padding:0 15px}.showcase-tabs button{align-items:flex-start;padding:18px 10px;gap:8px;flex-direction:column}.showcase-tabs button:first-child{padding-left:7px}.showcase-tabs strong{font-size:11px;overflow-wrap:anywhere}.showcase-caption{padding-bottom:94px}.showcase-caption strong{font-size:30px}.showcase-caption span>span{font-size:12px}.showcase-caption small{font-size:10px}.project-tools-home{margin-bottom:60px}.project-tools-home>div:last-child{flex-direction:column;align-items:stretch}.project-subnav{gap:25px;font-size:12px}.map-tools{grid-template-columns:1fr}.map-tools button{justify-self:start}.map-basemap{align-items:flex-start;flex-direction:column}.map-browser{display:block}#map-list{display:grid;grid-template-columns:1fr 1fr;max-height:200px;padding-bottom:18px;margin-top:20px}#map-detail{padding:22px}#map-detail h2{font-size:28px}#project-map{height:350px}.portfolio-builder-top{grid-template-columns:1fr;gap:20px}.portfolio-cards{grid-template-columns:1fr}.portfolio-item h2{font-size:25px}.portfolio-builder-bottom{align-items:stretch;flex-direction:column;padding:20px;gap:15px}.portfolio-builder-bottom .button{justify-content:center;font-size:14px}.portfolio-builder-bottom p{display:none}.portfolio-quick{gap:20px}.portfolio-quick .text-button{font-size:12px}.solution-choices{grid-template-columns:1fr;gap:14px}.solution-choices button{min-height:185px;padding:24px}.solution-choices strong{font-size:25px;margin-top:20px}.solution-projects .project-grid{grid-template-columns:1fr}.solution-object select,.portfolio-builder input,.portfolio-builder select,.map-tools input,.map-tools select{font-size:16px}}
@media(prefers-reduced-motion:reduce){.showcase-slide>img{animation:none}}
.portfolio-print-dialog{width:min(940px,96vw);max-height:92vh;border:0;padding:0;background:#e4e4e4}.portfolio-print-dialog::backdrop{background:#1a1a1ac9}.print-toolbar{position:sticky;top:0;display:flex;align-items:center;gap:20px;justify-content:space-between;background:white;padding:20px;z-index:2;font-size:13px}.print-toolbar .button{font-size:13px}.print-pages{padding:30px}.print-page{background:white;max-width:794px;margin:0 auto 25px;padding:50px;min-height:1050px}.print-brand{font-size:28px;letter-spacing:-.05em;margin-bottom:45px}.print-page .eyebrow{font-size:11px;color:#7f7f7f}.print-page h1{font-size:54px;line-height:1.05;font-weight:400;letter-spacing:-.05em;margin:30px 0}.print-page h2{font-size:35px;line-height:1.12;font-weight:400;letter-spacing:-.03em;margin:24px 0 18px}.print-page p{margin-bottom:22px}.print-page>img{width:100%;height:290px;object-fit:cover;margin:30px 0}.print-facts{display:flex;justify-content:space-between;gap:25px;padding:20px 0;border-top:1px solid #d4d4d4;border-bottom:1px solid #d4d4d4;margin-bottom:28px}.print-facts strong{font-size:25px;font-weight:400}.print-facts span{font-size:13px;max-width:180px}.print-contact{font-size:12px;color:#747474;margin-top:50px}.print-recipient{font-size:20px}.print-client{font-size:13px;color:#747474}
@media(max-width:560px){.print-toolbar{flex-wrap:wrap;padding:15px}.print-toolbar .button{padding:12px}.print-pages{padding:12px}.print-page{padding:25px;min-height:0}.print-page h1{font-size:36px}.print-page h2{font-size:28px}.print-page>img{height:180px}.print-facts{flex-direction:column;gap:12px}}
@media print{@page{size:A4;margin:0}html,body{height:auto!important;overflow:visible!important;background:white!important}body:has(.portfolio-print-dialog)>*:not(.portfolio-print-dialog){display:none!important}.portfolio-print-dialog[open]{position:static!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;background:white!important}.portfolio-print-dialog::backdrop,.print-toolbar{display:none!important}.print-pages{padding:0}.print-page{width:210mm;max-width:none;min-height:297mm;margin:0;padding:16mm;break-after:page;page-break-after:always;box-sizing:border-box}.print-page:last-child{break-after:auto;page-break-after:auto}.print-page h1{font-size:38pt}.print-page h2{font-size:26pt}.print-page>img{height:75mm;object-fit:cover}.print-page p{font-size:11pt}.print-contact{font-size:9pt!important}}
/* Keep the selected task and the way back visible, including on a phone. */
.solution-result-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 28px;margin-bottom:25px}.solution-result-actions .text-button{min-height:48px}.solution-share-link{display:block;overflow-wrap:anywhere;font-size:13px;text-decoration:underline;margin:0 0 25px}.solution-share-link[hidden]{display:none}#solution-share-status:empty{display:none}#solution-share-status{font-size:13px;margin:0 0 12px;color:var(--mute)}.solution-choices button{scroll-margin-top:110px}.solution-result-grid h2:focus{outline:0}
@media(max-width:560px){.solution-choices{gap:10px}.solution-choices button{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;column-gap:12px;row-gap:7px;min-height:102px;padding:17px 16px;align-content:center}.solution-choices .solution-number{grid-column:1;grid-row:1/3;align-self:start;line-height:1.7}.solution-choices strong{grid-column:2;grid-row:1;font-size:19px;line-height:1.2;margin:0;max-width:none}.solution-choices button>span:not(.solution-number):not(.solution-arrow){grid-column:2;grid-row:2;max-width:none;font-size:12px;line-height:1.4}.solution-choices .solution-arrow{position:static;grid-column:3;grid-row:1/3;align-self:center;font-size:20px}.solution-result-actions{align-items:flex-start;gap:8px 22px;margin-bottom:20px}.solution-result-actions .text-button{font-size:13px;min-height:44px}.solution-result-grid{gap:30px}#solution-result{margin-top:28px;padding-top:20px}}
.solution-choices button>span:not(.solution-number):not(.solution-arrow){color:#626262}.solution-choices button[aria-pressed=true]>span:not(.solution-number):not(.solution-arrow){color:#e0e0e0}

/* Shared project context and ordered portfolio links. */
.solution-project-request{margin-top:18px;min-height:44px;align-items:center;font-size:13px;line-height:1.4;gap:8px;max-width:100%;overflow-wrap:anywhere}.portfolio-builder-actions{display:flex;align-items:center;gap:18px 24px;flex-wrap:wrap;justify-content:flex-end}.portfolio-builder-actions .text-button{color:#ededed;min-height:44px;font-size:13px}.portfolio-builder-actions button:disabled{opacity:.5;cursor:default}.portfolio-share-link{display:block;overflow-wrap:anywhere;font-size:13px;text-decoration:underline;margin:14px 0 20px}.portfolio-share-link[hidden]{display:none}#portfolio-share-status{font-size:13px;color:var(--mute);margin-top:20px}#portfolio-share-status:empty{display:none}
@media(max-width:560px){.portfolio-builder-actions{align-items:stretch;flex-direction:column;gap:5px;justify-content:flex-start}.portfolio-builder-actions .text-button{justify-content:center}.solution-project-request{font-size:13px;margin-top:12px}}

/* Visual 5.0 — public pages only. The administration UI is independent. */
:root{--paper:#ffffff;--ink:#252525;--mute:#707070;--line:#dbdbdb;--soft:#ededed;--gutter:clamp(22px,5vw,90px)}
body{background:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}p{ text-wrap:pretty }.section{padding-top:110px;padding-bottom:110px}
::selection{background:#d4d4d4;color:#212121}.eyebrow{font-size:11px;letter-spacing:.14em}
a,button{outline-offset:5px}.button{min-height:56px;padding:18px 25px;gap:36px;font-size:13px;letter-spacing:.005em}
.button-light{background:var(--paper);border-color:var(--paper)}.button:hover{transform:translateY(-2px)}
.text-button{gap:34px;font-size:13px;padding:13px 0}.text-button svg{transition:transform .25s}.text-button:hover svg{transform:translate(3px,-3px)}
.header{background:#252525f5;backdrop-filter:blur(15px)}.header-inner{min-height:82px;padding-top:17px;padding-bottom:17px}
.brand img{width:174px;height:47px}.navigation{gap:25px;font-size:13px}.navigation a{position:relative}.navigation [aria-current=page]{border-bottom:0;color:#fff}.navigation a:after{content:'';height:1px;background:#dfdfdf;position:absolute;left:0;right:0;bottom:-7px;transform:scaleX(0);transform-origin:left;transition:transform .25s}.navigation a:hover:after,.navigation a[aria-current=page]:after{transform:scaleX(1)}
.header-contact{font-size:12px;gap:25px;margin-left:22px}.menu-toggle{border:1px solid #ffffff50;width:44px;height:44px;align-items:center;gap:7px}.menu-toggle span{width:20px}

/* Photography occupies the full stage; the gradient protects the headline. */
.architecture-hero{position:relative;isolation:isolate;background:#252525;color:#ffffff;overflow:hidden}
.architecture-stage{position:absolute;inset:0 0 80px 23%;z-index:-1;background:#252525}
.architecture-slide:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#252525 0%,#252525c9 12%,#25252536 40%,transparent 70%)}
.architecture-slide{position:absolute;inset:0;animation:architecture-enter .65s both}.architecture-slide>img{width:100%;height:100%;object-fit:cover;object-position:50% 49%}
.architecture-slide:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#202020ed,transparent 53%)}
.architecture-copy{position:relative;width:58%;min-height:675px;padding:43px 0 40px var(--gutter);display:flex;flex-direction:column;pointer-events:none}
.architecture-copy a{pointer-events:auto}.architecture-copy>.eyebrow{font-size:10px;color:#c1c1c1;max-width:480px}
.architecture-copy h1{font-size:clamp(68px,7.4vw,115px);font-weight:400;letter-spacing:-.068em;line-height:.98;margin:43px 0 25px;text-wrap:initial}
.architecture-lead{font-size:17px;line-height:1.6;color:#cccccc;margin-bottom:34px;max-width:350px}
.architecture-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:auto}.architecture-actions .text-button{font-size:12px;gap:26px}
.architecture-note{display:flex;align-items:center;gap:10px;font-size:10px;color:#c7c7c7;margin-top:29px;letter-spacing:.04em}
.availability-dot{height:5px;width:5px;background:#dadada;border-radius:50%;flex:none}
.architecture-caption{position:absolute;right:var(--gutter);bottom:45px;width:39%;max-width:470px;z-index:2;color:#ffffff}
.architecture-caption>.eyebrow{display:block;font-size:10px;color:#dbdbdb}.architecture-caption>strong{display:block;font-size:clamp(26px,2.8vw,44px);font-weight:400;line-height:1.07;letter-spacing:-.045em;margin:16px 0 24px;text-wrap:balance}
.architecture-caption-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;border-top:1px solid #ffffff55;padding-top:17px}
.architecture-caption svg{width:27px;height:27px;transition:transform .3s}.architecture-caption:hover svg{transform:translate(4px,-4px)}
.architecture-bottom{position:relative;display:flex;align-items:stretch;border-top:1px solid #ffffff26;min-height:80px;padding:0 var(--gutter);gap:35px;background:#252525}
.architecture-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0}.architecture-tabs button{position:relative;text-align:left;display:flex;align-items:center;gap:19px;color:#a3a3a3;font-size:12px;line-height:1.5;border-bottom:2px solid transparent;padding:18px 22px 18px 0;min-width:0}
.architecture-tabs button+button{border-left:1px solid #ffffff26;padding-left:22px}.architecture-tabs button>span:first-child{font-size:10px;color:#a2a2a2;flex:none}.architecture-tabs button[aria-selected=true]{color:#ffffff;border-bottom-color:#dadada}
.architecture-controls{display:flex;align-items:center;gap:15px}.architecture-controls button{width:37px;height:37px;border:1px solid #ffffff4d;display:grid;place-items:center;transition:background .2s}.architecture-controls button:hover{background:#ffffff20}.architecture-count{font-size:10px;letter-spacing:.1em;white-space:nowrap}
.empty-hero{background:var(--ink);color:var(--paper)}.empty-hero h1{font-size:60px;font-weight:400;margin-bottom:40px}
.stats{background:var(--paper);padding-top:35px;padding-bottom:35px}.stats strong{font-weight:400;font-size:clamp(36px,4vw,59px);letter-spacing:-.07em}.stats p{font-size:12px}.stats-geography strong{font-size:32px}

/* Alternating image proportions make the portfolio feel like a publication. */
.section-heading{margin-bottom:58px}.section-heading h2{font-weight:400;font-size:clamp(43px,5.5vw,80px);letter-spacing:-.057em;line-height:1.02;margin-top:25px}
.section-heading-note{max-width:335px;padding-bottom:4px}.section-heading-note p{font-size:15px;color:var(--mute);margin-bottom:17px;line-height:1.7}
.project-open{display:block}.project-image{background:#e4e4e4;aspect-ratio:1.48}.project-image>img{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s}.project-open:hover .project-image>img{transform:scale(1.035);filter:saturate(.94)}
.project-tag{left:20px;top:20px;bottom:auto;background:#ffffffef;backdrop-filter:blur(8px);padding:8px 12px;font-size:12px}.project-arrow{background:var(--paper);right:20px;bottom:20px;width:45px;height:45px}
.project-image-cta{position:absolute;left:20px;bottom:20px;color:white;background:#252525d9;font-size:12px;padding:12px 15px;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.project-open:hover .project-image-cta,.project-open:focus-visible .project-image-cta{opacity:1;transform:none}
.project-meta{font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-top:22px;color:#777777;gap:18px}.project-meta>span{text-align:right;letter-spacing:.04em;text-transform:none;flex-shrink:0}
.project-card h3{font-size:clamp(27px,2.65vw,39px);line-height:1.1;letter-spacing:-.043em;font-weight:400;margin-top:14px;max-width:590px}
.editorial-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:82px 40px;align-items:start}.editorial-grid .project-card{grid-column:span 5;min-width:0}
.editorial-grid .project-card[data-slot="0"],.editorial-grid .project-card[data-slot="3"]{grid-column:span 7}
.editorial-grid .project-card[data-slot="0"] .project-image{aspect-ratio:1.19}.editorial-grid .project-card[data-slot="1"]{padding-top:140px}.editorial-grid .project-card[data-slot="1"] .project-image{aspect-ratio:.96}
.editorial-grid .project-card[data-slot="2"]{padding-top:55px}.editorial-grid .project-card[data-slot="2"] .project-image{aspect-ratio:1.12}.editorial-grid .project-card[data-slot="3"] .project-image{aspect-ratio:1.42}
.visual-projects{padding-bottom:120px}.catalog-tools{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:55px}.filter-list{gap:10px}.filter-button{border-radius:0;padding:12px 16px;font-size:12px;background:transparent}.filter-button:hover{border-color:#252525}.search-field{max-width:430px}.search-field input{background:transparent;border-width:0 0 1px;padding-left:0}.search-field>span{font-size:11px}.catalog-status{font-size:11px}.catalog-grid{row-gap:80px}

.craft-feature{display:grid;grid-template-columns:1.16fr 1fr;background:#252525;color:var(--paper);min-height:670px}
.craft-feature-photo{position:relative;overflow:hidden;min-width:0}.craft-feature-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.87);transition:transform .7s}.craft-feature-photo:hover>img{transform:scale(1.025)}
.craft-feature-photo>span{position:absolute;left:40px;right:40px;bottom:35px;display:flex;justify-content:space-between;align-items:center;color:white;border-top:1px solid #ffffff70;padding-top:18px;font-size:12px}
.craft-feature-copy{padding:65px var(--gutter) 65px 70px;display:flex;flex-direction:column;align-items:flex-start}.craft-feature-copy>.eyebrow{color:#c5c5c5}.craft-feature-copy h2{font-size:clamp(41px,4.4vw,66px);font-weight:400;letter-spacing:-.045em;line-height:1.03;margin:45px 0 32px}.craft-feature-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;color:#bfbfbf;max-width:370px;margin-bottom:35px}.craft-feature-copy>.text-button{margin-top:auto}

.visual-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px}.visual-service{display:block;min-width:0}.visual-service-photo{position:relative;min-width:0;width:100%;aspect-ratio:1.2;background:#e0e0e0;overflow:hidden}.visual-service-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.visual-service:hover img{transform:scale(1.04)}
.visual-service-index{position:absolute;left:18px;top:18px;font-size:11px;padding:6px 9px;background:#ffffffed}.visual-service-arrow{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;background:#ffffff;width:40px;height:40px}.visual-service-arrow svg{width:19px}
.visual-service-copy{padding:24px 0 0;border-bottom:1px solid var(--line);padding-bottom:26px}.visual-service-copy .eyebrow{font-size:9px;letter-spacing:.1em;color:var(--mute)}.visual-service-copy h3{font-weight:400;letter-spacing:-.04em;font-size:28px;line-height:1.15;margin-top:14px;max-width:340px}.visual-service-copy p{font-size:13px;color:var(--mute);margin-top:13px;line-height:1.6;max-width:290px}.service-photo-empty{display:block;width:100%;height:100%;background:linear-gradient(135deg,#c6c6c6,#efefef)}
.service-cover{margin:45px var(--gutter) 0;position:relative;height:530px;overflow:hidden;background:#e0e0e0}.service-cover>img{width:100%;height:100%;object-position:50% 46%}.service-cover:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#232323e6);pointer-events:none}.service-cover figcaption{position:absolute;z-index:1;bottom:32px;left:35px;right:35px;display:flex;align-items:end;justify-content:space-between;gap:30px;color:white}.service-cover figcaption>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.service-cover figcaption>a{font-size:24px;letter-spacing:-.02em;display:flex;align-items:center;gap:35px}
.services-page{padding-bottom:20px}.service-detail{padding-top:80px}.brief-panel{background:#ebebeb;border:1px solid #dadada}.numbered-list li{font-size:22px}.direction-links a{padding:26px 0}.direction-links a:hover{color:#6e6e6e}
.company{background:#2f2f2f}.company-intro{max-width:440px}.company .section-heading h2{max-width:580px}.resource strong{font-weight:400;font-size:clamp(80px,9vw,132px);color:#dbdbdb}.resource h3{font-size:19px}.resource p{font-size:14px;line-height:1.75}.company-footnote{font-size:12px}.steps{gap:38px}.steps h3{font-weight:400;font-size:25px;margin-top:44px}.steps p{font-size:14px;line-height:1.75}.partner-grid{border-left:0;border-top-color:var(--line);grid-template-columns:repeat(4,minmax(0,1fr))}.partner-grid>span{font-weight:500;font-size:16px;border-right:0;min-height:100px;color:#5b5b5b;letter-spacing:-.02em}.partners{padding-top:0}
.portfolio-invitation{background:#ebebeb;display:grid;grid-template-columns:1.4fr 1fr;gap:30px 70px}.portfolio-invitation>.eyebrow{grid-column:1/-1;color:#6e6e6e}.portfolio-invitation h2{font-weight:400;font-size:clamp(38px,4.8vw,68px);letter-spacing:-.05em;line-height:1.06}.portfolio-invitation>div{padding-top:8px}.portfolio-invitation p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:450px;color:var(--mute);margin-bottom:28px}.portfolio-invitation .text-button{display:flex;max-width:210px;margin-top:16px}

/* Case pages: cover, facts, story, detail photographs and a relevant next step. */
.case-intro{padding:42px var(--gutter) 38px}.case-intro .breadcrumbs{font-size:11px;margin-bottom:49px}.case-intro-top{display:flex;justify-content:space-between;gap:30px;color:var(--mute);margin-bottom:24px}.case-number{font-size:11px;letter-spacing:.09em;white-space:nowrap}
.case-intro h1{font-size:clamp(50px,7vw,102px);font-weight:400;letter-spacing:-.055em;line-height:1.02;max-width:1150px}.case-intro-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:32px;font-size:13px;color:var(--mute)}.case-intro-bottom .text-button{font-size:11px;color:var(--ink)}
.visual-gallery{padding:0;margin:0;max-width:none}.visual-gallery .gallery-stage{height:min(70vw,720px);min-height:340px;touch-action:pan-y;overflow:hidden;isolation:isolate}.visual-gallery .gallery-stage>img{height:100%;width:100%;min-height:0;object-fit:cover;object-position:50% 51%;animation:gallery-enter .4s both}.gallery-stage:focus-visible{outline:3px solid #8d8d8d;outline-offset:-3px}
.visual-gallery .gallery-zoom{top:26px;right:var(--gutter);background:#fffffff2;padding:14px 18px;font-size:12px}.stage-gallery-controls{position:absolute;left:var(--gutter);bottom:25px;display:flex;align-items:center;gap:17px;background:#252525e0;color:white;padding:10px 13px}.stage-gallery-controls button{width:36px;height:36px;border:1px solid #ffffff60;font-size:20px}.stage-gallery-controls .gallery-position{position:static;background:transparent;padding:0;font-size:11px;min-width:45px;text-align:center}
.gallery-ribbon{padding:23px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.gallery-ribbon>p{display:flex;flex-direction:column;gap:8px}.gallery-ribbon .eyebrow{font-size:10px}.gallery-hint{font-size:11px;color:var(--mute)}.gallery-ribbon .gallery-thumbs{margin:0;padding:4px;max-width:58%;flex-shrink:0;scrollbar-width:thin}.gallery-ribbon .gallery-thumb{width:78px;flex-basis:78px;padding:2px}.gallery-ribbon .gallery-thumb img{aspect-ratio:1.35}
.case-metrics{display:grid;grid-template-columns:1fr 1fr;padding:50px var(--gutter);gap:45px;border-bottom:1px solid var(--line)}.case-metrics>div+div{border-left:1px solid var(--line);padding-left:45px}.case-metrics .eyebrow{display:block;color:var(--mute);font-size:10px;margin-bottom:20px}.case-metrics strong{font-size:clamp(34px,4.8vw,72px);font-weight:400;letter-spacing:-.045em;line-height:1.1;display:block;max-width:650px;text-wrap:balance}.case-metrics>div+div strong{font-size:clamp(28px,3.2vw,48px)}
.case-narrative{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.case-narrative-heading{align-self:start;position:sticky;top:125px}.case-narrative-heading h2{font-size:clamp(35px,3.9vw,56px);font-weight:400;letter-spacing:-.04em;line-height:1.08;margin:28px 0 38px}.case-narrative-heading dl{margin:0;max-width:430px}.case-narrative-heading dl>div{border-top:1px solid var(--line);padding:17px 0;display:grid;grid-template-columns:120px 1fr;gap:15px;font-size:12px}.case-narrative-heading dt{color:var(--mute)}.case-narrative-heading dd{margin:0}
.case-narrative-story article{border-top:1px solid var(--line);padding:27px 0 38px;display:grid;grid-template-columns:32px 1fr;gap:25px}.case-story-index{font-size:11px;color:#939393;padding-top:6px}.case-narrative-story h3{font-size:27px;font-weight:400;letter-spacing:-.03em;margin-bottom:21px}.case-narrative-story p{font-size:17px;line-height:1.8;color:var(--mute);max-width:560px}
.case-photo-essay{display:grid;grid-template-columns:1.1fr .9fr;align-items:start;gap:40px;padding:0 var(--gutter) 100px}.case-photo-essay figure{margin:0;min-width:0}.case-photo-essay figure:nth-child(2){padding-top:150px}.case-photo-essay img{width:100%;height:650px;object-fit:cover}.case-photo-essay figure:nth-child(2) img{height:520px}.case-photo-essay figcaption{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;display:flex;gap:20px;justify-content:space-between;font-size:10px;color:var(--mute)}.case-photo-essay figcaption>span:last-child{text-align:right;max-width:200px}
.case-directions{padding-top:0;padding-bottom:75px;display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.case-directions>.eyebrow{padding-top:25px}.case-directions a{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;border-top:1px solid var(--line);font-size:20px;letter-spacing:-.025em}
.case-cta{background:#2f2f2f;color:var(--paper)}.case-cta>.eyebrow{color:#c6c6c6}.case-cta h2{font-weight:400;font-size:clamp(43px,5.8vw,82px);letter-spacing:-.05em;margin:30px 0 42px;line-height:1.04;max-width:1000px}.case-cta>div{display:flex;align-items:center;gap:35px;flex-wrap:wrap}.case-cta>div>p{font-size:15px;line-height:1.7;color:#c8c8c8;max-width:440px;margin-right:auto}.case-cta .text-button{font-size:12px}.case-related .project-image{aspect-ratio:1.5}
.visual-comparison{padding-top:0}.comparison-tabs{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap}.comparison-tabs button{padding:13px 20px;border:1px solid var(--line);font-size:12px}.comparison-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.photo-comparison{aspect-ratio:1.8;touch-action:pan-y;cursor:ew-resize}.photo-comparison:after{z-index:2;width:1px;pointer-events:none}.comparison-before{z-index:1}.comparison-label{z-index:3;background:#252525e6;font-size:12px;pointer-events:none}.comparison-handle{position:absolute;z-index:4;top:50%;left:var(--split);transform:translate(-50%,-50%);width:50px;height:50px;display:grid;place-items:center;background:var(--paper);color:var(--ink);border-radius:50%;box-shadow:0 5px 25px #20202030;font-size:23px;pointer-events:none}.comparison-control{font-size:11px;color:var(--mute);max-width:600px;margin:24px auto 0}.comparison-control input{margin-top:8px}
.lightbox{background:#212121}.lightbox-image{touch-action:pan-y}.lightbox-close{font-size:12px}.lightbox-nav{font-size:11px}

/* Existing tools adopt the public visual language without changing their workflows. */
.page-intro{padding-top:66px;padding-bottom:68px}.intro-grid h1{font-size:clamp(45px,6.2vw,88px);letter-spacing:-.055em}.intro-grid>p{font-size:16px;line-height:1.75}.page-intro>.eyebrow{font-size:10px}.project-subnav{background:var(--paper);gap:30px;padding-top:14px;padding-bottom:14px;font-size:11px}
.cta-strip,.map-basemap,#map-detail,.portfolio-item .portfolio-check{background:#eeeeee}.cta-strip{padding:44px}.cta-strip h2{font-size:40px}.portfolio-item{background:var(--paper)}.portfolio-item h2{font-size:25px}.portfolio-item.selected{border-color:#666666;box-shadow:0 0 0 1px #666666}.portfolio-builder-bottom{background:#2f2f2f}.portfolio-builder-bottom .button{background:#ececec}.portfolio-order{gap:0 40px}.portfolio-order li{padding-top:18px;padding-bottom:18px}.solution-choices button{background:#ededed;border-color:#dcdcdc;transition:background .25s,transform .25s}.solution-choices button:hover{transform:translateY(-3px)}.solution-choices button[aria-pressed=true]{background:#2f2f2f}.solution-directions a{background:#eeeeee;border-color:#d9d9d9}
.faq-section{gap:100px}.faq-list summary{font-size:18px;padding-top:27px;padding-bottom:27px}.faq-list details>p{font-size:15px;line-height:1.8}.site-footer{background:#252525;padding-top:80px}.footer-top h2{font-size:clamp(52px,7.5vw,108px);font-weight:400;line-height:.98;letter-spacing:-.06em;margin:30px 0 38px}.footer-contact{padding-left:40px}.footer-contact .phone{font-size:30px;font-weight:400}.footer-contact>p{font-size:17px}.footer-contact .contact-email{font-size:26px}.footer-bottom{font-size:10px;gap:24px}.footer-bottom a{font-size:11px}.footer-bottom .analytics-settings{font-size:11px}
.mobile-actions{display:none}.will-reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.will-reveal.is-visible{opacity:1;transform:none}
@keyframes architecture-enter{from{opacity:.3;transform:scale(1.02)}to{opacity:1;transform:none}}
@keyframes gallery-enter{from{opacity:.6}to{opacity:1}}

@media(min-width:1700px){.architecture-copy{min-height:785px}.architecture-copy h1{font-size:124px;margin-top:70px}.architecture-stage{left:19%}.architecture-caption{width:41%;max-width:560px;bottom:58px}.architecture-caption>strong{font-size:49px}.case-intro,.case-metrics,.gallery-ribbon{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.header-inner{gap:18px}.navigation{gap:16px;font-size:12px}.brand img{width:150px}.header-contact{margin-left:0;gap:14px;font-size:11px}.architecture-copy{width:61%;min-height:645px}.architecture-copy h1{font-size:8.1vw}.architecture-copy>.eyebrow{font-size:9px}.architecture-caption{right:32px;width:40%;bottom:36px}.architecture-caption>strong{font-size:30px}.architecture-bottom{gap:20px}.architecture-tabs button{font-size:11px;gap:12px;padding-right:14px}.architecture-tabs button+button{padding-left:14px}.architecture-controls{gap:10px}.architecture-count{display:none}.editorial-grid{gap:60px 30px}.editorial-grid .project-card[data-slot="1"]{padding-top:105px}.craft-feature{min-height:610px}.craft-feature-copy{padding:45px 40px}.craft-feature-copy h2{font-size:44px}.visual-services{gap:40px 22px}.visual-service-copy h3{font-size:24px}.case-narrative,.case-directions{gap:60px}.case-photo-essay img{height:530px}.case-photo-essay figure:nth-child(2) img{height:430px}.case-photo-essay figure:nth-child(2){padding-top:100px}.section{padding-top:85px;padding-bottom:85px}.visual-comparison,.case-directions{padding-top:0}.faq-section{gap:50px}.footer-contact{padding-left:0}.architecture-actions{gap:22px}.architecture-actions .button{padding:17px 20px;gap:20px}}
@media(max-width:800px){.header-inner{min-height:76px}.navigation{background:#252525;max-height:calc(100dvh - 76px);overflow:auto;overscroll-behavior:contain;padding-top:20px;padding-bottom:30px}.navigation a{font-size:25px;letter-spacing:-.03em;padding:16px 0;border-bottom:1px solid #ffffff20}.navigation a:after{display:none}.navigation .nav-request{font-size:15px;padding-top:25px;border-bottom:0}.header-contact{font-size:12px}.menu-toggle{display:flex}.architecture-copy{padding-top:30px;min-height:610px;width:67%}.architecture-copy h1{font-size:8.2vw;margin-top:50px;letter-spacing:-.06em}.architecture-copy>.eyebrow{max-width:310px;line-height:1.7;font-size:8px}.architecture-lead{font-size:15px}.architecture-actions{flex-direction:column;align-items:flex-start;gap:14px}.architecture-note{font-size:9px}.architecture-caption{width:38%;right:24px;bottom:45px}.architecture-caption>strong{font-size:26px}.architecture-caption>.eyebrow{font-size:8px}.architecture-caption-bottom{font-size:11px}.architecture-stage{left:17%}.architecture-slide:before{background:linear-gradient(90deg,#252525,#252525ce 15%,#25252545 52%,transparent)}.architecture-bottom{padding:0 22px;gap:12px;min-height:82px}.architecture-tabs button{font-size:10px;gap:9px}.architecture-controls{flex-direction:column;justify-content:center;gap:6px}.architecture-controls button{height:29px;width:30px}.architecture-tabs button+button{padding-left:10px}.architecture-tabs button>span:first-child{font-size:9px}.stats strong{font-size:40px}.stats-geography strong{font-size:26px}.stats p{font-size:11px}.section-heading{gap:40px}.section-heading h2{font-size:51px}.section-heading-note p{font-size:13px}.section-heading-note{max-width:220px}.editorial-grid{gap:50px 24px}.editorial-grid .project-card[data-slot="1"]{padding-top:80px}.editorial-grid .project-card[data-slot="2"]{padding-top:35px}.project-card h3{font-size:27px}.project-meta{font-size:9px;flex-wrap:wrap;gap:5px}.project-meta>span{text-align:left}.project-tag{font-size:11px;left:15px;top:15px}.project-arrow{right:15px;bottom:15px;width:39px;height:39px}.project-image-cta{display:none}.craft-feature{grid-template-columns:1fr 1fr;min-height:575px}.craft-feature-copy{padding:40px 28px}.craft-feature-copy h2{font-size:36px;margin-top:37px}.craft-feature-copy>p:not(.eyebrow){font-size:13px}.craft-feature-copy .text-button{font-size:11px;gap:18px}.craft-feature-photo>span{left:22px;right:22px;font-size:11px}.visual-services{grid-template-columns:1fr 1fr;gap:35px 24px}.visual-service-photo{aspect-ratio:1.1}.service-cover{height:410px;margin-top:28px}.service-cover figcaption{left:25px;right:25px;bottom:25px;align-items:flex-start;flex-direction:column;gap:12px}.service-cover figcaption>a{font-size:23px;gap:20px}.case-intro{padding-top:30px}.case-intro h1{font-size:clamp(48px,7.3vw,65px)}.case-intro .breadcrumbs{margin-bottom:35px}.case-intro-bottom{margin-top:24px}.visual-gallery .gallery-stage{height:64vw;min-height:320px}.gallery-ribbon{gap:20px}.gallery-ribbon .gallery-thumbs{max-width:50%}.gallery-hint{font-size:10px;max-width:240px}.case-metrics{gap:30px;padding-top:36px;padding-bottom:36px}.case-metrics>div+div{padding-left:30px}.case-metrics strong{font-size:43px}.case-metrics>div+div strong{font-size:30px}.case-narrative{gap:40px;grid-template-columns:1fr 1.1fr}.case-narrative-heading{position:static}.case-narrative-heading h2{font-size:34px}.case-narrative-heading dl>div{display:block;font-size:12px}.case-narrative-heading dd{margin-top:8px}.case-narrative-story article{gap:14px;grid-template-columns:22px 1fr}.case-narrative-story h3{font-size:24px}.case-narrative-story p{font-size:15px}.case-photo-essay{gap:24px;padding-bottom:75px}.case-photo-essay img{height:410px}.case-photo-essay figure:nth-child(2) img{height:335px}.case-photo-essay figure:nth-child(2){padding-top:80px}.case-photo-essay figcaption{flex-direction:column;gap:6px}.case-photo-essay figcaption>span:last-child{text-align:left}.case-directions{gap:40px}.case-directions a{font-size:18px}.case-cta>div{gap:25px}.case-cta>div>p{max-width:100%;margin-right:20px}.case-cta h2{font-size:53px}.portfolio-invitation{gap:25px 40px}.portfolio-invitation h2{font-size:43px}.portfolio-invitation p:not(.eyebrow){font-size:14px}.portfolio-invitation .button{font-size:12px;padding:16px 18px;gap:20px}.company .section-heading{display:block}.company-intro{margin-top:32px;max-width:650px}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-intro{padding-top:44px;padding-bottom:46px}.intro-grid h1{font-size:56px}.footer-top h2{font-size:66px}.footer-contact .phone{font-size:25px}.footer-contact .contact-email{font-size:23px}.faq-section{display:block}.section{padding-top:75px;padding-bottom:75px}.visual-comparison,.case-directions,.partners{padding-top:0}.case-directions{padding-bottom:60px}}
@media(max-width:560px){:root{--gutter:22px}.header-inner{padding-top:13px;padding-bottom:13px;min-height:74px}.brand img{width:146px;height:40px}.header-contact{display:none}.architecture-stage{inset:0 0 89px 0}.architecture-slide:before{background:linear-gradient(90deg,#252525e8,#25252599 56%,#25252520),linear-gradient(0deg,#252525d9,transparent 70%)}.architecture-slide>img{object-position:56% 47%;height:100%}.architecture-slide:after{background:linear-gradient(0deg,#212121e6,transparent 55%)}.architecture-copy{min-height:630px;width:100%;padding:29px var(--gutter) 185px;display:block}.architecture-copy>.eyebrow{font-size:8px;letter-spacing:.09em;max-width:310px}.architecture-copy h1{font-size:clamp(53px,13.7vw,78px);line-height:.99;margin:37px 0 23px;letter-spacing:-.057em;max-width:100%}.architecture-lead{font-size:14px;line-height:1.6;margin-bottom:26px}.architecture-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:13px 20px}.architecture-actions .button{font-size:11px;padding:16px 17px;min-height:48px;gap:25px}.architecture-actions .text-button{font-size:11px;gap:18px;padding:11px 0}.architecture-note{margin-top:23px;font-size:8px;letter-spacing:.015em}.architecture-caption{left:var(--gutter);right:var(--gutter);width:auto;max-width:none;bottom:23px;padding-top:22px;border-top:1px solid #ffffff40}.architecture-caption>.eyebrow{font-size:8px;letter-spacing:.08em}.architecture-caption>strong{font-size:25px;margin:12px 50px 14px 0;max-width:310px;line-height:1.06}.architecture-caption-bottom{border:0;padding:0;font-size:11px}.architecture-caption-bottom svg{position:absolute;right:0;top:50%;width:24px;height:24px}.architecture-bottom{min-height:89px;padding:0 14px;gap:8px}.architecture-tabs button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;font-size:9px;padding:16px 9px 14px 0;line-height:1.35;overflow-wrap:anywhere}.architecture-tabs button+button{padding-left:9px}.architecture-tabs button>span:first-child{font-size:9px}.architecture-controls{gap:7px}.architecture-controls button{width:28px;height:27px;font-size:15px}.stats{padding-top:25px;padding-bottom:27px;gap:24px 15px}.stats strong{font-size:45px}.stats p{font-size:10px;line-height:1.5}.stats-geography strong{font-size:28px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:44px;line-height:1.03;margin-top:21px}.section-heading-note{max-width:100%;margin-top:23px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading-note p{font-size:12px;margin:0;max-width:200px}.section-heading-note .text-button{font-size:11px;gap:12px;white-space:nowrap}.section-heading-note p br{display:none}.editorial-grid{display:block}.editorial-grid .project-card{padding:0!important;margin-bottom:39px}.editorial-grid .project-card:last-child{margin-bottom:0}.editorial-grid .project-card[data-slot="0"] .project-image,.editorial-grid .project-card[data-slot="3"] .project-image{aspect-ratio:1.14}.editorial-grid .project-card[data-slot="1"] .project-image{aspect-ratio:1.2}.editorial-grid .project-card[data-slot="2"] .project-image{aspect-ratio:1.4}.project-card h3{font-size:29px;margin-top:12px}.project-meta{margin-top:17px;display:flex;justify-content:space-between;font-size:8px;gap:7px;letter-spacing:.055em}.project-meta>span{text-align:right}.project-tag{padding:7px 10px;font-size:11px;left:14px;top:14px}.project-arrow{right:14px;bottom:14px;width:38px;height:38px}.visual-projects{padding-bottom:60px}.catalog-section{padding-top:24px}.catalog-tools{margin-bottom:31px;padding-bottom:10px}.filter-list{gap:7px;flex-wrap:nowrap;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin;margin-bottom:20px}.filter-button{flex-shrink:0;font-size:11px;padding:11px 13px;gap:12px}.catalog-status{font-size:10px}.search-field input{font-size:16px}.craft-feature{display:flex;flex-direction:column;min-height:0}.craft-feature-photo{height:330px;order:2}.craft-feature-copy{padding:40px var(--gutter) 45px}.craft-feature-copy h2{font-size:44px;margin:26px 0 23px;max-width:340px}.craft-feature-copy>p:not(.eyebrow){font-size:14px;line-height:1.75;margin-bottom:25px}.craft-feature-copy>.eyebrow{font-size:9px}.craft-feature-copy .text-button{font-size:12px}.craft-feature-photo>span{bottom:25px}.visual-services{grid-template-columns:1fr;gap:33px}.visual-service{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:24px}.visual-service-photo{aspect-ratio:.74;min-height:135px}.visual-service-index{font-size:8px;left:8px;top:8px;padding:4px 6px}.visual-service-arrow{width:27px;height:27px;right:8px;bottom:8px}.visual-service-arrow svg{width:15px}.visual-service-copy{padding:3px 0 0;border:0}.visual-service-copy .eyebrow{font-size:8px;line-height:1.5}.visual-service-copy h3{font-size:24px;line-height:1.05;margin-top:13px;letter-spacing:-.045em}.visual-service-copy p{font-size:12px;margin-top:10px;line-height:1.5}.service-cover{height:340px;margin:22px 0 0}.service-cover figcaption{left:22px;right:22px;bottom:23px}.service-cover figcaption>a{font-size:22px}.service-cover figcaption>span{font-size:8px}.service-detail{padding-top:45px}.numbered-list li{font-size:18px}.services-page{padding-top:35px;padding-bottom:0}.company .section-heading h2{font-size:44px}.company-intro p:first-child{font-size:18px}.company-intro p{font-size:14px}.resource-grid{gap:25px}.resource strong{font-size:68px}.resource p{font-size:13px}.resource h3{font-size:19px}.resource .eyebrow{font-size:9px}.company-footnote p{font-size:12px}.steps{gap:28px 24px}.steps h3{font-size:22px;margin-top:25px}.steps p{font-size:13px}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-grid>span{font-size:13px;min-height:85px}.partners{padding-top:0}.portfolio-invitation{display:block}.portfolio-invitation h2{font-size:43px;margin:22px 0}.portfolio-invitation>div{padding-top:0}.portfolio-invitation p:not(.eyebrow){font-size:14px}.portfolio-invitation .button{font-size:12px;min-height:54px}.case-intro{padding-top:24px;padding-bottom:29px}.case-intro .breadcrumbs{font-size:10px;margin-bottom:30px}.case-intro-top{gap:20px;margin-bottom:20px}.case-intro-top .eyebrow{font-size:8px}.case-number{font-size:9px}.case-intro h1{font-size:clamp(39px,10.9vw,58px);line-height:1.035}.case-intro-bottom{align-items:flex-start;gap:20px;margin-top:24px;font-size:11px}.case-intro-bottom p{max-width:200px}.case-intro-bottom .text-button{font-size:10px;white-space:nowrap;padding-top:0}.visual-gallery .gallery-stage{height:108vw;min-height:340px;max-height:580px}.visual-gallery .gallery-stage>img{object-position:50% 48%}.visual-gallery .gallery-zoom{top:17px;right:17px;font-size:10px;padding:11px 13px;gap:13px}.stage-gallery-controls{left:17px;bottom:17px;gap:12px;padding:7px 10px}.stage-gallery-controls button{width:34px;height:34px;font-size:19px}.stage-gallery-controls .gallery-position{font-size:10px;min-width:37px}.gallery-ribbon{padding:19px var(--gutter);display:block}.gallery-ribbon>p>.eyebrow{font-size:8px}.gallery-hint{font-size:10px;max-width:none}.gallery-ribbon .gallery-thumbs{max-width:100%;margin-top:14px;gap:7px}.gallery-ribbon .gallery-thumb{width:66px;flex-basis:66px}.case-metrics{gap:23px;padding:30px var(--gutter);grid-template-columns:1fr}.case-metrics>div+div{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}.case-metrics .eyebrow{margin-bottom:14px;font-size:9px}.case-metrics strong{font-size:49px;letter-spacing:-.04em}.case-metrics>div+div strong{font-size:29px}.case-narrative{display:block;padding-top:50px;padding-bottom:47px}.case-narrative-heading h2{font-size:39px;margin:23px 0 29px}.case-narrative-heading dl>div{display:grid;grid-template-columns:100px 1fr;font-size:11px;gap:20px}.case-narrative-heading dd{margin:0}.case-narrative-story{margin-top:34px}.case-narrative-story article{padding:25px 0 29px;gap:15px;grid-template-columns:25px 1fr}.case-narrative-story h3{font-size:25px;margin-bottom:17px}.case-narrative-story p{font-size:15px;line-height:1.75}.case-photo-essay{grid-template-columns:1fr;gap:30px;padding:0 var(--gutter) 55px}.case-photo-essay figure:nth-child(2){padding-top:0}.case-photo-essay img,.case-photo-essay figure:nth-child(2) img{height:auto;max-height:none;aspect-ratio:.9;object-fit:cover}.case-photo-essay figcaption{font-size:9px;flex-direction:row}.case-photo-essay figcaption>span:last-child{max-width:165px;text-align:right}.case-directions{display:block;padding-top:0;padding-bottom:47px}.case-directions>.eyebrow{padding-top:0;margin-bottom:22px}.case-directions a{font-size:19px;padding:20px 0}.case-cta h2{font-size:44px;margin:24px 0 28px}.case-cta>.eyebrow{font-size:9px}.case-cta>div{display:block}.case-cta>div>p{font-size:14px;max-width:340px;margin-bottom:26px}.case-cta .button{font-size:12px}.case-cta .text-button{display:flex;max-width:215px;margin-top:19px;font-size:11px}.case-related .project-grid{gap:35px}.case-related .project-image{aspect-ratio:1.3}.visual-comparison{padding-top:0}.comparison-section h2{font-size:44px}.comparison-section .section-intro{font-size:13px;margin-top:20px}.comparison-tabs{gap:8px;margin-bottom:18px}.comparison-tabs button{font-size:11px;padding:12px 14px}.photo-comparison{aspect-ratio:1.06}.comparison-handle{width:42px;height:42px;font-size:21px}.comparison-label{font-size:9px;bottom:13px;padding:6px 8px}.comparison-control{font-size:10px;margin-top:18px}.lightbox{height:94dvh;max-height:94dvh}.lightbox-nav p{font-size:10px}.page-intro{padding-top:33px;padding-bottom:37px}.intro-grid h1{font-size:clamp(36px,10.8vw,53px)}.intro-grid>p{font-size:14px;line-height:1.75}.page-intro>.eyebrow{font-size:9px}.project-subnav{padding-top:12px;padding-bottom:12px;font-size:10px;gap:25px}.faq-list summary{font-size:16px;padding-top:23px;padding-bottom:23px}.faq-list details>p{font-size:14px}.faq-section .section-heading{margin-bottom:25px}.site-footer{padding-top:52px}.footer-top h2{font-size:65px;margin-top:26px;margin-bottom:28px}.footer-top .eyebrow{font-size:9px}.footer-top{gap:42px}.footer-contact .phone{font-size:28px}.footer-contact>p{font-size:17px}.footer-contact .contact-email{font-size:25px}.footer-bottom{row-gap:19px;font-size:10px;margin-top:43px}.footer-bottom a{font-size:10px}.footer-bottom .analytics-settings{font-size:10px}.cta-strip{padding:25px}.cta-strip h2{font-size:31px}.mobile-actions{display:grid;grid-template-columns:.85fr 1.3fr;position:fixed;bottom:0;left:0;right:0;z-index:30;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:9px;background:#fffffff5;backdrop-filter:blur(14px);border-top:1px solid #d9d9d9;transition:transform .25s}.mobile-actions>a{display:flex;align-items:center;justify-content:center;gap:13px;font-size:11px;min-height:44px;border:1px solid #b1b1b1}.mobile-actions>a:last-child{background:var(--ink);color:var(--paper);border-color:var(--ink)}.mobile-actions svg{height:17px;width:17px}body:has(.mobile-actions){padding-bottom:calc(65px + env(safe-area-inset-bottom))}body:has(dialog[open]) .mobile-actions,body:has(.navigation.open) .mobile-actions,body:has(.consent-banner:not([hidden])) .mobile-actions{visibility:hidden;pointer-events:none}.mobile-actions.keyboard-hidden{visibility:hidden;pointer-events:none}.consent-banner{bottom:12px}.request-intro .intro-grid h1{font-size:38px}.will-reveal{transform:translateY(15px)}}
@media(max-width:350px){.architecture-copy{min-height:690px;padding-bottom:185px}.architecture-copy h1{font-size:50px}.architecture-actions{flex-direction:column;align-items:flex-start;gap:11px}.architecture-note{font-size:7px}.architecture-caption>strong{font-size:23px}.architecture-tabs button{font-size:8px}.architecture-caption>.eyebrow{font-size:7px}.section-heading-note{display:block}.section-heading-note .text-button{margin-top:10px}.visual-service{grid-template-columns:80px minmax(0,1fr);gap:16px}.visual-service-copy h3{font-size:23px}.visual-service-photo{min-height:135px}.footer-top h2{font-size:58px}.case-metrics strong{font-size:43px}.case-intro-bottom{flex-direction:column;gap:13px}.case-intro-bottom p{max-width:none}.portfolio-builder-bottom{padding:18px}.portfolio-builder-bottom strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.architecture-slide,.visual-gallery .gallery-stage>img{animation:none!important}.will-reveal{opacity:1;transform:none;transition:none}.project-image>img,.visual-service-photo>img,.craft-feature-photo>img{transform:none!important}.button:hover,.solution-choices button:hover{transform:none}}
@media print{.mobile-actions,.header,.site-footer{display:none!important}body:has(.mobile-actions){padding-bottom:0}.will-reveal{opacity:1;transform:none}.architecture-slide{animation:none}}

body.menu-open{overflow:hidden}.case-photo-essay figure>button{display:block;width:100%;text-align:left}.case-photo-essay figure>button:focus-visible{outline:3px solid #6d6d6d;outline-offset:6px}.visual-gallery .gallery-stage img,.lightbox-image,.photo-comparison img{user-select:none;-webkit-user-drag:none}

/* Flagship project, 5.1. The journal remains readable without JavaScript. */
.flagship-link{margin:0 var(--gutter);padding:40px 0;display:flex;justify-content:space-between;align-items:center;gap:40px;border-bottom:1px solid var(--line)}
.flagship-link h2{font-size:clamp(23px,3vw,38px);line-height:1.15;font-weight:400;letter-spacing:-.04em;margin:14px 0}.flagship-link p:not(.eyebrow){font-size:14px;color:var(--mute);max-width:620px;line-height:1.7}.flagship-link>.button{flex:none}
.museum-opening{padding:35px var(--gutter) 40px}.museum-opening .breadcrumbs{margin-bottom:55px}.museum-kicker{display:flex;justify-content:space-between;gap:20px;align-items:center}.museum-kicker>span{font-size:12px;color:var(--mute)}
.museum-heading{display:grid;grid-template-columns:2fr 1fr;gap:7vw;align-items:end;margin:27px 0 32px}.museum-heading h1{font-size:clamp(45px,6.9vw,106px);line-height:.98;letter-spacing:-.064em;font-weight:400;margin:0;overflow-wrap:break-word;hyphens:auto}.museum-heading>div{padding-bottom:6px}.museum-heading p{font-size:17px;line-height:1.7;color:var(--mute);margin-bottom:20px}.museum-address{font-size:12px;color:var(--mute)}
.museum-cover{position:relative;margin:0 var(--gutter);background:#dbdbdb}.museum-cover>img{width:100%;height:clamp(330px,51vw,710px);object-fit:cover;object-position:center 60%;display:block}.museum-cover-metric{position:absolute;top:27px;left:27px;padding:25px 30px;background:#ffffffed;backdrop-filter:blur(8px)}.museum-cover-metric strong{display:block;font-size:clamp(32px,4.3vw,60px);font-weight:400;letter-spacing:-.055em;line-height:1.2;margin:10px 0}.museum-cover-metric a{font-size:11px;border-bottom:1px solid var(--ink);padding-bottom:5px}.museum-cover figcaption{display:flex;justify-content:space-between;gap:15px;padding:16px 0;background:var(--paper);font-size:10px;color:var(--mute);line-height:1.5}
.museum-nav{display:flex;gap:40px;margin:20px var(--gutter) 0;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;align-items:center}.museum-nav a{display:flex;align-items:center;gap:15px;min-height:30px}.museum-nav a:last-child{margin-left:auto}.museum-nav svg{width:18px;height:18px}.museum-nav span{font-size:10px;color:var(--mute)}
.museum-reports{background:#ebebeb}.museum-reports .section-heading{margin-bottom:65px}.report-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:7vw;align-items:start}.report-index{position:sticky;top:110px}.report-filters{display:flex;flex-wrap:wrap;gap:7px;margin:23px 0 28px}.report-filters button{border:1px solid #cbcbcb;border-radius:24px;font-size:11px;min-height:39px;padding:9px 14px}.report-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.report-index nav a{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #cbcbcb;padding:17px 0;font-size:13px}.report-index nav a:last-child{border-bottom:1px solid #cbcbcb}.report-index nav a:hover{color:#5e5e5e}.report-status{font-size:11px;color:var(--mute);margin:23px 0}.report-date-note{font-size:11px;line-height:1.8;color:#606060}
.report-entry{scroll-margin-top:12px;margin-bottom:70px;padding-bottom:43px;border-bottom:1px solid #cbcbcb}.report-entry:last-child{margin-bottom:0}.report-entry-heading{display:grid;grid-template-columns:30px 1fr;gap:20px;margin-bottom:30px}.report-number{font-size:11px;padding-top:2px;color:var(--mute)}.report-entry h3{font-size:clamp(28px,3.1vw,45px);letter-spacing:-.045em;line-height:1.1;font-weight:400;margin:15px 0 20px}.report-entry-heading p:not(.eyebrow){font-size:14px;line-height:1.85;color:#5f5f5f;max-width:610px}.report-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.report-photos figure{margin:0;min-width:0}.report-photo{display:block;position:relative;overflow:hidden;background:#d7d7d7}.report-photo>img{width:100%;height:auto;display:block;transition:transform .5s}.report-photo:hover>img{transform:scale(1.02)}.report-zoom{position:absolute;right:16px;bottom:16px;padding:12px 17px;background:#fffffff0;font-size:11px}.report-photos figcaption{font-size:11px;line-height:1.7;color:var(--mute);margin-top:13px}.report-credit{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;font-size:10px;line-height:1.6;color:#686868}.report-credit a{border-bottom:1px solid #a8a8a8}.report-back{margin:35px 0 0 0}
.museum-gallery-heading{padding-bottom:35px}.museum-gallery-heading h2{font-size:clamp(38px,5vw,72px);font-weight:400;letter-spacing:-.05em;line-height:1.1;margin:20px 0}.museum-gallery-heading>p:last-child{font-size:12px;color:var(--mute)}
.report-viewer{border:0;max-width:none;max-height:none;width:100%;height:100%;padding:22px 30px;background:#1f1f1f;color:#ffffff;margin:0;box-sizing:border-box}.report-viewer[open]{display:flex;flex-direction:column}.report-viewer::backdrop{background:#1f1f1f}.report-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;flex-shrink:0}.report-viewer-toolbar button{padding:14px;border:1px solid #ffffff60;min-height:44px}.report-viewer-stage{display:flex;align-items:center;justify-content:center;min-height:0;flex:1;padding:24px 0;touch-action:pan-y}.report-viewer-stage img{width:100%;height:100%;object-fit:contain}.report-viewer-bottom{display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:12px;flex-shrink:0}.report-viewer-bottom>div{max-width:800px;text-align:center}.report-viewer-bottom button{width:46px;height:46px;border:1px solid #ffffff60;flex:none}.report-viewer-caption{line-height:1.5;margin-bottom:10px}.report-viewer-source{font-size:10px;color:#c6c6c6;text-decoration:underline;text-underline-offset:4px;line-height:1.6}.report-viewer-hint{text-align:center;font-size:10px;color:#a1a1a1;margin:20px 0 0}.report-feed>[hidden],.report-index [hidden]{display:none!important}
@media(max-width:950px){.museum-heading{grid-template-columns:1fr;gap:28px}.museum-heading>div{display:flex;justify-content:space-between;align-items:end;gap:25px}.museum-heading p{margin:0}.museum-heading h1{max-width:820px}.museum-nav{gap:25px;flex-wrap:wrap}.report-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}.flagship-link{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:650px){.museum-opening{padding-top:25px;padding-bottom:25px}.museum-opening .breadcrumbs{margin-bottom:35px}.museum-kicker{align-items:start;flex-direction:column;gap:12px}.museum-heading{margin-top:25px;gap:22px}.museum-heading h1{font-size:clamp(40px,9.3vw,60px)}.museum-heading>div{display:block}.museum-heading p{font-size:14px;line-height:1.7}.museum-heading .text-button{margin-top:14px}.museum-cover{margin:0}.museum-cover>img{height:380px;object-position:52% 60%}.museum-cover-metric{top:18px;left:var(--gutter);padding:18px 20px}.museum-cover-metric .eyebrow{font-size:9px}.museum-cover-metric strong{font-size:36px}.museum-cover figcaption{display:block;padding:15px var(--gutter)}.museum-cover figcaption span{display:block;margin-bottom:6px}.museum-nav{margin-top:5px;gap:7px 24px;padding:17px 0}.museum-nav a:last-child{margin-left:0;width:100%;margin-top:5px}.report-layout{display:block}.report-index{position:static;margin-bottom:45px}.report-index nav{display:flex;flex-wrap:wrap;gap:8px 22px}.report-index nav a{gap:15px;border:0!important;padding:9px 0;font-size:12px}.report-filters{margin:20px 0 15px}.report-date-note{max-width:480px}.report-status{margin:15px 0}.report-entry-heading{grid-template-columns:20px minmax(0,1fr);gap:12px}.report-entry h3{font-size:32px}.report-entry-heading p:not(.eyebrow){font-size:13px}.report-entry{padding-bottom:30px;margin-bottom:45px}.museum-reports .section-heading{margin-bottom:40px}.report-zoom{bottom:10px;right:10px;padding:10px;font-size:10px}.report-viewer{padding:15px 16px}.report-viewer-toolbar{font-size:10px}.report-viewer-bottom{gap:10px;font-size:11px}.report-viewer-bottom button{width:38px;height:44px}.report-viewer-stage{padding:18px 0}.report-viewer-hint{margin-top:13px}.flagship-link{padding:30px 0}.flagship-link>.button{width:100%;justify-content:space-between;font-size:12px;gap:18px}}
@media(prefers-reduced-motion:reduce){.report-photo>img{transition:none;transform:none!important}}
@media print{.report-index,.museum-nav,.report-back,.report-zoom{display:none}.report-layout{display:block}.report-feed>[hidden]{display:block!important}.report-entry{break-inside:avoid}.report-viewer{display:none!important}}

.audience-section{background:#f0f0f0}.audience-tabs{display:flex;border-bottom:1px solid #bfbfbf;gap:32px;margin-bottom:44px}.audience-tabs button{padding:16px 0;font-size:18px;border-bottom:3px solid transparent}.audience-tabs button[aria-selected=true]{border-color:#373737;font-weight:600}.audience-panel{display:grid;grid-template-columns:1fr 1.25fr;gap:6vw;margin-bottom:48px}.audience-panel[hidden]{display:none}.audience-copy h3{font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.04em;margin:20px 0}.audience-copy>p{color:#5b5b5b;max-width:540px}.audience-services{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.audience-services a{border:1px solid #c5c5c5;padding:7px 12px;font-size:13px;border-radius:30px}.audience-copy .button{margin-top:8px}.audience-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-content:start}.audience-projects h3{font-size:23px}.audience-projects .project-meta{flex-direction:column;gap:3px}.audience-projects .project-tag{font-size:12px;max-width:85%}.work-story{background:#292929;color:#fff}.work-story .section-intro{color:#c1c1c1}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}.workflow-card>a{display:block;position:relative}.workflow-card img{width:100%;height:auto;aspect-ratio:1.7}.workflow-card>a>span{position:absolute;left:18px;bottom:18px;background:#fff;color:#292929;padding:9px 14px;font-size:20px}.workflow-card>div{padding-top:24px}.workflow-card .eyebrow{color:#c7c7c7}.workflow-card h3{font-size:30px;letter-spacing:-.025em;font-weight:500;margin:14px 0}.workflow-card p:not(.eyebrow){color:#cbcbcb;max-width:580px;white-space:pre-line}.details-section{background:#f2f2f2}.detail-explorer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start;margin-top:44px}.detail-picture{position:relative;background:#dddddd}.detail-picture>img{width:100%;height:auto;object-fit:contain}.detail-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border:2px solid white;border-radius:50%;background:#383838;color:white;box-shadow:0 0 0 7px #ffffff45;font-size:14px;font-weight:bold;transition:box-shadow .2s}.detail-pin[aria-current=true],.detail-pin:hover{background:white;color:#383838;box-shadow:0 0 0 9px #ffffff60}.detail-note{display:flex;gap:20px;padding:26px 18px;border-top:1px solid #c5c5c5;scroll-margin-top:110px}.detail-note>span{color:#727272;font-size:13px}.detail-note h3{font-size:25px;font-weight:500;margin-bottom:14px}.detail-note p{color:#636363;white-space:pre-line}.detail-note.is-active{background:white;box-shadow:inset 3px 0 #525252}.selection-intro{background:#ededed;padding:80px var(--gutter)}.selection-intro h1{font-size:clamp(38px,5vw,76px);font-weight:500;max-width:1000px;letter-spacing:-.045em;margin:24px 0}.selection-message{font-size:20px;max-width:780px;white-space:pre-line;color:#595959;margin-bottom:28px}.selection-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.selection-card{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:45px 0;border-bottom:1px solid var(--line)}.selection-card img{width:100%;aspect-ratio:1.5}.selection-card h2{font-size:35px;font-weight:500;margin:16px 0}.selection-card p{white-space:pre-line;margin:16px 0}.selection-contact{background:#292929;color:white;padding:40px;display:grid;gap:10px;margin-top:40px}.selection-contact h2{font-size:28px;font-weight:500}.selection-contact a{overflow-wrap:anywhere}.selection-status{margin-top:15px;min-height:24px}.selection-context{padding:20px;background:#ededed;margin-bottom:25px}.selection-context a{text-decoration:underline}.audience-context{color:#4e4e4e;margin:16px 0}.selection-site-header{padding:22px var(--gutter);display:flex;justify-content:space-between;background:#252525;color:#fff}.selection-site-header img{width:170px}
@media(max-width:900px){.audience-panel,.detail-explorer,.selection-card{grid-template-columns:1fr}.detail-explorer{gap:22px}.audience-copy{max-width:640px}.selection-card{gap:24px}.audience-tabs{gap:18px}.audience-tabs button{font-size:16px}.selection-intro{padding-top:48px;padding-bottom:48px}}
@media(max-width:550px){.audience-tabs{gap:8px;flex-direction:column;align-items:stretch}.audience-tabs button{text-align:left;padding:12px 8px}.audience-tabs button[aria-selected=true]{background:#e1e1e1}.audience-projects,.workflow-grid{grid-template-columns:1fr}.workflow-card h3{font-size:26px}.detail-note{padding:22px 8px}.detail-pin{width:44px;height:44px}.selection-message{font-size:18px}.selection-contact{padding:25px}.selection-site-header img{width:140px}.selection-site-header{font-size:13px;align-items:center;gap:18px}}
@media(prefers-reduced-motion:reduce){.detail-pin{transition:none}}

/* A shared rhythm for the existing architectural portfolio. */
:root{--gutter:clamp(20px,5vw,88px)}body{font-size:16px;text-rendering:optimizeLegibility}h1,h2,h3{text-wrap:balance}p{overflow-wrap:break-word}.button{min-height:48px;white-space:normal;line-height:1.35}.section{padding-top:clamp(64px,7.5vw,112px);padding-bottom:clamp(64px,7.5vw,112px)}.section-heading{gap:32px}.project-card h3{line-height:1.16}.project-image{isolation:isolate}.project-meta{line-height:1.5}.audience-panel{margin-bottom:0}.audience-tabs button{min-height:48px}.workflow-card>div>p:not(.eyebrow){max-width:52ch}.fact-list dd,.large-copy{overflow-wrap:anywhere}.site-footer .text-button{min-height:44px;display:inline-flex;align-items:center}.callback-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#efefef;border-top:1px solid #dddddd}.callback-section h2{font-size:clamp(38px,4.8vw,68px);font-weight:500;letter-spacing:-.045em;margin:24px 0}.callback-section>div>p:not(.eyebrow){max-width:460px;color:#616161;margin-bottom:24px}.callback-form{display:grid;gap:18px;max-width:600px;min-width:0}.callback-form>label:not(.check-line){display:grid;gap:8px;font-size:14px}.callback-form input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #c2c2c2;background:white;padding:14px 16px;border-radius:0;font-size:16px}.callback-form .check-line{display:flex;align-items:flex-start;gap:12px;font-size:13px}.callback-form [type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:2px}.callback-form .check-line a{text-decoration:underline}.callback-form .button{justify-content:space-between}.callback-form .callback-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.callback-hint{font-size:12px;color:#6d6d6d}.callback-status:empty{display:none}.callback-status{padding:16px;background:#fff;color:#383838;overflow-wrap:anywhere}.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.material-card{border:1px solid var(--line);min-width:0}.material-card>div{padding:28px;display:grid;gap:18px}.material-card h3{font-size:26px;font-weight:500;line-height:1.2}.material-card video{width:100%;aspect-ratio:16/9;background:#1f1f1f;display:block;object-fit:contain}.material-card blockquote{font-size:24px;line-height:1.45;margin:0;padding:32px 28px 16px;white-space:pre-line}.material-card p{white-space:pre-line}.material-author{padding:0 28px;color:#6d6d6d}.material-kind{display:block;padding:28px 28px 0;font-size:13px;color:#5e5e5e}.material-card time{font-size:13px;color:#5e5e5e}.compare-section{padding-top:30px}.compare-section fieldset{border:0;padding:0;margin:0;min-width:0}.compare-section legend{font-size:22px;margin-bottom:24px}.compare-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.compare-choice{position:relative;cursor:pointer;display:block;min-width:0}.compare-choice>input{position:absolute;left:14px;top:14px;width:24px;height:24px;z-index:1;accent-color:#4e4e4e}.compare-choice>span{display:grid;gap:10px;padding:8px;border:2px solid transparent;background:#f2f2f2;height:100%}.compare-choice:has(input:checked)>span{border-color:#4e4e4e;background:#ebebeb}.compare-choice:has(input:disabled:not(:checked)){opacity:.55}.compare-choice:has(input:focus-visible)>span{outline:3px solid #737373;outline-offset:3px}.compare-choice img{width:100%;aspect-ratio:1.5;height:auto}.compare-choice strong{font-weight:500;line-height:1.25}.compare-choice small{color:#6e6e6e}.compare-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin:22px 0 36px}#compare-status{margin-top:24px;overflow-wrap:anywhere}.compare-actions button:disabled{opacity:.45;cursor:default}.compare-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line)}.compare-table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:750px}.compare-table caption{text-align:left;padding:18px;font-size:14px;color:#616161}.compare-table th,.compare-table td{padding:22px;text-align:left;vertical-align:top;border:1px solid var(--line);white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}.compare-table thead th{font-size:20px;font-weight:500}.compare-table th:first-child{width:180px;background:#f2f2f2;font-size:14px;font-weight:500}.compare-table img{width:100%;aspect-ratio:1.5;margin-bottom:16px}.compare-mobile-hint{font-size:13px;color:#6e6e6e;margin:14px 0 28px}.compare-table tbody tr:nth-child(even) td{background:#f9f9f9}.project-subnav{flex-wrap:wrap}input:focus-visible,textarea:focus-visible,select:focus-visible,video:focus-visible{outline:3px solid #737373;outline-offset:3px}
@media(max-width:1000px){.compare-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.callback-section{gap:40px}.callback-section>div,.callback-form{min-width:0}}
@media(max-width:700px){.callback-section{grid-template-columns:1fr}.materials-grid{grid-template-columns:1fr}.compare-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.compare-table th,.compare-table td{padding:16px}.compare-table{min-width:680px}.compare-table th:first-child{width:130px}.compare-actions{gap:18px}.compare-actions .button{width:100%}.section-heading{gap:22px}.material-card blockquote{font-size:21px}.project-subnav a{padding:12px 0}.callback-section .text-button{display:inline-block;max-width:100%}.callback-form .button{width:100%}.selection-intro h1,.selection-card h2{overflow-wrap:anywhere}}
body.callback-in-view .mobile-actions{display:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.header,.site-footer,.mobile-actions,.consent-banner,#compare-picker,.compare-actions,.project-subnav,.compare-mobile-hint,#compare-status,#compare-result>.button{display:none!important}.compare-table{min-width:0}.compare-table-wrap{overflow:visible}.compare-table th,.compare-table td{font-size:10px;padding:7px}.compare-section{padding:0}.page-intro{padding:20px 0}.compare-table th:first-child{width:18%}}
/* Selected objects and parameter cards keep comparison usable on a phone. */
.compare-selected{min-width:0}.compare-selected h2{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 16px}.compare-selected ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}.compare-selected li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 6px 4px 16px;border:1px solid var(--line);background:#f2f2f2;max-width:100%;min-width:0}.compare-selected li>a{font-size:14px;line-height:1.4;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.compare-selected button{min-height:44px;min-width:44px;flex-shrink:0;border:0;background:transparent;padding:10px;font-size:13px;cursor:pointer}.compare-selected button:focus-visible{outline:3px solid #737373;outline-offset:2px}.compare-selected p{font-size:14px;color:#616161}#compare-result>.button{margin:24px 0 0}#compare-picker{margin-top:48px}.compare-share-link{flex-basis:100%;min-width:0;overflow-wrap:anywhere;text-decoration:underline;font-size:14px}.compare-share-link[hidden]{display:none}.compare-mobile{display:none}.compare-parameter dd{white-space:pre-line;overflow-wrap:anywhere}.compare-not-specified{color:#75716a;font-size:13px}
@media(max-width:700px){.compare-selected ul{display:grid;gap:10px}.compare-selected li{padding-left:12px;width:100%}.compare-table-wrap{display:none}.compare-mobile{display:block}.compare-mobile>h2{font-size:22px;font-weight:500;margin:0 0 20px}.compare-parameter{border:1px solid var(--line);margin-bottom:16px}.compare-parameter h3{font-size:15px;font-weight:500;padding:14px 16px;background:#f2f2f2;margin:0}.compare-parameter dl{padding:0 16px;margin:0}.compare-parameter dl>div{padding:16px 0}.compare-parameter dl>div+div{border-top:1px solid var(--line)}.compare-parameter dt{font-size:13px;font-weight:500;line-height:1.4;margin-bottom:8px;overflow-wrap:anywhere}.compare-parameter dt a{text-decoration:underline;text-underline-offset:3px}.compare-parameter dd{font-size:15px;line-height:1.5;margin:0}#compare-result>.button{width:100%}.compare-actions{gap:14px;margin-bottom:28px}}
@media print{.compare-selected,.compare-mobile{display:none!important}.compare-table-wrap{display:block!important}.compare-table{min-width:0!important}}

/* Relevant projects, a visible shortlist and a clearer start to an enquiry. */
.catalog-refine{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 14px}
.catalog-refine label{display:grid;gap:9px;font-size:13px;min-width:0}
.catalog-refine select{width:100%;min-width:0;padding:14px;border:1px solid #c2c2c2;background:#fff;color:var(--ink);font:inherit;font-size:16px;border-radius:0}
.catalog-tip{font-size:13px;color:#616161;margin:18px 0 24px;max-width:65ch}
.project-work{font-size:15px;line-height:1.65;max-width:65ch;margin:17px 0;color:#5c5c5c}
.project-directions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.project-directions a{font-size:11px;line-height:1.4;padding:8px 11px;background:#ebebeb;border:1px solid #dcdcdc;transition:background .15s}
.project-directions a:hover{background:#dddddd}
.project-card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap}
.project-card-actions>.text-button{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.project-select{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;font:inherit;font-size:13px;line-height:1.35;background:transparent;color:#383838;border:1px solid #919191;cursor:pointer;transition:background .15s}
.project-select[aria-pressed=true]{background:#3b3b3b;color:white;border-color:#3b3b3b}
.project-select:disabled{opacity:.5;cursor:default}
.project-select:focus-visible,.selection-tray button:focus-visible{outline:3px solid #737373;outline-offset:3px}
.case-selection{padding:0 var(--gutter) 28px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.case-selection>.text-button{min-height:44px;display:flex;align-items:center;font-size:13px}
.selection-tray{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:35;width:min(900px,calc(100% - 40px));background:#f7f7f7;border:1px solid #c2c2c2;box-shadow:0 10px 45px #1e1e1e26;padding:18px 22px;color:#313131}
.selection-tray[hidden]{display:none}
.selection-heading,.selection-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px}
.selection-heading strong{font-size:14px;font-weight:500}.selection-heading button{font-size:12px;min-height:32px}
.selection-chips{display:flex;list-style:none;gap:8px;flex-wrap:wrap;margin:7px 0 12px;padding:0}
.selection-chips li{min-width:0;max-width:100%}
.selection-chips button{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#e9e9e9;border:0;padding:10px 12px;min-height:40px;font:inherit;font-size:12px;cursor:pointer}
.selection-bottom p{font-size:12px}.selection-bottom .button{padding:13px 22px;font-size:13px;white-space:nowrap}
body.selection-active{padding-bottom:210px}
body.selection-active .mobile-actions{display:none}
body.menu-open .selection-tray,body:has(dialog[open]) .selection-tray,body:has(.consent-banner:not([hidden])) .selection-tray,body.callback-in-view .selection-tray{visibility:hidden;pointer-events:none}
.request-project-context{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:20px;background:#eeeeee;border-left:3px solid #5f5f5f;margin-bottom:30px}
.request-project-context>div:only-child{grid-column:1/-1}
.request-project-context [data-project-context-retry],.selection-context [data-selection-context-retry]{margin-inline-end:18px}
.request-project-context img{width:120px;height:100px;object-fit:cover}.request-project-context strong{font-size:18px;line-height:1.35;display:block;margin:10px 0}
.request-project-context p:not(.eyebrow){font-size:13px;line-height:1.6}.request-project-context .text-button{font-size:12px;min-height:44px}.request-project-context .eyebrow{font-size:10px;margin:0}
.preparation-list{border:1px solid #cacaca;background:#f3f3f3;padding:20px;margin:24px 0;color:#383838}
.preparation-list summary{font-size:17px;cursor:pointer;line-height:1.5}.preparation-list>p{font-size:13px;line-height:1.6;margin:14px 0}
.preparation-list fieldset{padding:0;border:0;margin:20px 0;min-width:0}.preparation-list legend{font-size:14px;font-weight:600;margin-bottom:12px;padding:0}
.preparation-list label{display:flex!important;align-items:flex-start;gap:10px;font-size:13px!important;margin:12px 0;line-height:1.6}
.preparation-list input[type=checkbox]{width:19px;height:19px;margin-top:2px;flex-shrink:0;accent-color:#595959}
.preparation-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.preparation-actions button{min-height:44px;font-size:12px}.preparation-actions button:disabled{opacity:.5}
[data-checklist-status]{white-space:pre-line;overflow-wrap:anywhere}[data-checklist-status]:empty{display:none}
.brief-panel .preparation-list{padding:16px}.brief-panel .preparation-list p{font-size:13px}
@media(max-width:600px){
 .catalog-refine{grid-template-columns:1fr;gap:16px}.catalog-tip{font-size:12px}.project-work{font-size:13px}
 .project-card-actions{gap:8px}.project-card-actions>.text-button{font-size:11px}.project-select{font-size:12px}
 .case-selection{gap:12px;padding-bottom:20px}.case-selection>.text-button{font-size:12px}
 .selection-tray{bottom:0;width:100%;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-left:0;border-right:0}
 .selection-chips{flex-wrap:nowrap;overflow-x:auto;margin:6px 0 9px;padding:3px 0}.selection-chips li{flex:0 0 auto;max-width:210px}.selection-chips button{font-size:11px}
 .selection-bottom{gap:10px}.selection-bottom p{font-size:11px;line-height:1.5}.selection-bottom .button{padding:11px 14px;font-size:12px}
 body.selection-active{padding-bottom:190px}.request-project-context{grid-template-columns:1fr;padding:16px;gap:14px}.request-project-context img{width:100%;height:140px}.request-project-context strong{font-size:18px}
 .preparation-list{padding:16px}.preparation-list summary{font-size:16px}.preparation-list label{font-size:13px!important}
}
@media print{.selection-tray,.project-select,.project-card-actions,.case-selection,.preparation-actions{display:none!important}body.selection-active{padding-bottom:0}}

/* Version 9: task pages, document package and discreet release information. */
.site-version{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:#d2d2d2;padding:20px 0 0;line-height:1.5;text-decoration:none}.site-version:before{content:"";width:5px;height:5px;border-radius:50%;background:#c4c4c4}.site-version:hover{text-decoration:underline}.task-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line,#d9d9d9)}.task-link-grid>a{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 24px 28px 0;border-bottom:1px solid var(--line,#d9d9d9);font-size:19px;line-height:1.35;text-decoration:none;min-height:110px}.task-link-grid svg{width:22px;flex-shrink:0;transition:transform .2s}.task-link-grid>a:hover svg{transform:translate(3px,-3px)}.task-intro h1{max-width:1100px;font-size:clamp(42px,5.5vw,82px);line-height:1.04;letter-spacing:-.045em;margin:24px 0 30px}.task-lead{display:flex;align-items:center;justify-content:space-between;gap:50px}.task-lead>p{max-width:700px;font-size:20px;line-height:1.6}.task-lead .button{flex-shrink:0}.task-cover{margin:0 5%;position:relative}.task-cover>img{display:block;width:100%;height:clamp(250px,38vw,550px);object-fit:cover}.task-cover figcaption{padding:16px 0;font-size:13px;color:#5c5c5c}.task-cover figcaption a{text-decoration:none}.task-note{font-size:14px;color:#616161;line-height:1.65;max-width:620px;margin-top:24px}.task-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;margin-top:48px}.task-steps article{border-top:1px solid #d0d0d0;padding-top:24px}.task-steps article>span{font-size:13px;color:#696969}.task-steps h3{font-size:23px;line-height:1.25;margin:25px 0 15px}.task-steps p{line-height:1.7;color:#5e5e5e}.task-faq details{border-bottom:1px solid #d3d3d3;padding:24px 0;max-width:1000px}.task-faq summary{font-size:21px;cursor:pointer;padding-right:20px}.task-faq details p{max-width:850px;line-height:1.8;color:#5e5e5e;margin-top:20px}.kit-promo{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#e8e8e8}.kit-promo p{max-width:660px;line-height:1.7}.kit-promo .button{flex-shrink:0}.kit-form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:70px;align-items:start}.kit-options fieldset{border:0;border-top:1px solid #d0d0d0;margin:0 0 40px;padding:24px 0 0;min-width:0}.kit-options legend{font-size:23px;padding:0 20px 0 0}.kit-options legend>span{font-size:12px;vertical-align:middle;color:#6d6d6d;margin-right:12px}.kit-options fieldset>p{font-size:14px;color:#5c5c5c;line-height:1.65}.kit-check{display:flex;gap:15px;align-items:flex-start;cursor:pointer;padding:17px 0;line-height:1.5}.kit-check input{width:19px;height:19px;margin:3px 0 0;flex-shrink:0;accent-color:#444444}.kit-check span{min-width:0}.kit-check strong{font-size:16px;font-weight:500}.kit-check small{display:block;font-size:13px;color:#686868;margin-top:4px}.kit-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.kit-projects .kit-check{border-bottom:1px solid #dedede}.kit-summary{background:#eaeaea;padding:34px;position:sticky;top:110px;overflow-wrap:anywhere}.kit-summary h2{font-size:clamp(28px,3vw,42px);margin:18px 0 24px;line-height:1.15}.kit-summary p{font-size:14px;line-height:1.7}.kit-summary [data-kit-count]{font-size:17px;line-height:1.6}.kit-summary .button{width:100%;margin:16px 0 0;justify-content:center}.kit-summary small{display:block;font-size:12px;color:#5c5c5c;line-height:1.6;margin-top:22px}.kit-summary a,.kit-document-note a{text-underline-offset:4px}.kit-status:empty{display:none}.kit-status{font-weight:500}.kit-summary .text-button{margin-top:15px}.kit-summary [hidden]{display:none!important}.release-list>article{display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px;border-top:1px solid #cecece;padding:40px 0 55px}.release-number{font-size:42px;letter-spacing:-.04em}.release-list article>div>p{font-size:13px;color:#636363}.release-current{display:inline-block;font-size:12px;background:#e9e9e9;padding:7px 12px}.release-list h2{font-size:30px;line-height:1.3}.release-list ul{padding-left:20px;line-height:1.8;color:#5a5a5a}.release-list li{margin:14px 0}.solution-detail-link{display:block;margin:22px 0;text-underline-offset:5px}
@media(max-width:900px){.task-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-lead,.kit-promo{align-items:flex-start;flex-direction:column;gap:18px}.kit-form{gap:30px;grid-template-columns:1fr}.kit-summary{position:static}.task-steps{gap:24px}.task-steps h3{font-size:20px}.release-list>article{grid-template-columns:170px minmax(0,1fr);gap:30px}}
@media(max-width:600px){.task-link-grid{grid-template-columns:1fr}.task-link-grid>a{padding:23px 0;min-height:0;font-size:18px}.task-lead>p{font-size:17px}.task-steps{grid-template-columns:1fr;gap:24px;margin-top:28px}.task-steps h3{margin-top:16px}.task-faq summary{font-size:18px}.task-cover{margin:0 6%}.kit-projects{grid-template-columns:1fr}.kit-summary{padding:25px}.kit-options legend{font-size:21px}.kit-promo .button{white-space:normal}.release-list>article{grid-template-columns:1fr;gap:24px;padding:28px 0 36px}.release-list h2{font-size:25px}.release-number{font-size:34px}.site-version{padding-top:25px}}
@media(prefers-reduced-motion:reduce){.task-link-grid svg{transition:none}}

.task-intro h1,.task-process h2,.task-faq h2,.kit-summary h2,.release-list h2{font-weight:400}.task-related .section-heading h2{font-size:clamp(30px,4.3vw,62px);max-width:820px}.task-links .section-heading>p,.task-related .section-heading>p{max-width:400px;line-height:1.7;color:#636363}.kit-summary p+p{margin-top:16px}.kit-summary .kit-status{margin-top:16px}.kit-options fieldset>p{margin-bottom:10px}

/* Visual 10.1: graphite, white and neutral greys; photos keep their original colour. */
:root{--paper:#ffffff;--ink:#252525;--mute:#626262;--line:#dedede;--soft:#f3f3f3;--gutter:clamp(20px,5vw,86px)}
html{scroll-padding-top:100px}body{font-family:Arial,Helvetica,sans-serif}a,button,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #737373}button,a{-webkit-tap-highlight-color:transparent}.button{border-radius:6px;min-height:52px;gap:22px}.button:hover{transform:none}.button-light{background:#ffffff;border-color:#ffffff}.button-light:hover{background:#e8e8e8}.text-button{min-height:44px}.section{padding-top:88px;padding-bottom:88px}.section-heading{gap:36px;margin-bottom:42px}.section-heading h2{font-size:clamp(36px,4.5vw,64px);line-height:1.08;letter-spacing:-.045em}.section-heading-note p{color:var(--mute)}
/* Navigation stays short on desktop, with larger grouped links on touch screens. */
.header{background:#252525fa;border-bottom:1px solid #ffffff17}.header-inner{min-height:84px;gap:28px}.brand img{width:174px;height:47px}.navigation{margin-left:auto;gap:0}.nav-primary{display:flex;align-items:center;gap:27px}.nav-primary>a{display:flex;align-items:center;min-height:44px;white-space:nowrap;font-size:13px;color:#e7e7e7}.nav-primary>a[aria-current=page]{color:white}.navigation a:after{bottom:2px}.nav-link-arrow,.nav-extras{display:none}.header-contact{min-height:44px;margin-left:4px;padding:11px 16px;border:1px solid #7d7d7d;border-radius:5px;gap:17px}.menu-toggle{width:46px;height:46px;border-radius:5px;flex-shrink:0}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-toggle span{transition:transform .18s}
/* Text and photography have their own space; no dark overlay hides the building. */
.architecture-hero{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);padding:46px var(--gutter) 0;gap:0 48px;background:#252525;overflow:hidden;color:#f9f9f9}.architecture-copy{grid-column:1;grid-row:1;position:static;width:auto;min-height:0;padding:18px 0 25px;pointer-events:auto}.architecture-copy>.eyebrow{font-size:10px;line-height:1.7;color:#cecece}.architecture-copy h1{font-size:clamp(52px,5.25vw,84px);line-height:1.02;letter-spacing:-.05em;margin:32px 0 24px;max-width:620px;text-wrap:balance}.architecture-lead{max-width:370px;font-size:16px;line-height:1.7;color:#dbdbdb;margin:0 0 34px}.architecture-actions{margin-top:auto;gap:12px 22px;align-items:center}.architecture-actions .text-button{font-size:13px;gap:16px}.architecture-note{margin-top:29px;font-size:10px;letter-spacing:.015em;line-height:1.5;color:#cdcdcd}.architecture-stage{position:relative;grid-column:2;grid-row:1;inset:auto;z-index:auto;min-width:0;background:transparent;min-height:0}.architecture-slide{position:relative;inset:auto;animation:none;display:flex;flex-direction:column;height:100%}.architecture-slide:before,.architecture-slide:after{content:none}.hero-photo-link{display:block;position:relative;border-radius:10px;overflow:hidden;background:#dbdbdb;aspect-ratio:1.43;flex:1;min-height:0}.hero-photo-link img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:none;transform:none}.hero-photo-open{position:absolute;right:18px;top:18px;display:flex;align-items:center;gap:16px;padding:10px 13px;background:#fffffff5;border-radius:5px;color:#313131;font-size:12px;min-height:42px}.hero-photo-open svg{height:19px;width:19px}.architecture-caption{position:static;right:auto;bottom:auto;width:auto;max-width:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0 25px;color:#f9f9f9}.architecture-caption .eyebrow{font-size:9px;color:#cbcbcb;line-height:1.6}.architecture-caption strong{display:block;font-size:clamp(20px,1.8vw,29px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin-top:8px;max-width:430px}.architecture-caption-bottom{border:0;padding:0;gap:18px;font-size:12px;flex-shrink:0}.architecture-caption-bottom svg{width:21px;height:21px}.architecture-bottom{grid-column:1/-1;background:transparent;padding:0;min-height:74px;gap:25px}.architecture-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.architecture-tabs button{font-size:12px;padding:17px 20px;gap:14px;min-height:70px}.architecture-tabs button:first-child{padding-left:0}.architecture-tabs button+button{padding-left:22px}.architecture-controls{gap:12px}.architecture-controls button{width:44px;height:44px;border-radius:5px}.architecture-count{display:block;font-size:11px}.home-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:22px var(--gutter);border-bottom:1px solid var(--line);background:#efefef}.home-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:14px}.home-shortcuts a+a{border-left:1px solid #d5d5d5;padding-left:30px}.home-shortcuts span{color:#626262}.stats{padding-top:30px;padding-bottom:30px}.flagship-link{background:#f2f2f2;border-bottom:1px solid var(--line)}
/* Equal card sizes make scanning and comparing projects easier. */
.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 32px}.editorial-grid .project-card,.editorial-grid .project-card[data-slot]{grid-column:auto;padding-top:0}.project-image,.editorial-grid .project-card[data-slot] .project-image{aspect-ratio:1.42;border-radius:9px;overflow:hidden;background:#ebebeb}.project-image>img{filter:none;object-position:center;transition:transform .3s}.project-open:hover .project-image>img{filter:none;transform:scale(1.015)}.project-image-cta{display:none}.project-tag{top:15px;left:15px;border-radius:4px;font-size:12px;padding:8px 11px;backdrop-filter:none}.project-arrow{right:15px;bottom:15px;border-radius:5px;width:44px;height:44px}.project-meta{font-size:11px;line-height:1.5;margin-top:20px;letter-spacing:.04em;color:#636363}.project-card h3{font-size:clamp(25px,2.35vw,35px);line-height:1.15;margin-top:11px}.project-work{font-size:15px;color:#606060}.project-directions a{border-radius:4px;min-height:38px;display:inline-flex;align-items:center;font-size:12px;padding:8px 11px}.project-select{border-radius:5px}.project-card-actions>.text-button{line-height:1.5}.visual-service-photo{border-radius:8px;overflow:hidden}.visual-services{gap:40px 28px}.visual-service-copy h3{font-size:clamp(23px,2.2vw,31px);line-height:1.15}.craft-feature-photo>img{filter:none}.will-reveal{opacity:1!important;transform:none!important}
/* Compact project navigation and filters. */
.project-subnav{gap:10px;align-items:center;padding-top:12px;padding-bottom:12px;font-size:13px;scrollbar-width:thin}.project-subnav a{padding:10px 16px;min-height:44px;border:1px solid transparent;border-radius:6px}.project-subnav a[aria-current=page]{background:#eaeaea;border-color:#dadada;color:#363636}.project-subnav a:hover{background:#f1f1f1}.catalog-tools{background:#f2f2f2;border:1px solid #e1e1e1;border-radius:10px;padding:26px;margin-bottom:34px}.filter-list{gap:9px;margin-bottom:22px}.filter-button{border-radius:6px;min-height:44px;padding:11px 16px;font-size:13px}.search-field input{background:#fff;border-radius:6px;min-height:50px;font-size:16px}.catalog-refine select{border-radius:6px;min-height:50px}.catalog-more{margin-top:18px}.catalog-more summary{display:none}.catalog-more:not([open])>.catalog-refine,.catalog-more:not([open])>.catalog-tip{display:grid}.catalog-more:not([open])>.catalog-tip{display:block}.catalog-tip{margin-bottom:16px}.catalog-status{margin-top:20px;gap:16px;font-size:13px;line-height:1.5}.case-page-nav{display:flex;gap:8px;padding:12px var(--gutter);background:#f0f0f0;border-block:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.case-page-nav a{padding:11px 14px;min-height:44px;font-size:13px;border-radius:5px}.case-page-nav a[aria-current=location],.case-page-nav a:hover{background:#e6e6e6}.case-page-nav a:last-child{margin-left:auto}.museum-nav{gap:10px;scrollbar-width:thin}.museum-nav a{min-height:44px;padding:12px 14px;border-radius:5px}.museum-nav a[aria-current=location]{background:#e8e8e8}.museum-nav a:last-child{margin-left:auto}.museum-cover{border-radius:10px;overflow:hidden}.museum-cover>img{height:auto;max-height:720px;object-fit:cover;aspect-ratio:1.58}.museum-cover-metric{border-radius:6px;backdrop-filter:none}.visual-gallery .gallery-stage{height:min(64vw,650px);min-height:0;border-radius:9px;background:#ececec;touch-action:pan-y pinch-zoom}.visual-gallery .gallery-stage>img{object-fit:contain;object-position:center;animation:none}.gallery-zoom{border-radius:5px;min-height:44px}.stage-gallery-controls{border-radius:6px;gap:15px}.stage-gallery-controls button{min-width:44px;min-height:44px}.gallery-thumb{min-width:76px;min-height:58px;border-radius:5px;overflow:hidden}.gallery-ribbon{gap:20px}.gallery-hint{font-size:13px}.gallery-thumbs{scroll-padding-inline:10px}.service-cover{border-radius:9px;overflow:hidden}.service-cover img{object-fit:contain;background:#ececec}.report-photo img{filter:none}.lightbox,.report-viewer{border-radius:10px}.lightbox-close,.report-viewer-toolbar button,[data-report-step],.lightbox-nav button{min-width:44px;min-height:44px}.lightbox-image,.report-viewer-stage{touch-action:pan-y pinch-zoom}.task-cover{border-radius:9px;overflow:hidden}.task-cover>img{height:auto;max-height:620px;object-fit:cover;aspect-ratio:1.7}.case-photo-essay img{object-fit:contain;background:#ececec}.report-filters button{min-height:44px;border-radius:5px}.report-index nav a{min-height:44px;display:block;padding-block:10px}
/* Softer surfaces, readable forms and fewer competing calls to action. */
.brief-panel,.kit-summary,.preparation-list,.request-project-context{border-radius:9px}.request-step input:not([type=checkbox]),.request-step select,.request-step textarea,.callback-form input{font-size:16px;min-height:50px;border-radius:6px}.request-step label{line-height:1.6}.selection-tray{border-radius:10px}.selection-chips button{border-radius:5px;min-height:44px}.consent-banner{border-radius:10px}.site-footer{background:#202020;padding-top:70px}.footer-contact .text-button{min-height:44px}.footer-bottom{gap:16px 25px;line-height:1.6}.footer-bottom a,.footer-bottom .analytics-settings{font-size:12px;min-height:36px;display:inline-flex;align-items:center}.site-version{font-size:12px;min-height:44px}.task-link-grid>a{min-height:94px}.kit-summary small{font-size:13px}.kit-check{min-height:48px}.kit-check input{width:22px;height:22px}.kit-check strong{line-height:1.5}
@media(min-width:1500px){.architecture-hero{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.architecture-copy h1{font-size:84px}.hero-photo-link{max-height:570px}}
@media(max-width:1200px){.nav-primary{gap:18px}.header-inner{gap:20px}.brand img{width:155px}.header-contact{font-size:11px}.architecture-hero{gap:0 30px}.architecture-copy h1{font-size:clamp(46px,5.8vw,68px)}.architecture-actions{align-items:flex-start;flex-direction:column}.architecture-copy{padding-top:10px}.architecture-caption strong{font-size:24px}.architecture-caption-bottom{font-size:11px}.architecture-lead{font-size:15px}}
@media(max-width:1100px){.header-inner{min-height:74px;padding-block:13px}.header-contact{margin-left:auto;font-size:12px}.menu-toggle{display:flex;margin-left:0}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#252525;border-top:1px solid #ffffff25;margin:0;max-height:calc(100dvh - 74px);height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;padding:22px var(--gutter) calc(28px + env(safe-area-inset-bottom))}.navigation.open{display:block}.nav-primary{display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}.nav-primary>a{justify-content:space-between;font-size:24px;white-space:normal;padding:16px 0;min-height:65px;border-bottom:1px solid #ffffff24}.nav-link-arrow{display:block;font-size:18px;color:#c5c5c5}.navigation a:after{display:none}.nav-extras{display:block;margin-top:30px}.nav-extras>.eyebrow{font-size:10px;color:#c8c8c8;margin-bottom:12px}.nav-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;max-width:760px}.navigation .nav-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;min-height:48px;font-size:14px;color:#e9e9e9;line-height:1.45}.nav-phone{display:block;font-size:23px;padding:16px 0;min-height:52px;margin-top:12px}.navigation .nav-request{display:inline-flex;min-height:52px;padding:15px 20px;color:#252525;border-top:0;margin-top:10px;max-width:360px;width:100%}.navigation .nav-request svg{width:20px;height:20px}body.menu-open{overflow:hidden}.menu-open .mobile-actions{visibility:hidden;pointer-events:none}.architecture-copy h1{font-size:clamp(43px,5.4vw,60px)}.architecture-caption strong{font-size:21px}}
@media(max-width:800px){html{scroll-padding-top:88px}.header-contact{display:none}.menu-toggle{margin-left:auto}.header-inner{min-height:72px;padding-block:11px}.brand img{width:158px;height:43px}.navigation{top:100%;height:calc(100dvh - 72px);max-height:calc(100dvh - 72px)}.architecture-hero{display:flex;flex-direction:column;padding:32px var(--gutter) 0;gap:0}.architecture-copy{width:100%;padding:0;min-height:0}.architecture-copy h1{font-size:clamp(43px,7.8vw,66px);margin:22px 0 18px;max-width:620px;letter-spacing:-.045em}.architecture-copy h1 br{display:none}.architecture-copy>.eyebrow{font-size:10px}.architecture-lead{max-width:490px;font-size:15px;margin-bottom:23px;line-height:1.65}.architecture-actions{flex-direction:row;align-items:center;gap:13px 22px}.architecture-actions .button{font-size:13px;padding:15px 18px;min-height:50px}.architecture-actions .text-button{font-size:13px;gap:14px}.architecture-note{font-size:10px;margin-top:21px;margin-bottom:26px}.architecture-stage{width:100%;flex:none}.architecture-slide{height:auto}.hero-photo-link{aspect-ratio:1.46;flex:none;width:100%;min-height:0;max-height:none}.hero-photo-link img{object-fit:cover;object-position:center}.hero-photo-open{top:12px;right:12px;min-height:38px;padding:8px 10px;font-size:11px}.architecture-caption{padding:18px 0 22px;align-items:flex-end;gap:14px}.architecture-caption strong{font-size:23px;max-width:450px}.architecture-caption .eyebrow{font-size:9px}.architecture-caption-bottom{font-size:11px;flex-direction:column;align-items:flex-end;gap:10px}.architecture-bottom{width:100%;min-height:64px;gap:16px;display:flex}.architecture-tabs{display:flex;gap:0;flex:1}.architecture-tabs button{min-height:62px;padding:12px 16px!important;min-width:44px;font-size:12px;border-left:0!important;justify-content:center}.architecture-tabs button>span:first-child{font-size:12px}.architecture-tabs button>span:last-child{display:none}.architecture-controls{gap:10px}.architecture-controls button{width:44px;height:44px}.architecture-count{font-size:10px;display:block}.home-shortcuts{padding:14px var(--gutter);gap:12px}.home-shortcuts a{font-size:12px;line-height:1.5;min-height:50px}.home-shortcuts a+a{padding-left:12px}.section{padding-top:62px;padding-bottom:62px}.section-heading{margin-bottom:30px;gap:22px}.section-heading h2{font-size:clamp(33px,5.5vw,46px);line-height:1.08}.editorial-grid{gap:40px 22px}.catalog-tools{padding:22px}.project-meta{flex-wrap:wrap;gap:4px 16px}.project-meta>span{text-align:left}.catalog-more summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;font-size:14px;cursor:pointer;list-style:none;border-top:1px solid var(--line);padding-top:14px}.catalog-more summary::-webkit-details-marker{display:none}.catalog-more[open] summary>span{transform:rotate(45deg)}.catalog-more:not([open])>.catalog-refine,.catalog-more:not([open])>.catalog-tip{display:none}.catalog-refine{margin-top:18px}.catalog-status{margin-top:17px}.case-page-nav,.museum-nav{position:static;gap:5px;padding-block:10px}.case-page-nav a,.museum-nav a{font-size:12px;min-height:44px;padding:11px 12px}.case-page-nav a:last-child,.museum-nav a:last-child{margin-left:0}.museum-cover{margin:0 var(--gutter);border-radius:8px}.museum-cover>img{height:auto;max-height:none;aspect-ratio:auto}.museum-cover-metric{position:static;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:20px;background:#ededed;border-radius:0}.museum-cover-metric .eyebrow{width:100%;font-size:10px}.museum-cover-metric strong{font-size:34px;margin:0}.museum-cover-metric a{min-height:44px;display:flex;align-items:center;font-size:12px}.museum-cover figcaption{padding:14px 0;font-size:11px}.visual-gallery .gallery-stage{height:auto;min-height:0;max-height:none;overflow:hidden}.visual-gallery .gallery-stage>img{height:auto;min-height:0;max-height:70svh;object-fit:contain;aspect-ratio:auto}.stage-gallery-controls{position:static;justify-content:space-between;padding:10px 14px;border-radius:0;background:#e7e7e7;color:var(--ink);width:100%;transform:none;margin:0}.stage-gallery-controls button{background:#f9f9f9;border:1px solid #c0c0c0;border-radius:5px}.gallery-position{position:static!important;inset:auto!important;color:var(--ink)}.gallery-ribbon{padding-top:18px}.gallery-ribbon>p>.eyebrow{display:none}.gallery-hint{font-size:12px;line-height:1.5}.gallery-thumbs{margin-top:15px}.service-cover img{height:auto;max-height:70svh;min-height:0}.task-cover>img{height:auto;max-height:none;aspect-ratio:auto}.case-photo-essay img,.case-photo-essay figure:nth-child(2) img{height:auto;max-height:70svh;aspect-ratio:auto}.lightbox,.report-viewer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}}
@media(max-width:600px){.nav-primary{grid-template-columns:1fr}.nav-primary>a{font-size:23px;min-height:58px;padding:13px 0}.nav-extras{margin-top:25px}.nav-shortcuts{gap:0 18px}.navigation .nav-shortcuts a{font-size:13px;min-height:52px;padding:10px 0}.nav-phone{font-size:23px;margin-top:14px}.architecture-copy h1{font-size:clamp(40px,9.9vw,58px);line-height:1.06;max-width:470px}.architecture-lead{max-width:400px}.architecture-actions{gap:8px 20px}.architecture-actions .text-button{font-size:12px}.architecture-note{font-size:9px}.architecture-caption strong{font-size:21px}.architecture-caption-bottom{font-size:11px}.architecture-count{display:none}.architecture-controls{gap:8px}.home-shortcuts{grid-template-columns:1fr;padding-block:10px;gap:0}.home-shortcuts a{font-size:14px;min-height:48px}.home-shortcuts a+a{border-left:0;border-top:1px solid #dcdcdc;padding-left:0}.stats{padding-block:25px}.stats strong{font-size:42px}.stats p{font-size:12px;line-height:1.5}.stats-geography strong{font-size:28px}.flagship-link{padding:28px var(--gutter);gap:22px}.flagship-link h2{font-size:27px;line-height:1.2}.flagship-link p:not(.eyebrow){font-size:14px}.flagship-link .button{width:100%;font-size:13px;gap:14px}.editorial-grid,.project-grid{grid-template-columns:1fr;gap:38px}.project-image,.editorial-grid .project-card[data-slot] .project-image{aspect-ratio:1.36}.project-card h3{font-size:28px;line-height:1.15}.project-meta{font-size:11px;margin-top:17px}.project-work{font-size:14px;line-height:1.7}.project-directions{gap:7px;margin:15px 0}.project-directions a{font-size:12px;min-height:40px}.project-card-actions{gap:8px}.project-card-actions>.text-button{font-size:12px}.project-select{font-size:12px;min-height:46px}.section-heading h2{font-size:36px;overflow-wrap:break-word}.page-intro{padding-top:34px;padding-bottom:32px}.intro-grid{gap:22px}.intro-grid h1{font-size:clamp(34px,9.8vw,48px);line-height:1.08}.intro-grid>p{font-size:15px;line-height:1.7}.project-subnav{gap:6px;padding-block:10px}.project-subnav a{font-size:12px;padding:10px 13px}.catalog-section{padding-top:24px}.catalog-tools{padding:17px;border-radius:8px;margin-bottom:28px}.filter-list{gap:8px;margin-bottom:18px;scroll-padding:10px;padding-bottom:10px}.filter-button{font-size:13px;padding:10px 13px;min-height:44px;gap:9px}.catalog-status{align-items:flex-start;flex-wrap:wrap;gap:8px}.catalog-status p{font-size:12px}.catalog-status .text-button{font-size:12px;padding:8px 0}.catalog-refine{grid-template-columns:1fr;gap:16px}.catalog-tip{font-size:12px;line-height:1.6}.search-field>span{font-size:12px}.visual-services{gap:20px}.visual-service{grid-template-columns:95px minmax(0,1fr);gap:20px;padding-block:18px;border-bottom:1px solid var(--line)}.visual-service-photo{min-height:145px}.visual-service-copy h3{font-size:23px;line-height:1.15}.visual-service-copy>p{font-size:14px;line-height:1.6}.case-intro{padding-top:32px;padding-bottom:26px}.case-intro h1{font-size:clamp(35px,9.2vw,48px);line-height:1.1}.museum-heading h1{font-size:clamp(35px,9.2vw,48px);line-height:1.08}.museum-opening{padding-top:30px;padding-bottom:26px}.museum-heading>div{margin-top:22px}.museum-heading>div p{font-size:15px;line-height:1.7}.case-selection{padding-top:14px;padding-bottom:18px;gap:10px 15px}.case-selection>.text-button{font-size:12px}.project-gallery{padding-top:20px}.gallery-zoom{top:10px;right:10px;min-height:42px;font-size:12px;background:#ffffffed;backdrop-filter:none}.gallery-ribbon{display:block}.gallery-thumb{width:76px;flex:0 0 76px}.gallery-thumbs{display:flex;overflow-x:auto;gap:9px;padding-bottom:7px}.case-metrics{gap:22px}.case-metrics strong{font-size:44px}.case-metrics>div+div strong{font-size:28px}.detail-explorer{overflow:hidden}.task-intro h1{font-size:clamp(35px,9.4vw,48px)}.task-related .section-heading h2{font-size:32px}.task-lead>p{font-size:16px}.brief-panel{padding:24px}.numbered-list li{font-size:18px}.kit-summary{padding:25px}.kit-form{gap:10px}.kit-options fieldset{margin-bottom:30px}.request-steps{gap:10px}.request-step legend{font-size:29px}.request-step label{font-size:15px}.selection-tray{border-radius:10px 10px 0 0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.selection-heading button{min-height:44px}.selection-chips button{min-height:40px}.selection-bottom .button{min-height:46px}.mobile-actions{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:9px;background:#fffffff5;border-color:#dcdcdc}.mobile-actions>a{min-height:46px;font-size:12px;border-radius:5px;gap:10px}.mobile-actions svg{width:17px;height:17px}.footer-top h2{font-size:54px}.site-footer{padding-top:46px}.footer-contact .phone{font-size:27px}.footer-contact .contact-email{font-size:23px}.footer-bottom{column-gap:23px;row-gap:9px}.footer-bottom a,.footer-bottom .analytics-settings{font-size:12px;min-height:40px}.footer-bottom>.footer-brand{width:100%;padding-bottom:15px}.site-version{margin-top:10px;padding-top:10px}.consent-banner{left:12px;right:12px;bottom:12px;padding:20px;max-height:calc(100dvh - 96px);overflow:auto}.consent-banner p{font-size:13px;line-height:1.6}.consent-actions .button{font-size:13px;min-height:48px}.focused-page .page-intro{padding-top:30px}}
@media(max-width:350px){.architecture-copy h1{font-size:39px}.architecture-actions{flex-direction:column;align-items:stretch;gap:5px}.architecture-actions .text-button{align-self:flex-start}.architecture-caption strong{font-size:20px}.hero-photo-open{min-height:36px;font-size:10px}.architecture-note{font-size:9px;letter-spacing:0}.visual-service{grid-template-columns:80px minmax(0,1fr);gap:16px}.section-heading h2{font-size:32px}.footer-top h2{font-size:49px}.nav-primary>a{font-size:22px}.navigation .nav-shortcuts a{font-size:12px}.project-card-actions{align-items:flex-start;flex-direction:column}.project-card-actions>.text-button{font-size:12px}.case-page-nav a{font-size:12px}.museum-cover-metric strong{font-size:31px}}
@media(prefers-reduced-motion:reduce){.project-image>img,.menu-toggle span{transition:none}}
@media print{.home-shortcuts,.case-page-nav,.museum-nav{display:none}.architecture-hero{display:block;background:white;color:black}.architecture-stage{position:static}.architecture-copy{width:100%}.architecture-bottom{display:none}}

.menu-open .consent-banner{visibility:hidden;pointer-events:none}.architecture-stage{touch-action:pan-y pinch-zoom}

.architecture-caption-bottom svg{position:static;inset:auto;flex-shrink:0}.architecture-caption{border-top:0}
@media(max-width:600px){.architecture-actions>.text-button{display:none}.architecture-note{margin-top:19px;margin-bottom:23px}.architecture-copy h1{margin-top:19px}.architecture-hero{padding-top:28px}.visual-gallery .gallery-stage{height:min(95vw,520px);min-height:270px}.visual-gallery .gallery-stage>img{height:100%;width:100%;max-height:none;object-fit:contain}.stage-gallery-controls{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:#e7e7e7f0}.visual-gallery .gallery-stage{padding-bottom:60px}.visual-gallery .gallery-stage>img{height:100%}}
@media(min-width:801px){.catalog-tools{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);column-gap:30px;align-items:start}.catalog-tools>.filter-list{grid-column:1/-1}.catalog-tools>.search-field{grid-column:1;max-width:none;width:100%;margin:0}.catalog-tools>.catalog-more{grid-column:2;margin-top:0}.catalog-more .catalog-refine{margin-top:0;gap:16px}.catalog-tools>.catalog-status{grid-column:1/-1;border-top:1px solid #dcdcdc;padding-top:14px;margin-top:8px}.catalog-more .catalog-tip{font-size:12px;margin:12px 0}}
.gallery-ribbon .gallery-thumb{height:66px;min-height:66px;max-height:66px;align-self:flex-start}.gallery-ribbon .gallery-thumb img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.visual-gallery .gallery-stage>img,.lightbox-image,.report-viewer-stage img{object-fit:scale-down}

/* Native controls follow the monochrome brand palette. */
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--ink)}

/* Text-only cases use a neutral brand cover until real project photos are added. */
.project-cover-placeholder{object-fit:contain!important;background:#ededed}.case-summary{margin:0 var(--gutter) 32px;padding:42px;background:#eeeeee;border-radius:9px}.case-summary>p:last-child{font-size:clamp(22px,3vw,38px);line-height:1.35;max-width:1000px;margin-top:20px}.case-narrative-story p{white-space:pre-line}@media(max-width:600px){.case-summary{padding:24px;margin-bottom:20px}.case-summary>p:last-child{font-size:23px}}

/* Calm, concise home and readable building scopes. */
.home-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.home-direction-grid>a{display:grid;grid-template-columns:1fr 22px;gap:18px;padding:25px 24px 25px 0;border-bottom:1px solid var(--line);min-height:145px}
.home-direction-grid .eyebrow{grid-column:1/-1}.home-direction-grid strong{font-size:24px;font-weight:500;line-height:1.3}.home-direction-grid svg{width:22px;align-self:end}
.home-materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:35px var(--gutter);background:#eeeeee}.home-materials a{display:grid;gap:14px}.home-materials strong{font-size:20px;font-weight:500}.home-materials span{font-size:14px;line-height:1.6;color:#595959}
.home-projects{padding-bottom:48px}.home-directions{padding-top:35px}.home-directions .section-heading{margin-bottom:32px}
.building-scope{border-top:1px solid var(--line);scroll-margin-top:95px}.building-scope .section-heading{margin-bottom:28px}.building-scope .section-heading>p{max-width:300px;line-height:1.7;color:#666}.building-common{max-width:850px;font-size:18px;line-height:1.8;margin-bottom:32px}
.building-list{border-top:1px solid var(--line)}.building-item{border-bottom:1px solid var(--line)}.building-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:24px 0;list-style:none;font-size:25px}.building-item summary::-webkit-details-marker{display:none}.building-more{display:flex;align-items:center;gap:24px;font-size:13px;color:#666}.building-more b{font-size:25px;font-weight:400;transition:transform .2s}.building-item[open] .building-more b{transform:rotate(45deg)}.building-item>div{padding:0 40px 28px 0;max-width:850px;font-size:18px;line-height:1.8}
.photo-shortcut{margin:0 var(--gutter) 28px;padding:20px 25px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;background:#eeeeee}.photo-shortcut p{margin:0}
.callback-photo-link{display:block;margin:24px 0 12px;font-size:17px}
@media(max-width:800px){.home-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-direction-grid>a{padding:22px 15px 22px 0;min-height:130px}.home-direction-grid strong{font-size:20px}.home-materials{grid-template-columns:1fr;gap:0}.home-materials a{padding:22px 0}.home-materials a+a{border-top:1px solid #d1d1d1}.home-materials strong{font-size:20px}.building-item summary{font-size:23px}.building-more{gap:14px;font-size:12px}.building-common,.building-item>div{font-size:16px}.building-item>div{padding-right:10px}.building-scope .section-heading{gap:20px}.home-projects{padding-bottom:35px}}
@media(max-width:600px){.project-image img,.hero-photo-link img{object-position:var(--photo-mobile,50% 50%)}.project-image img[data-photo="restaurant"],.hero-photo-link img[data-photo="restaurant"]{object-fit:contain;background:#eeeeee}.home-directions h2{font-size:34px}.home-direction-grid strong{font-size:18px}}
@media(prefers-reduced-motion:no-preference){.architecture-slide:not([hidden]) .hero-photo-link img{animation:photo-arrive .32s ease-out}@keyframes photo-arrive{from{opacity:.45}to{opacity:1}}}
/* Photo enquiry */
.photo-request-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9vw;padding-top:10px}.photo-guidance{max-width:390px}.photo-guidance ol{list-style:none;padding:0;counter-reset:photo-help;margin:26px 0}.photo-guidance li{counter-increment:photo-help;display:grid;grid-template-columns:32px 1fr;gap:6px 12px;padding:20px 0;border-top:1px solid var(--line)}.photo-guidance li:before{content:'0' counter(photo-help);font-size:12px;color:#777;grid-row:1/3;align-self:start;margin-top:4px}.photo-guidance strong{font-size:21px;font-weight:500}.photo-guidance li span,.photo-guidance>p:not(.eyebrow){font-size:15px;line-height:1.75;color:#666}.photo-guidance>a{margin-top:26px}
.photo-form-panel{min-width:0}#photo-request-form fieldset{border:0;padding:0;margin:0;min-width:0}#photo-request-form legend{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}#photo-request-form label:not(.check-line):not(.callback-trap){display:block;font-size:15px;margin:22px 0 0}#photo-request-form input:not([type=checkbox]):not([type=file]),#photo-request-form textarea{display:block;width:100%;font:inherit;border:1px solid #c7c7c7;background:white;padding:15px;margin-top:9px;border-radius:4px}#photo-request-form input[type=tel]{font-size:22px}#photo-request-form textarea{resize:vertical;min-height:110px}#photo-request-form .check-line{display:flex;align-items:flex-start;gap:12px;margin-top:25px;font-size:13px;line-height:1.7}#photo-request-form .check-line input{width:18px;height:18px;min-height:0;padding:0;margin:3px 0 0;flex:0 0 18px}#photo-request-form .check-line span{min-width:0}#photo-request-form .callback-trap{display:none}#photo-request-form .check-line a{text-decoration:underline}
.photo-upload{padding:30px;background:#eeeeee;border:1px dashed #b8b8b8;border-radius:8px}.photo-upload.is-dragging{border-color:#252525;background:#e0e0e0}.photo-upload h2{font-size:27px;line-height:1.2;margin-bottom:14px}.photo-upload p{font-size:13px;line-height:1.7;color:#666}.photo-upload-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:22px 0 12px}.photo-upload-actions .button{font-size:13px;gap:12px;padding:15px 18px}.photo-upload-actions .text-button{font-size:13px;min-height:44px}.photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:18px 0 0}.photo-previews:empty{margin:0}.photo-previews li{min-width:0;border:1px solid var(--line);border-radius:5px;overflow:hidden}.photo-previews img{display:block;width:100%;height:115px;object-fit:contain;background:#ededed}.photo-previews p{margin:9px 10px 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-previews button{display:block;font:inherit;font-size:12px;background:white;border:0;padding:12px 10px;text-align:left;min-height:44px;text-decoration:underline;cursor:pointer;width:100%}.photo-total{font-size:13px;color:#666;margin:16px 0 24px}.photo-extra{margin-top:25px;border-block:1px solid var(--line)}.photo-extra summary{cursor:pointer;padding:17px 0;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:14px}.photo-extra summary::-webkit-details-marker{display:none}.photo-extra>div{padding:0 0 22px}.photo-submit{width:100%;justify-content:space-between;margin-top:25px}.photo-private{font-size:12px;color:#666;line-height:1.7;margin-top:14px}#photo-send-status{font-size:15px;line-height:1.7;margin-top:18px}#photo-file-status:not(:empty){color:#9b332c;font-weight:500}.photo-success{background:#eeeeee;padding:35px;border-radius:8px}.photo-success h2{font-size:42px;line-height:1.15;margin:22px 0}.photo-success p:not(.eyebrow){font-size:16px;line-height:1.8;margin:18px 0;overflow-wrap:anywhere}.photo-success .button{margin-top:12px}.photo-success>.text-button{display:block;margin-top:22px;font-size:13px}
@media(max-width:800px){.photo-request-layout{grid-template-columns:1fr;gap:36px}.photo-form-panel{grid-row:1}.photo-guidance{max-width:none}.photo-guidance ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-guidance li{grid-template-columns:1fr}.photo-guidance li:before{grid-row:auto}.photo-guidance strong{font-size:18px}}
@media(max-width:500px){.photo-intro .intro-grid{gap:22px}.photo-request-layout{padding-top:0}.photo-upload{padding:22px}.photo-upload h2{font-size:25px}.photo-upload-actions{gap:8px}.photo-upload-actions .button{width:100%;justify-content:center}.photo-upload-actions .text-button{width:100%;justify-content:center}.photo-drop-hint{display:none}.photo-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-guidance ol{grid-template-columns:1fr;gap:0}.photo-guidance li{grid-template-columns:28px 1fr}.photo-guidance li:before{grid-row:1/3}.photo-success{padding:25px}.photo-success h2{font-size:33px}.photo-submit{font-size:14px;gap:10px}}

/* Release 11: photography, clear hierarchy and one contact entry point. */
.portfolio-hero{background:#f3f2ef;color:#252525;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:0 5vw;padding-top:54px}
.portfolio-hero .architecture-copy{padding:20px 0 36px}.portfolio-hero .architecture-copy h1{font-size:clamp(48px,5vw,78px);line-height:1.02;font-weight:400;letter-spacing:-.055em;margin:28px 0}
.portfolio-hero .architecture-copy>.eyebrow,.portfolio-hero .architecture-lead,.portfolio-hero .architecture-note{color:#555}.portfolio-hero .architecture-lead{max-width:410px;font-size:17px;line-height:1.7}.portfolio-hero .architecture-actions .button{background:#252525;color:#fff;border-color:#252525}.portfolio-hero .architecture-actions .text-button{color:#252525}
.portfolio-hero .hero-photo-link{border-radius:2px;aspect-ratio:1.3;min-height:370px;max-height:560px}.portfolio-hero .hero-photo-open{border-radius:2px}.portfolio-hero .architecture-caption{color:#252525;padding:22px 0}.portfolio-hero .architecture-caption .eyebrow{color:#626262}.portfolio-hero .architecture-caption strong{font-size:clamp(21px,2vw,29px)}.portfolio-hero .architecture-caption-bottom{color:#252525}.portfolio-hero .architecture-bottom{border-top:1px solid #cececa}.portfolio-hero .architecture-tabs button{color:#666;border-color:#d0d0cd}.portfolio-hero .architecture-tabs button[aria-selected=true]{color:#252525;background:#e7e6e2;box-shadow:inset 0 2px #252525}.portfolio-hero .architecture-tabs button:first-child{padding-left:18px}.portfolio-hero .architecture-controls button{border-color:#bcbcb8;color:#252525}.portfolio-hero .architecture-controls button:hover{background:#252525;color:white}.portfolio-hero .architecture-count{color:#555}.portfolio-hero .availability-dot{background:#555}
.home-shortcuts{background:#fff}.home-projects .project-grid{gap:52px 34px}.project-image,.editorial-grid .project-card[data-slot] .project-image{border-radius:2px;aspect-ratio:1.5}.project-card h3{font-weight:400;letter-spacing:-.03em}.project-meta{letter-spacing:.015em}.project-tag{background:#fff;color:#252525;border-radius:2px}.project-arrow{background:#fff;color:#252525;border-radius:2px}.project-directions a{background:transparent;border:0;padding:4px 0;margin-right:14px;min-height:32px;border-bottom:1px solid #dedede;border-radius:0}.project-card-actions{gap:14px;align-items:center}.project-select{font-size:12px;min-height:44px;padding:9px 12px}.project-card-actions>.text-button{font-size:12px}
body[data-page="projects.html"] .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 26px}body[data-page="projects.html"] .project-card h3{font-size:27px}body[data-page="projects.html"] .project-work{font-size:14px;line-height:1.6}
.case-scope-lead{font-size:clamp(18px,1.8vw,25px);line-height:1.6;max-width:820px;margin:26px 0;color:#555}.case-intro h1{font-weight:400}.museum-heading h1{font-weight:400}.museum-cover{border-radius:2px}.gallery-credit{padding-inline:var(--gutter);font-size:12px;line-height:1.6;color:#656565;margin:14px 0 0}.gallery-credit:empty{display:none}.case-page-nav,.museum-nav{background:#f4f3f0}
body[data-page="projects/burny.html"] .gallery-stage{height:min(62vw,740px);background:#e9e7e3}body[data-page="projects/restaurant.html"] .gallery-stage{height:min(73vw,740px);background:#f0eee8}body[data-page="projects/restaurant.html"] .case-intro{max-width:1100px}.visual-gallery .gallery-stage{border-radius:2px}
.period-comparison{background:#f3f2ef;border-top:1px solid #deddd9}.period-comparison .section-heading>p{max-width:430px;line-height:1.7;color:#626262;font-size:16px}.period-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.period-panel{min-width:0}.period-panel label{display:block;font-size:13px;color:#555}.period-panel select{display:block;width:100%;min-width:0;padding:15px 32px 15px 12px;font:inherit;font-size:16px;margin:10px 0 22px;border:1px solid #c3c3be;border-radius:3px;background:white;color:#252525;text-overflow:ellipsis}.period-panel figure{margin:0}.period-panel img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;background:#e5e4e0}.period-panel figcaption{padding:22px 0}.period-panel strong{font-weight:400;font-size:25px}.period-panel p{font-size:15px;line-height:1.6;margin:12px 0}.period-panel span,.period-panel small{display:block;font-size:12px;color:#666;line-height:1.7}.period-comparison>.text-button{margin-top:12px;border:0;background:transparent;cursor:pointer;font:inherit;font-size:14px}
.contact-open{overflow:hidden}.contact-dialog{color:#252525;background:#fff;width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:42px;border:0;border-radius:8px;overflow:auto;box-shadow:0 20px 100px #0004}.contact-dialog::backdrop{background:#161616a8}.contact-dialog h2{font-size:clamp(29px,4vw,43px);line-height:1.1;letter-spacing:-.04em;font-weight:400;margin:15px 0 20px}.contact-close{display:block;margin:-22px -20px 16px auto;min-height:44px;padding:10px 14px;cursor:pointer;border:0;background:transparent;font:inherit;font-size:13px}.contact-context{font-size:14px;color:#626262;line-height:1.7;margin-bottom:25px}.contact-options{border-top:1px solid #ddd}.contact-options>a{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid #ddd;min-height:95px}.contact-options>a:hover{background:#f5f5f3}.contact-option-number{font-size:11px;color:#777;align-self:start;margin-top:5px}.contact-options strong{display:block;font-size:21px;line-height:1.25;font-weight:400}.contact-options div>span{display:block;color:#666;font-size:13px;line-height:1.65;margin-top:7px}.contact-options svg{width:22px;height:22px}.contact-email-link{display:inline-block;font-size:15px;padding:18px 0 0;min-height:44px}.photo-project-context{padding:18px 20px;background:#f0efeb;font-size:15px;line-height:1.6;margin-bottom:22px;border-left:2px solid #252525}
@media(min-width:1600px){.portfolio-hero .hero-photo-link{min-height:470px}}
@media(max-width:1100px){.portfolio-hero{gap:0 30px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.portfolio-hero .architecture-copy h1{font-size:52px}.portfolio-hero .hero-photo-link{min-height:340px}.portfolio-hero .architecture-caption{display:block}.portfolio-hero .architecture-caption-bottom{margin-top:14px}.portfolio-hero .architecture-lead{font-size:16px}body[data-page="projects.html"] .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.portfolio-hero{display:grid;grid-template-columns:1fr;padding-top:26px;gap:0}.portfolio-hero .architecture-copy{grid-column:1;grid-row:1;padding:4px 0 28px}.portfolio-hero .architecture-copy h1{font-size:clamp(43px,8vw,65px);max-width:620px;margin:22px 0}.portfolio-hero .architecture-lead{max-width:550px}.portfolio-hero .architecture-stage{grid-column:1;grid-row:2}.portfolio-hero .hero-photo-link{aspect-ratio:1.5;min-height:0;max-height:none}.portfolio-hero .architecture-caption{display:flex}.portfolio-hero .architecture-caption-bottom{margin:0}.portfolio-hero .architecture-bottom{grid-row:3}.portfolio-hero .architecture-note{margin-top:20px}.period-panels{gap:20px}.period-panel strong{font-size:22px}.home-projects .project-grid{gap:36px 22px}.case-scope-lead{font-size:19px}}
@media(max-width:600px){.portfolio-hero .architecture-copy h1{font-size:clamp(42px,10.5vw,60px)}.portfolio-hero .architecture-lead{font-size:15px;line-height:1.7;margin-bottom:23px}.portfolio-hero .architecture-copy>.eyebrow{font-size:9px}.portfolio-hero .architecture-caption{gap:12px;align-items:flex-end}.portfolio-hero .architecture-caption strong{font-size:21px}.portfolio-hero .architecture-caption-bottom{font-size:11px}.portfolio-hero .architecture-tabs button:first-child{padding-left:12px}.portfolio-hero .architecture-tabs button{min-height:52px}.period-panels{grid-template-columns:1fr;gap:22px}.period-panel figcaption{padding:16px 0 0}.period-panel select{margin-bottom:14px}.period-comparison>.text-button{margin-top:26px}.contact-dialog{padding:25px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}.contact-close{margin:-12px -12px 7px auto}.contact-options>a{gap:12px;padding:20px 0;grid-template-columns:18px minmax(0,1fr) 20px}.contact-options strong{font-size:19px}.contact-options div>span{font-size:13px}.contact-dialog h2{font-size:32px}.contact-dialog .eyebrow{font-size:10px}body[data-page="projects.html"] .project-grid{grid-template-columns:1fr}.home-projects .project-grid{gap:38px}.project-card-actions{flex-wrap:wrap}.gallery-credit{font-size:11px}.case-scope-lead{font-size:17px}.mobile-actions a{min-height:54px}.museum-nav{gap:2px}}

/* Object stories and clear, compact explanations. */
.case-chapters{background:#f5f4f1}.case-chapters .section-heading>p,.service-guide .section-heading>p{max-width:420px;line-height:1.7;color:#626262;font-size:17px}.case-chapter{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:6vw;margin-top:60px}.chapter-photo{position:relative;display:block;padding:0;border:0;cursor:zoom-in;background:#e4e3df;width:100%;overflow:hidden}.chapter-photo img{display:block;width:100%;height:auto;max-height:660px;object-fit:contain}.chapter-photo>span{position:absolute;right:14px;bottom:14px;padding:12px 16px;background:#fff;font-size:12px;min-height:44px}.case-chapter h3{font-size:clamp(28px,3vw,43px);line-height:1.1;font-weight:400;letter-spacing:-.04em;margin:18px 0}.case-chapter p:not(.eyebrow){font-size:17px;line-height:1.75;color:#5b5b5b}.case-chapter small{display:block;font-size:11px;line-height:1.6;color:#666;margin-top:22px}.case-chapter:nth-child(odd){grid-template-columns:minmax(0,1fr) minmax(0,1.65fr)}.case-chapter:nth-child(odd) .chapter-photo{grid-column:2;grid-row:1}.case-chapter:nth-child(odd)>div{grid-column:1;grid-row:1}.chapters-burny{background:#eae9e4}.chapters-burny .case-chapter:first-of-type{display:block}.chapters-burny .case-chapter:first-of-type>div{max-width:670px;margin-top:32px}.chapters-burny .case-chapter:first-of-type img{max-height:760px}.chapters-restaurant .case-chapter:last-child{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.chapters-restaurant .case-chapter:last-child .chapter-photo{max-width:540px}.chapters-restaurant{background:#eeeae1}
.project-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;background:white;border-top:1px solid var(--line)}.project-evidence h2,.field-team h2,.survey-film h2{font-weight:400;font-size:clamp(34px,4.3vw,61px);letter-spacing:-.04em;line-height:1.08;margin:20px 0 26px}.project-evidence p:not(.eyebrow){max-width:460px;font-size:16px;line-height:1.75;color:#626262}.project-evidence dl{margin:0 0 28px}.project-evidence dl>div{padding:18px 0;border-top:1px solid var(--line)}.project-evidence dt{font-size:12px;color:#737373;margin-bottom:12px}.project-evidence dd{margin:0;font-size:19px;line-height:1.5}.project-pdf-status:empty{display:none}.project-evidence .text-button{margin-top:15px;font-size:13px}
.service-guide{background:#f3f2ef;border-top:1px solid var(--line)}.service-guide-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6vw;align-items:start}.guide-diagram{margin:0;position:sticky;top:110px}.guide-diagram svg{display:block;width:100%;height:auto;background:#fff}.guide-diagram figcaption{font-size:12px;line-height:1.7;color:#666;padding-top:17px}.guide-diagram [data-guide-part]{opacity:.3;transition:opacity .2s}.guide-diagram[data-guide-active="0"] [data-guide-part="0"],.guide-diagram[data-guide-active="1"] [data-guide-part="1"],.guide-diagram[data-guide-active="2"] [data-guide-part="2"]{opacity:1}.guide-step{border-top:1px solid #cac9c5}.guide-step:last-of-type{border-bottom:1px solid #cac9c5}.guide-step summary{display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:18px;align-items:center;list-style:none;padding:23px 0;font-size:24px;line-height:1.2;cursor:pointer;min-height:70px}.guide-step summary::-webkit-details-marker{display:none}.guide-step summary>span{font-size:11px;color:#777}.guide-step summary>b{font-size:21px;font-weight:400}.guide-step[open] summary>b{transform:rotate(45deg)}.guide-step>p{padding:0 26px 23px 42px;margin:0;line-height:1.8;font-size:16px;color:#555}.guide-inputs{font-size:14px;line-height:1.8;margin:25px 0;color:#626262}
.survey-film{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6vw;align-items:center;background:#272727;color:white}.survey-film p:not(.eyebrow){font-size:16px;line-height:1.75;color:#d2d2d2}.survey-film .film-caption{font-size:12px!important;margin-top:20px}.film-player{min-width:0}.film-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#151515}.survey-film .eyebrow{color:#c7c7c7}.field-team{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8vw;align-items:center}.field-team-photo img{display:block;width:100%;max-height:680px;object-fit:contain;background:#eee}.field-team-photo p{font-size:12px;color:#666;line-height:1.5;margin-top:14px}.field-team-lead{font-size:18px;line-height:1.7;color:#626262}.field-team dl{margin:30px 0}.field-team dl>div{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;border-top:1px solid var(--line);padding:20px 0}.field-team dt{font-size:18px;line-height:1.4}.field-team dd{margin:0;font-size:14px;line-height:1.7;color:#626262}.team-teaser{padding:45px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:#eeede8}.team-teaser h2{font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.035em;line-height:1.15;margin-top:15px}.team-teaser .text-button{font-size:13px}
.gallery-stage:focus-visible{outline:2px solid #666;outline-offset:4px}.chapter-photo:focus-visible{outline:3px solid #666;outline-offset:4px}
@media(max-width:800px){.case-chapter,.case-chapter:nth-child(odd),.chapters-restaurant .case-chapter:last-child{grid-template-columns:1fr;gap:25px;margin-top:38px}.case-chapter:nth-child(odd) .chapter-photo,.case-chapter:nth-child(odd)>div{grid-column:auto;grid-row:auto}.chapters-restaurant .case-chapter:last-child .chapter-photo{max-width:none}.case-chapter img{max-height:560px}.case-chapter h3{font-size:32px;margin:12px 0}.case-chapter p:not(.eyebrow){font-size:16px}.case-chapter small{margin-top:13px}.project-evidence,.survey-film,.field-team,.service-guide-grid{grid-template-columns:1fr;gap:30px}.guide-diagram{position:static;max-width:600px}.guide-diagram svg{max-height:310px}.field-team-photo{max-width:560px}.field-team-photo img{max-height:470px}.field-team>div:last-child{grid-row:1}.survey-film h2{font-size:40px}.project-evidence h2,.field-team h2{font-size:40px}.field-team dl>div{grid-template-columns:1fr 1.2fr}.team-teaser{gap:22px}.team-teaser .button{font-size:13px}.guide-step summary{font-size:22px}.service-guide .section-heading>p,.case-chapters .section-heading>p{font-size:15px}}
@media(max-width:400px){.guide-step summary{font-size:20px;gap:12px}.guide-step>p{padding-left:0;font-size:15px}.project-evidence h2,.field-team h2,.survey-film h2{font-size:34px}.field-team dl>div{grid-template-columns:1fr;gap:8px}.project-evidence .button{font-size:13px;width:100%;justify-content:center}.chapter-photo>span{font-size:11px;padding:11px;bottom:9px;right:9px}.team-teaser .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.guide-diagram [data-guide-part]{transition:none}}

/* Clear routes into an enquiry; all project facts come from the same CMS. */
.home-entry-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 var(--gutter);background:#eae8e2;border-bottom:1px solid #d5d2ca}
.home-entry-paths>a{display:flex;gap:20px;padding:32px 26px 32px 0;min-height:190px;transition:background .15s}
.home-entry-paths>a+a{border-left:1px solid #ccc9c0;padding-left:30px}
.entry-number{font-size:12px;color:#73716b;padding-top:7px}.entry-copy{display:flex;flex-direction:column;min-width:0;gap:12px}.entry-copy strong{font-size:clamp(20px,2vw,28px);font-weight:500;line-height:1.2;letter-spacing:-.025em}.entry-copy>span{font-size:14px;line-height:1.65;color:#57564f;max-width:275px}.entry-copy b{display:flex;align-items:center;gap:20px;font-weight:500;font-size:14px;margin-top:auto;padding-top:6px}.entry-copy svg{width:20px;height:20px;flex:0 0 20px}.home-entry-paths>a:hover .entry-copy b{text-decoration:underline;text-underline-offset:5px}
.home-proof{padding-bottom:48px}.home-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px}.proof-card{min-width:0;background:#f0eee9}.proof-image{display:block;position:relative;overflow:hidden;background:#e3e2dc}.proof-image img{display:block;width:100%;height:350px;object-fit:cover;object-position:var(--photo-mobile,50% 50%)}.proof-image>span{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:18px;padding:13px 15px;background:#fff;font-size:12px;min-height:44px}.proof-image svg{width:18px;height:18px}.proof-image img[data-photo="restaurant"]{object-fit:contain;background:#e9e6dd}.proof-copy{padding:30px}.proof-copy h3{font-size:clamp(27px,2.8vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:15px 0 20px}.proof-copy h3 a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.proof-work{font-size:16px;line-height:1.75;color:#50504c;margin:0 0 24px}.proof-copy dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0;border-top:1px solid #d4d1c8;padding-top:20px}.proof-copy dt{font-size:11px;line-height:1.5;color:#696761;margin-bottom:9px}.proof-copy dd{font-size:19px;line-height:1.45;margin:0}.proof-result{margin:22px 0 0;padding-top:20px;border-top:1px solid #d4d1c8;font-size:14px;line-height:1.7;color:#4e4e49}.proof-result>span{display:block;font-size:11px;color:#696761;margin-bottom:8px}.proof-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:#e7e5de}.proof-featured .proof-image{height:100%;min-height:470px}.proof-featured .proof-image img{height:100%;position:absolute;inset:0}.proof-featured .proof-copy{padding:40px;align-self:center}.proof-featured .proof-copy h3{font-size:clamp(32px,3.5vw,48px)}
.project-brief{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:30px;padding-bottom:30px;background:#eeece6;border-top:1px solid #d7d4cb}.project-brief dl{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:0}.project-brief dt{font-size:11px;line-height:1.5;color:#68665f;margin-bottom:14px}.project-brief dd{font-size:clamp(21px,2.5vw,34px);line-height:1.3;letter-spacing:-.03em;margin:0}.project-brief-result{border-left:1px solid #cbc8bf;padding-left:35px}.project-brief-result>p:last-child{font-size:16px;line-height:1.75;margin-top:14px;color:#464640}.project-evidence .project-pdf-status{margin:18px 0}.compare-table td{white-space:pre-line}.compare-table .compare-not-specified{color:#75716a;font-size:13px}
@media(max-width:1100px){.home-entry-paths>a{gap:12px;padding-right:18px}.home-entry-paths>a+a{padding-left:18px}.proof-featured .proof-copy{padding:30px}.proof-image img{height:300px}.project-brief{gap:25px}.project-brief-result{padding-left:25px}}
@media(max-width:800px){.home-entry-paths{grid-template-columns:1fr}.home-entry-paths>a,.home-entry-paths>a+a{border-left:0;padding:24px 0;min-height:0;gap:20px}.home-entry-paths>a+a{border-top:1px solid #ccc9c0}.entry-copy{width:100%;display:grid;grid-template-columns:1fr auto;gap:8px 16px}.entry-copy strong{font-size:23px}.entry-copy>span{grid-column:1;max-width:none}.entry-copy b{grid-column:2;grid-row:1/3;align-self:center;margin:0;padding:0;font-size:12px;gap:10px}.home-proof-grid{gap:28px}.proof-featured{display:block}.proof-featured .proof-image{height:370px;min-height:0}.proof-copy,.proof-featured .proof-copy{padding:25px}.proof-featured .proof-copy h3{font-size:36px}.proof-image img{height:280px}.proof-copy h3{font-size:29px}.proof-copy dl{grid-template-columns:1fr;gap:14px}.proof-copy dd{font-size:18px}.proof-work{font-size:15px}.project-brief{grid-template-columns:1fr;gap:25px}.project-brief-result{border-left:0;padding:22px 0 0;border-top:1px solid #cbc8bf}.project-brief dd{font-size:25px}}
@media(max-width:600px){.home-proof-grid{grid-template-columns:1fr}.proof-featured{grid-column:auto}.proof-featured .proof-image{height:300px}.proof-image img{height:290px}.proof-copy dl{grid-template-columns:1fr 1fr}.proof-copy dd{font-size:18px}.entry-copy{display:flex;gap:10px}.entry-copy strong{font-size:24px}.entry-copy b{align-self:flex-start;font-size:14px;padding-top:3px}.home-entry-paths>a{gap:18px}.proof-featured .proof-copy h3{font-size:32px}.home-proof h2{font-size:38px}.project-brief dl{gap:20px}.project-brief dd{font-size:23px}}
@media(prefers-reduced-motion:reduce){.home-entry-paths>a{transition:none}}

/* Scope, deliverables and existing documentary images — release 14. */
.service-nav14{display:flex;align-items:center;flex-wrap:wrap;gap:12px 32px;padding:22px var(--gutter);border-bottom:1px solid #d7d5ce;background:#eeece7;font-size:13px}
.service-nav14>a{display:flex;align-items:center;gap:13px;min-height:44px;text-underline-offset:5px}
.service-nav14>a:last-child{margin-left:auto}
.service-nav14 svg{width:18px;height:18px;flex:none}
.service-nav14 a:hover{text-decoration:underline}
.service-scopes14{padding-bottom:38px;background:#f7f7f5}
.service-scopes14 .section-heading>p,.work-showcase14 .section-heading>p{max-width:420px;font-size:16px;line-height:1.75;color:#5f5f59}
.scope14-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.scope14-card{display:flex;flex-direction:column;border:1px solid #d5d4ce;background:#fff;padding:34px;min-width:0}
.scope14-card:nth-child(2){background:#292b2c;color:#fff;border-color:#292b2c}
.scope14-card>.eyebrow{font-size:11px;color:#72746f;margin:0}
.scope14-card:nth-child(2)>.eyebrow{color:#bbbdb9}
.scope14-card h3{font-size:clamp(28px,3vw,40px);line-height:1.15;font-weight:400;letter-spacing:-.035em;margin:22px 0 19px}
.scope14-card>p:not(.eyebrow){color:#585a54;font-size:16px;line-height:1.7;margin:0 0 24px;max-width:520px}
.scope14-card:nth-child(2)>p:not(.eyebrow){color:#d3d4d0}
.scope14-card ul{padding:0;margin:0 0 30px;list-style:none}
.scope14-card li{font-size:14px;line-height:1.6;padding:12px 0;border-top:1px solid #ddddd7}
.scope14-card:nth-child(2) li{border-color:#555754;color:#ebebe8}
.scope14-action{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:50px;border-bottom:1px solid currentColor;padding:10px 0;font-size:14px}
.scope14-action:hover{text-decoration:underline;text-underline-offset:5px}
.scope14-action svg{width:21px;height:21px;flex:none}
.scope14-note{font-size:12px;line-height:1.7;color:#6a6b65;margin:22px 0 0}
.service-detail14{border-bottom:1px solid #d9d8d2}
.service-detail14 h2{max-width:640px}
.work14-list{list-style:none;padding:0;margin:38px 0 0}
.work14-list li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:20px;padding:21px 0;border-top:1px solid #d6d5cf}
.work14-list li>span{font-size:12px;line-height:1.8;color:#767771}
.work14-list li>p{font-size:18px;line-height:1.6;margin:0;max-width:620px}
.brief-panel14{background:#f0f0ed;padding:30px!important}
.brief-panel14>ul{padding-left:20px}
.brief-panel14>ul>li{line-height:1.7;margin-bottom:13px;font-size:15px}
.brief-panel14>p:not(.eyebrow){font-size:13px;line-height:1.7;color:#686963}
.brief-panel14 .button{width:100%;justify-content:space-between;font-size:14px}
.brief-panel14 .preparation-list{margin-top:24px}
.service-results14{background:#eeefec}
.result14-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.result14-grid>article{border-top:1px solid #bfc2ba;padding-top:24px;min-width:0}
.result14-grid>article>span{font-size:12px;color:#6d7168}
.result14-grid h3{font-size:clamp(24px,2.1vw,30px);line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:24px 0 17px}
.result14-grid p{font-size:15px;line-height:1.8;color:#5b5f55;margin:0;max-width:340px}
.work-showcase14{background:#f6f6f3;border-top:1px solid #d9dbd4}
.work-photos14-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.work-showcase14-compact .work-photos14-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.work-photo14{margin:0;min-width:0}
.work-photo14-image{display:block;position:relative;background:#dadcd5;overflow:hidden}
.work-photo14-image img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:var(--photo-mobile,50% 50%)}
.work-photo14-image>span{position:absolute;right:13px;bottom:13px;background:white;display:grid;place-items:center;width:44px;height:44px}
.work-photo14-image>span svg{width:20px;height:20px}
.work-photo14 figcaption{padding:22px 0 0}
.work-photo14 h3{font-size:clamp(23px,2vw,30px);line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:0 0 13px}
.work-photo14 figcaption>p{font-size:14px;line-height:1.75;color:#666961;margin:0 0 16px}
.work-photo14-project{font-size:12px;line-height:1.65;display:flex;align-items:center;justify-content:space-between;gap:13px;min-height:44px;padding:8px 0;border-top:1px solid #d2d5cb}
.work-photo14-project svg{width:18px;height:18px;flex:none}
.work-photo14 small{display:block;margin-top:13px;font-size:10px;line-height:1.7;color:#74776e}
.work-photo14 small a,.service-cover-credit14 a{text-decoration:underline;text-underline-offset:3px}
.work-photo14-project:hover{text-decoration:underline;text-underline-offset:4px}
.service-cover figcaption:has(.service-cover-credit14){flex-wrap:wrap}
.service-cover-credit14{flex-basis:100%;font-size:10px;line-height:1.65;color:#696b64}
@media(max-width:1100px){.scope14-card{padding:27px}.work-photos14-grid{gap:20px}.service-nav14{gap:8px 24px}.service-nav14>a:last-child{margin-left:0}.work14-list li>p{font-size:16px}.brief-panel14{padding:24px!important}.result14-grid{gap:22px}}
@media(max-width:800px){.scope14-grid{gap:18px}.scope14-card{padding:24px}.scope14-card h3{font-size:30px}.scope14-card>p:not(.eyebrow){font-size:14px}.scope14-card li{font-size:13px}.scope14-action{font-size:13px}.work-photos14-grid{grid-template-columns:1fr 1fr}.work-photos14-grid>.work-photo14:last-child:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.work-photos14-grid>.work-photo14:last-child:nth-child(3) figcaption{padding:0}.work-showcase14 .section-heading>p{max-width:390px;font-size:15px}.work-photo14 h3{font-size:25px}.result14-grid{gap:18px}.result14-grid h3{font-size:24px}.result14-grid p{font-size:14px}.service-nav14{font-size:12px}}
@media(max-width:650px){.scope14-grid,.result14-grid,.work-photos14-grid,.work-showcase14-compact .work-photos14-grid{grid-template-columns:1fr}.service-nav14{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding-top:15px;padding-bottom:15px}.service-nav14>a:last-child{grid-column:1/-1;border-top:1px solid #d3d4cd;margin-top:7px;padding-top:10px}.service-nav14>a{font-size:13px;min-height:44px}.scope14-card{padding:27px}.scope14-card h3{font-size:33px;margin-top:19px}.scope14-card>p:not(.eyebrow){font-size:16px}.scope14-card li{font-size:14px}.scope14-action{font-size:14px}.service-scopes14{padding-bottom:32px}.service-scopes14 .section-heading>p,.work-showcase14 .section-heading>p{margin-top:20px;font-size:15px}.work14-list{margin-top:29px}.work14-list li{gap:14px;padding:20px 0}.work14-list li>p{font-size:17px}.brief-panel14{padding:25px!important}.result14-grid{gap:30px}.result14-grid h3{font-size:28px;margin:18px 0 13px}.result14-grid p{font-size:16px;max-width:none}.work-photos14-grid{gap:34px}.work-photos14-grid>.work-photo14:last-child:nth-child(3){display:block;grid-column:auto}.work-photos14-grid>.work-photo14:last-child:nth-child(3) figcaption{padding:22px 0 0}.work-photo14 h3{font-size:28px}.work-photo14 figcaption>p{font-size:15px}.work-photo14-project{font-size:13px}.work-photo14 small{font-size:10px}.service-cover-credit14{font-size:10px}}

.transfer-feedback{margin:24px 0}.transfer-feedback progress{display:block;width:100%;height:8px;accent-color:#525252}.transfer-feedback p{margin:8px 0;font-size:14px;color:#696969}.request-continuation{padding:24px;margin:24px 0;background:#f2f2f2;border:1px solid #d6d6d6}.request-continuation .result-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.project-link-field .field-hint{display:block;font-size:14px;font-weight:400;line-height:1.5;margin-top:6px}.request-continuation .privacy-note{font-size:14px;line-height:1.5;margin:18px 0 0}.request-continuation [role=status],#request-summary dd{overflow-wrap:anywhere}.followup-save p{overflow-wrap:anywhere}
.followup-page{margin:0;background:#f8f8f8;color:#252525;font:16px/1.6 Arial,Helvetica,sans-serif}.followup-page *{box-sizing:border-box}.followup-page [hidden]{display:none!important}.followup-page a{color:inherit;text-decoration:none}.followup-page button,.followup-page input,.followup-page textarea{font:inherit}.followup-page button,.followup-page a{touch-action:manipulation}.followup-page button{cursor:pointer}.followup-page button:disabled{opacity:.55;cursor:wait}.followup-page .eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#6a6a6a;margin:0 0 12px}.followup-page h1{font-size:clamp(42px,6vw,78px);font-weight:400;line-height:1.07;letter-spacing:-.045em;margin:0 0 24px}.followup-page h2{font-size:clamp(26px,3vw,40px);font-weight:400;line-height:1.15;letter-spacing:-.03em;margin:0 0 20px}.followup-page p{margin:0 0 16px}.followup-header,.followup-main,.followup-footer{max-width:1280px;margin:0 auto;padding:0 48px}.followup-header{display:flex;justify-content:space-between;align-items:center;min-height:106px;border-bottom:1px solid #d6d6d6}.followup-header img{display:block;width:160px;height:auto;filter:brightness(0)}.followup-header>span{font-size:14px;color:#717171}.followup-main{padding-top:70px;padding-bottom:65px}.followup-intro{max-width:740px;margin-bottom:38px}.followup-intro>p:last-child{font-size:18px;max-width:540px;color:#626262}.followup-load-status{padding:22px;border-left:3px solid #525252;background:#f1f1f1}.followup-page .text-button{display:inline-block;padding:8px 0;color:#454545;background:none;border:0;border-bottom:1px solid currentColor;font-size:15px;line-height:1.5;text-align:left}.followup-page .button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:16px 24px;background:#252525;border:1px solid #252525;color:#fff;font-size:16px;line-height:1.4}.followup-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;border:1px solid #d6d6d6;background:#fff;padding:32px;margin-bottom:60px}.followup-overview aside{border-left:1px solid #d6d6d6;padding-left:32px}.followup-overview aside a{display:block;overflow-wrap:anywhere;color:#454545;margin:8px 0}.followup-overview .privacy-note{font-size:13px;color:#6e6e6e;margin-top:20px}.followup-status{display:inline-block;background:#ededed;color:#454545;padding:6px 12px;border-radius:2px;font-size:14px}.followup-materials{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;border-bottom:1px solid #d6d6d6;padding-bottom:55px;margin-bottom:55px}.followup-materials>div>p:not(.eyebrow){color:#626262}.followup-page .privacy-note{font-size:14px;line-height:1.55;color:#707070}.followup-page form,.followup-page fieldset{min-width:0}.followup-page fieldset{border:0;padding:0;margin:0}.followup-page label{display:block;font-size:15px;font-weight:600;margin-bottom:22px}.followup-page input:not([type=file]),.followup-page textarea{display:block;width:100%;padding:13px 15px;margin-top:7px;background:#fff;border:1px solid #c8c8c8;border-radius:0;color:#252525;font-weight:400}.followup-page textarea{resize:vertical;min-height:118px}.followup-page .optional{font-size:12px;font-weight:400;color:#737373;margin-left:6px}.followup-upload{border:1px dashed #b4b4b4;padding:22px;background:#f1f1f1;margin-bottom:16px}.followup-upload label{margin-bottom:12px;cursor:pointer}.followup-upload label span{display:block;font-weight:400;font-size:14px;color:#6e6e6e}.followup-upload input{max-width:100%;font-size:14px}.followup-upload p{font-size:13px;color:#6e6e6e;margin:16px 0 0}.followup-upload.dragging{background:#e3e3e3;border-color:#252525}.followup-selected-files{list-style:none;padding:0;margin:0}.followup-selected-files li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #d7d7d7}.followup-selected-files span{min-width:0;font-size:14px;overflow-wrap:anywhere}.followup-selected-files button{background:none;border:0;color:#454545;padding:8px;white-space:nowrap}.followup-page .field-error{font-size:14px;color:#9c3426}.followup-page #followup-send-status{margin-top:20px}.followup-history{margin-bottom:45px}.followup-update{padding:22px 0;border-top:1px solid #d6d6d6}.followup-update time{display:block;color:#707070;font-size:13px;margin-bottom:12px}.followup-update p{white-space:pre-wrap;overflow-wrap:anywhere}.followup-update a{color:#454545;text-decoration:underline;overflow-wrap:anywhere}.followup-update ul{margin:12px 0 0;padding-left:20px;font-size:14px}.followup-update li{overflow-wrap:anywhere}.followup-save{padding:26px;background:#eeeeee}.followup-save>div{display:flex;flex-wrap:wrap;gap:24px}.followup-save .privacy-note{margin-top:18px}.followup-footer{display:flex;flex-wrap:wrap;gap:20px 32px;padding-top:24px;padding-bottom:35px;border-top:1px solid #d6d6d6;font-size:13px;color:#6e6e6e}.followup-footer span{margin-left:auto}.followup-page .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.followup-page :focus-visible{outline:3px solid #737373;outline-offset:4px}.followup-page [aria-invalid=true]{border-color:#9c3426!important}
.followup-quote{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;background:#fff;border:1px solid #d6d6d6;padding:32px;margin-bottom:60px}.followup-quote>div{min-width:0}.followup-quote-version{font-size:14px;color:#686868}.followup-quote-details{margin:26px 0 0}.followup-quote-details>div{display:grid;grid-template-columns:140px 1fr;gap:16px;margin:12px 0}.followup-quote-details dt{font-size:14px;color:#686868}.followup-quote-details dd{margin:0;overflow-wrap:anywhere}.followup-quote-details #followup-quote-amount{font-size:25px;line-height:1.3;letter-spacing:-.025em}.followup-quote-file{border-left:1px solid #d6d6d6;padding-left:32px}.followup-quote-file>p:first-child{font-size:18px;overflow-wrap:anywhere}.followup-quote-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:28px}.followup-quote-actions .button{max-width:100%}.followup-quote-feedback,#followup-quote-feedback{font-size:14px;color:#686868;margin:18px 0 0;overflow-wrap:anywhere}
.followup-response{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding-bottom:46px;margin-bottom:52px;border-bottom:1px solid #d6d6d6}.followup-response>div>p:not(.eyebrow){color:#626262}.followup-response-choices{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.followup-response-choices button{min-height:48px;padding:12px 16px;background:#fff;color:#252525;border:1px solid #bdbdbd;line-height:1.4;text-align:left}.followup-response-choices button[aria-pressed=true]{background:#252525;color:#fff;border-color:#252525}.followup-response-latest{background:#efefef;border-left:3px solid #525252;padding:18px;margin-top:24px;overflow-wrap:anywhere}.followup-response-latest p{font-size:14px;margin-bottom:9px}.followup-response-latest time{display:block;font-size:12px;color:#707070;margin-bottom:12px}.followup-response-latest p:last-child{white-space:pre-wrap;margin-bottom:0}#followup-response-status{font-size:14px;margin-top:20px;overflow-wrap:anywhere}.followup-response textarea{min-height:105px}
.followup-refresh{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:24px}.followup-refresh .text-button{min-height:44px;flex-shrink:0}.followup-refresh p{flex:1 1 260px;font-size:14px;color:#626262;margin:0;overflow-wrap:anywhere}.followup-response-draft{padding:18px;background:#efefef;border-left:3px solid #525252;margin-bottom:22px;font-size:14px;overflow-wrap:anywhere}.followup-response-draft p{margin-bottom:0}.followup-response-draft>div{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:12px}.followup-response-draft .text-button{min-height:44px;font-size:14px}
@media(max-width:760px){.followup-response{grid-template-columns:1fr;gap:24px;padding-bottom:38px;margin-bottom:38px}.followup-response-choices{flex-direction:column}.followup-response-choices button{width:100%}.followup-response-submit{width:100%}}
@media(max-width:760px){.followup-header,.followup-main,.followup-footer{padding-left:22px;padding-right:22px}.followup-header{min-height:85px}.followup-header>span{font-size:12px}.followup-header img{width:142px}.followup-main{padding-top:42px}.followup-overview,.followup-materials,.followup-quote{grid-template-columns:1fr;gap:25px}.followup-overview,.followup-quote{padding:23px;margin-bottom:38px}.followup-overview aside,.followup-quote-file{border-left:0;border-top:1px solid #d6d6d6;padding:22px 0 0}.followup-quote-details>div{grid-template-columns:1fr;gap:2px}.followup-quote-details #followup-quote-amount{font-size:24px}.followup-materials{padding-bottom:38px;margin-bottom:38px}.followup-upload{padding:17px}.followup-save{padding:21px}.followup-footer span{margin-left:0}.request-continuation{padding:18px}.request-continuation .result-actions{align-items:flex-start;flex-direction:column}.followup-selected-files li{gap:8px}.followup-selected-files button{font-size:13px}}

.budget-section{border-top:1px solid var(--line,#ddd9d1);padding-top:72px;padding-bottom:80px}.budget-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:end;margin-bottom:40px}.budget-heading h2{margin:0}.budget-heading>p{font-size:18px;line-height:1.6;max-width:520px;margin:0;color:var(--muted,#64625c)}.budget-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:var(--paper,#f2f0e9);border:1px solid var(--line,#ddd9d1)}.budget-form{padding:36px}.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}.budget-fields>label{font-size:14px;font-weight:500;display:flex;flex-direction:column;gap:9px}.budget-fields input,.budget-fields select{background:#fff;border:1px solid #b9b8b1;border-radius:0;font:inherit;font-size:16px;color:#252525;min-height:52px;width:100%;padding:12px 14px}.budget-fields input:focus,.budget-fields select:focus{outline:2px solid #525651;outline-offset:3px}.budget-wide{grid-column:1/-1}.budget-scope{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.budget-scope legend{font-size:14px;font-weight:500;margin-bottom:9px}.budget-scope label{position:relative;cursor:pointer}.budget-scope input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.budget-scope span{height:100%;display:flex;align-items:center;justify-content:center;min-height:54px;border:1px solid #b9b8b1;background:#fff;padding:10px;font-size:15px}.budget-scope input:checked+span{background:#252525;color:#fff;border-color:#252525}.budget-scope input:focus-visible+span{outline:2px solid #525651;outline-offset:3px}.budget-submit{width:100%;margin-top:28px;justify-content:center}.budget-message{font-size:14px;line-height:1.5;min-height:1.5em;margin:14px 0 0}.budget-message.is-error{color:#9b362e}.budget-result{background:#252525;color:#f5f3ed;padding:38px;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}.budget-result>.eyebrow{color:#c0bfb8}.budget-result h3{font-size:clamp(25px,2.5vw,38px);line-height:1.2;letter-spacing:-.025em;margin:10px 0 18px;max-width:500px}.budget-result>p:not(.eyebrow):not(.budget-value){font-size:16px;line-height:1.6;color:#cfcec7;margin:0 0 24px}.budget-result .budget-value{font-size:clamp(26px,3vw,40px);line-height:1.2;font-weight:600;letter-spacing:-.03em;margin:0 0 20px;overflow-wrap:anywhere}.budget-result>.button{margin-top:auto;width:100%;justify-content:center}.budget-result>.text-button{color:#e3e2da;margin-top:20px}.budget-summary{width:100%;margin:0 0 28px;font-size:14px}.budget-summary div{display:grid;grid-template-columns:90px 1fr;gap:14px;border-top:1px solid #53534f;padding:10px 0}.budget-summary dt{color:#aeadA6}.budget-summary dd{margin:0;overflow-wrap:anywhere}.budget-context{padding:20px 24px;border:1px solid var(--line,#ddd9d1);background:#f3f1e9;font-size:15px;line-height:1.6;margin:0 0 24px}.budget-context strong{display:block;font-size:16px;margin-bottom:4px}.budget-context p{margin:0}.budget-compact .budget-result h3{font-size:32px}.budget-section [hidden]{display:none!important}@media(max-width:850px){.budget-heading{grid-template-columns:1fr;gap:22px}.budget-layout{grid-template-columns:1fr}.budget-form,.budget-result{padding:28px}.budget-result{min-height:340px}.budget-heading>p{font-size:16px}.budget-section{padding-top:48px;padding-bottom:48px}}@media(max-width:480px){.budget-form,.budget-result{padding:24px 20px}.budget-fields{grid-template-columns:1fr;gap:20px}.budget-fields>label{font-size:13px}.budget-scope span{font-size:14px;padding:10px 6px}.budget-result h3,.budget-compact .budget-result h3{font-size:28px}.budget-summary div{grid-template-columns:76px 1fr;gap:12px}}
.budget-share{width:100%;margin-top:18px}.budget-share>.text-button{color:#e3e2da;padding:0;border:0;background:none;text-align:left;font:inherit;font-size:15px;cursor:pointer}.budget-share>.text-button:disabled{opacity:.5;cursor:default}.budget-share>.text-button:focus-visible{outline:2px solid #f5f3ed;outline-offset:5px}.budget-share-output{margin-top:12px;width:100%;min-width:0}.budget-share-output input{box-sizing:border-box;display:block;width:100%;min-width:0;border:1px solid #72726b;padding:12px;font:inherit;font-size:13px;background:#fff;color:#252525}.budget-share-output p{font-size:13px;line-height:1.5;color:#cfcec7;margin:9px 0 0}.budget-share-output input:focus{outline:2px solid #f5f3ed;outline-offset:3px}

.request-draft-controls{border:1px solid #d9d9d7;background:#f7f7f5;padding:20px;margin:0 0 24px;display:grid;gap:12px}.request-draft-controls strong{display:block;font-size:17px}.request-draft-controls p{font-size:14px;line-height:1.55;margin:5px 0 0;max-width:68ch}.request-draft-actions{display:flex;flex-wrap:wrap;gap:8px}.request-draft-controls button{font:inherit;font-size:14px;border:1px solid #a9aaa7;background:#fff;color:#252525;padding:10px 14px;text-align:left;cursor:pointer;min-height:44px;max-width:100%}.request-draft-controls button:hover{border-color:#252525}.request-draft-controls button:focus-visible{outline:2px solid #252525;outline-offset:3px}.request-draft-status{color:#555;overflow-wrap:anywhere}.request-draft-files{padding:12px 0 0;border-top:1px solid #d9d9d7;overflow-wrap:anywhere}.request-draft-files button{margin-top:10px}.request-draft-controls [hidden]{display:none!important}@media(max-width:480px){.request-draft-controls{padding:16px}.request-draft-actions{display:grid;grid-template-columns:1fr}.request-draft-actions button{width:100%}}

.audience-hero15-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:5vw;align-items:center}.audience-hero15 h1{font-size:clamp(42px,5.4vw,82px);letter-spacing:-.055em;line-height:1.02}.audience-hero15-lead{max-width:600px;font-size:clamp(18px,1.55vw,23px);line-height:1.5;margin:28px 0}.audience-actions15{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.audience-hero15-photo{margin:0;min-width:0}.audience-hero15-photo img{display:block;width:100%;height:clamp(330px,40vw,600px);object-fit:cover}.audience-hero15-photo figcaption{display:grid;gap:8px;margin-top:16px;font-size:13px;line-height:1.5}.audience-hero15-photo figcaption>a{font-size:16px}.audience-hero15-photo small{color:var(--muted,#666)}.audience-nav15{display:flex;gap:28px;flex-wrap:wrap;margin:0 5vw;border-block:1px solid #d5d2cc;padding:20px 0}.audience-nav15 a{font-size:14px}.audience-section15{scroll-margin-top:110px}.audience-cards15{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}.audience-cards15 article{border-top:1px solid #ccc8c2;padding:27px 0 34px}.audience-index15{font-size:13px;color:#69655f}.audience-cards15 h3{font-size:clamp(23px,2.1vw,31px);letter-spacing:-.03em;margin:18px 0 12px}.audience-cards15 p{max-width:590px;font-size:17px;line-height:1.55;color:#5d5952;margin:0}.audience-matrix15 table{width:100%;border-collapse:collapse;table-layout:fixed}.audience-matrix15 caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.audience-matrix15 th,.audience-matrix15 td{vertical-align:top;text-align:left;border-bottom:1px solid #cbc6be;padding:25px 26px 25px 0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}.audience-matrix15 thead th{font-size:12px;text-transform:uppercase;font-weight:500;letter-spacing:.06em;color:#6d675e}.audience-matrix15 th:first-child{width:23%}.audience-matrix15 tbody th{font-weight:500;font-size:19px}.audience-pack15,.audience-start15{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:start;background:#e8e5df}.audience-pack15 p,.audience-start15 p{line-height:1.55;max-width:580px;font-size:18px;color:#5d5952}.audience-pack15>div:last-child{display:grid;gap:28px;justify-items:start;align-self:center}.audience-projects15{align-items:start}.audience-projects15-three{grid-template-columns:repeat(3,minmax(0,1fr))}.audience-projects15 .project-card{min-width:0}.audience-choice15{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.audience-choice15 article{border-top:1px solid #cbc6be;padding-top:24px}.audience-choice15 h3{font-size:28px;line-height:1.1;letter-spacing:-.03em}.audience-choice15 p{font-size:17px;line-height:1.5;margin-bottom:24px}.audience-brief15{display:grid;gap:23px}.audience-brief15 label{display:grid;gap:12px;font-size:15px}.audience-brief15 input,.audience-brief15 select{display:block;width:100%;max-width:100%;min-width:0;padding:15px;background:#f6f3ee;border:1px solid #bab6af;color:#252525;border-radius:0;font:inherit}.audience-brief15 p{font-size:14px;margin:0}.audience-entry15{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:40px 5vw 60px}.audience-entry15>a{display:grid;gap:17px;border-top:1px solid #ccc7be;padding-top:28px}.audience-entry15 strong{font-size:clamp(25px,2.8vw,39px);font-weight:400;letter-spacing:-.03em;line-height:1.15}.audience-entry15>a>span:last-child{display:flex;align-items:center;gap:12px;font-size:16px;color:#625b52}.audience-entry15 svg{width:20px;height:20px;flex-shrink:0}.audience-route15{margin:0 5vw 40px;padding:25px 0;border-block:1px solid #d5d2cc;display:flex;justify-content:space-between;gap:24px;align-items:center}.audience-route15 p{margin:0;font-size:18px}.audience-copy>.text-button{display:flex;margin-top:22px}.audience-hero15 a:focus-visible,.audience-nav15 a:focus-visible,.audience-entry15 a:focus-visible,.audience-brief15 :focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:900px){.audience-hero15-grid{grid-template-columns:1fr;gap:32px}.audience-hero15 h1{font-size:clamp(43px,8vw,70px)}.audience-hero15-photo img{height:55vw;min-height:270px;max-height:480px}.audience-choice15{grid-template-columns:1fr 1fr}.audience-choice15>div{grid-column:1/-1}.audience-pack15,.audience-start15{gap:40px}.audience-nav15{gap:16px 23px}.audience-projects15{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.audience-hero15 h1{font-size:clamp(38px,10.5vw,58px)}.audience-hero15-lead{font-size:18px;margin:24px 0}.audience-hero15-photo img{height:75vw;min-height:240px}.audience-actions15{gap:20px}.audience-actions15 .button,.audience-choice15 .button,.audience-brief15 .button{width:100%;justify-content:space-between}.audience-cards15,.audience-projects15,.audience-pack15,.audience-start15,.audience-choice15,.audience-entry15{grid-template-columns:1fr}.audience-choice15>div{grid-column:auto}.audience-cards15 article{padding:24px 0 28px}.audience-cards15 p,.audience-choice15 p{font-size:16px}.audience-matrix15 table,.audience-matrix15 tbody,.audience-matrix15 tr,.audience-matrix15 th,.audience-matrix15 td{display:block;width:100%!important}.audience-matrix15 thead{display:none}.audience-matrix15 tbody tr{border-top:1px solid #cbc6be;padding:24px 0}.audience-matrix15 tbody th{padding:0 0 18px;border:0;font-size:22px}.audience-matrix15 td{padding:0 0 20px;border:0;font-size:16px}.audience-matrix15 td:last-child{padding-bottom:0}.audience-matrix15 td::before{content:attr(data-label);display:block;font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.05em;color:#696258;margin-bottom:10px}.audience-pack15,.audience-start15{gap:30px}.audience-pack15 p,.audience-start15 p{font-size:17px}.audience-nav15{font-size:14px;gap:17px}.audience-entry15{gap:32px;margin-block:35px 48px}.audience-entry15>a>span:last-child{font-size:15px}.audience-route15{display:grid;gap:18px}.audience-route15 p{font-size:17px}.audience-brief15 input{min-height:50px}.audience-brief15 button{white-space:normal;text-align:left}}

.request-scope-field{margin:22px 0}.request-object-details{padding:22px;background:#f1f1ed;border:1px solid #deded7;margin:24px 0}.request-object-details h3{font-size:23px;line-height:1.2;margin:0 0 10px}.request-data-hints{padding-left:20px;margin:12px 0 22px;line-height:1.65}.request-object-details label:last-child{margin-bottom:0}.request-data-hints li+li{margin-top:6px}@media(max-width:600px){.request-object-details{padding:18px}.request-object-details h3{font-size:21px}.request-scope-field select{width:100%}}

/* Public architecture system. Loaded after the historical component styles. */
:root{--paper:#faf9f6;--ink:#252525;--mute:#66645f;--line:#dedcd7;--soft:#f0eee9;--gutter:clamp(20px,5vw,88px)}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:400;text-wrap:balance}p{line-height:1.7}.eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}
.section{padding-top:100px;padding-bottom:100px}.section-heading{align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading h2{font-size:clamp(38px,4.6vw,68px);line-height:1.05;letter-spacing:-.055em}.section-heading .eyebrow{margin-bottom:22px}.section-heading-note{max-width:400px}.section-heading-note p{font-size:15px;line-height:1.7}
.button{border-radius:2px;padding:17px 24px;min-height:56px;font-size:14px;font-weight:400;line-height:1.4;background:var(--ink);color:#fff;border:1px solid var(--ink);gap:28px;transition:background .18s,border-color .18s}.button:hover{background:#494843;border-color:#494843}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:#e3e1db;border-color:#e3e1db}.button svg,.text-button svg{width:20px;height:20px;flex-shrink:0}.text-button{font-size:14px;gap:22px;font-weight:400;line-height:1.5}.text-button:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #79766f;outline-offset:5px}
/* A quiet light masthead gives the photography the visual weight. */
.header{background:#faf9f6f5;color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:96px;gap:36px;padding-block:20px}.brand{display:flex;align-items:center;gap:24px}.brand img{width:168px;height:46px;filter:brightness(0)}.brand-note{font-size:10px;line-height:1.5;letter-spacing:.06em;max-width:80px;color:var(--mute);border-left:1px solid var(--line);padding-left:20px}.nav-primary{gap:27px}.nav-primary>a{color:#575550;font-size:13px}.nav-primary>a:hover,.nav-primary>a[aria-current=page]{color:var(--ink)}.navigation a:after{background:var(--ink)}.header-contact{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:2px;min-height:48px;padding:12px 18px;gap:22px;font-size:12px}.header-contact:hover{background:#494843}.menu-toggle{border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--ink);width:48px;height:48px}.menu-toggle span{background:var(--ink)}
/* The home page opens with a wide title, then a full architectural photograph. */
.visual21-hero.portfolio-hero{display:grid;grid-template-columns:1fr;padding:58px var(--gutter) 0;gap:0;background:var(--paper);color:var(--ink)}
.visual21-hero .architecture-copy{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:end;gap:7vw;padding:0 0 48px}
.visual21-hero .architecture-title>.eyebrow{color:var(--mute);font-size:10px;margin:0 0 24px}
.visual21-hero .architecture-copy h1{font-size:clamp(66px,6.8vw,112px);font-weight:400;line-height:.98;letter-spacing:-.065em;margin:0;max-width:900px;text-wrap:initial}
.visual21-hero .architecture-copy h1 br{display:initial}
.visual21-hero .architecture-summary{padding-bottom:5px;min-width:0}.visual21-hero .architecture-lead{font-size:17px;color:var(--mute);line-height:1.65;max-width:380px;margin:0 0 25px}.visual21-hero .architecture-actions{display:flex;align-items:center;flex-wrap:wrap;flex-direction:row;gap:10px 24px;margin:0}.visual21-hero .architecture-actions>.text-button{font-size:12px;color:var(--ink)}.visual21-hero .architecture-note{color:var(--mute);font-size:10px;letter-spacing:.025em;margin:22px 0 0}
.visual21-hero .architecture-stage{grid-column:1;grid-row:2}.visual21-hero .architecture-slide{height:auto;display:block}.visual21-hero .hero-photo-link{border-radius:2px;aspect-ratio:2.15;min-height:0;max-height:680px;height:auto;flex:none;overflow:hidden;background:var(--soft)}.visual21-hero .hero-photo-link img{object-fit:cover;object-position:var(--photo-mobile,50% 50%);filter:none}.visual21-hero .hero-photo-link img[data-photo=restaurant]{object-fit:contain}.visual21-hero .hero-photo-open{right:22px;top:22px;min-height:46px;padding:12px 18px;background:var(--paper);border-radius:2px;font-size:12px;gap:28px;color:var(--ink)}
.visual21-hero .architecture-caption{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0 26px;color:var(--ink)}.visual21-hero .architecture-caption>div{display:flex;align-items:center;gap:32px;min-width:0}.visual21-hero .architecture-caption .eyebrow{color:var(--mute);font-size:9px;max-width:155px}.visual21-hero .architecture-caption strong{font-size:25px;line-height:1.25;max-width:640px;margin:0;font-weight:400;letter-spacing:-.03em}.visual21-hero .architecture-caption-bottom{margin:0;font-size:13px;color:var(--mute);display:flex;flex-direction:row;align-items:center;gap:28px}
.visual21-hero .architecture-bottom{grid-column:1;grid-row:3;border-top:1px solid var(--line);display:flex;gap:36px;min-height:84px}.visual21-hero .architecture-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;gap:0}.visual21-hero .architecture-tabs button{padding:18px 24px 18px 0!important;min-height:84px;background:transparent;border:0;border-right:1px solid var(--line);box-shadow:none;color:var(--mute);font-size:12px;gap:18px;align-items:center;justify-content:flex-start;line-height:1.5}.visual21-hero .architecture-tabs button+button{padding-left:24px!important}.visual21-hero .architecture-tabs button[aria-selected=true]{background:transparent;color:var(--ink);box-shadow:inset 0 2px var(--ink)}.visual21-hero .architecture-tabs button>span:first-child{font-size:10px;color:var(--mute)}.visual21-hero .architecture-controls{gap:15px}.visual21-hero .architecture-controls button{background:transparent;border-color:var(--line);color:var(--ink);border-radius:50%;width:44px;height:44px}.visual21-hero .architecture-controls button:hover{background:var(--ink);color:white}.visual21-hero .architecture-count{color:var(--mute);font-size:10px}
/* Three practical entrances, followed by editorial project stories. */
.home-entry-paths{background:var(--soft);border-block:1px solid var(--line);margin-top:24px;padding:0 var(--gutter)}.home-entry-paths>a{gap:24px;padding:30px 30px 30px 0;min-height:182px}.home-entry-paths>a+a{border-color:var(--line);padding-left:30px}.entry-number{font-size:10px;color:var(--mute)}.entry-copy strong{font-size:24px;letter-spacing:-.03em;font-weight:400}.entry-copy>span{font-size:13px;color:var(--mute)}.entry-copy b{font-weight:400;font-size:13px;gap:22px}
.home-proof{padding-bottom:76px}.home-proof-grid{gap:68px 40px}.proof-card,.proof-featured{background:transparent}.proof-image{border-radius:2px;background:var(--soft)}.proof-image img{height:auto;aspect-ratio:1.45;object-fit:cover}.proof-image>span{right:16px;bottom:16px;border-radius:2px;gap:24px;padding:12px 16px}.proof-copy,.proof-featured .proof-copy{padding:24px 0 0}.proof-copy>.eyebrow{font-size:10px;color:var(--mute)}.proof-copy h3{font-size:clamp(27px,2.8vw,40px);margin:14px 0 18px;line-height:1.1;font-weight:400}.proof-work{font-size:15px;color:var(--mute);line-height:1.75;margin-bottom:24px}.proof-copy dl{gap:24px;padding-top:20px;border-color:var(--line)}.proof-copy dd{font-size:18px;line-height:1.5}.proof-copy dt,.proof-result>span{color:var(--mute);font-size:10px}.proof-result{border-color:var(--line);font-size:13px;color:var(--mute);line-height:1.7;padding-top:18px;margin-top:20px}.proof-featured{display:block;grid-column:1/-1}.proof-featured .proof-image{height:auto;min-height:0;aspect-ratio:2.1}.proof-featured .proof-image img{position:absolute;height:100%;aspect-ratio:auto}.proof-featured .proof-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:start}.proof-featured .proof-copy>.eyebrow{grid-column:1;grid-row:1}.proof-featured .proof-copy h3{grid-column:1;grid-row:2/5;font-size:clamp(34px,3.8vw,56px);max-width:600px;margin-top:14px}.proof-featured .proof-work{grid-column:2;grid-row:1/3;margin:0 0 24px}.proof-featured .proof-copy dl{grid-column:2;grid-row:3}.proof-featured .proof-result{grid-column:2;grid-row:4}
.home-directions{padding-top:44px;border-top:1px solid var(--line)}.home-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px}.home-direction-grid>a{grid-template-columns:30px 1fr 24px;align-items:center;gap:24px;padding:25px 0;min-height:104px}.home-direction-grid .eyebrow{grid-column:1;font-size:10px;color:var(--mute);margin:0}.home-direction-grid strong{font-size:clamp(21px,2.2vw,30px);letter-spacing:-.03em;font-weight:400}.home-direction-grid svg{align-self:center}.home-direction-grid>a:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.company.section{background:var(--soft);color:var(--ink);border-block:1px solid var(--line)}.company .eyebrow{color:var(--mute)}.company-intro{max-width:500px}.company-intro p:first-child{color:var(--ink);font-size:20px;line-height:1.6}.company-intro p{color:var(--mute);font-size:15px;line-height:1.8}.resource-grid{gap:50px;border-color:#cbc8c1;padding-top:42px}.resource .eyebrow{color:var(--mute);font-size:10px}.resource strong{font-size:clamp(72px,8.5vw,132px);line-height:1;letter-spacing:-.07em;font-weight:400;margin:26px 0 18px}.resource h3{font-size:24px;line-height:1.25;font-weight:400;min-height:60px}.resource p{font-size:14px;color:var(--mute);line-height:1.8}.company-link{margin-top:30px}.company-footnote{border-color:#cbc8c1;margin-top:35px;padding-top:25px}.company-footnote p{font-size:13px;color:var(--mute)}
.partners.section{padding-bottom:50px}.partner-heading{justify-content:space-between;gap:40px;margin-bottom:28px}.partner-heading h2{font-size:30px;letter-spacing:-.035em;font-weight:400}.partner-grid{border-color:var(--line)}.partner-grid>span{background:transparent;border-color:var(--line);font-size:19px;min-height:105px;color:#625f59;font-weight:400}
.work-photos14-grid{gap:30px}.work-photo14-image{border-radius:2px}.work-photo14 figcaption h3{font-size:26px;font-weight:400}.work-photo14 figcaption p{color:var(--mute);font-size:14px}.work-photo14 figcaption small{color:var(--mute)}.faq-section{border-top:1px solid var(--line)}.faq-list details{border-color:var(--line)}.faq-list summary{font-size:20px;padding-block:25px;font-weight:400}.faq-list details>p{max-width:800px;font-size:16px;color:var(--mute)}.audience-entry15{background:var(--soft);border-color:var(--line)}
/* The same editorial rhythm continues on every public interior page. */
.page-intro{padding-top:64px;padding-bottom:56px;background:var(--paper)}.page-intro>.eyebrow{margin-bottom:30px;color:var(--mute)}.intro-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:7vw}.intro-grid h1{font-size:clamp(48px,5.7vw,88px);line-height:1.02;font-weight:400;letter-spacing:-.055em}.intro-grid>p{font-size:17px;max-width:470px;color:var(--mute);line-height:1.75}.breadcrumbs{font-size:12px;color:var(--mute)}.cta-strip{background:var(--soft);border-block:1px solid var(--line);gap:40px;padding-block:46px}.cta-strip h2{font-size:clamp(32px,3.5vw,50px);font-weight:400;letter-spacing:-.04em;line-height:1.15}.cta-strip p{color:var(--mute);font-size:15px}
.about-lead{line-height:1.6}.steps h3{font-weight:400}.contact-page .contact-email,.contacts .contact-email{overflow-wrap:anywhere}
/* A roomy footer with one clear next step. */
.site-footer{background:#252525;color:#faf9f6;padding-top:82px;padding-bottom:24px}.footer-top{grid-template-columns:1.45fr 1fr;gap:8vw;padding-bottom:70px}.footer-top h2{font-size:clamp(54px,6vw,92px);line-height:1;letter-spacing:-.055em;font-weight:400;margin:24px 0 32px}.footer-contact{padding-top:8px}.footer-contact .contact-label{color:#b9b7b0;font-size:11px;letter-spacing:.05em}.footer-contact>p{font-size:18px;margin-top:12px}.footer-contact .phone{font-size:clamp(25px,2.6vw,39px);line-height:1.3;font-weight:400;letter-spacing:-.025em}.footer-contact .contact-email{font-size:20px;line-height:1.5;gap:28px;margin-top:12px;padding:0;border:0}.footer-contact .text-button{font-size:12px;color:#d3d1cb}.footer-bottom{border-color:#ffffff26;gap:14px 26px;align-items:center;padding-top:30px;line-height:1.7}.footer-brand img{width:142px}.footer-bottom>span{color:#b9b7b0;font-size:11px}.footer-bottom a,.footer-bottom .analytics-settings{color:#d0cec8;font-size:11px;min-height:40px}.site-version{color:#a6a39c;font-size:10px;letter-spacing:.035em;margin-top:18px;min-height:38px}
.company .resource strong,.company .resource h3,.company .company-link{color:var(--ink)}
.intro-grid>*{min-width:0}.intro-grid h1{overflow-wrap:break-word}
.navigation .nav-shortcuts a{color:var(--mute)}.navigation .nav-shortcuts a:hover,.navigation .nav-shortcuts a:focus-visible{color:var(--ink)}
@media(min-width:1600px){.section,.page-intro,.home-entry-paths,.site-footer,.cta-strip{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}.visual21-hero.portfolio-hero{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1300px){.brand-note{display:none}.header-inner{gap:24px}.nav-primary{gap:21px}.visual21-hero .architecture-copy{gap:5vw}.visual21-hero .architecture-copy h1{font-size:7.4vw}.visual21-hero .architecture-lead{font-size:16px}.visual21-hero .architecture-actions{gap:10px 15px}.visual21-hero .architecture-caption>div{gap:24px}.visual21-hero .architecture-caption strong{font-size:23px}}
@media(max-width:1100px){.header-inner{min-height:80px;padding-block:14px}.navigation{background:var(--paper);border-color:var(--line);top:100%;height:calc(100dvh - 80px);max-height:calc(100dvh - 80px);padding-top:26px}.nav-primary{gap:0;column-gap:40px}.nav-primary>a{color:var(--ink);border-color:var(--line);font-size:28px;min-height:76px}.navigation .nav-link-arrow{color:var(--mute)}.nav-extras{border-color:var(--line)}.nav-extras .eyebrow,.nav-shortcuts a{color:var(--mute)}.navigation .nav-phone{color:var(--ink)}.navigation .nav-request{background:var(--ink);border-color:var(--ink);color:#fff}.header-contact{margin-left:auto;font-size:12px}.visual21-hero .architecture-caption .eyebrow{display:none}.visual21-hero .architecture-tabs button{font-size:11px}.visual21-hero .architecture-tabs button+button{padding-left:15px!important}.visual21-hero .architecture-bottom{gap:24px}.proof-featured .proof-copy{column-gap:40px}}
@media(max-width:800px){.section{padding-block:68px}.section-heading{gap:28px;margin-bottom:34px}.section-heading h2{font-size:42px}.section-heading .eyebrow{margin-bottom:18px}.page-intro{padding-top:42px;padding-bottom:38px}.intro-grid{grid-template-columns:1fr;gap:26px}.intro-grid h1{font-size:clamp(45px,8vw,65px)}.intro-grid>p{font-size:16px;max-width:560px}.visual21-hero.portfolio-hero{padding-top:36px}.visual21-hero .architecture-copy{display:block;padding-bottom:30px}.visual21-hero .architecture-copy h1{font-size:clamp(52px,9.5vw,76px)}.visual21-hero .architecture-title>.eyebrow{margin-bottom:22px}.visual21-hero .architecture-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px 30px;margin-top:27px;align-items:start;padding:0}.visual21-hero .architecture-lead{font-size:15px;line-height:1.7;margin:0;max-width:none}.visual21-hero .architecture-actions{flex-direction:column;align-items:flex-start;gap:7px}.visual21-hero .architecture-note{grid-column:1/-1;margin:0;font-size:10px}.visual21-hero .hero-photo-link{aspect-ratio:1.65}.visual21-hero .architecture-caption{padding-block:18px;gap:20px}.visual21-hero .architecture-caption strong{font-size:22px}.visual21-hero .architecture-caption-bottom{font-size:11px;gap:12px;flex-direction:column;align-items:flex-end}.visual21-hero .architecture-bottom{min-height:64px;gap:20px}.visual21-hero .architecture-tabs{display:flex}.visual21-hero .architecture-tabs button{min-height:64px;min-width:52px;padding:12px 18px!important;justify-content:center}.visual21-hero .architecture-tabs button+button{padding-left:18px!important}.visual21-hero .architecture-tabs button>span:last-child{display:none}.visual21-hero .architecture-controls{gap:10px}.home-entry-paths{margin-top:12px}.home-entry-paths>a,.home-entry-paths>a+a{min-height:0;padding:24px 0;border-color:var(--line)}.entry-copy{display:grid;grid-template-columns:1fr auto;gap:8px 24px}.entry-copy strong{font-size:23px}.entry-copy b{grid-column:2;grid-row:1/3;font-size:12px;gap:14px;padding:0}.home-proof-grid{gap:45px 28px}.proof-copy,.proof-featured .proof-copy{padding-top:22px}.proof-featured .proof-copy{column-gap:28px}.proof-featured .proof-image{aspect-ratio:1.65}.proof-featured .proof-copy h3{font-size:36px}.proof-copy h3{font-size:29px}.proof-copy dl{grid-template-columns:1fr;gap:16px}.proof-copy dd{font-size:17px}.home-directions{padding-top:40px}.home-direction-grid{gap:0 28px}.home-direction-grid>a{grid-template-columns:22px 1fr 20px;gap:16px;min-height:100px}.home-direction-grid strong{font-size:21px}.resource-grid{gap:30px}.resource strong{font-size:78px}.resource h3{font-size:21px}.partner-heading{display:block}.partner-heading h2{margin-top:18px}.footer-top{grid-template-columns:1fr 1fr;gap:40px;padding-bottom:44px}.footer-top h2{font-size:56px}.footer-contact .phone{font-size:25px}.footer-contact .contact-email{font-size:17px}.site-footer{padding-top:60px}.cta-strip{padding-block:38px}.faq-list summary{font-size:18px}}
@media(max-width:600px){.header-inner{min-height:74px;gap:16px;padding-block:12px}.brand img{width:136px;height:37px}.header-contact{font-size:11px;padding:10px 12px;min-height:44px;gap:10px}.header-contact svg{width:16px;height:16px}.menu-toggle{width:44px;height:44px}.navigation{height:calc(100dvh - 74px);max-height:calc(100dvh - 74px)}.nav-primary>a{font-size:26px;min-height:62px}.nav-extras{margin-top:25px}.nav-shortcuts a{font-size:13px}.section{padding-block:56px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:38px}.section-heading-note{margin-top:24px}.section-heading-note p{font-size:14px}.section-heading>.text-button{margin-top:20px}.page-intro{padding-top:32px;padding-bottom:32px}.page-intro>.eyebrow{margin-bottom:22px}.intro-grid h1{font-size:clamp(37px,10vw,52px)}.intro-grid>p{font-size:15px;line-height:1.7}.visual21-hero.portfolio-hero{padding-top:30px}.visual21-hero .architecture-copy h1{font-size:clamp(43px,11.8vw,70px);line-height:1.02}.visual21-hero .architecture-title>.eyebrow{font-size:8px;letter-spacing:.09em;margin-bottom:20px}.visual21-hero .architecture-summary{display:block;margin-top:24px}.visual21-hero .architecture-lead{font-size:14px;max-width:420px;margin-bottom:22px}.visual21-hero .architecture-actions{flex-direction:row;align-items:center;gap:8px 18px}.visual21-hero .architecture-actions>.button{min-height:50px;font-size:13px;padding:14px 18px;gap:25px}.visual21-hero .architecture-actions>.text-button{font-size:11px;gap:10px}.visual21-hero .architecture-note{font-size:9px;margin-top:18px}.visual21-hero .hero-photo-link{aspect-ratio:1.22}.visual21-hero .hero-photo-open{top:12px;right:12px;padding:10px 12px;gap:12px;min-height:42px;font-size:10px}.visual21-hero .architecture-caption{gap:16px;padding-block:18px;align-items:flex-end}.visual21-hero .architecture-caption strong{font-size:19px;line-height:1.2}.visual21-hero .architecture-caption-bottom{font-size:10px;max-width:75px;line-height:1.5;white-space:normal}.visual21-hero .architecture-caption-bottom svg{width:17px;height:17px}.visual21-hero .architecture-tabs button{padding:12px 16px!important;min-width:46px;min-height:60px}.visual21-hero .architecture-tabs button+button{padding-left:16px!important}.visual21-hero .architecture-count{display:none}.visual21-hero .architecture-bottom{gap:10px;min-height:60px}.visual21-hero .architecture-controls button{width:42px;height:42px}.home-entry-paths>a,.home-entry-paths>a+a{gap:16px;padding-block:23px}.entry-copy{display:flex;gap:8px}.entry-copy strong{font-size:22px}.entry-copy>span{font-size:13px}.entry-copy b{font-size:13px;align-self:flex-start;padding-top:4px}.home-proof-grid{grid-template-columns:1fr;gap:42px}.proof-featured{grid-column:auto}.proof-featured .proof-image{aspect-ratio:1.3}.proof-image img{aspect-ratio:1.3}.proof-featured .proof-copy{display:block}.proof-featured .proof-copy h3{font-size:32px;max-width:none;margin:13px 0 18px}.proof-featured .proof-work{margin-bottom:22px}.proof-copy h3{font-size:29px}.proof-copy dl{grid-template-columns:1fr 1fr;gap:20px}.proof-copy dd{font-size:16px}.proof-work{font-size:14px}.proof-result{font-size:13px}.proof-image>span{right:12px;bottom:12px;font-size:11px;gap:15px}.home-direction-grid{grid-template-columns:1fr;gap:0}.home-direction-grid>a{min-height:85px;padding-block:21px;grid-template-columns:22px 1fr 20px;gap:20px}.home-direction-grid strong{font-size:23px}.company-intro{margin-top:26px}.company-intro p:first-child{font-size:18px}.resource-grid{grid-template-columns:1fr;gap:0;padding-top:12px}.resource{display:grid;grid-template-columns:100px 1fr;column-gap:22px;padding-block:28px}.resource+.resource{border-top:1px solid #cbc8c1}.resource .eyebrow{grid-column:1/-1;font-size:10px}.resource strong{font-size:74px;grid-column:1;grid-row:2/4;margin:16px 0 0}.resource h3{grid-column:2;grid-row:2;margin-top:20px;min-height:0;font-size:21px}.resource p{grid-column:2;grid-row:3;font-size:13px;margin-top:13px}.company-link{margin-top:14px}.company-footnote{margin-top:24px}.partner-grid>span{min-height:84px;font-size:15px}.partner-heading h2{font-size:28px}.work-photo14 figcaption h3{font-size:24px}.faq-list summary{font-size:17px;padding-block:22px}.faq-list details>p{font-size:14px}.footer-top{grid-template-columns:1fr;gap:36px;padding-bottom:35px}.footer-top h2{font-size:62px;margin:22px 0 26px}.footer-contact{border-top:1px solid #ffffff26;padding-top:28px}.footer-contact .phone{font-size:30px}.footer-contact .contact-email{font-size:20px}.footer-bottom{gap:10px 20px;padding-top:28px}.footer-brand{width:100%;margin-bottom:12px}.footer-bottom>span{font-size:10px}.footer-bottom a{font-size:11px}.cta-strip{display:block;padding-block:36px}.cta-strip .button{margin-top:24px}.cta-strip h2{font-size:34px}}
@media(max-width:360px){.header-contact{font-size:10px;padding:8px 10px;gap:7px}.header-contact svg{display:none}.header-inner{gap:10px}.brand img{width:123px}.visual21-hero .architecture-actions{gap:7px 12px}.visual21-hero .architecture-copy h1{font-size:42px}.resource{grid-template-columns:85px 1fr;gap:10px 18px}.resource strong{font-size:63px}.footer-top h2{font-size:54px}body[data-page="about.html"] .intro-grid h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.header{backdrop-filter:none}.button{transition:none}}

/* Public portfolio and competencies: photography, clear reading order and fine rules. */
body[data-page="projects.html"] .project-subnav{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;gap:8px;padding-block:9px}
body[data-page="projects.html"] .project-subnav>a{flex-shrink:0;border-radius:0}
body[data-page="projects.html"] .page-intro>.eyebrow{margin-bottom:18px}
body[data-page="projects.html"] .intro-grid{gap:20px 7vw}
body[data-page^="projects/"] .case-story-index,body[data-page="solutions.html"] .solution-number{color:var(--mute)}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px 38px;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-card {
  min-width: 0;
  margin: 0;
  padding: 0;
  grid-column: auto;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-image,
body[data-page="projects.html"] .editorial-grid .project-card[data-slot] .project-image {
  aspect-ratio: 1.4;
  border-radius: 0;
  background: var(--soft);
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-tag {
  top: 18px;
  left: 18px;
  padding: 10px 13px;
  background: var(--paper);
  border-radius: 0;
  font-size: 12px;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-arrow {
  right: 18px;
  bottom: 18px;
  border-radius: 0;
  width: 48px;
  height: 48px;
  background: var(--paper);
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-meta {
  margin-top: 24px;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: .075em;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-card h3 {
  font-size: clamp(27px, 2.8vw, 42px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.045em;
  margin-top: 13px;
  max-width: 580px;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-work {
  font-size: 15px;
  line-height: 1.75;
  color: var(--mute);
  margin: 19px 0;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-directions {
  gap: 6px 16px;
  margin: 18px 0;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-directions a {
  padding: 5px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  min-height: 36px;
  background: transparent;
  font-size: 12px;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-card-actions {
  padding-top: 15px;
  gap: 12px 18px;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-select {
  border-radius: 0;
  border-color: var(--line);
  min-height: 44px;
  padding: 11px 14px;
  font-size: 12px;
}
body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-select[aria-pressed="true"] {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}

/* A quiet filter workspace, visually separate from the project photographs. */
body[data-page="projects.html"] .page-intro {
  padding-top: 35px;
  padding-bottom: 37px;
}
body[data-page="projects.html"] .intro-grid h1 {
  font-size: clamp(43px, 5.1vw, 74px);
  line-height: 1.04;
  letter-spacing: -.05em;
}
body[data-page="projects.html"] .catalog-section { padding-top: 18px; }
body[data-page="projects.html"] .catalog-tools {
  border: 0;
  border-block: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  padding: 23px 0 18px;
  margin-bottom: 38px;
  column-gap: 36px;
}
body[data-page="projects.html"] .filter-list {
  gap: 8px;
  margin-bottom: 21px;
}
body[data-page="projects.html"] .filter-button {
  border: 1px solid var(--line);
  border-radius: 0;
  min-height: 46px;
  padding: 11px 16px;
  font-size: 13px;
  background: transparent;
}
body[data-page="projects.html"] .filter-button[aria-pressed="true"] {
  border-color: var(--ink);
  color: var(--paper);
  background: var(--ink);
}
body[data-page="projects.html"] :is(.search-field input, .catalog-refine select) {
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  padding: 15px 16px;
  min-height: 52px;
}
body[data-page="projects.html"] .search-field > span,
body[data-page="projects.html"] .catalog-refine label { font-size: 12px; }
body[data-page="projects.html"] .catalog-status {
  border-color: var(--line);
  padding-top: 12px;
  margin-top: 10px;
  font-size: 12px;
  color: var(--mute);
}

/* Project pages retain the entire photograph in galleries and detail views. */
body[data-page^="projects/"] :is(.case-intro, .museum-opening) {
  padding-top: 29px;
  padding-bottom: 29px;
}
body[data-page^="projects/"] :is(.case-intro, .museum-opening) .breadcrumbs {
  margin-bottom: 30px;
  font-size: 12px;
}
body[data-page^="projects/"] :is(.case-intro h1, .museum-heading h1) {
  font-size: clamp(46px, 5.8vw, 88px);
  line-height: 1.015;
  letter-spacing: -.06em;
  max-width: 1100px;
  text-wrap: balance;
}
body[data-page^="projects/"] .case-intro-bottom {
  margin-top: 22px;
  font-size: 14px;
}
body[data-page^="projects/"] .case-scope-lead {
  margin-top: 22px;
  font-size: 16px;
  line-height: 1.7;
  max-width: 750px;
}
body[data-page^="projects/"] .project-brief {
  padding-block: 28px;
  background: var(--soft);
  gap: 32px;
  border-color: var(--line);
}
body[data-page^="projects/"] .project-brief-result { border-color: var(--line); }
body[data-page^="projects/"] .project-brief-result > p:last-child {
  margin-top: 12px;
  color: var(--mute);
  font-size: 15px;
  line-height: 1.7;
}
body[data-page^="projects/"] .museum-heading {
  grid-template-columns: minmax(0, 1.7fr) minmax(0, .8fr);
  gap: 6vw;
  margin-top: 25px;
}
body[data-page^="projects/"] .museum-heading > div p { font-size: 17px; }
body[data-page^="projects/"] .museum-cover {
  border-radius: 0;
  background: var(--soft);
}
body[data-page^="projects/"] .museum-cover-metric {
  border-radius: 0;
  background: var(--paper);
}
body[data-page^="projects/"] .case-selection {
  padding-bottom: 25px;
  gap: 18px 28px;
}
body[data-page^="projects/"] :is(.case-page-nav, .museum-nav) {
  background: transparent;
  border-color: var(--line);
  gap: 8px 23px;
}
body[data-page^="projects/"] :is(.case-page-nav, .museum-nav) a {
  padding: 10px 0;
  border-radius: 0;
  font-size: 13px;
  min-height: 44px;
  border-bottom: 1px solid transparent;
}
body[data-page^="projects/"] :is(.case-page-nav, .museum-nav) a:is([aria-current="location"], :hover) {
  background: transparent;
  border-bottom-color: var(--ink);
}
body[data-page^="projects/"] .visual-gallery {
  margin-inline: var(--gutter);
  background: var(--soft);
}
body[data-page^="projects/"] .visual-gallery .gallery-stage {
  border-radius: 0;
  background: var(--soft);
  height: min(58vw, 760px);
}
body[data-page^="projects/"] .visual-gallery .gallery-stage > img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
  object-position: center;
}
body[data-page^="projects/"] .visual-gallery .gallery-zoom {
  border-radius: 0;
  right: 22px;
  top: 22px;
  background: var(--paper);
}
body[data-page^="projects/"] .gallery-ribbon {
  background: var(--paper);
  padding-inline: 0;
  padding-block: 24px;
}
body[data-page^="projects/"] .gallery-ribbon .gallery-thumb {
  border-radius: 0;
  width: 88px;
  flex-basis: 88px;
}
body[data-page^="projects/"] .case-metrics {
  padding-block: 54px;
  gap: 48px;
}
body[data-page^="projects/"] .case-metrics strong {
  font-size: clamp(38px, 5vw, 76px);
  letter-spacing: -.05em;
}
body[data-page^="projects/"] .case-metrics > div + div strong {
  font-size: clamp(28px, 3.2vw, 46px);
}
body[data-page^="projects/"] .case-narrative { gap: 8vw; }
body[data-page^="projects/"] .case-narrative-heading h2 {
  font-size: clamp(36px, 4vw, 58px);
  letter-spacing: -.045em;
}
body[data-page^="projects/"] .case-narrative-story article {
  padding-block: 30px 40px;
}
body[data-page^="projects/"] .case-narrative-story h3 {
  font-size: 29px;
  letter-spacing: -.035em;
}
body[data-page^="projects/"] .case-narrative-story p {
  color: var(--mute);
  font-size: 17px;
  line-height: 1.8;
}
body[data-page^="projects/"] :is(.case-chapters, .case-summary, .museum-reports) {
  background: var(--soft);
  border-radius: 0;
}
body[data-page^="projects/"] .case-photo-essay {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 38px;
  align-items: start;
}
body[data-page^="projects/"] .case-photo-essay figure:nth-child(2) { padding-top: 70px; }
body[data-page^="projects/"] .case-photo-essay img,
body[data-page^="projects/"] .case-photo-essay figure:nth-child(2) img {
  height: auto;
  max-height: 700px;
  object-fit: contain;
  background: var(--soft);
}
body[data-page^="projects/"] .case-cta { background: var(--ink); }

/* Competencies use the same generous photographic rhythm as the portfolio. */
body[data-page="services.html"] .services-page { padding-top: 20px; }
body[data-page="services.html"] .visual-services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 55px 38px;
}
body[data-page="services.html"] .visual-service { display: block; }
body[data-page="services.html"] .visual-service-photo {
  border-radius: 0;
  aspect-ratio: 1.45;
  min-height: 0;
  background: var(--soft);
}
body[data-page="services.html"] .visual-service-index {
  top: 18px;
  left: 18px;
  padding: 9px 12px;
  background: var(--paper);
}
body[data-page="services.html"] .visual-service-arrow {
  bottom: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  background: var(--paper);
}
body[data-page="services.html"] .visual-service-copy { padding-top: 25px; padding-bottom: 29px; }
body[data-page="services.html"] .visual-service-copy .eyebrow { font-size: 10px; }
body[data-page="services.html"] .visual-service-copy h3 {
  font-size: clamp(29px, 3vw, 44px);
  line-height: 1.08;
  max-width: 470px;
  margin-top: 17px;
  letter-spacing: -.045em;
}
body[data-page="services.html"] .visual-service-copy p {
  font-size: 15px;
  max-width: 420px;
  line-height: 1.7;
}
body[data-page^="services/"] .service-cover {
  height: auto;
  min-height: 0;
  border-radius: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  background: var(--soft);
  margin-top: 14px;
}
body[data-page^="services/"] .service-cover::after { content: none; }
body[data-page^="services/"] .service-cover > img {
  height: clamp(400px, 42vw, 650px);
  width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
  background: var(--soft);
}
body[data-page^="services/"] .service-cover figcaption {
  position: static;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: column;
  gap: 26px;
  padding: clamp(24px, 4vw, 60px);
  color: var(--ink);
}
body[data-page^="services/"] .service-cover figcaption > span {
  color: var(--mute);
  font-size: 11px;
}
body[data-page^="services/"] .service-cover figcaption > a {
  font-size: clamp(29px, 3.1vw, 47px);
  line-height: 1.12;
  letter-spacing: -.045em;
  gap: 22px;
  align-items: flex-end;
}
body[data-page^="services/"] .service-cover figcaption > a svg { flex-shrink: 0; }
body[data-page^="services/"] .service-cover-credit14 { flex-basis: auto; }
body[data-page^="services/"] .service-nav14 {
  background: var(--paper);
  border-color: var(--line);
  padding-block: 23px;
}
body[data-page^="services/"] :is(.service-scopes14, .service-results14, .service-guide, .work-showcase14) {
  background: var(--soft);
  border-color: var(--line);
}
body[data-page^="services/"] .scope14-grid { gap: 38px; }
body[data-page^="services/"] .scope14-card {
  padding: 36px;
  border: 0;
  border-top: 1px solid var(--line);
  background: var(--paper);
}
body[data-page^="services/"] .scope14-card:nth-child(2) {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
body[data-page^="services/"] .scope14-card h3 {
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.08;
  letter-spacing: -.045em;
}
body[data-page^="services/"] .brief-panel14 {
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: var(--soft);
}
body[data-page^="services/"] .result14-grid { gap: 38px; }
body[data-page^="services/"] .result14-grid > article { border-color: var(--line); }
body[data-page^="services/"] .result14-grid p { color: var(--mute); }

/* Situation selectors stay recognisable controls rather than dense boxed cards. */
body[data-page="solutions.html"] .solution-section { padding-top: 18px; }
body[data-page="solutions.html"] .solution-choices {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 32px;
}
body[data-page="solutions.html"] .solution-choices button {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 24px 18px 29px;
  min-height: 220px;
  transition: background .18s, color .18s;
}
body[data-page="solutions.html"] .solution-choices button:hover { background: var(--soft); }
body[data-page="solutions.html"] .solution-choices button[aria-pressed="true"] {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
body[data-page="solutions.html"] .solution-choices strong {
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.12;
  letter-spacing: -.035em;
  margin: 29px 0 17px;
  max-width: 320px;
}
body[data-page="solutions.html"] .solution-choices button > span:not(.solution-number):not(.solution-arrow) {
  max-width: 290px;
  color: var(--mute);
  font-size: 13px;
  line-height: 1.65;
}
body[data-page="solutions.html"] .solution-choices button[aria-pressed="true"] > span { color: #e0ded8; }
body[data-page="solutions.html"] #solution-result { margin-top: 55px; padding-top: 50px; }
body[data-page="solutions.html"] .solution-result-grid h2 { letter-spacing: -.045em; }
body[data-page="solutions.html"] .solution-directions a {
  border: 0;
  border-bottom: 1px solid var(--line);
  padding-inline: 0;
  margin-right: 12px;
}

@media (max-width: 1000px) {
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-grid { gap: 48px 26px; }
  body[data-page="services.html"] .visual-services { gap: 42px 26px; }
  body[data-page="solutions.html"] .solution-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  body[data-page^="projects/"] .museum-heading { grid-template-columns: 1fr; gap: 22px; }
  body[data-page^="projects/"] .museum-heading > div { margin-top: 0; }
  body[data-page^="projects/"] .museum-heading > div p { font-size: 16px; }
  body[data-page^="projects/"] .case-narrative { gap: 5vw; }
  body[data-page^="projects/"] .case-photo-essay { gap: 26px; }
  body[data-page^="services/"] .service-cover > img { height: 430px; }
  body[data-page^="services/"] .scope14-grid { gap: 24px; }
  body[data-page^="services/"] .scope14-card { padding: 28px; }
}

@media (max-width: 800px) {
  body[data-page="projects.html"] .catalog-tools { display: block; padding-top: 22px; }
  body[data-page="projects.html"] .catalog-more { margin-top: 24px; }
  body[data-page="projects.html"] .catalog-status { margin-top: 23px; }
  body[data-page^="projects/"] .case-narrative { display: block; }
  body[data-page^="projects/"] .case-narrative-story { margin-top: 38px; }
  body[data-page^="projects/"] .visual-gallery .gallery-stage { height: min(73vw, 640px); }
  body[data-page^="services/"] .service-cover { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  body[data-page^="services/"] .service-cover > img { height: 370px; }
  body[data-page^="services/"] .service-cover figcaption { padding: 24px; gap: 20px; }
  body[data-page^="services/"] .service-cover figcaption > a { font-size: 30px; }
}

@media (max-width: 600px) {
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 45px;
  }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-card { margin-bottom: 0; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-image,
  body[data-page="projects.html"] .editorial-grid .project-card[data-slot] .project-image { aspect-ratio: 1.3; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-tag { top: 12px; left: 12px; padding: 8px 10px; font-size: 11px; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-arrow { right: 12px; bottom: 12px; width: 44px; height: 44px; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-meta { margin-top: 20px; font-size: 10px; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-card h3 { font-size: 30px; line-height: 1.1; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-work { font-size: 14px; line-height: 1.75; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-directions a { min-height: 40px; }
  body:is([data-page="projects.html"], [data-page^="projects/"], [data-page="services.html"], [data-page^="services/"], [data-page="solutions.html"]) .project-card-actions { align-items: center; flex-direction: row; }
  body[data-page="projects.html"] .catalog-tools { margin-bottom: 35px; padding-bottom: 19px; }
  body[data-page="projects.html"] .page-intro { padding-top: 28px; padding-bottom: 29px; }
  body[data-page="projects.html"] .intro-grid h1 { font-size: clamp(36px, 9.8vw, 51px); }
  body[data-page="projects.html"] .filter-list { margin-bottom: 20px; }
  body[data-page="projects.html"] .filter-button { padding-inline: 13px; font-size: 12px; }
  body[data-page="projects.html"] .catalog-more { margin-top: 18px; }
  body[data-page^="projects/"] :is(.case-intro, .museum-opening) { padding-top: 28px; padding-bottom: 29px; }
  body[data-page^="projects/"] :is(.case-intro, .museum-opening) .breadcrumbs { margin-bottom: 24px; font-size: 11px; }
  body[data-page^="projects/"] :is(.case-intro h1, .museum-heading h1) { font-size: clamp(36px, 9.5vw, 54px); line-height: 1.055; letter-spacing: -.05em; }
  body[data-page^="projects/"] .case-intro-bottom { margin-top: 25px; font-size: 12px; }
  body[data-page^="projects/"] .case-scope-lead { margin-top: 19px; font-size: 14px; line-height: 1.7; }
  body[data-page^="projects/"] .project-brief { gap: 20px; padding-block: 26px; }
  body[data-page^="projects/"] .project-brief-result { padding-top: 19px; }
  body[data-page^="projects/"] .museum-heading { margin-top: 25px; margin-bottom: 26px; }
  body[data-page^="projects/"] .museum-heading > div p { font-size: 15px; }
  body[data-page^="projects/"] .case-selection { gap: 9px 20px; padding-top: 9px; padding-bottom: 22px; }
  body[data-page^="projects/"] .visual-gallery { margin-inline: var(--gutter); padding-top: 0; }
  body[data-page^="projects/"] .visual-gallery .gallery-stage { height: min(100vw, 550px); min-height: 270px; padding-bottom: 60px; }
  body[data-page^="projects/"] .visual-gallery .gallery-zoom { right: 10px; top: 10px; min-height: 44px; }
  body[data-page^="projects/"] .gallery-ribbon { padding-block: 20px; }
  body[data-page^="projects/"] .gallery-ribbon .gallery-thumbs { max-width: 100%; }
  body[data-page^="projects/"] .gallery-ribbon .gallery-thumb { width: 76px; flex-basis: 76px; }
  body[data-page^="projects/"] .case-metrics { grid-template-columns: 1fr; padding-block: 33px; gap: 26px; }
  body[data-page^="projects/"] .case-metrics strong { font-size: 48px; }
  body[data-page^="projects/"] .case-metrics > div + div strong { font-size: 29px; }
  body[data-page^="projects/"] .case-metrics > div + div { padding: 26px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  body[data-page^="projects/"] .case-narrative-heading h2 { font-size: 39px; }
  body[data-page^="projects/"] .case-narrative-story article { padding-block: 25px 31px; }
  body[data-page^="projects/"] .case-narrative-story h3 { font-size: 26px; }
  body[data-page^="projects/"] .case-narrative-story p { font-size: 15px; line-height: 1.8; }
  body[data-page^="projects/"] .case-photo-essay { grid-template-columns: 1fr; gap: 31px; }
  body[data-page^="projects/"] .case-photo-essay figure:nth-child(2) { padding-top: 0; }
  body[data-page="services.html"] .visual-services { grid-template-columns: 1fr; gap: 38px; }
  body[data-page="services.html"] .visual-service { padding: 0; border-bottom: 0; }
  body[data-page="services.html"] .visual-service-photo { aspect-ratio: 1.35; }
  body[data-page="services.html"] .visual-service-copy { padding-top: 22px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
  body[data-page="services.html"] .visual-service-copy h3 { font-size: 33px; margin-top: 13px; }
  body[data-page="services.html"] .visual-service-copy p { font-size: 14px; }
  body[data-page^="services/"] .service-cover { grid-template-columns: 1fr; margin-inline: var(--gutter); }
  body[data-page^="services/"] .service-cover > img { height: auto; max-height: 65svh; }
  body[data-page^="services/"] .service-cover figcaption { padding: 24px; gap: 16px; }
  body[data-page^="services/"] .service-cover figcaption > a { font-size: 30px; }
  body[data-page^="services/"] .service-nav14 { padding-block: 16px; }
  body[data-page^="services/"] .scope14-grid { gap: 22px; }
  body[data-page^="services/"] .scope14-card { padding: 26px; }
  body[data-page^="services/"] .scope14-card h3 { font-size: 34px; }
  body[data-page="solutions.html"] .solution-choices { grid-template-columns: 1fr; gap: 0; }
  body[data-page="solutions.html"] .solution-choices button {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 20px;
    column-gap: 13px;
    row-gap: 6px;
    min-height: 108px;
    padding: 16px 13px;
  }
  body[data-page="solutions.html"] .solution-choices strong { font-size: 19px; line-height: 1.2; margin: 0; }
  body[data-page="solutions.html"] .solution-choices .solution-number { grid-column: 1; grid-row: 1 / 3; }
  body[data-page="solutions.html"] .solution-choices strong { grid-column: 2; grid-row: 1; }
  body[data-page="solutions.html"] .solution-choices button > span:not(.solution-number):not(.solution-arrow) { grid-column: 2; grid-row: 2; font-size: 12px; line-height: 1.4; }
  body[data-page="solutions.html"] .solution-arrow { grid-column: 3; grid-row: 1 / 3; position: static; align-self: center; }
  body[data-page="solutions.html"] #solution-result { margin-top: 35px; padding-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="solutions.html"] .solution-choices button { transition: none; }
}

/* Public workspaces: a clear next step, with the same architectural rhythm. */
.request-section,
.photo-request-layout,
.portfolio-builder,
.compare-section,
.kit-section {
  padding-top: clamp(36px, 4.5vw, 68px);
  padding-bottom: clamp(64px, 7vw, 104px);
}
.request-intro { padding-top: 36px; padding-bottom: 36px; }
.request-intro > .eyebrow { margin-bottom: 22px; }
.request-section { padding-top: 36px; }

.photo-shortcut {
  margin-block: 0;
  padding: 14px 0;
  background: transparent;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}
.photo-shortcut .text-button { min-height: 44px; }
.request-layout {
  grid-template-columns: minmax(220px, .7fr) minmax(0, 1.8fr);
  gap: clamp(32px, 6vw, 92px);
  max-width: 1320px;
}
.request-aside { top: 112px; }
.request-support{grid-column:2;max-width:700px;display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:24px}
.request-support .request-help{margin:0;padding:0;border:0}.request-support .privacy-note{margin:0;font-size:12px;line-height:1.8;color:var(--mute)}
.request-support .request-help>p{font-size:13px;color:var(--mute);margin:0 0 6px}.request-support .request-help span{font-size:12px}
#request-form>.request-draft-controls:last-child{margin:30px 0 0}
.request-steps li {
  min-height: 82px;
  gap: 18px;
  padding: 20px 0;
  font-size: 15px;
  font-weight: 400;
  border-color: var(--line);
}
.request-steps li span {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  background: transparent;
  font-size: 12px;
}
.request-steps li[aria-current=step] { font-weight: 500; }
.request-steps li[aria-current=step] span {
  color: var(--paper);
  background: var(--ink);
  border-color: var(--ink);
}
.request-help {
  gap: 12px;
  padding-top: 28px;
  margin-top: 24px;
  border-top: 1px solid var(--line);
}
.request-help a { font-size: clamp(21px, 1.8vw, 27px); letter-spacing: -.035em; }
.request-help span, .request-aside .privacy-note { color: var(--mute); line-height: 1.7; }
.request-layout > div {
  min-width: 0;
  padding: clamp(24px, 3.1vw, 46px);
  background: #fff;
  border: 1px solid var(--line);
}
.request-step legend {
  margin-bottom: 20px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  letter-spacing: -.045em;
}
.request-step label { font-size: 14px; line-height: 1.5; margin-bottom: 26px; }
.request-step .field-hint { max-width: 58ch; line-height: 1.7; margin-bottom: 28px; }
.request-step input:not([type=checkbox]):not([type=file]),
.request-step select,
.request-step textarea,
#request-result textarea,
#photo-request-form input:not([type=checkbox]):not([type=file]),
#photo-request-form textarea,
.portfolio-builder-top input,
.portfolio-builder-top select,
.budget-fields input,
.budget-fields select {
  border: 1px solid #c8c5be;
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  min-height: 56px;
  padding: 14px 16px;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
}
.request-step textarea, #photo-request-form textarea { min-height: 132px; }
.request-step input[aria-invalid=true],
.request-step select[aria-invalid=true],
.request-step textarea[aria-invalid=true],
#photo-request-form input[aria-invalid=true] { border-color: #a52424; }
.choice-grid { gap: 10px; margin-bottom: 32px; }
.choice-tile {
  gap: 14px;
  padding: 20px 18px;
  border-color: var(--line);
  background: var(--paper);
  min-height: 82px;
  font-size: 14px !important;
  transition: border-color .18s, background .18s;
}
.choice-tile:hover { border-color: #8a8780; }
.choice-tile:has(input:checked) {
  border-color: var(--ink);
  background: var(--soft);
  box-shadow: inset 3px 0 var(--ink);
}
.choice-tile input { width: 20px; height: 20px; flex-basis: 20px; accent-color: var(--ink); }
.choice-tile:has(input:focus-visible) { outline: 2px solid var(--ink); outline-offset: 3px; }
.request-draft-controls {
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  padding: 18px 20px;
  margin-bottom: 26px;
  background: var(--paper);
  border-color: var(--line);
  gap: 12px 18px;
}
.request-draft-status, .request-draft-files { grid-column: 1/-1; }
.request-draft-status:empty { display: none; }
.request-draft-actions { justify-content: flex-end; max-width: 260px; }
.request-draft-controls strong { font-size: 16px; font-weight: 500; }
.request-draft-controls p { font-size: 13px; line-height: 1.7; color: var(--mute); }
.request-draft-controls button {
  border-color: #c8c5be;
  padding: 11px 14px;
  min-height: 44px;
  font-size: 13px;
  border-radius: 0;
}
.request-draft-controls button:hover { background: var(--soft); border-color: var(--ink); }
.request-draft-files { border-color: var(--line); }
.request-project-context,
.selection-context,
#request-form .solution-context,
#request-form .audience-context,
.photo-project-context {
  background: var(--soft);
  border: 0;
  border-left: 2px solid var(--ink);
  border-radius: 0;
  padding: 20px 22px;
  margin-bottom: 26px;
  overflow-wrap: anywhere;
}
.request-project-context { grid-template-columns: 100px minmax(0,1fr); gap: 20px; }
.request-project-context img { width: 100px; height: 100px; }
.request-project-context strong { font-size: 19px; font-weight: 500; }
.request-project-context .text-button,
.selection-context .text-button { min-height: 44px; font-size: 13px; }
.request-object-details {
  padding: 26px;
  background: var(--paper);
  border-color: var(--line);
  margin-block: 28px;
}
.request-object-details h3 { font-size: 25px; font-weight: 400; letter-spacing: -.025em; }
.request-data-hints { font-size: 14px; line-height: 1.7; color: var(--mute); }
.preparation-list {
  background: transparent;
  border: 0;
  border-block: 1px solid var(--line);
  border-radius: 0;
  padding: 18px 0;
  margin-block: 28px;
}
.preparation-list summary { min-height: 44px; display: list-item; align-content: center; font-size: 16px; }
.preparation-list p { color: var(--mute); }
.preparation-list input[type=checkbox] { accent-color: var(--ink); }
.upload-zone {
  border: 1px dashed #a8a49a;
  background: var(--paper);
  padding: 28px;
}
.upload-zone.dragging { border-color: var(--ink); background: var(--soft); }
.upload-zone strong { font-size: 21px; letter-spacing: -.02em; }
.upload-zone input::file-selector-button {
  border-color: #c8c5be;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 0;
}
#selected-files li { gap: 16px; border-color: var(--line); }
#selected-files button { min-height: 44px; flex-shrink: 0; }
.request-review { background: var(--paper); padding: 28px; border: 1px solid var(--line); }
.request-review h3 { font-size: 24px; letter-spacing: -.025em; }
.request-review dl { gap: 14px 20px; line-height: 1.6; }
.form-actions { padding-top: 28px; margin-top: 28px; }
.form-actions .button { min-width: 180px; }
.form-actions .text-button { min-height: 44px; }
.result-note { background: var(--soft); }
.request-section .result-actions .text-button,
.photo-request-layout .result-actions .text-button { min-height: 44px; }
.photo-request-layout {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.2fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: start;
}
.photo-guidance { max-width: 430px; }
.photo-guidance li { padding: 25px 0; grid-template-columns: 34px minmax(0,1fr); gap: 8px 18px; }
.photo-guidance li::before { color: var(--mute); }
.photo-guidance strong { font-size: 23px; font-weight: 400; letter-spacing: -.025em; }
.photo-guidance li span, .photo-guidance > p:not(.eyebrow) { color: var(--mute); }
.photo-form-panel { border: 1px solid var(--line); background: #fff; padding: clamp(24px,3.1vw,44px); }
.photo-upload { border-radius: 0; padding: 28px; background: var(--paper); border-color: #a8a49a; }
.photo-upload.is-dragging { background: var(--soft); border-color: var(--ink); }
.photo-upload h2 { font-size: 30px; font-weight: 400; letter-spacing: -.035em; }
.photo-upload p { color: var(--mute); }
.photo-upload-actions { gap: 14px 20px; margin-top: 26px; }
.photo-upload-actions .text-button { min-height: 44px; }
.photo-previews { gap: 12px; }
.photo-previews li { border-radius: 0; border-color: var(--line); }
.photo-previews img { background: var(--soft); }
.photo-extra { margin-top: 28px; }
.photo-extra summary { min-height: 56px; align-items: center; font-size: 15px; }
.photo-submit { margin-top: 28px; min-height: 56px; }
.photo-success { background: var(--paper); border: 1px solid var(--line); border-radius: 0; padding: 30px; }
.photo-success h2 { font-weight: 400; letter-spacing: -.04em; }
.budget-section { background: var(--paper); border-color: var(--line); }
.budget-heading { grid-template-columns: 1.15fr 1fr; gap: 60px; margin-bottom: 44px; }
.budget-heading h2 { font-size: clamp(32px, 3.9vw, 54px); line-height: 1.12; letter-spacing: -.045em; font-weight: 400; }
.budget-heading > p { color: var(--mute); font-size: 17px; line-height: 1.75; }
.budget-layout { grid-template-columns: 1.1fr 1fr; background: #fff; border-color: var(--line); }
.budget-form, .budget-result { padding: clamp(28px, 3.6vw, 52px); }
.budget-fields { gap: 26px 24px; }
.budget-fields > label, .budget-scope legend { font-size: 14px; font-weight: 400; }
.budget-scope span { border-color: #c8c5be; min-height: 58px; font-size: 14px; }
.budget-scope input:checked + span { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.budget-result { background: var(--ink); color: var(--paper); }
.budget-result h3 { font-size: clamp(28px, 2.7vw, 40px); font-weight: 400; line-height: 1.2; margin-top: 20px; }
.budget-result .budget-value { font-size: clamp(30px, 3.2vw, 46px); font-weight: 400; margin-block: 12px 26px; }
.budget-result > p:not(.eyebrow):not(.budget-value) { color: #d3d0c8; line-height: 1.75; }
.budget-summary div { padding-block: 14px; border-color: #55534f; }
.budget-summary dt { color: #c0bdb5; }
.budget-result > .button { background: var(--paper); color: var(--ink); border-color: var(--paper); min-height: 56px; }
.budget-result > .button:hover { background: #e4e1d9; border-color: #e4e1d9; }
.budget-result .text-button { min-height: 44px; color: #eeece7; }
.budget-share-output input { border-radius: 0; min-height: 48px; }
.budget-context { background: var(--soft); border-color: var(--line); padding: 24px; }
.portfolio-builder-top { padding: 28px; border: 1px solid var(--line); background: #fff; margin-bottom: 38px; gap: 24px; }
.portfolio-builder-top label { font-size: 14px; }
.portfolio-quick { gap: 18px 28px; }
.portfolio-quick .text-button { min-height: 44px; font-size: 14px; }
.portfolio-cards { gap: 30px; }
.portfolio-item { border-color: var(--line); background: #fff; transition: border-color .18s; }
.portfolio-item:hover { border-color: #8a8780; }
.portfolio-item.selected { border-color: var(--ink); box-shadow: inset 0 -3px var(--ink); }
.portfolio-item > div { padding: 24px; }
.portfolio-item h2 { font-size: 26px; line-height: 1.2; letter-spacing: -.035em; }
.portfolio-item p { color: var(--mute); font-size: 13px; line-height: 1.6; }
.portfolio-item .portfolio-check { min-height: 44px; padding: 10px 12px; background: var(--paper); }
.portfolio-item.selected .portfolio-check { background: var(--ink); color: var(--paper); }
.portfolio-item input { accent-color: #66645f; }
.portfolio-builder-bottom { padding: 28px 32px; background: var(--ink); color: var(--paper); margin-top: 38px; }
.portfolio-builder-bottom strong { font-size: 23px; letter-spacing: -.025em; }
.portfolio-builder-bottom .button { min-height: 54px; background: var(--paper); border-color: var(--paper); }
.portfolio-builder-bottom .text-button { min-height: 44px; }
.portfolio-order { gap: 0 36px; margin-top: 32px; }
.portfolio-order li { padding: 18px 0; gap: 12px; font-size: 14px; line-height: 1.5; }
.portfolio-order li > span { min-width: 0; overflow-wrap: anywhere; }
.portfolio-order button { min-width: 44px; min-height: 44px; border-color: var(--line); }
.portfolio-order .remove { min-width: 44px; }
#portfolio-ready a { padding-block: 12px; min-height: 44px; }
.compare-selected { border-bottom: 1px solid var(--line); padding-bottom: 26px; }
.compare-selected h2 { font-size: 27px; line-height: 1.2; margin-bottom: 22px; letter-spacing: -.035em; }
.compare-selected li { background: #fff; border-color: var(--line); padding-left: 18px; }
.compare-selected li > a { font-size: 14px; }
.compare-actions { gap: 20px 28px; margin-block: 28px 40px; }
.compare-actions .text-button { min-height: 44px; }
.compare-section legend { font-size: 29px; letter-spacing: -.035em; margin-bottom: 28px; }
.compare-choices { gap: 24px; }
.compare-choice > span { padding: 0 0 18px; gap: 12px; background: #fff; border: 1px solid var(--line); }
.compare-choice:has(input:checked) > span { border-color: var(--ink); background: var(--soft); box-shadow: inset 0 -3px var(--ink); }
.compare-choice strong { padding-inline: 18px; font-size: 19px; font-weight: 400; letter-spacing: -.025em; }
.compare-choice small { padding-inline: 18px; font-size: 12px; color: var(--mute); }
.compare-choice > input { width: 24px; height: 24px; accent-color: var(--ink); }
.compare-table-wrap { border-color: var(--line); background: #fff; }
.compare-table th, .compare-table td { padding: 26px; border-color: var(--line); }
.compare-table caption { color: var(--mute); padding: 22px 26px; }
.compare-table thead th { font-size: 23px; letter-spacing: -.025em; }
.compare-table th:first-child, .compare-table tbody tr:nth-child(even) td { background: var(--paper); }
.compare-parameter { border-color: var(--line); background: #fff; }
.compare-parameter h3 { background: var(--soft); padding: 18px 20px; }
.compare-parameter dl { padding-inline: 20px; }
.compare-parameter dl > div { padding-block: 20px; }
.kit-form { gap: clamp(36px,6vw,88px); grid-template-columns: minmax(0,1.4fr) minmax(280px,1fr); }
.kit-options fieldset { border-color: var(--line); padding-top: 28px; margin-bottom: 44px; }
.kit-options legend { font-size: 27px; letter-spacing: -.035em; line-height: 1.3; }
.kit-options fieldset > p { color: var(--mute); line-height: 1.75; }
.kit-check { min-height: 64px; padding-block: 18px; gap: 16px; }
.kit-check strong { font-size: 17px; font-weight: 400; }
.kit-check small { font-size: 13px; color: var(--mute); line-height: 1.65; }
.kit-check input { width: 21px; height: 21px; accent-color: var(--ink); }
.kit-summary { padding: clamp(28px,3.2vw,46px); background: var(--ink); color: var(--paper); border-radius: 0; top: 112px; }
.kit-summary h2 { font-size: clamp(30px,3vw,42px); font-weight: 400; letter-spacing: -.04em; line-height: 1.15; }
.kit-summary .eyebrow, .kit-summary small { color: #c4c0b7; }
.kit-summary .button { background: var(--paper); color: var(--ink); border-color: var(--paper); min-height: 56px; }
.kit-summary .text-button { color: var(--paper); min-height: 44px; }
.selection-tray { background: var(--paper); border-color: #c8c5be; border-radius: 0; box-shadow: 0 12px 36px #2525251a; padding: 20px 26px; }
.selection-heading strong { font-size: 15px; }
.selection-heading button { min-height: 44px; }
.selection-chips button { background: var(--soft); min-height: 44px; font-size: 13px; }
.selection-bottom p { font-size: 13px; color: var(--mute); }
.selection-bottom .button { min-height: 48px; }
.callback-section { grid-template-columns: 1.05fr 1fr; gap: clamp(36px,7vw,104px); background: var(--ink); color: var(--paper); border-color: var(--ink); scroll-margin-top: 108px; }
.callback-section .eyebrow { color: #c4c0b7; }
.callback-section h2 { font-weight: 400; font-size: clamp(38px,4.9vw,70px); letter-spacing: -.055em; line-height: 1.08; }
.callback-section > div > p:not(.eyebrow) { color: #d3d0c8; font-size: 17px; line-height: 1.75; max-width: 46ch; }
.callback-section .text-button, .callback-photo-link { color: var(--paper); min-height: 44px; }
.callback-form { gap: 24px; max-width: none; }
.callback-form > label:not(.check-line) { gap: 10px; font-size: 14px; }
.callback-form input:not([type=checkbox]) { min-height: 56px; background: #fff; color: var(--ink); border: 1px solid #e6e3dc; border-radius: 0; padding: 15px 16px; }
.callback-form .check-line { font-size: 13px; line-height: 1.7; color: #d3d0c8; }
.callback-form .button { background: var(--paper); color: var(--ink); border-color: var(--paper); min-height: 56px; }
.callback-form .button:hover { background: #e4e1d9; border-color: #e4e1d9; }
.callback-hint { color: #c4c0b7; line-height: 1.7; }
.callback-status { background: var(--paper); color: var(--ink); padding: 20px; line-height: 1.7; }
.contact-dialog { width: min(700px,calc(100vw - 32px)); border-radius: 0; padding: clamp(28px,4vw,56px); background: var(--paper); box-shadow: 0 24px 80px #0003; }
.contact-dialog::backdrop { background: #252525ad; backdrop-filter: blur(4px); }
.contact-dialog h2 { font-size: clamp(32px,4vw,48px); letter-spacing: -.055em; line-height: 1.1; margin-block: 18px 24px; }
.contact-context { color: var(--mute); font-size: 15px; }
.contact-options { border-color: var(--line); }
.contact-options > a { padding: 26px 0; border-color: var(--line); gap: 22px; }
.contact-options > a:hover { background: var(--soft); }
.contact-options strong { font-size: 23px; letter-spacing: -.025em; }
.contact-option-number, .contact-options div > span { color: var(--mute); }
.contact-close { min-height: 44px; margin-top: -16px; margin-right: -16px; }
.contact-email-link { padding-top: 24px; font-size: 16px; }

@media (max-width: 1100px) {
  .request-layout { grid-template-columns: 210px minmax(0,1fr); gap: 32px; }
  .request-layout > div, .photo-form-panel { padding: 28px; }
  .request-help a { font-size: 21px; }
  .portfolio-cards { gap: 22px; }
  .portfolio-item > div { padding: 20px; }
  .portfolio-item h2 { font-size: 23px; }
  .compare-choices { gap: 18px; }
  .compare-table th, .compare-table td { padding: 20px; }
  .budget-heading { gap: 36px; }
}
@media (max-width: 900px) {
  .kit-form { grid-template-columns: 1fr; gap: 24px; }
  .kit-summary { position: static; }
}
@media (max-width: 800px) {
  .request-support{grid-column:1;grid-template-columns:1fr;gap:22px}
  .request-layout { grid-template-columns: 1fr; gap: 28px; }
  .request-aside { position: static; }
  .request-steps { gap: 20px; }
  .request-steps li { min-height: 76px; font-size: 13px; gap: 12px; }
  .request-steps li span { width: 30px; height: 30px; flex-basis: 30px; }
  .request-help { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 0; padding-top: 20px; align-items: center; }
  .request-help a { font-size: 18px; min-height: 44px; display: inline-flex; align-items: center; }
  .request-aside .privacy-note { margin-top: 12px; }
  .request-draft-controls { grid-template-columns: 1fr; }
  .request-draft-actions { max-width: none; justify-content: flex-start; }
  .photo-request-layout { grid-template-columns: 1fr; gap: 36px; }
  .photo-form-panel { grid-row: 1; }
  .photo-guidance { max-width: none; }
  .photo-guidance ol { gap: 22px; }
  .photo-guidance li { grid-template-columns: 1fr; }
  .photo-guidance strong { font-size: 21px; }
  .callback-section { grid-template-columns: 1fr; gap: 36px; }
  .callback-section > div > p:not(.eyebrow) { max-width: 58ch; }
  .budget-heading { grid-template-columns: 1fr; gap: 24px; margin-bottom: 32px; }
  .budget-layout { grid-template-columns: 1fr; }
  .budget-result { min-height: 360px; }
  .portfolio-order { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .request-section, .photo-request-layout, .portfolio-builder, .compare-section, .kit-section { padding-top: 28px; padding-bottom: 56px; }
  .request-intro { padding-top: 28px; padding-bottom: 28px; }
  .request-intro .intro-grid { gap: 18px; }
  .request-intro > .eyebrow { margin-bottom: 18px; }
  .photo-shortcut { padding-block: 10px; font-size: 12px; gap: 0 12px; }
  .photo-shortcut .text-button { font-size: 12px; }
  .request-layout > div, .photo-form-panel { padding: 22px 18px; }
  .request-steps { gap: 12px; }
  .request-steps li { flex-direction: column; align-items: flex-start; gap: 8px; min-height: 84px; padding-block: 12px; font-size: 12px; }
  .request-help { gap: 0 18px; padding-top: 12px; }
  .request-help span { font-size: 12px; }
  .request-help a { font-size: 17px; }
  .request-step legend { font-size: 30px; }
  .choice-grid { grid-template-columns: 1fr; gap: 9px; }
  .choice-tile { min-height: 64px; padding: 16px; }
  .field-grid { grid-template-columns: 1fr; gap: 0; }
  .request-draft-controls { padding: 16px; margin-bottom: 24px; gap: 10px; }
  .request-project-context, .selection-context, #request-form .solution-context, #request-form .audience-context, .photo-project-context { padding: 18px; }
  .request-project-context { grid-template-columns: 72px minmax(0,1fr); gap: 14px; }
  .request-project-context img { width: 72px; height: 88px; }
  .request-project-context strong { font-size: 17px; }
  .request-object-details { padding: 20px 18px; }
  .request-object-details h3 { font-size: 23px; }
  .request-review { padding: 20px 18px; }
  .request-review dl { grid-template-columns: 82px minmax(0,1fr); gap: 12px; font-size: 13px; }
  .upload-zone { padding: 20px 18px; }
  .upload-zone input { font-size: 12px; }
  .upload-zone input::file-selector-button { padding: 10px 12px; margin-right: 8px; }
  .form-actions { gap: 16px; }
  .form-actions .button { min-width: 0; padding-inline: 18px; }
  .photo-upload { padding: 22px 18px; }
  .photo-upload h2 { font-size: 27px; }
  .photo-guidance li { grid-template-columns: 30px minmax(0,1fr); }
  .photo-guidance li::before { grid-row: 1/3; }
  .photo-guidance strong { font-size: 22px; }
  .photo-success { padding: 24px 20px; }
  .budget-form, .budget-result { padding: 26px 22px; }
  .budget-fields { gap: 24px; }
  .budget-fields > label { font-size: 14px; }
  .budget-result h3, .budget-compact .budget-result h3 { font-size: 30px; }
  .budget-result .budget-value { font-size: 34px; }
  .portfolio-builder-top { padding: 22px 20px; gap: 20px; }
  .portfolio-quick { gap: 10px 22px; }
  .portfolio-cards { gap: 24px; }
  .portfolio-item h2 { font-size: 26px; }
  .portfolio-builder-bottom { padding: 22px 20px; gap: 18px; }
  .portfolio-builder-bottom strong { font-size: 22px; }
  .portfolio-order li { gap: 8px; font-size: 13px; flex-wrap: wrap; }
  .portfolio-order li > span { flex: 1 0 calc(100% - 144px); }
  .compare-selected h2 { font-size: 25px; }
  .compare-section legend { font-size: 26px; }
  .compare-choices { gap: 14px; }
  .compare-choice > span { padding-bottom: 16px; }
  .compare-choice strong { font-size: 17px; padding-inline: 12px; }
  .compare-choice small { padding-inline: 12px; font-size: 11px; }
  .compare-choice > input { left: 10px; top: 10px; }
  .kit-options legend { font-size: 24px; }
  .kit-summary { padding: 28px 24px; }
  .kit-summary h2 { font-size: 34px; }
  .selection-tray { padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); }
  .selection-bottom { gap: 16px; }
  .selection-chips button { font-size: 12px; }
  .callback-section h2 { font-size: clamp(40px,10.8vw,56px); }
  .callback-section > div > p:not(.eyebrow) { font-size: 16px; }
  .callback-form { gap: 22px; }
  .contact-dialog { width: calc(100vw - 24px); padding: 28px 24px; }
  .contact-dialog h2 { font-size: 34px; }
  .contact-options > a { gap: 14px; grid-template-columns: 18px minmax(0,1fr) 20px; padding-block: 23px; }
  .contact-options strong { font-size: 21px; }
}
@media (max-width: 480px) {
  .photo-upload-actions .button, .photo-upload-actions .text-button { width: 100%; justify-content: center; }
  .budget-fields { grid-template-columns: 1fr; }
  .budget-scope span { padding-inline: 10px; font-size: 13px; }
}
@media print {
  .compare-section { padding: 0; }
  .compare-table caption { padding: 12px; }
  .compare-table th, .compare-table td { font-size: 10px; padding: 7px; }
  .compare-table thead th { font-size: 12px; }
}
