:root{
  --navy:#071c2b;
  --navy-2:#0d2b3e;
  --ink:#173244;
  --paper:#f7f7f4;
  --white:#fff;
  --ice:#edf5f8;
  --blue:#74bfe2;
  --blue-dark:#357b9a;
  --muted:#667782;
  --line:#d8e0e3;
  --soft:#eef1f1;
  --serif:'Literata',Georgia,serif;
  --sans:'Inter',Arial,sans-serif;
  --shadow:0 18px 50px rgba(7,28,43,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body.os-site{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased}
.os-site h1,.os-site h2,.os-site h3,.os-site p,.os-site figure{margin:0}
.os-site h1,.os-site h2,.os-site h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.04em;color:var(--navy)}
.os-site h1{font-size:clamp(44px,5vw,74px)}
.os-site h2{font-size:clamp(32px,3.2vw,48px)}
.os-site h3{font-size:clamp(22px,2vw,29px)}
.os-site a{color:inherit;text-decoration:none}
.os-site img{display:block;max-width:100%;width:100%;height:auto}
.os-site button,.os-site input,.os-site select,.os-site textarea{font:inherit}
.os-site button{cursor:pointer}
.os-site [hidden]{display:none!important}
.os-site :focus-visible,.os-header :focus-visible,.os-footer :focus-visible{outline:2px solid #2f82aa;outline-offset:4px}
.os-site .wrap{width:min(1320px,calc(100% - 72px));margin-inline:auto}
.os-site .section{padding:84px 0}
.os-site .eyebrow{display:block;margin:0 0 14px;color:#477b94;font:600 10px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.os-site .section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:46px;margin-bottom:34px}
.os-site .section-head.split>div:first-child{max-width:760px}
.os-site .section-head p{max-width:470px;color:var(--muted);font-size:13px}
.os-site .head-right{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;min-width:min(100%,520px)}
.os-site .head-right .text-link{margin-left:auto}
.os-site .button,.os-header .os-estimate,.os-mobile-bar a{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:16px;padding:14px 22px;border:1px solid var(--navy);border-radius:3px;background:var(--navy);color:#fff;font:600 11px/1.3 var(--sans);letter-spacing:.02em;transition:.2s ease}
.os-site .button:hover,.os-header .os-estimate:hover{background:#123a51;border-color:#123a51}
.os-site .button-light{background:#fff;color:var(--navy);border-color:#fff}
.os-site .button-light:hover{background:#eef6f9;border-color:#eef6f9}
.os-site .button-outline{background:transparent;color:inherit;border-color:currentColor}
.os-site .button-navy{background:var(--navy);color:#fff}
.os-site .actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.os-site .text-link{display:inline-flex;align-items:center;gap:16px;padding:7px 0;border-bottom:1px solid #aebcc2;color:var(--navy);font:600 11px/1.4 var(--sans)}
.os-site .text-link:hover{color:var(--blue-dark);border-color:var(--blue-dark)}
.os-skip{position:fixed;left:12px;top:-90px;z-index:3000;background:#fff;color:var(--navy);padding:10px 14px}.os-skip:focus{top:12px}

/* Header */
.os-header{position:sticky;top:0;z-index:1500;background:rgba(255,255,255,.97);color:var(--navy);border-bottom:1px solid #dfe6e8;backdrop-filter:blur(12px);font-family:var(--sans);transition:transform .3s cubic-bezier(.16,1,.3,1);will-change:transform}
.os-header.os-header--hidden{transform:translateY(-100%);pointer-events:none}
.os-header a{color:inherit;text-decoration:none}
.os-header .os-header-inner{width:min(1440px,calc(100% - 64px));height:76px;margin:auto;display:flex;align-items:center;gap:34px}
.os-header .os-brand{display:flex;align-items:center;flex:0 0 auto}
.os-header .os-brand img{height:46px;width:auto;max-width:180px;object-fit:contain;display:block}
.os-header .os-nav{display:flex;align-items:center;justify-content:space-between;flex:1;margin:0 clamp(28px,3.5vw,56px)}
.os-header .os-nav>a,.os-header details>summary{list-style:none;cursor:pointer;white-space:nowrap;padding:27px 0;font:500 14.5px/1.2 var(--sans);color:#243c4c}
.os-header details>summary::-webkit-details-marker{display:none}
.os-header details>summary::after{content:'⌄';margin-left:7px;color:#7c939e;font-size:13px}
.os-header .os-nav>a:hover,.os-header details>summary:hover,.os-header .os-nav>a[aria-current=page],.os-header details>summary[aria-current=page]{color:var(--blue-dark)}
.os-header details[open]>summary{color:var(--blue-dark)}
.os-header .os-menu-panel{position:absolute;top:76px;left:0;right:0;background:#fff;color:var(--ink);border-top:1px solid #eef1f2;border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:34px max(48px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:1fr 1.55fr .9fr;gap:48px}
.os-header .os-menu-panel p,.os-header .os-door-panel p{margin:0 0 16px;color:#7d8e97;font:600 9px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.os-header .os-menu-panel a,.os-header .os-door-panel a{display:block;padding:6px 0;font:500 13px/1.45 var(--sans)}
.os-header .os-menu-panel a:hover,.os-header .os-door-panel a:hover{color:var(--blue-dark)}
.os-header .os-type-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.os-header .os-menu-note{padding-left:34px;border-left:1px solid var(--line)}
.os-header .os-menu-note strong{display:block;margin-bottom:10px;font:400 25px/1.2 var(--serif);letter-spacing:-.03em;color:var(--navy)}
.os-header .os-menu-note p{font:400 12px/1.6 var(--sans);text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:12px}
.os-header .os-menu-note a{color:var(--blue-dark);font-weight:600}
.os-header .os-door-panel{position:absolute;top:76px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);padding:26px 28px;min-width:280px;margin-left:-24px}
.os-header .os-estimate{flex:none;background:var(--navy);color:#fff;border-color:var(--navy);min-height:43px;padding:13px 18px;font-size:12px}
.os-header .os-nav-estimate{display:none}
.os-header .os-menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid #b9c5cb;color:var(--navy);padding:8px;border-radius:3px;align-items:center;justify-content:center}

/* Home */
.os-site .home-hero{position:relative;min-height:400px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}
.os-site .hero-photograph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.os-site .home-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,36,.93) 0%,rgba(4,22,36,.72) 38%,rgba(4,22,36,.18) 74%,rgba(4,22,36,.08))}
.os-site .hero-content{position:relative;z-index:2;padding:44px 0 48px}
.os-site .home-hero .eyebrow{color:#b8d8e6}
.os-site .home-hero h1{color:#fff;max-width:760px}
.os-site .hero-lead{max-width:590px;margin-top:14px;color:#e4edf1;font-size:14px;line-height:1.6}
.os-site .hero-secondary{display:inline-flex;align-items:center;min-height:42px;color:#fff;border-bottom:1px solid #ffffff72;font-size:11px;font-weight:600;padding:0 2px}
.os-site .hero-foot-box{position:absolute;z-index:3;right:4.7%;bottom:20px;border-left:1px solid #ffffff7c;padding-left:18px;color:#fff;font:600 9px/1.35 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.os-site .material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.os-site .material-card{border:1px solid #dde4e5;background:#fff;transition:.2s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer;scroll-margin-top:100px;border-radius:2px;overflow:hidden}
.os-site .material-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(7,28,43,.07)}
.os-site .material-image{display:block;aspect-ratio:1.75;overflow:hidden;background:#e6eaeb}
.os-site .material-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.os-site .material-card:hover .material-image img{transform:scale(1.025)}
.os-site .material-info{padding:16px 18px 18px}
.os-site .material-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.os-site .material-title h3{font-size:22px;color:var(--navy);margin:0}
.os-site .material-title span{color:var(--navy);font-size:18px}
.os-site .material-card p{margin-top:5px;color:#798992;font-size:9.5px;letter-spacing:.12em}
.os-site .vinyl-strip-card{margin-top:18px;border:1px solid #dde4e5;background:#fbfdfd;padding:12px 20px;min-height:46px;display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;cursor:pointer;transition:all .2s ease;border-radius:2px;scroll-margin-top:100px}
.os-site .vinyl-strip-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(7,28,43,.05);border-color:#bcccd4;background:#ffffff}
.os-site .vinyl-strip-left{display:flex;align-items:baseline;gap:12px}
.os-site .vinyl-strip-left h3{font-size:18px;line-height:1;color:var(--navy);margin:0;font-family:var(--serif);font-weight:400}
.os-site .vinyl-strip-desc{color:#798992;font-size:11px;font-family:var(--sans);letter-spacing:.03em}
.os-site .vinyl-strip-right{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--navy);font-family:var(--sans)}
.os-site .vinyl-strip-arrow{color:var(--navy);transition:transform .2s ease}
.os-site .vinyl-strip-card:hover .vinyl-strip-arrow{transform:translateX(3px)}
.os-site .types-section{background:#f5f7f6;border-top:1px solid #e1e6e6;border-bottom:1px solid #e1e6e6}
.os-site .type-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:1px solid #d6dfe1;border-left:1px solid #d6dfe1}
.os-site .type-tile{min-height:130px;padding:18px 10px 13px;border-right:1px solid #d6dfe1;border-bottom:1px solid #d6dfe1;background:#fff;display:flex;flex-direction:column;justify-content:space-between;align-items:center;color:#465d69;transition:.18s ease}
.os-site .type-tile:hover{background:#edf4f6;color:var(--navy)}
.os-site .type-tile svg{width:68px;height:68px;stroke-width:1.6}
.os-site .type-label{font-size:11px;color:var(--navy);text-align:center}
/* New type card grid: 4 large image cards */
.os-site .type-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.os-site .type-card{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);background:#fff;border:1px solid #dde4e5;border-radius:3px;overflow:hidden;transition:all .22s ease;scroll-margin-top:100px}
.os-site .type-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,28,43,.08);border-color:#bcccd4;color:var(--navy)}
.os-site .type-card-img{overflow:hidden;background:#fff;aspect-ratio:1.15;display:flex;align-items:center;justify-content:center;padding:18px 14px}
.os-site .type-card-img img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .32s ease}
.os-site .type-card:hover .type-card-img img{transform:scale(1.04)}
.os-site .type-card-info{padding:13px 15px 14px;border-top:1px solid #edf1f3;background:#fff;display:flex;align-items:center;justify-content:space-between}
.os-site .type-card-title{display:flex;align-items:center;justify-content:space-between;width:100%}
.os-site .type-card-title h3,.os-site .type-card-label{font-family:var(--serif);font-weight:400;font-size:17px;color:var(--navy);letter-spacing:-.02em;margin:0}
.os-site .type-card-arrow{color:#24638a;font-size:15px;transition:transform .2s ease}
.os-site .type-card:hover .type-card-arrow{transform:translateX(3px)}
.os-site .home-projects{background:#fff}
.os-site .project-grid-4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.os-site .project-grid-4 figure{margin:0;background:#fff;border:1px solid #dde4e5;border-radius:3px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.os-site .project-grid-4 figure:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,28,43,.08);border-color:#bcccd4}
.os-site .project-grid-4 img{width:100%;aspect-ratio:1.6;object-fit:cover;display:block;background:#e6e8e7;transition:transform .35s ease}
.os-site .project-grid-4 figure:hover img{transform:scale(1.025)}
.os-site .project-grid-4 figcaption{padding:13px 15px 14px;background:#fff;border-top:1px solid #edf1f3;display:block;flex:1}
.os-site .project-grid-4 figcaption strong{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:17px;letter-spacing:-.02em;display:block}
.os-site .project-grid-4 figcaption span{display:block;margin-top:4px;color:#798992;font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.os-site .capabilities-section{background:#fafafa}
.os-site .capability-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.os-site .capability-card{background:#fff;border:1px solid #dde4e5;border-radius:3px;overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.os-site .capability-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,28,43,.08);border-color:#bcccd4}
.os-site .capability-card>img{aspect-ratio:2.1;width:100%;object-fit:cover;display:block;transition:transform .35s ease}
.os-site .capability-card:hover>img{transform:scale(1.025)}
.os-site .cap-info{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.os-site .cap-info h3{font-size:20px;letter-spacing:-.02em;margin:0}
.os-site .cap-info p{margin-top:6px;color:var(--muted);font-size:12.5px;line-height:1.55;flex:1}
.os-site .cap-info .text-link{margin-top:12px;font-size:10.5px;font-weight:600}
.os-site .professional{position:relative;padding:62px 0;background:#ebf1f4;border-top:1px solid #dbe4ea;border-bottom:1px solid #dbe4ea;overflow:hidden}
.os-site .professional .wrap,.os-site .pro-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}
.os-site .professional h2,.os-site .pro-text h2{font-size:clamp(31px,3vw,43px)}
.os-site .professional p,.os-site .pro-text p{margin-top:12px;color:var(--muted);font-size:13px}
.os-site .pro-action{text-align:right}
.os-site .file-note{margin-top:10px!important;font-size:9px!important;color:#7d8d95!important}
.os-site .blueprint-bg{position:absolute;right:0;top:0;bottom:0;width:60%;background-image:url('steel-design/blueprint-sketch1.webp');background-size:cover;background-position:center right;opacity:.18;mix-blend-mode:multiply;pointer-events:none}
.os-site .systems{padding:42px 0;background:#fff}
.os-site .systems-wrap{display:grid;grid-template-columns:150px 1fr 180px;align-items:center;gap:36px}
.os-site .systems .eyebrow,.os-site .systems-wrap .eyebrow{margin:0}
.os-site .system-names{display:flex;align-items:center;justify-content:space-around;gap:26px}
.os-site .system-names a,.os-site .system-names span{font:600 25px/1 var(--sans);letter-spacing:-.04em;color:#183649}
.os-site .system-names img,.os-site .systems img{width:auto!important;max-width:170px!important;object-fit:contain;display:block}
.os-site .systems-text{padding-left:28px;border-left:1px solid var(--line);color:#75858d;font-size:10px}
.os-site .final-cta-project{position:relative;overflow:hidden;padding:62px 0;color:#fff;background:var(--navy)}
.os-site .final-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.os-site .final-cta-project::after{content:'';position:absolute;inset:0;background:rgba(6,25,40,.88)}
.os-site .final-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px}
.os-site .final-left h2{color:#fff;font-size:40px}
.os-site .final-left p{margin-top:6px;color:#c8d5dc;font-size:12px}
.os-site .final-right{justify-self:end}
.os-site .final-right ul{list-style:none;padding:0;margin:0;color:#d5e1e6;font-size:11px;line-height:2}
.os-site .final-right li{display:flex;align-items:center;gap:8px}

/* Generic product/category pages */
.os-site .page-hero{padding:70px 0;background:#eef2f1;border-bottom:1px solid var(--line)}
.os-site .split-hero{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:70px}
.os-site .breadcrumb{margin-bottom:22px;color:#7b8990;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.os-site .breadcrumb a:hover{color:var(--blue-dark)}
.os-site .page-intro{max-width:650px;margin-top:20px;color:var(--muted);font-size:14px;line-height:1.75}
.os-site .page-image{width:100%;height:430px;object-fit:cover;background:#e5e9e8}
.os-site .page-tabs{background:#fff;border-bottom:1px solid var(--line)}
.os-site .page-tabs .wrap{display:flex;gap:30px;overflow:auto}
.os-site .page-tabs a{white-space:nowrap;padding:19px 0;font-size:11px;color:#667985}
.os-site .page-tabs a:hover{color:var(--navy)}
.os-site .detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.os-site .detail-grid>div{padding:26px;border:1px solid var(--line);background:#fff}
.os-site .detail-grid h3{font-size:25px}
.os-site .detail-grid p{margin-top:12px;color:var(--muted);font-size:13px}
.os-site .material-types{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.os-site .material-types a{padding:12px 15px;border:1px solid #ced8db;background:#fff;font-size:11px}
.os-site .material-types a:hover{background:#edf4f6}
.os-site .custom-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}
.os-site .custom-story>img{width:100%;aspect-ratio:1.35;object-fit:cover;background:#fff}
.os-site .custom-story p:not(.eyebrow){margin-top:18px;color:var(--muted);max-width:560px}
.os-site .projects-section{background:#0a2233;color:#fff}
.os-site .projects-section h2,.os-site .projects-section h3{color:#fff}
.os-site .projects-section .eyebrow{color:#8ac5df}
.os-site .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.os-site .gallery-grid img{width:100%;aspect-ratio:1.35;object-fit:cover;background:#e4e7e6}
.os-site .gallery-grid figure{margin:0}
.os-site .gallery-grid figcaption{padding-top:8px;font:400 16px var(--serif);color:var(--navy)}
.os-site .gallery-grid figcaption span{display:block;margin-top:3px;font:400 10px var(--sans);color:#7b8990}
.os-site .projects-section .gallery-grid figcaption{color:#fff}.os-site .projects-section .gallery-grid figcaption span{color:#b6c5cc}
.os-site .tech-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.os-site .tech-photo{border:1px solid var(--line);background:#fff;padding:10px}
.os-site .tech-photo img{aspect-ratio:1.35;object-fit:contain;background:#fff}
.os-site .tech-photo span{display:block;padding:9px 4px 2px;color:#667985;font-size:10px}
.os-site .technical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
.os-site .technical-grid details{border:1px solid var(--line);background:#fff;padding:17px 18px}
.os-site .technical-grid summary{cursor:pointer;color:var(--navy);font-weight:600;font-size:12px}
.os-site .technical-grid p{margin-top:12px;color:var(--muted);font-size:12px}
.os-site .technical-grid a,.os-site .support-note a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:3px}
.os-site .support-note{margin-top:18px;color:var(--muted);font-size:12px}
.os-site .final-cta{padding:54px 0;background:#dfeef2}
.os-site .final-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px}
.os-site .final-cta h2{font-size:34px}.os-site .final-cta p{margin-top:7px;color:#617581}

/* Architectural window catalog */
.os-site .catalog-hero{position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#082033}
.os-site .catalog-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:69% 53%}
.os-site .catalog-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,36,.94),rgba(4,22,36,.72) 43%,rgba(4,22,36,.16) 80%)}
.os-site .catalog-hero .wrap{position:relative;z-index:2;padding:58px 0}
.os-site .catalog-hero h1{color:#fff}
.os-site .catalog-hero .page-intro{color:#e1eaf0;max-width:600px}
.os-site .catalog-hero .eyebrow{color:#b7d7e4}
.os-site .catalog-hero .button-outline{color:#fff}
.os-site .catalog-browse{background:#fff}
.os-site .window-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.os-site .window-type-card{display:grid;grid-template-columns:1.05fr 1fr;min-height:220px;border:1px solid #dce4e6;background:#fff;overflow:hidden;transition:.18s ease}
.os-site .window-type-card:hover,.os-site .window-type-card.is-active{border-color:#78b8d5;box-shadow:0 8px 26px rgba(7,28,43,.07)}
.os-site .window-card-media{min-height:220px;background:#e9eeef;overflow:hidden;display:flex;align-items:center;justify-content:center}
.os-site .window-card-media img{width:100%;height:100%;object-fit:cover}
.os-site .window-card-media.diagram{color:#556d79;background:#f1f4f4}
.os-site .window-card-media.diagram svg{width:58%;height:58%;max-height:150px}
.os-site .window-card-copy{padding:18px 16px;display:flex;flex-direction:column}
.os-site .window-card-copy h3{font-size:21px}
.os-site .window-card-copy p{margin-top:8px;color:var(--muted);font-size:11px;line-height:1.55}
.os-site .window-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:14px}
.os-site .window-tags span{padding:4px 6px;background:#f1f5f6;color:#68808c;font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.os-site .window-options{margin-top:12px;border:0;border-bottom:1px solid #aebdc3;background:none;color:var(--navy);padding:0 0 5px;font-size:11px;font-weight:600;text-align:left;width:max-content;max-width:100%}
.os-site .catalog-detail{display:none;margin-top:32px;padding:30px;background:#eef6f9;border:1px solid #d7e6ec;scroll-margin-top:98px}
.os-site .catalog-detail.is-visible{display:block}
.os-site .catalog-detail-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:38px;align-items:start}
.os-site .catalog-detail-media{background:#dce5e7;min-height:430px;position:relative;overflow:hidden}
.os-site .catalog-detail-media img{width:100%;height:430px;object-fit:cover}
.os-site .catalog-detail-media.diagram{display:flex;align-items:center;justify-content:center;color:#506b78;background:#fff}
.os-site .catalog-detail-media.diagram svg{width:50%;height:50%}
.os-site .catalog-detail-kicker{font:600 9px/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#537c8e;margin-bottom:8px}
.os-site .catalog-detail h2{font-size:45px}
.os-site .catalog-detail-description{margin-top:11px;color:#60737e;font-size:13px;max-width:680px}
.os-site .catalog-material-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.os-site .catalog-material-tags a{padding:5px 8px;background:#fff;border:1px solid #d7e1e4;color:#58717d;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.os-site .config-label{margin-top:22px;font:600 9px var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#537c8e}
.os-site .config-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}
.os-site .config-card{min-height:160px;padding:12px;border:1px solid #d7e1e4;background:#fff}
.os-site .config-card svg{display:block;width:66px;height:66px;margin:0 auto 8px;color:#3e5967}
.os-site .config-card strong{display:block;font:400 16px/1.15 var(--serif);color:var(--navy)}
.os-site .config-card span{display:block;margin-top:5px;color:#71828b;font-size:9px;line-height:1.45}
.os-site .catalog-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.os-site .catalog-detail-note{margin-top:7px;color:#778b95;font-size:9px}
.os-site .catalog-help{padding:52px 0;background:#eef5f8;border-top:1px solid #dbe7eb;border-bottom:1px solid #dbe7eb}
.os-site .catalog-help .wrap{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}
.os-site .catalog-help-art{height:140px;position:relative;border:1px dashed #aebfc6;background:linear-gradient(135deg,#fff,#e9f1f4)}
.os-site .catalog-help-art::before,.os-site .catalog-help-art::after{content:'';position:absolute;border:1px solid #8aa4b0;opacity:.55}
.os-site .catalog-help-art::before{width:55%;height:64%;left:15%;top:17%}.os-site .catalog-help-art::after{width:35%;height:44%;left:42%;top:30%;transform:skewY(-12deg)}
.os-site .material-strip{padding:58px 0;background:#fff}
.os-site .material-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.os-site .material-strip-card{border:1px solid var(--line);background:#fff;overflow:hidden}
.os-site .material-strip-card img{aspect-ratio:2.1;object-fit:cover}
.os-site .material-strip-card div{padding:11px 12px;display:flex;justify-content:space-between;gap:12px;font:400 16px var(--serif);color:var(--navy)}

/* Projects */
.os-site .project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.os-site .project-filters button{border:1px solid #ccd7da;background:#fff;color:#637782;padding:9px 12px;font-size:10px}
.os-site .project-filters button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.os-site .gallery-count,.os-site .gallery-note{color:#7b8a91;font-size:10px}.os-site .gallery-count{margin-bottom:18px}.os-site .gallery-note{margin-top:18px}

/* About */
.os-site .about-hero{position:relative;min-height:390px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}
.os-site .about-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 55%}
.os-site .about-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,36,.94),rgba(4,22,36,.68) 45%,rgba(4,22,36,.12))}
.os-site .about-hero .wrap{position:relative;z-index:2;padding:60px 0}.os-site .about-hero h1{color:#fff}.os-site .about-hero p{max-width:570px;color:#e4edf1;margin-top:18px}
.os-site .about-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center}
.os-site .about-intro .about-copy p{margin-top:17px;color:var(--muted);max-width:500px}
.os-site .about-intro img{height:360px;object-fit:cover}
.os-site .credibility-band{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f5f7}
.os-site .credibility-item{padding:22px 18px;border-right:1px solid var(--line);text-align:center}.os-site .credibility-item:last-child{border-right:0}
.os-site .credibility-item strong{display:block;font:400 22px/1.1 var(--serif);color:var(--navy)}.os-site .credibility-item span{display:block;margin-top:4px;color:#75858e;font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.os-site .service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.os-site .service-card{border:1px solid var(--line);background:#fff}.os-site .service-card img{aspect-ratio:1.65;object-fit:cover}.os-site .service-card div{padding:13px}.os-site .service-card h3{font-size:18px}.os-site .service-card p{margin-top:5px;color:var(--muted);font-size:11px}
.os-site .process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.os-site .process-card{padding:20px;border:1px solid var(--line);background:#fff}.os-site .process-card b{font:400 24px var(--serif);color:#7a9bac}.os-site .process-card h3{font-size:19px;margin-top:10px}.os-site .process-card p{margin-top:7px;color:var(--muted);font-size:11px}
.os-site .audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.os-site .audience-card{padding:22px;border:1px solid var(--line);background:#f2f6f7;text-align:center;font:400 18px var(--serif);color:var(--navy)}

/* Footer */
.os-footer{background:#061a2a;color:#fff;padding:28px 0 18px;font-family:var(--sans)}
.os-footer .os-footer-primary,.os-footer .os-footer-base{width:min(1440px,calc(100% - 64px));margin:auto}
.os-footer .os-footer-primary{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap}
.os-footer .os-footer-nav{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.os-footer .os-footer-nav a,.os-footer .os-footer-meta a{color:#d6e0e5;font-size:10px}.os-footer .os-footer-nav a:hover,.os-footer .os-footer-meta a:hover{color:#fff}
.os-footer .os-footer-meta{text-align:right;color:#9eb0ba;font-size:10px}.os-footer .os-footer-meta p{margin:0 0 4px}
.os-footer .os-footer-base{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff22;margin-top:22px;padding-top:14px;color:#8fa3ad;font-size:9px}
.os-footer .os-footer-copy{line-height:1.5}
.os-footer #os-footer-year{display:inline!important}
.os-copy-br{display:none}
.os-mobile-bar{display:none!important}

@media (max-width:1180px){
  .os-site .type-grid{grid-template-columns:repeat(4,1fr)}
  .os-site .window-catalog-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .config-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .systems-wrap{grid-template-columns:120px 1fr}.os-site .systems-text{display:none}
  .os-header .os-nav{gap:20px}.os-header .os-header-inner{gap:24px}
}
@media (max-width:900px){
    .os-header .os-doors{display:none}
  html{scroll-padding-top:76px}
  .os-site .wrap{width:min(100% - 34px,1320px)}
  .os-site .section{padding:62px 0}
  .os-site .section-head,.os-site .head-right{display:block}.os-site .section-head{margin-bottom:28px}.os-site .head-right{margin-top:18px}.os-site .head-right .text-link{margin-top:10px}
  .os-header .os-header-inner{width:calc(100% - 30px);height:70px}.os-header .os-brand{flex-basis:auto}.os-header .os-brand img{width:auto;height:40px;max-width:145px;display:block}.os-header .os-menu-toggle{display:flex}.os-header .os-estimate{display:none}
  .os-header .os-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 18px 22px;max-height:calc(100vh - 120px);overflow:auto}.os-header[data-open] .os-nav{display:block}.os-header .os-nav>a,.os-header details>summary{display:block;padding:13px 4px;border-bottom:1px solid #eef2f3;font-size:13px}.os-header .os-nav-estimate{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:16px;margin-bottom:6px;padding:13px 18px!important;background:var(--navy);color:#fff!important;font-family:var(--sans);font-size:13px!important;font-weight:600;letter-spacing:.02em;border-radius:4px;border-bottom:none!important;text-decoration:none;box-shadow:0 4px 14px rgba(12,35,51,.18);transition:background .2s ease,transform .15s ease}.os-header .os-nav-estimate:hover,.os-header .os-nav-estimate:focus{background:#123a51;color:#fff!important}.os-header .os-menu-panel,.os-header .os-door-panel{position:static;box-shadow:none;border:0;border-bottom:1px solid #e8edef;padding:16px 8px;display:block;margin:0;min-width:0}.os-header .os-menu-panel>div{margin-bottom:18px}.os-header .os-type-links{grid-template-columns:1fr}.os-header .os-menu-note{padding:0;border:0}
  .os-site .home-hero{min-height:520px}.os-site .hero-content{padding:58px 0}.os-site .hero-foot-box{display:none}.os-site .hero-lead br{display:none}
  .os-site .material-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .project-grid-4,.os-site .capability-grid-3,.os-site .service-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .type-card-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .professional .wrap,.os-site .pro-wrap,.os-site .split-hero,.os-site .custom-story,.os-site .catalog-detail-inner,.os-site .catalog-help .wrap,.os-site .about-intro{grid-template-columns:1fr;gap:32px}.os-site .pro-action{text-align:left}.os-site .blueprint-bg{width:100%;opacity:.12;display:block}
  .os-site .systems-wrap{grid-template-columns:1fr}.os-site .system-names{justify-content:flex-start;flex-wrap:wrap}
  .os-site .final-wrap{grid-template-columns:1fr;gap:24px}.os-site .final-right{justify-self:start}
  .os-site .detail-grid,.os-site .tech-photo-grid,.os-site .gallery-grid,.os-site .technical-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .page-image{height:340px}
  .os-site .window-catalog-grid{grid-template-columns:1fr}.os-site .window-type-card{grid-template-columns:1fr 1fr}
  .os-site .material-strip-grid{grid-template-columns:repeat(2,1fr)}
  .os-site .credibility-band{grid-template-columns:repeat(2,1fr)}.os-site .credibility-item{border-bottom:1px solid var(--line)}
  .os-site .process-grid,.os-site .audience-grid{grid-template-columns:repeat(2,1fr)}
  .os-footer .os-footer-primary{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:18px}.os-footer .os-footer-nav{justify-content:flex-start}.os-footer .os-footer-meta{text-align:left}
}
@media (max-width:620px){
  .os-site h1{font-size:43px}.os-site h2{font-size:31px}.os-site .section{padding:50px 0}
  .os-site .material-grid,.os-site .project-grid-4,.os-site .capability-grid-3,.os-site .service-grid,.os-site .detail-grid,.os-site .tech-photo-grid,.os-site .gallery-grid,.os-site .technical-grid,.os-site .material-strip-grid,.os-site .process-grid,.os-site .audience-grid{grid-template-columns:1fr}
  .os-site .type-card-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .os-site .type-card-label{font-size:15px;margin-top:7px}
  .os-site .window-type-card{grid-template-columns:1fr}.os-site .window-card-media{min-height:190px}.os-site .config-grid{grid-template-columns:1fr 1fr}.os-site .catalog-detail{padding:20px}.os-site .catalog-detail h2{font-size:37px}.os-site .catalog-detail-media,.os-site .catalog-detail-media img{min-height:0;height:300px}
  .os-site .credibility-band{grid-template-columns:1fr}.os-site .credibility-item{border-right:0}
  .os-site .page-tabs .wrap{width:calc(100% - 26px)}
  .os-site .final-cta .wrap{display:block}.os-site .final-cta .button{margin-top:20px}
  .os-footer .os-footer-primary,.os-footer .os-footer-base{width:calc(100% - 30px)}.os-footer .os-footer-base{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.os-footer .os-footer-copy{display:block;line-height:1.5}.os-footer .os-footer-coverage{display:block;margin-top:2px}.os-copy-br{display:inline}
}
/* Product pages that use the simpler systems wrapper */
.os-site .systems>.wrap:not(.systems-wrap){display:flex;align-items:center;justify-content:space-between;gap:34px}
.os-site .systems>.wrap:not(.systems-wrap) .system-names{flex:1}
@media(max-width:900px){.os-site .systems>.wrap:not(.systems-wrap){display:block}.os-site .systems>.wrap:not(.systems-wrap) .system-names{margin-top:18px}}

/* ================================================================
   VISUAL PASS 2 — closer to approved OpenSky concept mockups
   ================================================================ */
@media (min-width: 901px){
  body.os-site{background:#fff;font-size:14px;line-height:1.52}
  .os-site .wrap{width:min(2040px,calc(100% - 120px));}
  .os-site .section{padding:50px 0}
  .os-site .section-head{margin-bottom:22px;gap:34px;align-items:end}
  .os-site .section-head.split>div:first-child{max-width:900px}
  .os-site .section-head p{max-width:560px;font-size:12px;line-height:1.55}
  .os-site h1{font-size:clamp(50px,4vw,76px);letter-spacing:-.048em}
  .os-site h2{font-size:clamp(30px,2.45vw,45px);letter-spacing:-.045em}
  .os-site h3{letter-spacing:-.035em}
  .os-site .eyebrow{margin-bottom:9px;font-size:9px;letter-spacing:.21em}

  /* header: wide, editorial, text wordmark like the concept */
  .os-header .os-brand{flex:0 0 auto;display:flex;align-items:center}
  .os-header .os-brand img{height:46px;width:auto;max-width:180px;display:block}
  .os-header .os-wordmark{display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start;line-height:.82;color:#071c2b}
  .os-header .os-wordmark>span{font:500 34px/.9 Georgia,'Times New Roman',serif;letter-spacing:-.055em}
  .os-header .os-wordmark>small{margin-left:31px;margin-top:5px;font:700 7px/1 Inter,Arial,sans-serif;letter-spacing:.32em}
  .os-header .os-nav{display:flex;align-items:center;justify-content:space-between;flex:1;margin:0 clamp(28px,3.5vw,56px);gap:0}
  .os-header .os-nav>a,.os-header details>summary{padding:26px 0;font-size:14.5px}
  .os-header .os-menu-panel,.os-header .os-door-panel{top:70px}
  .os-header .os-estimate{min-height:42px;padding:11px 19px;font-size:11.5px;border-radius:2px}

  /* homepage hero: lower and wider composition */
  .os-site .home-hero{min-height:400px}
  .os-site .hero-photograph{object-position:62% 48%}
  .os-site .home-hero::after{background:linear-gradient(90deg,rgba(4,22,36,.94) 0%,rgba(4,22,36,.80) 33%,rgba(4,22,36,.31) 67%,rgba(4,22,36,.08) 100%)}
  .os-site .hero-content{padding:42px 0 46px}
  .os-site .home-hero h1{max-width:740px;font-size:clamp(38px,3.2vw,52px);line-height:1.08;letter-spacing:-.038em}
  .os-site .hero-lead{max-width:580px;margin-top:11px;font-size:12.5px;line-height:1.55}
  .os-site .actions{margin-top:16px;gap:16px}
  .os-site .button{min-height:40px;padding:11px 18px;font-size:10px;border-radius:2px}
  .os-site .hero-secondary{min-height:40px;font-size:10px}
  .os-site .hero-foot-box{right:5.6%;bottom:18px;font-size:8px;line-height:1.28}

  /* material system row */
  .os-site .material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .os-site .material-image{aspect-ratio:1.8}
  .os-site .material-info{padding:14px 18px 16px}
  .os-site .material-title h3{font-size:22px}
  .os-site .material-card p{font-size:9px;margin-top:4px}

  /* window type cards */
  .os-site .types-section{background:#fff;border:0;padding-top:25px;padding-bottom:42px}
  .os-site .type-card-grid{gap:16px;margin-top:24px}
  .os-site .type-card-img{aspect-ratio:1.15;padding:18px 14px}
  .os-site .type-card-title h3,.os-site .type-card-label{font-size:17px}

  /* project/capability rows */
  .os-site .home-projects{padding-top:35px;padding-bottom:42px}
  .os-site .project-grid-4{gap:16px}
  .os-site .project-grid-4 img{aspect-ratio:1.6}
  .os-site .project-grid-4 figcaption{padding:13px 15px 14px}
  .os-site .project-grid-4 figcaption strong{font-size:17px}
  .os-site .project-grid-4 figcaption span{font-size:9px}
  .os-site .capabilities-section{padding-top:34px;padding-bottom:38px;background:#fff}
  .os-site .capability-grid-3{gap:14px}
  .os-site .capability-card>img{aspect-ratio:3.1}
  .os-site .cap-info{padding:9px 12px 11px}
  .os-site .cap-info h3{font-size:16px}
  .os-site .cap-info p{font-size:10px;margin-top:2px}
  .os-site .cap-info .text-link{font-size:9px;margin-top:4px}

  .os-site .professional{padding:32px 0}
  .os-site .professional .wrap,.os-site .pro-wrap{grid-template-columns:1fr .72fr;gap:60px}
  .os-site .professional h2,.os-site .pro-text h2{font-size:34px}
  .os-site .professional p,.os-site .pro-text p{font-size:11px;margin-top:6px;max-width:690px}
  .os-site .systems{padding:24px 0}
  .os-site .systems-wrap{grid-template-columns:180px 1fr 170px;gap:28px}
  .os-site .system-names a,.os-site .system-names span{font-size:23px}
  .os-site .final-cta-project{padding:35px 0}
  .os-site .final-left h2{font-size:35px}
  .os-site .final-left p{font-size:10px}
  .os-site .final-right ul{font-size:10px}

  /* architectural-window catalog concept */
  .os-site .catalog-hero{min-height:330px}
  .os-site .catalog-hero .wrap{padding:43px 0}
  .os-site .catalog-hero .page-intro{max-width:640px;font-size:12.5px;line-height:1.55;margin-top:11px}
  .os-site .catalog-browse{padding-top:30px;padding-bottom:28px}
  .os-site .window-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .os-site .window-type-card{min-height:205px;grid-template-columns:.95fr 1.05fr}
  .os-site .window-card-media{min-height:205px}
  .os-site .window-card-copy{padding:14px 15px}
  .os-site .window-card-copy h3{font-size:18px}
  .os-site .window-card-copy p{font-size:10px;line-height:1.45;margin-top:6px}
  .os-site .window-tags{margin-top:10px;gap:4px}
  .os-site .window-tags span{font-size:7px;padding:4px 6px}
  .os-site .window-options{font-size:9.5px;margin-top:8px}
  .os-site .catalog-detail{margin-top:12px;padding:20px 22px;background:#eef6fa;border:0}
  .os-site .catalog-detail-inner{grid-template-columns:1fr 1.2fr;gap:28px}
  .os-site .catalog-detail-media,.os-site .catalog-detail-media img{height:390px;min-height:390px}
  .os-site .catalog-detail h2{font-size:42px}
  .os-site .catalog-detail-description{font-size:11px;line-height:1.5}
  .os-site .catalog-help{padding:34px 0}
  .os-site .material-strip{padding:34px 0}

  /* footer closer to the low-profile concept */
  .os-footer{padding:20px 0 12px}
  .os-footer .os-footer-primary,.os-footer .os-footer-base{width:min(2040px,calc(100% - 120px))}
  .os-footer .os-footer-primary{display:flex;justify-content:space-between;align-items:center;gap:30px}
  .os-footer .os-footer-brand.os-wordmark{display:flex;flex-direction:column;color:#fff;line-height:.8}
  .os-footer .os-footer-brand.os-wordmark>span{font:500 27px/.9 Georgia,'Times New Roman',serif;letter-spacing:-.055em}
  .os-footer .os-footer-brand.os-wordmark>small{margin-left:24px;margin-top:4px;font:700 6px/1 Inter,Arial,sans-serif;letter-spacing:.32em}
  .os-footer .os-footer-nav a,.os-footer .os-footer-meta a{font-size:9px}
  .os-footer .os-footer-meta,.os-footer .os-footer-base{font-size:8px}
}

/* Lightbox */
.os-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(4, 18, 28, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  backdrop-filter: blur(5px);
  cursor: zoom-out;
  user-select: none;
}
.os-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}
.os-lightbox-img {
  max-width: 88vw;
  max-height: 85vh;
  object-fit: contain;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
  cursor: default;
  border-radius: 4px;
}
.os-lightbox-close {
  position: absolute;
  top: 20px;
  right: 28px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 32px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  cursor: pointer;
  opacity: 0.85;
  transition: all 0.2s ease;
  z-index: 10002;
}
.os-lightbox-close:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.06);
}
.gallery-grid figure {
  cursor: pointer;
}
.project-grid-4.gallery-grid figure {
  cursor: pointer;
}
.os-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  font-size: 28px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0.85;
  z-index: 10002;
}
.os-lightbox-nav:hover {
  background: rgba(255, 255, 255, 0.25);
  opacity: 1;
  transform: translateY(-50%) scale(1.08);
}
.os-lightbox-prev {
  left: 24px;
}
.os-lightbox-next {
  right: 24px;
}
.os-lightbox-counter {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.9);
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  background: rgba(0, 0, 0, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 6px 18px;
  border-radius: 20px;
  backdrop-filter: blur(4px);
  z-index: 10002;
  pointer-events: none;
}
/* Hide mobile bar on project estimate page */
body.is-estimate-page .os-mobile-bar,
.is-estimate-page .os-mobile-bar {
  display: none !important;
}
body.is-estimate-page,
body.is-estimate-page.os-site {
  padding-bottom: 0 !important;
}

/* Floating Call Widget / Phone Popup */
.os-call-widget {
  position: fixed;
  right: 20px;
  bottom: 24px;
  z-index: 2000;
  font-family: var(--sans);
}

.os-call-fab {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--navy);
  color: #ffffff;
  border: 2px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 24px rgba(12, 35, 51, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  padding: 0;
  outline: none;
}

.os-call-fab:hover,
.os-call-fab:focus-visible {
  transform: scale(1.08);
  background: #061520;
  box-shadow: 0 10px 30px rgba(12, 35, 51, 0.45);
}

.os-call-fab svg {
  display: block;
}

.os-call-popup {
  position: absolute;
  right: 0;
  bottom: 68px;
  width: 290px;
  max-width: calc(100vw - 36px);
  background: #ffffff;
  border: 1px solid #d4dfe3;
  border-radius: 12px;
  box-shadow: 0 16px 44px rgba(12, 35, 51, 0.25);
  padding: 22px 20px 20px;
  display: none;
  flex-direction: column;
  animation: osCallPopIn 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
  text-align: center;
}

.os-call-popup.is-open {
  display: flex;
}

@keyframes osCallPopIn {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.os-call-popup-close {
  position: absolute;
  top: 8px;
  right: 12px;
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #7b8e96;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 4px;
}

.os-call-popup-close:hover {
  color: var(--navy);
  background: #f1f5f7;
}

.os-call-popup-title {
  margin: 4px 0 6px;
  font-family: var(--serif);
  font-size: 21px;
  color: var(--navy);
  font-weight: 600;
  line-height: 1.25;
}

.os-call-popup-hours {
  margin: 0 0 14px;
  font-size: 11.5px;
  color: #556871;
}

.os-call-popup-number {
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 14px;
  letter-spacing: 0.02em;
}

.os-call-number-link {
  color: var(--navy);
  text-decoration: none;
}

.os-call-number-link:hover {
  text-decoration: underline;
}

.os-call-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 13px 18px;
  background: #0d7042;
  color: #ffffff !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  box-shadow: 0 4px 14px rgba(13, 112, 66, 0.3);
}

.os-call-action-btn:hover {
  background: #095732;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(13, 112, 66, 0.4);
}

@media (max-width: 600px) {
  .os-call-widget {
    right: 16px;
    bottom: 20px;
    bottom: max(20px, env(safe-area-inset-bottom, 20px));
  }
  .os-call-fab {
    width: 50px;
    height: 50px;
  }
  .os-call-popup {
    right: 0;
    bottom: 64px;
    width: 280px;
  }
}

/* Trust Strip (Credibility Bar) */
.os-site .trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f0f5f7;
}
.os-site .trust-strip-item {
  padding: 20px 16px;
  border-right: 1px solid var(--line);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.os-site .trust-strip-item:last-child {
  border-right: 0;
}
.os-site .trust-strip-item strong {
  display: block;
  font: 400 22px/1.1 var(--serif);
  color: var(--navy);
}
.os-site .trust-strip-item span {
  display: block;
  margin-top: 4px;
  color: #75858e;
  font-size: 9.5px;
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .os-site .trust-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .os-site .trust-strip-item:nth-child(2) {
    border-right: 0;
  }
  .os-site .trust-strip-item:nth-child(1),
  .os-site .trust-strip-item:nth-child(2) {
    border-bottom: 1px solid var(--line);
  }
}
@media (max-width: 480px) {
  .os-site .trust-strip-item {
    padding: 14px 10px;
  }
  .os-site .trust-strip-item strong {
    font-size: 19px;
  }
  .os-site .trust-strip-item span {
    font-size: 8.5px;
  }
}


