@font-face{font-family:Satoshi;src:url(../fonts/Satoshi-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../fonts/Satoshi-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../fonts/Satoshi-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../fonts/Satoshi-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../fonts/Satoshi-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(../fonts/Fraunces-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(../fonts/Fraunces-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--ink: #1c1810;--ink-soft: rgba(28, 24, 16, .64);--ink-faint: rgba(28, 24, 16, .4);--parchment: #f4efe1;--parchment-deep: #e8dfc6;--fairway: #0e1e17;--fairway-mist: #17281f;--fairway-line: rgba(163, 133, 77, .24);--fairway-line-soft: rgba(163, 133, 77, .13);--brass: #a3854d;--brass-bright: #ccab72;--claret: #7a3430;--cream: #f2ead7;--cream-soft: rgba(242, 234, 215, .7);--cream-faint: rgba(242, 234, 215, .42);--serif: "Fraunces", Georgia, serif;--sans: "Satoshi", sans-serif;--ease-slow: cubic-bezier(.22, 1, .36, 1);--glass: rgba(14, 30, 23, .8);--glass-strong: rgba(14, 30, 23, .94);--glass-line: rgba(204, 171, 114, .38);--glass-divider: rgba(242, 234, 215, .1);--radius-panel: 18px;--shadow-panel: 0 24px 48px -12px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .18);--tee-white: #f7f4ea;--tee-yellow: #f5c518;--tee-blue: #2f7fe0;--tee-red: #e2483d}*{margin:0;padding:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tp-dfwv{position:fixed!important;top:10px!important;right:10px!important;z-index:99999!important;pointer-events:auto!important}html,body{width:100%;height:100%;background:var(--fairway);font-family:var(--sans)}body{height:3000vh}body.orbit-mode .overlay,body.orbit-mode .point-content,body.orbit-mode .footer,body.orbit-mode .scroll-hint,body.orbit-mode .timeline-bar,body.orbit-mode .tee-selection,body.orbit-mode .presentation,body.orbit-mode .info{opacity:0!important;visibility:hidden;pointer-events:none!important}.webgl{position:fixed;inset:0;width:100%;height:100dvh;background:var(--fairway)}.labels{position:fixed;inset:0;overflow:hidden;pointer-events:none;contain:strict}.marker{position:absolute;top:0;left:0;width:0;height:0;pointer-events:none;will-change:transform,opacity}.marker__body{position:absolute;left:0;bottom:0;transform:translate(-50%,calc(var(--lift, 0px) * -1)) scale(.6);transform-origin:50% 100%;transition:transform .55s cubic-bezier(.34,1.56,.64,1)}.marker.is-visible .marker__body{transform:translate(-50%,calc(var(--lift, 0px) * -1)) scale(1)}.marker--hole .marker__body{display:flex;align-items:center;gap:.45rem;padding:4px 12px 4px 4px;margin-bottom:9px;border-radius:999px;background:linear-gradient(180deg,#17281ff5,#0e1e17f5);border:1px solid rgba(204,171,114,.55);box-shadow:0 10px 26px #00000061,0 0 0 4px #0e1e172e,inset 0 1px #ffffff14;color:var(--cream);white-space:nowrap}.marker--hole .marker__body:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;transform:translate(-50%) rotate(45deg);background:#0e1e17;border-right:1px solid rgba(204,171,114,.55);border-bottom:1px solid rgba(204,171,114,.55)}.marker__flag{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(145deg,#e0644f 0%,var(--claret) 100%);box-shadow:inset 0 1px #ffffff40}.marker__flag svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.marker__flag svg path:last-child{fill:#fff}.marker__num{font-family:var(--sans);font-size:1.15rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.marker__par{padding-left:.5rem;border-left:1px solid rgba(242,234,215,.22);font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright)}body.map-mode .marker--hole .marker__body{gap:.3rem;padding:3px 9px 3px 3px}body.map-mode .marker--hole .marker__flag{width:22px;height:22px}body.map-mode .marker--hole .marker__flag svg{width:13px;height:13px}body.map-mode .marker--hole .marker__num{font-size:1rem}body.map-mode .marker--hole .marker__par{display:none}body.map-mode .marker--hole .marker__body:hover .marker__par{display:block}body.map-mode .marker--hole .marker__body{pointer-events:auto;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .25s ease,border-color .25s ease}body.map-mode .marker--hole:hover{z-index:100000!important}body.map-mode .marker--hole .marker__body:hover{transform:translate(-50%,calc(-4px - var(--lift, 0px))) scale(1.12);background:var(--parchment);border-color:var(--brass);color:var(--ink)}body.map-mode .marker--hole .marker__body:hover:after{background:var(--parchment);border-color:var(--brass)}body.map-mode .marker--hole .marker__body:hover .marker__par{color:var(--claret);border-left-color:#1c181033}.marker__card{position:absolute;left:50%;bottom:calc(100% + 12px);display:none;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:160px;padding:.7rem .85rem .75rem;border-radius:14px;background:var(--glass-strong);border:1px solid var(--glass-line);box-shadow:var(--shadow-panel);color:var(--cream);text-align:left;white-space:nowrap;transform:translate(-50%);pointer-events:none}body.map-mode .marker--hole .marker__body:hover .marker__card{display:flex;animation:markerCardIn .25s var(--ease-slow)}.marker__card-name{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.15}.marker__card-meta{font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-bright)}.marker__card-distance{--tee: var(--tee-white);display:inline-flex;align-items:center;gap:.4rem;margin-top:.25rem;font-family:var(--sans);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.marker__card-distance[data-tee=yellow]{--tee: var(--tee-yellow)}.marker__card-distance[data-tee=blue]{--tee: var(--tee-blue)}.marker__card-distance[data-tee=red]{--tee: var(--tee-red)}.marker__card-dot{width:9px;height:9px;border-radius:50%;background:var(--tee);border:1.5px solid #fff}.marker__card-go{margin-top:.35rem;font-family:var(--sans);font-size:.62rem;font-weight:500;color:var(--cream-faint)}@keyframes markerCardIn{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.marker--tee{--tee: var(--tee-white);--tee-ink: var(--ink)}.marker--tee-yellow{--tee: var(--tee-yellow)}.marker--tee-blue{--tee: var(--tee-blue);--tee-ink: #fff}.marker--tee-red{--tee: var(--tee-red);--tee-ink: #fff}.marker--tee .marker__body{display:flex;align-items:center;margin-bottom:4px}.marker__dot{display:block;width:14px;height:14px;border-radius:50%;background:var(--tee);border:2.5px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--tee) 40%,transparent),0 4px 10px #00000059}.marker__tee-label{display:none}.marker--tee.is-selected .marker__body{gap:.4rem;padding:3px 10px 3px 3px;border-radius:999px;background:var(--tee);color:var(--tee-ink);box-shadow:0 8px 20px #00000059}.marker--tee.is-selected .marker__dot{width:16px;height:16px;animation:teePulse 2.2s ease-out infinite}.marker--tee.is-selected .marker__tee-label{display:block;font-family:var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}@keyframes teePulse{0%{box-shadow:0 0 #ffffffb3,0 4px 10px #00000059}70%{box-shadow:0 0 0 9px #fff0,0 4px 10px #00000059}to{box-shadow:0 0 #fff0,0 4px 10px #00000059}}.marker--bunker .marker__body{display:grid;place-items:center;width:24px;height:24px;margin-bottom:4px;border-radius:50%;background:linear-gradient(145deg,#f6e7c1,#dcc08a);border:2px solid #fff;box-shadow:0 5px 14px #00000052}.marker--bunker svg{width:15px;height:15px;fill:none;stroke:#8a6631;stroke-width:2.2;stroke-linecap:round}@media(max-width:640px){.marker--hole .marker__body{gap:.35rem;padding:3px 10px 3px 3px}.marker__flag{width:22px;height:22px}.marker__num{font-size:1rem}}@media(prefers-reduced-motion:reduce){.marker__body{transition:none}.marker--tee.is-selected .marker__dot{animation:none}}.hole-fade{position:fixed;inset:0;background:var(--fairway);opacity:0;pointer-events:none}.ui-layer{position:fixed;inset:0;z-index:100;pointer-events:none}.ui-layer *{pointer-events:auto}.overlay{--cue-accent: var(--brass-bright);--cue-muted: var(--cream-soft);position:absolute;inset:0;display:flex;opacity:1;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(120% 85% at 50% 0%,rgba(163,133,77,.14) 0%,transparent 55%),var(--fairway);color:var(--cream);text-align:center;z-index:999;overflow:hidden}.overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.4) 100%);pointer-events:none}.overlay:after{content:"";position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-size:180px 180px;pointer-events:none}.overlay__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2.75rem;width:min(88%,640px)}.overlay .title{width:100%;display:flex;flex-direction:column;align-items:center;gap:1.15rem;will-change:transform,opacity;animation:overlayTitleIn 1.35s var(--ease-slow) .15s both}.overlay .title__eyebrow{margin:0;font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.5em;text-transform:uppercase;padding-left:.5em;color:var(--brass)}.overlay .title__rule{display:block;width:min(52px,20vw);height:1px;background:linear-gradient(90deg,transparent 0%,var(--brass-bright) 50%,transparent 100%)}.overlay .title__name{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(2.3rem,6.5vw,4.2rem);letter-spacing:.01em;line-height:1.05;color:var(--cream);text-shadow:0 3px 30px rgba(0,0,0,.4)}.overlay .title__subtitle{margin:.5rem 0 0;max-width:38ch;font-family:var(--sans);font-size:clamp(.76rem,2vw,.9rem);font-weight:300;line-height:1.6;letter-spacing:.02em;text-align:center;color:var(--cream-soft)}.overlay.is-leaving{transition:opacity 1.3s var(--ease-slow)}body.intro-active .mode-toggle,body.intro-active .compass-container,body.intro-active .timeline-bar,body.intro-active .scroll-hint,body.intro-active .info{opacity:0!important;visibility:hidden;pointer-events:none!important;transition:opacity .6s ease,visibility .6s}.start-button{position:relative;display:inline-flex;align-items:center;gap:.9rem;padding:.55rem .6rem .55rem 1.6rem;border-radius:999px;border:1px solid rgba(204,171,114,.55);background:linear-gradient(180deg,#ccab7229,#ccab720a),#0e1e1799;color:var(--cream);font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 34px #00000059,inset 0 1px #ffffff14;opacity:0;transform:translateY(8px);transition:opacity .8s var(--ease-slow),transform .8s var(--ease-slow),background .35s ease,border-color .35s ease,box-shadow .35s ease}.start-button.is-ready{opacity:1;transform:translateY(0)}.start-button.is-ready:before{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid var(--brass-bright);opacity:0;animation:startHalo 2.8s ease-out 1.2s infinite;pointer-events:none}.start-button:disabled{cursor:default}.start-button__label{padding-left:.26em}.start-button__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,var(--brass-bright) 0%,var(--brass) 100%);color:var(--fairway);box-shadow:inset 0 1px #ffffff59;transition:transform .35s var(--ease-slow)}.start-button__icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.start-button.is-ready:hover,.start-button.is-ready:focus-visible{border-color:var(--brass-bright);background:linear-gradient(180deg,#ccab7247,#ccab721a),#0e1e17b3;box-shadow:0 18px 40px #0000006b,0 0 0 4px #ccab721f;outline:none}.start-button.is-ready:hover .start-button__icon,.start-button.is-ready:focus-visible .start-button__icon{transform:translate(3px)}@keyframes startHalo{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.18,1.5)}}@media(max-width:480px){.start-button{gap:.7rem;padding-left:1.2rem;font-size:.64rem;letter-spacing:.2em}.start-button__icon{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.start-button.is-ready:before{animation:none}}.skip-intro{position:fixed;right:clamp(16px,3vw,40px);bottom:clamp(16px,4vh,40px);z-index:1000;display:inline-flex;align-items:center;gap:.55rem;padding:.6rem .9rem .6rem 1.1rem;border-radius:999px;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--cream);font-family:var(--sans);font-size:.64rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s ease,transform .3s var(--ease-slow),visibility .3s,border-color .3s ease}body.intro-flying .skip-intro{opacity:1;visibility:visible;transform:translateY(0);transition-duration:.6s,.6s,.6s,.3s;transition-delay:.8s,.8s,.8s,0s}.skip-intro:hover,.skip-intro:focus-visible{border-color:var(--brass-bright);outline:none}.skip-intro svg{width:15px;height:15px;fill:none;stroke:var(--brass-bright);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.finale{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1.25rem;opacity:0;pointer-events:none!important}.finale.is-visible .finale__panel{pointer-events:auto}.finale:not(.is-visible) *{pointer-events:none!important}.finale__panel{width:min(460px,100%);padding:2rem 1.8rem 1.7rem;border-radius:22px;background:radial-gradient(120% 70% at 50% 0%,rgba(204,171,114,.16) 0%,transparent 60%),var(--glass-strong);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border:1px solid var(--glass-line);box-shadow:var(--shadow-panel),inset 0 1px #ffffff12;text-align:center;color:var(--cream);pointer-events:none;transform:translateY(var(--finale-shift, 16px))}.finale__eyebrow{display:inline-block;margin:0 0 .9rem;padding:.28rem .75rem;border-radius:999px;background:#ccab7229;border:1px solid rgba(204,171,114,.4);font-family:var(--sans);font-size:.56rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-bright)}.finale__title{margin:0 0 .7rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,4.5vw,2rem);font-weight:400;line-height:1.15}.finale__text{margin:0 auto 1.6rem;max-width:36ch;font-family:var(--sans);font-size:.84rem;font-weight:300;line-height:1.6;color:var(--cream-soft)}.finale__actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.finale__cta{display:inline-flex;align-items:center;gap:.9rem;padding:.5rem .55rem .5rem 1.5rem;border-radius:999px;background:linear-gradient(145deg,var(--brass-bright) 0%,var(--brass) 100%);color:var(--fairway);font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;box-shadow:0 14px 30px #00000059,inset 0 1px #ffffff59;transition:transform .3s var(--ease-slow),box-shadow .3s ease}.finale__cta:hover,.finale__cta:focus-visible{transform:translateY(-2px);box-shadow:0 18px 36px #0000006b,0 0 0 4px #ccab7233;outline:none}.finale__cta-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--fairway);color:var(--brass-bright)}.finale__cta-icon svg,.finale__button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.finale__secondary{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.finale__button{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border-radius:999px;border:1px solid var(--glass-divider);background:#f2ead70f;color:var(--cream-soft);font-family:var(--sans);font-size:.7rem;font-weight:500;cursor:pointer;transition:border-color .25s ease,color .25s ease,background .25s ease}.finale__button:hover,.finale__button:focus-visible{border-color:var(--glass-line);background:#ccab721f;color:var(--cream);outline:none}body.finale-active .scroll-hint,body.finale-active .timeline-bar{opacity:0!important;visibility:hidden;pointer-events:none!important}.scroll-indicator{position:absolute;bottom:clamp(1.35rem,4.5vh,2.75rem);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.85rem;width:min(88vw,320px);text-align:center;opacity:0;z-index:1;animation:scrollHintIn 1s ease 1.8s both}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:.7rem}.scroll-cue__line{display:block;width:1px;height:38px;background:linear-gradient(to bottom,var(--cue-accent),transparent);transform-origin:top;animation:cueGrow 3.2s var(--ease-slow) infinite}.scroll-indicator.is-prompting .scroll-cue,.scroll-hint.is-prompting .scroll-cue{animation:scrollCueInnerPulse 2.4s ease-in-out infinite}.scroll-cue__title{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(.95rem,2.6vw,1.1rem);letter-spacing:.01em;color:var(--cue-accent);line-height:1.2}.scroll-cue__action{margin:0;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--cue-muted);padding-left:.3em}.scroll-indicator__credit{margin:.35rem 0 0;font-family:var(--sans);font-size:.58rem;font-weight:400;letter-spacing:.08em;color:var(--cream-faint)}.scroll-indicator__credit a{color:inherit;text-decoration:none;font-weight:500;letter-spacing:.12em;transition:color .3s var(--ease-slow)}.scroll-indicator__credit a:hover,.scroll-indicator__credit a:focus-visible{color:var(--brass-bright);text-decoration:underline;text-underline-offset:.15em}@keyframes overlayTitleIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollHintIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes scrollCueInnerPulse{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@keyframes cueGrow{0%{transform:scaleY(0);opacity:0;transform-origin:top}40%{transform:scaleY(1);opacity:1;transform-origin:top}60%{transform:scaleY(1);opacity:1;transform-origin:bottom}to{transform:scaleY(0);opacity:0;transform-origin:bottom}}.scroll-hint{--cue-accent: var(--cream);--cue-muted: var(--cream-soft);position:fixed;bottom:clamp(1.35rem,4.5vh,2.75rem);left:50%;transform:translate(-50%) translateY(10px);display:flex;flex-direction:column;align-items:center;gap:.85rem;width:min(88vw,320px);text-align:center;opacity:0;visibility:hidden;z-index:1;pointer-events:none;transition:opacity .7s ease,transform .7s ease,visibility .7s}.scroll-hint.is-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.scroll-hint .scroll-cue__line{filter:drop-shadow(0 1px 8px rgba(0,0,0,.35))}.scroll-hint .scroll-cue__title{text-shadow:0 1px 14px rgba(0,0,0,.42)}.scroll-hint .scroll-cue__action{text-shadow:0 1px 12px rgba(0,0,0,.45)}.info{--info-gap-from-bar: 14px;--timeline-bar-left: 1.25rem;--timeline-bar-width: 28px;position:fixed;left:calc(var(--timeline-bar-left) + var(--timeline-bar-width) + var(--info-gap-from-bar));top:clamp(16px,3vw,40px);width:min(360px,calc(100vw - var(--timeline-bar-left) - var(--timeline-bar-width) - var(--info-gap-from-bar) - 16px));color:var(--cream);pointer-events:none;opacity:0;will-change:opacity,transform;z-index:8;font-variant-numeric:tabular-nums}.info__inner,.presentation__inner{position:relative;overflow:hidden;border-radius:var(--radius-panel);background:radial-gradient(120% 70% at 0% 0%,rgba(204,171,114,.12) 0%,transparent 60%),var(--glass);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);border:1px solid var(--glass-line);box-shadow:var(--shadow-panel),inset 0 1px #ffffff12}.info-card{display:flex;flex-direction:column}.info-card__header{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem .95rem}.info-card__hole{position:relative;flex-shrink:0;display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,#e0644f 0%,var(--claret) 100%);box-shadow:0 8px 18px #7a343073,inset 0 1px #ffffff40}.info-card__hole-num{font-family:var(--sans);font-size:1.65rem;font-weight:700;line-height:1;letter-spacing:-.02em;color:#fff}.info-card__flag{position:absolute;top:5px;right:5px;width:11px;height:11px;fill:none;stroke:#ffffffd9;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.info-card__flag path:last-child{fill:#ffffffd9}.info-card__hole-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.info-card__eyebrow{font-family:var(--sans);font-size:.58rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-bright)}.info-card__nom{margin:0;font-family:var(--serif);font-size:1.35rem;font-weight:400;font-style:italic;line-height:1.1;color:var(--cream);overflow-wrap:anywhere}.info-card__share{flex-shrink:0;align-self:flex-start;display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--glass-divider);background:#f2ead70f;color:var(--cream-soft);cursor:pointer;pointer-events:auto;transition:border-color .25s ease,color .25s ease,background .25s ease}.info-card__share:hover,.info-card__share:focus-visible{border-color:var(--glass-line);background:#ccab7224;color:var(--brass-bright);outline:none}.info-card__share svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.info-card__stats{flex-shrink:0;display:flex;flex-direction:column;gap:.3rem}.info-card__stat{display:flex;align-items:baseline;justify-content:space-between;gap:.45rem;min-width:64px;padding:.25rem .6rem;border-radius:999px;background:#f2ead714;border:1px solid var(--glass-divider)}.info-card__stat-label{font-family:var(--sans);font-size:.52rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cream-faint)}.info-card__stat-value{font-family:var(--sans);font-size:.9rem;font-weight:700;line-height:1;color:var(--cream)}.info-card__stat:first-child{background:#ccab7229;border-color:#ccab7266}.info-card__stat:first-child .info-card__stat-value{color:var(--brass-bright)}.info-card__desc-wrap{border-top:1px solid var(--glass-divider)}.info-card__desc-toggle{display:none}.info-card__description{margin:0;padding:.9rem 1.1rem;font-family:var(--sans);font-size:.78rem;font-weight:300;line-height:1.6;color:var(--cream-soft);white-space:pre-line}.info-card__distances{display:flex;flex-direction:column;gap:.2rem;padding:.7rem .7rem .8rem;border-top:1px solid var(--glass-divider)}.info-card__tee{--tee: var(--tee-white);display:grid;grid-template-columns:auto 3.4rem 1fr auto;align-items:center;gap:.6rem;padding:.35rem .45rem;border-radius:10px;border:1px solid transparent;transition:background .35s ease,border-color .35s ease,opacity .35s ease}.info-card__tee[data-tee=yellow]{--tee: var(--tee-yellow)}.info-card__tee[data-tee=blue]{--tee: var(--tee-blue)}.info-card__tee[data-tee=red]{--tee: var(--tee-red)}.info-card__tee-dot{width:10px;height:10px;border-radius:50%;background:var(--tee);border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 3px color-mix(in srgb,var(--tee) 30%,transparent)}.info-card__tee-label{font-family:var(--sans);font-size:.7rem;font-weight:500;color:var(--cream-soft)}.info-card__tee-bar{position:relative;height:4px;border-radius:999px;background:#f2ead714;overflow:hidden}.info-card__tee-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--pct, 0%);border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--tee) 55%,transparent),var(--tee))}.info-card__tee-value{min-width:3.4rem;font-family:var(--sans);font-size:.86rem;font-weight:700;color:var(--cream);text-align:right;font-variant-numeric:tabular-nums}.info-card__tee-unit{margin-left:.12em;font-size:.62rem;font-weight:400;color:var(--cream-faint)}.info-card.has-selection .info-card__tee:not(.is-selected){opacity:.55}.info-card__tee.is-selected{background:color-mix(in srgb,var(--tee) 16%,transparent);border-color:color-mix(in srgb,var(--tee) 55%,transparent)}.info-card__tee.is-selected .info-card__tee-label{font-weight:700;color:var(--cream)}.info-card__tee.is-selected .info-card__tee-value{font-size:.95rem}.presentation{--info-gap-from-bar: 14px;--timeline-bar-left: 1.25rem;--timeline-bar-width: 28px;position:fixed;left:calc(var(--timeline-bar-left) + var(--timeline-bar-width) + var(--info-gap-from-bar));top:clamp(16px,3vw,40px);width:min(360px,calc(100vw - var(--timeline-bar-left) - var(--timeline-bar-width) - var(--info-gap-from-bar) - 16px));color:var(--cream);pointer-events:none;opacity:0;will-change:opacity,transform;z-index:8}.presentation__inner{padding:1.25rem 1.3rem 1.35rem}.presentation-card{display:flex;flex-direction:column;gap:.6rem}.presentation-card__eyebrow{align-self:flex-start;margin:0;padding:.28rem .7rem;border-radius:999px;background:#ccab7229;border:1px solid rgba(204,171,114,.4);font-family:var(--sans);font-size:.56rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-bright)}.presentation-card__title{margin:.15rem 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.8vw,1.6rem);font-weight:400;line-height:1.15;color:var(--cream)}.presentation-card__text{margin:0;font-family:var(--sans);font-size:.82rem;font-weight:300;line-height:1.65;color:var(--cream-soft)}@media(max-width:640px){.presentation,.info{--timeline-bar-left: .65rem;--timeline-bar-width: 22px;--info-gap-from-bar: 12px}}@media(max-width:480px){.presentation,.info{top:12px;width:min(270px,calc(100vw - var(--timeline-bar-left) - var(--timeline-bar-width) - var(--info-gap-from-bar) - 64px))}.info__inner,.presentation__inner{border-radius:14px;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%)}.info__inner{pointer-events:auto}.presentation__inner{padding:.85rem .9rem .95rem}.presentation-card{gap:.4rem}.presentation-card__eyebrow{font-size:.5rem;letter-spacing:.2em}.presentation-card__title{font-size:1.1rem}.presentation-card__text{font-size:.74rem;line-height:1.5}.info-card__header{gap:.6rem;padding:.65rem .7rem}.info-card__hole{width:40px;height:40px;border-radius:11px}.info-card__hole-num{font-size:1.2rem}.info-card__flag{top:3px;right:3px;width:9px;height:9px}.info-card__eyebrow{font-size:.5rem;letter-spacing:.2em}.info-card__nom{font-size:.98rem}.info-card__stat{min-width:0;gap:.3rem;padding:.15rem .45rem}.info-card__stat-label{font-size:.46rem}.info-card__stat-value{font-size:.74rem}.info-card__desc-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:.45rem .75rem;border:none;background:transparent;font-family:inherit;font-size:.54rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-bright);cursor:pointer;-webkit-tap-highlight-color:transparent}.info-card__desc-chevron{display:block;width:.4rem;height:.4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .2s ease}.info-card__desc-wrap.is-expanded .info-card__desc-chevron{transform:rotate(-135deg) translateY(1px)}.info-card__desc-wrap.is-collapsed .info-card__description{display:none}.info-card__desc-wrap.is-expanded .info-card__description{display:block;padding:0 .75rem .6rem;font-size:.68rem;line-height:1.45}.info-card__distances{display:grid;grid-template-columns:repeat(2,1fr);gap:.15rem;padding:.45rem}.info-card__tee{grid-template-columns:auto 1fr auto;gap:.35rem;padding:.28rem .4rem;border-radius:8px}.info-card__tee-bar{display:none}.info-card__tee-dot{width:8px;height:8px;border-width:1.5px}.info-card__tee-label{font-size:.6rem}.info-card__tee-value,.info-card__tee.is-selected .info-card__tee-value{min-width:0;font-size:.72rem}.info-card__tee-unit{font-size:.52rem}}.timeline-bar{position:fixed;left:1.25rem;top:50%;transform:translateY(-50%);z-index:10;height:min(68vh,540px);width:28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease,visibility .6s ease}.timeline-bar.is-visible{opacity:1;visibility:visible;pointer-events:auto}.timeline-bar__track{position:relative;width:1px;height:100%;margin:0 auto;background:var(--fairway-line)}.timeline-bar__fill{position:absolute;top:0;left:0;width:100%;height:0%;background:linear-gradient(to bottom,var(--brass) 0%,var(--brass-bright) 100%);box-shadow:0 0 8px #ccab724d;will-change:height}.timeline-bar__markers{position:absolute;inset:0;pointer-events:none}.timeline-bar__marker{position:absolute;left:50%;top:var(--marker-pos, 0%);transform:translate(-50%,-50%);width:11px;height:1px;border:none;padding:0;background:#f2ead766;cursor:pointer;pointer-events:auto;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.timeline-bar__marker:hover{background:var(--brass-bright)}.timeline-bar__marker.is-passed{background:var(--brass)}.timeline-bar__marker.is-active{width:7px;height:7px;background:var(--brass-bright);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 8px #ccab728c}.timeline-bar__marker.is-active:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.15)}@media(max-width:640px){.timeline-bar{left:.65rem;height:min(58vh,420px);width:22px}.timeline-bar__marker{width:8px}.timeline-bar__marker.is-active{width:6px;height:6px}}.compass-container{position:fixed;bottom:1rem;right:1rem;backdrop-filter:blur(6px) saturate(115%);-webkit-backdrop-filter:blur(6px) saturate(115%);background:#0e1e178c;border-radius:50%;width:52px;height:52px;border:1px solid var(--fairway-line);z-index:10;cursor:pointer;overflow:hidden;opacity:.92;transition:transform .3s var(--ease-slow),box-shadow .3s ease,border-color .3s ease,opacity .3s ease;box-shadow:0 6px 18px #00000047}.compass-container:hover,.compass-container:focus-visible{transform:translateY(-1px);opacity:1;border-color:var(--fairway-line);box-shadow:0 10px 24px #00000052}.compass-container:after{content:"REVENIR AU DÉPART";position:absolute;bottom:112%;left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--sans);font-size:.56rem;font-weight:500;letter-spacing:.16em;color:var(--cream-soft);padding:.3rem .6rem;border:1px solid var(--fairway-line);background:#0e1e17d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}.compass-container:before{content:"";position:absolute;bottom:104%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#0e1e17d9;opacity:0;transition:opacity .25s ease}.compass-container:hover:after,.compass-container:hover:before,.compass-container:focus-visible:after,.compass-container:focus-visible:before{opacity:1}.compass-container:hover:after{transform:translate(-50%) translateY(-2px)}.compass-needle{width:100%;height:100%;display:block;transform-origin:center;transition:transform .08s linear}.compass-ring-outer{fill:none;stroke:var(--cream-faint);stroke-width:.7}.compass-direction{filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.compass-needle-north{fill:var(--brass-bright)}.compass-needle-south{fill:#f2ead74d}.compass-pivot{fill:var(--brass-bright)}@media(prefers-reduced-motion:reduce){.compass-container,.compass-container:after,.compass-container:before,.compass-needle{transition:none}.scroll-indicator,.scroll-indicator .scroll-cue,.scroll-indicator .scroll-cue__line,.scroll-hint .scroll-cue,.scroll-hint .scroll-cue__line{animation:none!important}.scroll-indicator{opacity:1;transform:translate(-50%)}}@media(pointer:fine){body:not(.tee-selection-pending),body:not(.tee-selection-pending) *{cursor:none!important}}#cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;background:var(--brass-bright);opacity:0;transform:translate(-50%,-50%);pointer-events:none;z-index:9999}body.tee-selection-pending{overflow:hidden}body.tee-selection-pending,body.tee-selection-pending *{cursor:auto!important}body.tee-selection-pending #cursor-dot{display:none}body.tee-selection-pending .scroll-indicator,body.tee-selection-pending .scroll-hint{opacity:0!important;visibility:hidden;pointer-events:none}.tee-selection{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#060d0a8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .5s ease,visibility .5s ease}.tee-selection.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.tee-selection__panel{width:min(420px,100%);padding:1.9rem 1.6rem 1.6rem;border-radius:22px;background:radial-gradient(120% 70% at 50% 0%,rgba(204,171,114,.14) 0%,transparent 60%),var(--glass-strong);border:1px solid var(--glass-line);box-shadow:var(--shadow-panel),inset 0 1px #ffffff12;text-align:center}.tee-selection__eyebrow{display:inline-block;margin:0 0 .8rem;padding:.28rem .75rem;border-radius:999px;background:#ccab7229;border:1px solid rgba(204,171,114,.4);font-family:var(--sans);font-size:.56rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-bright)}.tee-selection__title{margin:0 0 .45rem;font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,4vw,1.8rem);font-weight:400;color:var(--cream)}.tee-selection__subtitle{margin:0 0 1.4rem;font-family:var(--sans);font-size:.8rem;font-weight:300;line-height:1.5;color:var(--cream-soft)}.tee-selection__options{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.tee-selection__option{--tee: var(--tee-white);display:flex;align-items:center;gap:.75rem;padding:.8rem .9rem;border-radius:14px;border:1px solid var(--glass-divider);background:#f2ead70d;cursor:pointer;text-align:left;font-family:var(--sans);color:var(--cream);transition:background .25s ease,border-color .25s ease,transform .25s var(--ease-slow)}.tee-selection__option[data-tee=yellow]{--tee: var(--tee-yellow)}.tee-selection__option[data-tee=blue]{--tee: var(--tee-blue)}.tee-selection__option[data-tee=red]{--tee: var(--tee-red)}.tee-selection__option:hover:not(:disabled),.tee-selection__option:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tee) 70%,transparent);background:color-mix(in srgb,var(--tee) 14%,transparent);outline:none}.tee-selection__option.is-selected{border-color:var(--tee);background:color-mix(in srgb,var(--tee) 22%,transparent)}.tee-selection__option:disabled{cursor:default}.tee-selection__option:disabled:not(.is-selected){opacity:.45}.tee-selection__mark{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:var(--tee);border:2.5px solid #fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--tee) 30%,transparent),0 4px 10px #0000004d}.tee-selection__text{display:flex;flex-direction:column;gap:.15rem}.tee-selection__label{font-size:.9rem;font-weight:700}.tee-selection__length{font-size:.68rem;font-weight:400;color:var(--cream-faint);font-variant-numeric:tabular-nums}@media(max-width:420px){.tee-selection__options{grid-template-columns:1fr}}.loading-bar{position:absolute;left:50%;bottom:25px;transform:translate(-50%);width:min(220px,52vw);opacity:1;transition:opacity .6s ease}.loading-bar.ended{opacity:0;pointer-events:none}.loading-bar__track{height:1px;background:var(--fairway-line)}.loading-bar__fill{height:100%;width:100%;background:linear-gradient(90deg,var(--brass) 0%,var(--brass-bright) 100%);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease-slow);box-shadow:0 0 10px #ccab724d}@media(pointer:coarse),(hover:none){#cursor-dot{display:none}*{cursor:auto}}.mode-toggle{position:fixed;top:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px);z-index:1000;display:flex;gap:2px;padding:4px;border-radius:999px;border:1px solid var(--fairway-line);background:#0e1e178c;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);box-shadow:0 10px 24px #00000038;animation:modeToggleIn .9s var(--ease-slow) .6s both}.mode-toggle__option{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .95rem;border:0;border-radius:999px;background:transparent;color:var(--cream-soft);font-family:var(--sans);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background-color .35s var(--ease-slow),color .35s var(--ease-slow)}.mode-toggle__option:hover{color:var(--cream)}.mode-toggle__option:focus-visible{outline:1px solid var(--brass-bright);outline-offset:2px}.mode-toggle__option.is-active{background:var(--parchment);color:var(--ink)}.mode-toggle__icon{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mode-toggle__icon circle{fill:currentColor;stroke:none}.free-hint{position:fixed;left:50%;bottom:clamp(1.35rem,4.5vh,2.75rem);z-index:1000;max-width:min(88vw,720px);padding:.6rem 1.1rem;border-radius:999px;background:#0e1e1799;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cream);font-family:var(--sans);font-size:.75rem;letter-spacing:.04em;text-align:center;opacity:0;visibility:hidden;pointer-events:none!important;transform:translate(-50%) translateY(8px);transition:opacity .5s ease,transform .5s var(--ease-slow),visibility .5s}body:not(.orbit-mode) .free-hint{bottom:clamp(6.5rem,17vh,9rem)}.free-hint.is-visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}#cursor-dot{transition:width .2s ease,height .2s ease,opacity .2s ease}body.map-mode:has(.marker--hole:hover) #cursor-dot{width:14px;height:14px}@keyframes modeToggleIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.mode-toggle{top:12px;right:12px;flex-direction:column}.mode-toggle__option{padding:.6rem}.mode-toggle__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mode-toggle__icon{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){.mode-toggle{animation:none}}
