:root{--green:#103b2b;--green2:#1e5a40;--lime:#c7ef7b;--cream:#f2f1e7;--ink:#101712;--muted:#71796f;--line:rgba(16,23,18,.14);--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.bpbar{height:38px;background:#0a1711;color:white;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-size:9px;font-weight:900;letter-spacing:.13em}.bpbar button{border:0;background:var(--lime);padding:7px 11px;border-radius:999px;font-size:9px;font-weight:900}
header{height:82px;padding:0 max(20px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:rgba(242,241,231,.93);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font-size:13px;letter-spacing:.1em}.brand small{font-size:8px;letter-spacing:.16em;color:var(--muted);margin-top:3px}.crest{width:46px;height:46px;border-radius:50%;background:var(--green);color:var(--lime);display:grid;place-items:center;font-weight:900;font-size:11px}nav{display:flex;gap:25px;align-items:center;font-size:12px;font-weight:800}.tee{background:var(--green);color:white;padding:12px 16px;border-radius:999px}.menu{display:none;width:42px;height:42px;border-radius:50%;background:transparent;border:1px solid var(--line)}
.hero{min-height:700px;background:var(--green);color:white;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:hidden}.contours{position:absolute;inset:0;opacity:.18;background-image:repeating-radial-gradient(ellipse at 72% 50%,transparent 0 34px,rgba(199,239,123,.25) 35px 36px,transparent 37px 64px)}.hero-copy{position:relative;z-index:2;padding:100px 20px 90px max(20px,calc((100vw - var(--max))/2))}.eyebrow,.label{font-size:9px;letter-spacing:.17em;font-weight:900;color:#748076}.eyebrow{color:var(--lime)}.hero h1{font-family:Georgia,serif;font-size:clamp(60px,7vw,100px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:16px 0 25px}.hero h1 em{font-style:italic;color:var(--lime)}.hero p{max-width:540px;color:rgba(255,255,255,.66);line-height:1.7;font-size:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}.btn{min-height:49px;border-radius:999px;padding:0 21px;display:inline-flex;justify-content:center;align-items:center;font-size:11px;font-weight:900;border:0;cursor:pointer}.primary{background:var(--lime);color:var(--green)}.outline{border:1px solid rgba(255,255,255,.38);color:white}.dark{background:var(--green);color:white}
.scorecard-wrap{position:relative;z-index:2;display:grid;place-items:center;padding:70px max(20px,calc((100vw - var(--max))/2)) 70px 25px}.scorecard{width:min(520px,100%);background:#f8f8ef;color:var(--ink);padding:24px;border-radius:20px;box-shadow:0 30px 75px rgba(0,0,0,.2);transform:rotate(2deg)}.score-top,.score-footer{display:flex;justify-content:space-between;align-items:center}.score-top{padding-bottom:18px;border-bottom:2px solid var(--green);font-size:11px;letter-spacing:.1em}.score-top strong{font-family:Georgia,serif;font-size:18px}.hole-row{display:grid;grid-template-columns:58px repeat(9,1fr);align-items:center;border-bottom:1px solid #d9d9cf;min-height:45px;font-size:9px}.hole-row span{font-weight:900}.hole-row b{text-align:center;font-weight:700}.hole-row.header{background:#ecede3;margin-top:15px;border-radius:8px}.score-footer{padding-top:18px;font-size:10px}.weather-card{position:absolute;right:6%;bottom:65px;background:var(--lime);color:var(--green);border-radius:18px;padding:18px 20px;width:190px;box-shadow:0 18px 45px rgba(0,0,0,.18);transform:rotate(-4deg)}.weather-card small{font-size:8px;letter-spacing:.15em;font-weight:900}.weather-card strong{font-family:Georgia,serif;font-size:45px;display:block;margin:4px 0}.weather-card span{font-size:10px;font-weight:700}.flag{position:absolute;right:18px;bottom:17px;width:28px;height:42px;border-left:2px solid var(--green)}.flag i{position:absolute;top:0;left:0;width:22px;height:12px;background:var(--green);clip-path:polygon(0 0,100% 50%,0 100%)}
.quick{display:grid;grid-template-columns:repeat(4,1fr);background:#0e281f;color:white}.quick a{padding:23px 26px;border-right:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.quick span{color:var(--lime);font-size:9px}.quick strong{font-size:12px}.quick b{font-size:18px}
.section{width:min(var(--max),calc(100% - 40px));margin:auto}.course{padding:110px 0;display:grid;grid-template-columns:.82fr 1.18fr;gap:75px;align-items:center}.course h2,.heading h2,.event-band h2,.contact h2,.modal-card h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.02;font-size:clamp(42px,5vw,68px);margin:10px 0 22px}.course p,.heading p{color:var(--muted);line-height:1.7;margin:0}.course-graphic{height:480px;background:#dfe6c9;border-radius:26px;position:relative;overflow:hidden}.course-graphic:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,59,43,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(16,59,43,.05) 1px,transparent 1px);background-size:35px 35px}.fairway{position:absolute;background:#7fb779;border-radius:50%}.fw1{width:95px;height:360px;left:18%;top:58px;transform:rotate(-15deg)}.fw2{width:105px;height:330px;left:46%;top:78px;transform:rotate(18deg)}.fw3{width:90px;height:290px;right:13%;top:48px;transform:rotate(-8deg)}.green{position:absolute;width:90px;height:58px;border-radius:50%;background:#5e9b64;box-shadow:0 0 0 8px rgba(255,255,255,.23)}.g1{left:9%;top:46px}.g2{left:55%;bottom:38px}.g3{right:6%;top:34px}.pin{position:absolute;color:var(--green);font-size:30px}.p1{left:18%;top:48px}.p2{left:64%;bottom:44px}.p3{right:14%;top:34px}
.rates{padding-bottom:110px}.heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:28px}.heading p{max-width:310px}.rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rate{background:white;border:1px solid rgba(16,23,18,.08);border-radius:22px;padding:26px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}.rate small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.rate strong{font-family:Georgia,serif;font-size:46px;font-weight:500}.rate span{font-size:11px;color:var(--muted);line-height:1.5}
.event-band{background:#0d2119;color:white;padding:100px 0}.event-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.light{color:rgba(255,255,255,.42)}.event-band h2{max-width:700px}.event-band p{color:rgba(255,255,255,.55);line-height:1.7;max-width:530px}.event-ticket{justify-self:end;width:min(390px,100%);background:var(--lime);color:var(--green);border-radius:24px;padding:30px;display:flex;flex-direction:column;transform:rotate(3deg);box-shadow:0 25px 60px rgba(0,0,0,.2)}.event-ticket small{font-size:9px;letter-spacing:.14em;font-weight:900}.event-ticket strong{font-family:Georgia,serif;font-size:44px;font-weight:500;margin:18px 0}.event-ticket span{padding:9px 0;border-top:1px solid rgba(16,59,43,.15);font-size:11px}.event-ticket i{font-style:normal;font-weight:900;font-size:12px;margin-top:25px}
.details{padding:75px 0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.detail{padding:0 25px;border-right:1px solid var(--line)}.detail:first-child{padding-left:0}.detail:last-child{border-right:0}.detail small{font-size:9px;letter-spacing:.14em;color:var(--muted);display:block}.detail strong{font-family:Georgia,serif;font-size:42px;font-weight:500;margin-top:8px;display:block}
.contact{margin-top:100px;margin-bottom:40px;background:var(--green);color:white;border-radius:28px;padding:58px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact h2{font-size:64px;margin-bottom:14px}.contact p{color:rgba(255,255,255,.55)}.contact-links{display:flex;flex-direction:column;gap:10px;margin-top:34px}.contact-links a,.contact-links span{font-size:17px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}.contact input,.contact select{padding:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:white;border-radius:10px;outline:none}.contact select option{color:var(--ink)}.contact form .btn,.contact form small{grid-column:1/-1}.contact form small{color:rgba(255,255,255,.45);font-size:9px}
footer{width:min(var(--max),calc(100% - 40px));margin:auto;padding:45px 0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.modal{display:none;position:fixed;inset:0;z-index:100}.modal.active{display:grid;place-items:center}.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.modal-card{position:relative;z-index:2;background:var(--cream);border-radius:24px;width:min(540px,calc(100% - 30px));padding:40px}.modal-card>button{position:absolute;right:17px;top:17px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;font-size:20px}.modal-card p{color:var(--muted);line-height:1.65}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,100px);background:white;padding:12px 18px;border-radius:999px;box-shadow:0 15px 45px rgba(0,0,0,.18);z-index:120;font-size:11px;font-weight:900;transition:.3s}.toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;top:82px;left:15px;right:15px;background:var(--cream);padding:16px;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.12);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 25px 30px}.scorecard-wrap{padding:30px 25px 80px}.quick{grid-template-columns:1fr 1fr}.course,.event-grid,.contact{grid-template-columns:1fr}.rate-grid{grid-template-columns:1fr 1fr}.event-ticket{justify-self:start}.details{grid-template-columns:1fr 1fr;gap:25px}.detail{border-right:0;padding:0}.contact form{grid-template-columns:1fr}.contact form .btn,.contact form small{grid-column:1}}
@media(max-width:600px){.bpbar{padding:0 11px}.hero h1{font-size:57px}.scorecard{padding:15px}.hole-row{grid-template-columns:44px repeat(9,1fr);font-size:7px}.weather-card{position:relative;right:auto;bottom:auto;margin-top:-8px;justify-self:end}.quick{grid-template-columns:1fr}.section{width:calc(100% - 28px)}.course{padding:75px 0}.course-graphic{height:390px}.heading{flex-direction:column;align-items:flex-start}.rate-grid{grid-template-columns:1fr}.details{grid-template-columns:1fr 1fr}.contact{padding:36px 22px;margin-top:75px}.contact h2{font-size:50px}footer{width:calc(100% - 28px);flex-direction:column;align-items:flex-start;gap:22px}}

/* Mobile usability and photo presentation */
img{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}input,select,textarea{min-width:0}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.photo-panel{margin:0;position:relative;overflow:hidden;border-radius:24px;min-width:0}.photo-panel img{display:block;width:100%;height:100%;object-fit:cover}.photo-panel figcaption{position:absolute;bottom:0;left:0;right:0;padding:32px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;font:12px/1.6 Arial,sans-serif}.photo-panel figcaption small{display:block}.hero-visual.photo-panel,.scorecard-wrap.photo-panel{margin:40px 24px;min-height:0;height:560px;padding:0;display:block}.hero-art.photo-panel{margin-left:40px}.course-graphic.photo-panel:before{display:none}
@media(max-width:900px){.hero-visual.photo-panel,.scorecard-wrap.photo-panel{height:420px;margin:12px 20px 32px}.hero-art.photo-panel{margin:32px 0 0}.hero h1{overflow-wrap:normal}nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:600px){header{gap:12px;padding-left:14px;padding-right:14px}.menu{flex-shrink:0;width:44px;height:44px}.blackpine-bar,.bpbar{height:auto;min-height:48px;gap:8px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;letter-spacing:.04em}.blackpine-bar button,.bpbar button{min-height:44px}.hero h1{font-size:clamp(40px,12vw,57px);line-height:1}.hero-copy{min-width:0}.hero-visual.photo-panel,.scorecard-wrap.photo-panel{height:300px;margin:12px 14px 28px}.hero-art.photo-panel{height:300px}.course-graphic.photo-panel{height:300px}.photo-panel figcaption{font-size:11px}.contact,.contact-grid,.contact form,form,label{min-width:0}.contact a,.contact-links a{overflow-wrap:anywhere}.contact input,.contact select,input,select,textarea{font-size:16px;width:100%;min-height:48px}.btn,.pill{min-height:48px}.modal-card{max-height:calc(100dvh - 32px);overflow:auto;padding:40px 22px 24px}.modal-card>button{width:44px;height:44px;right:8px;top:8px}.toast{max-width:calc(100vw - 28px);width:max-content;text-align:center}.section h2,.modal-card h2{font-size:clamp(32px,9vw,48px)}.stats{gap:8px}.stat strong{font-size:22px}.stat span{font-size:10px}.contact form small,form>small{font-size:12px;line-height:1.6}.menu-tabs{flex-wrap:wrap}.menu-tabs button{min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.toast{visibility:hidden}.toast.show{visibility:visible}
