:root{--ink:#171b1a;--muted:#68706d;--paper:#f5f4f0;--white:#fff;--line:#d8dbd7;--accent:#b56d3f;--accent-dark:#8d4f2a;--max:1240px;--shadow:0 22px 70px rgba(17,24,21,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{margin:0;max-width:100%;overflow-x:hidden;background:var(--white);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.narrow{max-width:830px}
.section{padding:112px 0}
.skip-link{position:fixed;z-index:9999;left:16px;top:-80px;background:var(--ink);color:#fff;padding:12px 18px}
.skip-link:focus{top:16px}
.demo-bar{background:#eadfcf;color:#563823;text-align:center;padding:7px 16px;font-size:.78rem;letter-spacing:.05em}
.eyebrow{display:block;color:var(--accent);font-size:.76rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin-bottom:17px}
.eyebrow--light{color:#f2c5a8}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;background:var(--white);border:1px solid var(--white);color:var(--ink);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;transition:.25s ease;cursor:pointer}
.button:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px)}
.button--dark{background:var(--ink);border-color:var(--ink);color:#fff}
.button--outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.button--ghost-light{background:transparent;color:#fff}
.button--small{min-height:42px;padding:0 18px;font-size:.68rem}
.button-row{display:flex;gap:12px;flex-wrap:wrap}
.text-link{display:inline-flex;gap:13px;align-items:center;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px;white-space:nowrap}
.text-link span{color:var(--accent)}
.text-link--light{color:#fff}
.site-header{position:relative;z-index:200;background:#fff}
.site-header.is-stuck{position:sticky;top:0;box-shadow:0 10px 40px rgba(14,20,18,.1)}
.topline{border-bottom:1px solid #e7e9e6;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:#5b625f}
.topline__inner{height:35px;display:flex;align-items:center;justify-content:space-between}
.topline__inner div{display:flex;gap:24px}
.topline a:hover{color:var(--accent)}
.masthead{height:91px;display:flex;align-items:center;gap:34px}
.brand{display:inline-flex;flex-direction:column;line-height:.82;min-width:150px}
.brand img{height:58px;width:auto;object-fit:contain}
.brand__mark{font-size:2.2rem;font-weight:900;letter-spacing:-.08em}
.brand__payoff{font-size:.7rem;font-weight:600;letter-spacing:.11em;margin-top:9px}
.brand--light{color:#fff}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto}
.desktop-nav>a,.nav-group>button{border:0;background:none;padding:35px 0;font-size:.72rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.desktop-nav>a:hover,.nav-group>button:hover{color:var(--accent)}
.nav-group{position:relative}
.nav-group>button span{color:var(--accent)}
.nav-dropdown{position:absolute;left:-20px;top:80%;min-width:230px;padding:18px;background:#fff;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;display:grid}
.nav-dropdown a{padding:10px 12px;font-size:.82rem}
.nav-dropdown a:hover{background:var(--paper);color:var(--accent-dark)}
.nav-dropdown--grid{width:570px;grid-template-columns:repeat(2,1fr);gap:3px}
.nav-dropdown--grid a{display:flex;flex-direction:column}
.nav-dropdown--grid small{color:var(--muted);font-size:.7rem}
.nav-group:hover .nav-dropdown,.nav-group:focus-within .nav-dropdown{opacity:1;visibility:visible;transform:none}
.header-actions{display:flex;align-items:center;gap:12px}
.icon-button,.menu-toggle{border:0;background:transparent;cursor:pointer}
.icon-button{width:42px;height:42px;font-size:1.6rem}
.menu-toggle{display:none;width:42px;height:42px;position:relative}
.menu-toggle span{position:absolute;left:8px;width:26px;height:2px;background:var(--ink);transition:.2s}
.menu-toggle span:first-child{top:15px}.menu-toggle span:last-child{top:25px}
.menu-open .menu-toggle span:first-child{transform:translateY(5px) rotate(45deg)}
.menu-open .menu-toggle span:last-child{transform:translateY(-5px) rotate(-45deg)}
.mobile-menu{display:none}
.search-panel{position:fixed;z-index:500;inset:0;background:rgba(23,27,26,.97);color:#fff;align-items:center;justify-content:center;padding:40px}
.search-panel:not([hidden]){display:flex}
.search-panel form{width:min(900px,100%)}
.search-panel label{display:block;font-family:Georgia,serif;font-size:clamp(2rem,5vw,4.8rem);line-height:1.05}
.search-panel form div{display:flex;margin-top:36px;border-bottom:1px solid #858b88}
.search-panel input{flex:1;border:0;background:transparent;color:#fff;font-size:1.4rem;padding:18px 0;outline:0}
.search-panel__close{position:absolute;right:30px;top:25px;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer}
.flash-stack{position:fixed;z-index:600;right:24px;top:150px;display:grid;gap:8px}
.flash{padding:15px 18px;background:#fff;box-shadow:var(--shadow);border-left:4px solid var(--accent)}
.flash--success{border-color:#3d8265}.flash--error{border-color:#a5413a}
.hero{height:min(790px,calc(100vh - 126px));min-height:610px;position:relative;overflow:hidden;background:var(--ink);color:#fff}
.hero__slide{position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center;opacity:0;visibility:hidden;transform:scale(1.04);transition:opacity .9s ease,transform 6s ease}
.hero__slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,13,.82) 0%,rgba(10,14,13,.4) 47%,rgba(10,14,13,.04) 78%),linear-gradient(0deg,rgba(10,14,13,.4),transparent 44%)}
.hero__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-bottom:56px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.1rem,6.2vw,6.7rem);font-weight:400;line-height:.96;letter-spacing:-.045em;max-width:940px;margin:0 0 27px}
.hero p{font-size:clamp(1rem,1.4vw,1.22rem);max-width:630px;margin:0 0 38px;color:#e7e9e7}
.hero__dots{position:absolute;z-index:3;right:max(24px,calc((100vw - var(--max))/2));bottom:44px;display:flex;gap:9px}
.hero__dots button{width:38px;height:3px;padding:0;border:0;background:rgba(255,255,255,.45);cursor:pointer}
.hero__dots button.is-active{background:var(--accent)}
.hero__rail{position:absolute;z-index:2;left:30px;right:30px;bottom:20px;display:flex;justify-content:space-between;font-size:.62rem;letter-spacing:.14em}
.section-heading{display:grid;grid-template-columns:minmax(320px,1.3fr) 1fr auto;gap:45px;align-items:end;margin-bottom:47px;border-bottom:1px solid var(--line);padding-bottom:29px}
.section-heading h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4.1rem);line-height:1.04;font-weight:400;letter-spacing:-.035em;margin:0}
.section-heading p{margin:0;color:var(--muted);max-width:520px}
.category-showcase{background:var(--paper)}
.category-grid{display:grid;grid-template-columns:1.3fr .9fr .9fr;grid-template-rows:330px 330px;gap:14px}
.category-tile{position:relative;overflow:hidden;color:#fff;min-height:250px}
.category-tile--1{grid-row:1/3}
.category-tile--4{grid-column:2/3}
.category-tile--5{grid-column:3/4}
.category-tile img{width:100%;height:100%;transition:transform .7s ease}
.category-tile:hover img{transform:scale(1.035)}
.category-tile__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,14,13,.84),transparent 65%)}
.category-tile>div{position:absolute;left:25px;right:25px;bottom:24px}
.category-tile>div>span{font-size:.67rem;letter-spacing:.13em;color:#f1c3a4}
.category-tile h3{font-family:Georgia,serif;font-size:clamp(1.45rem,2vw,2.2rem);line-height:1.1;margin:5px 0 7px;font-weight:400}
.category-tile p{margin:0;font-size:.84rem;color:#e0e4e1;max-width:400px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 18px}
.product-card{min-width:0}
.product-card__image{display:block;position:relative;overflow:hidden;background:var(--paper);aspect-ratio:1.32}
.product-card__image img{width:100%;height:100%;transition:transform .6s}
.product-card:hover .product-card__image img{transform:scale(1.035)}
.product-card__arrow{position:absolute;right:0;bottom:0;width:51px;height:51px;background:#fff;display:grid;place-items:center;font-size:1.25rem;transition:.2s}
.product-card:hover .product-card__arrow{background:var(--accent);color:#fff}
.product-card__body{padding:23px 3px 0}
.product-card__body .eyebrow{font-size:.63rem;margin-bottom:8px}
.product-card h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin:0 0 9px;line-height:1.1}
.product-card__facts{display:flex;gap:0;flex-wrap:wrap;color:var(--muted);font-size:.78rem}
.product-card__facts span:not(:last-child)::after{content:'·';padding:0 7px;color:var(--accent)}
.product-card__footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:17px;padding-top:16px;gap:20px}
.product-card__footer strong{font-size:.82rem}
.product-card__footer a{font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.statement{background:var(--ink);color:#fff}
.statement__grid{display:grid;grid-template-columns:.35fr 1.1fr .8fr;gap:70px;align-items:start}
.statement__number{font-size:.67rem;letter-spacing:.17em;color:#a7aca9}
.statement__copy h2{font-family:Georgia,serif;font-size:clamp(2.6rem,4.6vw,5rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;margin:0 0 30px}
.statement__copy p{color:#c8cdca;max-width:620px;margin:0 0 30px}
.statement__steps{border-top:1px solid #404642}
.statement__steps div{display:grid;grid-template-columns:55px 1fr;gap:10px;border-bottom:1px solid #404642;padding:18px 0}
.statement__steps span{color:var(--accent);font-size:.72rem}
.statement__steps strong{font-size:.88rem;font-weight:600}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.benefit-card{padding:42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px}
.benefit-card>span{font-size:1.7rem;color:var(--accent)}
.benefit-card h3{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;margin:45px 0 12px}
.benefit-card p{margin:0;color:var(--muted);font-size:.9rem}
.image-break{background:var(--paper)}
.image-break__grid{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:center}
.image-break__image{height:650px;position:relative}
.image-break__image::before{content:'';position:absolute;left:-22px;top:-22px;width:120px;height:120px;border-left:1px solid var(--accent);border-top:1px solid var(--accent)}
.image-break__image img{width:100%;height:100%}
.image-break__copy h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,4.5rem);font-weight:400;line-height:1.02;margin:0 0 28px}
.image-break__copy p{color:var(--muted);margin-bottom:35px}
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.journal-card>a{display:block;aspect-ratio:1.55;overflow:hidden}
.journal-card>a img{width:100%;height:100%;transition:.6s}
.journal-card:hover>a img{transform:scale(1.03)}
.journal-card>div{padding:24px 0}
.journal-card>div>span{font-size:.68rem;letter-spacing:.1em;color:var(--accent)}
.journal-card h2,.journal-card h3{font-family:Georgia,serif;font-size:clamp(1.6rem,2.4vw,2.45rem);line-height:1.1;font-weight:400;margin:10px 0}
.journal-card p{color:var(--muted);margin:0;max-width:560px}
.final-cta{background:linear-gradient(90deg,rgba(18,23,21,.93),rgba(18,23,21,.58)),url('../images/hero-gmm.webp') center/cover;color:#fff;padding:120px 0}
.final-cta__inner{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}
.final-cta__inner .eyebrow{grid-column:1/-1}
.final-cta h2{font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:1;margin:0}
.page-hero{padding:140px 0 80px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,7.4rem);line-height:.98;font-weight:400;letter-spacing:-.045em;max-width:1040px;margin:0}
.page-hero p{max-width:650px;color:var(--muted);font-size:1.12rem;margin:28px 0 0}
.breadcrumbs{display:flex;gap:10px;padding-top:24px;color:var(--muted);font-size:.72rem;letter-spacing:.04em}
.breadcrumbs a:hover{color:var(--accent)}
.product-detail{padding-top:42px}
.product-detail__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:65px;align-items:start}
.product-gallery__main{border:0;padding:0;width:100%;aspect-ratio:1.3;background:var(--paper);cursor:zoom-in;overflow:hidden}
.product-gallery__main img{width:100%;height:100%}
.product-gallery__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}
.product-gallery__thumbs button{padding:0;border:2px solid transparent;aspect-ratio:1.45;cursor:pointer}
.product-gallery__thumbs button:hover,.product-gallery__thumbs button.is-active{border-color:var(--accent)}
.product-gallery__thumbs img{width:100%;height:100%}
.product-summary{position:sticky;top:145px}
.product-summary h1{font-family:Georgia,serif;font-size:clamp(3rem,4.5vw,5.3rem);line-height:.96;letter-spacing:-.045em;font-weight:400;margin:0 0 12px}
.product-summary__subtitle{font-family:Georgia,serif;color:var(--muted);font-size:1.25rem}
.product-summary__metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:30px 0}
.product-summary__metrics div{padding:16px 8px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.product-summary__metrics div:last-child{border:0}
.product-summary__metrics strong{font-family:Georgia,serif;font-size:1.5rem}
.product-summary__metrics span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.product-summary__price{font-size:1.3rem;font-weight:750;margin:28px 0 20px}
.product-summary__actions{display:grid;gap:9px}
.product-summary>small{display:block;color:var(--muted);font-size:.7rem;margin-top:18px}
.product-story{background:var(--paper);text-align:center}
.product-story h2{font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,5rem);line-height:1;font-weight:400;margin:0 0 28px}
.lead{font-family:Georgia,serif;font-size:1.35rem;color:#4a514e}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.spec-grid div{display:flex;flex-direction:column;min-height:115px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.spec-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.spec-grid strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:400;margin-top:auto}
.feature-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.feature-story__grid--reverse img{order:2}
.feature-story img{width:100%;height:530px}
.feature-story h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4rem);font-weight:400;line-height:1.03;margin:0 0 20px}
.floorplan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.floorplan-grid button{border:1px solid var(--line);background:#fff;padding:16px;cursor:zoom-in;text-align:left}
.floorplan-grid img{width:100%;aspect-ratio:1.4;object-fit:contain}
.floorplan-grid span{display:block;padding:10px 0 0;font-weight:700}
.quote{background:var(--paper)}
.quote__grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}
.quote__grid>div>h2{font-family:Georgia,serif;font-size:clamp(2.7rem,4.5vw,4.8rem);font-weight:400;line-height:1.02;margin:0 0 25px}
.quote__grid>div>p{color:var(--muted)}
.quote-form{background:#fff;padding:44px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.quote-form label,.filters label{display:flex;flex-direction:column;gap:7px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#4c5350}
.quote-form input,.quote-form textarea,.filters input,.filters select{width:100%;border:0;border-bottom:1px solid #bbc0bd;background:transparent;border-radius:0;padding:11px 0;color:var(--ink);outline:0;text-transform:none;letter-spacing:0;font-weight:400}
.quote-form input:focus,.quote-form textarea:focus,.filters input:focus,.filters select:focus{border-color:var(--accent)}
.quote-form>label{margin-top:24px}
.quote-form .check{flex-direction:row;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:400;margin:22px 0}
.quote-form .check input{width:auto;margin-top:6px}
.hp-field{position:absolute!important;left:-9999px!important}
.filters{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:14px;align-items:end;background:var(--paper);padding:22px}
.filters .filter-wide{grid-column:span 2}
.filters .button{height:48px}
.catalog-status{margin:32px 0 20px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.empty-state{grid-column:1/-1;text-align:center;padding:90px 20px;background:var(--paper)}
.empty-state h2{font-family:Georgia,serif;font-size:2.5rem;font-weight:400;margin:0}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.gallery-filters button{border:1px solid var(--line);background:#fff;padding:10px 17px;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.gallery-filters button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.gallery-item{grid-column:span 5;position:relative;border:0;padding:0;background:var(--paper);aspect-ratio:1.2;overflow:hidden;text-align:left;cursor:zoom-in;color:#fff}
.gallery-item:nth-child(3n+1){grid-column:span 7}
.gallery-item img{width:100%;height:100%;transition:.5s}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-item>span{position:absolute;inset:auto 0 0;padding:50px 24px 22px;background:linear-gradient(transparent,rgba(11,15,14,.8));display:flex;flex-direction:column}
.gallery-item b{font-family:Georgia,serif;font-size:1.6rem;font-weight:400}
.gallery-item small{color:#e0e2e0}
.gallery-item[hidden]{display:none}
.lightbox{width:100vw;height:100vh;max-width:none;max-height:none;border:0;background:rgba(7,9,9,.95);padding:55px;color:#fff}
.lightbox::backdrop{background:rgba(7,9,9,.95)}
.lightbox img{width:100%;height:100%;object-fit:contain}
.lightbox>button{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;font-size:1.5rem;cursor:pointer}
.lightbox [data-lightbox-close]{right:25px;top:20px}
.lightbox [data-lightbox-prev]{left:20px;top:50%}.lightbox [data-lightbox-next]{right:20px;top:50%}
.article__hero{padding:130px 0 70px;background:var(--paper)}
.article__hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,6vw,6rem);font-weight:400;line-height:1;letter-spacing:-.04em;margin:0 0 25px}
.article__hero p{font-family:Georgia,serif;font-size:1.3rem;color:var(--muted)}
.article__image{margin-top:45px}
.article__image img{width:100%;height:min(62vw,700px)}
.article__body{padding-block:70px 120px;font-family:Georgia,serif;font-size:1.25rem;line-height:1.85}
.prose>p{font-family:Georgia,serif;font-size:1.28rem;line-height:1.9}
.timeline{margin-top:70px;border-top:1px solid var(--line)}
.timeline>div{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:35px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}
.timeline span{color:var(--accent);font-size:.8rem}
.timeline h2{font-family:Georgia,serif;font-weight:400;margin:0;font-size:1.7rem}
.timeline p{margin:0;color:var(--muted)}
.contact-details{display:grid;gap:0}
.contact-details>div{border-bottom:1px solid var(--line);padding:22px 0}
.contact-details span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.contact-details a,.contact-details p{font-family:Georgia,serif;font-size:1.45rem;margin:5px 0 0}
.map-embed iframe{border:0;width:100%;height:520px}
.result-title{font-family:Georgia,serif;font-weight:400;font-size:2.5rem;margin:70px 0 25px}
.search-list{display:grid;border-top:1px solid var(--line)}
.search-list a{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;border-bottom:1px solid var(--line);padding:25px 0}
.search-list span{color:var(--muted)}
.not-found{padding:160px 0;text-align:center}
.not-found>div>span{font-family:Georgia,serif;font-size:8rem;color:var(--paper)}
.not-found h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:400;margin:-40px 0 15px}
.not-found .button-row{justify-content:center;margin-top:35px}
.site-footer{background:#111513;color:#fff;padding:85px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:60px}
.footer-brand p{color:#aeb4b0;max-width:330px;margin-top:30px}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-grid h2{font-size:.67rem;text-transform:uppercase;letter-spacing:.13em;color:#d49a74;margin:0 0 16px}
.footer-grid a,.footer-grid p{font-size:.84rem;color:#cbd0cd;margin:0}
.footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid #363c38;margin-top:65px;padding-top:24px;display:flex;justify-content:space-between;color:#89908c;font-size:.68rem}
.footer-bottom div{display:flex;gap:20px}
.whatsapp-fab{position:fixed;z-index:150;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;background:#1e9e62;color:#fff;display:grid;place-items:center;font-size:.74rem;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.cookie-banner{position:fixed;z-index:700;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:25px;background:#fff;box-shadow:var(--shadow);padding:18px 22px;border-left:4px solid var(--accent)}
.cookie-banner p{margin:0;font-size:.8rem}.cookie-banner a{text-decoration:underline}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (max-width:1100px){
  .desktop-nav{display:none}.menu-toggle{display:block}.masthead{height:78px}.topline{display:none}.header-actions .button{display:none}
  .mobile-menu{position:absolute;z-index:20;top:100%;left:0;width:100%;height:calc(100dvh - 78px);background:#fff;padding:30px 24px 60px;overflow:auto}
  .mobile-menu.is-open{display:flex;flex-direction:column}
  .mobile-menu a{font-family:Georgia,serif;font-size:1.65rem;border-bottom:1px solid var(--line);padding:14px 0}
  .hero{height:720px}.hero__content{padding-top:100px}.section{padding:88px 0}
  .category-grid{grid-template-columns:1fr 1fr;grid-template-rows:430px repeat(2,290px)}.category-tile--1{grid-row:auto;grid-column:1/-1}.category-tile--4,.category-tile--5{grid-column:auto}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .statement__grid{grid-template-columns:.25fr 1fr}.statement__steps{grid-column:2}
  .image-break__grid,.quote__grid{gap:45px}
  .product-detail__grid{grid-template-columns:1fr}.product-summary{position:static}
  .filters{grid-template-columns:repeat(4,1fr)}.filters .button{grid-column:span 1}
  .footer-grid{grid-template-columns:1.4fr repeat(3,1fr);gap:30px}
}
@media (max-width:760px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .section{padding:70px 0}
  .brand__mark{font-size:1.9rem}
  .hero{min-height:620px;height:calc(100svh - 78px)}
  .hero__scrim{background:linear-gradient(90deg,rgba(10,14,13,.78),rgba(10,14,13,.18)),linear-gradient(0deg,rgba(10,14,13,.55),transparent 60%)}
  .hero h1{font-size:clamp(3.1rem,14vw,4.8rem);max-width:600px}
  .hero p{font-size:1rem}
  .hero__rail{display:none}.hero__dots{right:18px;bottom:22px}
  .button-row .button{width:100%}
  .section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.section-heading p{max-width:100%}.section-heading .text-link{justify-self:start}
  .category-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px;gap:10px}
  .category-tile{min-width:84vw;height:430px;scroll-snap-align:start}
  .product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px;gap:13px}
  .product-card{min-width:82vw;scroll-snap-align:start}
  .statement__grid{grid-template-columns:1fr;gap:35px}.statement__steps{grid-column:auto}
  .benefit-grid{grid-template-columns:1fr 1fr}.benefit-card{padding:25px;min-height:225px}.benefit-card h3{margin-top:35px}
  .image-break__grid,.quote__grid,.feature-story__grid{grid-template-columns:1fr;gap:40px}.image-break__image{height:470px}.feature-story__grid--reverse img{order:0}
  .journal-grid{grid-template-columns:1fr}
  .final-cta__inner{grid-template-columns:1fr}.final-cta__inner .button{margin-top:20px}
  .page-hero{padding:100px 0 60px}
  .product-detail{padding-top:25px}.product-detail__grid{gap:35px}.product-summary h1{font-size:3.4rem}
  .product-summary__metrics{grid-template-columns:repeat(2,1fr)}.product-summary__metrics div:nth-child(2){border-right:0}.product-summary__metrics div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .spec-grid{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}.quote-form{padding:25px 20px}
  .filters{grid-template-columns:1fr 1fr}.filters .filter-wide{grid-column:1/-1}.filters .button{grid-column:1/-1}
  .gallery-grid{display:grid;grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(3n+1){grid-column:auto}
  .article__image{width:100%}.article__image img{height:400px}.article__body{font-size:1.12rem}
  .timeline>div{grid-template-columns:45px 1fr}.timeline p{grid-column:2}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;gap:16px}
  .lightbox{padding:25px}
  .cookie-banner{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch}
}
@media (max-width:430px){
  .benefit-grid,.filters,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}
  .filters .filter-wide{grid-column:auto}
  .product-card{min-width:88vw}
  .category-tile{min-width:88vw;height:390px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
