:root{--ink:#15201f;--paper:#f5f3ee;--chalk:#faf9f6;--line:rgba(27,36,35,.17);--muted:#727772;--copper:#bba58a;--dark:#111a19;--white:#fff;--sans:Arial,Helvetica,sans-serif;--serif:'Iowan Old Style','Baskerville','Times New Roman',serif;--wrap:1540px;--gut:clamp(22px,5.4vw,106px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:var(--copper);color:var(--ink)}.skip{position:absolute;left:-999px;top:12px;z-index:10000;background:white;padding:16px}.skip:focus{left:15px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #d9b989;outline-offset:5px}.shell{max-width:var(--wrap);padding-left:var(--gut);padding-right:var(--gut);margin:0 auto}.padded{padding-top:clamp(95px,10vw,188px);padding-bottom:clamp(95px,10vw,188px)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;font-weight:700;line-height:1.6}.eyebrow:before{content:'';display:inline-block;width:22px;border-top:1px solid currentColor;vertical-align:middle;margin-right:12px;opacity:.7}.eyebrow.no-line:before{display:none}.button-link{display:inline-flex;align-items:center;gap:25px;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:700;padding:14px 0;border-bottom:1px solid currentColor;transition:gap .3s var(--ease)}.button-link:hover{gap:38px}.button-link .arrow{font-size:20px;font-weight:300;line-height:1}.pill{border:1px solid currentColor;border-radius:30px;padding:14px 19px;display:inline-flex;align-items:center;gap:27px;text-transform:uppercase;font-size:10px;letter-spacing:.15em;font-weight:bold;transition:background .3s,color .3s}.pill:hover{background:var(--ink);color:white}.header{position:absolute;inset:0 0 auto;z-index:100;color:white;height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);border-bottom:1px solid rgba(255,255,255,.2);transition:background .45s,box-shadow .45s,height .4s,color .4s}.header.is-fixed{position:fixed;top:0;background:rgba(247,246,242,.95);border-bottom:1px solid var(--line);height:76px;color:var(--ink);backdrop-filter:blur(19px);box-shadow:0 8px 25px rgba(0,0,0,.025)}.header--light{position:sticky;background:var(--paper);height:88px;color:var(--ink);border-bottom:1px solid var(--line)}.header--light.is-fixed{height:76px}.brand{display:flex;align-items:center;gap:12px;line-height:1;position:relative;z-index:110}.brand-mark{font-family:var(--serif);font-size:40px;letter-spacing:-.1em;line-height:.75;font-weight:normal}.brand-rule{width:1px;background:currentColor;opacity:.5;height:33px;margin:0 7px}.brand-words{font-size:10px;line-height:1.45;text-transform:uppercase;letter-spacing:.17em;font-weight:700}.header-actions{display:flex;align-items:center;gap:38px}.nav-link{font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:bold;white-space:nowrap}.nav-link:hover{opacity:.65}.menu-button{position:relative;z-index:110;background:transparent;color:inherit;border:0;display:flex;align-items:center;gap:18px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;font-size:10px;padding:18px 0}.menu-lines{width:27px;display:flex;flex-direction:column;gap:7px}.menu-lines i{display:block;height:1px;width:100%;background:currentColor;transition:transform .3s}.menu-open .menu-lines i:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-lines i:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-overlay{position:fixed;inset:0;background:var(--dark);color:white;z-index:99;display:grid;grid-template-columns:1fr minmax(280px,35%);padding:120px var(--gut) 50px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s,visibility .45s}.menu-open .menu-overlay{opacity:1;visibility:visible;pointer-events:auto}.menu-items{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.menu-items a{font-family:var(--serif);font-size:clamp(46px,7vw,118px);letter-spacing:-.055em;line-height:1.05;transition:transform .35s,opacity .35s}.menu-items a:hover{transform:translateX(15px);opacity:.68}.menu-side{align-self:end;border-left:1px solid #ffffff35;padding-left:9%;display:flex;flex-direction:column;gap:26px;color:#bcbcb8;font-size:13px;line-height:1.7}.menu-side strong{font-weight:normal;color:white;font-family:var(--serif);font-size:26px}.menu-open{overflow:hidden}.hero{position:relative;min-height:760px;height:100svh;background:#293431;color:white;overflow:hidden;display:flex;align-items:flex-end}.hero-media,.hero-overlay,.hero-blueprint{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.56) contrast(.97);animation:heroZoom 17s linear forwards}.hero-overlay{background:linear-gradient(90deg,rgba(7,16,17,.67) 0%,rgba(7,17,18,.18) 80%),linear-gradient(0deg,rgba(7,16,17,.58),transparent 70%)}.hero-blueprint{opacity:.08;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),white calc(25% - 1px),white 25%)}.hero-content{position:relative;z-index:2;padding-bottom:clamp(75px,10vh,135px);width:100%}.hero-kicker{display:flex;align-items:center;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.22em;margin-bottom:30px}.hero-line{display:block;width:38px;height:1px;background:var(--copper)}.hero h1{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.055em;font-size:clamp(76px,10.4vw,190px);max-width:1250px;margin:0}.hero h1 em{font-weight:400;display:block;margin-left:clamp(20px,10vw,150px);color:#e7ded2}.hero-bottom{margin-top:45px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.hero-lead{font-size:14px;line-height:1.75;max-width:360px;color:#e8e9e5}.scroll-cue{display:flex;align-items:center;gap:17px;white-space:nowrap;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.scroll-rail{width:1px;height:65px;background:rgba(255,255,255,.65);display:block;position:relative;overflow:hidden}.scroll-rail:before{content:'';position:absolute;height:35%;width:1px;top:-35%;left:0;background:white;animation:down 1.7s infinite}.hero-index{position:absolute;right:var(--gut);bottom:25px;z-index:3;font-size:10px;letter-spacing:.25em;color:#ffffffad}.section-heading{font:400 clamp(45px,5.5vw,105px)/1.01 var(--serif);letter-spacing:-.054em;margin:19px 0}.section-heading em{font-weight:400;color:#a09a91}.intro{display:grid;grid-template-columns:1.1fr .65fr;column-gap:12%;align-items:end}.intro-para{font-size:clamp(17px,1.6vw,21px);line-height:1.7;color:#646b67;max-width:495px}.intro-para p{margin:0 0 24px}.intro-left .section-heading{max-width:770px}.intro-bottom{padding-top:85px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.stat{border-top:1px solid var(--line);padding:22px 0}.stat strong{display:block;font:400 clamp(43px,4.5vw,72px)/1 var(--serif);letter-spacing:-.05em}.stat span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#646b67;display:block;margin-top:14px}.dark-block{background:var(--dark);color:white}.work-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.work-head .section-heading{max-width:720px}.work-controls{display:flex;gap:8px}.circle-btn{background:none;color:inherit;width:50px;height:50px;border:1px solid currentColor;border-radius:50%;font-size:22px;transition:.3s}.circle-btn:hover{background:white;color:var(--ink)}.selected-work{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,6vw,90px);align-items:center}.selected-image{display:block;aspect-ratio:1.28;background:linear-gradient(135deg,#425754,#839088);overflow:hidden;position:relative}.selected-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.selected-image:hover img{transform:scale(1.055)}.selected-image .corner{position:absolute;right:0;bottom:0;width:70px;height:70px;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:25px}.selected-info{border-top:1px solid #ffffff4d;padding-top:30px}.selected-no{font-size:11px;letter-spacing:.18em;color:var(--copper)}.selected-info h3{font:400 clamp(46px,5vw,80px)/1 var(--serif);letter-spacing:-.055em;margin:34px 0 20px}.selected-info p{color:#b9c0bb;line-height:1.85;font-size:14px}.meta-row{display:flex;flex-wrap:wrap;gap:12px 20px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#c0c4c1;margin:36px 0}.more-link{margin-top:35px}.section-slim{padding-top:100px;padding-bottom:100px}.services-top{display:flex;justify-content:space-between;align-items:end;gap:35px}.services-top p{max-width:400px;line-height:1.7;color:var(--muted)}.service-list{margin-top:70px;border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:60px 1fr 50px;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:27px 0;transition:padding .35s,background .35s}.service-row:hover{padding-left:16px;background:rgba(21,32,31,.025)}.service-num{color:#8b938e;font-size:10px;letter-spacing:.1em}.service-row h3{font:400 clamp(28px,3vw,47px)/1.2 var(--serif);letter-spacing:-.033em;margin:0}.service-icon{font-size:30px;justify-self:end;font-weight:200}.manifesto{background:var(--copper);color:var(--dark);position:relative;overflow:hidden}.manifesto .shell{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.manifesto h2{font:400 clamp(45px,6.6vw,115px)/1.02 var(--serif);letter-spacing:-.055em;margin:30px 0}.manifesto em{color:#f7f0e6}.manifesto-text{font-size:clamp(18px,2vw,25px);line-height:1.65;max-width:460px}.line-art{position:absolute;width:48%;height:130%;right:-15%;top:-15%;border:1px solid #19222040;transform:rotate(37deg);pointer-events:none}.line-art:before,.line-art:after{content:'';position:absolute;inset:10%;border:1px solid #19222040}.line-art:after{inset:20%}.cta-block{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}.cta-block h2{font:400 clamp(64px,8vw,144px)/.99 var(--serif);letter-spacing:-.065em;margin:15px 0 0}.cta-block em{color:var(--copper)}.cta-link{font-size:45px;display:flex;align-items:center;justify-content:center;width:115px;height:115px;border:1px solid currentColor;border-radius:100px;transition:background .3s,color .3s}.cta-link:hover{background:white;color:var(--ink)}.footer{background:#0a1211;color:#d9ddda;padding:75px 0 25px}.footer-main{display:grid;grid-template-columns:1.2fr .65fr .65fr;gap:10%;padding-bottom:105px}.footer-brand{font:400 clamp(55px,6.2vw,105px)/.96 var(--serif);letter-spacing:-.05em;max-width:480px}.footer-column{display:flex;flex-direction:column;gap:13px;font-size:13px;line-height:1.7}.footer-column .eyebrow{color:#a7ada7;margin-bottom:14px}.footer-column a:hover{color:var(--copper)}.footer-bottom{border-top:1px solid #ffffff33;padding-top:22px;display:flex;gap:20px;justify-content:space-between;align-items:center;color:#a8aaa7;font-size:10px;line-height:1.7;flex-wrap:wrap}.footer-bottom a:hover{color:white}.footer-legal{display:flex;flex-wrap:wrap;gap:14px 24px}.page-hero{min-height:460px;background:var(--dark);color:white;position:relative;overflow:hidden;display:flex;align-items:end}.page-hero .shell{width:100%;padding-top:120px;padding-bottom:70px;position:relative;z-index:2}.page-hero h1{font:400 clamp(65px,10vw,162px)/.95 var(--serif);letter-spacing:-.055em;margin:27px 0 0}.page-hero p{font-size:16px;max-width:650px;line-height:1.75;color:#d3d9d3}.page-hero .back-lines{position:absolute;right:0;top:0;width:48%;height:100%;opacity:.13;background:repeating-linear-gradient(0deg,transparent,transparent 42px,#fff 43px),repeating-linear-gradient(90deg,transparent,transparent 42px,#fff 43px);transform:skew(-15deg)}.page-lead{display:grid;grid-template-columns:1fr .85fr;gap:10%;align-items:start}.page-lead p{font-size:clamp(19px,2.3vw,29px);line-height:1.57;margin-top:0}.page-lead .small-copy{font-size:15px;color:var(--muted);line-height:1.8}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);margin-top:50px;border:1px solid var(--line)}.team-card{background:var(--paper);padding:35px 28px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between}.team-card span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.team-card h3{font:400 clamp(28px,3vw,42px)/1.1 var(--serif);margin:0}.team-card b{font-weight:400;font-family:var(--serif);font-size:27px;color:#c5b8a5}.detail-list{max-width:1050px;margin:0 auto}.detail-item{padding:42px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px 1fr;gap:28px}.detail-item h2{font:400 clamp(31px,3.5vw,52px)/1.13 var(--serif);margin:0 0 18px;letter-spacing:-.03em}.detail-item p{font-size:15px;line-height:1.75;max-width:690px;color:var(--muted);margin:0}.portfolio-tools{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:30px 0 36px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter-btn{padding:12px 16px;border:1px solid var(--line);background:transparent;border-radius:30px;font-size:11px;color:var(--ink);transition:.2s}.filter-btn.active,.filter-btn:hover{background:var(--ink);color:white}.portfolio-counter{font-size:11px;letter-spacing:.13em;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 36px}.project-card{display:block;min-width:0}.project-card:nth-child(even){margin-top:95px}.project-photo{width:100%;aspect-ratio:1.3;overflow:hidden;background:linear-gradient(145deg,#677e79,#283b3c);position:relative}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .85s var(--ease),filter .85s}.project-card:hover .project-photo img{transform:scale(1.07);filter:brightness(.85)}.project-photo:after{content:'↗';position:absolute;bottom:18px;right:20px;color:white;font-size:33px;opacity:0;transform:translate(-8px,8px);transition:.3s}.project-card:hover .project-photo:after{opacity:1;transform:none}.project-meta{margin:23px 0 10px;display:flex;gap:17px;flex-wrap:wrap;color:var(--muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.project-card h2{font:400 clamp(29px,3.1vw,49px)/1.15 var(--serif);letter-spacing:-.035em;margin:0;max-width:580px}.project-card .index{display:block;margin-top:17px;font-size:11px;color:#a59c8e}.empty{text-align:center;padding:70px;border-top:1px solid var(--line)}.project-detail-hero{min-height:79svh;position:relative;background:#34413d;display:flex;align-items:end;color:white;overflow:hidden}.project-detail-hero .project-hero-image,.project-detail-hero .project-hero-shade{position:absolute;inset:0;width:100%;height:100%}.project-detail-hero img{object-fit:cover;filter:saturate(.62)}.project-hero-shade{background:linear-gradient(0deg,rgba(5,15,16,.85),rgba(5,15,16,.12) 75%)}.project-detail-hero .shell{z-index:2;width:100%;padding-top:180px;padding-bottom:62px}.project-detail-hero h1{font:400 clamp(58px,9vw,135px)/.95 var(--serif);letter-spacing:-.055em;margin:25px 0;max-width:1100px}.project-detail-hero p{letter-spacing:.15em;text-transform:uppercase;font-size:10px}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:15%;padding-top:90px;padding-bottom:110px}.project-facts h2{font:400 clamp(40px,4.6vw,75px)/1.1 var(--serif);letter-spacing:-.047em;margin:22px 0}.project-facts p{font-size:17px;color:var(--muted);line-height:1.85;max-width:650px}.fact-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:115px 1fr;gap:14px;padding:22px 0;font-size:13px}.fact-row .eyebrow{color:var(--muted);font-weight:400;font-size:10px;letter-spacing:.13em}.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:35px}.gallery-head p{font-size:13px;max-width:410px;color:var(--muted);line-height:1.7}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.gallery-item{grid-column:span 6;margin:0;background:#4a5e5b;min-height:220px;overflow:hidden;position:relative}.gallery-item:first-child{grid-column:span 12}.gallery-item:nth-child(3n+2){grid-column:span 5}.gallery-item:nth-child(3n+3){grid-column:span 7}.gallery-item img{width:100%;height:100%;aspect-ratio:1.4;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.02)}.gallery-item:first-child img{aspect-ratio:2.1}.gallery-item figcaption{position:absolute;bottom:0;left:0;background:#111a19b9;color:white;padding:10px 13px;font-size:10px;letter-spacing:.08em}.gallery-note{border:1px solid var(--line);padding:27px 31px;max-width:850px;background:#fff8;margin-top:25px;display:flex;gap:20px;align-items:center;justify-content:space-between}.gallery-note p{color:var(--muted);font-size:13px;line-height:1.7;margin:7px 0}.gallery-note strong{font:400 23px var(--serif)}.next-project{background:var(--dark);color:white;padding:100px 0;display:block}.next-project .shell{display:flex;align-items:end;justify-content:space-between;gap:30px}.next-project h2{font:400 clamp(48px,6.5vw,110px)/1 var(--serif);letter-spacing:-.05em;margin:26px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:105px;padding-bottom:140px}.contact-grid h2{font:400 clamp(45px,5vw,86px)/1.05 var(--serif);letter-spacing:-.05em;margin:18px 0 48px}.contact-method{border-top:1px solid var(--line);padding:23px 0}.contact-method small{display:block;letter-spacing:.17em;text-transform:uppercase;font-size:10px;color:var(--muted);margin-bottom:12px}.contact-method strong,.contact-method a{font-weight:400;font:400 clamp(22px,2.3vw,33px)/1.25 var(--serif)}.contact-form{display:flex;flex-direction:column;gap:21px}.contact-form label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.17em;font-weight:bold}.contact-form input,.contact-form textarea{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;color:var(--ink);margin-top:9px;outline:none;font-size:15px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.contact-form textarea{min-height:95px}.form-hint{font-size:12px;color:var(--muted);line-height:1.6}.submit-btn{align-self:flex-start;background:var(--ink);color:white;border:1px solid var(--ink);padding:17px 24px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:bold;display:flex;gap:30px}.submit-btn:hover{background:transparent;color:var(--ink)}.legal-wrap{max-width:930px;margin:auto;padding:110px var(--gut)}.legal-wrap h1{font:400 clamp(55px,6vw,100px) var(--serif);letter-spacing:-.045em}.legal-wrap h2{font:400 30px var(--serif);margin-top:45px}.legal-wrap p,.legal-wrap li{font-size:15px;line-height:1.9;color:#606864}.legal-warning{padding:25px;border-left:3px solid var(--copper);background:#efeadf;margin:40px 0;font-size:14px;line-height:1.7}.cookie-notice{position:fixed;z-index:90;left:20px;bottom:20px;background:var(--paper);color:var(--ink);padding:24px;max-width:390px;box-shadow:0 12px 55px #0003;display:none}.cookie-notice.visible{display:block}.cookie-notice p{font-size:12px;line-height:1.6;color:var(--muted)}.cookie-notice button{border:1px solid var(--ink);background:var(--ink);color:white;padding:10px 16px;font-size:11px;margin-top:10px}.preload{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--dark);color:white;transition:opacity .65s ease,visibility .65s}.preload.is-done{opacity:0;visibility:hidden;pointer-events:none}.preload span{font:400 56px var(--serif);letter-spacing:-.08em}.preload small{display:block;text-align:center;letter-spacing:.25em;font:10px var(--sans);margin-top:15px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.cursor-dot{pointer-events:none;position:fixed;z-index:500;width:8px;height:8px;border-radius:50%;background:var(--copper);mix-blend-mode:difference;top:0;left:0;opacity:0;transition:opacity .2s}.cursor-dot.visible{opacity:.9}.mobile-only{display:none}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes down{to{top:110%}}
@media (max-width:1000px){.header{height:85px}.intro{gap:8%}.menu-overlay{grid-template-columns:1fr 260px}.selected-work{grid-template-columns:1fr 1fr}.footer-main{gap:7%}.gallery-grid{gap:12px}}
@media (max-width:760px){:root{--gut:23px}.header{height:73px}.header--light{height:73px}.brand-mark{font-size:34px}.brand-rule{height:28px}.brand-words{font-size:8px}.header-actions{gap:18px}.header-actions>.nav-link{display:none}.menu-overlay{padding:95px 26px 35px;grid-template-columns:1fr;overflow-y:auto}.menu-items a{font-size:clamp(51px,13vw,86px)}.menu-side{padding:22px 0 0;border:0;border-top:1px solid #fff3;gap:12px;margin-top:25px}.menu-side strong{font-size:19px}.hero{min-height:710px;height:95svh}.hero h1{font-size:clamp(65px,14vw,112px)}.hero h1 em{margin-left:20px}.hero-content{padding-bottom:100px}.hero-bottom{align-items:start}.hero-lead{max-width:275px;font-size:12px}.scroll-cue{display:none}.padded{padding-top:85px;padding-bottom:85px}.section-heading{font-size:clamp(44px,10vw,75px)}.intro{grid-template-columns:1fr;gap:22px}.intro-para{font-size:16px}.intro-bottom{padding-top:45px;grid-template-columns:repeat(3,1fr);gap:12px}.stat strong{font-size:39px}.stat span{font-size:8px;line-height:1.4}.work-head{align-items:end}.work-head .section-heading{font-size:55px}.selected-work{grid-template-columns:1fr;gap:30px}.selected-image{aspect-ratio:1.13}.selected-info h3{font-size:54px;margin:20px 0}.services-top{display:block}.service-row{grid-template-columns:35px 1fr 25px;gap:8px;padding:23px 0}.service-row h3{font-size:27px}.service-icon{font-size:23px}.manifesto .shell{grid-template-columns:1fr}.manifesto h2{font-size:58px}.manifesto-text{font-size:18px}.cta-block{grid-template-columns:1fr;gap:40px}.cta-block h2{font-size:72px}.cta-link{width:86px;height:86px}.footer-main{grid-template-columns:1fr 1fr;gap:48px 22px;padding-bottom:65px}.footer-main>div:first-child{grid-column:span 2}.footer-brand{font-size:72px}.footer-bottom{align-items:flex-start;flex-direction:column}.page-hero{min-height:360px}.page-hero .shell{padding:100px var(--gut) 52px}.page-hero h1{font-size:clamp(62px,13vw,100px)}.page-lead{grid-template-columns:1fr;gap:25px}.team-grid{grid-template-columns:1fr 1fr}.team-card{min-height:200px;padding:24px 20px}.team-card h3{font-size:30px}.detail-item{grid-template-columns:40px 1fr;gap:12px}.detail-item h2{font-size:30px}.portfolio-tools{justify-content:flex-start;gap:22px}.portfolio-grid{gap:46px 18px}.project-card:nth-child(even){margin-top:50px}.project-card h2{font-size:31px}.project-photo{aspect-ratio:.9}.project-meta{line-height:1.6}.project-detail-hero{min-height:65svh}.project-detail-hero h1{font-size:65px}.project-facts{grid-template-columns:1fr;gap:25px;padding-top:70px;padding-bottom:75px}.gallery-head{display:block}.gallery-item,.gallery-item:nth-child(3n+2),.gallery-item:nth-child(3n+3){grid-column:span 12}.gallery-note{display:block}.contact-grid{grid-template-columns:1fr;gap:62px;padding-top:70px;padding-bottom:100px}.contact-grid h2{font-size:60px}.mobile-only{display:initial}}
@media (max-width:480px){.hero h1{font-size:clamp(62px,14vw,85px)}.hero-kicker{font-size:9px}.intro-bottom{grid-template-columns:1fr 1fr}.intro-bottom .stat:last-child{grid-column:span 2}.work-controls .circle-btn{width:42px;height:42px}.portfolio-grid{grid-template-columns:1fr}.project-card:nth-child(even){margin-top:0}.project-photo{aspect-ratio:1.22}.team-grid{grid-template-columns:1fr}.project-detail-hero h1{font-size:58px}.next-project h2{font-size:58px}.cta-block h2{font-size:62px}.footer-brand{font-size:60px}.footer-main{grid-template-columns:1fr 1fr}.menu-items a{font-size:52px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.project-hero-image img{width:100%;height:100%;object-fit:cover}

/* Editorial photo sequences and native full-screen gallery */
.gallery-trigger{display:block;border:0;margin:0;padding:0;background:transparent;width:100%;height:100%;cursor:zoom-in;overflow:hidden}.gallery-trigger img{width:100%;height:100%;object-fit:cover}.gallery-trigger:focus-visible{outline:3px solid #d9b989;outline-offset:-3px}.gallery-item{isolation:isolate}.gallery-item figcaption{pointer-events:none}.photo-lightbox[hidden]{display:none!important}.lightbox-open{overflow:hidden}.photo-lightbox{position:fixed;z-index:999;inset:0;background:rgba(11,19,20,.98);color:#f7f6f2;display:grid;grid-template-columns:minmax(52px,8vw) minmax(0,1fr) minmax(52px,8vw);grid-template-rows:75px minmax(0,1fr);align-items:center}.photo-lightbox-top{grid-column:1/-1;grid-row:1;padding:15px clamp(20px,4vw,65px);display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff28;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.photo-lightbox-top #photo-lightbox-count{color:#a3aaa6;margin-left:20px}.photo-lightbox-top button{background:transparent;border:0;color:inherit;cursor:pointer;letter-spacing:.16em;text-transform:uppercase;font-size:11px;padding:12px}.photo-lightbox-arrow{background:transparent;border:0;color:white;cursor:pointer;font-size:36px;justify-self:center;padding:12px}.photo-lightbox figure{grid-column:2;grid-row:2;margin:0;padding:20px 0 30px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;height:100%;gap:14px}.photo-lightbox figure img{max-height:calc(100dvh - 160px);max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 15px 60px #0006}.photo-lightbox figcaption{color:#c0c5c2;font-size:11px;max-width:95%;text-align:center;overflow-wrap:anywhere}.photo-lightbox-arrow#photo-lightbox-prev{grid-column:1;grid-row:2}.photo-lightbox-arrow#photo-lightbox-next{grid-column:3;grid-row:2}.process-story{min-height:660px;display:grid;grid-template-columns:55% 45%;background:#dedcd5}.process-story-media{position:relative;min-height:520px;overflow:hidden}.process-story-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.55)}.process-story-copy{padding:clamp(55px,6vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.process-story-copy h2{font:400 clamp(44px,5vw,87px)/1.05 var(--serif);letter-spacing:-.05em;margin:34px 0}.process-story-copy h2 em{color:#938981}.process-story-copy p{max-width:440px;line-height:1.8;color:#656b67}.process-story-copy a{margin-top:25px}.studio-gallery-photos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;margin-top:60px}.studio-gallery-photos figure{margin:0;overflow:hidden;aspect-ratio:1}.studio-gallery-photos figure:first-child{aspect-ratio:1.35}.studio-gallery-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.studio-gallery-photos img:hover{transform:scale(1.035)}@media(max-width:900px){.process-story{grid-template-columns:1fr}.process-story-media{min-height:380px}.process-story-copy{padding:65px var(--gut)}.process-story-copy h2{font-size:clamp(50px,8vw,78px)}}@media(max-width:620px){.studio-gallery-photos{grid-template-columns:1fr 1fr;gap:9px;margin-top:35px}.studio-gallery-photos figure:first-child{grid-column:1/-1}.photo-lightbox{grid-template-columns:50px minmax(0,1fr) 50px}.photo-lightbox-top{padding:12px 14px;font-size:9px}.photo-lightbox-top #photo-lightbox-count{margin-left:7px}.photo-lightbox-arrow{font-size:26px}.photo-lightbox figure img{max-height:calc(100dvh - 145px)}.photo-lightbox figcaption{font-size:9px}}

/* RESTYLING 2026 — contemporary architectural typography and animations */
:root{--ink:#17252b;--paper:#f5f6f3;--chalk:#f9faf8;--dark:#122027;--copper:#bac8c7;--muted:#636f72;--sans:"Avenir Next","Segoe UI","Helvetica Neue",Arial,sans-serif;--serif:"Avenir Next","Segoe UI","Helvetica Neue",Arial,sans-serif}
body{font-size:15px;line-height:1.5}
.hero h1,.section-heading,.menu-items a,.selected-info h3,.manifesto h2,.process-story-copy h2,.page-hero h1,.project-detail-hero h1,.footer-brand,.cta-block h2,.next-project h2,.contact-grid h2,.service-row h3,.brand-mark,.stat strong{font-family:var(--sans)!important;font-style:normal;font-weight:650!important;letter-spacing:-.058em!important}
.hero h1{font-size:clamp(66px,9vw,160px);line-height:.98;letter-spacing:-.075em!important}
.hero h1 em,.section-heading em,.manifesto em,.process-story-copy em,.cta-block em,.next-project em,.project-facts em{font-style:normal!important;font-weight:400;color:#afbebd}
.hero h1 em{color:#d5e0df}
.brand-mark{font-size:36px;letter-spacing:-.11em!important;font-weight:750!important}
.section-heading{line-height:1.06;font-size:clamp(45px,5.5vw,99px)}
.menu-items a{font-size:clamp(44px,6.8vw,108px);line-height:1.14}
.service-row h3{font-weight:550!important;font-size:clamp(24px,2.7vw,44px);letter-spacing:-.04em!important}
.manifesto em{color:#f7faf9}
.manifesto{background:#aebfbd}
.menu-side strong{font-family:var(--sans);font-weight:600}
.project-card h2{font-weight:650;letter-spacing:-.035em}
.gallery-grid{gap:clamp(8px,1.2vw,18px)}
.gallery-item{background:#c3cbcb}
.gallery-item img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.photo-lightbox{background:#0b1519f7}
html:not(.js) .reveal{opacity:1;transform:none}
.js .kinetic-heading{clip-path:inset(0 0 100% 0);transform:translateY(18px);transition:clip-path .95s cubic-bezier(.22,1,.36,1),transform .95s cubic-bezier(.22,1,.36,1)}
.js .kinetic-heading.in{clip-path:inset(0 0 -10% 0);transform:translateY(0)}
.hero h1{animation:headlineRise 1.15s cubic-bezier(.22,1,.36,1) .12s both}
.hero-kicker,.hero-bottom{animation:headlineRise .9s cubic-bezier(.22,1,.36,1) .38s both}
@keyframes headlineRise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.cookie-disclosure{position:fixed;z-index:510;left:clamp(14px,3vw,52px);right:clamp(14px,3vw,52px);bottom:clamp(12px,2vw,30px);max-width:730px;margin:auto;background:#f9faf8;color:#18272d;border:1px solid #cdd6d4;box-shadow:0 20px 75px #06111440;padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:8px;font-size:13px;line-height:1.65}
.cookie-disclosure strong{display:block;font-size:13px;letter-spacing:.01em}
.cookie-disclosure p{margin:3px 0 0;color:#445359}.cookie-disclosure a{text-decoration:underline;text-underline-offset:3px}
.cookie-disclosure button{border:1px solid #1e3137;background:#1e3137;color:#fff;border-radius:2px;padding:13px 17px;white-space:nowrap;font-size:12px;font-weight:700}
.legal-wrap{max-width:940px}.legal-wrap h1{font-weight:650;letter-spacing:-.055em}.legal-wrap h2{font-size:clamp(20px,2.5vw,29px);font-weight:650;letter-spacing:-.025em}.legal-wrap a{text-decoration:underline;text-underline-offset:3px}.legal-wrap ul{padding-left:22px;line-height:1.8}.legal-wrap li{margin-bottom:8px}
@media(max-width:760px){.hero{min-height:580px;height:92svh}.hero h1{font-size:clamp(54px,12vw,90px)!important;line-height:1.04}.hero h1 em{margin-left:0}.hero-content{padding-bottom:78px}.section-heading{font-size:clamp(43px,9.3vw,75px)}.menu-items a{font-size:clamp(39px,11vw,68px)}.header-actions{gap:12px}.intro-para{font-size:15px}.service-row h3{font-size:clamp(21px,5.8vw,29px)}.cookie-disclosure{align-items:flex-start;flex-direction:column;padding:17px 18px;gap:12px}.cookie-disclosure button{width:100%}.gallery-item:first-child img{aspect-ratio:1.45}}
@media(max-width:380px){.hero h1{font-size:clamp(49px,11.8vw,65px)!important}.project-detail-hero h1{font-size:clamp(43px,12vw,57px)}.menu-items a{font-size:43px}.footer-brand{font-size:50px}}
@media(prefers-reduced-motion:reduce){.js .kinetic-heading{clip-path:none!important;transform:none!important}.hero h1,.hero-kicker,.hero-bottom{animation:none!important}}
/* Narrow phones: avoid min-content expansion by long project titles and control rows */
.selected-work>*{min-width:0}.selected-image{min-width:0;max-width:100%}
@media(max-width:380px){
 .work-head{align-items:flex-start;flex-direction:column;gap:15px}
 .work-controls{align-self:flex-end}
 .next-project .shell{flex-wrap:wrap;gap:15px}
 .next-project h2{font-size:clamp(36px,12vw,50px)!important;overflow-wrap:anywhere}
 .next-project .shell>span{max-width:100%}
 .project-facts,.project-detail-hero,.gallery-head{min-width:0}
}
/* Prevent occasional off-canvas decorative elements from causing horizontal scrolling at 320px */
html,body{overflow-x:clip}
