/* Native integration: exact compiled Tailwind preflight plus exact reference custom CSS. No Tailwind runtime. */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400;1,700&family=Libre+Caslon+Display&display=swap');
*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}
.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}


.journey-typewriter .untyped-letter { visibility: hidden; }
.journey-typewriter em { position: relative; }
.journey-typewriter .journey-typed::after {
  content: '';
  position: absolute;
  left: calc(100% + .08em);
  top: .15em;
  height: .8em;
  border-left: .035em solid currentColor;
  animation: journey-cursor-blink 1s step-end infinite;
}
@keyframes journey-cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .journey-typewriter .untyped-letter { visibility: visible; }
  .journey-typewriter .journey-typed::after { animation: none; }
}
:root{font-size:16px;font-family:'Lato',sans-serif;color:#101d35;background:#ffffff;font-synthesis:none;font-weight:400;--navy:#101d35;--red:#d60812;--muted:#647087;--line:#dfe3eb;--serif:'Libre Caslon Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{transition:background .2s,color .2s,transform .2s}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.container{width:min(1200px,calc(100% - 112px));margin:auto}.site-header{border-bottom:1px solid var(--line)}.header-inner{height:103px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{font-family:var(--serif);font-size:47px;color:var(--red);line-height:1;position:relative;width:35px}.brand-symbol>span{position:absolute;font:23px 'Lato';top:0;right:0}.brand-name{font-size:25px;letter-spacing:4px;font-weight:600;line-height:1.1}.brand-name>span{display:block;font-size:10px;letter-spacing:1.65px;margin-top:6px}nav{display:flex;gap:35px;align-items:center;font-size:15px}nav a{padding:14px 0}nav a:hover{color:var(--red)}.nav-active{position:relative}.nav-active:after{position:absolute;bottom:2px;left:50%;width:4px;height:4px;border-radius:50%;content:'';background:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;background:var(--red);color:white;padding:17px 23px;border:0;border-radius:3px;font-size:15px;font-weight:550;line-height:1.3}.button:hover{background:#b8050e;transform:translateY(-2px)}.button-small{padding:13px 19px;font-size:14px;gap:23px}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:65px;padding-top:42px;padding-bottom:54px;align-items:center}.breadcrumb{display:flex;gap:13px;color:var(--muted);font-size:13px;margin-bottom:43px}.breadcrumb>a{color:#526078}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.7px;color:var(--red);display:flex;align-items:center;gap:12px}.red-line{width:24px;height:1px;background:var(--red)}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:66px;line-height:1.04;letter-spacing:-1.8px;margin:23px 0}em{font-weight:400;color:var(--red)}.hero-description{font-size:16px;line-height:1.9;color:#647087;margin-bottom:27px}.hero-assurance{display:flex;align-items:center;gap:8px;font-size:12px;color:#647087;margin-top:25px}.assurance-icon{width:16px;height:16px;background:#edf0f6;display:grid;place-items:center;border-radius:50%;color:#101d35}.assurance-icon svg{width:11px;height:11px}.hero-image{height:445px;position:relative;border-radius:3px 3px 74px 3px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;object-position:45% center}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#0b1730e0)}.image-note{position:absolute;bottom:68px;left:32px;display:flex;gap:15px;color:white;font-family:var(--serif);font-size:27px;line-height:1.25}.image-note strong{font-weight:400}.image-note-line{height:56px;width:2px;background:#ed1823}.photo-location{position:absolute;bottom:26px;left:49px;display:flex;align-items:center;gap:8px;color:#e0e6f1;font-size:10px;letter-spacing:1.8px}.photo-location svg{width:12px;height:12px}.contact-section{padding:17px 0 55px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.section-heading h2{font-size:31px}.section-heading p{font-size:14px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card{padding:23px 25px 20px;background:#fff;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .2s,transform .2s}.contact-card:hover{transform:translateY(-3px);border-color:#a5b1c7}.contact-icon{color:var(--red);margin-bottom:19px}.contact-card-label{font-size:11px;letter-spacing:1.4px;color:var(--muted);font-weight:550;margin-bottom:10px}.contact-card strong{font-weight:500;font-size:19px;letter-spacing:-.4px}.contact-card strong.email-address{font-size:17px}.contact-card-bottom{margin-top:18px;padding-top:15px;border-top:1px solid #e9edf4;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.contact-card-bottom svg{width:16px;height:16px;color:var(--red)}.enquiry-section{background:#f3f5f9;border-top:1px solid #e4e8f0;border-bottom:1px solid #e4e8f0;padding:62px 0}.enquiry-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:85px;align-items:start}.form-area h2{font-size:46px;letter-spacing:-.6px;margin:13px 0 10px}.section-description{font-size:14px;color:var(--muted)}form{margin-top:29px}label{display:block;font-size:13px;font-weight:550;margin-bottom:19px}label>span{color:var(--red);margin-left:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{display:block;width:100%;border:1px solid #d8dfeb;background:#ffffff;border-radius:3px;padding:13px 14px;margin-top:9px;font-size:14px;color:var(--navy);outline:none;font-weight:400;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#8494b0;box-shadow:0 0 0 3px #101d351a}input::placeholder,textarea::placeholder{color:#8390a5}textarea{resize:vertical;min-height:118px;line-height:1.7}.privacy-note{display:flex;gap:9px;align-items:start;color:#647087;margin-top:3px}.privacy-note svg{flex:none;width:16px;height:16px}.privacy-note p{font-size:12px;line-height:1.7}.form-actions{display:flex;align-items:center;gap:17px;margin-top:23px}.form-actions>span{font-size:11px;color:var(--muted)}.consultation-card{background:var(--navy);color:white;border-radius:4px;position:relative;overflow:hidden}.consultation-top{padding:31px 32px 25px}.consultation-top>.eyebrow{font-size:10px;letter-spacing:1.35px;color:#ff8990}.consultation-graphic{position:absolute;right:-23px;top:47px;width:117px;height:117px;border:1px solid #ffffff12;border-radius:50%;display:grid;place-items:center}.consultation-graphic svg{height:58px;width:58px;transform:rotate(-45deg);color:#ffffff13}.consultation-card h2{font-size:44px;line-height:1.04;margin:27px 0 18px;letter-spacing:-.4px}.consultation-card em{color:#ff8990}.consultation-card p{font-size:14px;line-height:1.9;color:#c4cddd;max-width:260px}.consultation-features{display:flex;flex-direction:column;gap:12px;margin-top:24px;font-size:12px;color:#e5eaf4}.consultation-features>span{display:flex;align-items:center;gap:10px}.consultation-features svg{height:14px;width:14px;color:#ff8990}.consultation-bottom{border-top:1px solid #ffffff14;padding:23px 32px 26px;background:#0b152a}.price{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.price>span{font-size:10px;letter-spacing:1.2px;color:#b3bfd3}.price strong{font-family:var(--serif);font-size:32px;font-weight:400}.price small{font-family:'Lato';font-size:12px;color:#c4cddd}.consultation-bottom .button{width:100%;justify-content:space-between}.booking-note{display:flex;justify-content:center;align-items:center;gap:7px;font-size:11px;color:#b3bfd3;margin-top:16px}.booking-note svg{width:12px;height:12px}.prepared-message{display:flex;gap:9px;font-size:14px;padding:15px;background:#e9eef8;margin-top:18px;line-height:1.7}.prepared-message svg{flex:none}.prepared-message a{text-decoration:underline}.closing{text-align:center;padding:44px 0 50px}.closing-mark{font-family:var(--serif);font-size:57px;color:var(--red);line-height:.8;display:block}.closing h2{font-size:32px;margin:6px 0 12px}.closing p{font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line)}.footer-main{display:flex;align-items:center;justify-content:space-between;padding:29px 0}.footer-main .brand-symbol{font-size:34px;width:26px}.footer-main .brand-symbol>span{font-size:17px}.footer-main .brand-name{font-size:18px}.footer-main .brand-name>span{font-size:8px;letter-spacing:1px}.footer-main>span,.footer-main>a{font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;padding:17px 0 23px;border-top:1px solid var(--line);font-size:11px;color:#647087}
@media(min-width:1450px){.hero{gap:90px;padding-top:50px;padding-bottom:65px}.hero-image{height:490px}h1{font-size:74px}}
@media(max-width:1050px){.container{width:calc(100% - 64px)}.hero{gap:30px}h1{font-size:55px}.hero-image{height:415px}.desktop-break{display:none}.enquiry-grid{gap:40px}.contact-card{padding:20px 18px}.contact-card strong{font-size:17px}.contact-card strong.email-address{font-size:16px}.consultation-top,.consultation-bottom{padding-left:25px;padding-right:25px}.form-actions{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{height:83px}.brand-name{font-size:21px}.brand-name>span{font-size:9px}.brand-symbol{font-size:40px}nav{display:none}.button-small{padding:11px 13px;gap:12px}.hero{grid-template-columns:1fr;gap:30px;padding-top:24px;padding-bottom:33px}.breadcrumb{margin-bottom:29px}h1{font-size:58px;margin:20px 0}.hero-description{font-size:15px}.hero-image{height:320px;border-bottom-right-radius:55px}.hero-assurance{margin-top:20px}.section-heading{display:block}.section-heading h2{font-size:28px}.section-heading p{margin-top:8px}.contact-grid{grid-template-columns:1fr;gap:12px}.contact-card{position:relative;padding:20px 20px 18px 67px}.contact-icon{position:absolute;left:24px;top:22px}.contact-card-label{margin-bottom:7px}.contact-card strong,.contact-card strong.email-address{font-size:19px}.contact-card-bottom{margin-top:12px;padding-top:12px}.contact-section{padding-top:10px;padding-bottom:35px}.enquiry-section{padding:38px 0}.enquiry-grid{grid-template-columns:1fr;gap:35px}.form-area h2{font-size:40px}.form-row{gap:12px}.form-actions{flex-direction:row;align-items:center;gap:12px}.form-actions>span{max-width:100px;line-height:1.7}.privacy-note br{display:none}.consultation-card h2{font-size:45px}.consultation-top{padding:28px}.consultation-bottom{padding:24px 28px}.closing{padding:38px 0}.closing h2{font-size:29px;line-height:1.15}.closing p{line-height:1.8}.footer-main{flex-wrap:wrap;gap:23px}.footer-main>span{display:none}.footer-bottom{flex-direction:column;gap:9px;font-size:10px}.eyebrow{font-size:11px}.photo-location{left:47px}}
.hero > *, .contact-grid > *, .enquiry-grid > *, .form-row > * { min-width: 0; }
.contact-card strong, .prepared-message { overflow-wrap: anywhere; }
.button svg, .contact-card-bottom svg, .assurance-icon, .red-line, .consultation-features svg { flex-shrink: 0; }
.contact-card-bottom { gap: 12px; }
.section-heading { gap: 24px; }
.header-inner { gap: 20px; }

@media (min-width: 701px) and (max-width: 900px) {
  .header-inner { flex-wrap: wrap; height: auto; padding-top: 20px; gap: 16px; }
  .header-inner nav { order: 3; width: 100%; justify-content: center; gap: 32px; padding-bottom: 12px; }
  .hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  h1 { font-size: clamp(40px, 5.8vw, 52px); }
  .hero-image { height: 400px; }
  .section-heading { align-items: flex-start; }
  .section-heading p { max-width: 180px; line-height: 1.7; }
  .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-card:last-child { grid-column: 1 / -1; }
  .contact-card strong.email-address { font-size: 17px; }
  .enquiry-grid { grid-template-columns: minmax(0, 1fr); }
  .consultation-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .consultation-bottom { border-top: 0; display: flex; flex-direction: column; justify-content: center; }
  .consultation-bottom .price { flex-wrap: wrap; gap: 12px; }
  .form-actions { flex-direction: row; align-items: center; }
}

@media (max-width: 700px) {
  .header-inner { height: auto; min-height: 83px; flex-wrap: wrap; gap: 12px; padding-top: 16px; }
  .header-inner nav { display: flex; order: 3; width: 100%; justify-content: space-between; gap: 12px; font-size:14px; padding-bottom: 12px; }
  .header-inner nav a { min-height: 44px; display: flex; align-items: center; }
  h1 { font-size: clamp(40px, 8.5vw, 58px); letter-spacing: -1px; }
  .hero-image { height: clamp(260px, 65vw, 380px); }
  .hero-description, .section-description, .consultation-card p { font-size:16px; }
  .section-description { line-height: 1.7; }
  .hero-assurance { line-height: 1.6; }
  .form-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  label { font-size:15px; }
  input, select, textarea { font-size: 16px; min-height: 48px; }
  textarea { min-height: 150px; }
  .privacy-note p { font-size:13px; }
  .form-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .form-actions .button { width: 100%; min-height: 48px; }
  .form-actions > span { max-width: none; text-align: center; font-size:13px; }
  .consultation-features { font-size:14px; line-height: 1.6; }
  .booking-note { font-size:12px; line-height: 1.6; }
  .footer-main > a { min-height: 44px; display: flex; align-items: center; }
}

@media (max-width: 380px) {
  .container { width: calc(100% - 32px); }
  .header-inner { column-gap: 8px; }
  .header-inner .brand { gap: 8px; }
  .header-inner .brand-name { font-size: 18px; }
  .header-inner .brand-name > span { font-size:8px; letter-spacing: 1.2px; }
  .header-inner .button-small { gap: 8px; padding: 12px; }
  .contact-card { padding-left: 52px; padding-right: 16px; }
  .contact-icon { left: 18px; }
  .contact-card strong.email-address { font-size: 16px; }
  .contact-card-bottom { font-size:12px; line-height: 1.6; }
  .consultation-top, .consultation-bottom { padding-left: 22px; padding-right: 22px; }
  .price { flex-wrap: wrap; gap: 10px; }
  .consultation-bottom .button { gap: 12px; padding-left: 16px; padding-right: 16px; }
}
.brand-logo{display:block;width:190px;height:auto;object-fit:contain}
.footer-main .brand-logo{width:160px}
.consultation-card{border-top:3px solid var(--red)}
.home-perspective,.home-cta{border-bottom:3px solid var(--red)}
@media(max-width:700px){.brand-logo{width:165px}}
@media(max-width:380px){.brand-logo{width:150px}}
.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:54px;align-items:center;padding-top:55px;padding-bottom:40px}
.home-hero h1{font-size:clamp(45px,4.8vw,68px);line-height:1.07;margin:25px 0}
.home-hero-copy>p{font-size:17px;line-height:1.9;color:var(--muted);max-width:450px}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px}
.text-link{font-size:14px;font-weight:550;display:inline-flex;align-items:center;gap:18px;color:var(--red);min-height:44px}
.text-link:hover{text-decoration:underline}
.home-hero-photo{height:470px;position:relative;overflow:hidden;border-radius:4px 4px 80px 4px}
.home-hero-photo img,.intro-photo img{width:100%;height:100%;object-fit:cover}
.home-hero-photo .photo-location{left:49px}
.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:4px;background:white}
.home-shortcuts>a{position:relative;padding:24px;border-right:1px solid var(--line);min-width:0}
.home-shortcuts>a:last-child{border:0}
.home-shortcuts>a:hover{background:#f3f5f9}
.home-shortcuts>a>span:first-child{font-size:16px;font-weight:550;display:block;padding-right:16px}
.home-shortcuts small{display:block;color:var(--muted);font-size:12px;margin-top:7px}
.shortcut-arrow{position:absolute;right:20px;top:25px;color:var(--red)}
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:center;padding-top:85px;padding-bottom:85px}
.intro-photo{height:340px;position:relative;border-radius:4px 65px 4px 4px;overflow:hidden}
.intro-photo>span{position:absolute;left:22px;bottom:20px;background:var(--navy);color:white;font-size:10px;letter-spacing:1.6px;padding:9px 12px}
.home-page h2{font-size:46px;line-height:1.08;letter-spacing:-.6px}
.home-intro h2{margin:18px 0}
.home-intro p{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:14px}
.home-pathways{background:#f3f5f9;padding:65px 0}
.home-pathways .section-heading h2{font-size:38px;margin-top:14px}
.home-pathways .section-heading p{max-width:220px;line-height:1.8}
.pathway-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:30px;align-items:start}
.pathway-card{position:relative;isolation:isolate;background:var(--navy);color:white;border-radius:5px;overflow:hidden;grid-column:span 2;scroll-margin-top:25px}
.pathway-card:nth-child(n+4){grid-column:span 3}
.pathway-card>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;opacity:.45}
.pathway-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#101d3522,#101d35 85%);z-index:-1}
.pathway-content{padding:125px 25px 25px}
.pathway-content>.eyebrow{color:#ff8990;font-size:10px;letter-spacing:1.4px}
.pathway-content h3{font-family:var(--serif);font-size:31px;font-weight:400;margin:12px 0}
.pathway-content>p{font-size:14px;line-height:1.8;color:#d9e1ef;min-height:44px}
.pathway-content summary{cursor:pointer;font-size:13px;margin-top:20px;padding:12px 0;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;list-style:none;gap:14px}
.pathway-content summary::-webkit-details-marker{display:none}
.pathway-content summary:focus-visible{outline:2px solid #ff8990;outline-offset:4px}
.pathway-content details[open] summary>span{transform:rotate(45deg)}
.pathway-detail{padding:8px 0;font-size:14px;line-height:1.8;color:#d9e1ef}
.pathway-detail>a{display:inline-block;margin-top:12px;text-decoration:underline;color:#ff8990}
.home-perspective{background:var(--navy);color:white;padding:65px 0}
.perspective-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:center}
.home-perspective .eyebrow{color:#ff8990;font-size:11px}
.home-perspective h2{margin:20px 0}
.home-perspective em,.home-cta em{color:#ff8990}
.home-perspective p{font-size:15px;color:#c4cddd;line-height:1.9;max-width:400px}
.perspective-points>div{padding:22px 0;border-top:1px solid #ffffff22;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:24px}
.perspective-points h3{font-size:15px;font-weight:500;line-height:1.6;margin:0}
.perspective-points p{font-size:14px}
.home-process{padding-top:70px;padding-bottom:70px}
.home-process h2{margin:16px 0}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:38px 0 20px}
.step-number{display:inline-grid;place-items:center;border:1px solid #d8dfeb;border-radius:50%;height:38px;width:38px;font-size:14px;color:var(--red)}
.process-grid h3{font-size:16px;font-weight:550;margin:18px 0 9px}
.process-grid p{font-size:14px;color:var(--muted);line-height:1.8}
.home-cta{background:var(--navy);padding:55px 0;color:white}
.home-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:40px}
.home-cta .eyebrow{color:#ff8990}
.home-cta h2{margin:19px 0}
.home-cta p{color:#c4cddd;font-size:15px;line-height:1.8}
.home-cta .button{flex-shrink:0}
@media(max-width:1050px){.home-hero{gap:30px}.home-hero-photo{height:430px}.home-intro,.perspective-grid{gap:45px}.home-shortcuts>a{padding:20px 16px}.shortcut-arrow{right:12px}.home-shortcuts>a>span:first-child{font-size:14px}.pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pathway-card,.pathway-card:nth-child(n+4){grid-column:auto}.pathway-card:last-child{grid-column:1/-1}.home-pathways .section-heading h2{font-size:34px}.home-page h2{font-size:40px}.home-cta>.container{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:700px){.home-hero{grid-template-columns:minmax(0,1fr);padding-top:35px;gap:28px;padding-bottom:28px}.home-hero h1{font-size:clamp(40px,8.5vw,58px);letter-spacing:-1px}.home-hero-copy>p{font-size:16px}.home-hero-photo{height:clamp(280px,70vw,420px)}.home-actions{gap:12px 20px}.home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}.home-shortcuts>a{padding:20px 16px}.home-shortcuts>a:nth-child(2){border-right:0}.home-shortcuts>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.home-shortcuts small{font-size:11px}.home-intro{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:45px;padding-bottom:45px}.intro-photo{height:280px}.home-page h2{font-size:38px}.home-intro p{font-size:16px}.home-pathways{padding:42px 0}.home-pathways .section-heading p{max-width:none}.home-pathways .section-heading h2{font-size:34px}.pathway-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:25px}.pathway-content{padding-top:125px}.pathway-content>p{min-height:0;font-size:16px}.pathway-content summary{font-size:15px;min-height:44px}.pathway-detail{font-size:15px}.home-perspective{padding:42px 0}.perspective-grid{grid-template-columns:minmax(0,1fr);gap:30px}.home-perspective p{font-size:16px}.perspective-points>div{gap:20px}.perspective-points p{font-size:14px}.home-process{padding-top:45px;padding-bottom:45px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.home-cta{padding:42px 0}.home-cta .button{width:100%;gap:14px}.home-hero-photo .image-note{left:24px;font-size:26px}.home-hero-photo .photo-location{left:41px;font-size:9px}}
.about-hero{background:#f3f5f9;border-bottom:1px solid var(--line);padding:35px 0 53px}
.about-hero .breadcrumb{margin-bottom:30px}
.about-hero h1{font-size:clamp(46px,5.6vw,76px);margin:22px 0 28px}
.about-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.about-hero-bottom p{font-size:16px;line-height:1.9;color:var(--muted)}
.about-page h2{font-size:46px;line-height:1.1;letter-spacing:-.6px}
.about-approach{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:85px;padding-top:75px;padding-bottom:75px;align-items:center}
.about-approach h2{margin:18px 0}
.about-description{font-size:16px;line-height:1.9;color:var(--muted);max-width:470px}
.about-principles{margin-top:27px;border-top:1px solid var(--navy)}
.about-principles>div{display:flex;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}
.principle-number{color:var(--red);font-size:13px;padding-top:3px;flex-shrink:0}
.about-principles h3{font-size:16px;font-weight:550;margin:0 0 8px}
.about-principles p{font-size:14px;line-height:1.8;color:var(--muted)}
.about-illustration{background:var(--navy);position:relative;overflow:hidden;border-radius:5px 65px 5px 5px;min-height:430px;color:white}
.about-illustration>svg{position:absolute;inset:0;width:100%;height:100%;color:#48608a}
.about-illustration .route-dot{fill:var(--red);stroke:none}
.about-illustration:after{content:'';position:absolute;width:160px;height:50px;background:var(--red);right:-25px;bottom:-12px;transform:rotate(-30deg)}
.about-illustration-copy{position:relative;padding:135px 35px 70px}
.about-illustration-copy .eyebrow{color:#ff8990;font-size:11px}
.about-illustration-copy p{font-family:var(--serif);font-size:41px;line-height:1.17;margin-top:20px}
.about-illustration-copy em{color:white}
.illustration-caption{position:absolute;left:35px;bottom:24px;font-size:9px;letter-spacing:1px;color:#b3bfd3;max-width:70%;line-height:1.6;z-index:1}
.about-practitioner{padding:65px 0;background:#f3f5f9;border-block:1px solid var(--line)}
.practitioner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:85px;align-items:center}
.about-practitioner h2{margin:18px 0}
.about-practitioner .text-link{margin-top:20px}
.practitioner-placeholder{background:white;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:4px;padding:30px}
.pending-label{font-size:10px;letter-spacing:1.1px;color:var(--red);font-weight:600}
.practitioner-placeholder h3{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.15;margin:18px 0}
.practitioner-placeholder p{font-size:14px;color:var(--muted);line-height:1.8}
.practitioner-placeholder ul{list-style:none;padding:20px 0 0;margin:20px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:13px}
.practitioner-placeholder li{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7}
.practitioner-placeholder li svg{color:var(--red);flex-shrink:0;margin-top:2px}
.about-cta-actions{display:flex;flex-direction:column;gap:20px;min-width:250px}
.about-secondary-link{color:white;font-size:14px;display:flex;justify-content:space-between;align-items:center;min-height:44px;border-bottom:1px solid #ffffff30}
@media(max-width:1050px){.about-approach,.practitioner-grid{gap:40px}.about-page h2{font-size:40px}.about-hero-bottom{align-items:flex-start}.about-illustration-copy{padding-left:28px;padding-right:28px}.about-illustration-copy p{font-size:36px}}
@media(max-width:700px){.about-hero{padding:25px 0 35px}.about-hero h1{font-size:clamp(42px,9vw,58px)}.about-hero-bottom{flex-direction:column;gap:14px}.about-approach,.practitioner-grid{grid-template-columns:minmax(0,1fr);gap:30px}.about-approach{padding-top:42px;padding-bottom:42px}.about-page h2{font-size:38px}.about-principles p{font-size:16px}.about-illustration{min-height:350px}.about-illustration-copy{padding:75px 28px 75px}.about-illustration-copy p{font-size:40px}.illustration-caption{left:28px}.about-practitioner{padding:42px 0}.practitioner-placeholder{padding:24px}.practitioner-placeholder p{font-size:16px}.practitioner-placeholder li{font-size:14px}.about-cta-actions{min-width:0;width:100%}}
.header-inner nav{gap:24px}
.booking-body,.resources-body{padding-top:48px;padding-bottom:70px}
.prototype-notice{padding:20px 24px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:4px;background:#f8f9fc;margin-bottom:30px}
.prototype-notice strong{font-size:15px}
.prototype-notice p{font-size:14px;color:var(--muted);line-height:1.8;margin-top:7px}
.booking-progress{display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin:0 0 30px;padding:0}
.booking-progress li{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);padding:9px 12px;background:#f3f5f9;border-radius:30px}
.booking-progress li>span{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:24px;height:24px;background:white}
.booking-progress .current{background:var(--navy);color:white}.booking-progress .current>span{background:var(--red);border-color:var(--red)}
.booking-progress .complete{color:var(--navy)}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:30px;align-items:start}
.booking-form{margin:0;border:1px solid var(--line);border-radius:6px;padding:32px;min-width:0}
.booking-form h2{font-size:36px;line-height:1.15;margin:16px 0 26px}
.topic-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;margin:0;padding:0}
.topic-options label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:4px;padding:16px;font-size:14px;margin:0;cursor:pointer;line-height:1.6}
.topic-options input{width:16px;height:16px;margin:0;accent-color:var(--red);flex-shrink:0;padding:0}
.topic-options .selected{border-color:var(--red);background:#fff5f5}
.booking-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:30px}
.booking-help{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:22px}
.booking-summary{background:var(--navy);border-top:3px solid var(--red);padding:30px;color:white;border-radius:5px}
.booking-summary>.eyebrow{color:#ff8990;font-size:11px}.booking-summary h2{font-size:34px;line-height:1.15;margin:20px 0}
.summary-practitioner{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid #ffffff22}
.summary-practitioner img{height:52px;width:52px;object-fit:cover;object-position:top;border-radius:50%;background:#edf0f6}
.summary-practitioner span{font-size:14px}.summary-practitioner small{display:block;font-size:12px;color:#c4cddd;margin-top:6px}
.booking-summary dl{margin:22px 0}.booking-summary dl>div{margin-bottom:20px}.booking-summary dt{font-size:12px;color:#b3bfd3;margin-bottom:7px}.booking-summary dd{margin:0;font-size:14px;line-height:1.6}
.booking-summary dd.summary-price{font-family:var(--serif);font-size:36px}.summary-price small{font-family:'Lato';font-size:13px}
.booking-summary>p{font-size:13px;color:#b3bfd3;line-height:1.8}.booking-summary>a{font-size:13px;display:block;margin-top:20px;text-decoration:underline}
.booking-review{margin:0}.booking-review>div{padding:15px 0;border-bottom:1px solid var(--line)}.booking-review dt{font-size:13px;color:var(--muted)}.booking-review dd{margin:7px 0 0;font-size:16px;overflow-wrap:anywhere;white-space:pre-wrap}
.payment-preview h3{font-family:var(--serif);font-size:29px;margin:20px 0 15px}.payment-preview p{font-size:15px;color:var(--muted);line-height:1.9;margin-bottom:18px}.payment-preview .text-link{display:flex;margin-top:15px;background:none;border:0;padding:0}
.practitioner-photo{height:570px;border-radius:5px 60px 5px 5px;overflow:hidden;background:#e5eaf4;align-self:stretch}
.practitioner-photo img{width:100%;height:100%;object-fit:contain;object-position:bottom}
.practitioner-role{color:var(--red);font-size:15px;margin-bottom:18px}
.credential-panel{border:1px solid var(--line);border-radius:4px;background:white;padding:22px;margin:22px 0}
.credential-panel dl{margin:16px 0}.credential-panel dl>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;font-size:13px}.credential-panel dt{color:var(--muted)}.credential-panel dd{margin:0;text-align:right}
.credential-panel p{font-size:12px;line-height:1.8;color:var(--muted)}.credential-panel .text-link{font-size:12px;margin-top:8px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.resource-card{border:1px solid var(--line);border-radius:5px;overflow:hidden}
.resource-art{height:170px;background:var(--navy);position:relative;overflow:hidden;color:#ff8990}
.resource-art>span{position:absolute;left:25px;top:23px;font-family:var(--serif);font-size:48px;color:white}
.resource-art svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.resource-art:after{content:'';position:absolute;right:-10px;bottom:-15px;height:35px;width:100px;transform:rotate(-30deg);background:var(--red)}
.resource-copy{padding:25px}.resource-copy .eyebrow{font-size:10px;line-height:1.8}.resource-copy h2{font-size:29px;line-height:1.12;margin:16px 0}
.resource-copy p{font-size:14px;color:var(--muted);line-height:1.85}
.resource-copy summary,.resource-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:18px 0;color:var(--navy)}
.resource-copy summary{border-top:1px solid var(--line);margin-top:20px;color:var(--red)}
summary::-webkit-details-marker{display:none}summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.resource-copy section{margin:16px 0}.resource-copy h3{font-size:15px;font-weight:600;margin:0 0 8px}
.resource-faq{max-width:760px;margin:70px auto 0}.resource-faq h2{font-size:40px;margin:16px 0 25px}
.resource-faq details{border-top:1px solid var(--line)}.resource-faq details:last-child{border-bottom:1px solid var(--line)}.resource-faq summary{font-size:16px;padding:22px 0}
.resource-faq p{font-size:15px;color:var(--muted);line-height:1.9;padding-bottom:23px}
.full-footer{background:white;color:var(--navy);border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,1.1fr);gap:45px;padding:50px 0}
.footer-brand img{width:170px;height:auto;background:white;border-radius:3px;padding:7px}
.footer-brand p{font-size:14px;line-height:1.9;color:var(--muted);margin:18px 0}.footer-brand .button{font-size:13px;padding:14px 17px}
.footer-grid h2{font-family:'Lato';font-size:14px;font-weight:600;color:var(--navy);margin:0 0 20px}
.footer-grid>div:not(:first-child)>a{display:block;font-size:13px;line-height:1.8;margin-bottom:13px;overflow-wrap:anywhere;min-height:25px}
.footer-grid a:not(.button):hover{color:var(--red)}.footer-grid address{font-size:13px;line-height:1.9;font-style:normal;color:var(--muted);margin-bottom:18px}
.footer-disclosures{border-top:1px solid var(--line);padding:23px 0;color:var(--muted);font-size:12px;line-height:1.9}
.footer-legal{display:flex;gap:30px;margin-top:15px;align-items:flex-start}.footer-legal details{flex:1;max-width:500px}.footer-legal summary{cursor:pointer;min-height:35px}.footer-legal p{margin:10px 0}
.footer-legal summary{color:var(--navy)}.footer-legal summary:hover{color:var(--red)}
.full-footer .footer-bottom{border-color:var(--line);color:var(--muted)}
.full-footer .footer-bottom a:hover{color:var(--red)}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;height:auto;padding-top:18px;gap:15px}.header-inner nav{order:3;width:100%;justify-content:center;gap:30px;padding-bottom:12px}.booking-grid{gap:20px}.booking-form,.booking-summary{padding:25px}.footer-grid{gap:25px}.resource-copy{padding:20px}}
@media(max-width:900px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-card:last-child{grid-column:1/-1}.booking-grid{grid-template-columns:minmax(0,1fr)}.booking-summary{max-width:none}.practitioner-photo{height:500px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}
@media(max-width:700px){.header-inner nav{gap:8px;justify-content:space-between;font-size:13px;flex-wrap:wrap}.header-inner .button-small{font-size:12px;padding:12px 10px;gap:7px}.header-inner .button-small svg{width:14px}.header-inner .brand-logo{width:150px}.booking-body,.resources-body{padding-top:30px;padding-bottom:42px}.prototype-notice{padding:18px}.booking-progress{gap:8px}.booking-progress li{font-size:11px;padding:7px 9px;gap:6px}.booking-form{padding:23px 18px}.booking-form h2{font-size:31px}.topic-options{grid-template-columns:minmax(0,1fr)}.topic-options label{min-height:52px;font-size:16px}.topic-options input{min-height:0}.booking-controls .button{gap:12px}.booking-help{font-size:15px}.booking-summary{padding:25px}.resource-grid{grid-template-columns:minmax(0,1fr)}.resource-copy{padding:24px}.resource-copy p{font-size:16px}.resource-copy summary{font-size:16px;min-height:48px}.resource-faq{margin-top:45px}.resource-faq h2{font-size:35px}.resource-faq summary{line-height:1.7}.practitioner-photo{height:460px;max-width:420px;width:100%;margin:auto}.credential-panel{padding:18px}.credential-panel dl>div{flex-wrap:wrap;font-size:14px}.credential-panel dd{text-align:left}.footer-grid{gap:30px 20px;padding:38px 0}.footer-brand{grid-column:1/-1}.footer-grid>div:not(:first-child)>a{font-size:14px;min-height:34px}.footer-grid>div:last-child{grid-column:1/-1}.footer-legal{flex-direction:column;gap:10px}.footer-legal details{width:100%}.full-footer .footer-bottom{flex-direction:row;gap:18px;align-items:center}}
.services-menu{position:relative;font-size:15px}.services-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;padding:14px 0;min-height:44px}
.services-menu[open]>summary svg{transform:rotate(180deg)}.services-active>summary,.services-menu[open]>summary{color:var(--red)}
.services-dropdown{position:absolute;top:100%;left:-22px;width:310px;padding:23px;background:white;border:1px solid var(--line);box-shadow:0 15px 45px #101d3514;border-radius:6px;z-index:30}
.services-dropdown>.eyebrow{font-size:10px;margin-bottom:13px}.services-dropdown>a{display:flex;justify-content:space-between;gap:15px;font-size:14px;line-height:1.6;padding:13px 0;border-bottom:1px solid var(--line)}.services-dropdown>a:last-child{border:0}.services-dropdown>a[aria-current=page]{color:var(--red)}
.services-page h2{font-size:43px;line-height:1.12;letter-spacing:-.6px}
.services-overview-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:50px;align-items:center;padding-top:35px;padding-bottom:65px}
.services-overview-hero .breadcrumb{margin-bottom:35px}
.services-overview-hero h1{font-size:clamp(48px,5.1vw,72px)}
.services-overview-hero p{max-width:470px;font-size:16px;color:var(--muted);line-height:1.9}.services-overview-hero .text-link{margin-top:20px}
.services-compass{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;margin:30px;display:grid;place-items:center}
.services-compass:before,.services-compass:after{content:'';position:absolute;border:1px dashed var(--line);border-radius:50%;inset:28px}.services-compass:after{inset:58px}
.compass-circle{position:relative;width:55%;aspect-ratio:1;color:var(--red);display:grid;place-items:center}.compass-circle svg{width:100%;height:100%;transform:rotate(35deg)}.compass-circle>span{position:absolute;font-size:10px;letter-spacing:1.7px;text-align:center;line-height:1.9;background:white;padding:7px;color:var(--navy)}
.compass-label{position:absolute;background:white;padding:7px 15px;font-size:10px;letter-spacing:1.8px;color:var(--muted)}.label-north{top:-13px}.label-south{bottom:-13px}.compass-dot{position:absolute;right:7%;top:22%;height:8px;width:8px;background:var(--red);border-radius:50%}
.services-collection{background:#f3f5f9;padding:45px 0 65px;border-block:1px solid var(--line)}
.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.collection-heading>span:last-child{font-size:10px;letter-spacing:1.4px;color:var(--muted)}
.service-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:23px;align-items:stretch}
.service-tile{grid-column:span 2;background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden;display:flex;flex-direction:column}.service-tile:nth-child(-n+2){grid-column:span 3}
.service-tile-photo{height:195px;position:relative;overflow:hidden}.service-tile:nth-child(-n+2) .service-tile-photo{height:270px}.service-tile-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.service-tile:hover .service-tile-photo img{transform:scale(1.04)}.service-index{position:absolute;top:18px;left:18px;border-radius:50%;width:34px;height:34px;background:white;display:grid;place-items:center;font-size:12px;color:var(--navy)}
.service-tile-copy{padding:25px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.service-tile-copy .eyebrow{font-size:10px;line-height:1.8}.service-tile-copy h2{font-size:31px;margin:14px 0}.service-tile-copy p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:24px}
.service-tile-link{display:flex;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;font-size:13px;color:var(--red)}
.services-start{display:flex;align-items:center;gap:25px;padding-top:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}.services-start>.step-number{flex:none}.services-start>div{flex:1}.services-start h2{font-size:28px}.services-start p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:10px}
.service-conversation{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-top:65px;padding-bottom:65px}.service-conversation h2{margin:20px 0}.service-conversation p{font-size:15px;color:var(--muted);line-height:1.8}.service-conversation-action{display:flex;flex-direction:column;gap:14px;min-width:240px}.service-conversation-action>span{font-size:11px;letter-spacing:1px;color:var(--muted)}.service-conversation-action small{font-size:11px;color:var(--muted);text-align:center}
.service-detail-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:60px;align-items:center;padding-top:35px;padding-bottom:50px}.service-detail-hero .breadcrumb{font-size:12px;flex-wrap:wrap;margin-bottom:35px}
.service-detail-hero h1{font-size:clamp(45px,4.7vw,65px)}.service-detail-copy>p{font-size:16px;color:var(--muted);line-height:1.9;max-width:440px;margin-bottom:25px}.detail-hero-note{display:block;font-size:11px;color:var(--muted);margin-top:16px;line-height:1.7}
.service-detail-photo{height:460px;position:relative;overflow:hidden;border-radius:4px 4px 75px 4px}.service-detail-photo>img{width:100%;height:100%;object-fit:cover}.service-detail-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#101d35b0)}
.service-photo-tag{position:absolute;left:25px;bottom:38px;z-index:1;border-left:2px solid var(--red);padding-left:17px;color:white}.service-photo-tag>span{font-size:10px;letter-spacing:1.7px;display:block;margin-bottom:10px}.service-photo-tag strong{font-family:var(--serif);font-size:32px;font-weight:400}
.service-section-nav{border-block:1px solid var(--line);background:white}.service-section-nav>.container{display:flex;gap:32px;justify-content:space-between;padding:18px 0}.service-section-nav a{font-size:13px;min-height:30px;display:flex;align-items:center;gap:10px}.service-section-nav a:last-child{color:var(--red)}
.service-perspective{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;padding-top:65px;padding-bottom:65px}.service-perspective h2{margin-top:20px;font-size:40px}.service-perspective>div>p{font-size:16px;color:var(--muted);line-height:1.95}.service-info-note{display:flex;gap:12px;align-items:flex-start;margin:25px 0 8px;padding:18px;background:#f3f5f9;border-radius:3px}.service-info-note .red-line{margin-top:8px;width:15px}.service-info-note p{font-size:12px;color:var(--muted);line-height:1.8}
.service-considerations{background:var(--navy);color:white;padding:55px 0}.service-considerations>.container>.eyebrow{color:#ff8990}.service-considerations h2{margin:20px 0 35px}.service-considerations em{color:#ff8990}
.consideration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.consideration-grid article{border-top:1px solid #ffffff30;padding-top:25px}.consideration-number{font-size:13px;color:#ff8990}.consideration-grid h3{font-family:var(--serif);font-size:28px;font-weight:400;margin:15px 0}.consideration-grid p{font-size:14px;color:#c4cddd;line-height:1.9}.considerations-caption{font-size:11px;color:#b3bfd3;margin-top:30px}
.service-support{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:65px;padding-top:65px;padding-bottom:65px;align-items:center}
.service-adviser{display:flex;gap:23px;align-items:center}.service-adviser>img{width:135px;height:200px;object-fit:cover;object-position:top;background:#e5eaf4;border-radius:4px 30px 4px 4px}.service-adviser h2{font-size:34px;margin:15px 0}.service-adviser>div>span:last-of-type{font-size:11px;color:var(--muted);display:block;line-height:1.8}.service-adviser .eyebrow{font-size:10px}.service-adviser .text-link{font-size:12px;margin-top:10px}
.support-list>div{padding:18px 0;border-bottom:1px solid var(--line)}.support-list>div:first-child{border-top:1px solid var(--line)}.support-list h3{font-size:15px;font-weight:550;margin:0 0 8px}.support-list p{font-size:14px;line-height:1.8;color:var(--muted)}
.service-questions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;padding-top:45px;padding-bottom:60px;border-top:1px solid var(--line)}.service-questions h2{margin:20px 0}.service-questions>div>p{font-size:14px;color:var(--muted);line-height:1.8}.service-questions details{border-bottom:1px solid var(--line)}.service-questions details:first-child{border-top:1px solid var(--line)}.service-questions summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:15px;line-height:1.7;cursor:pointer}.service-questions summary>span{color:var(--red)}.service-questions details[open] summary>span{transform:rotate(45deg)}.service-questions details p{font-size:15px;line-height:1.9;color:var(--muted);padding-bottom:22px}
.service-related{padding-bottom:30px}.service-related>.collection-heading{margin-bottom:15px}.service-related>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-related>div:last-child>a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px;background:#f3f5f9;border:1px solid var(--line);border-radius:4px;font-family:var(--serif);font-size:26px}.service-related a:hover{color:var(--red)}
@media(max-width:1050px){.services-overview-hero{gap:25px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.services-compass{margin:10px}.service-detail-hero{gap:30px}.service-detail-photo{height:420px}.service-perspective,.service-support,.service-questions{gap:35px}.service-adviser{flex-direction:column;align-items:flex-start}.service-adviser>img{width:150px;height:180px}.service-tile-copy{padding:22px}.service-tile-copy h2{font-size:28px}}
@media(max-width:700px){.services-menu{font-size:13px}.services-dropdown{left:-100px;width:min(310px,calc(100vw - 40px));padding:18px}.services-dropdown>a{font-size:15px;min-height:44px}.services-overview-hero{grid-template-columns:minmax(0,1fr);padding-top:25px;padding-bottom:35px;gap:20px}.services-overview-hero h1{font-size:clamp(42px,9vw,58px)}.services-overview-hero .eyebrow{line-height:1.8}.services-compass{width:210px;justify-self:center;margin:20px}.services-collection{padding:30px 0 40px}.collection-heading{align-items:flex-start;flex-direction:column;gap:10px}.service-tiles{grid-template-columns:minmax(0,1fr);gap:20px}.service-tile,.service-tile:nth-child(-n+2){grid-column:auto}.service-tile-photo,.service-tile:nth-child(-n+2) .service-tile-photo{height:220px}.service-tile-copy{padding:24px}.service-tile-copy h2{font-size:32px}.service-tile-copy p{font-size:16px}.service-tile-link{font-size:14px}.services-start{flex-wrap:wrap;padding-top:35px;padding-bottom:35px;gap:18px}.services-start>div{flex-basis:calc(100% - 70px)}.services-start .text-link{margin-left:56px}.services-start h2{font-size:27px}.service-conversation{flex-direction:column;align-items:stretch;gap:25px;padding-top:40px;padding-bottom:45px}.services-page h2{font-size:35px}.service-conversation-action{min-width:0}.service-detail-hero{grid-template-columns:minmax(0,1fr);padding-top:25px;padding-bottom:30px}.service-detail-hero h1{font-size:clamp(40px,9vw,58px)}.service-detail-photo{height:330px}.service-section-nav>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding:15px 0}.service-section-nav a{min-height:38px;font-size:14px}.service-perspective,.service-support,.service-questions{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:40px;padding-bottom:40px}.service-perspective h2{font-size:34px}.service-considerations{padding:40px 0}.consideration-grid{grid-template-columns:minmax(0,1fr);gap:25px}.consideration-grid p{font-size:16px}.considerations-caption{line-height:1.8}.service-adviser{flex-direction:row;gap:18px}.service-adviser>img{width:105px;height:180px;flex-shrink:0}.service-adviser h2{font-size:28px}.service-adviser .eyebrow{font-size:9px}.support-list p{font-size:16px}.service-questions summary{font-size:16px}.service-related>div:last-child{grid-template-columns:minmax(0,1fr);gap:12px}.service-related>div:last-child>a{font-size:25px}.service-info-note p{font-size:13px}}
.responsive-header .menu-toggle,.responsive-header .mobile-booking{display:none}
.responsive-header .header-inner{height:103px;min-height:0;padding-block:0;flex-wrap:nowrap;gap:24px}
.responsive-header .main-navigation{display:flex;order:0;width:auto;gap:24px;padding:0;flex-wrap:nowrap;align-items:center}
.responsive-header .brand,.responsive-header .header-booking{flex-shrink:0}
@media(max-width:1100px){
  .responsive-header .header-inner{height:auto;min-height:80px;padding-block:16px;flex-wrap:wrap;justify-content:space-between;gap:0}
  .responsive-header .brand-logo{width:165px}
  .responsive-header .header-booking{display:none}
  .responsive-header .menu-toggle{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--navy);font-size:14px}
  .responsive-header .main-navigation{display:none;width:100%;order:3;flex-direction:column;align-items:stretch;gap:0;padding:0;font-size:17px}
  .responsive-header .main-navigation.is-open{display:flex;margin-top:16px;padding-top:8px;border-top:1px solid var(--line)}
  .responsive-header .main-navigation>a:not(.button){display:flex;align-items:center;min-height:52px;padding:14px 4px;border-bottom:1px solid var(--line)}
  .responsive-header .nav-active:after{display:none}
  .responsive-header .nav-active{color:var(--red)}
  .responsive-header .services-menu{font-size:17px;width:100%;border-bottom:1px solid var(--line)}
  .responsive-header .services-menu>summary{justify-content:space-between;padding:14px 4px;min-height:52px}
  .responsive-header .services-dropdown{position:static;left:auto;top:auto;width:100%;max-width:100%;padding:12px 16px;margin-bottom:12px;background:#f3f5f9;box-shadow:none;border:0;border-left:2px solid var(--red);border-radius:0 4px 4px 0}
  .responsive-header .services-dropdown>a{font-size:15px;min-height:48px;white-space:normal;overflow-wrap:anywhere}
  .responsive-header .mobile-booking{display:flex;width:100%;margin-top:18px;padding:16px 20px;min-height:48px;font-size:15px;justify-content:space-between}
}
@media(max-width:380px){.responsive-header .brand-logo{width:145px}.responsive-header .menu-toggle{padding:10px;gap:7px}}
@media (max-width:700px) {
  .home-page .home-pathways .pathway-grid {
    display: block;
    position: relative;
    isolation: isolate;
    padding-bottom: 0;
  }
  .home-page .home-pathways .pathway-card {
    position: sticky;
    top: 16px;
    margin-bottom: 16px;
    border: 1px solid #ffffff26;
    border-radius: 12px;
    box-shadow: 0 -8px 28px #101d3518, 0 14px 32px #101d3526;
    max-height: calc(100svh - 96px);
    overflow-y: auto;
    scrollbar-width: thin;
    overscroll-behavior-y: auto;
    scroll-margin-top: 80px;
  }
  .home-page .home-pathways .pathway-0 { top: 16px; z-index: 1; }
  .home-page .home-pathways .pathway-1 { top: 28px; z-index: 2; }
  .home-page .home-pathways .pathway-2 { top: 40px; z-index: 3; }
  .home-page .home-pathways .pathway-3 { top: 52px; z-index: 4; }
  .home-page .home-pathways .pathway-4 { top: 64px; z-index: 5; margin-bottom: 0; }
  .home-page .home-pathways .pathway-content { min-height: 350px; padding-top: 110px; }
  .home-page .home-pathways .pathway-card:focus-within { z-index: 6; }
}
@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  .home-page .home-pathways .pathway-grid { padding-bottom: 0; }
  .home-page .home-pathways .pathway-card { position: relative; top: auto; max-height: none; overflow: hidden; margin-bottom: 16px; }
  .home-page .home-pathways .pathway-card:last-child { margin-bottom: 0; }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Pathway Guide */
.guide-body{padding:56px 0 110px}.guide-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:96px;align-items:start;margin-top:56px}
.guide-question{border:0;padding:0;margin:0 0 52px;min-width:0}.guide-question legend{font-family:var(--serif);font-size:30px;line-height:1.2;padding:0;margin-bottom:22px;display:flex;gap:16px;align-items:baseline}
.guide-step{font-family:'Lato',sans-serif;font-size:12px;letter-spacing:1.6px;color:var(--red);font-weight:650}
.guide-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.guide-option{position:relative;display:flex;align-items:center;gap:14px;min-height:62px;margin:0;padding:16px 20px;border:1px solid var(--line);border-radius:4px;background:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.guide-option:hover{border-color:#a5b1c7;transform:translateY(-1px)}.guide-option.selected{border-color:var(--navy);background:#f3f5f9}
.guide-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}.guide-option:has(input:focus-visible){outline:3px solid var(--red);outline-offset:3px}
.guide-radio{flex:none;width:18px;height:18px;border:1px solid #9aa6bb;border-radius:50%;display:grid;place-items:center;transition:border-color .2s}
.guide-option.selected .guide-radio{border-color:var(--red)}.guide-option.selected .guide-radio:after{content:'';width:8px;height:8px;border-radius:50%;background:var(--red)}
.guide-error{color:var(--red);font-size:14px;margin-top:12px}.guide-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.guide-actions .text-link,.guide-restart{background:none;border:0;padding:8px 0;font-size:15px;color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.guide-results{position:sticky;top:32px;outline:none;border-left:1px solid var(--line);padding-left:56px}.guide-results:focus-visible{outline:3px solid var(--red);outline-offset:8px}
.guide-welcome{background:#f3f5f9;border-radius:4px 4px 64px 4px;padding:48px 44px}.guide-results h2{font-size:40px;line-height:1.1;margin:18px 0 16px;letter-spacing:-.4px}
.guide-welcome p,.guide-intro{font-size:16px;line-height:1.85;color:var(--muted)}.guide-hint{margin-top:20px;font-size:14px!important;color:var(--navy)!important}
.guide-recs{list-style:none;padding:0;margin:30px 0 24px;border-top:1px solid var(--line)}.guide-recs a{display:grid;grid-template-columns:34px 1fr 24px;gap:14px;padding:22px 4px;border-bottom:1px solid var(--line);align-items:start}
.guide-rec-num{font-family:var(--serif);font-size:18px;color:var(--red)}.guide-rec-copy{display:flex;flex-direction:column;gap:6px}.guide-rec-copy small{font-size:11px;letter-spacing:1.5px;color:var(--red);font-weight:650}
.guide-rec-copy strong{font-family:var(--serif);font-weight:400;font-size:22px}.guide-rec-copy>span{font-size:14px;line-height:1.75;color:var(--muted)}
.guide-rec-arrow{color:var(--red);font-size:18px;transition:transform .2s}.guide-recs a:hover .guide-rec-arrow{transform:translateX(4px)}.guide-recs a:hover strong{color:var(--red)}
.guide-location{font-size:14px;line-height:1.8;color:var(--muted);padding-left:16px;border-left:2px solid var(--red)}
.guide-note{margin:28px 0;padding:28px;background:#f3f5f9;border-radius:4px}.guide-note h3,.guide-cta h3{font-family:var(--serif);font-weight:400;font-size:21px;margin:0 0 12px}
.guide-note ul{margin:0 0 12px;padding-left:18px;font-size:14px;line-height:1.85;color:#3d4a62}.guide-note .text-link{font-size:14px;text-decoration:underline}.guide-small{font-size:13px;color:var(--muted);margin-top:8px}
.guide-cta{background:var(--navy);color:#fff;border-radius:4px 4px 48px 4px;padding:30px;display:flex;flex-direction:column;gap:20px}.guide-cta p{font-size:14px;color:#c4cddd}.guide-restart{margin-top:22px}
@media(max-width:900px){.guide-grid{grid-template-columns:1fr;gap:56px}.guide-results{position:static;border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:48px;scroll-margin-top:20px}}
@media(max-width:560px){.guide-options{grid-template-columns:1fr}.guide-question legend{font-size:25px}.guide-welcome{padding:36px 28px}.guide-results h2{font-size:33px}.guide-body{padding:40px 0 80px}}
.guide-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:-8px 0 40px;padding:26px 30px;border:1px solid var(--line);border-radius:4px;transition:border-color .2s}.guide-banner:hover{border-color:#a5b1c7}.guide-banner>span:first-child{display:flex;flex-direction:column;gap:8px}.guide-banner strong{font-family:var(--serif);font-weight:400;font-size:26px}.guide-banner>span:first-child>span:last-child{font-size:14px;color:var(--muted)}.guide-banner>span:last-child{color:var(--red);font-size:20px}

/* Fluid type: scales smoothly between mobile and desktop instead of jumping at breakpoints */
h1{font-size:clamp(40px,4.4vw + 16px,74px)}
.home-hero h1{font-size:clamp(40px,3.6vw + 18px,68px)}
.about-hero h1{font-size:clamp(42px,3.9vw + 18px,76px)}
.services-overview-hero h1{font-size:clamp(42px,3.6vw + 20px,72px)}
.service-detail-hero h1{font-size:clamp(40px,3vw + 22px,65px)}
.home-page h2,.about-page h2,.services-page h2,.form-area h2{font-size:clamp(34px,1.6vw + 24px,46px)}
.consultation-card h2{font-size:clamp(36px,1.4vw + 26px,45px)}
.home-pathways .section-heading h2,.resource-faq h2,.guide-results h2,.service-perspective h2,.booking-form h2{font-size:clamp(30px,1.2vw + 22px,40px)}
.section-heading h2,.closing h2,.booking-summary h2,.service-adviser h2{font-size:clamp(27px,.8vw + 21px,34px)}
.pathway-content h3,.service-tile-copy h2,.resource-copy h2,.practitioner-placeholder h3,.payment-preview h3,.guide-question legend{font-size:clamp(24px,.8vw + 18px,32px)}
.about-illustration-copy p{font-size:clamp(32px,1.2vw + 24px,41px)}
.image-note,.home-hero-photo .image-note,.guide-banner strong,.service-related>div:last-child>a{font-size:clamp(22px,.5vw + 18px,27px)}
.hero-description,.about-description,.guide-welcome p,.guide-intro{font-size:clamp(15px,.25vw + 14px,17px)}

/* Motion: restrained, slow-eased reveals and hovers */
:root{--ease-premium:cubic-bezier(.22,.61,.36,1)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease-premium),transform 1.1s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-revealed{opacity:1;transform:none}
.hero-image.reveal,.home-hero-photo.reveal,.intro-photo.reveal{transform:none;clip-path:inset(0 0 6% 0);transition:opacity 1.2s var(--ease-premium),clip-path 1.4s var(--ease-premium)}
.hero-image.reveal.is-revealed,.home-hero-photo.reveal.is-revealed,.intro-photo.reveal.is-revealed{clip-path:inset(0 0 0 0)}
.hero-image>img,.home-hero-photo img,.intro-photo img,.service-tile-photo img,.pathway-card img{transition:transform 1.6s var(--ease-premium)}
.hero-image:hover>img,.home-hero-photo:hover img,.intro-photo:hover img,.service-tile-link:hover .service-tile-photo img{transform:scale(1.03)}
.button{transition:background .35s var(--ease-premium),transform .35s var(--ease-premium),box-shadow .35s var(--ease-premium)}
.button:hover{box-shadow:0 10px 24px -14px rgba(214,8,18,.55)}
.button span[aria-hidden],.button svg{transition:transform .45s var(--ease-premium)}
.button:hover span[aria-hidden],.button:hover svg{transform:translateX(3px)}
.contact-card,.resource-card,.guide-option,.guide-banner{transition:border-color .4s var(--ease-premium),transform .5s var(--ease-premium),box-shadow .5s var(--ease-premium),background .4s var(--ease-premium)}
.contact-card:hover,.resource-card:hover,.guide-banner:hover{box-shadow:0 18px 40px -28px rgba(16,29,53,.35)}
nav a{position:relative}nav a:not(.button):not(.nav-active):after{content:'';position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-premium)}
nav a:not(.button):not(.nav-active):hover:after{transform:scaleX(1);transform-origin:left}
.guide-result{animation:guide-in .8s var(--ease-premium)}
@keyframes guide-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}.guide-result{animation:none}*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

[data-step-body],[data-step-controls]{display:contents}

/* Revision2 alignment refinements (additive; source rules above preserved).
 * Home: equal-height pathway rows, 2-line description reserve, titles/dividers/
 * explore links align by row without clipping (min-height only, no truncation).
 * About: story content/illustration bases align; numbered accordion styles.
 * Practitioner photo bottom-aligns CTA via stretch grid; object-fit:contain
 * (bottom) preserved so the portrait never distorts.
 * Resources: 3-line title reserve; descriptions/dividers/links align by row. */
.pathway-grid{align-items:stretch}
.pathway-card{display:flex;flex-direction:column}
.pathway-content{flex:1;display:flex;flex-direction:column}
.pathway-content h3{min-height:2.4em}
.pathway-content>p{min-height:3.6em}
.pathway-content details{margin-top:auto}
.about-approach{align-items:stretch}
.about-principles{margin-top:27px;border-top:1px solid var(--navy)}
.principle-item{border-bottom:1px solid var(--line)}
.about-principles>.principle-item{display:block;padding:0;gap:0}
.principle-toggle{display:flex;gap:20px;align-items:flex-start;width:100%;padding:21px 0;background:none;border:0;text-align:left;cursor:pointer;min-height:44px;font:inherit;color:inherit}
.principle-toggle:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.principle-toggle[aria-disabled="true"]{cursor:default}
.principle-toggle .principle-indicator{margin-left:auto;flex-shrink:0;color:var(--red);font-size:16px;line-height:1.5}
.principle-item.is-open .principle-indicator{transform:rotate(45deg)}
.principle-panel{padding:0 0 21px 40px}
.principle-panel p{font-size:14px;line-height:1.8;color:var(--muted)}
.practitioner-grid{align-items:stretch}
.practitioner-photo{min-height:570px;height:auto}
.resource-grid{align-items:stretch}
.resource-card{display:flex;flex-direction:column}
.resource-copy{flex:1;display:flex;flex-direction:column}
.resource-copy h2{min-height:3.36em}
.resource-copy>p{min-height:3.7em}
.resource-copy details{margin-top:auto}
@media(max-width:1050px){.practitioner-photo{min-height:500px}}
@media(max-width:700px){
.pathway-content h3,.pathway-content>p,.resource-copy h2,.resource-copy>p{min-height:0}
.about-principles p{font-size:16px}
.principle-panel{padding-left:0}
.principle-panel p{font-size:16px}
.practitioner-photo{min-height:0;height:460px}
}

/* Native shared components: reserve full copy rows and align repeated footers. */
.service-tile-copy h2{min-height:2.4em}
.service-tile-copy>p{min-height:3.8em}
.process-grid h3{min-height:2.4em}
.contact-card strong{margin-bottom:18px}
.contact-card-bottom{margin-top:auto}
@media(max-width:700px){.service-tile-copy h2,.service-tile-copy>p{min-height:0}}

/* Native Resources articles extend the existing card palette and spacing. */
.resources-hub{margin:48px 0}.resources-hub>h2{margin-bottom:24px;font-family:var(--serif);font-size:clamp(1.75rem,3vw,2.5rem)}
.article-grid{align-items:stretch}.article-grid .resource-card:last-child{grid-column:auto}.article-card h3{font-family:var(--serif);font-size:29px;line-height:1.12;margin:12px 0}.article-card h3 a{color:inherit;text-decoration:none}.article-image{display:block}.article-image img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:var(--muted)}.article-meta a{color:inherit;text-decoration:underline}.category-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.category-links p{margin-top:8px}.resources-empty{padding:24px;border:1px solid var(--line);border-radius:12px}.article-pagination{margin:32px 0}.article-pagination ul{display:flex;flex-wrap:wrap;gap:12px}.article-pagination a,.article-pagination .current{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:6px}.article-pagination .current{background:var(--navy);color:white}.article-page{padding-top:48px;padding-bottom:64px}.article-page h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.75rem);line-height:1.1;margin:24px 0}.article-cover{margin:32px 0}.article-cover img{width:100%;max-height:600px;object-fit:cover}.article-content{max-width:800px;margin:32px auto;overflow-wrap:anywhere}.article-content p,.article-content ul,.article-content ol,.article-content blockquote{margin:1.25em 0}.article-content ul{list-style:disc;padding-left:1.5em}.article-content ol{list-style:decimal;padding-left:1.5em}.article-content h2,.article-content h3{font-size:1.8rem;margin:1.5em 0 .5em}.article-content a{color:var(--red);text-decoration:underline}.article-content img{max-width:100%;height:auto}.article-content blockquote{border-left:3px solid var(--red);padding-left:20px}.article-content table{width:100%}.category-description{margin:24px 0}
@media(max-width:767px){.category-links{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr}.article-page{padding-top:32px}.article-content{width:100%}}

/* Server-side enquiry: honeypot, result states, double-submit state. */
.enquiry-extra{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.enquiry-status:focus{outline:3px solid var(--navy);outline-offset:3px}
.enquiry-status-error{background:#fdecec;color:#7a0b12}
form[data-submitting="true"] button[type="submit"]{opacity:.7;pointer-events:none}

/* WhatsApp click-to-chat (rendered only when enabled with a valid number). */
.whatsapp-float{position:fixed;right:20px;bottom:88px;z-index:50;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 18px;border-radius:999px;background:#128c4a;color:#fff;font-size:14px;font-weight:600;box-shadow:0 6px 18px #0b173040}
.whatsapp-float:hover{background:#0e7440;transform:translateY(-2px)}
.whatsapp-float:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(max-width:700px){.whatsapp-float{right:14px;bottom:14px;padding:12px}.whatsapp-float-label{display:none}.has-whatsapp footer{padding-bottom:64px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}.whatsapp-float:hover{transform:none}}
.enquiry-extra{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enquiry-status:focus{outline:2px solid var(--navy);outline-offset:2px}
.enquiry-status-error{background:#fbe9ea;color:#7a0a10}
.enquiry-section form [aria-disabled=true]{opacity:.65;cursor:progress}
.whatsapp-float{position:fixed;right:20px;bottom:88px;z-index:40;display:inline-flex;align-items:center;gap:10px;min-height:48px;min-width:48px;padding:12px 18px;border-radius:999px;background:#128c4a;color:#fff;font-size:15px;font-weight:550;box-shadow:0 6px 20px rgba(16,29,53,.28);text-decoration:none}
.whatsapp-float:hover{background:#0e7a40}
.whatsapp-float:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
@media(max-width:767px){.whatsapp-float{right:14px;bottom:14px;padding:12px}.whatsapp-float-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;overflow:hidden;position:absolute}}
@media(prefers-reduced-motion:no-preference){.whatsapp-float{transition:background .2s var(--ease-premium)}}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:12px 18px;border-radius:3px;font-weight:550}
.skip-link:focus{top:12px;outline:3px solid #fff;outline-offset:2px}

/* Owner's six refinements: component-scoped; existing tablet/desktop preserved. */
.home-shortcuts > a > span:first-child {
  display:block;
  padding-right:28px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
@media(min-width:1051px) {
  .practitioner-grid > :last-child { display:flex; flex-direction:column; align-items:flex-start; }
  .practitioner-grid > :last-child > .button { margin-top:auto; }
  .practitioner-photo { position:relative; }
  .practitioner-photo > img { position:absolute; inset:0; }
}
@media(max-width:700px) {
  .enquiry-grid > .consultation-card { order:-1; }
  .services-page .service-tiles { display:block; isolation:isolate; }
  .services-page .service-tile {
    position:sticky;
    top:16px;
    margin-bottom:20px;
    max-height:calc(100svh - 96px);
    overflow-y:auto;
    scrollbar-width:thin;
    box-shadow:0 -8px 28px #101d3518, 0 14px 32px #101d3526;
    scroll-margin-top:80px;
  }
  .services-page .tile-0 { top:16px; z-index:1; }
  .services-page .tile-1 { top:28px; z-index:2; }
  .services-page .tile-2 { top:40px; z-index:3; }
  .services-page .tile-3 { top:52px; z-index:4; }
  .services-page .tile-4 { top:64px; z-index:5; }
  .services-page .service-tile:last-child { margin-bottom:0; }
  .services-page .service-tile:focus-visible { z-index:6; outline-offset:-4px; }
  .services-page .service-tile-photo { flex-shrink:0; }
  .services-page .service-tile-copy { flex-shrink:0; }
}
@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  .services-page .service-tile { position:relative; top:auto; max-height:none; overflow:visible; }
}

/* Native booking availability fields (kept out of the untouched reference block). */
.booking-field select{width:100%;max-width:100%;text-overflow:ellipsis}
.booking-slot-summary{font-weight:700;color:var(--navy);overflow-wrap:anywhere;margin:14px 0}

/* Footer legal links and the theme-served legal pages (kept out of the untouched reference block). */
.full-footer .footer-legal{border-top:1px solid var(--line);padding:23px 0;margin-top:0;font-size:12px;color:var(--muted)}
.full-footer .footer-legal a{color:var(--muted)}
.full-footer .footer-legal a:hover{color:var(--red)}
.legal-page{padding-top:56px;padding-bottom:72px;max-width:820px}
.legal-page h1{font-size:clamp(38px,5vw,58px);margin:0 0 22px}
.legal-page p{font-size:16px;line-height:1.9;color:var(--muted);margin:0 0 16px}

/* SEO: keyword eyebrow stays visually inside the existing poetic H1. */
.h1-eyebrow{display:flex;align-items:center;gap:12px;font-family:'Lato',sans-serif;font-size:12px;font-weight:650;letter-spacing:1.7px;line-height:1.6;color:var(--red);margin:0 0 18px;text-transform:none}
@media(max-width:700px){.h1-eyebrow{font-size:11px;margin-bottom:14px}}
