:root{--bg:#080808;--panel:#111;--text:#f7f7f7;--muted:#a5a5a5;--line:#262626;--accent:#e63b2e;--light:#f2efe8}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}
.nav-wrap{position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;background:linear-gradient(to bottom,rgba(0,0,0,.83),transparent)}
.logo{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.4px;font-size:1.7rem}.logo span{color:var(--accent)}
nav{display:flex;align-items:center;gap:28px;font-size:.88rem;font-weight:700}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:10px 16px;border-radius:999px}.menu-btn{display:none;background:none;border:0;color:white;font-size:1.6rem}
.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:120px 7vw 80px;background:url('images/football-quarterback.jpg') center 30%/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 48%,rgba(0,0,0,.08) 100%)}
.hero-content{position:relative;z-index:2;max-width:860px}.eyebrow{color:var(--accent);font-size:.75rem;letter-spacing:.23em;font-weight:800;margin-bottom:18px}
h1,h2,h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-weight:400;line-height:.95}h1{font-size:clamp(4.2rem,10vw,9rem);letter-spacing:-.025em}h1 span,h2 span{color:var(--accent)}
.hero-copy{max-width:620px;font-size:1.07rem;color:#ddd;margin:28px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border-radius:999px;font-weight:800;border:1px solid transparent;cursor:pointer}.primary{background:var(--accent);color:white}.ghost{border-color:rgba(255,255,255,.55);background:rgba(0,0,0,.18)}
.scroll-note{position:absolute;bottom:30px;right:5vw;z-index:2;color:#bbb;font-size:.7rem;letter-spacing:.18em}
.section{padding:110px 7vw}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:46px}.section-head h2,.about h2,.contact h2{font-size:clamp(3rem,7vw,6.4rem)}.section-head>p{color:var(--muted);max-width:390px}
.gallery{columns:3 280px;column-gap:14px}.gallery figure{position:relative;overflow:hidden;background:#191919;margin:0 0 14px;break-inside:avoid;min-height:310px}.gallery figure.tall{min-height:520px}.gallery figure.feature{min-height:600px}.gallery img{height:auto;min-height:inherit;transition:transform .55s ease,filter .55s ease}.gallery figure:hover img{transform:scale(1.025);filter:brightness(.78)}
figcaption{position:absolute;left:0;right:0;bottom:0;padding:25px;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(transparent,rgba(0,0,0,.82));opacity:0;transition:.3s}figure:hover figcaption{opacity:1}figcaption span{font-family:'Anton';font-size:1.9rem;text-transform:uppercase}figcaption small{color:#ddd}
.about{background:var(--light);color:#111}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}.about-copy{font-size:1.05rem}.about-copy p{margin-bottom:20px;color:#3f3f3f}.text-link{font-weight:800;border-bottom:1px solid #111;padding-bottom:3px}
.services{background:#0d0d0d}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:34px 26px 42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px}.service-grid span{color:var(--accent);font-size:.8rem}.service-grid h3{font-size:2.2rem;margin:35px 0 16px}.service-grid p{color:var(--muted);font-size:.93rem}
.pricing-card{margin-top:28px;border:1px solid var(--line);background:#121212;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;padding:38px;align-items:center}.pricing-card h3{font-size:clamp(3rem,6vw,5.4rem)}.pricing-card h3 small{display:block;font-family:'Inter',sans-serif;text-transform:none;font-size:.9rem;color:var(--muted);margin-top:10px}.pricing-details p{color:var(--muted);margin-bottom:14px}.pricing-details strong{color:white}.pricing-details .btn{margin-top:12px}
.photo-break{height:72vh;min-height:560px;position:relative;overflow:hidden}.photo-break:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.06))}.photo-break img{object-position:center 48%}.photo-break-copy{position:absolute;z-index:2;left:7vw;bottom:55px}.photo-break-copy p{font-size:.72rem;letter-spacing:.2em;font-weight:800}.photo-break-copy h2{font-size:clamp(3.5rem,8vw,7rem);margin-top:10px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-grid>div>p:not(.eyebrow){color:var(--muted);max-width:470px;margin:26px 0}.socials{display:flex;gap:18px;flex-wrap:wrap}.socials a{border-bottom:1px solid #555;padding-bottom:2px}
form{display:grid;gap:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#bdbdbd}input,select,textarea{width:100%;margin-top:8px;padding:14px 2px;background:transparent;color:white;border:0;border-bottom:1px solid #444;outline:none;font:inherit;border-radius:0}select option{color:#111}textarea{resize:vertical}.submit{border:0;width:max-content;margin-top:8px}
footer{border-top:1px solid var(--line);padding:35px 7vw;display:flex;align-items:center;justify-content:space-between;color:#999;font-size:.8rem}footer .logo{color:white}
@media(max-width:850px){nav{display:none;position:absolute;top:72px;right:5vw;left:5vw;background:#111;padding:24px;border:1px solid #2a2a2a;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu-btn{display:block}.section{padding:85px 6vw}.hero{padding-left:6vw;background-position:58% 30%}.section-head{display:block}.section-head>p{margin-top:14px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.service-grid{grid-template-columns:1fr 1fr}.photo-break{height:60vh}}
@media(max-width:620px){h1{font-size:3.8rem}.hero-copy{font-size:.95rem}.gallery{columns:1}.gallery figure,.gallery figure.tall,.gallery figure.feature{min-height:0}.gallery img{min-height:0}.gallery figcaption{opacity:1}.service-grid{grid-template-columns:1fr}.pricing-card{grid-template-columns:1fr;padding:28px}.field-row{grid-template-columns:1fr}footer{flex-direction:column;gap:14px;text-align:center}.scroll-note{display:none}}

.pricing-section{margin-top:70px}
.pricing-heading{max-width:760px;margin-bottom:32px}
.pricing-heading h2{font-size:clamp(3rem,6vw,5.5rem)}
.pricing-heading>p:last-child{color:var(--muted);margin-top:18px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.price-box{border:1px solid var(--line);background:#121212;padding:34px;min-height:350px;display:flex;flex-direction:column}
.price-box>span{color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.18em}
.price-box h3{font-size:clamp(2.8rem,5vw,4.7rem);margin:35px 0 22px}
.price-box h3 small{display:block;font-family:'Inter',sans-serif;text-transform:none;font-size:.82rem;color:var(--muted);margin-top:8px}
.price-box p{color:var(--muted);font-size:.93rem;margin-bottom:28px}
.text-price-link{margin-top:auto;font-weight:800;border-bottom:1px solid #555;width:max-content;padding-bottom:3px}
.featured-price{border-color:var(--accent)}
@media(max-width:850px){.pricing-grid{grid-template-columns:1fr}.price-box{min-height:280px}}

.booking-policy{background:#0b0b0b}
.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.policy-grid article{border:1px solid var(--line);background:#121212;padding:30px;min-height:250px}
.policy-grid article>span{color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.18em}
.policy-grid h3{font-size:2rem;margin:28px 0 14px}
.policy-grid p{color:var(--muted);font-size:.93rem}
.policy-grid strong{color:white}
.policy-check{display:flex;gap:12px;align-items:flex-start;letter-spacing:0;text-transform:none;line-height:1.5}
.policy-check input{width:auto;margin-top:4px;accent-color:var(--accent)}
.policy-check span{font-size:.82rem;color:#c8c8c8;font-weight:500}
.form-note{font-size:.78rem;color:#858585}
@media(max-width:850px){.policy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.policy-grid{grid-template-columns:1fr}}
