:root{--ink:#172d20;--text:#516157;--green:#17693b;--bright:#b8efc4;--line:#dce3dd;--canvas:#f5f7f5;--white:#fff;--radius:28px;--max:1160px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;background:#fff;font-size:17px;line-height:1.55}html{scroll-behavior:smooth;scroll-padding-top:100px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #22864a;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(44px,6.3vw,84px);font-weight:650;letter-spacing:-.052em;line-height:1.07}h2{font-size:clamp(32px,4.3vw,56px);font-weight:630;letter-spacing:-.043em;line-height:1.12}h3{font-size:25px;line-height:1.22;letter-spacing:-.025em;font-weight:620}p{color:var(--text)}img{max-width:100%;display:block}button{border:0}strong{font-weight:630}.wrap{max-width:var(--max);margin:auto;width:calc(100% - 96px)}.skip{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,227,221,.7)}.nav{height:76px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:9px;font-size:26px;font-weight:700;letter-spacing:-1.2px;line-height:1}.brand img{width:30px;height:30px}.navlinks{display:flex;gap:30px;align-items:center;margin-left:auto;font-size:14px;font-weight:500}.navlinks a{min-height:44px;display:flex;align-items:center}.navlinks a[aria-current=page]{color:var(--green);box-shadow:inset 0 -2px var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;border-radius:99px;background:var(--green);color:#fff;font-size:16px;line-height:1.3;font-weight:550;text-align:center;transition:background .18s,box-shadow .18s}.btn:hover{text-decoration:none;background:#10522d;box-shadow:0 4px 14px #173d2020}.btn.small{min-height:42px;font-size:14px;padding:10px 18px;white-space:nowrap}.btn.outline{background:transparent;border:1px solid #9daf9f;color:var(--green)}.btn.outline:hover{background:#edf3ee}.btn.white{background:white;color:var(--ink)}.textlink{color:var(--green);font-weight:550;display:inline-flex;align-items:center;min-height:44px}.actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:28px}.center .actions{justify-content:center}.menu{display:none;margin-left:auto}.menu summary{list-style:none;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu nav{position:absolute;left:0;right:0;top:76px;background:white;padding:20px 28px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px #18382112;display:grid}.menu a{padding:13px 0}.menu[open] summary{color:var(--green)}.center{text-align:center}.hero{padding:78px 0 0;overflow:hidden}.hero .intro{max-width:650px;margin:24px auto 0;font-size:21px;line-height:1.5;letter-spacing:-.3px}.accent{color:var(--green)}.hero-stage{position:relative;max-width:1020px;margin:55px auto 0;padding:0 55px 0 0;text-align:left}.desktop{border:1px solid #d5ded6;border-radius:19px 19px 0 0;background:#fff;box-shadow:0 20px 70px #214c2020;overflow:hidden}.chrome{height:43px;background:#f1f4f1;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 18px}.chrome i{height:7px;width:7px;border-radius:50%;background:#bdc8bf}.chrome span{margin:auto;font-size:12px;color:#67776b}.app-shell{display:grid;grid-template-columns:162px 1fr;min-height:386px}.app-sidebar{padding:24px 18px;border-right:1px solid var(--line);font-size:13px;background:#fbfcfb}.app-sidebar .brand{font-size:19px;letter-spacing:-.7px;margin-bottom:28px}.app-sidebar .brand img{width:24px;height:24px}.app-sidebar p{padding:10px 10px;margin:4px 0}.app-sidebar p.active{color:var(--green);background:#eaf3ec;border-radius:7px;font-weight:600}.app-content{padding:29px 29px 38px;min-width:0}.app-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.app-title h3{font-size:25px}.app-title p{font-size:12px;margin-top:5px}.pill{font-size:12px;padding:6px 11px;color:var(--green);border:1px solid #c6ddcd;border-radius:99px;white-space:nowrap}.record-tabs{display:flex;gap:22px;font-size:13px;margin:25px 0 18px;border-bottom:1px solid var(--line);padding-bottom:10px}.record-tabs span:first-child{color:var(--green);font-weight:650}.recordline{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid #edf0ed;font-size:14px}.recordline p{font-size:12px}.num{font-family:"Chivo Mono",ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.score{font-size:20px;color:var(--green);font-weight:650}.app-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:25px;font-size:12px}.app-bottom span:last-child{background:var(--green);color:white;border-radius:7px;padding:9px 13px}.phone{width:245px;padding:10px;border:1px solid #d0d8d1;border-radius:34px;background:#fafbfa;box-shadow:0 22px 50px #0d241d24}.hero-stage .phone{position:absolute;right:-24px;bottom:-25px;transform:rotate(3deg)}.phone-screen{background:#fff;border:1px solid #e6eae6;border-radius:25px;padding:13px 16px 19px;min-height:360px}.phone-top{font-size:11px;font-weight:650;display:flex;justify-content:space-between;margin-bottom:25px}.phone-top i{width:65px;height:14px;background:#162c1e;border-radius:20px;display:block}.phone h3{font-size:20px;letter-spacing:-.5px}.phone p{font-size:12px;margin-top:5px}.phone .big-score{font-size:43px;line-height:1.2;font-weight:650;color:var(--green);padding:20px 0 2px}.phone .mini-bar{height:7px;border-radius:99px;background:#e9efea;overflow:hidden;margin:13px 0 22px}.phone .mini-bar i{display:block;width:80%;height:100%;background:var(--green)}.homework{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}.homework b{font-size:12px}.homework p{margin-top:8px;line-height:1.5}.sample{font-size:12px;text-align:center;color:#66766a;margin:48px auto 0}.section{padding:104px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-head p{max-width:390px;font-size:19px}.sublead{font-size:20px;max-width:660px;margin:23px auto 0}.soft{background:var(--canvas)}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.split p{margin-top:23px;font-size:19px}.stepnum{font-size:14px;color:var(--green);margin-bottom:16px;display:block}.workflow{border:1px solid var(--line);background:white;border-radius:var(--radius);overflow:hidden}.demo-tabs{display:flex;padding:8px;border-bottom:1px solid var(--line);gap:4px}.demo-tabs button{flex:1;padding:12px 8px;border-radius:99px;color:var(--text);background:transparent;font-size:14px;min-height:44px}.demo-tabs button[aria-selected=true]{background:var(--ink);color:white}.demo-panel{padding:36px;min-height:340px}.demo-panel[hidden]{display:none}.demo-panel .quote{font-size:22px;line-height:1.5;letter-spacing:-.4px;color:var(--ink);margin:22px 0 0}.mic{display:inline-flex;gap:5px;height:30px;align-items:center}.mic i{width:4px;background:var(--green);height:14px;border-radius:6px}.mic i:nth-child(2n){height:26px}.mic i:nth-child(3n){height:20px}.demo-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text)}.demo-panel .muted{font-size:13px;margin-top:22px}.demo-panel h3{margin:18px 0 20px}.demo-panel .recordline{grid-template-columns:1fr auto}.demo-panel .report-win{padding:24px;background:#edf5ef;border-radius:14px;color:var(--green);font-size:20px;line-height:1.4}.demo-panel ul{padding-left:20px;font-size:15px;color:var(--text);margin:22px 0 0}.caption{font-size:13px;text-align:center;margin-top:16px}.photo-band{position:relative;min-height:490px;overflow:hidden;background:var(--ink);color:#fff}.photo-band img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 48%;opacity:.73}.photo-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,16,.72),rgba(9,30,16,.05) 75%)}.photo-band .wrap{position:relative;z-index:1;padding-top:115px;padding-bottom:115px}.photo-band h2{max-width:530px}.photo-band p{color:#fff;max-width:390px;margin-top:24px;font-size:19px}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{padding:44px;border-radius:var(--radius);background:var(--canvas);min-width:0}.card p{margin-top:16px;font-size:17px}.card h3{font-size:29px}.card .mini{margin-top:34px;border:1px solid var(--line);border-radius:16px;padding:26px;background:white;min-height:210px}.mini label,.mini .label{font-size:12px;color:var(--text);display:block;margin-bottom:18px}.mini .note{font-size:16px;line-height:1.65;color:var(--ink)}.mini .private{font-size:12px;color:var(--text);margin-top:16px}.dark-card{background:var(--ink);color:white}.dark-card p{color:#c4d2c7}.dark-card .mini{color:var(--ink)}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.three p{margin-top:17px}.three h3{font-size:25px}.divider{border-top:1px solid var(--line)}.summary-list{margin-top:30px}.summary-list details{border-bottom:1px solid var(--line);padding:0}.summary-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:23px 0;font-size:20px;font-weight:560;letter-spacing:-.3px}.summary-list summary::-webkit-details-marker{display:none}.summary-list summary:after{content:"+";font-size:25px;font-weight:300;color:var(--text)}.summary-list details[open] summary:after{content:"−"}.summary-list details p{max-width:800px;padding:0 40px 24px 0;font-size:17px}.finale{background:var(--ink);color:white;padding:86px 32px;text-align:center}.finale h2{max-width:720px;margin:auto}.finale p{color:#c4d2c7;max-width:580px;margin:21px auto 0;font-size:19px}.finale .actions{justify-content:center}.signup{max-width:575px;margin:30px auto 0}.signup label{display:block;text-align:left;font-size:14px;margin-bottom:8px}.formrow{display:flex;gap:10px}.formrow input:not(.visually-hidden){width:100%;min-width:0;border:1px solid #c4d2c7;padding:15px 18px;border-radius:12px;background:white;color:var(--ink);min-height:54px}.formrow button{border-radius:12px;white-space:nowrap}.finale .fine{font-size:13px;margin-top:14px;color:#bdcec2}.finale .fine a{text-decoration:underline}.finale .form-msg{font-size:16px;color:white}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.footer{padding:44px 0 28px;background:var(--canvas)}.footer-top{display:flex;justify-content:space-between;gap:36px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 25px;max-width:700px;font-size:14px}.footer-links a{min-height:32px;display:flex;align-items:center}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:34px;padding-top:22px;font-size:12px;color:var(--text)}.pagehead{padding:85px 0 65px;max-width:900px}.pagehead h1{font-size:clamp(43px,5.6vw,72px)}.pagehead p{font-size:21px;max-width:690px;margin-top:26px}.feature-rows .split{padding:72px 0;border-top:1px solid var(--line)}.feature-rows .split:first-child{padding-top:0;border:0}.feature-rows h2{font-size:42px}.feature-visual{padding:35px;border-radius:24px;background:var(--canvas)}.feature-visual p{font-size:15px;margin:8px 0}.feature-visual .recordline{font-size:16px}.feature-visual h3{font-size:23px}.chart{height:155px;display:flex;align-items:end;gap:22px;padding:10px 0;margin-top:22px}.chart>div{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:end;gap:8px;font-size:12px;color:var(--text)}.chart i{display:block;background:#b7d5c0;width:75%;border-radius:7px 7px 0 0}.chart>div:last-child i{background:var(--green)}.pricing-card{border:1px solid var(--line);border-radius:26px;padding:40px;background:white}.pricing-card h2{font-size:34px}.pricing-card .price{font-size:26px;font-weight:550;color:var(--ink);margin:24px 0 6px}.pricing-card .price-note{font-size:14px;min-height:48px}.pricing-card ul{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--line)}.pricing-card li{padding:14px 0 14px 25px;border-bottom:1px solid #eef1ee;font-size:16px;position:relative}.pricing-card li:before{content:"✓";position:absolute;left:0;color:var(--green)}.pricing-card .btn{margin-top:28px}.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:70px;padding-bottom:100px}.faq-nav{display:grid;align-content:start;position:sticky;top:110px;height:min-content;gap:8px}.faq-nav a{padding:10px 0;color:var(--text);font-size:16px}.faq-group{padding-bottom:48px;scroll-margin-top:110px}.faq-group h2{font-size:32px}.faq-group .summary-list{margin-top:10px}.prose{max-width:760px;padding-bottom:90px}.prose h2,.prose h3{font-size:27px;margin-top:42px}.prose p{margin-top:17px}.prose a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.prose ul{color:var(--text);padding-left:22px}.prose li{margin:12px 0}.quote-block{font-size:clamp(28px,3.5vw,42px);letter-spacing:-.035em;line-height:1.3;max-width:900px;color:var(--ink)}.wide-note{border:1px solid var(--line);border-radius:20px;padding:28px 32px;display:flex;gap:40px;align-items:center;margin-top:32px}.wide-note p{font-size:16px}.wide-note h3{min-width:220px;font-size:22px}.contact-link{overflow-wrap:anywhere}.checklist{list-style:none;padding:0;margin:22px 0}.checklist li{border-top:1px solid var(--line);padding:18px 0}.chip{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:99px;font-size:13px;color:var(--text);margin:0 6px 8px 0}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}
@media(min-width:1600px){.hero{padding-top:100px}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.nav{gap:22px}.navlinks{gap:20px}.split{gap:45px}.hero-stage{padding-right:95px}.hero-stage .phone{right:0;width:220px}.app-sidebar{display:none}.app-shell{grid-template-columns:1fr}.three{gap:25px}.card{padding:30px}.faq-layout{gap:35px;grid-template-columns:180px 1fr}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.nav{height:68px;gap:10px}.brand{font-size:24px}.brand img{width:27px;height:27px}.navlinks{display:none}.nav .btn.small{font-size:13px;padding:10px 14px;min-height:44px}.menu{display:block}.menu nav{top:68px}.hero{padding-top:52px}h1{font-size:clamp(40px,8.5vw,62px);letter-spacing:-.045em;line-height:1.1}.hero .intro{font-size:18px;max-width:450px;padding:0 8px;margin-top:21px}.actions{gap:18px;margin-top:24px}.hero-stage{padding:0 38px 0 0;margin-top:40px}.desktop{border-radius:13px 13px 0 0}.chrome{height:32px;padding:0 12px}.chrome span{font-size:10px}.app-content{padding:22px 18px 25px}.app-shell{min-height:350px}.app-title h3{font-size:22px}.app-title .pill{display:none}.record-tabs{gap:15px;font-size:12px;margin:23px 0 12px}.recordline{grid-template-columns:1fr auto;padding:16px 0}.recordline>p{display:none}.recordline strong{font-size:12px}.score{font-size:17px}.hero-stage .phone{width:177px;right:-8px;bottom:-26px;border-radius:26px;padding:7px}.phone-screen{border-radius:20px;padding:11px 12px;min-height:290px}.phone-top{margin-bottom:17px;font-size:9px}.phone-top i{width:50px;height:11px}.phone h3{font-size:17px}.phone p{font-size:10px}.phone .big-score{font-size:33px;padding-top:17px}.phone .homework{padding-top:11px}.phone .homework p{font-size:10px}.phone .homework b{font-size:10px}.phone .mini-bar{margin:10px 0 15px}.app-bottom{padding-top:23px;display:block}.app-bottom span:last-child{display:none}.sample{margin-top:48px}.section{padding:68px 0}.section-head{display:block;margin-bottom:32px}.section-head p{margin-top:22px;font-size:18px;max-width:520px}.split,.two,.three{grid-template-columns:1fr;gap:30px}.split p{font-size:18px;margin-top:20px}.split .workflow{margin-top:4px}.demo-panel{padding:26px;min-height:330px}.demo-panel .quote{font-size:21px}.three{gap:36px}.three h3{font-size:25px}.three p{margin-top:12px}.photo-band{min-height:440px}.photo-band:after{background:linear-gradient(90deg,rgba(9,30,16,.8),rgba(9,30,16,.22))}.photo-band img{object-position:62% center}.photo-band .wrap{padding:88px 0}.photo-band h2{max-width:350px}.photo-band p{max-width:290px;font-size:18px}.card{padding:31px 26px}.card h3{font-size:27px}.card .mini{margin-top:25px;padding:22px}.finale{padding:66px 20px}.finale h2{font-size:36px}.finale p{font-size:18px}.footer-top{flex-direction:column;gap:26px}.footer-links{gap:8px 24px}.footer-bottom{flex-direction:column;gap:10px}.pagehead{padding:54px 0 43px}.pagehead p{font-size:19px}.feature-rows .split{padding:46px 0;gap:30px}.feature-rows h2{font-size:34px}.feature-rows .reverse .feature-visual{order:2}.feature-visual{padding:26px}.pricing-card{padding:30px 26px}.pricing-card .price-note{min-height:0}.faq-layout{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.faq-nav{position:static;display:flex;flex-wrap:wrap;gap:5px 22px;border-bottom:1px solid var(--line);padding-bottom:20px}.faq-nav a{font-size:14px}.summary-list summary{font-size:18px;padding:21px 0}.summary-list details p{padding-right:0;font-size:16px}.wide-note{display:block;padding:25px}.wide-note h3{margin-bottom:14px}.prose{padding-bottom:65px}.prose h2,.prose h3{font-size:25px}.sublead{font-size:18px}.quote-block{font-size:29px}}@media(max-width:390px){.wrap{width:calc(100% - 32px)}.nav{gap:4px}.brand{font-size:22px;gap:7px}.brand img{width:24px;height:24px}.nav .btn.small{padding:10px 11px;font-size:12px}.menu summary{font-size:12px;min-width:43px}.hero-stage{padding-right:20px}.hero-stage .phone{right:-2px;width:159px}.app-content{padding-left:14px;padding-right:14px}.hero .intro{font-size:17px}.formrow{flex-direction:column}.formrow button{width:100%}.hero .actions{gap:11px}.hero .btn{padding:12px 19px}.phone-screen{min-height:278px}.phone .big-score{font-size:30px}.demo-tabs button{font-size:13px}.demo-panel{padding:22px}.card{padding:28px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Give the training photograph its own space; never place copy over the dog. */
.photo-band{display:grid;grid-template-columns:42% 58%;min-height:480px}.photo-band img{position:static;grid-column:2;grid-row:1;opacity:1;object-position:center;min-height:480px}.photo-band:after{display:none}.photo-band .wrap{grid-column:1;grid-row:1;width:auto;max-width:none;padding:80px clamp(28px,4vw,76px);align-self:center}.photo-band h2{font-size:clamp(34px,3.3vw,49px)}
@media(max-width:760px){.photo-band{display:flex;flex-direction:column;min-height:0}.photo-band img{height:auto;min-height:0;aspect-ratio:16/10;object-fit:cover;object-position:center}.photo-band .wrap{padding:42px 24px 49px;width:100%}.photo-band h2{font-size:36px;max-width:500px}.photo-band p{max-width:450px}}



@font-face{font-family:"Chivo Mono";src:url("fonts/chivo-mono-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Chivo Mono";src:url("fonts/chivo-mono-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
/* Distinct audience navigation, shared Trainote identity. */
.audience-bar{background:#102b20;color:#d5e3da}.audience-bar nav{display:flex;gap:28px;min-height:44px;align-items:stretch}.audience-bar a{display:flex;align-items:center;font-size:14px;border-bottom:3px solid transparent;padding:9px 0 6px}.audience-bar a[aria-current]{color:white;border-color:#b6ddc2;font-weight:650}.brand-context{display:block;font-size:12px;font-weight:500;letter-spacing:0;color:var(--text);margin-top:1px}.nav{height:84px}.navlinks{gap:22px}.navlinks a{font-size:14px}.nav .btn.small{font-size:14px}.eyebrow{font-size:14px!important;font-weight:650;letter-spacing:.06em;margin:0 0 20px!important;color:var(--green);line-height:1.5}.hero-stage{padding-right:0;max-width:950px}.hero-stage .desktop{width:100%}.hero .sample{margin-top:22px}.owner-hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-top:72px;padding-bottom:80px}.owner-hero h1{font-size:clamp(42px,4.7vw,68px);line-height:1.08}.owner-hero .intro{font-size:21px;margin-top:28px;max-width:450px}.owner-note{font-size:14px;margin-top:28px;max-width:340px}.owner-photo{position:relative;border-radius:28px;overflow:hidden;background:var(--canvas)}.owner-photo img{width:100%;height:530px;object-fit:cover;object-position:60% center;display:block}.owner-photo span{position:absolute;bottom:24px;left:24px;background:#fff;padding:12px 20px;border-radius:99px;font-size:14px;color:var(--ink)}.appointment-preview{border:1px solid var(--line);border-radius:28px;padding:36px;box-shadow:0 20px 60px #11291d09}.appointment-preview .label,.booking-summary>.label{font-size:14px;display:block;color:var(--green);margin-bottom:18px}.appointment-preview h3{font-size:29px}.appointment-preview p{font-size:17px;margin-top:12px}.appointment-preview dl,.review-details{margin:26px 0}.appointment-preview dl>div,.review-details>div,.booking-summary dl>div{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);font-size:16px}.appointment-preview dd,.review-details dd,.booking-summary dd{margin:0;text-align:right;color:var(--ink)}.appointment-preview dt,.review-details dt,.booking-summary dt{color:var(--text)}.appointment-preview .caption{font-size:14px}.owner-guide{padding-bottom:80px;max-width:900px}.owner-guide article{display:grid;grid-template-columns:60px 1fr;gap:30px;padding:42px 0;border-top:1px solid var(--line)}.owner-guide h2{font-size:32px}.owner-guide p{margin-top:18px;max-width:600px}.owner-guide .stepnum{font-size:23px}.booking-head{padding-top:52px}.booking-head h1{font-size:clamp(34px,4vw,54px)}.booking-head>p:not(.eyebrow){margin-top:20px;font-size:19px}.preview-notice{margin-top:26px;display:flex;gap:18px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);font-size:14px;align-items:center}.preview-notice strong{white-space:nowrap}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:64px;padding-top:34px;padding-bottom:90px;align-items:start}.booking-steps{display:flex;gap:24px;list-style:none;padding:0 0 20px;margin:0 0 28px;border-bottom:1px solid var(--line);font-size:16px;color:var(--text)}.booking-steps [aria-current]{color:var(--green);font-weight:700}.booking-layout fieldset{border:0;margin:0;padding:0;min-width:0}.booking-layout legend{font-size:26px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin-bottom:22px}.session-option{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:16px;padding:24px 20px;margin-bottom:14px;cursor:pointer}.session-option:has(input:checked){border-color:var(--green);background:#f1f8f3;box-shadow:inset 0 0 0 1px var(--green)}.session-option input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.session-option>span{flex:1;min-width:0}.session-option strong{font-size:18px}.session-option span span{display:block;color:var(--text);font-size:16px;margin-top:6px}.session-option>b{font-weight:500;font-size:14px;white-space:nowrap}.booking-help{font-size:14px!important;line-height:1.6;color:var(--text);margin:22px 0}.booking-summary{background:var(--canvas);padding:28px;border-radius:20px;position:sticky;top:110px}.booking-summary h2{font-size:27px;line-height:1.2}.booking-summary>p{margin-top:12px}.booking-summary hr{border:0;border-top:1px solid var(--line);margin:25px 0 5px}.booking-summary dl>div{font-size:14px}.booking-summary .textlink{font-size:14px}.day-options,.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.day-options label,.time-options label{position:relative;cursor:pointer}.day-options span,.time-options span{display:block;border:1px solid var(--line);border-radius:12px;padding:18px 10px;text-align:center;font-size:16px}.day-options input,.time-options input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer;margin:0}.day-options input:checked+span,.time-options input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.day-options input:focus-visible+span,.time-options input:focus-visible+span{outline:3px solid #226847;outline-offset:4px}.booking-layout .time-field{margin-top:32px}.time-field legend{margin-bottom:0}.booking-title{font-size:30px;margin-bottom:18px}#booking-error{color:#a22a20;padding:14px 0;font-size:16px}.review-details>div{align-items:start}.review-details dd{max-width:60%}#booking-finished{padding:10px 0 30px}#booking-finished p:not(.eyebrow){font-size:18px;line-height:1.65}
@media(max-width:1100px){.navlinks{display:none}.menu{display:block}.menu nav{top:84px}.booking-layout{gap:32px;grid-template-columns:minmax(0,1fr) 290px}.owner-hero{gap:36px}.owner-photo img{height:470px}.nav .menu{margin-left:auto}}
@media(max-width:760px){.audience-bar nav{gap:28px}.nav{height:76px;gap:12px}.brand-context{font-size:12px}.nav .btn.small{font-size:12px;padding:10px 12px;max-width:126px;text-align:center;line-height:1.25;white-space:normal}.menu nav{top:76px}.owner-hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:50px;gap:36px}.owner-hero h1{font-size:clamp(40px,8vw,58px)}.owner-hero .intro{font-size:19px;margin-top:22px}.owner-photo img{height:auto;aspect-ratio:4/3}.owner-photo span{bottom:16px;left:16px}.owner-note{max-width:100%}.owner-guide article{grid-template-columns:32px 1fr;gap:18px;padding:30px 0}.owner-guide h2{font-size:27px}.booking-layout{grid-template-columns:1fr;gap:28px;padding-bottom:50px}.booking-summary{position:static}.preview-notice{display:block}.preview-notice span{display:block;margin-top:6px}.booking-steps{gap:20px;font-size:14px}.booking-head{padding-top:35px}.session-option{padding:18px 14px;gap:12px}.session-option strong{font-size:17px}.session-option span span{font-size:14px}.day-options,.time-options{gap:8px}.day-options span,.time-options span{font-size:14px;padding:18px 5px}.appointment-preview{padding:26px}.hero-stage{padding-right:0}.hero h1 br,.pagehead h1 br{display:none}.hero h1,.pagehead h1{max-width:600px;text-wrap:balance}.hero h1 span:before{content:' '}.booking-title{font-size:28px}}
@media(max-width:390px){.nav{gap:6px}.nav .btn.small{max-width:108px;font-size:12px;padding:9px}.nav .brand{font-size:21px}.session-option{flex-wrap:wrap}.session-option>b{margin-left:32px}.booking-steps{gap:16px}.owner-photo span{font-size:12px}.audience-bar a{font-size:14px}}
/* Refined single-purpose navigation and responsive rhythm. */
.nav{height:68px;gap:28px}.menu nav{top:68px}.nav .brand{font-size:25px}.nav .btn.small{min-height:44px;font-size:14px}.navlinks{gap:30px}.navlinks a{font-weight:500}.hero{padding-top:76px}.hero .eyebrow{letter-spacing:.015em;font-size:16px!important;font-weight:550}.hero h1{font-size:clamp(48px,6.2vw,82px);letter-spacing:-.045em;line-height:1.08}.hero .intro{max-width:620px;line-height:1.55}.hero-stage{margin-top:56px}.desktop{box-shadow:0 24px 80px #12291b12}.footer-links a{min-height:44px}.caption,.sample{font-size:14px}.section h2{max-width:720px}.btn{min-height:48px}.finale .fine{font-size:14px}.navlinks a:focus-visible,.footer-links a:focus-visible{border-radius:3px}.pagehead{padding-top:76px}.pagehead p{line-height:1.55}.booking-layout button:focus-visible{outline-offset:5px}legend:focus,h2[tabindex]:focus{outline:none}
@media(max-width:760px){.nav{height:64px;gap:12px}.menu nav{top:64px}.nav .btn.small{max-width:none;white-space:nowrap;padding:10px 14px;font-size:13px}.nav .brand{font-size:23px}.hero{padding-top:48px}.hero h1{font-size:clamp(42px,9vw,60px);line-height:1.1}.hero h1 br{display:block}.hero h1 span:before{content:none}.hero .intro{font-size:18px;padding:0}.hero .intro br{display:none}.hero-stage{margin-top:36px}.section{padding:64px 0}.pagehead{padding-top:48px}.pagehead h1{line-height:1.13}.pagehead h1 br{display:block}.hero .eyebrow{font-size:14px!important;max-width:260px;margin-left:auto!important;margin-right:auto!important}.menu summary{min-height:44px;font-size:14px}.footer-bottom a{display:inline-flex;min-height:44px;align-items:center}.recordline strong{font-size:14px}.app-title p,.record-tabs{font-size:14px}.chrome span{font-size:12px}}
@media(max-width:390px){.nav{gap:8px}.nav .brand{font-size:21px;gap:6px}.nav .btn.small{padding:10px 12px;font-size:12px}.menu summary{font-size:13px;min-width:44px}.nav .brand img{width:24px;height:24px}.hero h1{font-size:42px}.hero .actions{gap:18px}.formrow{flex-direction:column}.formrow button{width:100%}}
