
:root{
 --ink:#11110f; --cream:#f4efe6; --cream2:#ebe4d8; --white:#fffdf9;
 --rust:#b7432b; --rust2:#ca5035; --gold:#c99b55; --muted:#6b665d;
 --line:rgba(17,17,15,.16); --max:1240px;
 --serif:Georgia,"Times New Roman",serif;
 --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.5}
img{max-width:100%;height:auto}
a{color:inherit}
.wrap{width:min(var(--max),calc(100% - 42px));margin-inline:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:10px}
.topbar{background:#080808;color:#fff;font-size:.83rem}
.topbar .wrap{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.contact-inline{display:flex;gap:17px;align-items:center;flex-wrap:wrap}
.contact-inline a{text-decoration:none}
.contact-inline a:hover{text-decoration:underline}
.socials{display:flex;gap:9px}
.social{width:30px;height:30px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;text-decoration:none;font-weight:800}
.site-header{background:rgba(246,241,233,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.navbar{min-height:74px;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:24px}
.logo img{width:210px;display:block}
.nav{display:flex;justify-content:flex-end;align-items:center;gap:28px}
.nav a{font:700 1rem var(--serif);text-decoration:none;position:relative}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--rust);transition:.2s}
.nav a:hover:after,.nav a.active:after{right:0}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;font-weight:800}

/* Homepage closely follows the agreed mock-up */
.home-hero{position:relative;min-height:555px;background:#151412;overflow:hidden;isolation:isolate;color:#fff}
.home-hero:before{content:"";position:absolute;inset:0;z-index:-3;background:url("../img/tap-front-hero.webp") 58% center/cover no-repeat}
.home-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:
 linear-gradient(90deg,rgba(7,7,6,.96) 0%,rgba(7,7,6,.90) 24%,rgba(7,7,6,.62) 42%,rgba(7,7,6,.12) 68%,rgba(7,7,6,.04) 100%),
 linear-gradient(0deg,rgba(7,7,6,.38),transparent 45%)}
.home-hero .wrap{min-height:555px;display:flex;align-items:center}
.home-copy{width:min(520px,48%);padding:52px 0 44px}
.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:900;color:var(--rust2)}
.home-copy .eyebrow{color:#ef7255}
.home-copy h1{font-family:var(--serif);font-size:clamp(3.8rem,5.9vw,6rem);line-height:.91;letter-spacing:-.045em;margin:0 0 20px}
.home-copy .lead{font-size:1.03rem;max-width:460px;color:#eee}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid transparent;border-radius:5px;text-decoration:none;font-weight:850}
.btn-primary{background:var(--rust2);color:#fff}
.btn-primary:hover{background:#b8412b}
.btn-dark{background:#151514;color:#fff}
.btn-outline{border-color:rgba(255,255,255,.78);color:#fff;background:rgba(0,0,0,.18)}
.home-meta{margin-top:26px;font:700 .78rem var(--serif);letter-spacing:.13em;text-transform:uppercase;color:#e3c68e}

/* tap strip */
.tap-strip{display:grid;grid-template-columns:minmax(0,1fr) 345px;background:#151514;color:#fff;min-height:190px}
.tap-photo{background:url("../img/tap-pumps-wide.webp") center/cover no-repeat;min-height:190px}
.tap-copy{padding:28px 30px;display:flex;flex-direction:column;justify-content:center}
.tap-copy h2{font:700 1.75rem var(--serif);line-height:1.05;margin:4px 0 8px}
.tap-copy p{margin:0;color:#ddd;font-size:.94rem}
.tap-copy .btn{align-self:flex-start;margin-top:16px;padding:9px 14px}

/* benefits + Pat's */
.quick-section{background:var(--white)}
.quick-grid{display:grid;grid-template-columns:2fr 1fr}
.benefits{display:grid;grid-template-columns:repeat(4,1fr)}
.benefit{padding:28px 24px;border-right:1px solid var(--line)}
.benefit:last-child{border-right:0}
.benefit-icon{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:1.45rem;margin-bottom:15px}
.benefit h3{font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px}
.benefit p{font-size:.9rem;color:#4e4a43;margin:0}
.pats{background:linear-gradient(135deg,#9d2d1e,#c74b2d);color:#fff;padding:28px 34px;display:grid;grid-template-columns:1fr 95px;gap:18px;align-items:center}
.pats h2{font:700 1.5rem var(--serif);margin:3px 0 9px}
.pats p{font-size:.91rem;margin:0 0 13px;color:#fff3ec}
.pats-badge{width:92px;height:92px;border:2px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;text-align:center;font:italic 700 1.3rem var(--serif);line-height:1}

/* homepage gallery strip */
.home-gallery{background:#161615;color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.home-gallery .wrap{display:grid;grid-template-columns:210px 1fr;gap:26px;padding:24px 0}
.gallery-intro h2{font:700 2.2rem var(--serif);margin:4px 0 9px}
.gallery-intro p{color:#d7d4ce;font-size:.91rem;margin:0 0 14px}
.gallery-row{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.gallery-row img{width:100%;height:116px;object-fit:cover;border-radius:4px;display:block}

/* Shared subpage hero – same editorial language, less generic than the old banners */
.hero{position:relative;min-height:410px;overflow:hidden;isolation:isolate;color:#fff;background:#111}
.hero:before{content:"";position:absolute;inset:0;z-index:-3;background:var(--hero) 58% center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,8,7,.94),rgba(8,8,7,.65) 42%,rgba(8,8,7,.12) 74%)}
.hero-home{--hero:url("../img/tap-front-hero.webp")}
.hero-pumps{--hero:url("../img/tap-pumps-wide.webp")}
.hero-art{--hero:url("../img/tap-interior-art.webp")}
.hero-pint{--hero:url("../img/tap-pint-and-pumps.webp")}
.hero-fit{--hero:url("../img/tap-exterior-fitting-out.webp")}
.hero .wrap{min-height:410px;display:flex;align-items:center}
.hero-copy{max-width:620px;padding:50px 0}
.hero h1{font:700 clamp(3.1rem,5vw,5rem)/.95 var(--serif);letter-spacing:-.035em;margin:0 0 16px}
.hero .lead{font-size:1.05rem;max-width:570px;color:#eee}
.hero .eyebrow{color:#f17d5e}
.hero-meta{margin-top:24px;font:700 .78rem var(--serif);letter-spacing:.12em;text-transform:uppercase;color:#e1c288}

/* Core content */
.section{padding:68px 0}
.section-white{background:var(--white)}
.section-dark{background:#151514;color:#fff}
.section-green{background:#164c42;color:#fff}
.section-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:end;margin-bottom:30px}
.section-head h2,.content h2{font:700 clamp(2.4rem,4.5vw,4rem)/.98 var(--serif);margin:0}
.section-head p{margin:0;color:var(--muted);font-size:1.03rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.panel h3{font:700 1.6rem var(--serif);margin:0 0 8px}
.photo-card{margin:0}.photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.photo-card figcaption{font-size:.9rem;color:var(--muted);margin-top:8px}
.feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px}
.feature .image{background:var(--image) center/cover no-repeat;min-height:350px}
.feature .copy{padding:55px;display:flex;flex-direction:column;justify-content:center}
.feature h2{font:700 clamp(2.8rem,4.8vw,4.5rem)/.96 var(--serif);margin:0 0 17px}
.feature .quote{font:700 clamp(1.5rem,2.6vw,2.3rem)/1.12 var(--serif)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}
.stat{padding:24px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font:700 1.35rem var(--serif);margin-top:4px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.card{padding:28px 24px;border-right:1px solid var(--line)}.card:last-child{border-right:0}.card h3{font:700 1.45rem var(--serif);margin:0 0 8px}.card p{margin:0;color:var(--muted)}
.food-banner{display:grid;grid-template-columns:1fr 1fr;background:#164c42;color:#fff}
.food-banner .copy{padding:54px}.food-banner h2{font:700 3.2rem/1 var(--serif);margin:0 0 15px}
.food-banner .visual{background:url("../img/tap-front-hero.webp") center/cover no-repeat;min-height:330px}
.content{max-width:850px;margin:auto}.content h2{font-size:2.4rem;margin-top:38px}.content p,.content li{font-size:1rem}
.map-wrap{overflow:hidden;border-radius:13px;border:1px solid var(--line)}.map-wrap iframe{display:block;width:100%;height:460px;border:0}

/* Gallery */
.gallery-mosaic{display:grid;grid-template-columns:1.1fr .85fr .95fr;grid-auto-rows:220px;gap:12px}
.gallery-mosaic img{width:100%;height:100%;object-fit:cover;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.gallery-mosaic .tall{grid-row:span 2}.gallery-mosaic .wide{grid-column:span 2}
.people-caption{font-size:.86rem;color:var(--muted);margin-top:10px}

/* footer */
.site-footer{background:#11110f;color:#eee;padding:34px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.2fr .75fr .9fr;gap:40px}
.footer-logo{width:190px;filter:invert(1);margin-bottom:8px}
.site-footer h3{font:700 1.15rem var(--serif);margin:0 0 10px}
.site-footer p,.site-footer a{color:#cfcfc9;font-size:.88rem}
.footer-links{display:flex;gap:12px;flex-wrap:wrap}.footer-socials{display:flex;gap:9px;margin-top:13px}
.copyline{border-top:1px solid rgba(255,255,255,.13);margin-top:25px;padding-top:13px;color:#999;font-size:.8rem}
.small{font-size:.82rem;color:#aaa}
.cookie{position:fixed;left:18px;bottom:18px;z-index:80;width:min(390px,calc(100% - 36px));background:#111;color:#fff;padding:16px 18px;border-radius:12px;box-shadow:0 15px 44px rgba(0,0,0,.32)}
.cookie[hidden]{display:none}.cookie p{font-size:.88rem;color:#ddd;margin:5px 0 10px}.cookie button{border:0;background:#fff;padding:8px 11px;border-radius:6px;font-weight:800}

@media(max-width:1050px){
 .quick-grid{grid-template-columns:1fr}.pats{grid-template-columns:1fr 95px}
 .gallery-row{grid-template-columns:repeat(3,1fr)}.gallery-row img{height:140px}
}
@media(max-width:900px){
 .navbar{grid-template-columns:1fr auto;min-height:72px}.nav{display:none;grid-column:1/-1;flex-direction:column;align-items:flex-start;padding:10px 0 20px}.nav.open{display:flex}.menu-btn{display:block}.logo img{width:190px}
 .contact-inline .address,.contact-inline .email{display:none}
 .home-hero{min-height:560px}.home-hero:after{background:linear-gradient(0deg,rgba(8,8,7,.92),rgba(8,8,7,.2))}
 .home-hero .wrap{min-height:560px;align-items:flex-end}.home-copy{width:100%;padding:170px 0 42px}
 .tap-strip{grid-template-columns:1fr}.tap-copy{padding:24px}
 .benefits{grid-template-columns:repeat(2,1fr)}.benefit:nth-child(2){border-right:0}
 .home-gallery .wrap{grid-template-columns:1fr}
 .section-head,.feature,.food-banner{grid-template-columns:1fr}.feature .image{order:-1}
 .cards{grid-template-columns:repeat(2,1fr)}.card:nth-child(2){border-right:0}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .wrap{width:min(var(--max),calc(100% - 28px))}
 .logo img{width:175px}.site-header{position:relative}
 .home-copy h1{font-size:3.55rem}.home-copy .lead{font-size:.98rem}
 .benefits{grid-template-columns:1fr}.benefit{border-right:0;border-bottom:1px solid var(--line)}
 .pats{grid-template-columns:1fr}.pats-badge{display:none}
 .gallery-row{grid-template-columns:1fr 1fr}.gallery-row img{height:120px}
 .hero{min-height:390px}.hero .wrap{min-height:390px}.hero h1{font-size:3.1rem}
 .grid-2,.cards,.stats{grid-template-columns:1fr}.card,.stat{border-right:0;border-bottom:1px solid var(--line)}
 .gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-mosaic .wide{grid-column:auto}.gallery-mosaic .tall{grid-row:auto}
 .footer-grid{grid-template-columns:1fr}
}
@media print{.topbar,.site-header,.cookie,.actions{display:none!important}.home-hero,.hero{min-height:auto;background:#fff;color:#000}.home-hero:before,.home-hero:after,.hero:before,.hero:after{display:none}.home-copy,.hero-copy{width:auto;color:#000}.home-copy h1,.hero h1{color:#000}}
