:root{--bg:#111914;--deep:#0b120e;--panel:#1c2820;--cream:#f0ecdd;--muted:#adb5a9;--gold:#c59b54}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#0d1510;position:relative;z-index:10;border-bottom:1px solid #3b4539}.brand{display:flex;gap:13px;align-items:center}.brand-mark{border:2px solid var(--gold);color:var(--gold);width:52px;height:52px;display:flex;align-items:center;justify-content:center;font:800 23px 'Barlow Condensed';letter-spacing:-4px}.brand-mark span{letter-spacing:0;margin-left:3px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font:800 29px 'Barlow Condensed';letter-spacing:2px}.brand-copy small{font:600 10px 'DM Sans';letter-spacing:1.3px;color:var(--gold);margin-top:5px}.header nav{display:flex;gap:30px}.header nav a{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.header nav a:hover,.text-link:hover{color:var(--gold)}.header-call{background:var(--gold);color:#151710;font-weight:800;font-size:12px;letter-spacing:1px;padding:14px 19px}.menu-toggle{display:none}.hero{min-height:650px;height:calc(100svh - 84px);max-height:850px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,13,.15),rgba(10,20,13,.45)),url('assets/0e5f08_13f8a74223b24b2ab6556e3ed50a5ff5~mv2.jpg') center 50%/max(100%, 1000px) auto no-repeat;filter:saturate(.9)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,18,12,.96) 0%,rgba(8,18,12,.58) 40%,rgba(8,18,12,.16) 100%),linear-gradient(0deg,#0b130e 0%,transparent 30%)}.hero-inner{position:relative;z-index:1;width:min(1050px,90%);margin:auto}.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:3px;color:var(--gold)}.eyebrow{display:flex;align-items:center;gap:13px}.line{width:35px;height:2px;background:var(--gold)}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;margin:0;text-transform:uppercase}h1{font-size:clamp(55px,8vw,112px);line-height:.91;letter-spacing:-1px;margin:27px 0}h1 em{font-style:normal;color:var(--gold)}.hero-inner p{font-size:17px;line-height:1.8;max-width:510px;color:#d0d5cb}.hero-actions,.contact-buttons{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 26px;min-height:54px;font-size:12px;font-weight:800;letter-spacing:1.4px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn.gold{background:var(--gold);color:#0b120e}.btn.ghost{border:1px solid #a8b3a3;background:#11191488}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#c1c6b8}.intro,.facility{padding:105px max(5%,calc((100% - 1200px)/2))}.intro h2,.facility h2,.about h2,.contact h2{font-size:clamp(54px,6vw,84px);line-height:.98;margin:15px 0 25px}.intro h2 span,.facility h2 span,.about h2 span,.contact h2 span{color:var(--gold)}.lead{color:var(--muted);max-width:620px;line-height:1.8;font-size:16px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:52px}.service{background:#1c2920;border-top:2px solid #79623c;padding:28px 22px 32px;min-height:280px}.service-no{font-size:11px;color:var(--gold);letter-spacing:2px}.service-icon{font:500 48px 'Barlow Condensed';color:var(--gold);margin:14px 0}.service h3{font-size:28px;letter-spacing:.5px}.service p{font-size:13px;line-height:1.8;color:#bfc7bc}.facility{background:#e9e6da;color:#1b251d}.facility-heading{display:flex;justify-content:space-between;align-items:end;gap:25px}.facility-heading p{max-width:340px;line-height:1.7;color:#526054}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px;margin-top:26px}.gallery figure{margin:0;height:390px;overflow:hidden;background:#d3d5c9}.gallery img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform .3s}.gallery figure:hover img{transform:scale(1.035)}.gallery-note{font-size:12px;color:#6b7369}.about{display:grid;grid-template-columns:1fr 1fr;min-height:550px}.about-graphic{background:radial-gradient(circle at 50% 40%,#3b4a30,#18231b 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;border-right:1px solid #46523e}.monogram{font:900 clamp(120px,17vw,250px) 'Barlow Condensed';letter-spacing:-13px;color:#c39b56;text-shadow:0 8px 15px #0007}.monogram span{font-size:.4em;vertical-align:middle;letter-spacing:0}.about-graphic small{font-size:10px;letter-spacing:3px;color:#e1d3b6}.about-copy{padding:90px 10%;align-self:center}.about-copy p{color:#b7c1b5;line-height:1.9;max-width:520px}.text-link{display:inline-block;color:var(--gold);font-weight:800;font-size:12px;letter-spacing:2px;margin-top:22px}.contact{padding:110px 5%;text-align:center;background:radial-gradient(ellipse at center,#2c3d2d,#0b130e 72%)}.contact h2{font-size:clamp(70px,10vw,125px)}.contact p{color:#c5cec1}.contact-buttons{justify-content:center}.email-text{display:block;margin-top:24px;font-size:13px;color:#c7cfbe;text-decoration:underline;text-underline-offset:5px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:34px 5%;background:#090f0b;color:#a6b09f;font-size:10px;letter-spacing:1.2px}footer div{display:flex;flex-direction:column}footer strong{font:800 27px 'Barlow Condensed';color:var(--cream);letter-spacing:2px}footer small{font-size:9px;color:var(--gold)}@media(max-width:900px){.header nav{gap:12px}.services{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.gallery figure{height:300px}}@media(max-width:650px){.header{height:72px;padding:0 5%}.brand-mark{width:42px;height:42px;font-size:20px}.brand-copy strong{font-size:23px}.brand-copy small{font-size:8px}.header-call{display:none}.menu-toggle{display:block;border:1px solid #5a6457;color:var(--cream);background:transparent;font-size:24px;padding:4px 10px}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#111a13;padding:24px 5%;flex-direction:column;gap:24px}.header nav.open{display:flex}.hero{min-height:650px;height:80svh}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,#0b140fe8,#0b140f7d),linear-gradient(0deg,#0b140f,transparent 45%)}h1{font-size:clamp(54px,13vw,82px)}.hero-inner p{font-size:15px}.hero-bottom span:last-child{display:none}.intro,.facility{padding:75px 5%}.services{gap:10px}.service{padding:20px 15px;min-height:260px}.service h3{font-size:25px}.facility-heading{display:block}.gallery{grid-template-columns:1fr 1fr}.gallery-main{grid-column:1/-1}.gallery figure{height:230px}.gallery-main{height:320px!important}.about{grid-template-columns:1fr}.about-graphic{min-height:250px}.monogram{font-size:120px}.about-copy{padding:65px 7%}.contact{padding:80px 5%}.contact-buttons{flex-direction:column}.contact-buttons .btn{width:100%}footer{flex-direction:column;text-align:center}}

/* Dog photo visibility */
.hero{background:#0b140f}
.hero-photo{left:43%;background-image:url('assets/0e5f08_13f8a74223b24b2ab6556e3ed50a5ff5~mv2.jpg');background-size:auto 240%;background-position:58% 50%;filter:none}
.hero-shade{background:linear-gradient(90deg,#0b140f 0%,#0b140f 38%,rgba(11,20,15,.65) 47%,transparent 63%)}
.hero-inner{width:90%;margin:auto}
.hero-inner h1{max-width:52%;font-size:clamp(50px,5.8vw,88px)}
.hero-inner p{max-width:40%}
.hero-actions{max-width:45%}
@media(max-width:650px){
.hero{height:auto;max-height:none;min-height:0;display:block;padding-top:380px}
.hero-photo{left:0;bottom:auto;height:380px;background-size:auto 240%;background-position:65% 50%}
.hero-shade{height:380px;background:linear-gradient(0deg,#0b140f,transparent 20%)}
.hero-inner{padding:24px 0 72px}
.hero-inner h1{max-width:100%;font-size:clamp(48px,12vw,72px)}
.hero-inner p,.hero-actions{max-width:100%}
.hero-bottom{bottom:20px}
}

/* Working navigation and training pages */
.header nav{gap:18px}.header nav a{font-size:11px}.header nav a[aria-current="page"]{color:var(--gold)}a.service{display:block;transition:transform .2s,border-color .2s}a.service:hover{transform:translateY(-5px);border-color:var(--gold)}a.service:focus-visible,.header a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.service-more{display:block;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:1px;margin-top:20px}.page-heading{padding:65px 5% 50px;background:#0b140f}.breadcrumb{font-size:10px;letter-spacing:2px;color:var(--gold)}.page-heading h1{font-size:clamp(48px,7vw,86px)}.page-heading p{color:var(--muted);max-width:700px;line-height:1.8}.detail-wrap{max-width:1200px;margin:auto;padding:70px 5%;line-height:1.9}.detail-wrap h2,.page-cta h2{font-size:clamp(30px,4vw,48px);line-height:1.15}.detail-wrap>p{max-width:800px;color:#c5cec1}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:35px 0}.detail-grid article{padding:30px;background:var(--panel);scroll-margin-top:30px}.detail-grid h3{font-size:32px;color:var(--gold)}.detail-grid h2{font-size:32px}.detail-grid p{color:#c5cec1}.page-cta{padding:65px 5%;text-align:center;background:#1c2820}.page-cta p{color:#c5cec1;line-height:1.8}.page-cta .btn{margin:10px 5px}@media(min-width:651px) and (max-width:1150px){.header{height:auto;min-height:84px;flex-wrap:wrap;gap:20px;padding-top:18px;padding-bottom:18px}.header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.header-call{margin-left:auto}}@media(max-width:650px){.detail-grid{grid-template-columns:1fr}.page-heading{padding-top:40px}.detail-wrap{padding:45px 5%}.header nav{gap:24px}.header nav a{font-size:12px}}

/* Dog photo gallery */
.dog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:55px 5%;max-width:1400px;margin:auto}.dog-photo{background:var(--panel);color:var(--cream);border:1px solid #46523e;padding:0;cursor:zoom-in;text-align:left}.dog-photo:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.dog-crop{display:block;overflow:hidden;position:relative;width:100%;background:#000}.dog-crop img{position:absolute;left:0;top:var(--photo-top);width:100%;height:auto;max-width:none}.photo-label{display:block;padding:16px;font-size:11px;letter-spacing:1px;color:var(--gold)}.photo-modal{background:#0b120e;color:var(--cream);border:1px solid var(--gold);padding:14px;width:min(600px,90vw);max-height:92vh;overflow:auto}.photo-modal::backdrop{background:#000d}.photo-modal .dog-crop{width:min(100%,65vh)}.photo-close{display:block;margin:0 0 12px auto;padding:10px 18px;background:var(--gold);border:0;cursor:pointer}.photo-caption{font-size:14px;line-height:1.6}.header nav{gap:12px}@media(max-width:900px){.dog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.dog-grid{grid-template-columns:1fr;max-width:500px}.header nav{gap:24px}}

/* Friends of Tripple B */
.friends-dropdown{position:relative}.friends-dropdown summary{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;list-style:none}.friends-dropdown summary::after{content:" ▾";color:var(--gold)}.friends-dropdown summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.friends-menu{position:absolute;right:0;top:calc(100% + 14px);width:260px;padding:12px;background:#111a13;border:1px solid var(--gold);box-shadow:0 12px 24px #0008;z-index:20}.friends-menu a{display:block;padding:14px 10px;line-height:1.5}.friend-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1100px;margin:60px auto;padding:0 5%;gap:50px;align-items:center;scroll-margin-top:30px}.friend-logo{background:#000}.friend-logo img{display:block;width:100%;height:auto}.friend-copy h2{font-size:clamp(40px,5vw,68px);line-height:1.05;margin:20px 0}.friend-copy p{line-height:1.8;color:var(--muted)}@media(min-width:651px){.header{height:auto;min-height:84px;flex-wrap:wrap;gap:18px;padding-top:18px;padding-bottom:18px}.header nav{order:3;flex-wrap:wrap;width:100%;justify-content:center;gap:22px}.header-call{margin-left:auto}}@media(max-width:650px){.friends-dropdown summary{font-size:12px}.friends-menu{position:static;width:100%;margin-top:16px;box-shadow:none}.friend-card{grid-template-columns:1fr;gap:25px;margin:35px auto}.header nav{max-height:calc(100svh - 72px);overflow:auto}}

/* Keep the homepage photo as one image at every screen size. */
.hero-photo{background-repeat:no-repeat;background-size:max(100%,112vh) auto;background-position:58% 50%}
@media(max-width:650px){.hero-photo{background-size:auto 240%;background-position:65% 50%;background-repeat:no-repeat}}
