:root{--ink:#193b32;--green:#153e35;--lime:#d7ed89;--muted:#63716a;--line:#dce1da;--paper:#fafbf8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.1}h1{font-size:clamp(3.4rem,6.6vw,6.3rem)}h2{font-size:clamp(2.2rem,3.6vw,3.3rem);margin-bottom:28px}h3{font-size:1.35rem;line-height:1.3;letter-spacing:-.03em}p{color:var(--muted);margin-bottom:20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #729d22;outline-offset:5px}a:hover{color:#527335}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(1360px,calc(100% - 80px));margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;font-size:17px;font-weight:600;white-space:nowrap;line-height:1.35}.brand small{display:block;font:10px/1.8 var(--sans);letter-spacing:.2em;margin-top:5px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{padding:11px 0;position:relative}.header nav a[aria-current]{color:#5e782b}.header nav a[aria-current]:after{content:'';position:absolute;bottom:2px;left:0;width:100%;height:2px;background:#79963f}.header-cta{font-size:14px;border:1px solid #aebbac;padding:11px 20px;border-radius:3px}.header-cta span{margin-left:24px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:70px;padding-block:70px 60px;align-items:center}.eyebrow{display:block;font-size:11px;letter-spacing:.17em;font-weight:600;margin-bottom:26px}.hero h1{margin-bottom:25px}.hero h1 em{font-weight:400;color:#6b873c}.hero p{max-width:440px;font-size:16px}.hero p.hero-lead{font-size:19px;color:var(--ink);margin-bottom:10px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}.hero-actions>span{font-size:12px;color:var(--muted);line-height:1.5}.hero-actions strong{color:var(--ink);font-weight:500}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--green);color:white;padding:17px 23px;font-size:14px;border:1px solid var(--green);border-radius:3px}.button:hover{background:#28584a;color:white}.button span{font-size:20px;line-height:1}.button.outline{background:transparent;color:var(--green);border-color:#a9b7a7}.button.lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.hero-visual{align-self:stretch;position:relative;background:#e5eadd;border-radius:180px 180px 6px 6px;min-height:540px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.portrait{width:100%;position:relative;z-index:1;object-fit:contain;object-position:bottom;margin-bottom:36px}.visual-label{position:absolute;z-index:2;top:55px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.24em}.orbit{position:absolute;width:460px;height:460px;border:1px solid #c6d2b9;border-radius:50%;left:50%;transform:translateX(-50%);top:96px}.orbit-two{width:570px;height:570px;top:42px}.portrait-caption{position:absolute;bottom:0;left:0;right:0;background:var(--green);z-index:2;color:white;display:flex;align-items:center;justify-content:space-between;padding:21px 27px;font:20px var(--serif)}.portrait-caption small{display:block;font:11px var(--sans);color:#becfc5;margin-top:8px}.golf-icon{font:32px var(--serif);color:var(--lime)}.benefits{display:flex;justify-content:space-between;gap:24px;padding:23px 0;border-block:1px solid var(--line);font-size:13px}.benefits strong{font:italic 17px var(--serif);color:#7a8c57;margin-right:17px}.section{padding-block:90px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading h2{margin:0}.section-heading .eyebrow{margin-bottom:15px}.text-link{font-size:14px;border-bottom:1px solid #8d9c80;padding-bottom:5px;white-space:nowrap}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:27px}.service{border-top:1px solid var(--line);padding-top:25px}.service p{font-size:14px;line-height:1.8}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;color:#8a977e;font:italic 18px var(--serif)}.service-icon{width:43px;height:43px;object-fit:contain}.story-section{background:#edf0e7;padding-block:80px}.story{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.story p{font-size:15px}.course-photo{position:relative;align-self:stretch;min-height:440px;overflow:hidden;border-radius:4px}.course-photo img{height:100%;width:100%;object-fit:cover}.course-photo>span{position:absolute;bottom:0;left:0;right:0;padding:25px;color:white;font-size:10px;letter-spacing:.2em;background:linear-gradient(transparent,#18392fe8)}.testimonials{display:grid;grid-template-columns:1.3fr 1fr;gap:65px}.testimonials figure{margin:0;border-top:1px solid var(--line);padding-top:20px}.quote-mark{font:65px var(--serif);color:#829a5a;line-height:1}.testimonials blockquote{margin:0 0 25px;font:19px/1.65 var(--serif)}figcaption{display:flex;gap:15px;align-items:center}figcaption img{width:46px;height:46px;border-radius:50%;object-fit:cover}figcaption strong{font-size:14px}figcaption small{display:block;font-size:12px;color:var(--muted)}.bag-section{padding:80px 0;background:#f0f2ec}.bag-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.bag-layout>img{max-height:500px;object-fit:contain;margin:auto}.bag-layout p{font-size:14px}.tag{font-size:11px;letter-spacing:.15em;border:1px solid #afbd9f;display:inline-block;padding:4px 12px;margin-bottom:22px}.bag-archive{margin-top:40px}.bag-archive details{border-top:1px solid #cfd7c9}.bag-archive summary{padding:20px 0;cursor:pointer;display:flex;justify-content:space-between}.bag-archive details[open] summary span{transform:rotate(45deg)}.cta{background:var(--green);border-radius:5px;padding:55px 60px;margin-block:75px;display:flex;align-items:center;justify-content:space-between;gap:60px;color:white}.cta h2{font-size:48px}.cta p{max-width:580px;color:#c1d0c7;margin-bottom:0}.cta .eyebrow{color:var(--lime);margin-bottom:18px}.cta .button{flex-shrink:0}footer{padding:30px max(56px,calc((100% - 1240px)/2));display:flex;flex-wrap:wrap;gap:30px;align-items:center;justify-content:space-between}footer>p{margin:0;font:italic 20px var(--serif)}footer>a:not(.brand){font-size:14px}.footer-bottom{flex-basis:100%;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:24px 0;font-size:12px;color:var(--muted)}.skip{position:fixed;top:-80px;left:10px;background:white;z-index:20;padding:10px}.skip:focus{top:10px}.page-intro{padding-block:65px 50px;border-bottom:1px solid var(--line)}.page-intro h1{margin-bottom:25px;max-width:900px}.page-intro p{max-width:660px;font-size:19px;margin-bottom:0}.page-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;padding-block:60px}.prose p{font-size:17px}.prose h2{font-size:32px;margin-top:35px}.prose img{max-height:400px;object-fit:contain;margin:30px auto}.prose img:first-child{float:right;max-width:38%;margin:0 0 25px 25px}.prose:after{content:'';display:block;clear:both}.prose a{border-bottom:1px solid #a5b294}.about-content{max-width:920px;margin:auto;padding:60px 0}.diplomas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.diplomas a{display:block;background:white;border:1px solid var(--line);padding:18px}.diplomas img{width:100%;height:200px;object-fit:contain}.diplomas span{display:block;font-size:13px;margin-top:12px}.partner{width:210px}.faq article{padding-bottom:27px;margin-bottom:30px;border-bottom:1px solid var(--line)}.faq h2{font-size:30px;letter-spacing:-.025em}.price-card{background:var(--green);color:white;padding:35px;align-self:start;position:sticky;top:25px;border-radius:4px}.price-card h2{font-size:32px}.price-card dl{margin:0}.price-card dl>div{padding:19px 0;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:20px;font-size:14px}.price-card dd{margin:0;white-space:nowrap;color:var(--lime)}.price-card .button{width:100%;margin-top:24px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-block:50px}.gallery a:first-child{grid-column:1/-1}.gallery img{width:100%;border-radius:4px}.gallery a:first-child img{max-height:650px;object-fit:cover}.gallery figcaption{font-size:13px;color:var(--muted);padding-top:10px}.gallery figure{margin:0}.contact-primary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:45px}.contact-primary a{padding:30px;border:1px solid var(--line);border-radius:3px}.contact-primary small{display:block;letter-spacing:.12em;font-size:11px;margin-bottom:12px}.contact-primary strong{font:clamp(1.2rem,2.4vw,2rem) var(--serif)}.contact-form{background:#edf0e7;padding:35px}.contact-form h2{font-size:32px}.contact-form label{display:block;margin:18px 0 6px;font-size:14px}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid #a9b9a6;border-radius:3px;background:#fcfdf9;color:var(--ink)}.contact-form textarea{resize:vertical;min-height:150px}.contact-form p{font-size:13px}.contact-form button{cursor:pointer;margin-top:14px}.map-link{display:inline-block;margin-top:15px;border-bottom:1px solid}.contact-address h2{font-size:32px}.contact-address img{margin-top:30px;border-radius:4px}.menu-toggle{background:none;border:1px solid var(--line);padding:8px 13px;border-radius:3px;color:var(--ink)}
@media(min-width:901px){.menu-toggle{display:none}}@media(max-width:1100px){.wrap{width:calc(100% - 70px)}.header{width:calc(100% - 50px);gap:20px}.header nav{gap:20px}.header-cta{display:none}.hero{gap:35px}.hero-visual{min-height:490px}.services{grid-template-columns:1fr 1fr;gap:35px}.story{gap:40px}.page-grid{gap:40px}}@media(max-width:900px){.header{height:auto;min-height:90px;flex-wrap:wrap;padding-block:20px}.header nav{width:100%;justify-content:center}.js .header nav{display:none}.js .header nav.open{display:flex}.hero{padding-block:45px}.hero-visual{min-height:430px}.visual-label{top:36px}.portrait{margin-bottom:50px}.hero-actions{gap:15px}.button{gap:20px;padding:15px 18px}.benefits{font-size:11px;gap:12px}.benefits strong{margin-right:7px}.cta{padding:40px}.testimonials{gap:35px}.page-grid{grid-template-columns:1fr}.price-card{position:static}.about-content{padding-inline:30px}.contact-primary{grid-column:1/-1}}@media(max-width:650px){.wrap{width:calc(100% - 40px)}.header{width:calc(100% - 40px)}.brand{font-size:15px;gap:12px}.header nav{justify-content:space-between;gap:10px;font-size:13px}.hero{grid-template-columns:1fr;gap:35px;padding-top:35px}.hero h1{font-size:4.15rem}.hero .eyebrow{font-size:10px}.hero-visual{height:470px;min-height:0;max-width:420px;width:100%;margin:auto;border-radius:150px 150px 4px 4px}.portrait{height:415px;width:auto;margin-bottom:30px}.visual-label{top:30px}.benefits{flex-wrap:wrap;gap:13px;font-size:12px;padding-block:20px}.benefits span{flex-basis:100%}.section{padding-block:55px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:20px}.services{grid-template-columns:1fr;gap:20px}.service h3{font-size:23px}.service p{font-size:16px}.service-top{margin-bottom:17px}.story{grid-template-columns:1fr;gap:35px}.story-section{padding-block:45px}.course-photo{min-height:280px;height:300px}.testimonials{grid-template-columns:1fr;gap:35px}.bag-layout{grid-template-columns:1fr;gap:20px}.bag-section{padding-block:50px}.bag-layout>img{max-height:350px}.cta{flex-direction:column;align-items:flex-start;padding:30px;margin-block:45px;gap:25px}.cta h2{font-size:40px}.cta .eyebrow{font-size:10px}.cta p{font-size:15px}footer{padding:20px;gap:25px}.footer-bottom{flex-wrap:wrap;font-size:11px}.footer-bottom span:first-child{flex-basis:100%}.page-intro{padding-block:40px}.page-intro h1{font-size:3.5rem}.page-intro p{font-size:17px}.page-grid{padding-block:35px;gap:30px}.about-content{padding:35px 0}.prose img:first-child{float:none;max-width:100%;margin:0 auto 25px}.diplomas{grid-template-columns:1fr 1fr;gap:12px}.diplomas a{padding:10px}.diplomas img{height:160px}.contact-primary{grid-template-columns:1fr;gap:14px}.contact-primary a{padding:22px}.contact-primary strong{font-size:26px}.contact-form{padding:25px}.gallery{grid-template-columns:1fr;padding-block:35px}.gallery a:first-child{grid-column:auto}.price-card{padding:28px}.eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Comfortable reading sizes, including secondary labels. */
.eyebrow,.visual-label,.brand small,.hero .eyebrow,.cta .eyebrow,.course-photo>span,.tag,.contact-primary small{font-size:12px}.service p,.story p,.bag-layout p{font-size:16px}.benefits,.hero-actions>span,.portrait-caption small,figcaption small,.footer-bottom,.diplomas span,.contact-form p{font-size:14px}.hero-actions{flex-wrap:wrap}.portrait-caption{gap:15px}@media(max-width:650px){.hero h1{font-size:clamp(3.1rem,13vw,4.15rem)}.eyebrow{letter-spacing:.1em}.hero .eyebrow{font-size:12px}.footer-bottom{font-size:14px}}
.hero-visual .portrait{position:absolute;bottom:58px;width:auto;max-width:100%;height:calc(100% - 155px);margin:0;object-fit:contain;object-position:bottom}.visual-label{top:42px}@media(max-width:650px){.hero-visual .portrait{bottom:54px;height:calc(100% - 125px)}.visual-label{top:30px}}

.brand-logo{width:56px;height:56px;object-fit:contain;flex-shrink:0}@media(max-width:650px){.brand-logo{width:48px;height:48px}.brand{gap:10px}}

/* Hero uses normal document flow so labels and portrait cannot overlap. */
.hero{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(30px,5vw,70px)}
.hero-copy{min-width:0}.hero h1{font-size:clamp(3rem,6vw,5.75rem);overflow-wrap:normal}
.hero-visual{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:center;min-height:0;height:auto;border-radius:4px;overflow:hidden;width:100%;max-width:none}
.visual-label{position:static;display:block;text-align:center;padding:28px 20px 16px;width:100%;line-height:1.5}
.hero-visual .portrait{position:static;display:block;width:min(100%,461px);height:auto;max-width:100%;margin:0;object-fit:contain}
.portrait-caption{position:static;width:100%;min-width:0;padding:21px 25px}.portrait-caption>span:first-child{min-width:0}
@media(max-width:850px){.hero{grid-template-columns:minmax(0,1fr);gap:35px}.hero-copy{max-width:620px}.hero h1{font-size:clamp(3rem,8vw,4.8rem)}.hero-visual{max-width:480px;margin-inline:auto}.hero-visual .portrait{width:min(100%,400px);height:auto}.visual-label{padding:24px 16px 12px}}
@media(max-width:400px){.hero h1{font-size:2.9rem}}

/* Balance the source portrait's transparent lower edge with space above the cap. */
.portrait-frame{width:min(100%,461px);padding-top:7.8%;display:flow-root;overflow:hidden}
.hero-visual .portrait-frame .portrait{width:100%;height:auto;margin:0 0 -13%;max-width:100%}
@media(max-width:850px){.portrait-frame{width:min(100%,400px)}}

.simulator-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:center;padding-block:60px}.simulator-photo{margin:0}.simulator-photo img{width:100%;height:auto;border-radius:4px}.simulator-photo figcaption{display:block;font-size:14px;color:var(--muted);padding-top:14px}.simulator-copy p{font-size:17px}.simulator-note{border-block:1px solid var(--line);padding-block:30px}.simulator-note h2{font-size:28px;margin-bottom:12px}.simulator-note p{margin-bottom:0}@media(max-width:850px){.simulator-section{grid-template-columns:1fr;gap:30px;padding-block:35px}.simulator-photo{max-width:520px;width:100%;margin-inline:auto}}

/* Consistent sans-serif typography across headings, captions and testimonials. */
:root{--serif:Arial,Helvetica,sans-serif}
h1,h2{font-weight:600;letter-spacing:-.045em}h1 em{font-style:normal;font-weight:600}.hero h1 em{font-weight:600}.testimonials blockquote{font-family:var(--sans)}.portrait-caption{font-family:var(--sans);font-weight:600}.portrait-caption small{font-weight:400}
.header nav{gap:22px}.header{gap:22px}@media(min-width:1101px) and (max-width:1300px){.header-cta{display:none}}
.technology-list{padding-block:60px}.technology-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:center;padding-block:40px;border-bottom:1px solid var(--line)}.technology-item:first-child{padding-top:0}.technology-preview{margin:0;background:#eef1e9;border-radius:4px;padding:25px}.technology-preview img{width:100%;height:340px;object-fit:contain}.technology-preview.sportsbox img{height:390px}.technology-preview figcaption{display:block;text-align:center;font-size:14px;color:var(--muted);margin-top:20px}.technology-item p{font-size:17px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form button:disabled{opacity:.65;cursor:wait}.contact-form .form-error{color:#9b251e}.contact-form .form-success{color:var(--green);font-weight:600}#form-status:empty{display:none}
@media(max-width:850px){.technology-item{grid-template-columns:1fr;gap:30px}.technology-preview img{height:280px}.technology-preview.sportsbox img{height:350px}}@media(max-width:650px){.header nav{flex-wrap:wrap;justify-content:flex-start;gap:10px 20px}}

.services{grid-template-columns:repeat(3,minmax(0,1fr))}.service{min-width:0}.partner{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;min-height:90px;margin:0 24px 16px 0}.partner img{width:210px;height:53px;max-width:100%;object-fit:contain}@media(max-width:1100px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.services{grid-template-columns:1fr}}

.simulator-section .simulator-photo{width:100%;max-width:none;margin:0}

.bag-current{max-width:940px}.bag-current dl{margin:24px 0 0}.bag-current dl>div{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid #cfd7c9}.bag-current dt{font-weight:600}.bag-current dd{margin:0;color:var(--muted)}@media(max-width:650px){.bag-current dl>div{grid-template-columns:1fr;gap:4px}}

.simulator-gallery-section{padding-block:40px 70px}.simulator-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 28px}.simulator-gallery .simulator-photo{width:100%;max-width:none;margin:0}.simulator-photo a{display:block}.simulator-photo a:hover{opacity:.92}@media(max-width:650px){.simulator-gallery{grid-template-columns:1fr;gap:28px}}
.testimonials{grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.testimonials small a{border-bottom:1px solid #a5b294}.simulator-specs{margin:30px 0 0;border-top:1px solid var(--line)}.simulator-specs>div{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--line)}.simulator-specs dt{font-weight:600}.simulator-specs dd{margin:0;color:var(--muted)}@media(max-width:1100px){.testimonials{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}@media(max-width:650px){.testimonials{grid-template-columns:1fr}}
.testimonials{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-initials{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--green);color:var(--lime);font-size:14px;font-weight:600;letter-spacing:.04em}@media(max-width:650px){.testimonials{grid-template-columns:1fr}}
