/* JGL: architectural typography, charcoal surfaces and precise red accents. */
.brand img,.portrait .portrait-mark{mix-blend-mode:screen}
:root{--red:#ce2028;--muted:#5b6166}header{background:#15191c;color:#fff;border-bottom:1px solid #ffffff1a}.topbar{background:#090b0c;color:#d8dce0}.brand img{background:transparent}nav{gap:25px}nav a{font-size:.875rem}nav a:hover{color:#ff6970}.header-phone{font-size:.95rem}.hero{min-height:710px}.hero-photo{background-position:65% 50%}.hero-shade{background:linear-gradient(90deg,#0b1118ed,#0b1118b5 40%,#0b11181a 85%)}.hero-content{max-width:900px}.hero h1{font-size:clamp(4.5rem,7.7vw,7.5rem)}.hero h1 em{color:#ff454d}.button{border:0;cursor:pointer;font-family:inherit;line-height:1.5;min-height:54px}.button:hover{transform:translateY(-1px)}.eyebrow{font-size:.875rem}.topbar,.hero-bottom{font-size:.75rem}.design-strip{padding:45px 6%;display:flex;align-items:center;justify-content:space-between;gap:35px;background:#f2f4f5;border-bottom:1px solid #dde1e4}.design-strip h2{font-size:2.5rem}.design-strip .eyebrow{margin-bottom:10px}.design-strip p:not(.eyebrow){max-width:650px;color:var(--muted);margin-bottom:0}.design-strip .button{flex-shrink:0}.manufacturer-strip{display:flex;gap:35px;align-items:center;justify-content:space-between;padding:28px 6%;border-bottom:1px solid #dde1e4}.manufacturer-strip>span{font-size:.75rem;color:var(--muted);letter-spacing:1px}.manufacturer-strip a{font-size:1.1rem}.manufacturer-strip b{margin-left:8px}.services{padding-top:80px}.service-grid{border:0;gap:22px}.service-grid article,.service-grid article+article{border:1px solid #dfe3e5;padding:28px;background:linear-gradient(140deg,#fff,#f7f8f9)}.service-grid article:hover{border-top-color:var(--red)}.number{margin-bottom:45px}.portrait{background:radial-gradient(ellipse at 55% 30%,#3b454d,#181f25 70%);width:100%;max-width:460px;overflow:hidden;isolation:isolate}.portrait .person-cutout{width:100%;height:500px;object-fit:contain;object-position:center bottom}.portrait .portrait-mark{position:absolute;top:22px;right:22px;width:75px;height:70px;object-fit:contain;z-index:2}.portrait-label{background:#0e1215ed;z-index:3}.portrait-label span{font-size:.875rem}.area{background:#151c23;border-left:10px solid var(--red)}.area .eyebrow{color:#ff6970}.area h2{font-size:4.6rem}.area .radius{color:#ff5058}.area-detail a{font-size:.95rem}.contact-grid a span{font-size:.875rem}footer .brand strong{font-size:.7rem}
.catalog-intro{padding:72px 6% 58px;display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:end;background:#eef1f3;border-bottom:1px solid #dae0e3}.catalog-intro h1{font-size:clamp(4rem,7vw,7rem)}.catalog-intro h1 em{color:var(--red)}.catalog-intro>div>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:1.15rem}.catalog{padding-top:55px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.catalog-heading h2{font-size:2.3rem}.catalog-heading a{font-size:.875rem;font-weight:700;color:var(--red)}.material-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.material-card{border:1px solid #dce1e4;scroll-margin-top:30px}.sample-image{position:relative;height:280px;background:#d5d8db;overflow:hidden}.sample-image img{height:100%;width:100%;object-fit:cover}.sample-image>span{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;background:#111b;color:#fff;padding:6px 10px;font-size:.75rem;letter-spacing:.7px}.material-body{padding:35px}.material-body .eyebrow{margin-bottom:14px}.material-body h2{font-size:3.5rem}.material-body>p:not(.eyebrow){color:var(--muted)}dl{margin:28px 0}dl>div{display:grid;grid-template-columns:.85fr 1.2fr;gap:15px;padding:12px 0;border-top:1px solid #dce1e4;font-size:.875rem}dt{color:var(--muted)}dd{margin:0;font-weight:600}.source-link{display:block;margin-top:20px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}.catalog-note{font-size:.875rem;color:var(--muted);line-height:1.8;margin:30px 0 0;max-width:1000px}.system-section{background:#151c23;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:12%}.system-section .red{color:#ff6970}.system-section>div>p:not(.eyebrow){color:#bac2c9;max-width:360px}.system-list article{display:flex;gap:25px;border-top:1px solid #ffffff35;padding:22px 0}.system-list article>span{font-size:.875rem;color:#ff6970;min-width:25px}.system-list h3{font-size:1.8rem}.system-list p{font-size:.95rem;color:#bac2c9;margin:10px 0 0}.centered{justify-content:center;margin-top:30px}
.request-main{background:#eef1f3}.request-layout{padding:55px 6% 75px;display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;align-items:start}.back-link{display:inline-block;font-size:.875rem;margin-bottom:30px;color:var(--muted)}.request-intro h1{font-size:clamp(3.5rem,5.2vw,5.2rem)}.request-lead{font-size:1.05rem;color:var(--muted);max-width:440px;margin:25px 0}.request-steps{padding:0;list-style:none;max-width:460px;margin:35px 0}.request-steps li{display:flex;gap:20px;padding:18px 0;border-top:1px solid #cdd4d9}.request-steps li>span{font-size:.875rem;color:var(--red);font-weight:800}.request-steps p{font-size:.9rem;margin:5px 0 0;color:var(--muted)}.honest-note{border-left:3px solid var(--red);padding:5px 0 5px 20px;max-width:470px}.honest-note p{font-size:.875rem;line-height:1.7;color:var(--muted);margin:8px 0}.request-panel{background:#fff;border:1px solid #dce2e6;padding:32px;box-shadow:0 20px 60px #1423300c}.panel-top{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;letter-spacing:1px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid #dce1e4;margin-bottom:25px}.panel-top span:first-child{font-weight:800;color:var(--red)}.request-panel h2{font-size:2.4rem}.request-panel>p{font-size:.9rem;color:var(--muted);margin-bottom:25px}.field{margin-bottom:18px;min-width:0}.field label{display:block;font-size:.875rem;font-weight:700;margin-bottom:7px}.field label span{font-weight:400;color:var(--muted)}input,select,textarea{font:inherit;color:var(--ink);width:100%;padding:12px;border:1px solid #bfc8ce;border-radius:0;background:#fff;font-size:1rem;min-height:48px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:2px}.form-row{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:12px}.form-row.two{grid-template-columns:1fr 1fr}fieldset{margin:0 0 20px;padding:0;border:0;min-width:0}legend{font-size:.875rem;font-weight:700;margin-bottom:9px}.choice-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.choice-grid label{position:relative;display:flex;align-items:center;gap:8px;padding:11px 9px;border:1px solid #cbd2d7;cursor:pointer;font-size:.875rem}.choice-grid label:has(input:checked){border-color:var(--red);background:#fff3f4}.choice-grid input{width:16px;min-height:16px;flex-shrink:0;accent-color:var(--red);margin:0}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.5;margin:10px 0 22px}.consent input{width:18px;min-height:18px;flex-shrink:0;margin:2px 0;accent-color:var(--red)}form>.button{width:100%;justify-content:space-between}.form-privacy{font-size:.8125rem;color:var(--muted);line-height:1.7}.form-privacy a{text-decoration:underline;overflow-wrap:anywhere}[hidden]{display:none!important}#request-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:.9rem;padding:20px;background:#f0f3f5;line-height:1.8;margin:25px 0}.review-actions{display:flex;gap:25px;flex-wrap:wrap}.plain-button{border:0;background:none;font:inherit;font-size:.875rem;padding:8px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.request-panel button:focus-visible{outline:2px solid var(--red);outline-offset:4px}#send-email{width:100%;justify-content:space-between}
@media(max-width:1000px){nav{gap:14px}.header-phone{display:none}.request-layout{gap:4%;grid-template-columns:.8fr 1.2fr}.request-panel{padding:24px}.form-row{grid-template-columns:1fr 1fr}.zip-field{grid-column:1/-1}.choice-grid{grid-template-columns:1fr}.manufacturer-strip{gap:20px;flex-wrap:wrap}.system-section{gap:6%}}
@media(max-width:800px){header{height:auto;min-height:95px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:16px}nav{display:flex;order:3;width:100%;justify-content:space-between;border-top:1px solid #ffffff24;padding-top:12px;gap:8px;flex-wrap:wrap}nav a{font-size:.875rem}.header-phone{display:block;font-size:.875rem}.brand strong{font-size:.65rem}.hero{min-height:650px}.hero h1{font-size:clamp(3.8rem,12vw,6rem)}.hero-content{padding-bottom:115px}.design-strip{align-items:start;flex-direction:column;padding:35px 6%;gap:15px}.manufacturer-strip{align-items:start;flex-direction:column;gap:13px}.manufacturer-strip a{font-size:1rem}.service-grid{gap:15px}.service-grid article,.service-grid article+article{padding:25px;border:1px solid #dfe3e5}.portrait{max-width:none}.portrait .person-cutout{height:440px}.portrait .portrait-mark{width:65px;height:60px}.area h2{font-size:3.5rem}.catalog-intro{grid-template-columns:1fr;gap:15px;padding-top:45px}.catalog-intro h1{font-size:4.5rem}.catalog-heading{align-items:start;flex-direction:column}.material-grid{grid-template-columns:1fr}.material-body{padding:25px}.material-body h2{font-size:3.2rem}.sample-image{height:250px}.system-section{grid-template-columns:1fr;gap:25px}.request-layout{display:flex;flex-direction:column;padding:30px 6% 55px;gap:30px}.request-intro{width:100%}.request-panel{width:100%;padding:23px}.request-intro h1{font-size:3.5rem}.request-steps{display:none}.honest-note{margin-top:25px}.request-panel h2{font-size:2.2rem}.form-row.two{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr 1fr 1fr}.choice-grid label{flex-direction:column;align-items:start;font-size:.875rem}.contact-grid a{font-size:1rem}.topbar{flex-wrap:wrap;gap:5px}.topbar,.topbar span{font-size:.75rem}.hero-bottom{font-size:.75rem}.eyebrow{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
/* Compact phone contact in the header corner. */
a[href^="tel:"]{color:#ce2028;font-weight:800}
a[href^="tel:"]:hover{color:#a8171e}
a.header-phone{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;flex-shrink:0;min-height:44px;padding:4px 0;background:none;border:0;font-size:.95rem;line-height:1.5;color:#ff6970}
.header-phone span{display:block;color:inherit;margin-left:0;font-size:.875rem;font-weight:700}
a.header-phone:hover{color:#ff969b}
@media(min-width:801px) and (max-width:1100px){header{height:auto;min-height:108px;flex-wrap:wrap}nav{order:3;width:100%;justify-content:center;padding-bottom:8px}}
@media(max-width:800px){a.header-phone{width:auto;font-size:.875rem}}
@media(max-width:400px){header{gap:8px;padding-left:4%;padding-right:4%}header .brand{gap:8px;font-size:1.4rem}header .brand img{width:48px;height:48px}header .brand strong{font-size:.6rem}}

/* Siding samples extend the existing materials collection. */
.catalog-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.catalog-tabs a{font-size:.95rem;font-weight:800;padding:10px 16px;border:1px solid #aab4bd;background:#fff}.catalog-tabs a:hover{border-color:var(--red);color:var(--red)}
.siding-catalog{background:#f2f4f5;border-top:1px solid #dde1e4}.siding-catalog .catalog-heading{margin-bottom:18px}.siding-catalog .eyebrow{margin-bottom:12px}.siding-intro{max-width:800px;color:var(--muted);margin:0 0 32px}.siding-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.siding-grid .material-card{background:#fff;display:flex;flex-direction:column}.siding-sample{height:240px;background:#e5e8eb}.siding-sample img{object-fit:contain;padding:18px 18px 48px}.siding-sample>span{font-size:.75rem;line-height:1.5}.siding-grid .material-body{padding:26px;display:flex;flex-direction:column;flex:1}.siding-grid h2{font-size:2.7rem}.siding-grid dl{margin-top:auto}.siding-grid dl>div{grid-template-columns:1fr}.siding-grid .button{justify-content:space-between;gap:12px}.siding-grid .source-link{line-height:1.6}
@media(max-width:1100px){.manufacturer-strip{flex-wrap:wrap}.siding-grid{grid-template-columns:1fr}.siding-grid dl>div{grid-template-columns:.7fr 1.3fr}.siding-sample{height:280px}.siding-grid .material-body{padding:25px}}
