:root{font-family:Arial,Helvetica,sans-serif;color:#fffaf0;background:#111713;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer}button{border:0;background:transparent}a{text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #fff2c8;outline-offset:6px}button:disabled{cursor:default}[hidden]{display:none!important}#stage{height:100svh;position:relative;isolation:isolate;overflow:hidden}#ambience{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:blur(28px) brightness(.4);z-index:-5}.visual{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-3}#scene{z-index:-2}.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#06130b80,transparent 22%,transparent 73%,#06130b70);z-index:-1}header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:28px 4vw;gap:35px;z-index:10;border-bottom:1px solid #ffffff1a}.brand{text-align:left;font:24px Georgia,serif;letter-spacing:-.4px;padding:0}.brand span{display:block;font:9px Arial,sans-serif;letter-spacing:4px;margin-top:7px}nav{display:flex;align-items:center;gap:36px}nav a,nav button{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:2.2px;padding:10px 0;transition:opacity .2s}nav a:hover,nav button:hover{opacity:.65}.cloud-title{position:absolute;left:4vw;right:4vw;top:40%;text-align:center;opacity:0;pointer-events:none;text-shadow:0 3px 40px #2c391e55}.cloud-title>span{font-size:12px;letter-spacing:5px}.cloud-title h1{font:clamp(58px,9vw,140px)/1.12 Georgia,serif;font-weight:400;letter-spacing:-4px;margin:22px 0}.glass{background:linear-gradient(125deg,#ffffff26,#ffffff0c);border:1px solid #ffffff50;box-shadow:0 12px 48px #07120b26,inset 0 1px #ffffff25;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);border-radius:14px}.notice{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);padding:16px 22px;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 36px);width:max-content;animation:notice-in .7s both}.notice p{font-size:15px;line-height:1.45;margin:0}.notice-symbol{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffffff55;border-radius:50%;font-size:17px;flex-shrink:0}.notice.dismissed{opacity:0;transition:opacity .6s;pointer-events:none}.loading,.error,.resume{position:absolute;left:50%;top:64%;transform:translateX(-50%);padding:15px 24px;font-size:14px;z-index:20;text-align:center}.error{max-width:90vw;background:#392820cc}.error button{display:block;margin:10px auto 0;text-decoration:underline}.resume{top:60%}#markers{position:absolute;inset:0;pointer-events:none}#leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#leaders line{stroke:#fffbeb4a;stroke-width:1}.hole-pin{position:absolute;transform:translate(-50%,-50%);width:35px;height:35px;border-radius:50%;background:#111713cf;border:1px solid #ffffff38;box-shadow:0 4px 14px #0003;font:12px Arial,sans-serif;color:#d1d4c9;pointer-events:auto;animation:pin-in .45s both;animation-delay:var(--delay)}.hole-pin.active{background:#fffbed;color:#263125;border:1px solid #fff;box-shadow:0 0 0 7px #fffbed24,0 3px 25px #050d0770;z-index:2}.hole-pin.active:hover{box-shadow:0 0 0 11px #fffbed36,0 3px 25px #050d0770}.hole-pin.active::after{content:'EXPLORE';position:absolute;left:50%;top:45px;transform:translateX(-50%);font-size:9px;letter-spacing:2px;color:white;text-shadow:0 1px 7px #000}.hole-label{position:absolute;left:4vw;bottom:118px;display:flex;gap:16px;align-items:center;animation:notice-in .6s}.hole-label>span{font:52px Georgia,serif}.hole-label strong{display:block;font:18px Georgia,serif;font-weight:400}.hole-label small{display:block;font-size:10px;letter-spacing:3px;margin-top:8px}.transport{position:absolute;bottom:60px;left:4vw;right:4vw;display:flex;gap:20px;align-items:center}.transport button{font-size:12px;border:1px solid #ffffff40;padding:9px 15px;border-radius:24px}.transport input{flex:1;min-width:40px;accent-color:#fff5d9;cursor:ew-resize;height:24px}.transport>span{font-size:11px;min-width:35px}footer{position:absolute;bottom:19px;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#fffbe0b0}.review-links{display:flex;gap:10px;align-items:center}.review-links button{font-size:11px;padding:4px 0}.concept{font-size:9px;letter-spacing:2px}dialog{width:min(1080px,94vw);max-height:90svh;background:#14201b;color:#f9f7ed;border:1px solid #ffffff30;border-radius:16px;padding:35px;box-shadow:0 30px 100px #0007}dialog::backdrop{background:#07120be0;backdrop-filter:blur(10px)}dialog h2{font:36px Georgia,serif;line-height:1.2}.close{float:right;padding:8px 12px;border:1px solid #ffffff40;border-radius:20px}.eyebrow{font-size:11px;letter-spacing:3px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}figure{margin:0}figure img{width:100%;aspect-ratio:16/9;object-fit:cover}figcaption{font-size:11px;letter-spacing:1px;margin-top:14px}.reference-note{font-size:14px;line-height:1.6;color:#cbd1c5}.sources{display:flex;gap:24px;font-size:12px;text-decoration:underline}#stage[data-mode=hole] .notice{bottom:130px}#stage[data-mode=dive] .review-links{opacity:0;pointer-events:none}@keyframes pin-in{from{opacity:0;scale:.5}to{opacity:1;scale:1}}@keyframes notice-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@media(max-width:700px){header{padding:20px;display:block}.brand{font-size:21px}.brand span{font-size:8px}nav{justify-content:space-between;gap:16px;margin-top:20px}nav a,nav button{font-size:10px;letter-spacing:1.5px}.cloud-title{top:43%}.cloud-title h1{font-size:clamp(38px,11vw,56px);letter-spacing:-2px}.cloud-title>span{font-size:9px;letter-spacing:3px}.hole-pin{width:25px;height:25px;font-size:10px}.hole-pin.active::after{top:34px;font-size:8px;letter-spacing:1px}.notice{bottom:100px;width:calc(100vw - 46px);max-width:360px;padding:15px 18px}.notice p{font-size:14px}.transport{bottom:58px;gap:9px}.transport button{font-size:11px;padding:8px 10px}.hole-label{bottom:180px}.hole-label>span{font-size:38px}.hole-label strong{font-size:16px}.concept{font-size:7px;letter-spacing:1px}.review-links button{font-size:10px}.comparison-grid{grid-template-columns:1fr}dialog{padding:22px}.sources{flex-wrap:wrap}#stage[data-mode=hole] .notice{bottom:115px}}@media(prefers-reduced-motion:reduce){.hole-pin,.notice,.hole-label{animation:none}}

#featureScrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,20,13,.75),rgba(5,20,13,.22) 40%,transparent 70%);opacity:0;transition:opacity .45s}#feature{position:absolute;left:4vw;top:37%;width:min(330px,35vw);padding:26px;opacity:0;transform:translateX(-18px);transition:opacity .4s,transform .4s;pointer-events:none}#feature.visible,#featureScrim.visible{opacity:1}#feature.visible{transform:translateX(0)}#feature h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:12px 0}#feature p{font-size:14px;line-height:1.65;color:#e4e9df}#feature .eyebrow{font-size:9px;letter-spacing:.16em}@media(max-width:700px){#feature{top:auto;bottom:165px;left:5vw;width:90vw;padding:18px;box-sizing:border-box}#feature h2{font-size:24px;margin:8px 0}#feature p{margin:0;font-size:13px}#featureScrim{background:linear-gradient(0deg,rgba(5,20,13,.8),transparent 80%)}}

@media(max-width:700px){.hole-label{top:145px;bottom:auto;gap:10px}.hole-label>span{font-size:30px}.hole-label strong{font-size:14px}}

/* Restrained title handoff and a soft spring entrance for the exploration prompt. */
header{border-bottom:0;background:none}
.cloud-title{top:42%;text-shadow:0 2px 28px #10221730}
.cloud-title h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5.6vw,84px);font-weight:400;line-height:1.13;letter-spacing:-1.8px;margin:15px 0}
.cloud-title>span{font-size:10px;letter-spacing:3.8px;opacity:.8}
.notice{border-radius:26px;padding:17px 25px;gap:0;text-align:center;transform-origin:50% 100%;background:linear-gradient(125deg,#ffffff2b,#ffffff13);border-color:#ffffff52;box-shadow:0 10px 35px #07120b24,inset 0 1px #ffffff40;animation:prompt-spring .78s both}
.notice p{font-size:14px;letter-spacing:.05px}
.notice.dismissed{animation:none;opacity:0;translate:0 5px;scale:.98;transition:opacity .3s,translate .35s,scale .35s}
@keyframes prompt-spring{0%{opacity:0;translate:0 20px;scale:.9}48%{opacity:1;translate:0 -3px;scale:1.018}72%{translate:0 1px;scale:.996}100%{opacity:1;translate:0 0;scale:1}}
@media(max-width:700px){.cloud-title h1{font-size:clamp(38px,8vw,54px);letter-spacing:-1.2px}.cloud-title>span{font-size:9px;letter-spacing:3px}.notice{width:max-content;max-width:calc(100vw - 46px);padding:16px 23px}.notice p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.notice{animation:none}.notice.dismissed{translate:0;scale:1}}

#courseFocus{z-index:-1;opacity:0;pointer-events:none;transition:opacity 1.1s ease}#stage[data-mode=overview] #courseFocus{opacity:1}
#feature{width:34vw;max-width:550px;min-width:340px;top:30%;padding:32px;border-radius:22px;transform:translateX(-22px)}#feature[data-side=right]{left:auto;right:4vw;transform:translateX(22px)}#feature.visible{transform:translateX(0)}#feature h2{font-size:38px;margin:15px 0 22px}#feature p{font-size:16px;line-height:1.65}#feature .eyebrow{font-size:11px;letter-spacing:.14em}#featureScrim[data-side=right]{background:linear-gradient(270deg,rgba(5,20,13,.75),rgba(5,20,13,.22) 40%,transparent 70%)}
#teeYardages{display:grid;grid-template-columns:repeat(5,1fr);gap:12px 8px;margin:0 0 23px;padding:19px 0;border-top:1px solid #ffffff2a;border-bottom:1px solid #ffffff2a}.tee-distance small{display:block;font-size:12px;color:#e4e8dd;margin-bottom:7px}.tee-distance strong{font-size:24px;font-weight:400;font-variant-numeric:tabular-nums}.yardage-unit{grid-column:1/-1;font-size:9px;letter-spacing:.12em;color:#d3dccb}
@media(max-width:700px){#feature,#feature[data-side=right]{left:5vw;right:auto;top:auto;bottom:165px;width:90vw;min-width:0;max-width:none;padding:20px}#feature h2{font-size:28px;margin:10px 0 14px}#feature p{font-size:14px}#teeYardages{padding:12px 0;margin-bottom:14px}.tee-distance strong{font-size:21px}#featureScrim[data-side=right]{background:linear-gradient(0deg,rgba(5,20,13,.8),transparent 80%)}}

/* Subtle exterior dimming, without a visible boundary. */
#courseFocus{transition:opacity .25s ease}#stage[data-mode=overview] #courseFocus{transition-duration:1.4s}

.timeline-track{position:relative;flex:1;min-width:40px}.timeline-track input{display:block;width:100%;margin:0}.transport{bottom:76px}#timelineStops{position:relative;height:21px;margin:0 8px}#timelineStops button{position:absolute;left:var(--position);top:0;transform:translateX(-50%);border:0;border-radius:0;padding:5px 2px;font-size:11px;letter-spacing:.02em;color:#ffffffb0;white-space:nowrap}#timelineStops button::before{content:'';position:absolute;left:50%;top:-15px;width:5px;height:5px;border-radius:50%;background:#fff5dc;box-shadow:0 0 0 2px #26352dcc;pointer-events:none}#timelineStops button[aria-current=step]{color:#fffbed}#timelineStops button:hover{color:white}#timelineStops button:first-child{transform:none;left:0}#timelineStops button:first-child::before{left:0}#timelineStops button:last-child{transform:translateX(-100%)}#timelineStops button:last-child::before{left:100%}@media(max-width:700px){.transport{bottom:72px}#timelineStops button{font-size:10px}}

/* Editorial copy occupies the open landscape southeast of the routing. */
.overview-content{display:contents}.overview-copy{display:none}
#stage[data-mode=overview] .overview-content{display:flex;position:absolute;left:45%;right:7%;bottom:14svh;flex-direction:column;align-items:center;gap:28px;isolation:isolate}
#stage[data-mode=overview] .overview-content::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 36%,rgba(4,16,11,.55) 57%,rgba(4,16,11,.88) 100%);mask-image:linear-gradient(90deg,transparent 25%,#000 55%);-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000 55%)}
#stage[data-mode=overview] .overview-copy{display:block;animation:overview-in .8s both;text-shadow:none}
.overview-copy p{font-family:Didot,"Bodoni MT",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(18px,1.1vw,22px);line-height:1.6;color:#fffaf0;margin:0;text-wrap:pretty}.overview-copy p+p{margin-top:1em}
#stage[data-mode=overview] .notice{position:relative;inset:auto;transform:none;margin:0;flex-shrink:0;animation-delay:.15s}
@keyframes overview-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:900px){#stage[data-mode=overview] .overview-content{left:6%;right:6%;bottom:9svh;gap:20px}.overview-copy{max-height:32svh;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.overview-copy p{font-size:18px;line-height:1.55}#stage[data-mode=overview] .notice{padding:13px 20px}}
@media(max-height:700px) and (min-width:901px){#stage[data-mode=overview] .overview-content{left:45%;right:6%;bottom:11svh;gap:18px}.overview-copy{max-height:40svh;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.overview-copy p{font-size:18px;line-height:1.5}#stage[data-mode=overview] .notice{padding:12px 20px}}
@media(prefers-reduced-motion:reduce){#stage[data-mode=overview] .overview-copy{animation:none}}

#feature[data-kind=note] h2{margin:0 0 20px}#proNotesLabel{font-family:Didot,"Bodoni MT",Georgia,serif;font-style:italic;font-size:23px;margin-bottom:12px;color:#fffaf0}#feature[data-kind=note] p{font-family:Didot,"Bodoni MT",Georgia,serif;font-style:italic;font-size:21px;line-height:1.55;text-shadow:none}@media(max-width:700px){#proNotesLabel{font-size:20px}#feature[data-kind=note] p{font-size:18px}}

/* Layered reflections and translucent tint give the cards a polished glass surface. */
#feature.glass{background:radial-gradient(ellipse at 0 0,#ffffff24,transparent 62%),linear-gradient(135deg,#ffffff18,#ffffff08 48%,#ffffff16);border:1px solid #ffffff4a;border-top-color:#ffffff88;border-left-color:#ffffff60;border-radius:28px;backdrop-filter:blur(28px) saturate(155%);-webkit-backdrop-filter:blur(28px) saturate(155%);box-shadow:0 18px 55px #02120c30,0 3px 12px #02120c14,inset 0 1px 1px #ffffff65,inset 0 -1px 1px #ffffff22}
#feature::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#ffffff18,transparent 27%,transparent 75%,#ffffff0d);box-shadow:inset 1px 0 1px #ffffff20,inset -1px 0 1px #ffffff18}
#feature p{color:#f4f6ef}
#nextHole{position:absolute;top:calc(100% + 22px);right:0;display:flex;align-items:center;gap:22px;padding:16px 24px;border-radius:999px;font:14px Arial,sans-serif;background:linear-gradient(135deg,#ffffff30,#ffffff12);border:1px solid #ffffff60;box-shadow:0 10px 30px #02120c30,inset 0 1px 1px #ffffff80,inset 0 -1px 1px #ffffff24;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%);transition:background .2s,scale .2s;pointer-events:none}#feature.visible #nextHole{pointer-events:auto}#nextHole:hover{background:linear-gradient(135deg,#ffffff48,#ffffff22);scale:1.025}#nextHole:active{scale:.97}#nextHole span{font-size:18px}@media(max-width:700px){#feature.glass{border-radius:24px}#nextHole{top:calc(100% + 14px);padding:12px 21px}}

/* Hole 1 notes travel with the camera: distant, in focus, then past the viewer. */
#feature[data-presentation=spatial]{left:auto;right:9vw;top:32%;width:29vw;max-width:440px;min-width:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:none;opacity:0;transform-origin:50% 50%;transform:perspective(900px) translate3d(var(--note-x,0px),var(--note-y,0px),0) rotateY(var(--note-angle,0deg)) scale(var(--note-scale,1));filter:blur(var(--note-blur,0px));will-change:transform,filter,opacity}
#feature[data-presentation=spatial].visible{opacity:var(--note-opacity,1)}
#feature[data-presentation=spatial]::before{display:none}
#featureScrim[data-presentation=spatial]{background:linear-gradient(270deg,rgba(4,17,10,.78) 0%,rgba(4,17,10,.55) 23%,rgba(4,17,10,.18) 45%,transparent 68%);transition:opacity .18s}
#featureScrim[data-presentation=spatial].visible{opacity:var(--scrim-opacity,0)}
#feature[data-presentation=spatial] h2{font-size:46px;line-height:1.15;margin:0 0 9px;font-weight:400}
#feature[data-presentation=spatial] #proNotesLabel{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.2em;opacity:.65;margin:0 0 15px}
#feature[data-presentation=spatial] p{font:italic 25px/1.5 Didot,"Bodoni MT",Georgia,serif;margin:0;color:#fffaf0}
#feature[data-presentation=spatial] #nextHole{font-size:12px;padding:12px 18px;gap:16px;right:auto;left:0;top:calc(100% + 25px)}
@media(max-width:700px){#feature[data-presentation=spatial]{right:9vw;left:auto;top:auto;bottom:210px;width:78vw;max-width:360px}#feature[data-presentation=spatial] h2{font-size:36px}#feature[data-presentation=spatial] p{font-size:21px}#feature[data-presentation=spatial]::before{inset:-45px}}
@media(prefers-reduced-motion:reduce){#feature[data-presentation=spatial]{transform:none;filter:none;will-change:opacity}}

#feature[data-presentation=spatial][data-side=left]{left:9vw;right:auto}
#featureScrim[data-presentation=spatial][data-side=left]{background:linear-gradient(90deg,rgba(4,17,10,.78) 0%,rgba(4,17,10,.55) 23%,rgba(4,17,10,.18) 45%,transparent 68%)}

/* The opening tee keeps its facts in a quiet outlined frame. */
#feature[data-presentation=tee-outline]{top:27%;left:5vw;right:auto;width:34vw;max-width:510px;padding:28px 30px;background:none;border:1px solid #fffaf061;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#feature[data-presentation=tee-outline]::before{display:none}
#feature[data-presentation=tee-outline] h2{font:400 46px/1.12 Georgia,serif;margin:14px 0 24px}
#feature[data-presentation=tee-outline] p{font:italic 25px/1.5 Didot,"Bodoni MT",Georgia,serif;margin:0;color:#fffaf0;text-shadow:none}
#feature[data-presentation=tee-outline] .eyebrow{font-size:11px;letter-spacing:.16em;opacity:.8}
#feature[data-presentation=tee-outline] #teeYardages{border-top:0;padding-top:0}
@media(max-width:700px){#feature[data-presentation=tee-outline]{top:auto;bottom:165px;left:5vw;width:90vw;min-width:0;padding:20px}#feature[data-presentation=tee-outline] h2{font-size:32px;margin:12px 0 18px}#feature[data-presentation=tee-outline] p{font-size:20px;line-height:1.4}}
@media(max-height:750px) and (min-width:701px){#feature[data-presentation=tee-outline]{top:21%;padding:22px 26px}#feature[data-presentation=tee-outline] h2{font-size:36px;margin:12px 0 18px}#feature[data-presentation=tee-outline] p{font-size:21px}}

#feature[data-presentation=tee-outline][data-side=right]{left:auto;right:5vw}

/* Center each note just outside the image thirds, including contained-video margins. */
@media(min-width:701px){
#feature[data-presentation=spatial]{right:calc(50vw - min(50vw, 88.8889svh)*.4 - min(14.5vw, 220px))}
#feature[data-presentation=spatial][data-side=left]{left:calc(50vw - min(50vw, 88.8889svh)*.4 - min(14.5vw, 220px));right:auto}
}

#holePlayer{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:30;background:#07110c}
#stage[data-mode=hole]>header,#stage[data-mode=hole]>footer{display:none}
#stage[data-mode=loading-hole] #loading{z-index:40}
.powered-by{display:flex;align-items:center;gap:8px;opacity:.78}.powered-by span{font:11px Arial;letter-spacing:0}.powered-by img{width:110px;height:auto}.powered-by:hover,.powered-by:focus-visible{opacity:1}
@media(max-width:700px){.powered-by img{width:96px}.powered-by span{font-size:10px}}
/* Prevent focus transfer into the tour from scrolling the decorative overflow. */
#stage{overflow:clip}html,body{overflow:clip}

@media(max-width:699px){#stage>.visual{top:18svh;height:56.25vw;bottom:auto}#stage[data-mode=overview] .overview-content{bottom:9svh}.overview-copy{max-height:32svh}}
