@font-face{font-family:Space;src:url(space.woff) format("woff");font-weight:300 700;font-display:swap}
:root{--ink:#22252a;--text:#525d68;--orange:#ffac17;--paper:#fff;--mist:#f4f6f7;--line:#dce1e4;--width:1296px;--rail:clamp(195px,19vw,284px)}
*{box-sizing:border-box}html{scroll-padding-top:78px;scroll-behavior:smooth}body{margin:0;background:white;color:var(--ink);font:16px/1.65 Space,Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13;letter-spacing:-.042em}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9f5200;outline-offset:4px}img{max-width:100%;display:block}.wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.skip{position:fixed;z-index:99;left:12px;top:-100px;background:white;padding:12px}.skip:focus{top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:47px;padding:12px 25px;background:var(--orange);color:#191d20;border:0;font-size:13px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;transition:box-shadow .22s,background .22s,color .22s}.button:hover{background:#25292e;color:#fff}.button b{font-size:17px;font-weight:500}.text-link,.card-link{display:inline-flex;gap:12px;align-items:center;margin-top:18px;font-size:14px;font-weight:700;border-bottom:2px solid var(--orange)}.text-link:hover,.card-link:hover{color:#8c5200}
.masthead{position:relative;z-index:20;background:#fff;box-shadow:0 1px 0 #0001}.masthead:before,.masthead:after{content:"";position:absolute;inset:0 auto 0 0;width:max(calc((100vw - var(--width))/2 + var(--rail)),calc(48px + var(--rail)));clip-path:polygon(0 0,calc(100% - 48px) 0,100% 100%,0 100%);pointer-events:none}.masthead:before{background:var(--ink)}.masthead:after{background:var(--orange);width:max(calc((100vw - var(--width))/2 + var(--rail) - 9px),calc(39px + var(--rail)));clip-path:polygon(calc(100% - 53px) 0,calc(100% - 46px) 0,100% 100%,calc(100% - 7px) 100%)}.contact-bar{background:var(--orange);color:#241d11}.contact-rail{display:flex;align-items:center;gap:23px;height:39px;padding-left:calc(var(--rail) + 22px);font-size:13px}.contact-rail span{margin-left:auto}.nav{height:76px;display:flex;align-items:center;gap:25px;position:relative;padding-left:calc(var(--rail) + 22px)}.brand{position:absolute;left:0;bottom:0;height:115px;display:flex;gap:8px;align-items:center;color:white;z-index:1}.brand img{display:block;width:152px;height:auto}.nav nav{display:flex;gap:clamp(12px,1.9vw,30px);align-items:center;font-size:15px;font-weight:600}.nav nav a{padding:9px 0;border-bottom:2px solid transparent}.nav nav a:hover,.nav nav a[aria-current]{border-color:var(--orange)}.nav-cta{margin-left:auto}.menu-toggle{display:none}
.panorama{position:relative;isolation:isolate;overflow:hidden;background:#edf2f2;height:clamp(510px,45.14vw,650px)}.skyline{position:absolute;inset:0;background:linear-gradient(90deg,#fbfcfbea 0%,#fbfcfad9 27%,#fbf5e9a6 55%,#e4ecea80),url(structure.webp) center 54%/cover}.site-outline{position:absolute;left:22%;bottom:-6%;width:min(35vw,540px);opacity:.18;filter:brightness(.35) grayscale(1);pointer-events:none}.blueprint{display:block;width:100%}.slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .65s ease;visibility:hidden}.slide.current{opacity:1;visibility:visible;pointer-events:auto;z-index:1}.slide.departing{visibility:visible}.slide-picture{position:absolute;inset:0 0 0 50%;clip-path:polygon(0 0,100% 0,100% 100%,min(14vw,200px) 100%)}.slide-picture img{width:100%;height:100%;object-fit:cover;object-position:51% center}.current .stage-photo{animation:pan 9s ease-out both}.stage-content{height:100%;position:relative;display:flex;align-items:center;pointer-events:none}.slogan{width:48%;max-width:625px;pointer-events:auto}.kicker{font-size:17px;font-weight:600;margin-bottom:18px;display:flex;align-items:center;gap:10px}.kicker:before{content:"";width:9px;height:9px;flex:none;background:var(--orange);box-shadow:0 0 0 3px #ffac1770;border-radius:50%}.slogan h1,.slogan h2{font-size:clamp(46px,4.15vw,63px);line-height:1.06;max-width:13ch;font-weight:700}.intro{font-size:18px;line-height:1.6;color:#505963;max-width:430px;margin:22px 0}.current .slogan>*{animation:rise .7s cubic-bezier(.16,.7,.3,1) both}.current .slogan>:nth-child(2){animation-delay:.08s}.current .slogan>:nth-child(3){animation-delay:.15s}.current .slogan>:nth-child(4){animation-delay:.22s}.beam{position:absolute;inset:0 auto 0 50%;width:12%;z-index:2;pointer-events:none;transform:skewX(17deg);transform-origin:top}.beam i{display:block;position:absolute;background:var(--orange);width:9px;height:37%;left:0;top:0}.beam i+i{top:auto;bottom:0;height:19%;left:-8px;width:17px;background:#25282be8}.beam.sweep i{animation:lower .88s ease-out both}.beam.sweep i+i{animation:upper .9s ease-out both}.slide-dots,.slide-tools{position:absolute;display:flex;z-index:3}.slide-dots{flex-direction:column;left:max(5px,calc((100% - var(--width))/2 - 43px));top:50%;transform:translateY(-50%)}.slide-dots button,.slide-tools button{border:0;color:var(--ink);background:transparent}.slide-dots button{width:26px;height:26px;display:grid;place-items:center;padding:0}.slide-dots button:after{content:"";width:7px;height:7px;background:#50565b;border-radius:50%}.slide-dots [aria-pressed=true]:after{background:var(--orange);outline:1px solid #a66a00;outline-offset:4px}.slide-tools{bottom:15px;right:max(16px,calc((100% - var(--width))/2));background:#fffffff0}.slide-tools button{width:40px;height:36px;font-size:16px}.slide-tools button:hover{background:var(--orange)}
.section{padding-block:clamp(58px,7.5vw,108px)}.section h2,.about-band h2,.cta h2{font-size:clamp(32px,3.2vw,48px);margin:12px 0 22px}.eyebrow{font-size:14px;font-weight:600;color:#925300;display:flex;align-items:center;gap:9px}.eyebrow:before{content:"";display:inline-block;width:30px;height:2px;background:var(--orange)}.story,.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(35px,6vw,85px);align-items:center}.story-photos{position:relative;padding:0 24% 16% 0}.story-photos img{width:100%;aspect-ratio:4/4.4;object-fit:cover}.story-photos img+img{position:absolute;width:54%;height:55%;bottom:0;right:0;border:7px solid white}.year{position:absolute;right:0;top:11%;background:var(--orange);border-top:5px solid var(--ink);padding:14px 25px}.year strong,.year span{display:block}.year strong{font-size:36px;line-height:1.15}.year span{font-size:12px;text-transform:uppercase;font-weight:700}.story .button{margin-top:25px}.services-band,.about-band,.title-band{background:var(--mist)}.center-heading{max-width:650px;text-align:center;margin:0 auto 35px}.center-heading .eyebrow{justify-content:center}.service-grid,.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card,.editorial-card{background:white;border:1px solid var(--line);position:relative;transition:transform .3s,box-shadow .3s}.service-card:hover,.editorial-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #17253412}.service-card>img,.editorial-card img{width:100%;height:auto;aspect-ratio:1.75;object-fit:cover}.service-index{display:inline-grid;place-items:center;min-width:48px;height:44px;background:var(--orange);font-size:21px;font-weight:700;margin:-22px 0 0 24px;position:relative}.service-card>div{padding:20px 24px 28px}.service-card h3,.service-card h2,.editorial-card h3,.editorial-card h2{font-size:24px;margin:0 0 12px}.service-card p,.editorial-card p,.steps p,.faq p,.lead{color:var(--text)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;counter-reset:phase}.steps>div{border-top:2px solid var(--line);padding:18px 0;counter-increment:phase}.step-mark{font-size:0}.step-mark:before{content:counter(phase,decimal-leading-zero);font-size:28px;color:#a65f00;font-weight:700}.steps h3{margin:12px 0}.compact{padding-top:35px}.work-strip,.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.work-strip a,.gallery a{overflow:hidden}.work-strip img,.gallery img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover;transition:transform .55s}.work-strip a:hover img,.gallery a:hover img{transform:scale(1.045)}.about-band{padding-block:65px}.marks{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.marks img,.prose .marks img{width:84px;height:40px;object-fit:contain;margin:0}.editorial-card h2,.editorial-card h3,.editorial-card .eyebrow,.editorial-card>p{margin:20px 20px 12px}.editorial-card>p{margin-bottom:24px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:10px;font-weight:600;font-size:18px}.faq summary span{color:#a25d00}.faq details[open] summary span{transform:rotate(45deg)}.faq p{padding-top:14px;max-width:85ch}
.title-band{background:linear-gradient(90deg,#f9faf9fa,#f8f9f5de 60%,#fff7),url(structure.webp) center 55%/cover;border-bottom:1px solid var(--line)}.page-heading{padding-block:clamp(42px,5.3vw,76px)}.breadcrumb{font-size:13px;color:#515b63;margin-bottom:18px}.page-heading h1{font-size:clamp(34px,4.2vw,60px);max-width:25ch;margin:12px 0}.page-heading .lead{max-width:78ch}.article-layout,.contact-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(235px,1fr);gap:clamp(32px,5vw,74px)}.article-aside,.contact-panel{align-self:start;border-top:4px solid var(--orange);background:var(--mist);padding:28px}.article-aside>a,.contact-panel>a{display:block;margin-top:14px}.article-aside .button,.contact-panel .text-link{display:inline-flex}.prose{color:var(--text);font-size:17px;line-height:1.8;overflow-wrap:anywhere}.prose p+p{margin-top:1em}.prose a{text-decoration:underline;text-decoration-color:#d18a18;text-underline-offset:3px}.prose h2{font-size:28px;margin:35px 0 14px;color:var(--ink)}.prose>img{width:100%;height:auto;max-height:520px;object-fit:cover;margin-bottom:26px}.album{margin-top:32px}.article-layout .gallery{grid-template-columns:repeat(3,1fr)}.pager{display:flex;gap:20px;align-items:center;margin:20px 0}.pager a{margin:0}.contact-grid{grid-template-columns:minmax(240px,1fr) minmax(0,1.65fr)}.contact-phone{font-size:24px;font-weight:700}.contact-form{display:grid;gap:16px;margin-top:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:5px;font-size:15px;font-weight:600}input,textarea{border:1px solid #afb7bd;background:#fff;color:var(--ink);padding:12px;width:100%;border-radius:0}textarea{resize:vertical}label.check{display:flex;align-items:start;gap:8px;font-weight:400}.check input{width:auto;margin-top:6px}.check a{text-decoration:underline}.honey{position:absolute;left:-99999px}.contact-form .button{justify-self:start}.notice{padding:15px;background:#edf5ec;margin:12px 0}.error{background:#fff1ed}.cta{padding:60px 0;background:var(--orange);position:relative;overflow:hidden}.cta .eyebrow{color:var(--ink)}.cta-symbol{position:absolute;right:10%;top:-65px;font-size:290px;line-height:1;opacity:.1;pointer-events:none}.dark{color:white;background:var(--ink)}footer{background:#22252a;color:white}.footer-grid{padding-block:55px;display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:55px}footer img{width:110px;height:auto;margin-bottom:15px}footer h2{font-size:18px;margin-bottom:12px}footer a{display:block}footer p,.footer-bottom{color:#c6ccd0;font-size:14px}.footer-bottom{border-top:1px solid #ffffff2a;display:flex;justify-content:space-between;gap:12px;padding:18px 0}.footer-bottom>div{display:flex;gap:18px}.footer-grid a:hover,.footer-bottom a:hover{color:var(--orange)}
#viewer{background:#22252a;color:white;border:0;padding:0;max-width:95vw}#viewer::backdrop{background:#101418dc}#viewer img{max-width:93vw;max-height:78vh;object-fit:contain;margin:auto}#viewer button{border:0;background:var(--orange);width:44px;height:44px;color:var(--ink);font-size:20px}#viewer [data-close]{position:absolute;top:6px;right:6px}.viewer-bar{display:flex;align-items:center;justify-content:center;gap:20px;padding:6px}
@keyframes pan{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes rise{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}@keyframes lower{from{transform:translateY(-100%)}to{transform:none}}@keyframes upper{from{transform:translateY(100%)}to{transform:none}}
@media(max-width:1100px){.wrap{width:calc(100% - 54px)}.nav,.contact-rail{padding-left:calc(var(--rail) + 32px)}.nav{gap:13px}.nav nav{gap:14px}.nav-cta{padding:10px 13px}.slide-dots{left:1px}.footer-grid{gap:24px}}
@media(max-width:960px){.contact-bar{display:none}.masthead:before,.masthead:after{width:225px}.masthead:after{width:216px}.nav{height:76px;justify-content:flex-end;padding-left:0}.brand{height:76px}.brand img{width:116px}.nav-cta{margin:0}.menu-toggle{order:2;display:grid;gap:5px;background:white;border:0;padding:12px}.menu-toggle i{display:block;width:22px;height:2px;background:var(--ink)}.nav nav{display:none}.nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:100%;left:-27px;right:-27px;background:white;padding:12px 27px 20px;box-shadow:0 15px 24px #12171c24}.nav nav a{padding:12px 3px}.slide-picture,.beam{display:none}.site-outline{width:52%;left:44%}.panorama{height:500px}.slogan{width:85%;max-width:550px}.slide-dots{left:50%;top:auto;bottom:16px;transform:translateX(-50%);flex-direction:row}.skyline{background:linear-gradient(95deg,#f7faf9ed 0%,#fff8eacc 57%,#eaeae8ad),url(structure.webp) center/cover}.service-grid,.editorial-grid{gap:14px}.steps{grid-template-columns:1fr 1fr}.story,.about-grid{gap:30px}.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.nav{height:76px}.brand{height:76px}.brand img{width:116px}.nav-cta{display:none}.nav nav.open{left:-16px;right:-16px;padding-inline:20px}.masthead:before{width:218px}.masthead:after{width:209px}.slogan{width:100%}.slogan h1,.slogan h2{font-size:38px;line-height:1.14;max-width:16ch}.kicker{font-size:14px;margin-bottom:22px}.intro{max-width:34ch;font-size:17px;line-height:1.65;margin:19px 0 24px}.site-outline{width:78%;left:26%;bottom:0;opacity:.17}.slide-tools{right:8px;bottom:12px}.slide-tools button{width:31px;height:33px}.section{padding-block:54px}.story,.about-grid,.contact-grid,.article-layout,.footer-grid{grid-template-columns:1fr}.story-photos{max-width:520px}.service-grid,.editorial-grid{grid-template-columns:1fr}.service-card>img,.editorial-card img{aspect-ratio:1.95}.work-strip,.gallery,.article-layout .gallery{grid-template-columns:1fr 1fr}.section-head{display:block}.steps{gap:18px}.footer-bottom{display:block}.footer-bottom>div{flex-wrap:wrap;margin-top:10px}.form-row{grid-template-columns:1fr}.section h2,.cta h2{font-size:32px}.year{padding:12px 20px}.year strong{font-size:29px}.prose{font-size:16px}.cta-symbol{right:0}.article-aside{order:2}.contact-panel{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(prefers-reduced-motion:no-preference){
 .site-outline .bp-building path{stroke-dasharray:1800;animation:trace-frame 4s ease-out both}
 .site-outline .bp-hook{transform-origin:469px 98px;animation:lift-hook 6s ease-in-out infinite alternate}
 @keyframes trace-frame{from{stroke-dashoffset:1800}to{stroke-dashoffset:0}}
 @keyframes lift-hook{from{transform:scaleY(.74)}to{transform:scaleY(1)}}
}

.footer-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.78fr) minmax(0,.64fr) minmax(0,1.05fr);gap:clamp(18px,3.6vw,56px)}.footer-grid h2{margin:18px 0 10px}.footer-grid address{font-style:normal}.footer-grid address p{margin:8px 0}.footer-grid a,.firm-facts dd{overflow-wrap:anywhere}.firm-facts{font-size:14px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:16px 0}.firm-facts dt{font-weight:600}.firm-facts dd{margin:0}.firm-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.footer-stats{background:#30343b;border-bottom:1px solid #ffffff25}.footer-stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-block:26px}.footer-stats strong,.footer-stats span{display:block}.footer-stats strong{font-size:30px;color:var(--orange);line-height:1.15}.footer-stats span{font-size:14px;color:#fff}.footer-grid section{min-width:0}
@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.footer-grid{grid-template-columns:1fr}.footer-stats .wrap{grid-template-columns:1fr 1fr}.footer-bottom>div{flex-wrap:wrap}}
