@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--ink:#11130f;--cream:#f2efe7;--paper:#fbfaf6;--green:#19352b;--line:rgba(17,19,15,.16)}
*{box-sizing:border-box}.ls-site{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);overflow:hidden}.ls-site a{text-decoration:none;color:inherit}.ls-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,76px);position:absolute;z-index:20;top:0;left:0;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.ls-brand{display:flex;flex-direction:column;line-height:1}.ls-brand strong{font:600 18px Manrope,sans-serif;letter-spacing:.06em}.ls-brand span{font-size:9px;letter-spacing:.3em;margin-top:7px;opacity:.72}.ls-nav{display:flex;gap:28px;font-size:12px;font-weight:600}.ls-nav a{opacity:.78}.ls-nav a:hover{opacity:1}.ls-menu-btn{display:none!important;background:none;border:0;padding:10px}.ls-menu-btn span{display:block;width:25px;height:1px;background:#fff;margin:7px}
.ls-hero{height:min(900px,100svh);min-height:720px;position:relative;background:#18221d;color:#fff;display:flex;align-items:flex-end;padding:0 clamp(22px,8vw,120px) clamp(58px,9vh,95px)}.ls-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 38%,rgba(255,255,255,.12),transparent 28%),linear-gradient(90deg,rgba(9,18,13,.93) 0%,rgba(9,18,13,.56) 47%,rgba(9,18,13,.18) 100%)}.ls-hero-copy{position:relative;z-index:2}.ls-eyebrow,.ls-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.28em;margin-bottom:20px}.ls-hero h1{font:500 clamp(64px,9vw,142px)/.8 Manrope,sans-serif;letter-spacing:-.065em;margin:0}.ls-hero p{font-size:13px;letter-spacing:.08em;margin:30px 0 35px;color:rgba(255,255,255,.78)}.ls-hero p i{padding:0 8px}.ls-primary{display:inline-flex;gap:35px;align-items:center;border:1px solid rgba(255,255,255,.5);padding:17px 21px;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.ls-photo-note{position:absolute;right:6vw;top:48%;font-size:9px;letter-spacing:.18em;opacity:.35;z-index:2}.ls-scroll{position:absolute;right:4vw;bottom:55px;font-size:8px;letter-spacing:.2em;z-index:2;writing-mode:vertical-rl}
.ls-intro{padding:110px max(22px,8vw) 80px;max-width:1050px}.ls-intro h2,.ls-next h2{font:500 clamp(48px,7vw,100px)/.9 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 28px}.ls-intro p{max-width:610px;font-size:18px;line-height:1.65;color:#54574f}
.ls-activities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ls-card{position:relative;min-width:0;border-right:1px solid var(--line);transition:.3s}.ls-card:last-child{border-right:0}.ls-card:hover{background:#f3f0e8}.ls-num{position:absolute;z-index:2;top:20px;left:22px;background:rgba(255,255,255,.88);padding:7px 9px;font-size:9px}.ls-card-photo{height:340px;background:#d7d7cf;display:grid;place-items:center;font-size:9px;letter-spacing:.16em;color:#777}.ls-card-copy{padding:36px 34px 45px}.ls-card-copy small{font-size:9px;letter-spacing:.17em}.ls-card-copy h3{font:500 clamp(38px,4vw,65px)/.86 Manrope,sans-serif;letter-spacing:-.055em;margin:16px 0 22px}.ls-card-copy p{font-size:13px;line-height:1.65;color:#66685f;min-height:64px}.ls-card-copy b{display:block;margin-top:32px;font-size:11px}
.ls-about{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--cream)}.ls-about-photo{background:#c9c9c0;display:grid;place-items:center;text-align:center;font-size:10px;letter-spacing:.18em;color:#777}.ls-about-copy{padding:110px clamp(35px,7vw,110px);align-self:center}.ls-about-copy h2{font:500 clamp(55px,6vw,92px)/.82 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 35px}.ls-about-copy p{font-size:14px;line-height:1.75;color:#66685f}.ls-about-copy .ls-lead{font-size:20px;color:#22251f}.ls-about-copy a{display:inline-block;margin-top:28px;font-size:11px;font-weight:700}
.ls-next{padding:120px max(22px,8vw)}.ls-next-empty{margin-top:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:.7fr 1.5fr 1fr;gap:30px;align-items:center}.ls-next-empty span,.ls-next-empty small{font-size:11px;color:#777}.ls-next-empty strong{font:500 22px/1.3 Manrope,sans-serif}
.ls-contact{background:var(--green);color:#fff;padding:120px max(22px,8vw)}.ls-contact h2{font:500 clamp(70px,10vw,150px)/.77 Manrope,sans-serif;letter-spacing:-.07em;margin:0 0 40px}.ls-contact p{color:rgba(255,255,255,.68);margin-bottom:35px}.ls-light{border-color:rgba(255,255,255,.4)}.ls-footer{padding:40px max(22px,8vw);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}.ls-footer strong{font:600 15px Manrope}.ls-footer span{font-size:9px;letter-spacing:.2em;text-align:center}.ls-footer small{text-align:right;color:#888}
@media(max-width:780px){
 .ls-header{height:72px;padding:0 20px}.ls-brand strong{font-size:15px}.ls-brand span{font-size:7px}.ls-menu-btn{display:block!important;position:relative;z-index:30}.ls-nav{display:none;position:absolute;top:0;left:0;width:100%;height:100svh;background:#13251e;padding:120px 25px 40px;flex-direction:column;gap:23px;font:500 28px Manrope}.ls-header.open .ls-nav{display:flex}
 .ls-hero{min-height:690px;height:100svh;padding:0 22px 62px}.ls-hero-bg{background:linear-gradient(0deg,rgba(9,18,13,.9),rgba(9,18,13,.2) 70%),radial-gradient(circle at 60% 35%,rgba(255,255,255,.12),transparent 30%)}.ls-hero h1{font-size:64px}.ls-hero p{font-size:10px;line-height:1.8;max-width:300px}.ls-photo-note{right:20px;top:37%}.ls-scroll{display:none}
 .ls-intro{padding:80px 22px 55px}.ls-intro h2,.ls-next h2{font-size:52px}.ls-intro p{font-size:15px}
 .ls-activities{display:block}.ls-card{display:block;border-right:0;border-bottom:1px solid var(--line)}.ls-card-photo{height:290px}.ls-card-copy{padding:28px 22px 40px}.ls-card-copy h3{font-size:50px}.ls-card-copy p{min-height:0}
 .ls-about{display:block}.ls-about-photo{height:480px}.ls-about-copy{padding:70px 22px}.ls-about-copy h2{font-size:58px}.ls-about-copy .ls-lead{font-size:18px}
 .ls-next{padding:85px 22px}.ls-next-empty{display:block}.ls-next-empty>*{display:block;margin:12px 0}.ls-next-empty strong{font-size:19px}
 .ls-contact{padding:90px 22px}.ls-contact h2{font-size:67px}.ls-footer{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:32px 22px}.ls-footer span,.ls-footer small{text-align:left}
}

/* v1.1 — photographic direction. Free stock previews from Pexels; replace personal portrait with Lorenzo's real photo. */
.ls-photo{background-position:center;background-size:cover;background-repeat:no-repeat}
.ls-photo-hero{background-image:linear-gradient(90deg,rgba(6,16,11,.86) 0%,rgba(6,16,11,.48) 43%,rgba(6,16,11,.12) 100%),url("https://images.pexels.com/photos/6256589/pexels-photo-6256589.jpeg?auto=compress&cs=tinysrgb&w=2400")}
.ls-photo-clinic{background-image:linear-gradient(0deg,rgba(10,20,14,.12),rgba(10,20,14,.03)),url("https://images.pexels.com/photos/6256755/pexels-photo-6256755.jpeg?auto=compress&cs=tinysrgb&w=1400")}
.ls-photo-proam{background-image:linear-gradient(0deg,rgba(10,20,14,.12),rgba(10,20,14,.03)),url("https://images.pexels.com/photos/6256828/pexels-photo-6256828.jpeg?auto=compress&cs=tinysrgb&w=1400")}
.ls-photo-lessons{background-image:linear-gradient(0deg,rgba(10,20,14,.12),rgba(10,20,14,.03)),url("https://images.pexels.com/photos/6256834/pexels-photo-6256834.jpeg?auto=compress&cs=tinysrgb&w=1400")}
.ls-about-photo{background:#c9c9c0}.ls-about-photo span{background:rgba(255,255,255,.78);padding:12px 16px}
@media(max-width:780px){.ls-photo-hero{background-position:62% center}.ls-photo-clinic,.ls-photo-proam,.ls-photo-lessons{background-position:center}}

/* v1.2 — motion */
.ls-reveal{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.ls-reveal.is-visible{opacity:1;transform:none}
.ls-motion-card{overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),background-color .35s}
.ls-motion-card .ls-card-photo{transform:scale(1.035);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.ls-motion-card .ls-card-copy h3,.ls-motion-card .ls-card-copy b{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ls-hero-copy>*{opacity:0;transform:translateY(22px);animation:lsHeroIn .8s cubic-bezier(.2,.7,.2,1) forwards}
.ls-hero-copy>*:nth-child(2){animation-delay:.12s}.ls-hero-copy>*:nth-child(3){animation-delay:.22s}.ls-hero-copy>*:nth-child(4){animation-delay:.32s}
.ls-photo-hero{animation:lsHeroZoom 9s ease-out both}
@keyframes lsHeroIn{to{opacity:1;transform:none}}
@keyframes lsHeroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(hover:hover) and (pointer:fine){
 .ls-motion-card:hover{transform:translateY(-10px);z-index:3}
 .ls-motion-card:hover .ls-card-photo{transform:scale(1.105);filter:contrast(1.04)}
 .ls-motion-card:hover .ls-card-copy h3{transform:translateX(8px)}
 .ls-motion-card:hover .ls-card-copy b{transform:translateX(8px)}
 .ls-primary{transition:background .3s,color .3s,transform .3s}.ls-primary:hover{background:#fff;color:#14251e;transform:translateY(-2px)}
}
@media(max-width:780px){
 .ls-motion-card{transform:none!important}
 .ls-motion-card .ls-card-photo{transform:scale(1.02)}
}
@media(prefers-reduced-motion:reduce){
 .ls-reveal,.ls-motion-card,.ls-motion-card *,.ls-hero-copy>*,.ls-photo-hero{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
