:root{--ink:#202327;--ink2:#182228;--stone:#eef0ef;--paper:#fbfaf7;--accent:#6f97a0;--accent-dark:#426c75;--line:#d7dddb;--serif:"Playfair Display",Georgia,serif;--sans:Inter,Arial,sans-serif;--shadow:0 18px 50px rgba(19,29,32,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:700;color:var(--accent-dark)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0}h2{font-size:clamp(2.25rem,4.5vw,4.3rem)}h3{font-size:1.6rem}.lead{font-size:1.12rem;color:#556064;max-width:680px}.section{padding:110px 0}.section-head{text-align:center;max-width:760px;margin:0 auto 54px}.section-head .eyebrow{margin-bottom:12px}.section-head p{margin:18px auto 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 25px;border:1px solid transparent;background:var(--accent);color:white;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:.78rem;cursor:pointer;transition:.25s}.btn:hover{background:var(--accent-dark);transform:translateY(-2px)}.btn-outline{background:transparent;border-color:rgba(255,255,255,.65)}.btn-outline:hover{background:white;color:var(--ink)}.btn-dark{background:var(--ink)}
.site-header{height:82px;position:fixed;inset:0 0 auto;z-index:50;background:rgba(25,31,35,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:100%;display:flex;align-items:center;gap:38px}.logo{width:220px;margin-right:auto}.logo img{height:61px;object-fit:contain;object-position:left center;filter:brightness(2.6)}.nav-links{display:flex;align-items:center;gap:29px;color:white;font-size:.77rem;text-transform:uppercase;letter-spacing:.06em}.nav-links a{padding:30px 0;position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:20px;width:0;height:2px;background:var(--accent);transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-cta{min-height:42px;padding:0 18px}.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:1.6rem}
.hero{min-height:760px;height:100vh;position:relative;display:flex;align-items:center;color:white;background-size:cover;background-position:center}.hero:before,.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,23,.82) 0%,rgba(14,20,23,.55) 43%,rgba(14,20,23,.08) 77%)}.hero-content{position:relative;padding-top:72px;max-width:650px}.hero h1{font-size:clamp(4rem,7vw,7.2rem)}.hero-tagline{font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.2rem);margin:14px 0}.hero-copy{max-width:580px;font-size:1.04rem;color:#e8edec}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.usp-bar{background:white;padding:40px 0;box-shadow:0 8px 28px rgba(20,29,32,.06)}.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.usp{text-align:center;padding:10px}.icon{width:52px;height:52px;margin:0 auto 14px;color:var(--accent-dark)}.icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6}.usp strong{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.11em}.usp span{display:block;font-size:.88rem;color:#667073;margin-top:5px}
.specials{background:#f3f3f0}.card-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.product-card{grid-column:span 2;background:white;box-shadow:var(--shadow);overflow:hidden;transition:.3s}.product-card:nth-child(4),.product-card:nth-child(5){grid-column:span 3}.product-card:hover{transform:translateY(-7px)}.card-image{height:285px;overflow:hidden}.card-image img{height:100%;object-fit:cover;transition:.6s}.product-card:hover img{transform:scale(1.035)}.card-body{padding:27px 28px 30px}.card-number{font-family:var(--serif);font-size:.85rem;color:var(--accent-dark);letter-spacing:.13em}.card-body h3{margin:6px 0 12px}.text-link{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.75rem;color:var(--accent-dark);display:inline-flex;gap:8px;align-items:center}.text-link:after{content:"\2192";font-size:1rem;transition:.2s}.text-link:hover:after{transform:translateX(5px)}
.feature-split{display:grid;grid-template-columns:1.08fr .92fr;min-height:660px}.feature-media img{height:100%;object-fit:cover}.feature-copy{display:flex;flex-direction:column;justify-content:center;background:white;padding:9vw}.feature-copy h2{margin:11px 0 24px}.application-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;padding:0;margin:25px 0 34px;list-style:none}.application-list li:before{content:"\2022";color:var(--accent);font-size:1.3rem;margin-right:10px}
.masonry{columns:3 270px;column-gap:18px}.masonry img{break-inside:avoid;margin-bottom:18px;height:auto;min-height:210px;object-fit:cover;box-shadow:var(--shadow)}
.project-cta{background:linear-gradient(100deg,#477783,#6f97a0);color:white;padding:54px 0}.cta-inner{display:flex;align-items:center;gap:40px}.cta-inner h2{font-size:clamp(2rem,4vw,3.3rem)}.cta-inner p{margin:8px 0 0;color:#e6efef}.cta-inner .btn{margin-left:auto;flex:none}
.site-footer{background:var(--ink2);color:#dfe5e4;padding:72px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr .75fr 1fr 1fr;gap:55px}.footer-logo{max-width:245px;filter:brightness(2.5);margin-bottom:20px}.footer-grid h3{font-family:var(--sans);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:white;margin-bottom:18px}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:8px 0}.footer-grid p,.footer-grid a{font-size:.9rem;color:#bdc7c6}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:22px;font-size:.78rem;color:#929f9e}
.page-hero{height:640px;position:relative;display:flex;align-items:end;color:white;background-size:cover;background-position:center}.page-hero-content{position:relative;padding-bottom:76px;max-width:760px}.page-hero h1{font-size:clamp(3.5rem,7vw,6.7rem);margin:12px 0 18px}.page-hero p{font-size:1.15rem;max-width:650px;color:#e4e9e8}.crumb{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#d7e1e0}.property-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.property{background:white;padding:35px 28px;box-shadow:0 12px 35px rgba(25,36,39,.07)}.property .icon{margin:0 0 16px}.property h3{font-size:1.25rem;margin-bottom:8px}.property p{margin:0;color:#657073;font-size:.92rem}.content-blocks{background:#eef0ee}.blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.info-card{background:white;padding:36px}.info-card h3{margin-bottom:13px}.info-card p{color:#647073;margin:0}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.benefit-image{height:610px;object-fit:cover}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:13px 0;border-bottom:1px solid var(--line)}.check-list li:before{content:"\2713";color:var(--accent-dark);font-weight:bold;margin-right:14px}.quote-section{background:white}.quote-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px;align-items:start}.quote-intro{position:sticky;top:130px}.quote-intro h2{margin:12px 0 18px}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#f8f8f6;padding:14px 15px;outline:none;border-radius:0}.field input:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:150px;resize:vertical}.gdpr{grid-column:1/-1;display:flex;gap:10px;font-size:.83rem;color:#606b6d;align-items:flex-start}.gdpr input{margin-top:5px}.form-status{grid-column:1/-1;display:none;padding:14px;background:#e3efeb;color:#294d45}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--ink2);padding:18px 28px 30px;flex-direction:column;align-items:flex-start;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0}.nav-cta{display:none}.menu-toggle{display:block}.usp-grid,.property-grid{grid-template-columns:1fr 1fr}.card-grid{grid-template-columns:1fr 1fr}.product-card,.product-card:nth-child(4),.product-card:nth-child(5){grid-column:auto}.feature-split,.benefits,.quote-wrap{grid-template-columns:1fr}.feature-copy{padding:70px 8vw}.feature-media{height:580px}.quote-intro{position:static}.footer-grid{grid-template-columns:1fr 1fr}.blocks{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(100% - 30px,1180px)}.section{padding:75px 0}.site-header{height:70px}.logo{width:180px}.logo img{height:50px}.nav-links{top:70px}.hero{min-height:720px}.hero h1{font-size:3.8rem}.usp-grid,.property-grid,.card-grid,.blocks{grid-template-columns:1fr}.usp-grid{gap:6px}.usp{border-bottom:1px solid var(--line);padding:20px}.product-card:nth-child(n){grid-column:auto}.card-image{height:245px}.feature-split{display:flex;flex-direction:column}.feature-media{height:390px}.application-list{grid-template-columns:1fr}.cta-inner{align-items:flex-start;flex-direction:column}.cta-inner .btn{margin:5px 0 0}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;gap:8px}.page-hero{height:570px}.property{padding:28px 24px}.benefit-image{height:420px}.quote-form{grid-template-columns:1fr}.field.full,.gdpr{grid-column:auto}.masonry{columns:1}.quote-wrap{gap:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}

/* Homepage reference layout */
.nav{gap:28px}.nav-links{gap:32px}.nav-dropdown{position:relative;color:white}.nav-dropdown summary{list-style:none;cursor:pointer;padding:30px 0;text-transform:uppercase}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary span{margin-left:6px}.nav-dropdown.active summary{color:white}.dropdown-menu{position:absolute;top:68px;left:-22px;width:310px;padding:10px 0;background:#202a30;box-shadow:0 18px 45px rgba(0,0,0,.3);border-top:2px solid var(--accent)}.dropdown-menu a{display:block!important;padding:11px 22px!important;text-transform:none;letter-spacing:0;font-size:.82rem}.dropdown-menu a:after{display:none}.dropdown-menu a:hover{background:rgba(111,151,160,.18)}@media(hover:hover){.nav-dropdown:not([open]):hover .dropdown-menu{display:block}.nav-dropdown:not([open]) .dropdown-menu{display:none}}
.home-hero{height:710px;min-height:0;align-items:stretch;background-position:center 55%}.home-hero:before{background:linear-gradient(90deg,rgba(14,20,23,.35),rgba(14,20,23,0) 76%)}.hero-panel{width:45%;height:100%;padding-left:max(calc((100vw - 1180px)/2),24px);display:flex;align-items:center;background:rgba(18,27,31,.72)}.home-hero .hero-content{padding:70px 55px 0 0;max-width:560px}.home-hero h1{font-size:clamp(3.8rem,5vw,5.1rem);line-height:1.01}.home-hero .hero-tagline{font-family:var(--sans);font-size:1.12rem;font-weight:500;margin:22px 0 16px}.hero-rule{width:46px;height:3px;background:white;margin:18px 0 25px}.home-hero .hero-copy{font-size:.96rem;line-height:1.55;margin-bottom:24px}.home-hero .btn{min-width:275px}.usp-bar{padding:31px 0 34px}.usp-grid{gap:30px}.usp .icon{width:48px;height:48px}.usp strong{font-size:.72rem}.usp span{max-width:220px;margin:8px auto 0;line-height:1.45}.specials{background:#fff;padding:62px 0 72px}.specials .section-head{margin-bottom:34px}.specials .section-head h2{font-size:2.8rem}.title-rule{height:2px;width:42px;background:var(--accent);margin:12px auto}.specials .section-head p{font-size:.9rem}.specials .card-grid{gap:24px}.specials .card-image{height:250px}.specials .card-body{padding:17px 24px 22px;min-height:178px}.specials .card-body h3{font-family:var(--serif);font-size:1.18rem;text-transform:uppercase;letter-spacing:.06em;color:#315e68;margin:0 0 12px}.specials .card-body p{font-size:.9rem;line-height:1.45;margin:0 0 18px}.card-button{display:inline-flex;border:1px solid var(--accent-dark);padding:7px 14px;text-transform:uppercase;font-size:.7rem;letter-spacing:.06em}.project-cta{padding:33px 0}.project-cta .cta-inner{max-width:920px}.cta-symbol{font-size:3.8rem;line-height:1}.cta-inner .eyebrow{font-size:1.08rem}.cta-inner p{font-size:.91rem;line-height:1.5}.site-footer{padding-top:52px}.footer-grid{grid-template-columns:1.25fr 1fr .8fr;gap:100px}.footer-logo{max-width:290px}.footer-grid p,.footer-grid a,.footer-grid li{font-size:.84rem;line-height:1.55}
@media(max-width:980px){.nav-dropdown{width:100%}.nav-dropdown summary{padding:12px 0}.dropdown-menu{position:static;width:100%;box-shadow:none;border:0;background:#182228;padding-left:12px}.nav-links{gap:0}.home-hero{height:680px}.hero-panel{width:62%;padding-left:30px}.home-hero .hero-content{padding-right:35px}.footer-grid{gap:45px}}
@media(max-width:650px){.home-hero{height:690px}.hero-panel{width:100%;background:rgba(18,27,31,.68);padding:0 24px}.home-hero .hero-content{padding:60px 0 0}.home-hero h1{font-size:3.5rem}.home-hero .btn{min-width:0}.specials .card-image{height:235px}.specials .card-body{min-height:0}.footer-grid{grid-template-columns:1fr}.cta-symbol{display:none}}
.logo{height:62px;overflow:hidden}.logo img{width:220px;height:62px;object-fit:cover;object-position:center 48%;filter:brightness(2.6)}.footer-logo{width:290px;height:92px;object-fit:cover;object-position:center 48%;max-width:100%;filter:brightness(2.5);margin-bottom:18px}
.professional-section{background:var(--ink);color:white}.professional-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.professional-wrap .lead{color:#c5cecd}.professional-wrap .check-list{margin:0}.professional-wrap .check-list li{border-color:rgba(255,255,255,.15)}@media(max-width:780px){.professional-wrap{grid-template-columns:1fr;gap:30px}}
.specials .product-card{box-shadow:0 10px 28px rgba(24,34,38,.07)}.specials .product-card .card-image{height:210px}.specials .product-card:nth-child(4) .card-image,.specials .product-card:nth-child(5) .card-image{height:190px}.specials .product-card:nth-child(4) .card-body,.specials .product-card:nth-child(5) .card-body{min-height:150px}.specials .card-image img{object-position:center}.specials .product-card:first-child .card-image img{object-position:center 58%}.specials .product-card:last-child .card-image img{object-position:center 48%}@media(max-width:650px){.specials .product-card .card-image,.specials .product-card:nth-child(4) .card-image,.specials .product-card:nth-child(5) .card-image{height:220px}}
.specials .card-image{display:block}
.specials .specialty-photo{position:relative;height:auto!important;aspect-ratio:calc(var(--crop-w)/var(--crop-h));overflow:hidden;background:#e8e8e5}.specials .specialty-photo img{position:absolute;max-width:none;width:calc(100% * 902 / var(--crop-w));height:auto;left:calc(-100% * var(--crop-x) / var(--crop-w));top:calc(-100% * var(--crop-y) / var(--crop-w));transform:none!important}.specials .product-card .card-body{display:flex;flex-direction:column;align-items:flex-start}.specials .product-card .card-body p{min-height:42px}.specials .product-card .card-button{margin-top:auto}
.specials .specialty-photo img{top:calc(-100% * var(--crop-y) / var(--crop-h))}
.specials a.product-card{display:block;color:var(--ink);text-decoration:none}.specials .card-body{height:172px}.specials .product-card:nth-child(4) .card-body,.specials .product-card:nth-child(5) .card-body{height:150px;min-height:150px}.specials .card-description{display:block;font-size:.9rem;line-height:1.45;min-height:42px;margin-bottom:18px}.specials .product-card:hover .card-button{background:var(--accent-dark);color:white}.specials .product-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media(max-width:650px){.specials .card-body,.specials .product-card:nth-child(4) .card-body,.specials .product-card:nth-child(5) .card-body{height:auto;min-height:180px}}
.specials .product-card:nth-child(-n+3){display:flex;flex-direction:column}.specials .product-card:nth-child(-n+3) .card-body{width:100%;height:190px}.specials .product-card:nth-child(-n+3) .card-description{margin:0 0 20px}.specials .card-description{color:var(--ink)}
.page-hero{margin-top:82px}@media(max-width:650px){.page-hero{margin-top:70px}}
.nav{padding-top:4px}.logo{height:68px}.logo img{height:68px;object-position:center 42%}
