:root{--navy:#102d3c;--blue:#087baf;--sky:#28b5dd;--ink:#173342;--muted:#5c707b;--paper:#f5f7f7;--line:#d9e2e6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(44px,5.3vw,82px);font-weight:700;max-width:880px}h2{font-size:clamp(32px,3.5vw,52px)}h3{font-size:24px}p{color:var(--muted)}.wrap{width:min(1320px,90%);margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:22px}.eyebrow:before{content:'';display:inline-block;width:28px;height:2px;background:var(--sky);margin:0 12px 4px 0}.topline{background:#0b2533;color:#b8cdd6;font-size:11px;letter-spacing:.12em;padding:9px 0}.topline .wrap{display:flex;justify-content:space-between}.topline a{text-decoration:none;color:white;font-weight:bold}.header{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;border-bottom:1px solid #ffffff20}.nav{display:flex;align-items:center;gap:30px;min-height:90px}.logo{width:225px;margin-right:auto}.logo img{width:100%;height:auto}.navlinks{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}.navlinks a{text-decoration:none}.navlinks a:hover,.navlinks a[aria-current]{color:#66d7f7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 23px;border-radius:5px;background:var(--blue);border:1px solid transparent;color:#fff;font-size:14px;font-weight:700;text-decoration:none;line-height:1.3;transition:background .2s}.btn:hover{background:#09628a}.btn.white{background:white;color:var(--navy)}.btn.outline{border-color:#ffffff80;background:transparent;color:#fff}.btn.light{background:transparent;color:var(--ink);border-color:#b8c8d0}.menu{display:none;border:1px solid #ffffff50;background:none;color:#fff;padding:10px 14px;border-radius:4px}.hero{position:relative;background:var(--navy);color:#fff;isolation:isolate;min-height:690px;display:flex;align-items:center;overflow:hidden}.hero .backdrop{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,42,.94) 0%,rgba(7,29,42,.75) 42%,rgba(7,29,42,.08) 100%)}.hero .wrap{padding:80px 0 100px}.hero .eyebrow{color:#c0e6f3}.hero h1{max-width:760px}.hero h1 span{color:#69d3ed}.hero p{color:#d0dfe6;font-size:19px;max-width:540px;margin:27px 0 32px}.actions{display:flex;flex-wrap:wrap;gap:12px}.hero-note{margin-top:33px;font-size:12px;letter-spacing:.06em;color:#b8cdd6}.hero-card{position:absolute;right:5%;bottom:45px;padding:20px 28px;background:#fff;color:var(--navy);max-width:260px;border-left:4px solid var(--sky)}.hero-card strong{display:block;font-size:15px}.hero-card small{font-size:12px;color:var(--muted)}.trust{background:#fff;border-bottom:1px solid var(--line)}.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.trust div div{padding:25px 18px;border-right:1px solid var(--line);font-size:14px;font-weight:600}.trust span{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:3px}.section{padding:90px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}.section-head h2{max-width:650px}.section-head p{max-width:380px;font-size:16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split p{margin:22px 0}.frame{border-radius:12px;overflow:hidden}.frame img{width:100%;height:480px;object-fit:cover}.checklist{list-style:none;padding:0;margin:25px 0}.checklist li{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}.checklist li:before{content:'✓';color:var(--blue);margin-right:14px;font-weight:bold}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{background:#fff;border:1px solid var(--line);padding:31px;border-radius:8px;display:flex;flex-direction:column;align-items:start;gap:17px;text-decoration:none;transition:transform .2s,border-color .2s}.service:hover{transform:translateY(-3px);border-color:var(--blue)}.service .number{color:var(--blue);font-size:12px;letter-spacing:.15em}.service h3{font-size:25px;letter-spacing:-.03em}.service p{font-size:15px;line-height:1.65}.textlink{font-size:13px;color:var(--blue);font-weight:bold;text-decoration:underline;text-underline-offset:5px;margin-top:auto}.blue-section{background:var(--navy);color:white}.blue-section p{color:#b7ced9}.blue-section .eyebrow{color:#70d2ed}.blue-section .checklist li{border-color:#ffffff25}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.process article{border-top:1px solid #ffffff40;padding-top:22px}.process .num{font-size:13px;color:#63d3ee}.process h3{font-size:22px;margin:20px 0 14px}.process p{font-size:14px}.gallery-shell{position:relative}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;scrollbar-width:thin;padding-bottom:18px;scroll-behavior:smooth}.slide{flex:0 0 76%;scroll-snap-align:center;margin:0}.slide button{width:100%;padding:0;border:0;background:none;border-radius:12px;overflow:hidden}.slide img{width:100%;height:530px;object-fit:cover}.slide figcaption{font-size:13px;color:var(--muted);margin-top:11px}.circle{border:1px solid #d6e0e4;box-shadow:0 5px 20px #00172820;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:29px;line-height:1;z-index:2}.gallery-shell>.circle{position:absolute;top:44%}.gallery-shell>.prev{left:-22px}.gallery-shell>.next{right:-22px}.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin-top:35px}.thumbs button{padding:0;border:0;background:none;border-radius:12px;overflow:hidden}.thumbs img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .3s}.thumbs button:hover img{transform:scale(1.05)}.callband{background:var(--blue);color:#fff;padding:25px 0}.callband .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.callband strong{display:block;font-size:26px;line-height:1.2;letter-spacing:-.03em}.callband p{color:#d9eff8;font-size:14px;margin-top:7px}.callband .btn small{display:block;font-weight:400}.callband .btn{min-width:210px}.beforeafter{position:relative;overflow:hidden;border-radius:10px;aspect-ratio:1200/436;--position:50%}.beforeafter img{position:absolute;width:100%;height:100%;object-fit:cover}.beforeafter .after{clip-path:inset(0 calc(100% - var(--position)) 0 0)}.beforeafter:after{content:'';position:absolute;left:var(--position);height:100%;width:3px;background:white;pointer-events:none}.compare-label{position:absolute;bottom:16px;left:18px;background:#0b2533b8;color:white;padding:5px 12px;font-size:11px;border-radius:3px;z-index:1}.compare-label.right{left:auto;right:18px}.compare-range{width:100%;accent-color:var(--blue);margin-top:16px}.regions{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:35px}.regions a{border-top:1px solid var(--line);padding-top:23px;text-decoration:none}.regions h3{font-size:25px;margin-bottom:10px}.regions small{color:var(--muted);line-height:1.5;display:block}.faq{max-width:850px;margin:40px auto 0}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-weight:600;font-size:18px;cursor:pointer;list-style-position:outside;margin-left:18px}.faq p{padding:16px 20px 0;font-size:15px}.footer{background:#0c2533;color:#fff;padding:60px 0 26px}.footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:65px}.footer p{color:#aec3ce;font-size:14px;margin-top:20px}.footer a{display:block;font-size:14px;text-decoration:none;margin:9px 0;color:#c8dbe4}.footer a:hover{text-decoration:underline}.footer h3{font-size:16px;letter-spacing:0;margin-bottom:20px}.footer .logo{width:230px}.copyright{border-top:1px solid #ffffff20;margin-top:45px;padding-top:22px;font-size:12px;color:#9eb7c4;display:flex;justify-content:space-between;gap:20px}.copyright a{font-size:12px;display:inline}.mobile-call{display:none}.page-hero{padding:65px 0;background:#e7eff2}.page-hero h1{font-size:clamp(40px,4.5vw,67px);max-width:950px}.page-hero p{font-size:18px;max-width:750px;margin-top:23px}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:30px}.breadcrumbs a{text-decoration:none}.article{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:start}.prose h2{font-size:32px;margin:35px 0 18px}.prose p{margin:16px 0;line-height:1.85}.prose ul{color:var(--muted);padding-left:22px}.prose li{margin:12px 0}.aside{background:#e6eef1;padding:30px;border-radius:10px;position:sticky;top:120px}.aside h3{font-size:27px}.aside p{font-size:14px;margin:18px 0}.aside .btn{width:100%;margin-top:10px}.technical{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;background:white;border:1px solid var(--line);border-radius:14px;padding:40px;margin-top:38px}.technical svg{width:100%;height:auto}.layers details{border-bottom:1px solid var(--line);padding:15px 0}.layers summary{cursor:pointer;font-weight:600}.layers p{font-size:14px;margin:12px 0}.caption{font-size:12px;margin-top:15px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form{background:white;border:1px solid var(--line);border-radius:12px;padding:35px}.contact-form label{display:block;font-size:13px;font-weight:bold}.contact-form input,.contact-form select,.contact-form textarea{margin-top:7px;width:100%;padding:13px 12px;border:1px solid #b7c8d0;border-radius:5px;background:white;color:var(--ink);min-height:48px}.contact-form textarea{min-height:120px;resize:vertical}.full{grid-column:1/-1}.contact-form p{font-size:12px;margin:15px 0}.contact-form button{width:100%}.contact-form .consent{font-weight:400;display:flex;align-items:start;gap:10px;font-size:12px}.consent input{width:18px;min-height:18px;margin:2px 0}.hp{position:absolute;left:-9999px}.status{padding:14px;background:#e8f5f3;display:none;margin-top:15px;font-size:14px}.status:not(:empty){display:block}.contact-info h2{margin-bottom:25px}.contact-info .phone{font-size:36px;font-weight:bold;text-decoration:none;color:var(--blue);letter-spacing:-.035em}.contact-info p{margin:18px 0}.site-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.site-links a{padding:16px;background:#fff;border:1px solid var(--line);border-radius:6px;text-decoration:none}.lightbox{max-width:95vw;width:1180px;border:0;border-radius:12px;padding:30px;background:#0b2533;color:white;overflow:hidden}.lightbox::backdrop{background:#03111be8}.lightbox .view{position:relative}.lightbox img{height:72vh;width:100%;object-fit:contain}.lightbox .circle{position:absolute;top:45%}.lightbox .prev{left:0}.lightbox .next{right:0}.close{display:block;margin:0 0 12px auto;border:0;background:none;color:white;font-size:30px;width:40px;height:40px}.lightbox .count{text-align:center;font-size:13px;margin-top:12px;color:#c5d9e2}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;color:#123;padding:12px}.skip:focus{top:8px}:focus-visible{outline:3px solid #21a4d4;outline-offset:4px}@media(min-width:1500px){.hero{min-height:760px}}@media(max-width:1000px){.nav{gap:18px}.navlinks{gap:15px;font-size:12px}.logo{width:190px}.nav>.btn{font-size:12px;padding:12px}.split{gap:35px}.hero-card{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.article{gap:35px;grid-template-columns:1fr 280px}.footergrid{gap:30px}.hero h1{max-width:680px}}@media(max-width:760px){.topline{font-size:9px}.topline span:last-child{display:none}.nav{min-height:75px;flex-wrap:wrap;padding:12px 0}.logo{width:190px}.menu{display:block}.nav>.btn{display:none}.navlinks{display:none;width:100%;flex-direction:column;align-items:stretch;padding:16px 0;font-size:16px}.navlinks.open{display:flex}.navlinks a{padding:9px 0}.hero{min-height:650px}.hero .wrap{padding:65px 0}.hero:after{background:linear-gradient(90deg,#071d2aee,#071d2a75)}.hero p{font-size:17px}.hero h1{font-size:50px;max-width:600px}.trust .wrap{grid-template-columns:1fr 1fr}.trust div div{padding:19px 10px;font-size:12px;border-bottom:1px solid var(--line)}.section{padding:58px 0}.section-head{display:block;margin-bottom:30px}.section-head p{margin-top:20px}.split,.article,.technical,.footergrid{grid-template-columns:1fr;gap:30px}.frame img{height:330px}.service{padding:24px}.service h3{font-size:22px}.process{grid-template-columns:1fr 1fr;gap:25px}.slide{flex-basis:94%}.slide img{height:340px}.gallery-shell>.circle{width:42px;height:42px}.gallery-shell>.prev{left:-12px}.gallery-shell>.next{right:-12px}.thumbs{grid-template-columns:repeat(3,1fr);gap:10px}.callband .wrap{display:block}.callband strong{font-size:24px}.callband .btn{margin-top:18px}.regions{grid-template-columns:1fr 1fr;gap:25px}.technical{padding:22px}.aside{position:static}.site-links{grid-template-columns:1fr 1fr}.formgrid{grid-template-columns:1fr}.contact-form{padding:23px}.contact-info .phone{font-size:30px}.copyright{display:block}.copyright span{display:block;margin-bottom:10px}.footer{padding-bottom:95px}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;background:#fff;box-shadow:0 -3px 20px #00172820;padding:9px 5%;gap:9px}.mobile-call .btn{flex:1;min-height:44px;padding:10px;font-size:12px}.lightbox{padding:10px}.lightbox img{height:65vh}.page-hero{padding:43px 0}.page-hero h1{font-size:42px}}@media(max-width:420px){.service-grid{grid-template-columns:1fr}.hero h1{font-size:43px}.site-links{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html,.gallery{scroll-behavior:auto}*{transition:none!important}}
/* Alliance editorial system */
:root{--navy:#092b3b;--blue:#087fa9;--sky:#73dcf1;--paper:#f7f9f9;--ink:#13313d;--muted:#526b76}.wrap{width:min(1380px,90%)}h1,h2,h3{letter-spacing:-.055em}h2{font-size:clamp(34px,4.1vw,60px);line-height:1.06}.section{padding:96px 0}.btn{border-radius:100px;min-height:54px;padding:16px 25px}.header{background:#092b3bf7;backdrop-filter:blur(14px)}.nav{min-height:84px;gap:24px}.nav .logo{width:205px;min-width:160px}.navlinks{gap:20px;font-size:13px}.nav>.btn{font-size:12px;white-space:nowrap}.topline{background:#061f2b}.pill{display:inline-block;font-size:10px;font-weight:bold;letter-spacing:.13em;line-height:1.5;border:1px solid currentColor;border-radius:100px;padding:8px 13px}.flagship{min-height:720px;align-items:stretch}.flagship .wrap{padding:45px 0 30px;display:flex;flex-direction:column;align-items:start}.hero-top{display:flex;justify-content:space-between;width:100%;gap:20px;align-items:center;color:#d7eff6;font-size:12px;margin-bottom:54px}.flagship h1{font-size:clamp(58px,6.8vw,100px);line-height:1.01;letter-spacing:-.065em;max-width:1000px}.flagship h1 em{font-style:normal;color:#99e9f5}.flagship p{max-width:560px;line-height:1.65;font-size:18px;margin-top:25px}.flagship:after{background:linear-gradient(90deg,#062536ed 0%,#062536b8 48%,#06253635 100%)}.hero-bottom{margin-top:auto;padding-top:45px;display:flex;justify-content:space-between;gap:20px;width:100%;font-size:11px;letter-spacing:.04em;color:#d0e6ec}.hero-bottom a{text-underline-offset:5px}.quick-paths{display:grid;grid-template-columns:repeat(3,1fr);background:white;border:1px solid var(--line);border-radius:0 0 20px 20px}.quick-paths a{padding:25px 35px;text-decoration:none;display:grid;grid-template-columns:30px 1fr;gap:2px 15px;border-right:1px solid var(--line);transition:background .2s}.quick-paths a:last-child{border:0}.quick-paths a:hover{background:#e9f6f8}.quick-paths small{color:var(--blue);grid-row:span 2;align-self:center}.quick-paths strong{font-size:20px;letter-spacing:-.035em}.quick-paths span{font-size:12px;color:var(--muted)}.planner{margin-top:36px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;background:#eaf2f4;padding:45px;border-radius:24px;border:1px solid #d2e3e9}.planner h3{font-size:32px;margin:22px 0 15px;max-width:380px}.planner p{font-size:15px}.planner .pill{color:#176681}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid button{background:#fff;border:1px solid #c9dce2;border-radius:12px;color:var(--ink);text-align:left;padding:17px 18px;font-size:14px;min-height:58px;transition:background .2s}.choice-grid button:hover{border-color:var(--blue)}.choice-grid button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.plan-result{min-height:85px;padding:20px 0}.plan-result strong{font-size:17px;display:block;margin-bottom:8px}.plan-result ul{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--muted)}.plan-cta{font-size:13px}.soft-section{background:#edf2f3}.editorial-split{margin:0 2.5%;border-radius:26px}.editorial-split .wrap{width:min(1310px,90%)}.editorial-split .frame{border-radius:20px}.editorial-split .frame img{height:520px;object-position:center}.detail-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}.detail-tags span{border:1px solid #ffffff40;border-radius:100px;padding:8px 14px;font-size:12px;color:#b6dce9}.material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.material-grid article{background:white;border:1px solid var(--line);border-radius:22px;padding:26px;overflow:hidden}.material-grid .pill{font-size:10px;color:var(--blue);margin-top:22px}.material-grid h3{font-size:30px;margin:19px 0}.material-grid p{font-size:14px}.material-grid details{margin:20px 0;font-size:14px}.material-grid summary{cursor:pointer;padding:12px 0;border-bottom:1px solid var(--line)}.material-grid details p{margin-top:10px}.material-grid a{font-size:13px;color:var(--blue);font-weight:bold;text-underline-offset:4px}.material-sample{display:block;height:150px;position:relative;border-radius:12px;border:1px solid #ccd6da;overflow:hidden}.sample-0{background:repeating-linear-gradient(115deg,#e3e9ea 0 1px,#f8fafa 1px 90px);box-shadow:inset 0 -40px 70px #c8d2d9}.sample-1{background-color:#737a7d;background-image:radial-gradient(#afbac0 1px,transparent 1.6px),radial-gradient(#414c51 1px,transparent 2px);background-size:5px 5px,7px 7px}.sample-2{background-color:#8d8778;background-image:radial-gradient(ellipse,#c2b8a3 30%,transparent 35%),radial-gradient(ellipse,#62635d 30%,transparent 36%),radial-gradient(ellipse,#a09f94 30%,transparent 35%);background-size:18px 16px,22px 24px,27px 20px;background-position:0 0,8px 5px,3px 12px}.material-sample:after{content:'';position:absolute;bottom:0;left:0;right:0;height:18px;background:#526c79;border-top:5px solid #d5c7a4}.local-services{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.local-services details{border-bottom:1px solid #c9d6dc;padding:20px 0}.local-services summary{font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:16px;line-height:1.4;list-style:none}.local-services summary::-webkit-details-marker{display:none}.local-services summary span{color:var(--blue);font-size:11px;font-weight:400;letter-spacing:.07em}.local-services summary:after{content:'+';margin-left:auto;font-size:23px;color:var(--blue);font-weight:400}.local-services details[open] summary:after{content:'−'}.local-services details>div{padding:15px 0 0 30px;font-size:14px}.local-services .actions{margin-top:16px;font-size:12px;gap:22px;color:var(--blue)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}.journal-card{display:block;text-decoration:none;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .2s}.journal-card:hover{transform:translateY(-4px)}.journal-card>div:last-child{padding:25px}.journal-card h3{font-size:25px;letter-spacing:-.035em;line-height:1.2;margin-bottom:16px}.journal-card p{font-size:14px;margin-bottom:24px}.journal-art{height:225px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;background:#123c4e;color:#e0f5f8;background-image:linear-gradient(#b7e6ed0a 1px,transparent 1px),linear-gradient(90deg,#b7e6ed0a 1px,transparent 1px);background-size:24px 24px}.journal-art b{font-size:45px;letter-spacing:-.055em;font-weight:500;line-height:1}.journal-art span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.journal-art small{font-size:9px;letter-spacing:.2em}.art-1{background-color:#c4e7ec;color:#133845}.art-2{background-color:#3e6577}.art-3{background-color:#e4dfd2;color:#283f47}.section-intro{margin:26px 0;color:var(--blue);font-size:14px}.section-intro a{text-underline-offset:5px}.page-hero{padding:65px 0 70px;background:#e8f0f2;border-bottom:1px solid var(--line)}.page-hero h1 em{color:var(--blue);font-style:normal}.page-hero p{line-height:1.7}.location-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.location-intro p{margin:24px 0}.location-intro .availability{font-size:12px;color:#526b76;border-left:2px solid #087fa9;padding-left:14px}.local-note{background:#e9f3f5;padding:16px;border-radius:12px}.city-blueprint{min-height:330px;background-color:var(--navy);background-image:linear-gradient(#b7e6ed0a 1px,transparent 1px),linear-gradient(90deg,#b7e6ed0a 1px,transparent 1px);background-size:25px 25px;border-radius:22px;padding:30px;color:white;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.city-blueprint>span{font-size:10px;letter-spacing:.2em;color:#79cfe1}.city-blueprint strong{font-size:30px;line-height:1.15;letter-spacing:-.04em;margin:20px 0}.city-blueprint small{font-size:11px;color:#bddbe4}.blueprint-roof{height:80px;width:65%;margin:15px auto 40px;transform:rotate(-18deg) skewX(25deg);border:1px solid #96dce9;box-shadow:0 8px 0 #2d5261,0 9px 0 #7eacb8,0 17px 0 #2d5261,0 18px 0 #7eacb8;background:#b7e6ed18}.prep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px}.prep-grid article{border-top:1px solid #afc7d0;padding-top:20px}.prep-grid span{font-size:11px;color:var(--blue)}.prep-grid h3{margin:16px 0;font-size:24px}.prep-grid p{font-size:15px}.nearby{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.nearby a{border:1px solid var(--line);padding:9px 15px;border-radius:100px;font-size:13px;text-decoration:none;background:white}.nearby a:hover{border-color:var(--blue)}.directory-tools{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin:35px 0 16px}.directory-tools label{font-size:12px;font-weight:bold}.directory-tools input,.directory-tools select{display:block;width:100%;border:1px solid #b8ccd4;background:#fff;min-height:56px;border-radius:12px;padding:15px;color:var(--ink);margin-top:8px}.search-count{font-size:12px;margin:0 0 22px}.city-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.city-directory a{display:flex;flex-direction:column;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;min-height:155px}.city-directory a[hidden]{display:none}.city-directory strong{font-size:17px;line-height:1.3;margin-bottom:9px;letter-spacing:-.025em}.city-directory small{font-size:11px;color:var(--muted)}.city-directory span{font-size:11px;color:var(--blue);padding-top:18px;margin-top:auto}.city-directory a:hover{border-color:var(--blue);background:#eff8fa}.editorial-meta{font-size:12px!important;border-bottom:1px solid var(--line);padding-bottom:18px}.takeaway{background:#e8f2f4;padding:24px;border-radius:16px;margin:25px 0}.takeaway p{font-size:17px;margin-bottom:0}.contents{display:flex;flex-direction:column;gap:8px;border-left:2px solid var(--blue);padding:10px 20px;margin:25px 0 45px;font-size:14px}.journal-prose h2{line-height:1.2;font-size:32px}.journal-prose>p{font-size:17px}.source-note{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:12px}.source-note a{display:block;margin-top:10px;color:var(--blue);overflow-wrap:anywhere}.article-action{background:#eaf2f4;padding:25px;border-radius:18px;margin-top:40px}.article-action h2{margin-top:0}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.related-links a{border:1px solid var(--line);border-radius:14px;padding:25px;text-decoration:none;font-weight:bold;background:#fff;line-height:1.4}.frame,.technical,.aside,.contact-form,.service{border-radius:20px}.footer{background:#061f2b}.service-grid .number{font-size:11px}.service-grid{margin-top:30px}.service-grid h3{font-size:24px}.service-grid .service p{font-size:14px}.lightbox .circle{border-radius:50%}.footergrid{grid-template-columns:1.2fr 1fr 1fr}.site-links a{font-size:13px}.article-progress{position:fixed;height:3px;width:0;background:var(--sky);top:0;left:0;z-index:80;pointer-events:none}
@media(max-width:1100px){.navlinks{gap:13px}.nav .logo{width:175px}.nav{gap:16px}.nav>.btn{padding:13px 17px}.flagship h1{font-size:76px}.city-directory{grid-template-columns:repeat(3,1fr)}.planner{padding:32px;gap:30px}.quick-paths a{padding:25px}.journal-card h3{font-size:23px}}
@media(max-width:900px){.navlinks{font-size:11px;gap:10px}.nav .logo{width:150px;min-width:135px}.location-intro{gap:30px}.journal-grid{gap:16px}.journal-card>div:last-child{padding:20px}.material-grid{gap:16px}.material-grid article{padding:20px}.material-grid h3{font-size:25px}}
@media(max-width:760px){.section{padding:60px 0}.nav{gap:15px}.nav .logo{width:190px}.navlinks{font-size:16px;gap:10px}.flagship{min-height:650px}.flagship .wrap{padding:30px 0}.hero-top{margin-bottom:50px}.hero-top>span:last-child{display:none}.hero-top .pill{font-size:8px}.flagship h1{font-size:clamp(49px,8vw,68px)}.flagship p{font-size:16px;max-width:430px}.hero-bottom{font-size:9px;flex-direction:column;gap:12px}.quick-paths{width:100%;border-radius:0}.quick-paths a{padding:18px 14px;display:flex;flex-direction:column;gap:6px}.quick-paths small{align-self:start}.quick-paths strong{font-size:15px}.quick-paths span{font-size:10px}.planner{grid-template-columns:1fr;padding:25px;gap:25px}.planner h3{font-size:28px;max-width:none}.choice-grid button{padding:13px;font-size:12px}.plan-result{min-height:0}.material-grid,.journal-grid,.prep-grid,.location-intro{grid-template-columns:1fr}.material-grid article{padding:25px}.material-grid h3{font-size:30px}.material-sample{height:140px}.local-services{grid-template-columns:1fr;gap:0}.local-services summary{font-size:16px}.editorial-split{margin:0;border-radius:0}.editorial-split .frame img{height:350px}.journal-grid{gap:24px}.journal-card{display:grid;grid-template-columns:1fr}.journal-art{height:200px}.journal-card h3{font-size:26px}.directory-tools{grid-template-columns:1fr}.city-directory{grid-template-columns:1fr 1fr;gap:10px}.city-directory a{padding:17px;min-height:145px}.city-directory strong{font-size:15px}.city-blueprint{min-height:280px}.related-links{grid-template-columns:1fr}.prep-grid{gap:30px}.page-hero h1{font-size:40px}.journal-prose>p{font-size:16px}.journal-prose h2{font-size:29px}.footergrid{grid-template-columns:1fr}.hero .actions .btn{font-size:12px}.section h2{max-width:100%}}
@media(max-width:380px){.city-directory{grid-template-columns:1fr}.flagship h1{font-size:45px}.quick-paths strong{font-size:13px}.quick-paths a{padding:16px 10px}.planner{padding:20px}.choice-grid{grid-template-columns:1fr}}
.header .logo img,.footer .logo img{filter:none}.availability{line-height:1.6}.preview-notice{border-left:3px solid var(--blue);padding:12px 15px;background:#edf6f8;font-size:13px;margin-bottom:20px}
.formgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.formgrid label{min-width:0}.formgrid input,.formgrid select,.formgrid textarea{min-width:0}.journal-art b{font-size:clamp(28px,3.5vw,45px)}@media(max-width:760px){.formgrid{grid-template-columns:minmax(0,1fr)}}
/* Uploaded Alliance project photographs: portrait-first gallery. */
.gallery .slide{flex:0 0 min(46vw,500px)}.gallery .slide img{height:auto;aspect-ratio:3/4;object-fit:cover}.gallery .slide figcaption{line-height:1.5;min-height:40px}.gallery-shell>.circle{top:43%}.thumbs button{position:relative}.thumbs button span{position:absolute;bottom:9px;left:9px;background:#082735db;color:#fff;border-radius:6px;padding:3px 8px;font-size:11px}.thumbs img{height:auto;aspect-ratio:1;object-fit:cover}.gallery-index{margin-top:48px}.gallery-index h2{font-size:30px}.gallery-index p{margin-top:12px;font-size:14px}.flagship .backdrop{object-position:center 55%}@media(max-width:760px){.gallery .slide{flex-basis:86%}.gallery .slide figcaption{font-size:12px}.gallery-index h2{font-size:26px}.flagship .backdrop{object-position:58% center}}

.sector-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.sector-service{display:flex;flex-direction:column;align-items:flex-start;gap:17px;padding:28px;border:1px solid var(--line);border-radius:18px;background:white;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.sector-service:hover{border-color:var(--blue);box-shadow:0 12px 32px #102d3c0b}
.sector-service h3{font-size:25px;letter-spacing:-.035em}
.sector-service p{font-size:14px;line-height:1.65}
.sector-service .textlink{font-size:12px;padding-top:10px}
.service-index{display:grid;place-items:center;width:37px;height:37px;background:#eaf6fa;color:var(--blue);border-radius:10px;font-size:12px;font-weight:bold}
.local-service-index{scroll-margin-top:105px}
.local-service-hero{background:#eef4f6;padding:25px 0 65px;border-bottom:1px solid var(--line)}
.local-service-hero .breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;margin:0 0 42px;color:var(--muted)}
.local-service-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:65px}
.local-service-head h1{font-size:clamp(38px,4.2vw,64px);overflow-wrap:break-word}
.local-service-head h1 em{display:block;color:var(--blue);font-size:.72em;font-weight:500;font-style:normal;line-height:1.15;margin-top:16px;letter-spacing:-.035em}
.local-service-head p{font-size:18px;max-width:600px;margin:25px 0}
.local-service-head .actions{margin-bottom:22px}
.local-back{font-size:13px;text-underline-offset:4px}
.local-service-photo{margin:0}
.local-service-photo img{width:100%;height:360px;object-fit:cover;border-radius:20px}
.local-service-photo figcaption{font-size:11px;color:var(--muted);margin-top:10px}
.local-service-lead{font-size:20px}
.local-request .pill{margin-bottom:20px;max-width:100%;white-space:normal}
.local-request ul{padding-left:18px;font-size:14px;color:var(--muted);margin:22px 0}
.local-request li{margin-bottom:10px}
.local-phone{display:block;text-align:center;margin-top:18px;font-size:18px;font-weight:bold;text-decoration:none}
.local-context{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:40px}
.local-context p{margin-top:18px;font-size:16px}
.service-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.service-switcher a{border:1px solid var(--line);background:white;border-radius:10px;padding:16px 20px;text-decoration:none;font-size:14px}
.service-switcher a:hover{border-color:var(--blue)}
.service-switcher a[aria-current]{background:var(--navy);color:white;border-color:var(--navy)}
.urgent-note{border-left:4px solid var(--blue);padding:22px 28px;margin-top:30px;background:#eaf6fa;border-radius:0 12px 12px 0}
.urgent-note p{margin-top:5px;font-size:14px}
.sitemap-local{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sitemap-local details{padding:18px;border:1px solid var(--line);border-radius:10px;background:white;align-self:start}
.sitemap-local summary{font-weight:bold;cursor:pointer}
.sitemap-local a{display:block;margin:10px 0;font-size:14px}
@media(max-width:1000px){.sector-services{grid-template-columns:repeat(2,minmax(0,1fr))}.local-service-head{gap:35px}.local-service-photo img{height:330px}}
@media(max-width:760px){.sector-services,.local-service-head,.local-context,.sitemap-local{grid-template-columns:1fr}.sector-service{padding:23px;gap:13px}.sector-service h3{font-size:24px}.local-service-hero{padding-bottom:35px}.local-service-hero .breadcrumbs{margin-bottom:28px;font-size:11px}.local-service-head{gap:28px}.local-service-head h1{font-size:40px}.local-service-head p{font-size:16px}.local-service-photo img{height:250px}.local-context{gap:30px}.service-switcher{grid-template-columns:1fr 1fr}.service-switcher a{font-size:12px;padding:14px}.local-service-index{scroll-margin-top:90px}}

/* Product library: original manufacturer visuals and Alliance navigation. */
.catalog-intro{padding:65px 0 0;background:#eef4f6}.catalog-intro h1{font-size:clamp(40px,4.6vw,66px)}.catalog-intro em{font-style:normal;color:var(--blue)}
.manufacturer-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;transform:translateY(25px)}.manufacturer-strip a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 15px;text-decoration:none;border-right:1px solid var(--line)}.manufacturer-strip a:last-child{border:0}.manufacturer-strip a:hover{background:#f3f9fb}.manufacturer-strip span{font-size:12px;color:var(--muted)}.manufacturer-logo{object-fit:contain;width:150px;max-width:100%;height:55px}
.catalog-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:36px;align-items:start}.catalog-sidebar{position:sticky;top:112px;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:thin}.catalog-filter-panel{border:1px solid var(--line);border-radius:14px;background:white}.catalog-filter-panel>summary{display:none}.filter-body{padding:22px}.filter-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13px;margin-bottom:22px}.filter-title button{border:0;padding:4px 0;background:none;color:var(--blue);text-decoration:underline;font-size:12px}.filter-body fieldset{border:0;padding:20px 0;margin:0;border-top:1px solid var(--line)}.filter-body legend{float:left;width:100%;font-size:14px;font-weight:bold;margin-bottom:12px}.filter-body label{display:flex;align-items:start;gap:9px;font-size:12px;margin:12px 0;line-height:1.4;clear:both}.filter-body input{accent-color:var(--blue);margin:2px 0 0;width:15px;height:15px;flex-shrink:0}
.catalog-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:15px;align-items:end}.catalog-toolbar label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:bold}.catalog-toolbar input,.catalog-toolbar select{width:100%;min-width:0;border:1px solid #b7cbd5;background:white;color:var(--ink);border-radius:9px;padding:14px 15px;min-height:51px}.catalog-count{margin:22px 0;font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.product-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);background:white;border-radius:16px;overflow:hidden;min-width:0}.product-card:hover{border-color:var(--blue);box-shadow:0 12px 30px #102d3c0a}.product-card[hidden]{display:none}.product-visual{position:relative;background:white;border-bottom:1px solid #eef1f2;padding:30px 25px 15px;height:225px;display:flex;align-items:center;justify-content:center}.product-visual>img{width:100%;height:100%;object-fit:contain}.product-family{position:absolute;left:14px;top:13px;background:#eef6f8;color:var(--blue);font-size:10px;border-radius:5px;padding:3px 8px;letter-spacing:.08em}.product-card-copy{display:flex;flex-direction:column;gap:14px;padding:22px;flex:1}.product-card-copy small{font-size:10px;color:var(--muted);line-height:1.5}.product-card h3{font-size:21px;letter-spacing:-.03em;overflow-wrap:anywhere}.product-card p{font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-card .textlink{padding-top:8px;font-size:12px}.product-no-photo{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.product-no-photo span{font-size:12px;color:var(--muted)}
.catalog-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:35px}.catalog-pagination button{min-width:40px;min-height:40px;padding:8px 12px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;font-size:12px}.catalog-pagination button[aria-current]{background:var(--navy);color:white}.catalog-pagination button:disabled{opacity:.4;cursor:default}.catalog-empty{padding:60px 25px;text-align:center;background:white;border-radius:16px}.catalog-empty h2{font-size:28px}.catalog-empty p{margin:15px 0 25px}.catalog-note{font-size:13px;margin-top:40px;color:var(--muted)}.catalog-note p{margin-top:8px;max-width:850px}
.product-detail{padding-top:30px}.product-detail .breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;font-size:12px;color:var(--muted)}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.product-image-panel{border:1px solid var(--line);border-radius:20px;padding:25px;background:white}.product-image-panel>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;color:var(--blue)}.product-detail-image{display:block;position:relative;width:100%;height:425px;padding:30px;border:0;background:white;cursor:zoom-in}.product-detail-image>img{height:100%;width:100%;object-fit:contain}.product-detail-image>span{position:absolute;bottom:0;right:0;border:1px solid var(--line);border-radius:7px;padding:7px 12px;font-size:11px;background:white;color:var(--ink)}.product-image-panel>small{display:block;margin-top:18px;color:var(--muted);font-size:10px}.product-detail-copy h1{font-size:clamp(34px,4vw,53px);overflow-wrap:anywhere}.product-detail-copy>p{margin:25px 0;font-size:17px}.product-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.product-tags span{border:1px solid var(--line);padding:5px 12px;border-radius:15px;font-size:11px}.product-detail-copy .manufacturer-source{font-size:13px}.product-info{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:75px;padding-top:45px;border-top:1px solid var(--line)}.product-info h2{font-size:33px;margin-bottom:30px}.product-info dl>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);padding:15px 0;border-bottom:1px solid var(--line);font-size:13px;gap:10px}.product-info dt{font-weight:bold}.product-info dd{margin:0;color:var(--muted)}.product-info section>p{font-size:14px}.product-documents{display:flex;flex-direction:column;gap:10px;margin-top:25px}.product-documents a{padding:14px 18px;background:white;border:1px solid var(--line);border-radius:8px;font-size:12px;text-decoration:none;overflow-wrap:anywhere}.product-documents a:hover{border-color:var(--blue)}.product-zoom{border:0;border-radius:16px;background:white;padding:45px;width:min(850px,93vw);max-height:90vh;color:var(--ink)}.product-zoom::backdrop{background:#051820da}.product-zoom>img{max-height:70vh;width:100%;object-fit:contain}.product-zoom p{margin-top:18px;text-align:center;font-size:14px}.product-zoom .close{color:var(--ink)}
.sticky-phone{position:fixed;right:23px;bottom:max(22px,env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:14px;padding:14px 22px;border:1px solid #ffffff60;border-radius:50px;background:#087baf;color:white;text-decoration:none;box-shadow:0 10px 30px #001b3b35}.sticky-phone:hover{background:#065f87}.sticky-phone small{display:block;font-size:10px;line-height:1.5;opacity:.9}.sticky-phone strong{display:block;font-size:20px;letter-spacing:.015em;line-height:1.3}.footer{padding-bottom:115px}.topic-photo{margin:0}.topic-photo img{width:100%;height:420px;object-fit:cover;border-radius:16px}.topic-photo figcaption{font-size:11px;color:var(--muted);margin-top:10px}.frame .topic-photo figcaption{padding:0 10px 10px}.material-photo{padding:20px;background:white;border:1px solid var(--line);border-radius:16px}.material-photo img,.frame .material-photo img{object-fit:contain;max-height:420px}.local-service-head .topic-photo img{height:360px}.blue-section .topic-photo figcaption{color:#b8cdd6}.navlinks{gap:18px}
@media(max-width:1150px){.nav .logo{width:180px;min-width:160px}.navlinks{gap:13px;font-size:12px}.nav{gap:22px}.catalog-layout{grid-template-columns:200px minmax(0,1fr);gap:23px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-detail-grid,.product-info{gap:35px}}
@media(max-width:760px){.catalog-intro{padding-top:40px}.catalog-intro .section-head{display:block}.catalog-intro .section-head p{margin-top:25px}.manufacturer-strip{display:flex;overflow-x:auto;scroll-snap-type:x proximity;transform:none;margin-top:30px}.manufacturer-strip a{min-width:150px;scroll-snap-align:start;padding:18px}.manufacturer-logo{width:120px;height:45px}.catalog-section{padding-top:30px}.catalog-layout{grid-template-columns:1fr;gap:20px}.catalog-sidebar{position:static;max-height:none;overflow:visible}.catalog-filter-panel>summary{display:block;padding:15px 20px;font-size:14px;font-weight:bold;cursor:pointer}.catalog-filter-panel>summary:after{content:'+';float:right}.catalog-filter-panel[open]>summary:after{content:'−'}.filter-body{max-height:55vh;overflow:auto}.filter-title{display:flex}.filter-body fieldset{padding-top:0}.catalog-toolbar{grid-template-columns:minmax(0,1fr) 135px;gap:10px}.catalog-toolbar input,.catalog-toolbar select{font-size:12px;padding:12px}.product-grid,.related-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-visual{height:165px;padding:32px 15px 12px}.product-card-copy{padding:16px;gap:12px}.product-card h3{font-size:18px}.product-card p{display:none}.product-card-copy small{font-size:9px}.product-card .textlink{font-size:11px}.product-detail-grid,.product-info{grid-template-columns:1fr;gap:30px}.product-detail-copy{grid-row:1}.product-detail-copy h1{font-size:36px}.product-detail-copy>p{font-size:16px}.product-detail-image{height:340px;padding:25px}.product-info{margin-top:45px;padding-top:30px}.product-info dl>div{grid-template-columns:minmax(0,2fr) minmax(0,3fr);font-size:12px}.product-zoom{padding:35px 20px}.sticky-phone{right:14px;left:auto;bottom:max(14px,env(safe-area-inset-bottom));padding:12px 18px;gap:10px}.sticky-phone strong{font-size:17px}.sticky-phone small{font-size:9px}.sticky-phone svg{width:20px}.footer{padding-bottom:110px}.topic-photo img,.local-service-head .topic-photo img{height:300px}.nav .logo{width:180px}.navlinks{font-size:16px;gap:10px}}
@media(max-width:380px){.product-grid,.related-product-grid{grid-template-columns:1fr}.product-visual{height:220px}.catalog-toolbar{grid-template-columns:1fr}.product-card p{display:-webkit-box}}

/* Persistent two-action contact bar. */
.sticky-action-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#123340;color:white;border-top:1px solid #ffffff22;box-shadow:0 -5px 24px #08233018;padding:14px 0 calc(14px + env(safe-area-inset-bottom))}.sticky-action-inner{display:flex;align-items:center;gap:26px}.sticky-action-copy{margin-right:auto}.sticky-action-copy strong{display:block;font-size:19px}.sticky-action-copy span{display:block;font-size:13px;color:#c4d9e0;margin-top:4px}.sticky-action-call{text-decoration:none;color:white;white-space:nowrap}.sticky-action-call span{display:block;font-size:12px}.sticky-action-call strong{display:block;font-size:22px}.sticky-action-quote{white-space:nowrap}.footer{padding-bottom:160px}html{scroll-padding-bottom:120px}
@media(max-width:760px){.sticky-action-bar{padding:10px 0 calc(10px + env(safe-area-inset-bottom))}.sticky-action-inner{gap:12px;justify-content:center}.sticky-action-copy{display:none}.sticky-action-call strong{font-size:17px}.sticky-action-call span{font-size:11px}.sticky-action-quote{font-size:12px;padding:13px 15px;min-height:48px}.footer{padding-bottom:135px}}

/* In-flow call to action, pinned below the menu once reached. */
.sticky-action-bar{position:sticky;top:var(--header-height,84px);bottom:auto;z-index:25;box-shadow:0 5px 20px #08233015;padding:14px 0;border-top:0}.sticky-action-call{display:flex;flex-direction:column;align-items:center;justify-content:center;background:white;color:#0b5979;padding:10px 25px;border-radius:12px;min-height:56px;border:2px solid white;transition:background .15s,color .15s}.sticky-action-call:hover{background:#dff5fc;color:#082c3c}.sticky-action-call span{font-weight:800;font-size:15px}.sticky-action-call strong{font-size:18px}.footer{padding-bottom:45px}html{scroll-padding-top:calc(var(--header-height,84px) + 100px)}
@media(max-width:760px){.sticky-action-bar{top:var(--header-height,80px);padding:9px 0}.sticky-action-call{padding:8px 15px;min-height:48px}.sticky-action-call span{font-size:12px}.sticky-action-call strong{font-size:16px}.sticky-action-quote{white-space:normal;text-align:center}.footer{padding-bottom:35px}}
/* Leave breathing room below manufacturer logos; retain the shared sticky header offset. */
.catalog-intro{padding-bottom:32px}.catalog-intro .manufacturer-strip{transform:none;margin-top:32px}.catalog-intro + .sticky-action-bar{margin-top:0;position:sticky;top:var(--header-height,84px)}
@media(max-width:760px){.catalog-intro{padding-bottom:24px}.catalog-intro .manufacturer-strip{margin-top:24px}}

.editorial-page .page-hero{padding:55px 0 50px}.editorial-page .page-hero h1{font-size:clamp(34px,4vw,60px);max-width:1050px}.editorial-page .page-hero p{max-width:850px}.editorial-page .article{grid-template-columns:minmax(0,800px) minmax(220px,1fr);gap:55px}.editorial-page .journal-prose{min-width:0}.editorial-page .journal-prose>p{line-height:1.85;color:#425d68}.editorial-page .aside{position:sticky;top:calc(var(--header-height,90px) + 110px);align-self:start}.journal-prose #questions-guide h3{font-size:22px;line-height:1.3;margin:25px 0 10px}.journal-prose #questions-guide p{line-height:1.8}.guide-checklist{border:1px solid #bad6df;border-radius:18px;padding:25px 30px;background:#eff7f9;margin-top:36px}.guide-checklist h2{margin-top:0!important}.guide-checklist ul{padding-left:20px;margin-bottom:0}.guide-checklist li{padding:8px 0;line-height:1.65}.guide-table-wrap{overflow-x:auto;margin:30px 0}.guide-table{border-collapse:collapse;width:100%;font-size:15px;background:white}.guide-table th,.guide-table td{padding:17px;text-align:left;border:1px solid var(--line);line-height:1.5}.guide-table thead{background:var(--navy);color:white}.guide-table tbody th{min-width:145px}.journal-controls{display:grid;grid-template-columns:2fr 1fr auto;gap:16px;align-items:end;margin:35px 0 20px}.journal-controls[hidden]{display:none}.journal-controls label{display:grid;gap:8px;font-size:13px;font-weight:bold}.journal-controls input,.journal-controls select{min-width:0;width:100%;padding:14px;background:white;border:1px solid #b5cbd4;border-radius:10px;min-height:52px;color:var(--ink)}.guide-count{font-size:14px;margin:20px 0}.journal-card[hidden],.guide-empty[hidden]{display:none}.guide-empty{padding:0 0 45px}.journal-grid{align-items:stretch}.journal-art b{font-size:42px}.service-advice{background:#eaf3f6;border-top:1px solid #d4e5eb}.service-advice h2{max-width:820px}.service-prep-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:35px 0;padding-left:22px}.service-prep-list li{padding-left:8px}.service-advice .actions{margin-top:30px}.roof-calculator{margin:40px 0;padding:30px;border:1px solid #b6d2dd;border-radius:18px;background:white}.roof-calculator h2{margin-top:0}.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.calculator-fields label{font-size:13px;font-weight:bold;display:grid;gap:7px}.calculator-fields input{min-width:0;width:100%;border:1px solid #b5cbd4;border-radius:8px;padding:12px;color:var(--ink)}.calculator-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px}.calculator-result span{background:#eaf5f8;padding:18px;border-radius:9px}.calculator-result small{display:block;font-size:12px}.calculator-result strong{display:block;font-size:25px}.calculator-limit{font-size:12px!important;margin-top:20px!important}.source-note p{font-size:13px!important;margin:20px 0}.source-note h2{font-size:25px!important}
@media(max-width:1000px){.editorial-page .article{grid-template-columns:minmax(0,1fr)}.editorial-page .aside{position:static}.service-prep-list{grid-template-columns:1fr}}
@media(max-width:760px){.editorial-page .page-hero{padding:35px 0}.editorial-page .page-hero h1{font-size:34px}.editorial-page .article{gap:30px}.journal-controls{grid-template-columns:1fr}.journal-controls .btn{justify-self:start}.guide-checklist,.roof-calculator{padding:20px}.guide-table{font-size:13px}.guide-table th,.guide-table td{padding:12px}.calculator-fields{grid-template-columns:1fr}.journal-prose h2{font-size:26px}.service-prep-list{gap:14px}.related-links a{font-size:16px}}
@media print{.header,.topline,.footer,.sticky-action-bar,.aside,.article-action,.journal-controls{display:none!important}.editorial-page .article{display:block}.section{padding:20px 0}.wrap{width:100%}.guide-checklist,.roof-calculator{break-inside:avoid}.contents{display:none}.editorial-page .page-hero{padding:10px 0}.editorial-page .page-hero h1{font-size:28px}}

/* Alliance: an editorial specification strip, distinct from an exploded diagram. */
.alliance-spec{display:grid;grid-template-columns: .8fr 1.7fr;background:#102f3d;border-radius:26px;overflow:hidden;color:white}.alliance-spec-intro{padding:50px 38px;background:linear-gradient(145deg,#123443,#065e78);display:flex;flex-direction:column;justify-content:center}.alliance-spec-intro h3{font-size:clamp(28px,3vw,42px);line-height:1.12;margin:22px 0}.alliance-spec-intro p{color:#c5e1e8}.alliance-spec-intro .eyebrow{color:#8ce5f6}.alliance-strata{padding:22px 32px}.stratum{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #ffffff24}.stratum:last-child{border:0}.stratum>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ffffff12;color:#8ce5f6;font-size:15px;font-weight:700}.stratum h4{margin:0 0 7px;font-size:20px;color:#fff}.stratum p{margin:0;color:#c5d5dd;font-size:15px;line-height:1.6}.stratum-0{border-top:4px solid #f7fbfc}.stratum-1{border-top:4px solid #b8d4df}.stratum-2{border-top:8px solid #bbac7b}.stratum-3{border-top:3px solid #54a8bb}.stratum-4{border-top:7px solid #6d8792}@media(max-width:760px){.alliance-spec{grid-template-columns:1fr}.alliance-spec-intro{padding:30px}.alliance-strata{padding:18px 24px}.stratum{gap:12px;grid-template-columns:40px 1fr}.stratum h4{font-size:18px}}

/* Photographs identify the actual roofing material instead of abstract swatches. */
.material-grid .material-photo{display:block;width:100%;height:220px;object-fit:cover;border-radius:14px;margin-bottom:24px;background:#edf2f3}
.material-grid .material-photo-1{object-fit:contain;padding:12px}
@media(max-width:760px){.material-grid .material-photo{height:200px}}

/* Subject-specific photography for every bilingual journal card. */
.journal-card>.journal-photo{position:relative;padding:0;overflow:hidden;height:250px;background:#e8eef0}
.journal-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.journal-photo>span{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);padding:8px 12px;background:#102d3ce8;color:white;border-radius:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.journal-card:hover .journal-photo img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.journal-photo img{transition:none}}
@media(max-width:760px){.journal-card>.journal-photo{height:220px}}

/* Alliance portfolio: editorial mosaic and an integrated project invitation. */
.alliance-portfolio{margin-top:64px;padding-top:48px;border-top:1px solid #bfd0d6}
.portfolio-heading{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:center;margin-bottom:40px}
.portfolio-heading h2{font-size:clamp(34px,4vw,58px);margin:20px 0}.portfolio-heading p{max-width:580px}
.portfolio-contact{padding:30px;border-left:3px solid var(--blue);background:#e9f1f3;border-radius:0 20px 20px 0}.portfolio-contact>span{font-size:11px;letter-spacing:.14em}.portfolio-contact h3{font-size:25px;margin:16px 0 24px}.portfolio-contact a{display:block;background:var(--navy);color:white;padding:16px 22px;border-radius:10px;text-decoration:none}.portfolio-contact a strong{display:block;font-size:22px;margin-top:4px}
.portfolio-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;gap:18px}
.portfolio-tile{position:relative;display:block;min-width:0;padding:0;border:0;border-radius:3px;background:#102d3c;overflow:hidden;text-align:left;cursor:pointer}.portfolio-tile:nth-child(9n+1){grid-column:span 2;grid-row:span 2}
.portfolio-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.portfolio-tile:hover img{transform:scale(1.035)}
.portfolio-caption{position:absolute;inset:auto 0 0;padding:50px 18px 18px;background:linear-gradient(transparent,rgba(5,27,37,.9));color:white}.portfolio-caption small{font-size:10px;letter-spacing:.12em}.portfolio-caption strong{display:block;font-size:15px;line-height:1.35;margin-top:7px}.portfolio-tile:nth-child(9n+1) .portfolio-caption strong{font-size:24px}
@media(max-width:900px){.portfolio-heading{grid-template-columns:1fr 290px;gap:28px}.portfolio-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-heading{grid-template-columns:1fr}.portfolio-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:210px;gap:10px}.portfolio-tile:nth-child(9n+1){grid-row:span 1;height:300px}.portfolio-mosaic{grid-auto-rows:auto}.portfolio-tile{height:230px}.portfolio-caption{padding:45px 12px 14px}.portfolio-caption strong{font-size:13px}.alliance-portfolio{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.portfolio-tile img{transition:none}}

/* Original supplied colour logo on a transparent background. */
.header .logo,.footer .logo{display:block;background:transparent;padding:0;border-radius:0;flex-shrink:0}
.header .logo img,.footer .logo img{display:block;width:100%;height:auto;object-fit:contain}
