*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101112;color:#f1f0ed;font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.header{position:absolute;top:0;left:0;z-index:20;width:100%;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #ffffff32}.brand{font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:2px;line-height:.88;font-size:26px}.brand span{color:#b7ac9b}.brand small{display:block;font:600 9px 'DM Sans';letter-spacing:3.4px;margin-top:8px}.nav{display:flex;align-items:center;gap:35px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.3px}.nav a:hover,.text-link:hover{color:#d3b992}.nav-cta{border:1px solid #f0ebe2;padding:14px 18px}.menu{display:none}.hero{min-height:790px;height:90vh;max-height:1000px;position:relative;display:flex;align-items:center;background:#151515;overflow:hidden}.hero-img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:60% 35%;filter:brightness(.62) contrast(1.14) saturate(.74)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#090b0cea 0%,#0b0c0c9e 41%,#0b0b0c15 90%),linear-gradient(0deg,#101112bd,transparent 30%)}.hero-inner{position:relative;z-index:1;margin-left:max(6%,calc((100% - 1180px)/2));width:min(760px,80%);padding-top:60px}.eyebrow,.micro{color:#c6b9a4;font-size:10px;font-weight:700;letter-spacing:3px}.hero h1,h2,h3{font-family:'Barlow Condensed',sans-serif;line-height:.91;font-weight:800;letter-spacing:-.015em}h1{font-size:clamp(90px,13vw,190px);margin:24px 0}h1 em,h2 em{font-weight:500;color:#c3b29b;font-style:normal}.hero-inner p{max-width:445px;color:#e2e1dc;line-height:1.8;font-size:16px}.hero-buttons{display:flex;gap:13px;margin-top:36px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 24px;font-size:11px;font-weight:700;letter-spacing:1.6px;border:1px solid #eee;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-light{background:#eeece6;color:#161616}.btn-outline{background:transparent;color:#fff}.hero-foot{position:absolute;bottom:26px;left:6%;right:6%;z-index:1;font-weight:700;letter-spacing:2px;font-size:9px;display:flex;justify-content:space-between}.intro{padding:135px 0;display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro h2,.section-head h2,.about h2,.booking h2,.quote h2{font-size:clamp(58px,7vw,105px);margin:16px 0 25px}.intro p{max-width:540px;color:#bcbab5;font-size:17px}.portfolio{padding-bottom:140px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head p{max-width:270px;color:#aaa8a1}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:290px;gap:12px}.photo{position:relative;margin:0;overflow:hidden;background:#222}.photo img{height:100%;object-fit:cover;filter:contrast(1.08) saturate(.78);transition:transform .6s}.photo:hover img{transform:scale(1.04)}.photo.tall{grid-row:span 2}.photo.wide{grid-column:span 2}.photo figcaption{position:absolute;left:18px;bottom:17px;font-size:10px;letter-spacing:2px;font-weight:700;text-shadow:0 1px 10px black}.portfolio-footer{border-bottom:1px solid #444;padding:32px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:2px}.portfolio-footer a,.text-link{color:#d3b992}.quote{padding:150px 0;background:#1b1e1e}.quote h2{font-size:clamp(85px,12vw,170px)}.quote p{font-size:18px;color:#bbb}.services{padding:140px 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-grid article{padding:32px;background:#1c1d1d;min-height:315px;display:flex;flex-direction:column}.service-grid article>span{font-size:11px;color:#c3b29b}.service-grid h3{font-size:38px;margin:37px 0 12px}.service-grid p{color:#aaa;font-size:13px}.service-grid a{margin-top:auto;padding-top:25px;font-size:10px;letter-spacing:1.5px;font-weight:700}.galleries{padding:0 0 145px}.gallery-list{border-top:1px solid #414141}.gallery-list a{border-bottom:1px solid #414141;display:grid;grid-template-columns:150px 1fr 35px;gap:15px;padding:26px 8px;align-items:center}.gallery-list a:hover{background:#202222}.gallery-list span{color:#b5a894;font-size:10px;letter-spacing:2px}.gallery-list strong{font-size:16px;font-weight:500}.gallery-list b{text-align:right}.fine{color:#92928f;font-size:11px}.about{background:#e8e5df;color:#111}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding-top:110px;padding-bottom:110px}.about-pic{max-height:550px;overflow:hidden}.about-pic img{height:550px;object-fit:cover;filter:grayscale(1) contrast(1.25)}.about p{max-width:490px;color:#555;line-height:1.95}.about .micro{color:#7d6850}.booking{padding:145px 0;display:grid;grid-template-columns:.85fr 1.15fr;gap:7%}.booking-intro>p{max-width:370px;color:#a9a9a6}.mail{margin-top:45px;font-size:13px}.mail a{text-decoration:underline}.form-shell{background:#1c1e1e;padding:38px}.form-shell form{display:grid;gap:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:8px;font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:#bdbcb6}input,select,textarea{width:100%;min-width:0;background:#111312;border:1px solid #454646;color:#fff;padding:14px 12px;outline-offset:2px;border-radius:0;font-size:13px}input:focus,textarea:focus,select:focus{outline:1px solid #bead97}textarea{resize:vertical}.form-shell button{width:100%;border:0}.form-note{font-size:10px;color:#aaa;margin:0}.hidden{position:absolute;left:-9999px}footer{background:#090a0a;border-top:1px solid #333;padding-top:45px}.footer-row{display:flex;justify-content:space-between;gap:20px}.footer-row strong{display:block;font-family:'Barlow Condensed';font-size:28px;line-height:1}.footer-row span{font-size:9px;letter-spacing:2px;color:#aaa}.footer-row>div:last-child{display:flex;gap:20px;font-size:10px;letter-spacing:1px}.copyright{border-top:1px solid #292929;margin-top:40px;padding:18px 0;color:#777;font-size:9px;letter-spacing:1.5px}@media(max-width:850px){.header{height:80px}.menu{display:block;background:transparent;color:white;border:0;font-size:11px;letter-spacing:2px}.nav{display:none;position:absolute;top:80px;left:0;right:0;background:#131515;padding:25px 6%;flex-direction:column;align-items:stretch;gap:20px}.nav.open{display:flex}.hero{height:85vh;min-height:650px}.hero-inner{margin-left:6%}.intro{grid-template-columns:1fr;gap:10px}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:250px}.photo.tall{grid-row:span 2}.photo.wide{grid-column:span 2}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:240px}.about-grid,.booking{grid-template-columns:1fr}.about-pic img{height:350px}.about-grid{gap:36px}.section-head{align-items:start;flex-direction:column}.gallery-list a{grid-template-columns:90px 1fr 22px}.footer-row{flex-direction:column}}@media(max-width:540px){.wrap{width:calc(100% - 36px)}.hero-img{object-position:65%}.hero-overlay{background:linear-gradient(90deg,#0b0b0bd8,#0b0b0b58),linear-gradient(0deg,#101112c7,transparent 48%)}.hero-inner{width:89%}.hero h1{font-size:clamp(76px,18vw,118px)}.hero-inner p{font-size:14px}.hero-buttons{gap:8px}.btn{padding:15px 16px;gap:15px;font-size:10px}.intro,.services,.booking{padding-top:90px;padding-bottom:90px}.portfolio,.galleries{padding-bottom:90px}.quote{padding:100px 0}.quote h2{font-size:77px}.photo-grid{grid-auto-rows:200px;gap:7px}.photo figcaption{font-size:8px}.two{grid-template-columns:1fr}.form-shell{padding:22px}.portfolio-footer,.footer-row>div:last-child{flex-wrap:wrap}.gallery-list strong{font-size:13px}}
/* Updated sports portfolio */
.photo-grid .photo img{object-position:center 38%}.photo-grid .photo.tall img{object-position:center 30%}.hero-img{object-position:49% 48%} .photo-grid .photo{background:#1b1c1f}

.gallery-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:8px 0 25px}.gallery-search label{font-size:11px;letter-spacing:1.7px;color:#b6a48e;font-weight:700}.gallery-search input{flex:1;min-width:220px;padding:16px;color:#f7f2eb;background:#191a1a;border:1px solid #4b4b49;border-radius:0;font:inherit}.gallery-search input:focus{outline:1px solid #d2b899}.gallery-search span{font-size:12px;color:#bdb7ad}.gallery-entry[hidden]{display:none!important}.gallery-list a:hover{background:#202120}.gallery-list a:focus-visible{outline:2px solid #d2b899}
/* Galleries are revealed only after a matching search. */
.gallery-entry[hidden]{display:none !important;}
