:root { --navy:#031b29; --navy-2:#082d3e; --blue:#0b7694; --cyan:#35adbb; --green:#68b66d; --ink:#102a38; --paper:#f3f2ed; --white:#fff; --line:rgba(16,42,56,.15); --scroll:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
img{display:block;max-width:100%}[hidden]{display:none!important}
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { position:absolute; inset:0 0 auto; height:96px; display:grid; grid-template-columns:250px 1fr auto; align-items:center; padding:0 3.5vw; z-index:20; color:white; border-bottom:1px solid rgba(255,255,255,.18); }
.brand img { width:210px; height:62px; object-fit:contain; filter:brightness(0) invert(1); }
.nav { display:flex; justify-content:center; gap:2.25rem; font-size:13px; letter-spacing:.04em; }
.nav a { position:relative; padding:38px 0; opacity:.76; transition:.3s; }
.nav a:after { content:""; position:absolute; left:0; right:100%; bottom:28px; height:1px; background:var(--cyan); transition:.35s; }
.nav a:hover { opacity:1; }.nav a:hover:after { right:0; }
.header-cta { background:white; color:var(--navy); padding:15px 20px; font-size:13px; font-weight:700; display:flex; gap:20px; align-items:center; }
.menu-toggle { display:none; }
.hero { min-height:900px; height:100vh; background:var(--navy); color:white; position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; padding:130px 7vw 70px; }
.hero-grid { position:absolute; inset:0; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px); background-size:84px 84px; mask-image:linear-gradient(90deg,black,transparent 85%); }
.hero:after { content:""; position:absolute; width:620px; height:620px; border:1px solid rgba(53,173,187,.3); border-radius:50%; right:-100px; top:150px; }
.hero-copy { position:relative; z-index:2; max-width:750px; }
.eyebrow { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.24em; display:flex; align-items:center; gap:14px; margin:0 0 25px; color:var(--blue); }
.eyebrow:before { content:""; width:34px; height:1px; background:currentColor; }.eyebrow.light { color:#77d4d4; }
h1,h2,h3,p { margin-top:0; }
.hero h1 { font-size:clamp(70px,7.2vw,126px); line-height:.84; letter-spacing:-.067em; font-weight:500; margin:0 0 42px; }
.hero h1 em,.statement h2 em,.comparison h2 em,.services h2 em,.insights-teaser h2 em { font-family:Georgia,serif; font-weight:400; color:var(--cyan); }
.hero-intro { font-size:16px; line-height:1.8; max-width:640px; color:rgba(255,255,255,.7); }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:38px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:42px; padding:18px 22px; font-size:13px; font-weight:700; transition:.3s; }
.button.primary { background:var(--cyan); color:var(--navy); }.button:hover { transform:translateY(-3px); }
.play-link { display:flex; align-items:center; gap:12px; font-size:13px; }.play { width:42px; height:42px; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:grid; place-items:center; font-size:10px; }
.hero-visual { position:relative; height:700px; align-self:end; z-index:2; display:flex; align-items:flex-end; justify-content:center; }
.hero-visual img { width:min(590px,46vw); max-height:720px; object-fit:contain; filter:drop-shadow(0 35px 40px rgba(0,0,0,.38)); transform:translateY(calc(var(--scroll) * .04px)); }
.hero-ring { position:absolute; width:490px; height:490px; border-radius:50%; background:radial-gradient(circle,rgba(53,173,187,.14),transparent 68%); border:1px dashed rgba(255,255,255,.16); top:120px; }
.visual-label { position:absolute; z-index:3; padding:12px 16px; background:rgba(3,27,41,.72); backdrop-filter:blur(12px); border:1px solid rgba(255,255,255,.18); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }.visual-label span { color:var(--cyan); margin-right:10px; }.label-top { top:26%; right:2%; }.label-bottom { bottom:19%; left:-2%; }
.scroll-note { position:absolute; left:3.5vw; bottom:34px; writing-mode:vertical-rl; font-size:9px; letter-spacing:.2em; text-transform:uppercase; opacity:.55; z-index:3; }.scroll-note span { margin-top:15px; }
.hero-enter { opacity:0; transform:translateY(30px); animation:enter .9s cubic-bezier(.2,.7,.2,1) forwards; }.delay-1{animation-delay:.12s}.delay-2{animation-delay:.24s}.delay-3{animation-delay:.36s}@keyframes enter{to{opacity:1;transform:none}}
.proof-strip { display:grid; grid-template-columns:repeat(4,1fr); background:white; border-bottom:1px solid var(--line); }
.proof-strip>div { padding:30px 3vw; border-right:1px solid var(--line); display:flex; align-items:center; gap:16px; }.proof-strip strong { font-family:Georgia,serif; font-size:35px; font-weight:400; color:var(--blue); }.proof-strip span { max-width:120px; font-size:11px; line-height:1.4; text-transform:uppercase; letter-spacing:.07em; }
.section-pad { padding:130px 7vw; }
.statement { display:grid; grid-template-columns:.65fr 1.25fr 1fr; gap:4vw; align-items:start; }
.statement h2,.comparison h2,.services h2,.insights-teaser h2 { font-size:clamp(48px,5.2vw,86px); line-height:.98; letter-spacing:-.055em; font-weight:500; margin:0; }
.statement-copy { padding-top:14px; max-width:420px; }.statement-copy p,.comparison-head>p,.service-list p { font-size:15px; line-height:1.75; color:#5d6b71; }
.text-link { display:inline-flex; align-items:center; gap:26px; margin-top:25px; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.1em; padding-bottom:7px; border-bottom:1px solid currentColor; }.text-link.light { color:white; }
.reveal { opacity:0; transform:translateY(45px); transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1); }.reveal.in-view { opacity:1; transform:none; }
.system-showcase { background:var(--navy); color:white; display:grid; grid-template-columns:1fr 1fr; min-height:1050px; }
.sticky-visual { position:relative; min-height:100%; overflow:hidden; background:linear-gradient(135deg,#0b3547,#031722); display:flex; align-items:center; justify-content:center; }
.sticky-visual:before { content:""; position:absolute; inset:7%; border:1px solid rgba(255,255,255,.11); }.sticky-visual img { position:sticky; top:120px; width:70%; height:780px; object-fit:contain; filter:drop-shadow(0 35px 40px rgba(0,0,0,.35)); }.number-watermark { position:absolute; font:400 220px/1 Georgia,serif; color:rgba(255,255,255,.035); top:35px; left:25px; }.scan-line { position:absolute; height:1px; width:70%; top:50%; background:linear-gradient(90deg,transparent,var(--cyan),transparent); box-shadow:0 0 18px var(--cyan); animation:scan 4s ease-in-out infinite; }@keyframes scan{0%,100%{transform:translateY(-280px);opacity:0}20%,80%{opacity:1}50%{transform:translateY(280px)}}
.system-content { padding:130px 8vw 100px 7vw; }.system-content h2 { font-size:55px; line-height:1.05; letter-spacing:-.045em; font-weight:500; margin-bottom:75px; }
.feature { display:grid; grid-template-columns:45px 1fr; gap:25px; padding:28px 0; border-top:1px solid rgba(255,255,255,.16); }.feature>span { font:italic 16px Georgia,serif; color:var(--cyan); }.feature h3 { font-size:18px; font-weight:500; margin-bottom:10px; }.feature p { color:rgba(255,255,255,.56); line-height:1.65; font-size:14px; max-width:450px; }.button.ghost { border:1px solid rgba(255,255,255,.35); color:white; margin-top:30px; }
.comparison { padding-bottom:70px; overflow:hidden; }.comparison-head { display:grid; grid-template-columns:.5fr 1.2fr .65fr; align-items:end; gap:4vw; margin-bottom:80px; }.comparison-head>p { margin:0 0 8px; }
.comparison-stage { height:700px; position:relative; display:grid; grid-template-columns:1fr 1fr; gap:18px; }.material-card { position:relative; overflow:hidden; background:white; padding:40px; }.material-card span { font-size:10px; letter-spacing:.2em; text-transform:uppercase; }.material-card h3 { font:400 64px Georgia,serif; margin:8px 0 0; }.material-card img { position:absolute; height:90%; width:65%; object-fit:contain; bottom:-8%; right:-5%; transition:transform .7s; }.material-card:hover img { transform:scale(1.04) translateY(-2%); }.material-card.block { background:#deddd6; }.material-card.block img { width:72%; }.versus { position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%); width:72px; height:72px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:var(--navy); font-weight:800; }
.benefit-marquee { width:calc(100% + 14vw); margin-left:-7vw; background:var(--cyan); padding:18px 0; overflow:hidden; font-size:12px; text-transform:uppercase; letter-spacing:.15em; white-space:nowrap; }.benefit-marquee div { width:max-content; animation:marquee 28s linear infinite; }@keyframes marquee{to{transform:translateX(-50%)}}
.services { display:grid; grid-template-columns:1fr 1fr; gap:9vw; background:white; }.service-list article { position:relative; border-top:1px solid var(--line); padding:30px 55px 35px 48px; display:grid; grid-template-columns:80px 1fr; }.service-list article>span { position:absolute; left:0; top:33px; color:var(--cyan); font:italic 13px Georgia,serif; }.service-list h3 { font-size:24px; font-weight:500; margin-bottom:12px; }.service-list p { margin:0; }.service-list article>span+ h3 { grid-column:2; }.service-list article p { grid-column:2; }.service-list article>span~span:last-child { position:absolute; right:0; left:auto; color:var(--ink); }
.projects { background:var(--navy); color:white; padding:130px 7vw; }.projects-head,.insights-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:60px; }.projects-head h2 { font-size:78px; font-weight:500; letter-spacing:-.055em; margin:0; }
.project-grid { display:grid; grid-template-columns:1.35fr .8fr .8fr; gap:18px; }.project { min-height:520px; position:relative; overflow:hidden; background:#0d3546; display:flex; align-items:flex-end; padding:30px; }.project-art { position:absolute; inset:0; transition:transform .8s; opacity:.88; }.project:hover .project-art { transform:scale(1.04); }.project>div:last-child { position:relative; z-index:2; }.project span { font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:#8dd3d4; }.project h3 { font-size:24px; font-weight:500; margin:8px 0 0; }.architecture-one { background:linear-gradient(145deg,transparent 30%,rgba(3,27,41,.8)),linear-gradient(112deg,#b8c7c8 0 22%,#eae9e2 22% 45%,#55747c 45% 47%,#d4c3ab 47% 75%,#263f46 75%); clip-path:polygon(0 25%,62% 0,100% 18%,100% 100%,0 100%); }.architecture-two { background:linear-gradient(140deg,transparent 35%,rgba(3,27,41,.75)),linear-gradient(75deg,#70898d 0 40%,#ded7c9 40% 63%,#183645 63%); clip-path:polygon(0 12%,100% 0,100% 100%,0 100%); }.architecture-three { background:linear-gradient(155deg,transparent 40%,rgba(3,27,41,.8)),linear-gradient(112deg,#b2b5ad 0 30%,#385b64 30% 35%,#d9d1c0 35% 68%,#22404b 68%); clip-path:polygon(0 18%,100% 0,100% 100%,0 100%); }
.insights-head h2 { margin:0; }.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.insight-card { min-height:390px; padding:35px; background:white; display:flex; flex-direction:column; justify-content:space-between; transition:.4s; }.insight-card:hover { transform:translateY(-8px); }.insight-card.featured { color:white; background:linear-gradient(150deg,rgba(3,27,41,.2),rgba(3,27,41,.95)),url('/assets/cmu-wall.jpg') center/cover; }.insight-card>span { font-size:10px; text-transform:uppercase; letter-spacing:.14em; opacity:.66; }.insight-card h3 { font-size:28px; line-height:1.18; font-weight:500; max-width:400px; }.insight-card>span:last-child { font-size:25px; }
.contact-band { padding:100px 7vw; background:var(--blue); color:white; display:flex; justify-content:space-between; align-items:center; }.contact-band h2 { font-size:78px; line-height:.95; letter-spacing:-.055em; font-weight:500; margin:0; }.round-cta { width:190px; height:190px; border-radius:50%; background:var(--cyan); color:var(--navy); display:flex; justify-content:center; align-items:center; gap:22px; font-size:13px; font-weight:700; transition:.4s; }.round-cta:hover { transform:rotate(-5deg) scale(1.04); }
.footer { background:#02141e; color:white; padding:110px 7vw 30px; }.footer-lead { display:flex; justify-content:space-between; align-items:flex-end; padding-bottom:90px; border-bottom:1px solid rgba(255,255,255,.14); }.footer-lead h2 { font-size:62px; line-height:1; letter-spacing:-.045em; font-weight:500; max-width:650px; margin:0; }.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:4vw; padding:70px 0; }.footer-grid img { width:220px; filter:brightness(0) invert(1); }.footer-grid div { display:flex; flex-direction:column; gap:7px; font-size:13px; color:rgba(255,255,255,.65); }.footer-grid div span { color:#6ed0d2; text-transform:uppercase; letter-spacing:.15em; font-size:9px; margin-bottom:11px; }.footer-grid p { line-height:1.7; }.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.14); padding-top:25px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.38); }
@media(max-width:1000px){.site-header{grid-template-columns:1fr auto}.nav{position:absolute;top:96px;left:0;right:0;background:var(--navy);padding:25px;display:none;flex-direction:column}.nav.open{display:flex}.menu-toggle{display:block;background:none;border:0;width:42px}.menu-toggle span{display:block;height:1px;background:white;margin:9px}.header-cta{display:none}.hero{grid-template-columns:1fr;padding-top:150px;height:auto}.hero-visual{height:540px}.hero-visual img{width:72vw}.proof-strip{grid-template-columns:1fr 1fr}.statement,.comparison-head{grid-template-columns:1fr}.system-showcase{grid-template-columns:1fr}.sticky-visual{min-height:720px}.services{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr 1fr}.project-a{grid-column:1/-1}.insight-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.site-header{height:78px;padding:0 20px}.brand img{width:170px}.nav{top:78px}.hero{min-height:850px;padding:130px 22px 40px}.hero h1{font-size:60px}.hero-intro{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{height:410px}.hero-visual img{width:92vw}.visual-label{display:none}.proof-strip{grid-template-columns:1fr 1fr}.proof-strip>div{padding:20px 15px;align-items:flex-start;flex-direction:column}.proof-strip strong{font-size:28px}.section-pad,.projects{padding:90px 22px}.statement{gap:30px}.statement h2,.comparison h2,.services h2,.insights-teaser h2{font-size:48px}.system-content{padding:90px 22px}.system-content h2{font-size:42px}.sticky-visual{min-height:560px}.sticky-visual img{height:520px;width:90%}.comparison-stage{height:auto;grid-template-columns:1fr}.material-card{height:470px}.comparison-head{margin-bottom:40px}.services{gap:50px}.service-list article{grid-template-columns:35px 1fr;padding-left:30px}.project-grid{grid-template-columns:1fr}.project-a{grid-column:auto}.project{min-height:420px}.projects-head,.insights-head,.footer-lead{align-items:flex-start;flex-direction:column;gap:20px}.projects-head h2,.contact-band h2{font-size:54px}.contact-band{padding:80px 22px;flex-direction:column;align-items:flex-start;gap:45px}.round-cta{width:150px;height:150px}.footer{padding:80px 22px 25px}.footer-lead h2{font-size:45px}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:20px;flex-direction:column}}

/* Knowledge Center */
.blog-page{background:#f2f1ec}.blog-header{position:absolute}.blog-header .nav .active{opacity:1}.blog-header .nav .active:after{right:0}.blog-hero{min-height:700px;background:var(--navy);color:white;position:relative;overflow:hidden;padding:210px 7vw 85px;display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:7vw}.blog-hero:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(53,173,187,.2);border-radius:50%;right:6vw;top:90px}.blog-hero-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(90deg,black,transparent)}.blog-title,.blog-dek{position:relative;z-index:2}.blog-title h1{font-size:clamp(74px,8vw,132px);line-height:.86;letter-spacing:-.068em;font-weight:500;margin:0}.blog-title h1 em{font-family:Georgia,serif;font-weight:400;color:var(--cyan)}.blog-dek{font-size:17px;line-height:1.8;color:rgba(255,255,255,.66);max-width:470px;margin-bottom:15px}.blog-index{position:absolute;right:7vw;top:135px;color:rgba(255,255,255,.38);font-size:10px;text-transform:uppercase;letter-spacing:.18em}.featured-story{display:grid;grid-template-columns:1.15fr .85fr;min-height:770px}.featured-media{position:relative;background:#d7d8d2;overflow:hidden;display:flex;align-items:center;justify-content:center}.featured-media:before{content:"";position:absolute;inset:9%;border:1px solid rgba(16,42,56,.15)}.featured-media img{width:66%;height:90%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(3,27,41,.2));transition:transform .8s}.featured-media:hover img{transform:scale(1.035) rotate(.7deg)}.media-ruler{position:absolute;left:34px;top:13%;bottom:13%;display:flex;flex-direction:column;justify-content:space-between}.media-ruler i{display:block;width:12px;height:1px;background:rgba(16,42,56,.35)}.featured-copy{background:white;padding:110px 8vw;display:flex;flex-direction:column;justify-content:center}.article-meta{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#718087}.featured-copy h2{font-size:44px;line-height:1.08;letter-spacing:-.04em;font-weight:500;margin:25px 0}.featured-copy>p{font-size:15px;line-height:1.8;color:#67757b}.dark-button{background:var(--navy);color:white;width:max-content;margin-top:25px}.library-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:55px}.library-top h2{font-size:75px;line-height:1;letter-spacing:-.055em;font-weight:500;margin:0}.library-top h2 em{font-family:Georgia,serif;font-weight:400;color:var(--cyan)}.library-top>p{max-width:430px;line-height:1.7;color:#66757b}.filter-bar{display:flex;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:35px;overflow:auto}.filter-bar button{white-space:nowrap;border:0;background:transparent;padding:10px 16px;font-size:11px;letter-spacing:.06em;color:#6e7b80;cursor:pointer}.filter-bar button.active{background:var(--navy);color:white}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 18px}.article-card{background:white;min-width:0}.article-image{height:340px;position:relative;overflow:hidden;background:var(--navy)}.article-image img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.article-card:hover .article-image img{transform:scale(1.06)}.article-image.cfs{background:#d8d8d1}.article-image.cmu{background:#d0d1cd}.article-image.blue{background:linear-gradient(135deg,#0b7897,#092c3b);clip-path:polygon(0 0,100% 0,100% 84%,0 100%)}.article-image.blue:before{content:"CODE";position:absolute;font:400 92px Georgia,serif;color:rgba(255,255,255,.1);left:20px;bottom:20px}.article-image.green{background:radial-gradient(circle at 70% 25%,#8ed18b,transparent 18%),linear-gradient(145deg,#174b50,#071f2c)}.article-image.green:before{content:"ADU";position:absolute;font-size:110px;font-weight:700;color:rgba(255,255,255,.09);left:24px;bottom:15px}.article-image.grid{background-color:#0a3848;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:34px 34px}.article-image.grid:after{content:"MULTI-FAMILY";position:absolute;left:30px;bottom:30px;color:white;font-size:28px;letter-spacing:-.02em}.article-image.dark{background:linear-gradient(145deg,#081d29,#155169)}.article-image.dark:after{content:"$17—32";position:absolute;left:30px;bottom:28px;color:white;font:400 58px Georgia,serif}.card-number{position:absolute;top:22px;right:22px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;font:italic 13px Georgia,serif;color:var(--navy)}.article-content{padding:28px}.article-content>span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#678087}.article-content h3{font-size:24px;line-height:1.2;font-weight:500;margin:17px 0}.article-content p{font-size:13px;line-height:1.7;color:#6c787d}.article-content a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.newsletter{min-height:620px;background:var(--blue);color:white;padding:115px 7vw;position:relative;display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:center;overflow:hidden}.newsletter-mark{position:absolute;right:-20px;bottom:-70px;font-size:340px;line-height:1;font-weight:800;color:rgba(255,255,255,.045);letter-spacing:-.09em}.newsletter h2{font-size:67px;line-height:.96;letter-spacing:-.055em;font-weight:500;margin:0 0 25px}.newsletter p{color:rgba(255,255,255,.65);line-height:1.7}.subscribe-form{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.28);padding-top:25px}.subscribe-form label{display:block}.subscribe-form label span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#8fe0e1;margin-bottom:12px}.subscribe-form input{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.36);padding:15px 0;color:white;font-size:18px;outline:none}.subscribe-form input::placeholder{color:rgba(255,255,255,.42)}.subscribe-form button{margin-top:28px;background:white;color:var(--navy);border:0;padding:16px 20px;width:180px;display:flex;justify-content:space-between;font-weight:700}.blog-footer{padding-top:45px}
@media(max-width:1000px){.blog-hero{grid-template-columns:1fr}.featured-story{grid-template-columns:1fr}.featured-media{min-height:650px}.article-grid{grid-template-columns:1fr 1fr}.newsletter{grid-template-columns:1fr}}
@media(max-width:650px){.blog-hero{min-height:650px;padding:160px 22px 65px}.blog-title h1{font-size:60px}.blog-dek{font-size:14px}.blog-index{right:22px;top:110px}.featured-media{min-height:500px}.featured-media img{width:85%}.featured-copy{padding:80px 22px}.featured-copy h2{font-size:36px}.library-top{align-items:flex-start;flex-direction:column;gap:25px}.library-top h2{font-size:51px}.article-grid{grid-template-columns:1fr}.newsletter{padding:90px 22px}.newsletter h2{font-size:48px}.newsletter-mark{font-size:190px}}

/* PBS heritage imagery and sitemap refinements */
.site-header{grid-template-columns:250px 1fr auto}.header-contact{display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.08em}.header-contact>a:first-child{color:rgba(255,255,255,.68)}.nav-item{position:relative;display:flex;align-items:center}.submenu{position:absolute;top:74px;left:-20px;width:215px;background:white;color:var(--navy);padding:14px;opacity:0;visibility:hidden;transform:translateY(8px);transition:.3s;box-shadow:0 18px 45px rgba(0,0,0,.18)}.submenu a{display:block;padding:10px!important;opacity:.7!important;font-size:11px}.submenu a:after{display:none}.submenu a:hover{opacity:1!important;background:#eef4f3}.nav-item:hover .submenu{opacity:1;visibility:visible;transform:none}.hero-photo-wash{position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(3,27,41,.97) 42%,rgba(3,27,41,.68) 100%),url('/assets/current-hero-02.jpg') center/cover;opacity:.42}.hero-grid{z-index:1}.hero-copy,.hero-visual{z-index:3}.field-story{min-height:720px;padding:0 7vw 120px;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr auto;gap:20px;background:var(--paper);position:relative}.field-image{position:relative;overflow:hidden;min-height:560px}.field-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.field-image:hover img{transform:scale(1.035)}.field-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(3,27,41,.68))}.field-image>span{position:absolute;left:25px;bottom:23px;z-index:2;color:white;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.field-small{margin-top:110px;min-height:450px}.field-note{grid-column:1/-1;display:flex;justify-content:space-between;align-items:start;border-top:1px solid var(--line);padding-top:22px}.field-note>span{font:italic 18px Georgia,serif;color:var(--blue)}.field-note p{max-width:470px;color:#627178;line-height:1.7;font-size:14px}.material-card.wood{background:#d8c4a3;position:relative}.wood-frame{position:absolute;inset:22% 6% -8% 17%;background:repeating-linear-gradient(90deg,#c4955d 0 28px,#956c42 28px 34px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);filter:drop-shadow(0 25px 25px rgba(56,34,12,.2))}.wood-frame:before,.wood-frame:after{content:"";position:absolute;left:-8%;right:-2%;height:32px;background:#a87949;box-shadow:inset 0 0 0 1px rgba(70,44,21,.16)}.wood-frame:before{top:13%}.wood-frame:after{bottom:18%}.project-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:460px}.project{min-height:0}.project-a{grid-column:span 7}.project-b{grid-column:span 5}.project-c,.project-d,.project-e{grid-column:span 4}.project-f{grid-column:span 12}.project-art{width:100%;height:100%;object-fit:cover}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(3,27,41,.86))}.project>div:last-child{position:relative;z-index:3}.guarantee{display:grid;grid-template-columns:1.08fr .92fr;min-height:740px;background:white}.guarantee-image{overflow:hidden;min-height:650px}.guarantee-image img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s}.guarantee-image:hover img{transform:scale(1.035)}.guarantee-copy{padding:100px 8vw;display:flex;flex-direction:column;justify-content:center}.guarantee-copy h2{font-size:56px;line-height:1.02;letter-spacing:-.05em;font-weight:500;margin:0 0 40px}.guarantee-copy h2 em{font-family:Georgia,serif;color:var(--cyan);font-weight:400}.guarantee-copy ul{list-style:none;padding:0;margin:0 0 20px}.guarantee-copy li{padding:18px 0 18px 30px;border-top:1px solid var(--line);font-size:13px;position:relative}.guarantee-copy li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}.member-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:30px;align-items:center;padding:30px 0;border-top:1px solid rgba(255,255,255,.14)}.member-logos img{width:100%;height:52px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.55}.footer-grid{padding-bottom:45px}
@media(max-width:1100px){.header-contact>a:first-child{display:none}.nav{gap:1.3rem}.field-story{grid-template-columns:1fr 1fr}.guarantee{grid-template-columns:1fr}.guarantee-image{min-height:560px}.member-logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.header-contact{display:none}.submenu{position:static;display:none;opacity:1;visibility:visible;transform:none;background:rgba(255,255,255,.06);color:white;width:100%;box-shadow:none}.nav-item{display:block}.nav-item:hover .submenu{display:block}.field-story{padding:0 22px 90px}.project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:420px}.project-a,.project-b,.project-c,.project-d,.project-e,.project-f{grid-column:auto}.project-f{grid-column:1/-1}}
@media(max-width:650px){.field-story{grid-template-columns:1fr}.field-image,.field-small{min-height:360px;margin-top:0}.field-note{flex-direction:column;gap:12px}.project-grid{grid-template-columns:1fr;grid-auto-rows:390px}.project-f{grid-column:auto}.guarantee-copy{padding:80px 22px}.guarantee-copy h2{font-size:44px}.member-logos{grid-template-columns:repeat(2,1fr)}}

.member-logos{gap:16px}.member-logos img{height:64px;background:rgba(255,255,255,.94);padding:10px 12px;filter:grayscale(1);opacity:.78}

/* Art direction refinement: disciplined comparison, gallery, and CTA grids */
.comparison{background:#f3f2ed;padding-top:120px;padding-bottom:120px}.comparison-head{grid-template-columns:3fr 6fr 3fr;margin-bottom:58px}.comparison-head>p:last-child{max-width:390px}.comparison-highlights{display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy);color:white;margin-bottom:18px}.comparison-highlights>div{min-height:150px;padding:32px 36px;border-right:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;justify-content:space-between}.comparison-highlights>div:last-child{border-right:0}.comparison-highlights strong{font:400 38px/1 Georgia,serif;color:#73d1d3}.comparison-highlights span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.6)}.comparison-table{background:white;border-top:1px solid #cbd3d3}.comparison-row{display:grid;grid-template-columns:2fr 1fr 1fr;min-height:65px;border-bottom:1px solid #dde2e1;align-items:center}.comparison-row>div{height:100%;display:flex;align-items:center;padding:16px 25px;border-right:1px solid #e2e6e5;font-size:12px}.comparison-row>div:last-child{border-right:0}.comparison-row:nth-child(odd):not(.comparison-labels){background:#f8f8f5}.comparison-labels{min-height:78px;background:#e5e8e4}.comparison-labels>div{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#43545b}.material-dot{width:9px;height:9px;border-radius:50%;margin-right:10px}.steel-dot{background:var(--cyan)}.wood-dot{background:#b49062}.steel-value{font-weight:700;color:#075b72}.wood-value{color:#7c817f}.status-check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#dcefeb;color:#267c6c;font-size:11px;margin-right:10px}.comparison-action{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:22px 25px;background:var(--blue);color:white;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;transition:.3s}.comparison-action:hover{background:var(--navy)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:410px;gap:16px}.project-a,.project-b,.project-c,.project-d,.project-e,.project-f{grid-column:auto}.project{padding:25px}.project h3{font-size:21px}.project-contact{display:grid;grid-template-columns:46% 54%;min-height:680px;background:var(--blue);color:white}.contact-visual{position:relative;overflow:hidden}.contact-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,27,41,.08),rgba(3,27,41,.45))}.contact-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.project-contact:hover .contact-visual img{transform:scale(1.025)}.contact-content{padding:100px 9vw 100px 7vw;display:flex;flex-direction:column;justify-content:center}.contact-content h2{font-size:clamp(52px,5.3vw,82px);line-height:.95;letter-spacing:-.055em;font-weight:500;margin:0 0 30px}.contact-content>p:not(.eyebrow){max-width:520px;font-size:15px;line-height:1.8;color:rgba(255,255,255,.68)}.contact-actions{display:flex;align-items:center;gap:38px;margin-top:35px}.contact-primary{background:white;color:var(--navy)}.contact-phone{display:flex;flex-direction:column;gap:7px;font-size:18px}.contact-phone span{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55)}
@media(max-width:1000px){.comparison-head{grid-template-columns:1fr}.comparison-highlights{grid-template-columns:1fr 1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.project-contact{grid-template-columns:1fr}.contact-visual{min-height:500px}.contact-content{padding:90px 7vw}}
@media(max-width:650px){.comparison{padding:85px 22px}.comparison-highlights{grid-template-columns:1fr}.comparison-highlights>div{min-height:115px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.comparison-row{grid-template-columns:minmax(160px,1.7fr) 96px 78px}.comparison-row>div{padding:14px 12px;font-size:10px}.comparison-labels>div{font-size:8px}.status-check{display:none}.project-grid{grid-template-columns:1fr;grid-auto-rows:380px}.contact-visual{min-height:360px}.contact-content{padding:80px 22px}.contact-content h2{font-size:48px}.contact-actions{align-items:flex-start;flex-direction:column;gap:26px}}

/* Branded loading moment */
html.site-loading{overflow:hidden}.site-preloader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--navy);animation:preloader-out .7s cubic-bezier(.7,0,.2,1) 1.1s forwards;pointer-events:auto;touch-action:none}
.site-preloader:before,.site-preloader:after{content:"";position:absolute;background:rgba(255,255,255,.055)}
.site-preloader:before{width:1px;height:100%;left:50%;top:0;transform:scaleY(0);animation:grid-draw .8s ease .12s forwards}
.site-preloader:after{height:1px;width:100%;left:0;top:50%;transform:scaleX(0);animation:grid-draw-x .8s ease .12s forwards}
.preloader-mark{position:relative;z-index:2;width:min(330px,68vw);text-align:center;animation:mark-rise .75s cubic-bezier(.2,.8,.2,1) both}
.preloader-mark img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.preloader-line{display:block;width:100%;height:1px;margin:25px 0 15px;background:rgba(255,255,255,.16);overflow:hidden}
.preloader-line i{display:block;width:100%;height:100%;background:var(--cyan);transform:translateX(-101%);animation:load-line 1s cubic-bezier(.65,0,.25,1) .08s forwards}
.preloader-mark small{color:rgba(255,255,255,.48);font-size:9px;text-transform:uppercase;letter-spacing:.25em}
@keyframes mark-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes load-line{to{transform:translateX(0)}}
@keyframes grid-draw{to{transform:scaleY(1)}}
@keyframes grid-draw-x{to{transform:scaleX(1)}}
@keyframes preloader-out{to{opacity:0;visibility:hidden;transform:scale(1.025)}}

/* Premium interactive finish */
@media(hover:hover) and (pointer:fine){
  .brand img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s}.brand:hover img{transform:translateY(-2px) scale(1.018)}
  .header-cta{transition:background .3s,color .3s,transform .3s}.header-cta span,.button span,.text-link span,.comparison-action span,.article-content a span{transition:transform .3s}.header-cta:hover{background:var(--cyan);transform:translateY(-2px)}.header-cta:hover span,.button:hover span,.text-link:hover span,.comparison-action:hover span,.article-content a:hover span{transform:translate(3px,-3px)}
  .proof-strip>div{transition:background .35s,transform .35s}.proof-strip>div:hover{background:#edf7f5;transform:translateY(-4px)}
  .feature{transition:transform .4s,border-color .4s,background .4s}.feature:hover{transform:translateX(10px);border-color:rgba(119,212,212,.5);background:rgba(255,255,255,.025)}
  .service-list article{transition:background .4s,transform .4s,color .4s}.service-list article:hover{background:#e8ece8;transform:translateX(8px)}.service-list article>span:last-child{transition:transform .35s}.service-list article:hover>span:last-child{transform:translate(4px,-4px)}
  .project{transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .55s}.project .project-art{transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.project:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(0,0,0,.2)}.project:hover .project-art{transform:scale(1.055);filter:saturate(1.08)}
  .comparison-row:not(.comparison-labels){transition:background .25s,transform .25s}.comparison-row:not(.comparison-labels):hover{background:#edf5f2;transform:translateX(4px)}
  .guarantee-copy li{transition:padding-left .3s,color .3s}.guarantee-copy li:hover{padding-left:36px;color:var(--blue)}
  .article-card{transition:transform .45s,box-shadow .45s}.article-card:hover{transform:translateY(-8px);box-shadow:0 24px 65px rgba(3,27,41,.13)}
  .filter-bar button{transition:background .25s,color .25s,transform .25s}.filter-bar button:hover{background:#dfe8e5;color:var(--navy);transform:translateY(-2px)}
  .footer-grid a,.contact-phone{transition:color .25s,transform .25s}.footer-grid a:hover,.contact-phone:hover{color:#77d4d4;transform:translateX(4px)}
  .member-logos img{transition:opacity .35s,filter .35s,transform .35s}.member-logos img:hover{opacity:1;filter:none;transform:translateY(-4px)}
}

@media(prefers-reduced-motion:reduce){
  .site-preloader{animation:none;display:none}.preloader-mark,.preloader-line i,.site-preloader:before,.site-preloader:after{animation:none}
  *,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
