

@font-face {font-family:'Bodoni Moda';src:url('../fonts/BodoniModa-VF.woff2') format('woff2-variations'),url('../fonts/BodoniModa-VF.ttf') format('truetype-variations');font-weight:200 900;font-display:swap}
@font-face {font-family:'Bodoni Moda';src:url('../fonts/BodoniModa-Italic-VF.woff2') format('woff2-variations'),url('../fonts/BodoniModa-Italic-VF.ttf') format('truetype-variations');font-weight:200 900;font-style:italic;font-display:swap}
@font-face {font-family:'Source Sans 3';src:url('../fonts/SourceSans3-VF.woff2') format('woff2-variations'),url('../fonts/SourceSans3-VF.ttf') format('truetype-variations');font-weight:200 900;font-display:swap}
@font-face {font-family:'Source Sans 3';src:url('../fonts/SourceSans3-Italic-VF.woff2') format('woff2-variations'),url('../fonts/SourceSans3-Italic-VF.ttf') format('truetype-variations');font-weight:200 900;font-style:italic;font-display:swap}
@font-face {font-family:'Source Serif 4';src:url('../fonts/SourceSerif4-VF.woff2') format('woff2-variations'),url('../fonts/SourceSerif4-VF.ttf') format('truetype-variations');font-weight:200 900;font-display:swap}
@font-face {font-family:'Source Serif 4';src:url('../fonts/SourceSerif4-Italic-VF.woff2') format('woff2-variations'),url('../fonts/SourceSerif4-Italic-VF.ttf') format('truetype-variations');font-weight:200 900;font-style:italic;font-display:swap}

:root {
  --hairline: rgba(14,14,12,0.14);
  --hairline-dark: rgba(242,239,232,0.14);
  --body-ink: var(--ink-90);
  --lede-c: var(--ink-70);
  --page: var(--white);
  --bone-70: rgba(242,239,232,0.72);
  --bone-45: rgba(242,239,232,0.58);
  --accent-2: var(--oxblood);
  --accent-bright: #CB5454;
  --plum-hover: var(--plum-deep);
  
  --mark-plum:#8B3A54; --mark-context:#C9C4B8;
  --grid-line: rgba(14,14,12,0.12); --grid-line-dark: rgba(242,239,232,0.14);
  --ink-panel:#1A1916;
  --font-body: var(--ff-sans);
}

.section-dark {background:var(--ink);color:var(--bone-70)}
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 {color:var(--bone)}
.section-dark .eyebrow {color:var(--accent-bright)}
.section-dark .lead, .section-dark .lede {color:var(--bone-70)}
.section-dark .btn-outline {color:var(--bone);border-color:var(--bone)}
.section-dark .btn-outline:hover {background:var(--bone);color:var(--ink)}
.section-warm {background:var(--bone)}
h1 em, h2 em, h3 em {font-style:italic}

h2 .tilt, h1 .tilt {font-style:italic;color:var(--oxblood)}
.section-dark h2 .tilt, .section-dark h1 .tilt {color:var(--accent-bright)}

.reveal {opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.reveal.in {opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal {opacity:1;transform:none;transition:none}}

.schematic {display:block;margin-inline:auto;max-width:340px}
.schematic .ln {fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.65}
.schematic .ln-s {fill:none;stroke:var(--ink);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;opacity:.3}
.schematic .ln-f {fill:var(--ink);stroke:none;opacity:.55}
.schematic .fz {fill:var(--plum);fill-opacity:.07;stroke:var(--plum);stroke-opacity:.22;stroke-width:1}
.schematic .fz-s {fill:none;stroke:var(--plum);stroke-opacity:.13;stroke-width:13;stroke-linecap:round}
.schematic .fz, .schematic .fz-s {transition:fill-opacity .7s var(--ease),stroke-opacity .7s var(--ease)}
.schematic .fz.on {fill:var(--oxblood);fill-opacity:.16;stroke:var(--oxblood);stroke-opacity:.6;stroke-width:1.4}
.schematic .fz-s.on {stroke:var(--oxblood);stroke-opacity:.3}
.schematic--focus .fz:not(.on) {fill-opacity:.035;stroke-opacity:.1}
.schematic--focus .fz-s:not(.on) {stroke-opacity:.06}
.section-dark .schematic .ln {stroke:var(--bone);opacity:.8}
.section-dark .schematic .ln-s {stroke:var(--bone);opacity:.4}
.section-dark .schematic .ln-f {fill:var(--bone);opacity:.65}
.section-dark .schematic .fz.on {fill:var(--accent-bright);fill-opacity:.26;stroke:var(--accent-bright);stroke-opacity:.8}
.section-dark .schematic .fz-s.on {stroke:var(--accent-bright);stroke-opacity:.42}
.schematic-cap {text-align:center;font-size:.82rem;color:var(--smoke);margin-top:.7rem}
.schematic-wrap {padding:clamp(.5rem,2vw,1.5rem)}

.scale {margin:3.4rem 0 1rem;position:relative}

.section-banner {padding:clamp(2.6rem,6vw,4.2rem) 0}
.section-banner h2 {margin:0;text-align:center;font-size:clamp(2rem,4.2vw,3.2rem)}

.section-banner .banner-trust {display:flex;flex-wrap:wrap;gap:.55rem 2.2rem;justify-content:center;align-items:center;margin-top:1.35rem;font-size:.84rem;font-weight:500;letter-spacing:.04em;color:var(--bone-70);text-align:center}
.section-banner .banner-trust-sep {opacity:.45}

.stats {display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}

@media (max-width:900px){.stats {grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.stats {grid-template-columns:1fr}}
.stat {background:var(--white);padding:1.6rem 1.5rem 1.4rem}

.section-dark .stats {background:var(--hairline-dark);border-color:var(--hairline-dark)}
.section-dark .stat {background:var(--ink-panel)}

.chart-card {background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);padding:clamp(1.3rem,2.4vw,1.8rem);position:relative}
.chart-card .chart__title {font-family:var(--ff-sans);font-weight:650;font-size:1.02rem;color:var(--ink);margin:0 0 .15rem}
.chart-card .chart__sub {font-size:.85rem;color:var(--smoke);margin:0 0 1.1rem;font-family:var(--ff-sans)}
.chart {position:relative}
.chart svg {width:100%;height:auto;display:block}
.chart .grid-l {stroke:var(--grid-line);stroke-width:1}
.chart .axis-t {font-family:var(--ff-sans);font-size:11.5px;fill:var(--smoke)}
.chart .dlabel {font-family:var(--ff-sans);font-size:12.5px;font-weight:650;fill:var(--ink-90)}
.chart-src {font-size:.78rem;color:var(--smoke);margin-top:.8rem}
.chart-tip {position:absolute;pointer-events:none;z-index:5;opacity:0;transition:opacity .15s;background:var(--ink);color:var(--bone);font-size:.82rem;line-height:1.4;padding:.45rem .7rem;border-radius:2px;white-space:nowrap;transform:translate(-50%,calc(-100% - 10px))}
.chart-tip strong {color:#fff}
.chart-tip.show {opacity:1}
.meter {margin:.35rem 0 .2rem}
.meter__track {height:10px;border-radius:2px;background:var(--bone-2);overflow:hidden}
.meter__fill {height:100%;width:0;border-radius:2px;background:var(--mark-plum);transition:width 1.4s var(--ease)}
@media (prefers-reduced-motion:reduce){.meter__fill {transition:none}}
.meter__row {display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:var(--smoke);margin-top:.5rem;font-family:var(--ff-sans)}
.meter__row strong {font-size:1.3rem;font-weight:640;color:var(--ink);font-family:var(--ff-sans)}

.ph {position:relative;border-radius:var(--radius);overflow:hidden;background:repeating-linear-gradient(45deg,rgba(14,14,12,.045) 0 1px,transparent 1px 14px),linear-gradient(160deg,var(--bone),var(--bone-3));border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;min-height:180px}
.ph::before {content:"";position:absolute;inset:12px;border:1.5px dashed rgba(107,104,98,.4);border-radius:2px}
.ph__tag {position:relative;z-index:1;text-align:center;padding:1rem 1.4rem;max-width:85%}
.ph__tag .t {display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#57544F;border:1px solid currentColor;border-radius:2px;padding:.32em .95em;margin-bottom:.55rem}
.ph__tag .n {display:block;font-size:.85rem;color:#57544F;line-height:1.45;font-family:var(--ff-sans)}
.ph--169 {aspect-ratio:16/9}

.ba-note {font-size:.82rem;color:var(--smoke);margin-top:.7rem}
.section-dark .ba-note {color:var(--bone-45)}

.photo {border-radius:var(--radius);overflow:hidden;background:var(--bone-2);position:relative}
.photo img {width:100%;height:100%;object-fit:cover;display:block}
.photo--45 {aspect-ratio:4/5}.photo--32 {aspect-ratio:3/2}.photo--11 {aspect-ratio:1/1}
.photo-cap {position:absolute;left:10px;bottom:10px;right:10px;background:rgba(14,14,12,.82);color:var(--bone);padding:6px 10px;border-radius:2px;font-family:var(--ff-sans);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-align:center;backdrop-filter:blur(6px)}

.ipoints {display:grid;gap:1.25rem}
.ipoint {display:flex;gap:.95rem;align-items:flex-start}
.ipoint .ic {flex:0 0 auto;width:25px;height:25px;color:var(--oxblood);margin-top:2px}
.ipoint .ic svg {width:100%;height:100%;display:block}
.ipoint strong {display:block;font-size:1.02rem;color:var(--ink);font-weight:650;font-family:var(--ff-sans)}
.ipoint p {margin:.15rem 0 0;font-size:.94rem;color:var(--lede-c);font-family:var(--ff-sans)}
.section-dark .ipoint strong {color:var(--bone)}
.section-dark .ipoint p {color:var(--bone-70)}
.section-dark .ipoint .ic {color:var(--accent-bright)}

.phases {display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(1rem,2.2vw,1.5rem)}
@media (max-width:820px){.phases {grid-template-columns:1fr}}

.phases-media {display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:clamp(1.2rem,2.6vw,2rem);align-items:stretch}
.phases-media .phases {grid-template-columns:1fr}
.phases-media video {width:100%;height:100%;object-fit:cover;border-radius:var(--radius);background:#000;display:block}
@media (max-width:820px){
  .phases-media {grid-template-columns:1fr}
  .phases-media video {height:auto;aspect-ratio:9/16;max-height:68vh;max-width:400px;margin-inline:auto}
}
.phase {background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.6rem 1.5rem}
.phase .ph-k {font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--smoke);font-family:var(--ff-sans)}
.phase .ph-word {font-family:var(--ff-display);font-size:1.65rem;color:var(--ink);letter-spacing:-.01em;margin:.3rem 0 0;font-weight:400}
.phase .ph-word em {font-style:italic;color:var(--oxblood);font-weight:380}
.phase p:not(.ph-word) {font-size:.94rem;color:var(--lede-c);margin:.5rem 0 0;font-family:var(--ff-sans)}
.section-dark .phase {background:var(--ink-panel);border-color:var(--hairline-dark)}
.section-dark .phase .ph-word {color:var(--bone)}
.section-dark .phase p:not(.ph-word) {color:var(--bone-70)}

.rail {display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}

.rail>div {background:var(--white);padding:1.4rem 1.15rem 1.25rem;color:inherit;display:flex;flex-direction:column}
.rail .ltr {font-family:var(--ff-display);font-size:2.6rem;line-height:1;color:var(--plum)}
.rail h3 {font-size:1.05rem;font-family:var(--ff-sans);font-weight:680;margin:.55rem 0 .1rem;color:var(--ink);letter-spacing:0}
.rail .sig {font-family:var(--ff-display);font-style:italic;color:var(--oxblood);font-size:.9rem;margin:0 0 .5rem}
.rail p {font-size:.86rem;color:var(--lede-c);margin:0;line-height:1.5;font-family:var(--ff-sans)}
@media (max-width:1020px){.rail {grid-template-columns:repeat(2,1fr)}.rail>div:last-child {grid-column:1/-1}}
@media (max-width:560px){.rail {grid-template-columns:1fr}.rail>div:last-child {grid-column:auto}}

.tag-row {display:flex;flex-wrap:wrap;align-items:baseline;column-gap:1.15rem;row-gap:.55rem;margin-top:1.5rem;border-top:1px solid var(--hairline);padding-top:1.1rem}
.tag {font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke);font-family:var(--ff-sans)}
.tag+.tag::before {content:"◆";color:var(--oxblood);font-size:.6em;margin-right:1.15rem;vertical-align:2px}
.section-dark .tag-row {border-top-color:var(--hairline-dark)}
.section-dark .tag {color:var(--bone-70)}
.section-dark .tag+.tag::before {color:var(--accent-bright)}

.faq {border-top:1px solid var(--hairline)}
.faq details {border-bottom:1px solid var(--hairline)}
.faq summary {cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.2rem .2rem;font-weight:640;font-size:1.05rem;color:var(--ink);font-family:var(--ff-sans)}
.faq summary::-webkit-details-marker {display:none}
.faq summary .pm {flex:0 0 auto;width:24px;height:24px;border:1.5px solid var(--smoke);border-radius:50%;position:relative;transition:.25s var(--ease)}
.faq summary .pm::before, .faq summary .pm::after {content:"";position:absolute;background:var(--smoke);top:50%;left:50%;translate:-50% -50%;transition:.25s var(--ease)}
.faq summary .pm::before {width:9px;height:1.5px}
.faq summary .pm::after {width:1.5px;height:9px}
.faq details[open] summary .pm {border-color:var(--oxblood);transform:rotate(45deg)}
.faq details[open] summary .pm::before, .faq details[open] summary .pm::after {background:var(--oxblood)}
.faq .faq__a {padding:0 2.6rem 1.3rem .2rem;color:var(--lede-c);max-width:760px;font-family:var(--ff-sans)}

.form {display:grid;gap:1.1rem;font-family:var(--ff-sans)}
.form__grid {display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:640px){.form__grid {grid-template-columns:1fr}}
.field label {display:block;font-size:.86rem;font-weight:650;color:var(--ink);margin-bottom:.4rem}
.field label .req {color:var(--oxblood)}
.field .hint {font-size:.78rem;color:var(--smoke);margin-top:.35rem}
.field input, .field select, .field textarea {width:100%;font-family:var(--ff-sans);font-size:1rem;color:var(--ink-90);background:var(--white);border:1px solid var(--ink-15);border-radius:2px;padding:.7rem .85rem;transition:border-color .2s,box-shadow .2s}
.field input:focus, .field select:focus, .field textarea:focus {outline:none;border-color:var(--plum);box-shadow:0 0 0 3px rgba(74,31,42,.12)}
.field textarea {min-height:100px;resize:vertical}
.field--err input, .field--err select, .field--err textarea {border-color:var(--oxblood);box-shadow:0 0 0 3px rgba(107,26,26,.1)}
.field .err-msg {display:none;font-size:.78rem;color:var(--oxblood);margin-top:.35rem;font-weight:600}
.field--err .err-msg {display:block}
.check {display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:var(--lede-c);font-family:var(--ff-sans)}
.check input {width:17px;height:17px;margin-top:3px;accent-color:var(--plum);flex:0 0 auto}
.check.field--err {color:var(--oxblood)}
.check.field--err input {outline:2px solid var(--oxblood);outline-offset:2px}
.upload {border:1.5px dashed var(--ink-15);border-radius:2px;background:var(--white);padding:1.3rem;text-align:center;cursor:pointer;transition:border-color .2s;position:relative;font-family:var(--ff-sans)}
.upload:hover, .upload:focus-within {border-color:var(--oxblood)}
.upload input {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload .u-t {font-weight:650;color:var(--ink);font-size:.94rem}
.upload .u-n {font-size:.8rem;color:var(--smoke)}
.upload.has-file {border-style:solid;border-color:var(--plum)}
.form__ok {display:none;background:var(--white);border:1px solid var(--hairline);border-left:3px solid var(--plum);border-radius:2px;padding:1.3rem 1.5rem;font-family:var(--ff-sans)}
.form__ok.show {display:block}

.fgroup {border:1px solid var(--hairline);border-radius:var(--radius);background:var(--white);padding:clamp(1.3rem,2.5vw,1.8rem);margin:0}
.fgroup legend {font-family:var(--ff-display);font-size:1.35rem;color:var(--ink);padding:0 .5rem;margin-left:-.5rem;font-weight:400}
.fgroup .fgroup__d {font-size:.88rem;color:var(--smoke);margin:-.2rem 0 1rem;font-family:var(--ff-sans)}
.pills {display:flex;flex-wrap:wrap;gap:.6rem}
.pill {position:relative}
.pill input {position:absolute;inset:0;opacity:0;cursor:pointer}
.pill span {display:inline-block;border:1px solid var(--ink-15);border-radius:2px;padding:.42em 1em;font-size:.9rem;font-weight:560;color:var(--lede-c);transition:.2s;cursor:pointer;background:var(--white);font-family:var(--ff-sans)}
.pill input:checked+span {background:var(--plum);border-color:var(--plum);color:var(--bone)}
.pill input:focus-visible+span {outline:2px solid var(--oxblood);outline-offset:2px}

.price-note {display:inline-flex;align-items:center;gap:.6rem;background:#FBF3E4;border:1px solid #EAD9B8;color:#6B5518;font-size:.86rem;font-weight:600;border-radius:2px;padding:.6rem 1rem;margin-bottom:2rem;font-family:var(--ff-sans)}
.ptable-wrap {border:1px solid var(--hairline);border-radius:var(--radius);overflow-x:auto;background:var(--white)}
.ptable-wrap table {width:100%;border-collapse:collapse;font-family:var(--ff-sans)}
.ptable-wrap th {text-align:left;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke);font-weight:700;padding:.95rem 1.3rem;border-bottom:1px solid var(--hairline);background:var(--bone)}
.ptable-wrap td {padding:1rem 1.3rem;border-bottom:1px solid var(--hairline);font-size:.96rem;vertical-align:top}
.ptable-wrap tr:last-child td {border-bottom:0}
.ptable-wrap td:last-child, .ptable-wrap th:last-child {text-align:right;white-space:nowrap}
.ptable-wrap .tname {font-weight:650;color:var(--ink)}
.ptable-wrap .tsub {display:block;font-size:.82rem;color:var(--smoke);font-weight:400}
.ptable-wrap .price {font-weight:680;color:var(--plum);font-size:1.02rem}
.ptable-wrap .price .from {font-size:.76rem;color:var(--smoke);font-weight:500;margin-right:.3em}
.tier {position:relative;background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);padding:clamp(1.4rem,2.6vw,2rem);display:flex;flex-direction:column}
.tier--hero {border-color:var(--plum);box-shadow:0 0 0 1px var(--plum)}

.tier h3 {margin-bottom:.2rem}
.tier .k {font-family:var(--ff-display);font-style:italic;color:var(--oxblood);font-size:.95rem;margin-bottom:.9rem}
.tier .tier__p {font-family:var(--ff-sans);font-size:2rem;font-weight:640;color:var(--ink);margin:.3rem 0 .1rem}
.tier .tier__p .from {font-size:.8rem;color:var(--smoke);font-weight:500}
.tier ul {list-style:none;margin:1rem 0 1.4rem;padding:0;display:grid;gap:.55rem}
.tier ul li {padding-left:1.3rem;position:relative;font-size:.93rem;color:var(--lede-c);font-family:var(--ff-sans)}
.tier ul li::before {content:"◆";position:absolute;left:0;top:.14em;color:var(--oxblood);font-size:.6em}
.tier .btn {margin-top:auto;align-self:flex-start}

.facts {display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}
@media (max-width:820px){.facts {grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:480px){.facts {grid-template-columns:1fr!important}}
.fact {background:var(--white);padding:1.1rem 1.25rem}
.fact .f-l {display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke);font-weight:700;font-family:var(--ff-sans)}
.fact .f-v {display:block;font-weight:650;color:var(--ink);font-size:1.02rem;margin-top:.2rem;font-family:var(--ff-sans)}

.rows {border-top:1px solid var(--hairline)}
.row {display:grid;grid-template-columns:64px minmax(0,1.1fr) minmax(0,1.6fr);gap:1.6rem;padding:1.5rem 0;border-bottom:1px solid var(--hairline);align-items:baseline}
.row .row__num {font-family:var(--ff-display);color:var(--oxblood);font-size:1.05rem}
.row h3 {margin:0}
.row p {margin:0;color:var(--lede-c);font-family:var(--ff-sans)}
@media (max-width:760px){.row {grid-template-columns:44px 1fr}.row p {grid-column:2}}
.num {font-family:var(--ff-display);font-size:1rem;color:var(--oxblood);letter-spacing:.04em;margin-bottom:.7rem;display:block}
.cta-inline {display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--hairline);border-radius:var(--radius);padding:1.05rem 1.4rem;background:var(--white);font-family:var(--ff-sans)}
.cta-inline .t {font-weight:650;color:var(--ink)}
.cta-inline .t small {display:block;font-weight:400;color:var(--smoke);font-size:.85rem}
.cta-inline .a {display:flex;gap:.7rem;flex-wrap:wrap}
[id] {scroll-margin-top:96px}
.visually-keyword {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.grid--2 {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid--3 {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

@media (max-width:1020px){.grid--3 {grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid--2, .grid--3 {grid-template-columns:1fr}}

body:not(.page-home) .hero {padding-top:112px}
body:not(.page-home) .hero-inner {min-height:auto;padding-bottom:56px;align-items:center}
body:not(.page-home) .hero-portrait {max-height:520px;aspect-ratio:4/5}
@media (max-width:900px){body:not(.page-home) .hero-portrait {max-height:420px;aspect-ratio:3/4}}

.card {background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);padding:clamp(1.3rem,2.4vw,1.8rem)}
.card h3 {margin-bottom:.35rem}

.book-cta .btn-outline {color:var(--bone);border-color:var(--bone)}
.book-cta .btn-outline:hover {background:var(--bone);color:var(--ink)}

.book-cta .link-accent, .section-dark .link-accent {color:var(--accent-bright)}
.book-cta .link-accent:hover, .section-dark .link-accent:hover {color:var(--bone)}

.compare {display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}
@media (max-width:820px){.compare {grid-template-columns:1fr}}
.compare>div {background:var(--white);padding:clamp(1.4rem,2.6vw,2rem)}
.compare .cmp-k {font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;font-family:var(--ff-sans);color:var(--smoke)}
.compare h3 {font-size:1.35rem;margin:.3rem 0 1rem}
.compare ul {list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.compare li {padding-left:1.5rem;position:relative;font-size:.95rem;color:var(--lede-c);font-family:var(--ff-sans);line-height:1.55}
.compare .cmp-no li::before {content:"✕";position:absolute;left:0;top:.1em;color:var(--smoke);font-size:.75em}
.compare .cmp-yes {box-shadow:inset 3px 0 0 var(--plum)}
.compare .cmp-yes li::before {content:"◆";position:absolute;left:0;top:.18em;color:var(--oxblood);font-size:.6em}
.compare .cmp-note {margin-top:1.1rem;font-size:.85rem;color:var(--smoke);font-family:var(--ff-sans)}

.collage {border-radius:var(--radius);overflow:hidden;transform:scale(var(--cz,.92)) translateY(var(--cy,20px));transform-origin:center center;will-change:transform;box-shadow:0 18px 44px -20px rgba(0,0,0,.35)}
.collage img {width:100%;display:block}
@media (prefers-reduced-motion:reduce){.collage {transform:none}}

.doctor-panel {display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:56px}
@media (max-width:820px){.doctor-panel {grid-template-columns:1fr;padding-top:48px}}

.doctor-panel .dp.dp--breakout {overflow:visible}
.dp--breakout .dp-figure {position:relative;aspect-ratio:3/2;background:linear-gradient(180deg,var(--bone) 0%,var(--bone-3) 118%);border-bottom:1px solid var(--hairline)}

.dp--breakout .dp-figure img {position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:120%;width:auto;filter:drop-shadow(0 12px 22px rgba(20,20,18,.16))}
.plate-seg.doctor-seg {display:none}
@media (max-width:820px){
  .plate-seg.doctor-seg {display:flex;margin:0 0 1.15rem}
  .doctor-panel[data-active-doctor="band"] .dp--ellie {display:none}
  .doctor-panel[data-active-doctor="ellie"] .dp--band {display:none}
}

.dp-body {display:flex;flex-direction:column;flex:1}
.dp-body p:not(.dp-k):not(.dp-meta) {flex:1 1 auto}
.dp-meta {margin-top:auto;padding-top:.9rem;font-size:.95rem;font-family:var(--ff-sans)}
.dp-meta .dp-gmc {display:inline-block;margin-top:.4rem;font-size:.76rem;letter-spacing:.08em;color:var(--smoke)}
.doctor-panel .dp {background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.doctor-panel .dp .photo, .doctor-panel .dp .ph {border-radius:0}
.dp-body {padding:1.35rem 1.5rem 1.6rem}
.dp-k {font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;font-family:var(--ff-sans);color:var(--oxblood)}
.dp-body h3 {margin:.3rem 0 .5rem}
.dp-body p {font-size:.95rem;color:var(--lede-c);font-family:var(--ff-sans);margin:0}

.results {position:relative}
.results__strip {display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 2px .5rem;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3.5% 96.5%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 3.5% 96.5%,transparent 100%)}
.results__strip::-webkit-scrollbar {display:none}
.results__strip .photo {flex:0 0 min(420px,78vw);scroll-snap-align:center;aspect-ratio:4/5}
button.photo {padding:0;text-align:inherit;cursor:pointer;display:block;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
button.photo:hover {transform:scale(1.015);box-shadow:0 14px 30px -12px rgba(0,0,0,.3);z-index:2}
button.photo::after {content:"View ↗";position:absolute;top:10px;right:10px;background:rgba(255,255,255,.92);color:var(--ink);padding:4px 9px;border-radius:2px;font-family:var(--ff-sans);font-size:.66rem;font-weight:600;letter-spacing:.04em;opacity:0;transform:translateY(-4px);transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none}
button.photo:hover::after, button.photo:focus-visible::after {opacity:1;transform:translateY(0)}
.results__bar {height:2px;background:var(--ink-08);border-radius:1px;margin-top:1rem;overflow:hidden}
.results__bar i {display:block;height:100%;background:var(--oxblood);width:0;transition:width .4s var(--ease)}
.results__nav {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.7rem}
.results__count {font-family:var(--ff-sans);font-size:.85rem;color:var(--smoke);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.results__btns {display:flex;gap:.5rem}
.results__btn {width:44px;height:44px;border:1px solid var(--ink-15);border-radius:2px;background:var(--white);color:var(--ink);font-size:1.05rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease)}
.results__btn:hover {background:var(--ink);color:var(--bone)}
.results__btn:active {transform:translateY(1px)}

.codex-plate {max-width:640px;margin-inline:auto}
.codex-plate .schematic {max-width:min(340px,86vw)}

.plate-seg {display:flex;justify-content:center;margin-bottom:.4rem}
.plate-seg__btn {min-height:44px;padding:10px 22px;border:1px solid var(--line);background:transparent;font-family:var(--ff-sans);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--smoke);cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);margin-left:-1px;position:relative}
.plate-seg__btn:first-child {margin-left:0;border-radius:2px 0 0 2px}
.plate-seg__btn:last-child {border-radius:0 2px 2px 0}
.plate-seg__btn:hover {color:var(--ink)}
.plate-seg__btn.is-on {color:var(--oxblood);border-color:var(--oxblood);background:rgba(107,26,26,.05);z-index:1}
.plate-stage {position:relative}

.plate-card {max-width:560px;margin:1.1rem auto 0;background:var(--white);border:1px solid var(--line);border-radius:3px;padding:1.05rem 1.2rem 1.15rem;min-height:122px}
.plate-card__row {display:flex;align-items:center;justify-content:space-between;gap:1rem}
.plate-card__k {font-family:var(--ff-sans);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--oxblood);margin:0}
.plate-card__t {font-size:.98rem;line-height:1.55;color:var(--lede-c);margin:.5rem 0 0}
.plate-card__link {display:inline-block;margin-top:.65rem;font-family:var(--ff-sans);font-size:.88rem;font-weight:600;color:var(--oxblood)}
.plate-card__link:hover {color:var(--ink)}
.plate-card__nav {display:flex;align-items:center;gap:.55rem}
.plate-nav__btn {width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;border-radius:2px;color:var(--ink);font-size:1rem;cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease)}
.plate-nav__btn:hover {border-color:var(--oxblood);color:var(--oxblood)}
.plate-dots {display:inline-flex;gap:6px}
.plate-dots i {width:5px;height:5px;background:var(--line);display:inline-block}
.plate-dots i.on {background:var(--oxblood)}
@media (max-width:640px){
  .plate-seg__btn {flex:1;padding:10px 8px}
  .plate-card {min-height:150px}
  .plate-card__row {flex-wrap:wrap}
}

@media (min-width:961px){
  .codex-plate {max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr);gap:clamp(2rem,4.5vw,4rem);align-items:center}
  .codex-plate .plate-stage {grid-column:1}
  .codex-plate .schematic {max-width:460px}
  .codex-plate .plate-card {grid-column:2;margin:0;max-width:560px}
}

.specimen {display:grid;grid-template-columns:minmax(0,440px) minmax(260px,1fr);gap:clamp(1.6rem,4vw,3rem);align-items:center}
.specimen__doc {background:var(--white);color:var(--ink);border-radius:3px;padding:1.35rem 1.45rem 1.45rem;box-shadow:0 30px 70px -22px rgba(0,0,0,.55);transform:rotate(-.6deg);overflow-x:auto;min-width:0}
.specimen__head {display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.8rem}
.specimen__brand {font-family:var(--ff-display);font-size:1.02rem;letter-spacing:-.01em}
.specimen__brand em {font-style:italic}
.specimen__stamp {border:1.5px solid var(--oxblood);color:var(--oxblood);font-family:var(--ff-sans);font-size:.6rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;padding:5px 9px;border-radius:2px;transform:rotate(-6deg)}
.specimen__meta {font-family:var(--ff-sans);font-size:.74rem;color:var(--smoke);margin:.85rem 0 .2rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.specimen__table {width:100%;border-collapse:collapse;margin-top:.55rem}
.specimen__table th {font-family:var(--ff-sans);font-size:.6rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--smoke);text-align:left;padding:.5rem .5rem .35rem 0;border-bottom:1px solid var(--line)}
.specimen__table td {padding:.6rem .5rem .6rem 0;border-bottom:1px solid var(--line);vertical-align:middle}
.specimen__table td:first-child {font-family:var(--ff-sans);font-size:.76rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.specimen__table td:nth-child(2) {font-family:var(--ff-display);font-style:italic;font-size:.92rem;color:var(--plum)}
.specimen__table td:last-child {width:34%}
.specimen__redact {display:inline-block;height:.7em;background:#1A1A1A;border-radius:1px;opacity:.92;vertical-align:middle;min-width:1.4em}
.specimen__foot {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;font-family:var(--ff-sans);font-size:.7rem;color:var(--smoke)}
.specimen__caption {color:var(--bone)}

.specimen__caption p {font-size:.95rem;line-height:1.6;color:rgba(242,239,232,.72);margin:0 0 .6rem;max-width:46ch}
.specimen__note {font-family:var(--ff-display);font-style:italic;color:var(--accent-bright)!important}
@media (max-width:760px){
  .specimen {grid-template-columns:1fr}
  .specimen__doc {transform:none;max-width:460px}
}

.why-trio {display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.2vw,1.5rem);align-items:start}

@media (min-width:961px){
  .why-trio {align-items:stretch}
  
  .wcard--proof .photo {display:block;min-height:clamp(340px,34vw,500px);width:100%}
  .wcard--proof .photo img {width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center top}
}
.wcard {background:var(--white);border:1px solid var(--line);border-radius:3px;padding:1.25rem 1.35rem}
.wcard summary {cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:32px}
.wcard summary::-webkit-details-marker {display:none}
.wcard__t {font-family:var(--ff-sans);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--oxblood)}
.wcard summary .pm {flex:0 0 auto;width:24px;height:24px;border:1.5px solid var(--smoke);border-radius:50%;position:relative;transition:.25s var(--ease)}
.wcard summary .pm::before, .wcard summary .pm::after {content:"";position:absolute;background:var(--smoke);top:50%;left:50%;translate:-50% -50%;transition:.25s var(--ease)}
.wcard summary .pm::before {width:9px;height:1.5px}
.wcard summary .pm::after {width:1.5px;height:9px}
.wcard[open] summary .pm {border-color:var(--oxblood);transform:rotate(45deg)}
.wcard[open] summary .pm::before, .wcard[open] summary .pm::after {background:var(--oxblood)}
.wcard__body {margin-top:1.05rem;display:grid;gap:1rem;align-content:start}
.wcard__body p {margin:0}
.wcard__sub {font-size:.92rem;color:var(--smoke)}
.wcard__who {display:flex;align-items:center;gap:1rem}

.wcard__name {margin:0}
.wcard__role {font-family:var(--ff-display);font-style:italic;color:var(--oxblood);font-size:.95rem}
.wcard .photo {margin:0}
.wcard__more {font-size:.9rem;color:var(--smoke)}
@media (min-width:961px){
  .wcard summary {pointer-events:none}
  .wcard summary .pm {display:none}
}
@media (max-width:960px){
  .why-trio {grid-template-columns:1fr}
}

body.page-band-codex .hero-portrait {aspect-ratio:4/5;background:#101010}
@media (min-width:601px) and (max-width:960px){body.page-band-codex .hero-portrait {aspect-ratio:4/5;max-height:460px;width:min(88vw,368px);margin-inline:auto}}
@media (max-width:600px){body.page-band-codex .hero-portrait {aspect-ratio:4/5;max-height:440px;width:min(100%,352px);margin-inline:auto}}
.page-band-codex .hero-portrait-caption {z-index:3}
.ba-compare {position:absolute;inset:0;--pos:50%}
.ba-compare img {width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.ba-compare__top {position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.ba-compare__label {position:absolute;top:12px;z-index:1;font-family:var(--ff-sans);font-size:.6rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(242,239,232,.9);background:rgba(14,14,12,.5);padding:5px 10px;border-radius:2px;pointer-events:none;transition:opacity .3s var(--ease)}
.ba-compare__label--b {left:12px}
.ba-compare__label--a {right:12px}

.ba-compare[data-ba-side="b"] .ba-compare__label--a, .ba-compare[data-ba-side="a"] .ba-compare__label--b {opacity:0}
.ba-compare__bar {position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:rgba(242,239,232,.9);pointer-events:none;z-index:1}
.ba-compare__knob {position:absolute;top:50%;left:50%;translate:-50% -50%;width:44px;height:44px;border-radius:50%;background:var(--bone);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--ff-sans);font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-indent:.08em;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.ba-compare__range {position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent;z-index:2;touch-action:pan-y}
.ba-compare:has(.ba-compare__range:focus-visible) .ba-compare__knob {outline:2px solid var(--oxblood);outline-offset:3px}

.deck {position:relative;height:604px;outline:none;touch-action:pan-y;max-width:920px}
.deck:focus-visible {outline:2px solid var(--oxblood);outline-offset:6px}

.deck-card__k {font-family:var(--ff-sans);font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--oxblood);margin:0}

@media (min-width:761px){
  .deck {height:440px}
  
  
  
  
  
  
}

.compare-asym {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(1.4rem,3vw,2.8rem);row-gap:0;align-items:stretch}
.compare-asym p {margin:0;font-family:var(--ff-sans)}

.compare-asym .ca-k {display:inline-block;font-size:clamp(.74rem,.95vw,.82rem);letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:.5em .9em;border-radius:var(--radius-sm)}
.compare-asym h3 {margin:.75rem 0 0;color:var(--ink)}

.compare-asym .ca-sub {margin-top:.55rem;font-family:var(--ff-editorial);font-style:italic;font-size:.92rem;line-height:1.5;color:var(--lede-c)}
.ca-head.ca--w .ca-sub {color:var(--ink-90)}

.ca-lede {max-width:640px;margin-top:1.1rem}
.ca-lede p+p {margin-top:.7rem}
.ca-lede a {text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--plum)}
.ca-lede a:hover {color:var(--plum)}
.compare-asym .ca-label {font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--lede-c);margin-bottom:.4rem}

.ca--n {padding:1.15rem .15rem 1.15rem 0}
.ca-head.ca--n {padding-top:1.55rem}
.ca-head.ca--n .ca-k {color:var(--lede-c);border:1px solid var(--smoke)}
.ca-head.ca--n h3 {font-size:clamp(1.2rem,1.7vw,1.45rem)}
.ca-cell.ca--n {border-top:1px solid var(--hairline)}
.ca-cell.ca--n p:not(.ca-label) {font-size:.95rem;line-height:1.55;color:var(--lede-c)}

.ca--w {background:var(--white);border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);padding:1.15rem clamp(1.4rem,2.6vw,2.4rem)}
.ca-head.ca--w {border-top:3px solid var(--plum);border-radius:var(--radius) var(--radius) 0 0;padding-top:1.55rem}
.ca-head.ca--w .ca-k {background:var(--plum);color:var(--bone);border:1px solid var(--plum)}
.ca-head.ca--w h3 {font-size:clamp(1.55rem,2.5vw,2rem)}
.ca-cell.ca--w {border-top:1px solid var(--hairline)}
.ca-cell.ca--w .ca-label {color:var(--oxblood)}
.ca-cell.ca--w p:not(.ca-label) {font-size:clamp(1.02rem,1.35vw,1.15rem);line-height:1.6;color:var(--ink-90)}

.ca-cell.ca-last-w {border-bottom:1px solid var(--hairline);border-radius:0 0 var(--radius) var(--radius);padding-bottom:1.5rem;box-shadow:0 20px 36px -26px rgba(0,0,0,.3)}
@media (max-width:820px){
  .compare-asym {grid-template-columns:1fr}
  .ca--n {order:0;padding-right:0}
  .ca--w {order:1}
  .ca-head.ca--w {margin-top:1.8rem}
}

.ca-switch {display:none}
@media (max-width:820px){
  .ca-switch:not([hidden]) {display:flex;margin:0 0 1.2rem;border:1px solid var(--smoke);border-radius:var(--radius-sm);overflow:hidden}
  .ca-switch button {flex:1;appearance:none;background:none;border:0;margin:0;padding:.75em .4em;font-family:var(--ff-sans);font-size:.68rem;letter-spacing:.12em;line-height:1.35;text-transform:uppercase;font-weight:700;color:var(--lede-c);cursor:pointer}
  .ca-switch button+button {border-left:1px solid var(--smoke)}
  .ca-switch button[aria-pressed="true"] {background:var(--plum);color:var(--bone)}
  .compare-asym[data-view="w"] .ca--n {display:none}
  .compare-asym[data-view="n"] .ca--w {display:none}
  .compare-asym[data-view] .ca-k {display:none}   
  .compare-asym[data-view] h3 {margin-top:0}
  .compare-asym[data-view] .ca-head.ca--w {margin-top:0}
  
  .compare-asym[data-view="n"] .ca--n {background:var(--bone-2);border-left:1px solid var(--hairline);border-right:1px solid var(--hairline);padding-left:1.15rem;padding-right:1.15rem}
  .compare-asym[data-view="n"] .ca-head.ca--n {border-top:3px solid var(--smoke);border-radius:var(--radius) var(--radius) 0 0;padding-top:1.35rem}
  .compare-asym[data-view="n"] .ca-last-n {border-bottom:1px solid var(--hairline);border-radius:0 0 var(--radius) var(--radius);padding-bottom:1.4rem}
}

.patient-journey {display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.pj-rail {display:none}
@media (max-width:820px){
  .patient-journey {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;max-width:440px;margin-inline:auto;scrollbar-width:none}
  .patient-journey::-webkit-scrollbar {display:none}
  .patient-journey .pj {flex:0 0 100%;scroll-snap-align:center}
  .pj-rail {display:block;max-width:440px;margin:0 auto 1.15rem}
  .pj-rail-steps {display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:.6rem}
  .pj-rail-steps button {appearance:none;background:none;border:0;padding:.3rem 0 .4rem;cursor:pointer;text-align:center;font-family:var(--ff-sans);font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--smoke);transition:color .18s ease}
  .pj-rail-steps button .k {display:block;font-size:.68rem;letter-spacing:.18em;color:var(--ink-50);margin-bottom:.18rem;transition:color .18s ease}
  .pj-rail-steps button.is-on {color:var(--ink)}
  .pj-rail-steps button.is-on .k {color:var(--oxblood)}
  .pj-rail-track {height:2px;background:var(--ink-15);border-radius:1px;overflow:hidden}
  .pj-rail-fill {display:block;height:100%;width:33.4%;background:var(--oxblood);transition:width .2s ease-out}
}
.pj {background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;margin:0}
.pj-media {position:relative;aspect-ratio:4/5;background:repeating-linear-gradient(-45deg,var(--bone) 0 14px,var(--white) 14px 28px);display:grid;place-items:center}
.pj-media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.pj-media--live {background:linear-gradient(180deg,var(--paper) 0%,var(--bone) 62%,var(--bone-2) 100%)}
.pj-media--live img {filter:drop-shadow(0 16px 22px rgba(20,20,18,.16))}

.pj figcaption {padding:1.05rem 1.2rem 1.25rem}
.pj .pj-k {font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oxblood);font-weight:700;font-family:var(--ff-sans)}
.pj .pj-v {font-family:var(--ff-display);font-weight:420;color:var(--ink);font-size:1.2rem;margin-top:.18rem}
.pj .pj-n {font-size:.87rem;color:var(--smoke);line-height:1.55;font-family:var(--ff-sans);margin-top:.15rem}

.enquire-steps {list-style:none;counter-reset:eq;margin:1.5rem 0 0;padding:0;display:grid;gap:.9rem;max-width:420px}
.enquire-steps li {counter-increment:eq;position:relative;padding-left:2.4rem;font-size:.94rem;line-height:1.55;color:var(--lede-c);font-family:var(--ff-sans)}
.enquire-steps li::before {content:"0" counter(eq);position:absolute;left:0;top:.1em;font-family:var(--ff-display);font-style:italic;color:var(--oxblood);font-size:1rem}
.enquire-steps li strong {color:var(--ink);font-weight:650}

body {overflow-anchor:none}
.mosaic-reveal {position:relative;height:265vh;background:var(--bone)}
.mosaic-stage {position:sticky;top:0;height:100vh;overflow:hidden;background:var(--bone)}
.mosaic-figure {
  position:absolute;top:0;left:0;
  height:min(66vh,54vw);width:auto;aspect-ratio:454.4/285.3;max-width:94vw;
  transform-origin:0 0;opacity:0;background:#211f1c;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='25.5 134.5 454.4 285.3'%3E%3Cpath fill='%23fff' d='M114.79 401.80Q103.90 401.80 98.68 397.75Q93.46 393.70 93.46 385.15Q93.46 384.34 93.46 382.99Q93.46 381.64 93.82 380.20L96.61 367.24L103.45 352.66L102.91 341.59L121.90 270.94L107.95 270.94L107.95 265L155.92 265L123.34 387.22Q122.98 388.66 122.98 389.83Q122.98 390.82 123.56 391.40Q124.15 391.99 125.14 391.99Q127.30 391.99 130.18 390.01Q133.06 388.03 136.48 383.26Q139.90 378.49 143.86 370.30L149.71 372.28Q144.76 383.35 139.18 389.79Q133.60 396.22 127.52 399.01Q121.45 401.80 114.79 401.80M68.08 401.80Q54.76 401.80 49.13 393.75Q43.51 385.69 43.51 372.55Q43.51 362.20 47.34 352.07Q51.16 341.95 57.69 333.67Q64.21 325.39 72.35 320.39Q80.50 315.40 89.14 315.40Q93.37 315.40 97.38 317.34Q101.38 319.27 103.94 323.81Q106.51 328.36 106.51 336.28Q106.51 338.89 105.66 344.74Q104.80 350.59 102.91 357.93Q101.02 365.26 98 373Q94.99 380.74 90.72 387.26Q86.44 393.79 80.86 397.80Q75.28 401.80 68.08 401.80M81.04 389.83Q83.20 389.83 85.99 385.96Q88.78 382.09 91.57 375.79Q94.36 369.49 96.70 361.98Q99.04 354.46 100.48 347.17Q101.92 339.88 101.92 334.21Q101.92 332.14 101.47 330.56Q101.02 328.99 100.16 328.05Q99.31 327.10 97.96 327.10Q95.71 327.10 92.97 330.97Q90.22 334.84 87.43 341.14Q84.64 347.44 82.30 354.95Q79.96 362.47 78.47 369.71Q76.99 376.96 76.99 382.63Q76.99 385.69 78.03 387.76Q79.06 389.83 81.04 389.83M182.65 400L150.43 400L170.41 323.14L156.73 323.14L156.73 317.20L203.35 317.20L182.65 400M188.59 376.06L185.17 376.06Q186.88 368.14 189.53 359.68Q192.19 351.22 195.70 343.35Q199.21 335.47 203.71 329.17Q208.21 322.87 213.61 319.18Q219.01 315.49 225.40 315.49Q233.59 315.49 239.17 320.39Q244.75 325.30 244.75 333.67Q244.75 341.59 239.53 346.94Q234.31 352.30 226.48 352.30Q219.10 352.30 213.97 347.57Q208.84 342.85 208.84 335.47Q208.84 327.82 213.88 323.19Q218.92 318.55 226.75 318.55Q234.67 318.55 239.62 322.38Q244.57 326.20 244.57 333.67L238.54 333.58Q238.54 327.28 234.99 324.26Q231.43 321.25 224.86 321.25Q219.73 321.25 215.14 324.85Q210.55 328.45 206.41 334.39Q202.27 340.33 198.90 347.57Q195.52 354.82 192.87 362.25Q190.21 369.67 188.59 376.06'/%3E%3Cpath fill='%23fff' d='M362.86 400L227.23 400L227.23 389.27L346.36 389.27Q358.90 389.27 367.73 382.76Q376.55 376.24 381.26 363.29Q385.96 350.33 385.96 330.70Q385.96 311.06 381.26 299.68Q376.55 288.30 367.73 283.51Q358.90 278.73 346.36 278.73L313.36 278.73L313.36 271.47L362.86 271.47Q391.07 271.47 413.43 277.57Q435.79 283.68 448.82 298.11Q461.86 312.55 461.86 337.30Q461.86 371.95 436.04 385.98Q410.22 400 362.86 400M328.21 394.06L257.26 394.06L257.26 158.44L328.21 158.44L328.21 394.06M356.59 274.44L313.36 274.44L313.36 267.17L343.06 267.17Q353.95 267.17 362.12 262.88Q370.28 258.60 374.82 247.70Q379.36 236.81 379.36 217.18Q379.36 197.54 374.82 185.75Q370.28 173.95 362.12 168.59Q353.95 163.22 343.06 163.22L227.23 163.22L227.23 152.50L356.59 152.50Q401.14 152.50 426.72 166.94Q452.29 181.38 452.29 213.55Q452.29 243.25 428.12 258.84Q403.94 274.44 356.59 274.44'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='25.5 134.5 454.4 285.3'%3E%3Cpath fill='%23fff' d='M114.79 401.80Q103.90 401.80 98.68 397.75Q93.46 393.70 93.46 385.15Q93.46 384.34 93.46 382.99Q93.46 381.64 93.82 380.20L96.61 367.24L103.45 352.66L102.91 341.59L121.90 270.94L107.95 270.94L107.95 265L155.92 265L123.34 387.22Q122.98 388.66 122.98 389.83Q122.98 390.82 123.56 391.40Q124.15 391.99 125.14 391.99Q127.30 391.99 130.18 390.01Q133.06 388.03 136.48 383.26Q139.90 378.49 143.86 370.30L149.71 372.28Q144.76 383.35 139.18 389.79Q133.60 396.22 127.52 399.01Q121.45 401.80 114.79 401.80M68.08 401.80Q54.76 401.80 49.13 393.75Q43.51 385.69 43.51 372.55Q43.51 362.20 47.34 352.07Q51.16 341.95 57.69 333.67Q64.21 325.39 72.35 320.39Q80.50 315.40 89.14 315.40Q93.37 315.40 97.38 317.34Q101.38 319.27 103.94 323.81Q106.51 328.36 106.51 336.28Q106.51 338.89 105.66 344.74Q104.80 350.59 102.91 357.93Q101.02 365.26 98 373Q94.99 380.74 90.72 387.26Q86.44 393.79 80.86 397.80Q75.28 401.80 68.08 401.80M81.04 389.83Q83.20 389.83 85.99 385.96Q88.78 382.09 91.57 375.79Q94.36 369.49 96.70 361.98Q99.04 354.46 100.48 347.17Q101.92 339.88 101.92 334.21Q101.92 332.14 101.47 330.56Q101.02 328.99 100.16 328.05Q99.31 327.10 97.96 327.10Q95.71 327.10 92.97 330.97Q90.22 334.84 87.43 341.14Q84.64 347.44 82.30 354.95Q79.96 362.47 78.47 369.71Q76.99 376.96 76.99 382.63Q76.99 385.69 78.03 387.76Q79.06 389.83 81.04 389.83M182.65 400L150.43 400L170.41 323.14L156.73 323.14L156.73 317.20L203.35 317.20L182.65 400M188.59 376.06L185.17 376.06Q186.88 368.14 189.53 359.68Q192.19 351.22 195.70 343.35Q199.21 335.47 203.71 329.17Q208.21 322.87 213.61 319.18Q219.01 315.49 225.40 315.49Q233.59 315.49 239.17 320.39Q244.75 325.30 244.75 333.67Q244.75 341.59 239.53 346.94Q234.31 352.30 226.48 352.30Q219.10 352.30 213.97 347.57Q208.84 342.85 208.84 335.47Q208.84 327.82 213.88 323.19Q218.92 318.55 226.75 318.55Q234.67 318.55 239.62 322.38Q244.57 326.20 244.57 333.67L238.54 333.58Q238.54 327.28 234.99 324.26Q231.43 321.25 224.86 321.25Q219.73 321.25 215.14 324.85Q210.55 328.45 206.41 334.39Q202.27 340.33 198.90 347.57Q195.52 354.82 192.87 362.25Q190.21 369.67 188.59 376.06'/%3E%3Cpath fill='%23fff' d='M362.86 400L227.23 400L227.23 389.27L346.36 389.27Q358.90 389.27 367.73 382.76Q376.55 376.24 381.26 363.29Q385.96 350.33 385.96 330.70Q385.96 311.06 381.26 299.68Q376.55 288.30 367.73 283.51Q358.90 278.73 346.36 278.73L313.36 278.73L313.36 271.47L362.86 271.47Q391.07 271.47 413.43 277.57Q435.79 283.68 448.82 298.11Q461.86 312.55 461.86 337.30Q461.86 371.95 436.04 385.98Q410.22 400 362.86 400M328.21 394.06L257.26 394.06L257.26 158.44L328.21 158.44L328.21 394.06M356.59 274.44L313.36 274.44L313.36 267.17L343.06 267.17Q353.95 267.17 362.12 262.88Q370.28 258.60 374.82 247.70Q379.36 236.81 379.36 217.18Q379.36 197.54 374.82 185.75Q370.28 173.95 362.12 168.59Q353.95 163.22 343.06 163.22L227.23 163.22L227.23 152.50L356.59 152.50Q401.14 152.50 426.72 166.94Q452.29 181.38 452.29 213.55Q452.29 243.25 428.12 258.84Q403.94 274.44 356.59 274.44'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%}

.mosaic-grid {position:absolute;inset:0;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(5,1fr);gap:2px;background:#211f1c}
.mosaic-grid img {width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.mosaic-grid img:hover {filter:brightness(1.14)}
.mosaic-caption {position:absolute;left:0;right:0;bottom:clamp(20px,5vh,56px);z-index:2;text-align:center;padding:0 24px;opacity:0;pointer-events:none}
.mosaic-caption.on {pointer-events:auto}
.mosaic-caption .cta-row {justify-content:center;margin-top:1.15rem}
body.mosaic-cta-visible .mobile-book-pin {opacity:0;pointer-events:none;transition:opacity .25s var(--ease)}

.mosaic-caption h2 {margin-top:.2rem}
.mosaic-caption .ba-note {color:var(--smoke);margin-top:.7rem}

.mosaic-underlay {position:absolute;inset:0;pointer-events:none}
.mosaic-underlay-track {position:absolute;display:grid;gap:2px;background:#211f1c;opacity:var(--mosaic-underlay-o,.15)}
.mosaic-underlay-track img {width:100%;height:100%;object-fit:cover;display:block}
.mosaic-reveal[data-mosaic-drift] .mosaic-underlay-track {animation:mosaic-drift var(--mosaic-drift-t,80s) linear infinite}
@keyframes mosaic-drift {to{transform:translateY(var(--mosaic-drift-d,0px))}}

@media (prefers-reduced-motion:reduce){
  .mosaic-reveal {height:auto}
  .mosaic-stage {position:relative;height:auto;padding:9vh 0;display:flex;flex-direction:column;align-items:center}
  .mosaic-figure {position:relative;margin-inline:auto;opacity:1!important;transform:none!important}
  .mosaic-caption {position:relative;opacity:1!important;bottom:auto;margin-top:2rem;pointer-events:auto}
  .mosaic-underlay-track {animation:none}
}

.page-about .hero-portrait {aspect-ratio:auto;max-height:none;background:none;border-radius:0;overflow:visible;align-self:stretch;display:flex;justify-content:center;align-items:flex-end;margin-bottom:-80px}
.page-about .hero-portrait::before {content:"";position:absolute;left:50%;bottom:-3%;transform:translateX(-50%);width:150%;height:55%;background:radial-gradient(ellipse 50% 50% at 50% 100%,rgba(221,215,200,.9) 0%,rgba(221,215,200,0) 70%);pointer-events:none}
.page-about .hero-portrait img {position:relative;width:auto;height:clamp(360px,54vh,540px);max-width:none;object-fit:unset;object-position:unset;filter:drop-shadow(0 26px 38px rgba(20,20,18,.2))}
.page-about .hero-portrait-caption {left:50%;right:auto;bottom:18px;transform:translateX(-50%);width:max-content;max-width:92%;white-space:nowrap}
@media (max-width:900px){
  .page-about .hero-portrait {aspect-ratio:auto;margin-bottom:-40px}
  .page-about .hero-portrait img {height:clamp(320px,46vh,460px)}
  .page-about .hero-portrait-caption {white-space:normal}
}

.photo--cutout {background:linear-gradient(180deg,var(--bone) 0%,var(--bone-3) 118%);overflow:visible}
.photo--cutout img {position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:auto;height:118%;max-width:none;filter:drop-shadow(0 12px 22px rgba(20,20,18,.16))}

.grid--doctors {padding-top:56px}
.grid--doctors .opt-card {overflow:visible}

.jump-pills {display:flex;flex-wrap:wrap;gap:.6rem}
.jump-pills a {display:inline-block;border:1px solid var(--ink-15);border-radius:2px;padding:.45em 1.1em;font-size:.9rem;font-weight:560;color:var(--lede-c);background:var(--white);font-family:var(--ff-sans);transition:.2s}
.jump-pills a:hover {border-color:var(--plum);color:var(--plum)}
.plist {display:grid;gap:clamp(3rem,6vw,4.5rem);margin-top:.5rem}
.plist-block {display:grid;grid-template-columns:minmax(210px,1fr) 2.1fr;gap:clamp(1.5rem,3.4vw,3.4rem);align-items:start}
.plist-head {position:sticky;top:96px}
.plist-head .pnum {display:block;font-family:var(--ff-display);font-style:italic;color:var(--oxblood);font-size:1rem;margin-bottom:.35rem}
.plist-head h2 {margin-bottom:.5rem;font-size:clamp(1.5rem,2.5vw,2rem);font-variation-settings:"opsz" 36;font-weight:380;letter-spacing:-0.012em;line-height:1.1}
.plist-head>p {font-size:.94rem;color:var(--smoke);line-height:1.6;font-family:var(--ff-sans);max-width:36ch}
.plist-more {display:inline-block;margin-top:.85rem;font-family:var(--ff-sans);font-size:.9rem;font-weight:650;color:var(--plum);border-bottom:1px solid transparent;transition:.2s}
.plist-more:hover {border-bottom-color:var(--plum)}
.ptable-wrap tr.row-hi td {background:var(--bone)}
.ptable-wrap tr.row-hi td:first-child {box-shadow:inset 3px 0 0 var(--plum)}
.ptable-wrap .rowtag {display:inline-block;margin-left:.6em;vertical-align:.16em;background:var(--plum);color:var(--bone);font-size:.6rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;border-radius:2px;padding:.26em .6em;font-family:var(--ff-sans);white-space:nowrap}
.ptable-wrap .price .per {font-size:.76rem;color:var(--smoke);font-weight:500;margin-left:.12em}
@media (max-width:860px){
  .plist-block {grid-template-columns:1fr;gap:1.1rem}
  .plist-head {position:static}
  .plist-head>p {max-width:none}
}

.opt-grid--curriculum {grid-template-columns:repeat(4,1fr)}
.opt-grid--curriculum .opt-card {min-height:300px;padding:34px 26px}
.opt-grid--curriculum .opt-card--daytwo {grid-column:1/-1;flex-direction:row;align-items:center;gap:clamp(1.8rem,4vw,4.5rem);min-height:0;background:var(--ink);border-color:var(--ink);padding:clamp(1.9rem,3vw,2.6rem) clamp(1.7rem,3.2vw,3rem)}
.opt-grid--curriculum .opt-card--daytwo:hover {transform:none;border-color:var(--rust)}
.opt-card--daytwo .dt-head {flex:0 0 34%}
.opt-card--daytwo .eyebrow {color:var(--accent-bright)}
.opt-card--daytwo .eyebrow::before {background:var(--accent-bright)}
.opt-card--daytwo h3 {color:var(--bone);margin-bottom:0}
.opt-grid--curriculum .opt-card--daytwo>p {color:rgba(242,239,232,.78);margin:0;flex-grow:0}
@media (max-width:1160px){
  .opt-grid--curriculum {grid-template-columns:repeat(2,1fr)}
}
@media (max-width:880px){
  .opt-grid--curriculum .opt-card--daytwo {flex-direction:column;align-items:stretch;gap:1.1rem}
  .opt-card--daytwo .dt-head {flex:0 0 auto}
}

.map-embed {position:relative;display:block;margin-top:.9rem;height:150px;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(14,14,12,.14);background:var(--bone)}
.book-cta .map-embed {border-color:rgba(242,239,232,.22)}
.map-embed iframe {width:100%;height:100%;border:0;display:block;pointer-events:none;filter:saturate(.8)}
.map-embed-hint {position:absolute;right:8px;bottom:8px;background:rgba(14,14,12,.85);color:var(--bone);font-family:var(--ff-sans);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.34em .75em;border-radius:2px}
.map-embed:hover {border-color:var(--accent-bright)}
.map-embed--tall {height:auto;aspect-ratio:16/9;margin-top:0}

.tfacts {background:var(--bone-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.tfacts .tfacts-row {display:grid;grid-template-columns:repeat(5,1fr);padding-block:1.15rem}
.tfacts .tf {padding:.15rem 1.2rem;border-left:1px solid var(--hairline)}
.tfacts .tf:first-child {border-left:0;padding-left:0}
.tfacts .tf-l {font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--oxblood);margin:0 0 .3rem;font-family:var(--ff-sans)}
.tfacts .tf-v {font-family:var(--ff-display);font-variation-settings:"opsz" 36;font-size:1.08rem;font-weight:420;color:var(--ink);margin:0;line-height:1.25}
.tfacts .tf-v small {display:block;font-family:var(--ff-sans);font-size:.74rem;font-weight:400;color:var(--lede-c);margin-top:.2rem;letter-spacing:0}
@media (max-width:900px){
  .tfacts .tfacts-row {grid-template-columns:repeat(2,1fr);gap:1rem 0;padding-block:1.2rem}
  .tfacts .tf {padding:.1rem 1rem}
  .tfacts .tf:nth-child(odd) {border-left:0;padding-left:0}
  .tfacts .tf:last-child:nth-child(odd) {grid-column:1/-1;border-top:1px solid var(--hairline);padding-top:.9rem;padding-left:0;border-left:0}
}

.hero .tag-row--hero {margin-top:1.6rem;border-top:1px solid var(--hairline);padding-top:1rem}

.tdoc {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:clamp(1.8rem,4vw,3.6rem);align-items:center}
.tdoc-figure {position:relative;background:var(--bone-2);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}
.tdoc-figure img {display:block;width:100%;height:auto}
.tdoc-figure figcaption {position:absolute;left:0;right:0;bottom:0;background:rgba(14,14,12,.82);color:var(--bone);font-family:var(--ff-sans);font-size:.72rem;font-weight:600;letter-spacing:.08em;padding:.55em .9em;text-align:center}
.tdoc .enquire-steps {max-width:none}
.tdoc-gmc {margin-top:1.2rem;font-size:.8rem;color:var(--lede-c);font-family:var(--ff-sans)}
.tdoc-gmc a {text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--plum)}
@media (max-width:860px){
  .tdoc {grid-template-columns:1fr}
  .tdoc-figure {max-width:340px}
}

.vp-grid {display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(1rem,2.2vw,1.5rem)}
@media (max-width:820px){.vp-grid {grid-template-columns:1fr}}
.vp-step {background:var(--white);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.6rem 1.5rem;text-align:left}
.vp-photo {display:block;width:100%;height:auto;border-radius:2px;margin-bottom:.95rem}
.vp-step .vp-k {font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--smoke);font-family:var(--ff-sans);margin:0}
.vp-step p:not(.vp-k) {font-size:.94rem;color:var(--lede-c);margin:.5rem 0 0;font-family:var(--ff-sans)}

.footer-bottom .footer-legal {margin:1rem 0 0;font-size:.72rem;line-height:1.65;opacity:.55;max-width:78ch}
.plist-consult {margin:-.4rem 0 2.2rem;max-width:640px;font-size:1.02rem;color:var(--lede-c)}

.page-legal .legal .section-head {margin-bottom:2.4rem}
.page-legal .legal h1 {font-size:clamp(2rem,5vw,3rem)}
.legal-updated {margin-top:.6rem;font-size:.8rem;opacity:.55}
.legal-body h2 {font-size:1.35rem;margin:2.2rem 0 .7rem}
.legal-body p {margin:0 0 1rem;max-width:68ch}
.legal-body ul {margin:0 0 1.2rem;padding-left:1.2rem}
.legal-body li {margin:0 0 .55rem;max-width:64ch}
.legal-body code {font-size:.9em;background:rgba(0,0,0,.05);padding:.1em .35em;border-radius:3px}

.page-book .book-embed-section {padding-top:clamp(112px,15vw,152px)}
.book-embed-head h1 {font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.01em;margin-bottom:.6rem}
.book-embed-frame {background:#F2F5F9;border:1px solid var(--ink-08)}
@media (max-width:600px){.book-embed-frame {border-left:0;border-right:0}} 

[data-codex-svg] .fz {stroke-width:3.5;stroke-dasharray:14 10;fill-opacity:.05;stroke-opacity:.18}
[data-codex-svg] .fz.on {stroke-width:4.5;fill-opacity:.18;stroke-opacity:.75}
[data-codex-svg] .fz-s {stroke-width:24;stroke-opacity:.1}
[data-codex-svg] .fz-s.on {stroke-opacity:.42}
[data-codex-svg] image {filter:saturate(.92)}

.wa-glyph {width:17px;height:17px;fill:currentColor;flex:0 0 auto}
.btn-wa {display:inline-flex;align-items:center;gap:9px;border-color:rgba(18,140,126,.5)}
.btn-wa .wa-glyph {fill:#128C7E}
.btn-wa:hover {border-color:#128C7E;background:rgba(18,140,126,.07)}
.btn-wa-solid {display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#0B2B1F;border:1px solid transparent}
.btn-wa-solid:hover, .btn-wa-solid:focus {background:#1FBE5A;color:#0B2B1F}
.cta-row--center {justify-content:center}
.section-banner .banner-sub {margin:.9rem auto 0;max-width:520px;text-align:center;color:var(--bone-70);font-size:1rem;line-height:1.55}
.section-banner .cta-row {margin-top:1.4rem}

.hero-fact {margin:1rem 0 0;font-family:var(--ff-sans);font-size:.8rem;font-weight:600;letter-spacing:.05em;color:var(--ink-muted)}

.wa-float {position:fixed;right:22px;bottom:22px;z-index:80;display:inline-flex;align-items:center;gap:9px;padding:13px 17px;background:#0F7A6E;color:#fff;border-radius:4px;font-family:var(--ff-sans);font-weight:700;font-size:.85rem;letter-spacing:.03em;text-decoration:none;box-shadow:0 12px 30px -8px rgba(0,0,0,.35);transition:background .2s var(--ease),transform .2s var(--ease)}
.wa-float:hover {background:#0B6B60;color:#fff;transform:translateY(-1px)}
@media (max-width:760px){.wa-float {display:none}}

.mobile-book-pin {gap:10px}
.mobile-book-pin .btn-wa-pin {flex:0 0 auto;align-self:stretch;width:56px;display:flex;align-items:center;justify-content:center;padding:0;background:#0F7A6E;color:#fff;box-shadow:0 10px 30px rgba(26,26,26,.18)}
.mobile-book-pin .btn-wa-pin:hover {background:#0B6B60;color:#fff}

@media (max-width:760px){
  .cta-row--hero {gap:10px;flex-wrap:nowrap}
  .cta-row--hero .btn {flex:1 1 0;padding:15px 8px;font-size:.82rem;justify-content:center;white-space:nowrap}
  .hero-fact {margin-top:.7rem;font-size:.72rem}
}

.gallery-head {padding:126px 0 10px}
.gallery-head h1 {font-size:clamp(2.4rem,5vw,3.8rem);margin:.4rem 0 .9rem}
.gallery-head .hero-line {max-width:560px}
.gallery-bar {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:1.6rem 0 .4rem}
.plate-seg.gallery-seg {justify-content:flex-start;margin:0}
.gallery-consent {font-family:var(--ff-sans);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--smoke)}
.gallery-wall {padding:1.2rem 0 3.4rem}
.gwall {transition:opacity .24s var(--ease)}
.gwall[hidden] {display:none!important}
.gwall.is-out {opacity:0}

.gwall:not(.is-rows) {display:flex;flex-wrap:wrap;gap:14px}
.gwall:not(.is-rows) .gcard {flex-basis:calc(var(--r,1)*240px)}
.grow {display:flex;gap:14px;margin-bottom:14px}
.grow .gcard {flex-basis:0%}
.gcard {position:relative;display:block;flex:var(--r,1) 1 0%;aspect-ratio:var(--r,1);min-width:0;border:0;padding:0;background:var(--stone);border-radius:var(--radius);overflow:hidden;cursor:pointer;box-shadow:0 6px 18px -8px rgba(0,0,0,.16);transition:box-shadow .3s var(--ease)}
.gcard img {width:100%;height:100%;display:block;object-fit:cover}
.gpad {display:block;flex-basis:0%;min-width:0}
@media (hover:hover){
  .gcard:hover {box-shadow:0 16px 34px -12px rgba(0,0,0,.32);z-index:1}
  .gcard::after {content:"Case " attr(data-case);position:absolute;left:8px;bottom:8px;padding:3px 8px;background:rgba(252,251,249,.92);color:var(--ink);font-family:var(--ff-sans);font-size:.56rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;opacity:0;transform:translateY(4px);transition:opacity .22s var(--ease),transform .22s var(--ease);pointer-events:none}
  .gcard:hover::after {opacity:1;transform:none}
}

.gindex {position:fixed;right:22px;bottom:22px;z-index:60;padding:9px 12px;background:rgba(252,251,249,.94);border:1px solid var(--line);border-radius:3px;font-family:var(--ff-sans);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);opacity:0;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none}
.gindex.is-on {opacity:1;transform:none}
.gindex span {display:block;margin-bottom:5px}
.gindex i {display:block;height:2px;width:128px;background:var(--line);position:relative}
.gindex i b {position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);background:var(--oxblood);transition:width .2s var(--ease)}
@media (max-width:760px){.gindex {display:none}}

.clb-nav {position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:1px solid rgba(242,239,232,.35);background:rgba(14,14,12,.55);color:var(--bone);font-family:var(--ff-sans);font-size:1.05rem;line-height:1;cursor:pointer;border-radius:2px;transition:background .2s var(--ease),border-color .2s var(--ease)}
.clb-nav:hover {background:rgba(14,14,12,.85);border-color:rgba(242,239,232,.7)}
.clb-prev {left:10px}
.clb-next {right:10px}
@media (max-width:760px){
  .gallery-head {padding-top:96px}
  .gwall:not(.is-rows) {gap:8px}
  .grow {gap:8px;margin-bottom:8px}
  .gcard {border-radius:3px}
  .clb-nav {width:38px;height:38px}
}
