:root{
  --ground:#FFF9F3;--ap100:#FFF0E3;--ap200:#FFDCC0;--ap:#F6A56F;--apd:#E58A4B;--apt:#A64A14;
  --t900:#12363B;--t700:#1D5A5E;--t100:#DCEFEC;--t50:#EAF6F4;--mint:#E4F3F0;--sea:#8FD0C8;
  --muted:#4A6467;--body:#2F4A4E;--shadow:0 40px 70px -36px rgba(18,54,59,.45);
}
*{box-sizing:border-box}
html{background:#FFF9F3}
body{margin:0;font-family:'Albert Sans',system-ui,sans-serif;color:#12363B;background:#FFF9F3;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #12363B;outline-offset:3px;border-radius:12px}
p{margin:0}
h1,h2,h3{margin:0;font-family:'Sora',system-ui,sans-serif;color:inherit;letter-spacing:-.035em}
h1{font-size:72px;line-height:1.05}
h2{font-size:48px;line-height:1.1}
h3{font-size:25px;line-height:1.2;font-weight:700;letter-spacing:-.025em}
.l{font-weight:200}.b{font-weight:700}.xb{font-weight:800}
.on-dark{color:#FFF9F3}

.page{width:1280px;margin:0 auto;position:relative;overflow:hidden;background:#FFF9F3}
.page[hidden]{display:none}
.sec{position:relative;width:1280px;overflow:hidden}
.abs{position:absolute}
.col{display:flex;flex-direction:column;align-items:flex-start}
.sora{font-family:'Sora',system-ui,sans-serif}

.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#A64A14}
.eyebrow.dk{color:#F6A56F}
.lead{font-size:19px;line-height:1.65;color:#4A6467}
.txt{font-size:17px;line-height:1.7;color:#2F4A4E}
.txt-lg{font-size:18px;line-height:1.7;color:#2F4A4E}
.muted{color:#4A6467}

.btn{display:inline-flex;align-items:center;gap:10px;height:60px;padding:0 34px;border-radius:999px;font-family:'Albert Sans',system-ui,sans-serif;font-size:17px;font-weight:700;border:0;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s}
.btn-ap{background:#F6A56F;color:#12363B;box-shadow:0 22px 36px -20px rgba(229,138,75,.9)}
.btn-dk{background:#12363B;color:#FFF9F3}
.btn-ol{background:transparent;border:1.5px solid #12363B;color:#12363B}
.btn-ol.lt{border-color:#FFF9F3;color:#FFF9F3}
.btn-sm{height:48px;padding:0 26px;font-size:15px}
.btn:hover{transform:translateY(-2px)}
.btn[disabled]{opacity:.4;cursor:default;transform:none}
.lnk{display:inline-flex;align-items:center;gap:8px;height:44px;font-size:16px;font-weight:700;color:#A64A14;transition:gap .25s ease}
.lnk:hover{gap:14px}
.lnk.dk{color:#12363B}.lnk.ap{color:#F6A56F}
.lift{transition:transform .4s ease,box-shadow .4s ease}
.lift:hover{transform:translateY(-8px);box-shadow:0 40px 70px -30px rgba(18,54,59,.4)}

/* photo placeholders */
.ph{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ph span{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#12363B;background:rgba(255,249,243,.92);padding:6px 12px;border-radius:999px;text-align:center}
.g-ap{background:linear-gradient(160deg,#FFDCC0 0%,#F9BE93 100%)}
.g-ap2{background:linear-gradient(160deg,#FFE9D6 0%,#F6A56F 100%)}
.g-teal{background:linear-gradient(160deg,#CDEBE6 0%,#8FD0C8 100%)}
.g-dk{background:linear-gradient(170deg,#2A7A7A 0%,#1D5A5E 100%)}

/* header + nav */
.hdr{position:absolute;left:0;top:0;z-index:20;width:1280px;height:96px;padding:0 64px;display:flex;align-items:center;justify-content:space-between}
.hdr nav{display:flex;align-items:center;gap:26px}
.nl{font-size:15px;font-weight:500;color:#12363B;padding:12px 0;border-bottom:3px solid transparent;transition:border-color .2s}
.nl:hover{border-bottom-color:#8FD0C8}
.nl.on{font-weight:600;border-bottom-color:#F6A56F}
.logo{display:flex;align-items:center;gap:12px;color:#12363B}
.logo .n1{font-family:'Sora',system-ui,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1}
.logo .n2{font-size:11px;letter-spacing:.36em;font-weight:600;color:#4A6467;line-height:1}
.logo .tx{display:flex;flex-direction:column;gap:6px}

/* inner hero */
.crumb{display:flex;align-items:center;gap:10px;font-size:14px;color:#4A6467}
.crumb a{text-decoration:underline}
.crumb b{color:#12363B;font-weight:600}
.mask{display:block;overflow:hidden;padding:.2em 0 .14em;margin:-.2em 0 -.14em}
.mask>span.ih-line-in{display:block}
.pill{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 18px 34px -18px rgba(18,54,59,.5)}
.pill i{display:block;width:8px;height:8px;border-radius:50%}
.chip{display:inline-flex;align-items:center;padding:10px 20px;border-radius:999px;background:#DCEFEC;color:#12363B;font-size:14px;font-weight:700}

/* forms */
label{font-size:14px;font-weight:700;color:#12363B}
.inp{width:100%;height:56px;padding:0 18px;border-radius:16px;border:1.5px solid #B7D8D3;background:#FFF9F3;font-family:'Albert Sans',system-ui,sans-serif;font-size:16px;color:#12363B}
textarea.inp{height:130px;padding:14px 18px;line-height:1.5;resize:none}
.inp:focus{border-color:#12363B;outline:none;box-shadow:0 0 0 3px rgba(246,165,111,.6)}
.fld{display:flex;flex-direction:column;gap:6px;width:100%}
.chk{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:1.4;color:#2F4A4E}
.chk input{width:22px;height:22px;margin:0;accent-color:#12363B;flex:none}
.err{font-size:14px;font-weight:700;color:#A3261A}

/* price table */
.tag-ph{display:inline-block;padding:7px 14px;border-radius:10px;border:1.5px dashed #8AA6A4;font-size:14px;color:#4A6467}

/* reveal on scroll (only when script confirmed support) */
html.js-rv .rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.js-rv .rv.in{opacity:1;transform:none}

/* booking */
.steps{display:flex;align-items:center;gap:16px;margin:0;padding:0;list-style:none}
.steps li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;color:#4A6467}
.steps .n{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid #8AA6A4;font-size:16px;font-weight:700;color:#4A6467;background:#FFF9F3}
.steps li.cur{color:#12363B;font-weight:700}
.steps li.cur .n{background:#F6A56F;border-color:#F6A56F;color:#12363B}
.steps li.done .n{background:#12363B;border-color:#12363B;color:#FFF9F3}
.steps .ln{flex-grow:1;height:2px;background:#CFE3E0;list-style:none}
.steps .ln.done{background:#12363B}
.svc{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;height:124px;padding:0 28px;border-radius:24px;border:1.5px solid #CFE3E0;background:#FFF9F3;cursor:pointer;text-align:left;font-family:'Albert Sans',system-ui,sans-serif;color:#12363B;transition:border-color .2s,background .2s,transform .2s}
.svc:hover{border-color:#F6A56F;transform:translateY(-2px)}
.svc.on{border:2px solid #F6A56F;background:#FFF0E3}
.svc .nm{font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.2}
.svc .ds{font-size:15px;line-height:1.5;color:#4A6467;margin-top:6px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .wd{font-size:13px;font-weight:700;color:#4A6467;text-align:center;padding-bottom:4px}
.day{height:44px;border:0;border-radius:14px;background:#E4F3F0;color:#12363B;font-family:'Albert Sans',system-ui,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}
.day:hover:not([disabled]){background:#FFDCC0}
.day[disabled]{background:transparent;color:#8A9C9E;cursor:default}
.day.today{box-shadow:inset 0 0 0 1.5px #1D5A5E}
.day.on{background:#12363B;color:#FFF9F3}
.day.void{visibility:hidden}
.slot{height:50px;border-radius:14px;border:1.5px solid #B7D8D3;background:#FFF9F3;color:#12363B;font-family:'Albert Sans',system-ui,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}
.slot:hover:not([disabled]){border-color:#F6A56F;background:#FFF0E3}
.slot[disabled]{background:#EAF6F4;border-color:#EAF6F4;color:#8A9C9E;text-decoration:line-through;cursor:default}
.slot.on{background:#F6A56F;border-color:#F6A56F}
.mbtn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:#E4F3F0;color:#12363B;cursor:pointer}
.mbtn[disabled]{opacity:.35;cursor:default}
.sum .k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F6A56F}
.sum .v{font-size:17px;line-height:1.4;margin-top:6px}
.bk-h{font-size:34px;font-weight:700;line-height:1.1}
.form-status{font-size:14px;line-height:1.4;min-height:20px}

/* Mobile layer */
:root{
  --ground:#FFF9F3;--ap100:#FFF0E3;--ap200:#FFDCC0;--ap:#F6A56F;--apd:#E58A4B;--apt:#A64A14;
  --t900:#12363B;--t700:#1D5A5E;--t100:#DCEFEC;--t50:#EAF6F4;--mint:#E4F3F0;--sea:#8FD0C8;
  --muted:#4A6467;--body:#2F4A4E;--shadow:0 40px 70px -36px rgba(18,54,59,.45);
}
*{box-sizing:border-box}
html{background:#FFF9F3}
body{margin:0;font-family:'Albert Sans',system-ui,sans-serif;color:#12363B;background:#FFF9F3;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #12363B;outline-offset:3px;border-radius:12px}
p{margin:0}
h1,h2,h3{margin:0;font-family:'Sora',system-ui,sans-serif;color:inherit;letter-spacing:-.035em}
h1{font-size:72px;line-height:1.05}
h2{font-size:48px;line-height:1.1}
h3{font-size:25px;line-height:1.2;font-weight:700;letter-spacing:-.025em}
.l{font-weight:200}.b{font-weight:700}.xb{font-weight:800}
.on-dark{color:#FFF9F3}

.page{width:1280px;margin:0 auto;position:relative;overflow:hidden;background:#FFF9F3}
.page[hidden]{display:none}
.sec{position:relative;width:1280px;overflow:hidden}
.abs{position:absolute}
.col{display:flex;flex-direction:column;align-items:flex-start}
.sora{font-family:'Sora',system-ui,sans-serif}

.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#A64A14}
.eyebrow.dk{color:#F6A56F}
.lead{font-size:19px;line-height:1.65;color:#4A6467}
.txt{font-size:17px;line-height:1.7;color:#2F4A4E}
.txt-lg{font-size:18px;line-height:1.7;color:#2F4A4E}
.muted{color:#4A6467}

.btn{display:inline-flex;align-items:center;gap:10px;height:60px;padding:0 34px;border-radius:999px;font-family:'Albert Sans',system-ui,sans-serif;font-size:17px;font-weight:700;border:0;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background .25s}
.btn-ap{background:#F6A56F;color:#12363B;box-shadow:0 22px 36px -20px rgba(229,138,75,.9)}
.btn-dk{background:#12363B;color:#FFF9F3}
.btn-ol{background:transparent;border:1.5px solid #12363B;color:#12363B}
.btn-ol.lt{border-color:#FFF9F3;color:#FFF9F3}
.btn-sm{height:48px;padding:0 26px;font-size:15px}
.btn:hover{transform:translateY(-2px)}
.btn[disabled]{opacity:.4;cursor:default;transform:none}
.lnk{display:inline-flex;align-items:center;gap:8px;height:44px;font-size:16px;font-weight:700;color:#A64A14;transition:gap .25s ease}
.lnk:hover{gap:14px}
.lnk.dk{color:#12363B}.lnk.ap{color:#F6A56F}
.lift{transition:transform .4s ease,box-shadow .4s ease}
.lift:hover{transform:translateY(-8px);box-shadow:0 40px 70px -30px rgba(18,54,59,.4)}

/* photo placeholders */
.ph{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ph span{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#12363B;background:rgba(255,249,243,.92);padding:6px 12px;border-radius:999px;text-align:center}
.g-ap{background:linear-gradient(160deg,#FFDCC0 0%,#F9BE93 100%)}
.g-ap2{background:linear-gradient(160deg,#FFE9D6 0%,#F6A56F 100%)}
.g-teal{background:linear-gradient(160deg,#CDEBE6 0%,#8FD0C8 100%)}
.g-dk{background:linear-gradient(170deg,#2A7A7A 0%,#1D5A5E 100%)}

/* header + nav */
.hdr{position:absolute;left:0;top:0;z-index:20;width:1280px;height:96px;padding:0 64px;display:flex;align-items:center;justify-content:space-between}
.hdr nav{display:flex;align-items:center;gap:26px}
.nl{font-size:15px;font-weight:500;color:#12363B;padding:12px 0;border-bottom:3px solid transparent;transition:border-color .2s}
.nl:hover{border-bottom-color:#8FD0C8}
.nl.on{font-weight:600;border-bottom-color:#F6A56F}
.logo{display:flex;align-items:center;gap:12px;color:#12363B}
.logo .n1{font-family:'Sora',system-ui,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1}
.logo .n2{font-size:11px;letter-spacing:.36em;font-weight:600;color:#4A6467;line-height:1}
.logo .tx{display:flex;flex-direction:column;gap:6px}

/* inner hero */
.crumb{display:flex;align-items:center;gap:10px;font-size:14px;color:#4A6467}
.crumb a{text-decoration:underline}
.crumb b{color:#12363B;font-weight:600}
.mask{display:block;overflow:hidden;padding:.2em 0 .14em;margin:-.2em 0 -.14em}
.mask>span.ih-line-in{display:block}
.pill{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 22px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 18px 34px -18px rgba(18,54,59,.5)}
.pill i{display:block;width:8px;height:8px;border-radius:50%}
.chip{display:inline-flex;align-items:center;padding:10px 20px;border-radius:999px;background:#DCEFEC;color:#12363B;font-size:14px;font-weight:700}

/* forms */
label{font-size:14px;font-weight:700;color:#12363B}
.inp{width:100%;height:56px;padding:0 18px;border-radius:16px;border:1.5px solid #B7D8D3;background:#FFF9F3;font-family:'Albert Sans',system-ui,sans-serif;font-size:16px;color:#12363B}
textarea.inp{height:130px;padding:14px 18px;line-height:1.5;resize:none}
.inp:focus{border-color:#12363B;outline:none;box-shadow:0 0 0 3px rgba(246,165,111,.6)}
.fld{display:flex;flex-direction:column;gap:6px;width:100%}
.chk{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:1.4;color:#2F4A4E}
.chk input{width:22px;height:22px;margin:0;accent-color:#12363B;flex:none}
.err{font-size:14px;font-weight:700;color:#A3261A}

/* price table */
.tag-ph{display:inline-block;padding:7px 14px;border-radius:10px;border:1.5px dashed #8AA6A4;font-size:14px;color:#4A6467}

/* reveal on scroll (only when script confirmed support) */
html.js-rv .rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.js-rv .rv.in{opacity:1;transform:none}

/* booking */
.steps{display:flex;align-items:center;gap:16px;margin:0;padding:0;list-style:none}
.steps li{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500;color:#4A6467}
.steps .n{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid #8AA6A4;font-size:16px;font-weight:700;color:#4A6467;background:#FFF9F3}
.steps li.cur{color:#12363B;font-weight:700}
.steps li.cur .n{background:#F6A56F;border-color:#F6A56F;color:#12363B}
.steps li.done .n{background:#12363B;border-color:#12363B;color:#FFF9F3}
.steps .ln{flex-grow:1;height:2px;background:#CFE3E0;list-style:none}
.steps .ln.done{background:#12363B}
.svc{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;height:124px;padding:0 28px;border-radius:24px;border:1.5px solid #CFE3E0;background:#FFF9F3;cursor:pointer;text-align:left;font-family:'Albert Sans',system-ui,sans-serif;color:#12363B;transition:border-color .2s,background .2s,transform .2s}
.svc:hover{border-color:#F6A56F;transform:translateY(-2px)}
.svc.on{border:2px solid #F6A56F;background:#FFF0E3}
.svc .nm{font-family:'Sora',system-ui,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.2}
.svc .ds{font-size:15px;line-height:1.5;color:#4A6467;margin-top:6px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .wd{font-size:13px;font-weight:700;color:#4A6467;text-align:center;padding-bottom:4px}
.day{height:44px;border:0;border-radius:14px;background:#E4F3F0;color:#12363B;font-family:'Albert Sans',system-ui,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}
.day:hover:not([disabled]){background:#FFDCC0}
.day[disabled]{background:transparent;color:#8A9C9E;cursor:default}
.day.today{box-shadow:inset 0 0 0 1.5px #1D5A5E}
.day.on{background:#12363B;color:#FFF9F3}
.day.void{visibility:hidden}
.slot{height:50px;border-radius:14px;border:1.5px solid #B7D8D3;background:#FFF9F3;color:#12363B;font-family:'Albert Sans',system-ui,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}
.slot:hover:not([disabled]){border-color:#F6A56F;background:#FFF0E3}
.slot[disabled]{background:#EAF6F4;border-color:#EAF6F4;color:#8A9C9E;text-decoration:line-through;cursor:default}
.slot.on{background:#F6A56F;border-color:#F6A56F}
.mbtn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:#E4F3F0;color:#12363B;cursor:pointer}
.mbtn[disabled]{opacity:.35;cursor:default}
.sum .k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F6A56F}
.sum .v{font-size:17px;line-height:1.4;margin-top:6px}
.bk-h{font-size:34px;font-weight:700;line-height:1.1}
.form-status{font-size:14px;line-height:1.4;min-height:20px}

.bk-list{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.svc-tags{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.bk-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:24px}
.bk-foot.end{justify-content:flex-end}
.bk2{display:flex;gap:36px;margin-top:24px}
.bk2-cal{width:340px;flex:none;display:flex;flex-direction:column;gap:12px}
.bk2-slots{flex-grow:1;display:flex;flex-direction:column;gap:14px}
.bk-cal-head{display:flex;align-items:center;justify-content:space-between}
.bk-slots-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bk-form{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.bk-row{display:flex;gap:16px}
.bk-done{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center}
.bk-done-btns{display:flex;gap:14px;margin-top:6px}
.bk-h2{font-size:40px}

/* ===== mobile layer (loaded after site.css) ===== */
body.mob{background:#D9EEEA}
.page.mp{width:100%;max-width:480px;margin:0 auto;overflow:visible;overflow-x:clip;background:#FFF9F3;box-shadow:0 0 80px -30px rgba(18,54,59,.35)}
.mp .ms{position:relative;padding:64px 20px;overflow:hidden}
.mp .mh1{font-size:clamp(34px,10.4vw,46px);line-height:1.05;letter-spacing:-.04em}
.mp .mh2{font-size:clamp(28px,8.6vw,38px);line-height:1.1;letter-spacing:-.035em}
.mp .mtxt{font-size:16px;line-height:1.65;color:#2F4A4E}
.mp .mlead{font-size:17px;line-height:1.6;color:#4A6467}
.mp .btn{height:56px;padding:0 28px;font-size:16px}
.mp .btn.full{width:100%;justify-content:center}
.mp .lnk{height:48px}
.mp .eyebrow{font-size:12px}
.mp .stack{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.mp .stack.g24{gap:24px}
.mp .rel{position:relative}
.mp .z1{position:relative;z-index:1}

/* header + drawer */
.mh{position:sticky;top:0;z-index:50;height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,249,243,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.mlogo{display:flex;align-items:center;gap:10px;color:#12363B}
.mlogo .tx{display:flex;flex-direction:column;gap:5px}
.mlogo .n1{font-family:'Sora',system-ui,sans-serif;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1}
.mlogo .n2{font-size:10px;letter-spacing:.36em;font-weight:600;color:#4A6467;line-height:1}
.mburger{width:48px;height:48px;border:0;border-radius:50%;background:#F6A56F;color:#12363B;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mdrawer{position:fixed;inset:0;z-index:100;background:#12363B;color:#FFF9F3;overflow-y:auto;padding:0 20px 40px}
.mdrawer[hidden]{display:none}
.mdrawer .top{height:64px;display:flex;align-items:center;justify-content:space-between}
.mdrawer .nav{display:flex;flex-direction:column;margin-top:14px}
.mdrawer .nav a{display:flex;align-items:baseline;justify-content:space-between;padding:14px 0;border-bottom:1px solid #2A5257;font-family:'Sora',system-ui,sans-serif;font-size:30px;font-weight:200;letter-spacing:-.035em}
.mdrawer .nav a.on{font-weight:700;color:#F6A56F}
.mdrawer .nav a small{font-family:'Albert Sans',sans-serif;font-size:12px;letter-spacing:.16em;color:#9FC2C0;font-weight:600}
.mdrawer .cta{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.mdrawer .tel{margin-top:22px;font-size:14px;color:#9FC2C0}
.mdrawer .tel a{display:block;margin-top:4px;font-family:'Sora',system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.03em;color:#F6A56F}

/* floating booking bar */
.mbar{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;width:min(calc(100% - 28px),452px);z-index:60;display:flex;gap:10px}
.mbar .btn{flex:1;justify-content:center;box-shadow:0 18px 36px -12px rgba(18,54,59,.55)}
.mbar .call{flex:none;width:56px;height:56px;border-radius:50%;background:#12363B;color:#F6A56F;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 36px -12px rgba(18,54,59,.55)}

/* hero */
.mp .mhero{position:relative;overflow:hidden;padding:26px 20px 110px}
.mp .mvis{position:relative;height:440px;margin-top:38px}
.mp .mvis-s{position:relative;height:270px;margin-top:34px}
.mp .abs{position:absolute}
.mp .mask{padding:.2em 0 .14em;margin:-.2em 0 -.14em}
.mp .chips{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:26px;position:relative;z-index:2}
.mp .chips .h-chip{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.mp .mpill{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 14px 26px -14px rgba(18,54,59,.5)}
.mp .mpill i{display:block;width:7px;height:7px;border-radius:50%}
.mp .crumb{font-size:13px}

/* cards */
.mp .mcard{position:relative;border-radius:30px;padding:22px}
.mp .mnum{font-family:'Sora',system-ui,sans-serif;font-weight:200;font-size:40px;line-height:1;letter-spacing:-.03em}
.mp .mcard h3{font-size:22px}
.mp .mcard p{font-size:15px;line-height:1.6}
.mp .mcols{display:flex;gap:14px;align-items:flex-start}
.mp .mcol{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
.mp .mcol.off{margin-top:44px}
.mp .mcards-s{padding:22px 18px;border-radius:26px}
.mp .mcards-s h3{font-size:18px;line-height:1.2}
.mp .mcards-s p{font-size:14px;line-height:1.5;margin-top:8px}
.mp .mcards-s .mnum{margin-bottom:34px}

/* horizontal scroller */
.mp .mcar{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 30px;margin:0 -20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.mp .mcar::-webkit-scrollbar{display:none}
.mp .mcar>*{flex:none;width:min(80%,320px);scroll-snap-align:center}
.mp .mcar>*:first-child{margin-left:0}

/* quote */
.mp .mq{padding:28px 26px;border-radius:30px;display:flex;flex-direction:column;gap:14px}
.mp .mq .qm{font-family:'Sora',system-ui,sans-serif;font-weight:800;font-size:72px;line-height:.7;height:36px}
.mp .mq blockquote{margin:0;font-size:16px;line-height:1.65}
.mp .mq .who{font-family:'Sora',system-ui,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.02em;margin-top:6px}

/* forms / booking on phones */
.mp .inp{font-size:16px}
.mp .steps{gap:8px}
.mp .steps .n{width:38px;height:38px;font-size:15px}
.mp .steps li .t{display:none}
.mp .steps li.cur .t{display:inline;font-size:15px}
.mp .bk-h{font-size:28px}
.mp .svc{height:auto;flex-direction:column;align-items:flex-start;gap:12px;padding:18px}
.mp .svc .nm{font-size:19px}
.mp .svc-tags{flex-direction:row;align-items:flex-start}
.mp .bk2{flex-direction:column;gap:22px}
.mp .bk2-cal{width:100%}
.mp .bk-slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.mp .bk-row{flex-direction:column}
.mp .bk-foot{flex-direction:column-reverse;gap:12px;align-items:stretch}
.mp .bk-foot .btn{width:100%;justify-content:center}
.mp .bk-done-btns{flex-direction:column;width:100%}
.mp .bk-done-btns .btn{width:100%;justify-content:center}
.mp .bk-h2{font-size:30px}
.mp .day{height:42px}

/* footer */
.mfoot{position:relative;background:#12363B;color:#FFF9F3;padding:56px 20px 110px}
.mfoot .grid{display:flex;flex-direction:column;gap:28px;margin-top:34px}
.mfoot .k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F6A56F;margin-bottom:10px}
.mfoot a.l1{display:block;font-size:15px;line-height:30px}
.mfoot .bot{margin-top:34px;padding-top:20px;border-top:1px solid #2A5257;font-size:13px;color:#9FC2C0;display:flex;justify-content:space-between;gap:12px}
/* ProcessWire layout */
.site-shell { width: 100%; margin: 0; background: transparent; }
.site-desktop { display: block; }
header.hdr.site-desktop { display: flex; }
.site-mobile { display: none; }
@media (max-width: 900px) {
  body.mob-ready { background: #FFF9F3; }
  .site-desktop { display: none !important; }
  .site-mobile { display: block !important; }
  header.mh.site-mobile { display: flex !important; }
  .mdrawer[hidden] { display: none !important; }
  .page.mp,
  .home-wrap.mp,
  .inner-page.mp {
    width: 100%;
    max-width: none;
    margin: 0;
    box-shadow: none;
  }
}
.page-in {
  position: relative;
  width: 1280px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.h-hero-full {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #FFF9F3;
}
.h-hero-stage {
  height: 800px;
}
.sec-stage {
  position: relative;
  width: 1280px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  z-index: 1;
}
/* Full-bleed section backgrounds: outer .sec spans viewport, .sec-stage holds 1280px layout */
.home-wrap .sec.site-desktop,
.inner-page .sec.site-desktop {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.home-wrap .ms.site-mobile,
.inner-page .ms.site-mobile,
.inner-page .mhero.site-mobile,
.inner-page .mfoot.site-mobile {
  width: 100%;
}
@media (min-width: 901px) and (max-width: 1279px) {
  .home-wrap .sec.site-desktop {
    margin-bottom: calc(var(--sec-h, 560px) * (100vw / 1280px - 1));
    overflow: hidden;
  }
  .inner-page .sec.site-desktop {
    margin-bottom: calc(var(--sec-h, 0px) * (100vw / 1280px - 1));
    overflow: hidden;
  }
  .home-wrap .sec.site-desktop > .sec-stage,
  .inner-page .sec.site-desktop > .sec-stage,
  .h-hero-full .page-in.h-hero-stage {
    width: 1280px;
    max-width: none;
    transform: scale(calc(100vw / 1280px));
    transform-origin: top left;
    margin-left: calc(50% - 640px * (100vw / 1280px));
    margin-right: 0;
    overflow: hidden;
  }
  .h-hero-full {
    height: calc(800px * (100vw / 1280px));
    overflow: hidden;
  }
  .inner-page .sec.ihero.site-desktop {
    height: calc(520px * (100vw / 1280px)) !important;
    margin-bottom: 0;
  }
}
.h-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.h-hero-bg-shape {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 55vw;
  min-width: 520px;
  max-width: 900px;
}
.h-hero-full .h-waves {
  position: absolute;
  left: 0;
  bottom: -40px;
  width: 100%;
  height: 170px;
  overflow: hidden;
}
.h-wave-track {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  width: max-content;
  will-change: transform;
}
.h-wave-track .h-wave {
  flex: none;
  display: block;
  max-width: none;
  height: 170px;
}
.mhero .h-waves .h-wave-track .h-wave {
  height: 110px;
}

/* homepage services field — one-color rings + waves */
.s-field {
  position: relative;
  overflow: hidden;
}
.s-field > .sec-stage {
  z-index: 1;
}
.s-field-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.s-waves {
  position: absolute;
  left: 0;
  overflow: hidden;
  pointer-events: none;
}
.s-waves-a {
  top: 36px;
  width: 100%;
  height: 140px;
}
.s-waves-b {
  top: 520px;
  left: -8%;
  width: 116%;
  height: 140px;
  transform: rotate(-11deg);
  transform-origin: 0 50%;
}
.s-wave-track {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  width: max-content;
  will-change: transform;
}
.s-wave-track .s-wave {
  flex: none;
  display: block;
  max-width: none;
  height: 140px;
}
.s-rings {
  position: absolute;
  pointer-events: none;
}
.s-rings-a {
  left: -160px;
  top: 430px;
  width: 520px;
  height: 520px;
}
.s-rings-b {
  left: auto;
  right: -80px;
  top: -80px;
  width: 420px;
  height: 420px;
}
.s-ripple,
.s-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  box-sizing: border-box;
}
.s-rings-a .s-ripple {
  width: 280px;
  height: 280px;
  margin: -140px 0 0 -140px;
  border: 1.5px solid rgba(29,90,94,.32);
}
.s-rings-a .s-ring:nth-of-type(3) {
  width: 320px;
  height: 320px;
  margin: -160px 0 0 -160px;
  border: 1.4px solid rgba(29,90,94,.26);
}
.s-rings-a .s-ring-dash {
  width: 400px;
  height: 400px;
  margin: -200px 0 0 -200px;
  border: 1.4px dashed rgba(29,90,94,.38);
}
.s-rings-a .s-ring:nth-of-type(5) {
  width: 500px;
  height: 500px;
  margin: -250px 0 0 -250px;
  border: 1.3px solid rgba(29,90,94,.16);
}
.s-rings-b .s-ripple {
  width: 180px;
  height: 180px;
  margin: -90px 0 0 -90px;
  border: 1.4px solid rgba(29,90,94,.3);
}
.s-rings-b .s-ring-dash {
  width: 260px;
  height: 260px;
  margin: -130px 0 0 -130px;
  border: 1.4px dashed rgba(29,90,94,.32);
}
.s-rings-b .s-ring:nth-of-type(3) {
  width: 340px;
  height: 340px;
  margin: -170px 0 0 -170px;
  border: 1.3px solid rgba(29,90,94,.16);
}
.s-field-bg-m .s-waves-a {
  top: 8px;
  height: 110px;
}
.s-field-bg-m .s-wave-track .s-wave {
  height: 110px;
}
.s-field-bg-m .s-rings-a {
  left: auto;
  right: -90px;
  top: 40px;
  width: 280px;
  height: 280px;
}
.s-field-bg-m .s-rings-a .s-ripple {
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
}
.s-field-bg-m .s-rings-a .s-ring:nth-of-type(3) {
  width: 180px;
  height: 180px;
  margin: -90px 0 0 -90px;
}
.s-field-bg-m .s-rings-a .s-ring-dash {
  width: 230px;
  height: 230px;
  margin: -115px 0 0 -115px;
}
.s-field-bg-m .s-rings-a .s-ring:nth-of-type(5) {
  width: 280px;
  height: 280px;
  margin: -140px 0 0 -140px;
}
.s-field-bg-m .s-rings-b {
  left: -110px;
  top: auto;
  bottom: 180px;
  width: 300px;
  height: 300px;
}
.s-field-bg-m .s-rings-b .s-ripple {
  width: 140px;
  height: 140px;
  margin: -70px 0 0 -70px;
}
.s-field-bg-m .s-rings-b .s-ring-dash {
  width: 200px;
  height: 200px;
  margin: -100px 0 0 -100px;
}
.s-field-bg-m .s-rings-b .s-ring:nth-of-type(3) {
  width: 270px;
  height: 270px;
  margin: -135px 0 0 -135px;
}
@media (prefers-reduced-motion: reduce) {
  .s-wave-track,
  .s-ripple,
  .s-ring,
  .p-arc {
    animation: none !important;
  }
}

/* homepage process — two voices talking */
.p-field {
  position: relative;
  overflow: hidden;
}
.p-field > .sec-stage {
  z-index: 1;
}
.p-talk-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 0;
}
.p-arc {
  transform-box: view-box;
  will-change: transform, opacity;
}
.p-arc-path {
  vector-effect: non-scaling-stroke;
}
.hdr{position:absolute;left:0;top:0;z-index:20;width:100%;height:96px;padding:0 64px;box-sizing:border-box;display:flex;align-items:center;gap:32px}
.hdr-logo{flex:0 0 auto}
.hdr-nav{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:22px;min-width:0;flex-wrap:nowrap}
.hdr-nav .nl{white-space:nowrap;position:relative;border-bottom:0;padding-bottom:10px}
.hdr-nav .nl:hover,
.hdr-nav .nl.on{border-bottom-color:transparent}
.hdr-nav .nl-line{
  position:absolute;left:0;bottom:0;width:100%;height:10px;
  display:block;overflow:visible;pointer-events:none
}
.hdr-nav .nl-line path{
  fill:none;stroke:transparent;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round
}
.hdr-nav .nl:hover .nl-line path{stroke:#8FD0C8}
.hdr-nav .nl.on .nl-line path{stroke:#F6A56F}
.hdr-actions{flex:0 0 auto;margin-left:auto}

.home-wrap {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  background: #FFF9F3;
  overflow: hidden;
}
.inner-page {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  background: #FFF9F3;
  overflow: hidden;
}
.mfoot .grid {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.mfoot .bot {
  flex-wrap: wrap;
}
.mbar {
  display: none !important;
}
.mfoot {
  padding-bottom: 56px;
}
@media (max-width: 900px) {
  .mp .mvis { height: 470px; }
}