:root{--blue:#005c92;--paper:#fff;--ink:#171a1c;--muted:#626560;--line:#c6c6bd;--white:#fff;--gutter:5.2%;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-underline-offset:5px}img{display:block;width:100%;height:auto}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.skip{position:absolute;left:10px;top:-70px;background:var(--ink);color:white;z-index:10;padding:10px}.skip:focus{top:10px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px var(--gutter);background:var(--paper)}.logo{font-weight:700;font-size:29px;letter-spacing:.28em;text-decoration:none;line-height:1;padding-right:0}.site-nav{display:flex;align-items:center;gap:32px}.site-nav a{font-size:14px;text-decoration:none;display:inline-block;padding:6px 0}.site-nav a:hover,.site-nav a[aria-current="page"]{border-bottom:1px solid currentColor}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:42% 58%;min-height:590px}.hero-copy{background:var(--blue);color:var(--paper);padding:65px 12% 48px;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.hero-wordmark{font-size:clamp(42px,5.8vw,94px);font-weight:700;display:flex;justify-content:space-between;line-height:1.1;margin:0 0 16px}.eyebrow{font-size:14px;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 18px}.hero-copy .eyebrow{text-transform:lowercase;letter-spacing:2px}.hero h1{font-size:clamp(30px,3.1vw,52px);font-weight:400;line-height:1.16;letter-spacing:-1.5px;margin:0 0 30px}.hero-copy a{align-self:flex-start;display:inline-block;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:7px}.hero-copy a:focus-visible{outline-color:white}.hero-image{position:relative;min-width:0}.hero-image img{height:100%;object-fit:cover;object-position:55% 50%}.hero-caption{position:absolute;left:28px;bottom:24px;padding:8px 14px;background:rgba(15,22,24,.8);color:white;font-size:13px;line-height:1.5}.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.section{padding-top:90px;padding-bottom:90px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}h2{font-size:clamp(32px,3.7vw,56px);font-weight:400;line-height:1.1;letter-spacing:-1.8px;margin:0}h3{font-size:24px;font-weight:400;line-height:1.2;margin:0 0 12px}.section-head p{max-width:410px;margin:0;color:var(--muted);font-size:16px}.text-link{display:inline-block;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 32px}.project-card{text-decoration:none;display:block;min-width:0}.project-card .image-wrap{overflow:hidden;background:#d5d7d1;aspect-ratio:1.48}.project-card img{height:100%;object-fit:cover;transition:transform .45s}.project-card:hover img{transform:scale(1.025)}.project-card-head{display:flex;justify-content:space-between;gap:20px;margin-top:16px;align-items:start}.project-card h3{font-size:23px;margin:0}.project-card .category{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--blue);white-space:nowrap;margin:4px 0 0}.project-card .meta{color:var(--muted);font-size:14px;margin:6px 0 0}.section-foot{margin-top:45px}.intro-band{background:var(--white);display:grid;grid-template-columns:1fr 1.35fr;gap:11%;padding-top:90px;padding-bottom:90px}.intro-band .large-text{font-size:clamp(23px,2.6vw,38px);line-height:1.35;letter-spacing:-.7px;margin:0 0 30px}.intro-band p{max-width:610px}.credentials{font-size:14px;letter-spacing:.5px;color:var(--muted);margin-top:25px}.cta{background:var(--blue);color:var(--paper);padding:70px var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{max-width:680px}.cta a{border:1px solid var(--paper);text-decoration:none;padding:16px 25px;white-space:nowrap}.site-footer{padding:40px var(--gutter) 26px}.footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:35px}.footer-logo{font-size:21px;letter-spacing:.24em;font-weight:700}.footer-main p{font-size:14px;margin:8px 0 0}.footer-links{display:flex;flex-direction:column;gap:8px;font-size:14px}.footer-small{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:25px}.page-intro{padding-top:65px;padding-bottom:60px}.page-intro h1,.project-title{font-size:clamp(46px,6vw,88px);font-weight:400;line-height:1.05;letter-spacing:-3px;margin:0 0 25px}.page-intro .lede{font-size:clamp(20px,2vw,27px);line-height:1.45;max-width:800px;margin:0}.page-intro .subtext{max-width:800px;color:var(--muted);margin-top:24px}.rule{border-top:1px solid var(--line)}.project-top{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-top:52px;padding-bottom:38px}.project-title{font-size:clamp(44px,5vw,76px);margin-bottom:12px}.project-hero{max-height:760px;object-fit:cover;width:100%;aspect-ratio:1.85}.project-overview{display:grid;grid-template-columns:1fr 1.6fr;gap:12%;padding-top:60px;padding-bottom:65px}.project-facts{margin:0;display:grid;gap:23px}.project-facts dt{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 5px}.project-facts dd{margin:0;font-size:16px}.project-description p{font-size:21px;line-height:1.6;margin:0 0 22px;max-width:790px}.project-description h2{font-size:35px;margin-bottom:22px;letter-spacing:-1px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-bottom:70px}figure{margin:0;min-width:0}.gallery img{aspect-ratio:1.45;object-fit:cover;background:#e4e4df}.gallery .portrait img{aspect-ratio:.8;object-fit:contain}.gallery .wide{grid-column:1/-1}.gallery .wide img{aspect-ratio:1.9}.gallery .drawing img{object-fit:contain;background:#fff}.gallery figcaption{font-size:14px;color:var(--muted);padding-top:12px}.project-next{border-top:1px solid var(--line);padding-top:35px;padding-bottom:65px;display:flex;justify-content:space-between;gap:35px;align-items:center}.project-next .eyebrow{margin-bottom:8px}.project-next a{text-decoration:none;font-size:26px}.studio-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-top:60px;padding-bottom:70px}.studio-grid p{font-size:20px;line-height:1.65}.studio-identity{background:var(--blue);color:var(--paper);padding:55px 45px;align-self:start}.studio-identity h2{font-size:44px;letter-spacing:.06em}.studio-identity .credentials{color:var(--paper)}.studio-identity p{font-size:16px}.expertise{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:55px 0}.expertise p{color:var(--muted)}.process-item{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:35px;border-top:1px solid var(--line);padding:35px 0}.process-num{color:var(--blue);font-size:26px}.process-item h2{font-size:32px;letter-spacing:-1px}.process-item p{font-size:18px;line-height:1.65;margin:0}.process-image{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:40px}.process-image img{height:360px;object-fit:cover}.process-image figcaption{font-size:14px;color:var(--muted);padding-top:12px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding-bottom:85px}.contact-copy h2{font-size:35px;letter-spacing:-1px}.contact-copy p{font-size:18px;line-height:1.7}.contact-details{margin-top:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{margin-bottom:28px}label{display:block;font-size:14px;margin-bottom:10px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #92998f;background:transparent;color:var(--ink);border-radius:0;min-height:44px;padding:10px 0;font-size:18px}textarea{min-height:140px;resize:vertical}.send-button{border:1px solid var(--blue);background:var(--blue);color:white;padding:15px 28px;font-weight:700;cursor:pointer}.send-button:hover{background:transparent;color:var(--blue)}.send-button:disabled{opacity:.6;cursor:wait}.form-note{font-size:14px;color:var(--muted);line-height:1.5;margin-top:15px}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-mini{padding-top:70px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.contact-mini p{font-size:18px}.preview-notice{background:#fff;color:#424a50;font-size:13px;padding:9px var(--gutter);border-bottom:1px solid var(--line)}
@media(min-width:1600px){:root{--gutter:8%}.hero-copy{padding-left:19%;padding-right:14%}.hero{min-height:680px}}
@media(max-width:1000px){.hero{grid-template-columns:45% 55%;min-height:530px}.hero-copy{padding:45px 11% 40px}.site-nav{gap:22px}.hero-wordmark{font-size:5.9vw}.hero h1{font-size:34px}.hero-caption{left:15px;bottom:15px;font-size:12px}.project-card-head{flex-direction:column;gap:0}.process-item{grid-template-columns:45px 1fr 1.3fr;gap:25px}.studio-identity{padding:45px 30px}.studio-identity h2{font-size:35px}}
@media(max-width:700px){:root{--gutter:6%}.site-header{padding-top:25px;padding-bottom:25px;position:relative;flex-wrap:wrap;gap:0}.logo{font-size:24px}.menu-toggle{display:block;background:transparent;border:0;font-size:14px;min-height:44px;padding:8px 0 8px 18px}.site-nav{display:none;width:100%;padding-top:20px;gap:20px;flex-wrap:wrap}.site-nav.open{display:flex}.site-nav a{min-height:44px;padding:10px 0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:40px var(--gutter);gap:40px}.hero-wordmark{font-size:clamp(44px,12vw,84px);max-width:500px}.hero h1{font-size:36px;letter-spacing:-1.2px;max-width:460px}.hero h1 br{display:none}.hero-image{height:360px}.hero-image img{object-position:center}.hero-caption{font-size:12px;max-width:calc(100% - 30px)}.section{padding-top:60px;padding-bottom:60px}.section-head{flex-direction:column;align-items:start;gap:20px;margin-bottom:30px}h2{font-size:36px;letter-spacing:-1px}.work-grid{grid-template-columns:1fr;gap:36px}.project-card-head{flex-direction:row;gap:15px}.project-card h3{font-size:21px}.project-card .category{font-size:12px}.intro-band{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:60px}.intro-band .large-text{font-size:27px}.cta{flex-direction:column;align-items:start;padding-top:50px;padding-bottom:50px;gap:28px}.cta h2{font-size:38px}.footer-main{flex-direction:column;gap:25px}.footer-small{flex-direction:column;gap:10px}.page-intro{padding-top:42px;padding-bottom:42px}.page-intro h1,.project-title{font-size:48px;letter-spacing:-1.7px}.page-intro .lede{font-size:23px}.project-top{padding-top:35px;align-items:start;flex-direction:column;gap:10px}.project-hero{aspect-ratio:1.15}.project-overview{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:40px}.project-facts{grid-template-columns:1fr 1fr;gap:25px}.project-description p{font-size:19px}.gallery{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.gallery .wide{grid-column:auto}.gallery .wide img{aspect-ratio:1.4}.gallery .portrait img{aspect-ratio:.85;max-height:550px}.project-next{align-items:start;flex-direction:column}.studio-grid{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:45px}.studio-identity{padding:40px 30px}.studio-grid p{font-size:19px}.expertise{grid-template-columns:1fr;gap:25px;padding:40px 0}.process-item{grid-template-columns:38px 1fr;gap:20px}.process-item p{grid-column:2;font-size:17px}.process-item h2{font-size:28px}.process-image{grid-template-columns:1fr;gap:30px}.process-image img{height:300px}.contact-grid,.contact-mini{grid-template-columns:1fr;gap:35px}.contact-grid{padding-bottom:55px}.contact-mini{padding-top:50px;padding-bottom:50px}.form-row{grid-template-columns:1fr;gap:0}.preview-notice{font-size:12px}.project-card-head .category{white-space:normal;text-align:right;max-width:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card img{transition:none}}

/* Image-only homepage portfolio, adapted from the reference site's compact grid. */
.home-projects{padding-top:34px;padding-bottom:90px}
.home-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,22px);align-items:start}
.home-project-card{display:block;overflow:hidden;background:#d5d7d1;aspect-ratio:4/5}
.home-project-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.home-project-card:hover img{transform:scale(1.035)}
.home-project-card:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
@media(max-width:1000px){.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-projects{padding-top:18px;padding-bottom:60px}.home-project-grid{gap:12px}.home-project-card{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.home-project-card img{transition:none}}

/* Natural-ratio homepage gallery with the compact rhythm of the reference site. */
.home-project-grid{display:block;columns:4;column-gap:8px}
.home-project-card{display:block;break-inside:avoid;margin:0 0 8px;overflow:hidden;background:#d5d7d1;aspect-ratio:auto}
.home-project-card img{display:block;width:100%;height:auto;object-fit:contain}

/* Project narrative follows a clear title, story, and facts sequence. */
.project-top{justify-content:flex-end;align-items:center;padding-top:28px;padding-bottom:18px}
.project-story{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.75fr);gap:clamp(48px,8vw,125px);padding-top:68px;padding-bottom:76px}
.project-story-copy h1{font-size:clamp(30px,3.4vw,52px);font-weight:400;line-height:1.15;letter-spacing:-1.5px;margin:0 0 34px}
.project-story-title{font-size:.48em;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-right:.55em;white-space:nowrap}
.project-story-tagline{font-weight:700}
.project-story-copy p{font-size:19px;line-height:1.65;margin:0 0 22px;max-width:850px}
.project-story-facts{margin:5px 0 0;align-self:start;border-top:1px solid var(--line)}
.project-story-facts>div{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}
.project-story-facts dt{font-size:12px;font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:.8px;color:var(--ink)}
.project-story-facts dd{margin:0;font-size:14px;line-height:1.45}
@media(max-width:1000px){.home-project-grid{columns:2}.project-story{grid-template-columns:1fr;gap:38px}}
@media(max-width:700px){.home-project-grid{column-gap:6px}.home-project-card{margin-bottom:6px}.project-story{padding-top:42px;padding-bottom:50px}.project-story-copy h1{font-size:34px}.project-story-title{display:block;margin:0 0 8px;white-space:normal}.project-story-copy p{font-size:18px}.project-story-facts>div{grid-template-columns:92px 1fr}}

.gallery-compact{gap:10px}
@media(max-width:700px){.gallery-compact{gap:8px}}

.project-hero-panoramic{aspect-ratio:auto;max-height:none;object-fit:contain}
.gallery .natural img{aspect-ratio:auto;height:auto;object-fit:contain}

/* Green Rock design renderings retain their source proportions in a focused carousel. */
.project-media{padding-bottom:76px}
.project-media h2{border-top:1px solid var(--line);padding-top:42px;margin:0 0 30px;font-size:clamp(26px,2.4vw,38px);letter-spacing:-1px}
.project-carousel{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-carousel-viewport{height:clamp(320px,68vh,680px);height:clamp(320px,68svh,680px);display:grid;place-items:center;background:var(--paper);overflow:hidden}
.project-carousel-slide{width:100%;height:100%;min-width:0;min-height:0;padding:clamp(10px,2vw,24px);display:flex;align-items:center;justify-content:center}
.project-carousel-slide[hidden]{display:none}
.project-carousel-slide img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:transparent}
.project-carousel-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:14px 0}
.project-carousel-controls button{border:0;background:transparent;color:var(--ink);min-height:44px;padding:8px 0;cursor:pointer}
.project-carousel-controls button:first-child{justify-self:start}.project-carousel-controls button:last-child{justify-self:end}
.project-carousel-controls button:hover{text-decoration:underline;text-underline-offset:5px}
.project-carousel-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em}
@media(max-width:700px){.project-media{padding-bottom:50px}.project-media h2{padding-top:32px;margin-bottom:20px}.project-carousel-viewport{height:clamp(320px,68vh,620px);height:clamp(320px,68svh,620px)}.project-carousel-slide{padding:10px}.project-carousel-controls{gap:16px}}

/* Green Rock architectural drawings retain their natural proportions and reading order. */
.project-drawings{padding-bottom:76px}
.project-drawings h2{border-top:1px solid var(--line);padding-top:42px;margin:0 0 30px;font-size:clamp(26px,2.4vw,38px);letter-spacing:-1px}
.project-drawing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.project-drawing-grid figure{background:#fff}
.project-drawing-grid img{width:100%;height:auto;object-fit:contain;background:#fff}
.project-drawing-grid .drawing-wide{grid-column:1/-1}
.project-drawing-grid .drawing-center{grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
@media(max-width:700px){.project-drawings{padding-bottom:50px}.project-drawings h2{padding-top:32px;margin-bottom:20px}.project-drawing-grid{grid-template-columns:1fr;gap:12px}.project-drawing-grid .drawing-wide,.project-drawing-grid .drawing-center{grid-column:auto;width:100%}}

/* One compact, persistent brand-blue navigation bar on every page. */
.site-header.is-blue{position:sticky;top:0;z-index:25;background:var(--blue);color:var(--white);box-shadow:0 2px 12px #171a1c18}
.site-header.is-compact{padding-top:10px;padding-bottom:10px;min-height:56px}
.site-header.is-compact .logo{font-size:23px}
.site-header.is-blue .menu-toggle{color:var(--white)}
.site-header.is-blue a:focus-visible,.site-header.is-blue button:focus-visible{outline-color:var(--white)}
.skip{z-index:30}html{scroll-padding-top:70px}
@media(max-width:700px){.site-header.is-compact{padding-top:6px;padding-bottom:6px}.site-header.is-compact .logo{font-size:22px}.site-header.is-blue .site-nav{border-top:1px solid #ffffff40;margin-top:8px;padding-top:8px}}

.work-only{padding-top:48px;padding-bottom:90px}.home-intro{font-size:18px;line-height:1.6;max-width:480px}.project-credits{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:60px;padding-bottom:60px}.project-credits h2{font-size:32px;letter-spacing:-1px}.project-credits dt{font-weight:bold;margin-top:18px}.project-credits dd{margin:4px 0 0}.project-credits li{margin:12px 0}.clarity-list{padding-left:20px}.clarity-list li{margin:8px 0}@media(max-width:700px){.project-credits{grid-template-columns:1fr;gap:35px}.home-intro{font-size:16px}}
