@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--bg:#141512;--panel:#1c1d19;--gold:#c4a36a;--text:#f1ede4;--muted:#a4a59b;--line:#ffffff1c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif;font-size:15px;line-height:1.7}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--gold);padding:10px;color:#111}.skip:focus{top:10px}header{position:fixed;top:0;left:0;width:100%;z-index:20;height:90px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;transition:.3s;border-bottom:1px solid #ffffff14;background:linear-gradient(#080a09a0,transparent)}header.scrolled{height:76px;background:#141512f2;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;font:600 25px 'Playfair Display',Georgia,serif;letter-spacing:3px}.crest{display:grid;place-items:center;width:42px;height:49px;border:1px solid var(--gold);border-radius:12px 12px 19px 19px;color:var(--gold);font:28px Georgia;box-shadow:inset 0 0 0 3px #141512,inset 0 0 0 4px var(--gold)}.brand small{display:block;letter-spacing:3px;font:8px 'DM Sans',sans-serif;margin-top:4px}nav{display:flex;align-items:center;gap:28px;font-size:10px;letter-spacing:1.5px}nav a{opacity:.8}nav a:hover{opacity:1;color:var(--gold)}.nav-book{background:transparent;border:1px solid #c4a36a80;color:var(--gold);padding:10px 16px;letter-spacing:1px;font-size:10px}#menu{display:none}.hero{height:100svh;min-height:700px;max-height:1100px;position:relative;display:flex;align-items:center;padding:120px 8% 110px;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/basmoen-hero.png') center/cover no-repeat;animation:hero-reveal 1.4s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080b09d9 0%,#080b0990 36%,#080b0910 72%),linear-gradient(0deg,#141512,transparent 30%)}.hero-copy{position:relative;z-index:1;max-width:650px;animation:rise 1s .2s both}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600;color:var(--gold);margin:0 0 25px}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.16;letter-spacing:-1.5px}h1{font-size:clamp(45px,5.1vw,80px);margin:0 0 24px}h1 em,h2 em{font-weight:500;color:var(--gold)}.hero-copy>p:not(.eyebrow){color:#d0d0c7;margin-bottom:35px}.gold{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 23px;background:var(--gold);border:1px solid var(--gold);color:#171812;font-size:11px;font-weight:700;letter-spacing:1.6px;transition:background .2s,transform .2s}.gold:hover{background:#d8b980;transform:translateY(-2px)}.gold span{font-size:21px;line-height:1}.hero-bottom{position:absolute;bottom:35px;left:8%;right:8%;display:flex;justify-content:space-between;gap:20px;z-index:1;padding-top:25px;border-top:1px solid #ffffff30;font-size:9px;letter-spacing:2px;color:#c6c9bc}.wrap{padding:100px 8%;max-width:1800px;margin:auto}h2{font-size:clamp(36px,3.6vw,56px);margin-bottom:24px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-head>div:last-child{max-width:390px;padding-bottom:20px;color:var(--muted)}.demo-note{font-size:10px;color:#94978a;line-height:1.6;letter-spacing:.2px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service{text-align:left;padding:0;border:0;background:none;color:var(--text)}.photo{height:330px;background-image:url('assets/basmoen-hero.png');background-size:auto 120%;background-repeat:no-repeat;filter:saturate(.65);transition:.5s}.p1{background-position:69% center}.p2{background-position:100% center}.p3{background-position:45% center}.service:hover .photo{filter:saturate(1);background-size:auto 127%}.service-text{padding:23px 0;border-bottom:1px solid var(--line)}.service-text>span{font-size:9px;letter-spacing:1.8px;color:var(--gold)}h3{font-weight:500}.service h3{font:28px 'Playfair Display',Georgia;margin:10px 0}.service i{float:right;font-family:Arial;color:var(--gold);font-style:normal}.service p{font-size:12px;color:var(--muted);margin:0}.experience{display:grid;grid-template-columns:1fr 1fr;background:#20211c}.experience-photo{min-height:660px;background:linear-gradient(0deg,#12151140,#12151120),url('assets/basmoen-hero.png') 68% center/cover}.experience-copy{padding:85px 15% 80px 12%}.experience-copy>p:not(.eyebrow){color:var(--muted);font-size:14px}.detail-row{display:flex;gap:22px;padding:20px 0;border-top:1px solid var(--line)}.detail-row>span{color:var(--gold);font-size:26px}.detail-row h3{font-size:15px;margin:0}.detail-row p{font-size:12px;color:var(--muted);margin:5px 0}.text-link{display:inline-block;font-size:10px;letter-spacing:1.5px;border-bottom:1px solid var(--gold);padding:10px 0;margin-top:10px;color:var(--gold)}.club{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-top:120px;padding-bottom:120px}.club>div>p:not(.eyebrow){color:var(--muted)}.club ul{list-style:none;margin:25px 0 35px;padding:0;font-size:13px;color:#d7d6cc}.club li{padding:7px 0}.club .demo-note{margin-top:20px;max-width:300px}.phone-stage{display:grid;place-items:center;position:relative;background:radial-gradient(ellipse,#c4a36a14,transparent 68%)}.phone{width:300px;background:#eeeee6;color:#20251e;border:8px solid #30332c;border-radius:37px;padding:20px;box-shadow:0 40px 80px #0008;transform:rotate(3deg);position:relative}.phone-top{display:flex;justify-content:space-between;font-size:10px;font-weight:bold;margin-bottom:22px}.phone-top span{font-size:8px}.app-brand{display:flex;align-items:center;gap:10px;border-bottom:1px solid #0002;padding-bottom:18px;margin-bottom:26px}.app-brand .crest{width:29px;height:34px;font-size:19px;box-shadow:none;border-color:#95825a;color:#95825a}.app-brand b{font-size:11px;letter-spacing:1px}.app-brand small{display:block;font-size:6px;color:#68705e;margin-top:3px}.phone .eyebrow{font-size:7px;letter-spacing:1px;margin-bottom:8px}.phone h3{font:30px/1.2 'Playfair Display',Georgia}.phone h3 em{color:#887249}.appointment{background:#233327;color:#fff;padding:20px 15px;position:relative;margin:20px 0;border-radius:4px}.appointment small{font-size:7px;letter-spacing:1.5px;color:#c4b88a}.appointment h4{font-size:15px;margin:8px 0 4px}.appointment p{font-size:8px;opacity:.7;margin:0}.appointment>span{position:absolute;right:10px;top:35px}.phone-label{display:flex;justify-content:space-between;font-size:9px;margin-bottom:12px}.phone-label span{opacity:.5;font-size:8px}.phone-services{display:flex;gap:8px}.phone-services button{border:1px solid #0002;background:transparent;border-radius:5px;flex:1;padding:15px 5px;font-size:23px;color:#5a634f}.phone-services b{display:block;font-size:8px;margin-top:8px}.phone-footer{font-size:7px;letter-spacing:1px;display:flex;justify-content:space-between;margin-top:30px;padding:15px 0 0;border-top:1px solid #0001}.phone-footer span{color:#8b763e}.phone-caption{font-size:8px;letter-spacing:2px;color:var(--gold);margin-top:35px}.steps{border-top:1px solid var(--line);padding-top:80px;padding-bottom:90px}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.step-grid>div{border-top:1px solid var(--line);padding-top:25px}.step-grid span{font:italic 33px Georgia;color:var(--gold)}.step-grid h3{font-size:15px;margin:15px 0 8px}.step-grid p{font-size:12px;color:var(--muted)}.location{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#22261f;max-width:none}.location p:not(.eyebrow){color:var(--muted);font-size:13px}.outline{color:var(--gold);background:transparent;border:1px solid var(--gold);font-size:10px;letter-spacing:1px;padding:15px 20px}footer.wrap{padding-top:65px;padding-bottom:30px}footer>p{color:var(--muted);margin-top:20px;font-family:Georgia;font-style:italic}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:40px;color:var(--muted);font-size:9px;letter-spacing:1px}.mobile-cta{display:none}dialog{background:#1c211b;color:var(--text);border:1px solid #a68a5360;padding:42px;max-width:540px;width:calc(100% - 32px);max-height:90svh;overflow:auto}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog h2{font-size:38px}.close{position:absolute;right:15px;top:10px;color:#ddd;background:none;border:0;font-size:30px}.dialog-intro{font-size:12px;color:var(--muted)}label{display:block;font-size:11px;color:#c7c9bf;letter-spacing:1px}input,select{display:block;width:100%;padding:12px;background:#10160f;color:var(--text);border:1px solid #ffffff25;border-radius:0;margin:8px 0 18px;color-scheme:dark}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form>.gold{width:100%;margin-top:10px}#summary{padding:20px;background:#c4a36a12;border:1px solid #c4a36a60;margin-top:20px;font-size:13px}#summary h3{color:var(--gold)}#summary p{margin-bottom:10px}@keyframes rise{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-reveal{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:900px){nav{gap:15px;font-size:8px}.brand{font-size:20px}.hero{min-height:650px}.service-grid{gap:15px}.photo{height:260px}.club{gap:30px}.experience-copy{padding:60px 10%}.experience-photo{min-height:580px}.wrap{padding-left:6%;padding-right:6%}}
@media(max-width:650px){header,header.scrolled{height:73px;padding:0 6%;background:#141512e8}.brand{font-size:20px}.brand small{font-size:6px}.crest{width:34px;height:42px;font-size:24px}#menu{display:block;border:0;background:none;color:var(--text);font-size:24px}nav{display:none;position:absolute;top:73px;left:0;right:0;padding:25px 6%;background:#141512;align-items:stretch;font-size:11px;gap:24px}nav.open{display:flex;flex-direction:column}.hero{height:90svh;min-height:640px;padding:120px 6% 120px;align-items:end}.hero-bg{background-position:65% center}.hero:after{background:linear-gradient(0deg,#141512 5%,#141512b0 45%,#14151210)}h1{font-size:44px}.hero-copy{max-width:100%}.hero-copy>p:not(.eyebrow){font-size:13px}.eyebrow{font-size:8px;letter-spacing:2px}.hero-bottom{left:6%;right:6%;bottom:25px;font-size:7px;letter-spacing:1px}.hero-bottom span:first-child{display:none}.wrap{padding-top:65px;padding-bottom:65px}h2{font-size:37px}.section-head{display:block;margin-bottom:25px}.section-head>div:last-child{font-size:13px;padding-bottom:0}.service-grid{grid-template-columns:1fr;gap:30px}.photo{height:320px;background-size:cover}.service:hover .photo{background-size:cover}.service h3{font-size:26px}.experience{grid-template-columns:1fr}.experience-photo{min-height:360px;background-position:68% center}.experience-copy{padding:55px 6%}.club{grid-template-columns:1fr;gap:45px}.phone{width:290px}.phone-stage{padding-top:15px}.step-grid{grid-template-columns:1fr 1fr;gap:25px}.location{display:block}.location h2{font-size:42px}.footer-bottom{flex-direction:column;gap:10px}footer.wrap{padding-bottom:100px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;z-index:15;background:#141512f5;border-top:1px solid var(--line);padding:12px 6%;gap:25px;font-size:9px;letter-spacing:1px}.mobile-cta button{flex:1;background:var(--gold);border:0;padding:12px 8px;font-size:9px;letter-spacing:1px;color:#131710}dialog{padding:30px 22px}.form-row{gap:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}


#team-login{width:min(420px,calc(100vw - 32px));padding:32px}#team-login h2{margin:0 0 24px;font-size:36px}#team-login-error:empty{display:none}#team-login-error{color:#efa69b;font-size:14px}

#status-modal{width:min(440px,calc(100vw - 32px));padding:32px}#status-modal h2{font-size:32px;margin:0 0 24px}#status-result:not(:empty){margin-top:20px}.status-item{padding:16px 0;border-top:1px solid #464638}.status-item strong{color:#ccb880}.status-item p{margin:8px 0}.status-item small{color:#b4b2a0}
