/* P.O. Company brand: the approved white-lettered blueprint logo. */
.portfolio-context{display:flex;align-items:start;justify-content:space-between;gap:32px}.portfolio-context p{max-width:660px}.portfolio-context .text-link{flex-shrink:0}.real-projects{align-items:start;gap:48px}.real-project{min-width:0;scroll-margin-top:25px}.real-project h2{font-size:2rem;margin-bottom:18px}.sheet-link{display:block;background:#fff;border:1px solid #bdcbd4;overflow:hidden}.sheet-link img{width:100%;aspect-ratio:1.44;height:auto;object-fit:contain;background:#fff;transition:filter .2s}.sheet-link>span{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid #d0dbe1;color:#183c56;font-size:.8rem;line-height:1.5}.sheet-link:hover{border-color:#8B1E2D}.sheet-link:hover>span{color:#8B1E2D}.sheet-main{margin-bottom:26px}.sheet-main img{padding:8px}.sheet-thumbnails{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.project-scope{padding-top:18px;border-top:1px solid #c8d3d8;font-size:.85rem;color:#526d7e}.portfolio-footnote{font-size:.8rem;color:#526d7e;border-top:1px solid #c8d3d8;padding-top:25px;margin:50px 0 0;max-width:850px}@media(max-width:800px){.portfolio-context{display:block}.portfolio-context .text-link{margin-bottom:15px}.real-projects{gap:35px}.sheet-thumbnails{grid-template-columns:1fr}}@media(max-width:600px){.real-projects{grid-template-columns:1fr}.sheet-thumbnails{grid-template-columns:1fr 1fr}.sheet-link>span{font-size:.75rem;padding:9px}.real-project h2{font-size:1.8rem}}
:root{--ink:#183c56;--text:#314b5c;--muted:#526d7e;--paper:#f5f6f3;--line:#c8d3d8;--accent:#8B1E2D;--blueprint:#245675;--deep-blue:#173e59;--red:#8B1E2D;--red-pencil:#8B1E2D}
.header{background:var(--deep-blue);border-bottom:1px solid #ffffff38;color:#fff}.nav-wrap{min-height:112px}.brand{display:block;flex-shrink:0;width:250px}.brand img{width:250px;height:82px;object-fit:cover;object-position:center 50%;border:1px solid #ffffff38}.header nav a{color:#f4f8fb}.header nav a:hover{color:#ffffff}.header nav a[aria-current=page]:not(.nav-cta):after{background:var(--red-pencil)}.header nav .nav-cta{background:var(--red);border-color:var(--red)}.header nav .nav-cta:hover{background:#641521}.menu-toggle{color:#fff;border-color:#8ba2b1}
.hero{background-color:var(--blueprint);background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px),radial-gradient(ellipse at top left,#ffffff09,transparent 65%);background-size:28px 28px,28px 28px,100% 100%;border-bottom:4px solid var(--red-pencil);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4%;padding-block:60px 65px}.hero .eyebrow{color:#fff;border-top:1px solid #b7cbd7;font-weight:400}.hero h1{font-weight:700;letter-spacing:-.04em;font-size:clamp(3rem,4.5vw,4.7rem)}.hero h1 em{color:#fff;position:relative;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--red-pencil);text-underline-offset:12px;text-decoration-thickness:3px}.hero .lead{color:#f2f6f8}.hero-scope,.hero-foot{color:#e0eaf0}.hero-foot .cross{color:var(--red-pencil)}.hero .button,.button{background:var(--red);border-color:var(--red);color:#fff}.hero .button:hover,.button:hover{background:#641521;border-color:#641521}.hero .text-link:hover{color:#ffffff}.logo-artwork{margin:0;align-self:center;transform:rotate(-1deg);box-shadow:0 15px 30px #08233845;position:relative}.logo-artwork img{width:100%;height:auto;display:block;border:1px solid #9aaeb9}.logo-artwork:before,.logo-artwork:after{content:'+';position:absolute;color:#8B1E2D;font-family:monospace;font-size:1.8rem;line-height:1;pointer-events:none}.logo-artwork:before{top:-24px;left:-15px}.logo-artwork:after{bottom:-24px;right:-15px}
.intro-strip{background:#e8eef1;border-color:#bfccd4}.intro-strip .eyebrow{color:var(--red)}.section-heading .eyebrow{border-color:var(--red)}.service-card .number,.cta .eyebrow{color:var(--red)}.text-link{border-color:#a6b7c2}.text-link:hover{color:var(--red)}.service-card{position:relative}.service-card:after{content:'';position:absolute;bottom:-1px;left:0;width:38px;height:2px;background:var(--red)}.blueprint,.process,.statement{background-color:var(--blueprint);background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:28px 28px}.process .eyebrow{color:#fff}.step-number{color:#fff;border-color:var(--red-pencil);transform:rotate(-3deg)}.steps p{color:#e1eaf0}.statement{border-color:var(--red-pencil)}.statement>span{color:#edf4f7}
.project-art,.pattern-1,.pattern-2{background-color:var(--blueprint);color:#fff;border-color:#7893a5;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px)}.pattern-1{background-color:#1c4665}.pattern-2{background-color:#315f7a}.project-art::after{color:var(--red-pencil)}.drawing-note{border-color:#aac1cf;color:#e0eaf0}.concept-type{border-color:var(--red-pencil)}.project-card .eyebrow{color:var(--muted)}.cta{border-color:var(--ink)}
.page-intro.wrap{width:100%;max-width:none;margin:0;padding:58px max(32px,calc((100vw - 1280px)/2)) 45px;background-color:var(--blueprint);background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:28px 28px;color:#f1f5f8;border-bottom:3px solid var(--red-pencil)}.page-intro .eyebrow{color:#e1eaf0}.page-intro h1,.page-intro em{color:#fff}.page-intro em{text-decoration:underline;text-decoration-color:var(--red-pencil);text-decoration-thickness:2px;text-underline-offset:8px}.page-intro .lead{color:#e3edf3}.notice{background:#e8eef1;border-color:var(--red)}.filters button[aria-pressed=true]{background:var(--blueprint);border-color:var(--blueprint)}.filters button:hover{border-color:var(--red)}summary .plus{color:var(--red)}.contact-note{border-color:var(--red-pencil)}.consent input{accent-color:var(--blueprint)}input:not([type=checkbox]),select,textarea{border-color:#91a8b7}input:focus,textarea:focus,select:focus{border-color:var(--blueprint)}
footer{background:var(--deep-blue)}.footer-top{grid-template-columns:1.3fr 1fr 1.3fr;align-items:center}footer .brand{width:280px}footer .brand img{width:280px;height:auto;object-fit:contain;border-color:#708d9f}.footer-bottom{border-color:#7190a5}.footer-top p{color:#fff}.footer-bottom{color:#d6e3eb}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--red-pencil)}
@media(max-width:1100px){.header nav{gap:17px}.hero{padding:42px 32px 48px;gap:30px}.hero h1{font-size:3.2rem}.brand,.brand img{width:225px}.brand img{height:78px}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:900px) and (min-width:801px){.nav-wrap{flex-wrap:nowrap;justify-content:space-between;padding-block:15px;gap:20px}.header nav{width:auto;gap:13px;margin-top:0;justify-content:flex-end;font-size:.8rem}.header nav .nav-cta{padding:9px 12px;gap:8px}.brand,.brand img{width:195px}.brand img{height:68px}.hero h1{font-size:2.8rem}.hero{gap:24px}}
@media(max-width:800px){.nav-wrap{min-height:102px;gap:15px}.brand,.brand img{width:235px}.brand img{height:79px}.hero{grid-template-columns:1fr;padding:35px 24px 45px}.hero-copy{padding:0}.hero h1{font-size:clamp(2.8rem,7vw,4rem)}.hero .eyebrow{margin-bottom:25px}.hero .lead{max-width:620px}.logo-artwork{transform:none;width:100%;max-width:650px;justify-self:center;margin-top:12px}.logo-artwork:before,.logo-artwork:after{display:none}.hero-foot{margin-top:0}.page-intro.wrap{padding:42px 24px 32px}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.nav-wrap{gap:8px}.brand,.brand img{width:218px}.brand img{height:76px}.hero{padding-inline:20px}.hero h1{font-size:2.8rem}.hero h1 em{text-underline-offset:8px}.hero .eyebrow{font-size:.75rem}.page-intro.wrap{padding-inline:20px}.footer-top{grid-template-columns:1fr}.footer-top .brand,.footer-top .brand img{width:min(310px,100%)}.project-art{min-height:235px}.drawing-label{font-size:.75rem}.drawing-note{font-size:.75rem}.concept-type{font-size:1.8rem}}

.project-sheets { margin: 1.3rem 0; border-top: 1px solid #b9cbd5; padding-top: 1rem; }
.project-sheets summary { cursor: pointer; color: #173e59; font-weight: 700; }
.project-sheets .sheet-thumbnails { margin-top: 1rem; }
.portfolio-download { display: inline-block; margin-top: 1rem; }
.real-project .sheet-main img { object-fit: contain; background: #fff; }

/* Featured concept and rendering-led project study */
.capstone-feature{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;background:#173e59;color:#fff;border-top:3px solid #8B1E2D;margin-bottom:2rem;overflow:hidden}
.capstone-feature[hidden]{display:none}.capstone-feature-image{display:block;height:100%;min-height:320px}.capstone-feature-image img{width:100%;height:100%;object-fit:cover;display:block}
.capstone-feature-copy{padding:clamp(1.5rem,4vw,3rem)}.capstone-feature-copy h2{color:white}.capstone-feature-copy .eyebrow{color:#ffffff}.capstone-feature-copy .button{margin-top:1rem}.concept-note{font-size:.85rem;line-height:1.6;opacity:.78;margin-top:1.4rem}
.study-heading{padding-top:3rem;padding-bottom:3rem}.study-heading>.eyebrow{margin-top:2.5rem}.study-heading h1{max-width:900px}.study-heading .lead{max-width:780px}.study-hero img{display:block;width:100%;height:auto;border-bottom:4px solid #8B1E2D}
.study-intro{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.study-intro p{margin-top:0}.study-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.study-tile{margin:0;min-width:0}.study-tile a{display:block;background:#fff}.study-tile img{display:block;width:100%;height:auto}.study-tile figcaption{padding:1rem 0;border-bottom:1px solid #bfd0d9}.study-tile figcaption strong,.study-tile figcaption span{display:block}.study-tile figcaption span{font-size:.9rem;margin-top:.35rem}.study-interiors{grid-template-columns:repeat(3,1fr)}.study-interiors img{aspect-ratio:4/3;object-fit:cover}.study-drawings img{aspect-ratio:3/2;object-fit:contain}
.home-study{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}.home-study img{width:100%;display:block;border-bottom:3px solid #8B1E2D}
@media(max-width:800px){.capstone-feature,.study-intro,.home-study{grid-template-columns:1fr;gap:1.5rem}.capstone-feature{gap:0}.capstone-feature-image{min-height:0}.capstone-feature-image img{height:auto}.study-gallery{gap:1.5rem}.study-interiors{grid-template-columns:1fr}.study-heading{padding-top:2rem}.home-study{margin-top:0}}
@media(max-width:540px){.study-gallery{grid-template-columns:1fr}}

@media(min-width:801px) and (max-width:1000px){.capstone-feature{grid-template-columns:1fr}.capstone-feature-image{min-height:0}.capstone-feature-image img{height:auto}}

/* Brand system 02: blueprint / oxblood / drafting white. */
@font-face{font-family:Manrope;src:url('fonts/Manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/DM-Sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--red:#8B1E2D;--red-pencil:#8B1E2D;--accent:#8B1E2D;--red-hover:#641521}
body{font-family:'DM Sans',Arial,sans-serif}h1,h2,h3{font-family:Manrope,Arial,sans-serif}em{color:var(--red)}
.header .brand img{object-fit:contain;height:auto;border:0;width:100%;max-height:86px}.header .brand{width:250px;padding-block:12px}.header nav .nav-cta:hover,.button:hover,.hero .button:hover{background:var(--red-hover);color:white}.hero .eyebrow,.hero h1 em,.hero-foot .cross{color:#fff}.header nav a:hover{color:#fff;text-decoration:underline;text-decoration-color:#fff}.capstone-feature-copy .eyebrow{color:white}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8B1E2D;outline-offset:4px}.header a:focus-visible,.hero a:focus-visible,footer a:focus-visible,.capstone-feature a:focus-visible{outline-color:white}
@media(max-width:500px){.header .brand{width:220px}.header .brand img{max-height:70px}}
