:root{--orange:#ff7418;--charcoal:#2d353b;--ink:#13202b;--muted:#53616c;--light:#f3f4f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}h1,h2,p{margin-top:0}h1,h2{line-height:1.12;letter-spacing:-.8px}h2{font-size:32px}p{margin-bottom:18px}.site-header{background:var(--charcoal);color:white;border-bottom:2px solid var(--orange)}.header-inner{max-width:1460px;padding:22px 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{width:300px;flex-shrink:0;display:block}.brand img{display:block;width:100%;height:auto}nav{display:flex;align-items:center;gap:26px}nav a{font-size:14px;white-space:nowrap}nav a[aria-current=page]:not(.button){color:var(--orange);box-shadow:0 2px var(--orange);padding-bottom:5px}.button{display:inline-block;background:var(--orange);color:#17222c;border:0;border-radius:2px;padding:12px 23px;font-weight:bold;font-size:14px;cursor:pointer}.button.outline{background:transparent;color:white;border:1px solid #cbd1d5}.button:hover{filter:brightness(1.08)}.hero{background:var(--charcoal);color:white;display:grid;grid-template-columns:1fr 1.14fr;align-items:center;position:relative;overflow:hidden;gap:35px;padding:48px max(5%,calc((100vw - 1320px)/2));min-height:440px}.hero-text{position:relative;z-index:1}.hero h1{font-size:clamp(34px,4.2vw,60px);margin-bottom:20px}.hero p{font-size:19px;margin:10px 0}.hero .hero-prompt{font-size:17px;margin-top:17px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}.hero-photo{width:100%;max-height:390px;object-fit:contain;display:block;position:relative;z-index:1}.cad{position:absolute;inset:0;width:100%;height:100%;opacity:.14;pointer-events:none;color:white}.eyebrow{color:var(--orange);font-size:14px!important;letter-spacing:1.7px;text-transform:uppercase;font-weight:bold;margin-bottom:14px!important}.content{max-width:1320px;margin:auto;padding:38px 5%}.center{text-align:center}.home-categories{padding-top:30px;padding-bottom:22px}.home-categories h2{font-size:clamp(28px,3.3vw,44px);margin-bottom:24px}.categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px;margin:24px 0}.category{border:0;padding:0;text-align:left;display:block;background:none;color:var(--ink);border-bottom:2px solid transparent}.category[aria-expanded=true]{border-bottom-color:var(--orange)}.category img,.category .concept{width:100%;aspect-ratio:1.06;object-fit:cover;display:block}.category:hover img{filter:brightness(1.05)}.category-label{display:flex;justify-content:space-between;align-items:center;gap:5px;min-height:52px;padding:12px 0;font-size:14px;font-weight:bold;line-height:1.25}.chevron{font-size:23px;color:#cf5200;transition:transform .15s}.category[aria-expanded=true] .chevron{transform:rotate(180deg)}.concept{background-image:url('assets/concepts-proof.jpg');background-size:651% auto;background-repeat:no-repeat}.concept.modular{background-position:78.2% 89.3%}.concept.value{background-position:97.8% 89.3%}.note{color:var(--muted);font-size:14px}.home-categories .note{margin:0}.page-heading{background:var(--charcoal);color:white}.wrap{max-width:1320px;margin:auto;padding:42px 5%}.page-heading h1{font-size:clamp(34px,4vw,51px);margin-bottom:18px}.page-heading p:last-child{font-size:18px;max-width:820px;margin-bottom:0}.work-content .intro-text{font-size:18px;max-width:1160px}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:30px 0 0}.capabilities article{border-left:2px solid var(--orange);padding-left:20px}.capabilities h2{font-size:21px;line-height:1.3;letter-spacing:-.3px;margin-bottom:12px}.capabilities ul{padding-left:20px;margin:0;font-size:16px}.capabilities li{margin:5px 0}.capabilities li::marker{color:var(--orange)}.partnership-note{border-top:1px solid #d8dde0;margin-top:32px;padding-top:26px;max-width:1100px}.partnership-note h2{font-size:26px;margin-bottom:12px}.partnership-note p{margin-bottom:10px}.text-link{color:#bb4900;text-decoration:underline;text-underline-offset:4px;font-weight:bold}.gallery-section{background:var(--light);padding:24px;border-top:2px solid var(--orange);margin:15px 0 32px}.gallery-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.gallery-head h2{font-size:27px;margin:0 0 5px}.small-button{border:1px solid #adb8bf;background:white;padding:9px 15px;border-radius:2px;font-size:14px;white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:17px}.photo-tile{padding:0;border:0;background:white;overflow:hidden}.photo-tile img{display:block;width:100%;height:175px;object-fit:cover}.story-hero{min-height:370px;padding-top:35px;padding-bottom:35px;grid-template-columns:.95fr 1.25fr}.story-hero h1{font-size:clamp(33px,3.5vw,48px)}.story-hero .hero-photo{max-height:335px}.story-content{padding-top:36px;padding-bottom:36px}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}.split .story-photo{display:block;width:100%;height:300px;object-fit:cover}.split h2{font-size:30px;margin-bottom:16px}.date{font-weight:bold;color:#bd4900;border-left:2px solid var(--orange);padding-left:17px;margin:22px 0 0;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.date span{color:var(--muted);font-weight:normal;text-transform:none;letter-spacing:0;font-size:14px}.story-details{display:grid;grid-template-columns:1fr 1.1fr;gap:38px;border-top:1px solid #d8dde0;margin-top:35px;padding-top:30px}.story-details h2{font-size:26px}.story-details p:last-child{margin-bottom:0}.closing-line{font-size:25px;font-weight:bold;line-height:1.25;color:#c64e00;margin:27px 0 0}.how-content{min-height:365px}.draft-label{display:inline-block;background:var(--light);border-left:3px solid var(--orange);padding:9px 16px;font-size:14px;font-weight:bold}.contact{max-width:900px;margin:auto;padding:32px 5% 40px}.contact form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label{display:grid;gap:6px;font-weight:bold;font-size:14px}.contact input,.contact textarea{padding:11px;border:1px solid #a8b2b9;border-radius:2px;width:100%;font-size:16px}.contact textarea{min-height:120px}.contact button{justify-self:start}.form-status{padding:16px;background:var(--light);border-left:3px solid var(--orange)}footer{background:var(--charcoal);color:white}.footer-inner{max-width:1320px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 5%;margin:auto;font-size:14px}.footer-date{color:#c2c9cd;padding-left:15px}.footer-inner>a{color:var(--orange);font-weight:bold}dialog{border:0;border-radius:4px;background:#273139;color:white;width:min(1000px,92vw);max-height:92vh;padding:20px}dialog::backdrop{background:#000b}dialog img{display:block;max-width:100%;max-height:70vh;margin:15px auto;object-fit:contain}.lightbox-top,.lightbox-nav{display:flex;justify-content:space-between;align-items:center;gap:16px}.lightbox-top button,.lightbox-nav button{border:1px solid #a1abb3;color:white;background:transparent;padding:9px 15px;border-radius:2px;font-size:14px}.skip-link{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:10}.skip-link:focus{top:10px}[hidden]{display:none!important}@media(min-width:1500px){.header-inner{padding-left:70px;padding-right:70px}}@media(max-width:1050px){.header-inner{gap:25px}.brand{width:240px}nav{gap:16px}.hero h1{font-size:42px}.categories{gap:12px}.category-label{font-size:14px}.hero{gap:25px}.story-hero h1{font-size:36px}}@media(max-width:850px){.header-inner{flex-direction:column;align-items:flex-start;padding-top:17px;padding-bottom:17px;gap:20px}nav{flex-wrap:wrap;gap:18px}.hero{grid-template-columns:1fr 1fr;min-height:0;padding-top:35px;padding-bottom:35px}.hero h1{font-size:34px}.hero p{font-size:17px}.categories{grid-template-columns:repeat(3,minmax(0,1fr))}.split{gap:25px}.split h2{font-size:26px}.story-hero h1{font-size:32px}.capabilities{gap:22px}.capabilities h2{font-size:19px}.story-details{gap:25px}}@media(max-width:600px){nav{gap:15px;row-gap:13px}.brand{width:260px}nav a{font-size:14px}nav .button{padding:8px 12px}.hero,.story-hero{grid-template-columns:1fr;gap:25px;padding:30px 5%}.hero h1{font-size:38px}.hero-photo{max-height:350px}.categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.content{padding:30px 5%}.home-categories{padding-top:26px;padding-bottom:20px}.home-categories h2{font-size:30px}.capabilities,.split,.story-details{grid-template-columns:1fr}.capabilities{gap:24px}.capabilities h2{font-size:21px}.split .story-photo{height:250px}.story-details{margin-top:28px;padding-top:25px}.story-hero .hero-photo{max-height:300px}.page-heading h1{font-size:37px}.wrap{padding:32px 5%}.gallery-section{padding:17px}.gallery-head{align-items:flex-start;flex-direction:column;gap:12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-tile img{height:140px}.footer-date{display:block;padding-left:0}.form-row{grid-template-columns:1fr;gap:17px}.contact{padding:27px 5%}.closing-line{font-size:23px}.hero-actions{gap:12px}dialog{padding:13px}.how-content{min-height:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Homepage: detailed drafting backdrop and photograph isolated from its room. */
.home-hero{background:#2d353b;grid-template-columns:.94fr 1.25fr;min-height:545px;gap:22px;padding-top:90px;padding-bottom:0;align-items:center}
.home-hero .cad{opacity:.17;object-fit:cover;object-position:center;filter:grayscale(1);mix-blend-mode:screen;z-index:0}
.home-hero .hero-text{padding-top:12px;padding-bottom:15px}
.home-hero .hero-art{position:relative;z-index:1;min-width:0;align-self:end}
.home-hero .approved-concierge{display:block;width:100%;height:auto;overflow:hidden}
.home-hero .concierge-art{width:100%;height:auto;max-height:455px;object-fit:contain;-webkit-mask-image:url('assets/hero-sign-mask.svg');mask-image:url('assets/hero-sign-mask.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@media(min-width:1450px){.home-hero{min-height:550px;padding-top:95px}.home-hero .concierge-art{max-height:480px}}
@media(max-width:850px){.home-hero{padding-top:70px;min-height:440px;grid-template-columns:.98fr 1.1fr}.home-hero .cad{opacity:.15}.home-hero .hero-text{padding-top:0}.home-hero .hero-prompt{font-size:16px}.home-hero .concierge-art{max-height:390px}}
@media(max-width:600px){.home-hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:0;gap:20px;min-height:0}.home-hero .cad{object-position:45% center;opacity:.13}.home-hero .hero-text{padding-bottom:0}.home-hero .hero-art{margin:0 -2%}.home-hero .concierge-art{max-height:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.locked-home{display:block;padding:0;min-height:0;background:#30383d;position:relative}
.locked-home-image{display:block;width:100%;height:auto}
.hero-hit{position:absolute;top:71.35%;height:9.85%;display:block;border-radius:3px}
.work-hit{left:6.77%;width:15.3%}.talk-hit{left:23.18%;width:12.83%}
.hero-hit:hover{background:#ffffff0d}.hero-hit:focus-visible{outline:4px solid white;outline-offset:3px}
.mobile-home{display:none!important}
.page-index .header-inner{max-width:none;padding:12px 6.6%;gap:26px}
.page-index .brand{width:clamp(250px,22vw,350px)}
.page-index nav a{font-size:16px}.page-index nav .button{color:white;font-weight:normal}
.page-index .home-categories{max-width:none;padding-left:1.6%;padding-right:1.6%}
.page-index .home-categories h2{font-size:clamp(30px,3.2vw,50px)}
.page-index .category-label{font-size:clamp(14px,1.3vw,20px)}
@media(max-width:600px){.locked-home{display:none}.mobile-home{display:flex!important}.mobile-home h2{font-size:38px}.page-index nav a{font-size:14px}.page-index .header-inner{padding:17px 5%}.page-index .home-categories{padding-left:5%;padding-right:5%}}
.home-hero{padding:0;display:block;min-height:0;height:clamp(460px,35.8vw,650px);background:#30383d}
.home-hero .cad{opacity:.65;object-fit:fill;mix-blend-mode:normal;filter:none}
.home-hero .hero-text{position:absolute;left:6.6%;top:50%;transform:translateY(-50%);width:43%;padding:0;z-index:2}
.home-hero h1{font-size:clamp(38px,3.8vw,64px)}
.home-hero .hero-art{position:absolute;right:0;bottom:0;top:0;width:55.73%;margin:0}
.home-approved-art{display:block;width:100%;height:100%;object-fit:fill;mask-image:linear-gradient(to right,transparent,black 2%);-webkit-mask-image:linear-gradient(to right,transparent,black 2%)}
.work-hero .hero-art{width:60%;display:flex;align-items:center;justify-content:flex-end}
.work-production-art{display:block;width:100%;height:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(to right,transparent,black 20%);-webkit-mask-image:linear-gradient(to right,transparent,black 20%)}
.work-hero .hero-text{width:38%}
.work-hero .cad{opacity:.8}
@media(max-width:600px){.work-hero .hero-art{width:100%}.work-hero .hero-text{width:auto}.work-production-art{height:auto;mask-image:linear-gradient(to bottom,transparent,black 8%);-webkit-mask-image:linear-gradient(to bottom,transparent,black 8%)}}
.equipment-hero{position:relative;background:var(--charcoal)}
.site-header nav .contact-button{border-radius:0;padding:13px 31px;clip-path:polygon(15% 0,100% 0,100% 70%,85% 100%,0 100%,0 30%);font-weight:bold;color:white;position:relative;letter-spacing:.3px}
.site-header nav .contact-button::after{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:3px;background:#ffffff70;transform:skewY(-30deg)}
.site-header nav .contact-button:focus-visible{outline:none;box-shadow:inset 0 0 0 3px white}
@media(max-width:600px){.site-header nav .contact-button{padding:10px 24px;min-height:44px}}
.request-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;padding-top:45px;padding-bottom:45px;align-items:start}
.request-details h2{font-size:28px;margin-bottom:16px}
.request-details address{font-style:normal;font-size:20px;line-height:1.6;margin-bottom:16px}
.request-email{margin-top:34px;border-top:1px solid #d8dde0;padding-top:28px}
.request-email p{max-width:430px}
.email-address{margin-top:15px;font-size:18px}.email-address a{text-decoration:underline;text-underline-offset:4px}
.request-map{width:100%;height:450px;border:0;background:#f0f2f3}
@media(max-width:600px){.request-layout{grid-template-columns:1fr;gap:30px}.request-map{height:340px}}
.category img.exterior-cover{object-position:center 68%}
.who-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding-top:34px;padding-bottom:34px}
.who-live-hero{height:clamp(460px,35.8vw,650px);min-height:0;padding:0;display:block;background:#30383d}
.who-live-hero .cad{opacity:.65;object-fit:fill;mix-blend-mode:normal;filter:none}
.who-live-hero .hero-text{position:absolute;left:6.6%;top:50%;transform:translateY(-50%);width:36%;z-index:2}
.who-live-hero h1{font-size:clamp(34px,3.2vw,54px);line-height:1.12}
.who-live-hero .hero-text>p:last-child{font-size:19px}
.who-live-art{position:absolute;right:0;top:0;bottom:0;width:61%;display:flex;align-items:center}
.who-display-photo{display:block;width:100%;height:100%;object-fit:contain;object-position:right center;mask-image:linear-gradient(to right,transparent,black 14%);-webkit-mask-image:linear-gradient(to right,transparent,black 14%)}
@media(max-width:850px){.who-live-hero .hero-text{left:5%;width:39%}.who-live-hero h1{font-size:34px}}
@media(max-width:600px){.who-live-hero{height:auto;display:flex;flex-direction:column;padding:30px 5% 0;gap:20px}.who-live-hero .hero-text{position:relative;inset:auto;transform:none;width:auto}.who-live-art{position:relative;inset:auto;width:111%;margin:0 -5.5%}.who-display-photo{height:auto;mask-image:linear-gradient(to bottom,transparent,black 6%);-webkit-mask-image:linear-gradient(to bottom,transparent,black 6%)}}
.who-row h2{font-size:clamp(30px,3vw,42px);border-left:4px solid var(--orange);padding-left:19px}
.who-row>img{width:100%;height:365px;object-fit:cover;display:block}
.who-row>img.feature-wall{object-position:center 55%;height:430px}
.who-band{background:#f0f2f3}
.who-closing{background:var(--charcoal) url('assets/floorplan-approved.png') center/cover;color:white;text-align:center;padding:32px 5%;font-weight:bold;font-size:clamp(24px,3vw,36px);line-height:1.25}
.who-closing p{margin:0}
@media(max-width:600px){.who-row{grid-template-columns:1fr;gap:20px}.who-row>img{height:auto;max-height:420px;object-fit:contain}.who-row>img.feature-wall{height:auto;max-height:500px}.who-band .who-row>img{order:2}}
.equipment-hero>img{display:block;width:100%;height:auto}
.fabrication-section{padding-top:34px;padding-bottom:30px}
.fabrication-section h2,.delivery-section h2{font-size:clamp(30px,3vw,44px);border-left:4px solid var(--orange);padding-left:19px;margin-bottom:10px}
.section-tagline{font-size:20px;line-height:1.4;margin-left:23px;margin-bottom:22px}
.fabrication-intro{display:grid;grid-template-columns:1fr 1fr;gap:52px;margin-left:23px}
.capabilities-lead{font-weight:bold;margin:0 0 12px 23px}
.fabrication-list{margin:0 0 22px 23px;padding-left:22px;columns:3;column-gap:38px}
.fabrication-list li{break-inside:avoid;margin:0 0 8px;padding-left:2px}
.fabrication-list li::marker{color:var(--orange)}
.material-quality{margin:0 0 0 23px}
.delivery-section{background:#f0f1f2}
.delivery-layout{display:grid;grid-template-columns:1fr 1fr;gap:52px;padding-top:36px;padding-bottom:36px}
.delivery-layout p:last-child{margin-bottom:0}
@media(max-width:850px){.home-hero .hero-text{left:5%;width:45%}.home-hero h1{font-size:36px}.home-hero .hero-prompt{font-size:16px}.fabrication-intro,.delivery-layout{gap:30px}.fabrication-list{columns:2}.section-tagline{font-size:18px}}
@media(max-width:600px){.home-hero{height:auto;display:flex;flex-direction:column;padding-top:30px;gap:20px}.home-hero .hero-text{position:relative;left:auto;top:auto;transform:none;width:auto;margin:0 5%}.home-hero .hero-art{position:relative;inset:auto;width:100%;height:auto}.home-approved-art{height:auto;mask-image:none;-webkit-mask-image:none}.home-hero .cad{object-fit:cover;opacity:.5}.home-hero h1{font-size:38px}.fabrication-intro,.delivery-layout{grid-template-columns:1fr;gap:12px}.fabrication-list{columns:1}.equipment-hero>img{width:100%;max-width:100%;transform:none}.equipment-hero{overflow:hidden}.fabrication-section h2,.delivery-section h2{font-size:30px}.section-tagline{font-size:18px}}

/* The supplied modular sheets retain every sign and caption; hide only their top heading band. */
.family-frame{display:block;position:relative;overflow:hidden;aspect-ratio:1536/924;width:100%}
.family-frame img,.photo-tile .family-frame img,dialog .family-frame img{position:absolute;display:block;width:100%;height:auto;max-width:none;max-height:none;left:0;top:-10.82251%;margin:0;object-fit:initial}
.modular-gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.modular-lightbox #large-photo-frame{width:min(100%,116.36vh);margin:15px auto}
@media(max-width:750px){.modular-gallery .photo-grid{grid-template-columns:1fr}}

.modular-intro{max-width:1000px;margin:0 0 26px}.modular-intro h3{font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:0 0 16px}.modular-intro p{margin-bottom:14px}

.family-frame{aspect-ratio:var(--family-aspect,1536/924)}
.family-frame img,.photo-tile .family-frame img,dialog .family-frame img{top:var(--family-top,-10.82251%)}
.modular-lightbox #large-photo-frame{width:min(100%,var(--family-lightbox-width,116.36vh))}

.signs-squared-category{position:relative}.signs-squared-category-logo{position:absolute;bottom:0;left:0;right:0;display:block;background:white;padding:7px 9px}
.signs-squared-logo{display:block;position:relative;overflow:hidden;aspect-ratio:1670/400;width:100%}
.category .signs-squared-logo img,.signs-squared-logo img{position:absolute;display:block;width:116.287%;height:auto;max-width:none;aspect-ratio:auto;left:-8.08%;top:-52.75%;object-fit:initial}
.signs-squared-gallery-brand{width:min(480px,100%);background:white;padding:10px;margin-bottom:22px}
.signs-squared-coming{margin-top:22px;padding-top:16px;border-top:1px solid #d8dde0}
