/* Contact v11 — depth, rhythm and a designed enquiry.
   Loaded only by /contact/. Every selector is scoped to .contact-page main; the hero, header and footer are untouched. */
.contact-page{--cx-emerald:#143826;--cx-emerald-2:#1d4b34;--cx-deep:#0f2c1f;--cx-pearl:#f5f5eb;--cx-paper:#fbfbf5;--cx-sage:#e8ede0;--cx-leaf:#a9c98d;--cx-glow:#d6e8c0;--cx-gold:#b8996a;--cx-line:#2a4d3424}

/* Shared line-art: an anatomical hand drawn with the site's existing outline. */
.contact-page main .cx-draw{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2.6s cubic-bezier(.45,.05,.2,1)}
.contact-page main .cx-hand-line{stroke-width:1.1}.contact-page main .cx-hand-bones{stroke-width:.8;opacity:.55}.contact-page main .cx-hand-wrist{stroke-width:.8;opacity:.6}.contact-page main .cx-hand-nerve{stroke-width:1.3;transition-delay:.9s}
.contact-page.ct-motion main [data-ct-draw]:not(.is-drawn) .cx-draw{stroke-dashoffset:1}
.contact-page main .cx-pulse circle{fill:#f0d9a8;filter:drop-shadow(0 0 5px #f0d9a8)}
.contact-page main [data-ct-draw]:not(.is-drawn) .cx-pulse{opacity:0}.contact-page main .cx-pulse{transition:opacity 1.2s 2.4s}

/* Seams: a soft dome that flattens as each section arrives, moving the page between pearl and emerald. */
.contact-page main [data-ct-seam]{position:relative;isolation:isolate;--seam:1;--seam-h:150px}
.contact-page main [data-ct-seam]:before{content:'';position:absolute;z-index:-1;left:-14%;right:-14%;top:calc(var(--seam-h) / -2);height:var(--seam-h);border-radius:50%;background:var(--seam-color);transform:scaleY(calc(1.6 - var(--seam) * .6));transform-origin:50% 100%;pointer-events:none}
.contact-page main .ct-seam-node{position:absolute;z-index:2;left:50%;top:calc(var(--seam-h) / 2 - var(--seam-h) * (1.6 - var(--seam) * .6));width:11px;height:11px;margin:-5px 0 0 -5px;border-radius:50%;border:1px solid var(--cx-gold);background:var(--seam-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--cx-gold) 14%,transparent)}
.contact-page main .ct-seam-node:after{content:'';position:absolute;left:4px;top:14px;width:1px;height:74px;background:linear-gradient(var(--cx-gold),transparent);transform-origin:top;transform:scaleY(var(--seam))}

/* 1. Pathways — premium cards on pearl, with an emerald lens beside them. */
.contact-page .ct-pathways{padding-bottom:210px;background:linear-gradient(180deg,var(--cx-pearl) 0,var(--cx-pearl) 50%,#edf0e3 100%)}
.contact-page .ct-path-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:clamp(40px,6vw,96px)}
.contact-page .ct-path-list{display:grid;gap:14px}
.contact-page .ct-path,.contact-page .ct-path:last-child{position:relative;border:1px solid var(--cx-line);border-radius:3px;background:linear-gradient(180deg,var(--cx-paper),#f6f6ed);transition:border-color .45s,background .45s,box-shadow .6s,transform .6s var(--ease)}
.contact-page .ct-path:before{content:'';position:absolute;left:-1px;top:-1px;bottom:-1px;width:3px;background:linear-gradient(#245b3e,var(--cx-leaf));transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease)}
.contact-page .ct-path:hover:before,.contact-page .ct-path[open]:before{transform:scaleY(1)}
.contact-page .ct-path:hover{border-color:#2a4d343d;box-shadow:0 22px 44px -34px #14382666;transform:translateY(-2px)}
.contact-page .ct-path[open]{background:#fdfdf9;border-color:#2f6a4840;box-shadow:0 34px 70px -46px #143826a0,0 0 0 6px #e8eedd;transform:none}
.contact-page .ct-path[open]:after{content:'';position:absolute;top:12px;right:12px;width:14px;height:14px;border-top:1px solid var(--cx-gold);border-right:1px solid var(--cx-gold);pointer-events:none}
.contact-page .ct-path>summary{grid-template-columns:62px minmax(0,1fr) 42px;gap:24px;align-items:center;padding:26px 30px 26px 26px;font-size:inherit;color:inherit}
.contact-page .ct-path[open]>summary{color:inherit}
.contact-page .ct-path-glyph{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;border:1px solid #2a4d3430;background:radial-gradient(circle at 35% 30%,#fff,#e9efdf);color:#2c5c40;font-size:27px;transition:background .5s,color .5s,box-shadow .6s,border-color .5s}
.contact-page .ct-path:hover .ct-path-glyph{box-shadow:0 0 0 6px #e5ecd9}
.contact-page .ct-path[open] .ct-path-glyph{background:radial-gradient(circle at 35% 30%,#2a6446,var(--cx-emerald));color:#eef4e2;border-color:var(--cx-emerald);box-shadow:0 0 0 6px #dfe9d2}
.contact-page .ct-path-text{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-page .ct-path-title{font-family:var(--serif);font-size:clamp(26px,2.25vw,34px);line-height:1.08;letter-spacing:-.025em;color:var(--ct-ink)}
.contact-page .ct-path[open] .ct-path-title{color:#2f6545}
.contact-page .ct-path-sub{font-family:var(--sans);font-size:13px;line-height:1.55;color:var(--ct-muted);letter-spacing:0}
.contact-page .ct-path-toggle{width:42px;height:42px;border-radius:50%;border:1px solid #2a4d3433;display:grid;place-items:center;font-size:17px;transition:transform .6s var(--ease),background .4s,color .4s,border-color .4s}
.contact-page .ct-path[open] .ct-path-toggle{transform:rotate(45deg);background:var(--cx-emerald);border-color:var(--cx-emerald);color:#f1f5e7}
.contact-page .ct-path[open]>summary>.ct-path-toggle>i{transform:none}
.contact-page .ct-path-panel{padding:0 30px 30px 112px}
.contact-page .ct-path-panel:before{content:'';display:block;height:1px;background:linear-gradient(90deg,var(--cx-line),transparent);margin:0 0 22px}

/* The lens: an emerald arch where the anatomy responds to each selection. */
.contact-page .ct-micro{position:sticky;top:130px;max-width:360px;margin:0;padding:58px 30px 30px;border-radius:999px 999px 6px 6px;background:radial-gradient(ellipse at 50% 26%,#2b6647 0,#173f2c 52%,var(--cx-deep) 100%);color:#eef3e2;overflow:hidden;isolation:isolate;box-shadow:0 46px 80px -50px #0f2c1fd9,inset 0 0 0 1px #d6e8c01a}
.contact-page .ct-micro-rings{position:absolute;z-index:-1;inset:16px 16px auto;aspect-ratio:1;border-radius:50%;border:1px solid #d6e8c01f;box-shadow:0 0 0 22px #d6e8c008,0 0 0 23px #d6e8c014}
.contact-page .ct-micro-scan{position:absolute;z-index:2;left:14%;right:14%;top:16%;height:1px;background:linear-gradient(90deg,transparent,#e4f2cfcc,transparent);box-shadow:0 0 16px 1px #cfe3b866;opacity:.7;pointer-events:none}
.contact-page.ct-motion .ct-micro-scan{animation:cx-scan 8s ease-in-out infinite alternate}
@keyframes cx-scan{from{transform:translateY(0)}to{transform:translateY(310px)}}
.contact-page .ct-micro .ct-hand-outline{fill:#d6e8c00d;stroke:#d6e8c0;stroke-width:1.1;opacity:.85}
.contact-page .ct-micro .ct-micro-bones{stroke:#d6e8c0;opacity:.13}
.contact-page .ct-micro[data-selection=injury] .ct-micro-bones{stroke:#e9d3a2;opacity:.72}
.contact-page .ct-micro .ct-micro-nerve{stroke:#efd39e;filter:drop-shadow(0 0 4px #efd39e88)}
.contact-page .ct-micro :is(.ct-micro-wrist,.ct-micro-palm,.ct-micro-joints){fill:#a9c98d2e;stroke:#d6e8c0}
.contact-page .ct-micro .ct-micro-point{fill:#efd39e}.contact-page .ct-micro .ct-micro-rule{stroke:#efd39e}
.contact-page .ct-micro[data-selection=diagnosis] .ct-hand-outline{stroke:#efd39e}
.contact-page .ct-micro-caption{border-top:1px solid #d6e8c026;margin-top:6px}
.contact-page .ct-micro-caption .ct-eyebrow{color:#bcd3a5}
.contact-page .ct-micro-caption p{color:#f1f5e7}
.contact-page .ct-micro-caption small{color:#9fb88e;font-size:8px}

/* 2. Enquiry — deep emerald, with a pearl form card held in an anatomical hand. */
.contact-page .ct-enquiry{--seam-color:var(--cx-emerald);background:var(--cx-emerald);color:#e7eedb;border-top:0;padding:0}
.contact-page .ct-enquiry-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(44px,6vw,104px);align-items:start;padding-top:120px;padding-bottom:230px}
.contact-page .ct-enquiry-intro{position:sticky;top:130px}
.contact-page .ct-enquiry-intro .ct-eyebrow{color:#bcd3a5}
.contact-page .ct-enquiry-intro h2{margin:22px 0 26px;color:#f2f5e8}
.contact-page .ct-enquiry-intro h2 em{color:#b5cea1}
.contact-page .ct-enquiry-intro>p:not(.ct-eyebrow){font-size:14px;color:#c3d3b6;max-width:430px;margin:0}
.contact-page .ct-enquiry .ct-visible-email{display:inline-flex;gap:14px;align-items:center;margin-top:24px;padding:12px 18px 12px 14px;min-height:50px;border:1px solid #d6e8c033;border-radius:40px;color:#f1f5e7;font-size:13px;transition:background .4s,border-color .4s}
.contact-page .ct-enquiry .ct-visible-email span{border:0;padding:0}
.contact-page .ct-enquiry .ct-visible-email i:first-child{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#d6e8c01f;font-size:16px}
.contact-page .ct-enquiry .ct-visible-email i:last-child{font-size:15px;transition:transform .4s}
.contact-page .ct-enquiry .ct-visible-email:hover{background:#d6e8c014;border-color:#d6e8c066}
.contact-page .ct-enquiry .ct-visible-email:hover i:last-child{transform:translate(3px,-3px)}
.contact-page .ct-team-photo{position:relative;margin:46px 0 0;max-width:470px}
.contact-page .ct-team-photo:before{content:'';position:absolute;inset:-11px 11px 11px -11px;border:1px solid #d6e8c02e;border-radius:3px;pointer-events:none}
.contact-page .ct-team-photo img{position:relative;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:3px;filter:saturate(.82) contrast(1.02);box-shadow:0 30px 60px -36px #000c}
.contact-page .ct-team-photo figcaption{margin-top:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#a9bf98}

.contact-page .ct-form-stage{position:relative;padding-top:128px}
.contact-page .ct-form-hand{position:absolute;z-index:0;left:50%;top:-58px;width:100%;height:auto;transform:translateX(-50%);pointer-events:none;overflow:visible}
.contact-page .ct-form-hand .cx-hand-line{stroke:#d6e8c0;opacity:.42}.contact-page .ct-form-hand .cx-hand-bones{stroke:#d6e8c0;opacity:.1}.contact-page .ct-form-hand .cx-hand-wrist{stroke:#d6e8c0;opacity:.18}.contact-page .ct-form-hand .cx-hand-nerve{stroke:#efd39e;opacity:.5}
.contact-page #ct-enquiry-form.ct-form-card{position:relative;z-index:1;max-width:none;margin:0;padding:clamp(28px,3.2vw,48px);border:0;border-radius:4px;background:linear-gradient(180deg,#fbfbf6,#f3f4ea);color:var(--ct-ink);box-shadow:0 60px 110px -50px #050f0ae6,0 0 0 1px #ffffff1a,0 0 0 10px #d6e8c00d}
.contact-page .ct-card-corners:before,.contact-page .ct-card-corners:after{content:'';position:absolute;width:18px;height:18px;pointer-events:none;border-color:var(--cx-gold);border-style:solid}
.contact-page .ct-card-corners:before{top:14px;left:14px;border-width:1px 0 0 1px}.contact-page .ct-card-corners:after{bottom:14px;right:14px;border-width:0 1px 1px 0}
.contact-page .ct-form-card .ct-form-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 30px;padding:0 0 24px;border-bottom:1px solid var(--cx-line);color:inherit}
.contact-page .ct-form-heading{display:flex;flex-direction:column;gap:8px}
.contact-page .ct-form-title{font-family:var(--serif);font-size:clamp(28px,2.4vw,36px);line-height:1.05;letter-spacing:-.03em}
.contact-page .ct-form-card #ct-form-progress{color:#8a6f45;font-size:9px!important}
.contact-page .ct-form-rail{display:flex;align-items:center;gap:0;list-style:none;margin:4px 0 0;padding:0;font-size:11px;font-weight:600;color:#6b7f63}
.contact-page .ct-form-rail li{display:flex;align-items:center;gap:9px;white-space:nowrap}
.contact-page .ct-form-rail li+li:before{content:'';width:46px;height:1px;margin:0 12px;background:#2a4d3433;transition:background .6s}
.contact-page .ct-form-card[data-step="2"] .ct-form-rail li+li:before{background:#2f6a48}
.contact-page .ct-form-rail b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid #2a4d3440;font-size:11px;font-weight:600;transition:background .5s,color .5s,border-color .5s}
.contact-page .ct-form-card:not([data-step="2"]) .ct-rail-1,.contact-page .ct-form-card[data-step="2"] .ct-rail-2{color:var(--ct-ink)}
.contact-page .ct-form-card:not([data-step="2"]) .ct-rail-1 b,.contact-page .ct-form-card[data-step="2"] .ct-rail-2 b{background:var(--cx-emerald);border-color:var(--cx-emerald);color:#f1f5e7}
.contact-page .ct-form-card[data-step="2"] .ct-rail-1 b{background:#dfe9d2;border-color:#9fbf86;color:#2f6545}

.contact-page .ct-form-card .ct-fields{grid-template-columns:1fr 1fr;gap:20px 20px}
.contact-page .ct-form-card .ct-fields>.ct-field:first-child{grid-column:1/-1}
.contact-page .ct-enquiry .ct-field{display:block;font-size:12px;font-weight:600;line-height:1.5;color:var(--ct-ink)}
.contact-page .ct-enquiry .ct-field>.ct-field-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 9px;font-size:12px;font-weight:600;color:var(--ct-ink)}
.contact-page .ct-enquiry .ct-field-label small{font-size:10px;font-weight:400;color:#6f8167}
.contact-page .ct-enquiry .ct-field>.ct-field-box{position:relative;display:block;margin:0;font-size:14px;font-weight:400;color:inherit;background:#fff;border:1px solid #2a4d3424;border-radius:3px;transition:border-color .35s,box-shadow .45s,background .35s}
.contact-page .ct-enquiry .ct-field-box:after{content:'';position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--cx-gold),var(--cx-leaf));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.contact-page .ct-enquiry .ct-field-box:hover{border-color:#2a4d3440}
.contact-page .ct-enquiry .ct-field-box:focus-within{border-color:#2f6a48;box-shadow:0 0 0 4px #2f6a4817;background:#fff}
.contact-page .ct-enquiry .ct-field-box:focus-within:after{transform:scaleX(1)}
.contact-page .ct-enquiry .ct-field-box>i{position:absolute;left:16px;top:17px;font-size:18px;color:#6b8a68;pointer-events:none;transition:color .3s}
.contact-page .ct-enquiry .ct-field-box:focus-within>i{color:#245b3e}
.contact-page .ct-enquiry .ct-field-box :is(input,select,textarea),.contact-page .ct-enquiry .ct-field-box :is(input,select,textarea):focus{display:block;width:100%;min-height:52px;margin:0;padding:14px 16px 14px 46px;border:0;border-radius:3px;background:transparent;box-shadow:none;outline:none;color:#1f402d;font:400 14px/1.5 var(--sans)}
.contact-page .ct-enquiry .ct-field-box :is(input,textarea)::placeholder{color:#8a9783;font-size:13px}
.contact-page .ct-enquiry .ct-field-select select{appearance:none;-webkit-appearance:none;padding-right:46px;cursor:pointer}
.contact-page .ct-enquiry .ct-field-box>.ct-select-caret{left:auto;right:16px;font-size:15px}
.contact-page .ct-enquiry .ct-field-area textarea{min-height:140px;padding-bottom:34px;resize:vertical}
.contact-page .ct-count{position:absolute;right:14px;bottom:10px;font-size:10px;letter-spacing:.06em;color:#7d8c76;pointer-events:none}
.contact-page .ct-form-card .ct-context-fields{grid-template-columns:1fr;gap:20px;margin-top:24px}
.contact-page .ct-form-card #ct-form-next{margin-top:26px}
.contact-page .ct-form-card .ct-form-note{color:#5b6c55}
.contact-page .ct-form-card .ct-form-actions{margin-top:22px}
.contact-page .ct-form-card .ct-button-solid{background:var(--cx-emerald);color:#f1f5e8;border-color:var(--cx-emerald);min-width:230px;box-shadow:0 14px 30px -18px #143826}
.contact-page .ct-form-card .ct-button-solid:hover{background:#245b3e}
.contact-page .ct-next-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0 0;padding:22px 0 0;border-top:1px solid var(--cx-line);position:relative}
.contact-page .ct-next-steps li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start}
.contact-page .ct-next-steps li>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600;background:#e6eddb;color:#2f6545}
.contact-page .ct-next-steps p{margin:0;font-size:11.5px;line-height:1.6!important;color:#5b6c55;overflow-wrap:anywhere}
.contact-page .ct-next-steps strong{display:block;font-weight:600;color:var(--ct-ink)}
.contact-page .ct-form-card #ct-email-note{margin-top:18px;color:#6a7a63}

.contact-page .ct-enquiry:after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 38% at 14% 52%,#22573c 0,transparent 100%),radial-gradient(ellipse 48% 36% at 92% 66%,#1f5038cc 0,transparent 100%)}

/* 3. Destination — back to pearl, the portrait framed by an emerald arch. */
.contact-page .ct-destination{--seam-color:var(--cx-pearl);background:var(--cx-pearl);color:var(--ct-ink);padding:120px var(--ct-pad) 110px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(40px,6vw,100px);align-items:center}
.contact-page .ct-destination-image{min-height:0;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;padding-top:30px}
.contact-page .ct-portrait-arch{position:absolute;z-index:-1;left:9%;right:9%;top:0;bottom:0;border-radius:999px 999px 4px 4px;background:radial-gradient(ellipse at 50% 32%,#2d6a4a 0,#173f2c 55%,var(--cx-deep) 100%);box-shadow:0 50px 90px -60px #0f2c1f}
.contact-page .ct-portrait-arch:before{content:'';position:absolute;inset:18px 18px 0;border-radius:999px 999px 0 0;border:1px solid #d6e8c024;border-bottom:0}
.contact-page .ct-portrait-arch:after{content:'';position:absolute;inset:-14px -14px 0;border-radius:999px 999px 0 0;border:1px solid #2a4d3426;border-bottom:0}
.contact-page .ct-destination-image img{position:relative;max-width:none;width:82%;mask-image:none;-webkit-mask-image:none;filter:saturate(.85)}
.contact-page .ct-portrait-caption{left:auto;right:9%;bottom:auto;top:calc(100% + 16px);color:#6f8167}
.contact-page .ct-destination-copy{padding:0}
.contact-page .ct-destination-copy .ct-eyebrow{color:#4f6859}
.contact-page .ct-destination-copy h2 em{color:#568067}
.contact-page .ct-destination address{color:#4f6859}
.contact-page .ct-destination address strong{color:var(--ct-ink)}
.contact-page .ct-destination-copy>p:not(.ct-eyebrow){color:#4f6859;font-size:13px}
.contact-page .ct-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}
.contact-page .ct-tile{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;grid-template-rows:auto auto;column-gap:16px;row-gap:5px;align-items:center;min-height:108px;padding:20px 20px 20px 18px;border:1px solid var(--cx-line);border-radius:3px;background:var(--cx-paper);color:var(--ct-ink);overflow:hidden;isolation:isolate;transition:transform .5s var(--ease),box-shadow .5s,border-color .4s,background .4s}
.contact-page .ct-tile:before{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(110deg,transparent 30%,#e3ecd6 50%,transparent 70%);transform:translateX(-100%);transition:transform .9s var(--ease)}
.contact-page .ct-tile:hover{transform:translateY(-3px);border-color:#2a4d3445;box-shadow:0 24px 44px -30px #14382673}
.contact-page .ct-tile:hover:before{transform:translateX(100%)}
.contact-page .ct-tile-icon{grid-row:1/3;position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid #2a4d3433;font-size:21px;color:#2c5c40;background:radial-gradient(circle at 35% 30%,#fff,#eaf0e0)}
.contact-page .ct-tile-icon:after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--cx-leaf);opacity:0;transform:scale(.85);transition:opacity .5s,transform .6s var(--ease)}
.contact-page .ct-tile:hover .ct-tile-icon:after{opacity:1;transform:scale(1)}
.contact-page .ct-tile-label{align-self:end;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5d7558}
.contact-page .ct-tile-value{align-self:start;font-family:var(--serif);font-size:21px;line-height:1.15;letter-spacing:-.015em;overflow-wrap:anywhere}
.contact-page .ct-tile-value small{font-family:var(--sans);font-size:10px;letter-spacing:.1em;color:#6f8167;margin-left:6px}
.contact-page .ct-tile-value-sm{font-family:var(--sans);font-size:13px;letter-spacing:0;font-weight:500;overflow-wrap:normal}
.contact-page .ct-tile-arrow{grid-column:3;grid-row:1/3;font-size:16px;transition:transform .45s}
.contact-page .ct-tile:hover .ct-tile-arrow{transform:translate(3px,-3px)}
.contact-page .ct-tile-book{background:radial-gradient(ellipse at 20% 0,#2a6446,var(--cx-emerald) 70%);border-color:var(--cx-emerald);color:#f1f5e7}
.contact-page .ct-tile-book:before{background:linear-gradient(110deg,transparent 30%,#ffffff14 50%,transparent 70%)}
.contact-page .ct-tile-book .ct-tile-icon{background:#d6e8c014;border-color:#d6e8c040;color:#e6f1d5}
.contact-page .ct-tile-book .ct-tile-label{color:#bcd3a5}
.contact-page .ct-tile-book:hover{border-color:var(--cx-emerald);box-shadow:0 26px 48px -26px #143826}

.contact-page .ct-destination:after{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 40% at 82% 46%,#e2ead4b3,transparent 100%)}

/* 4. Location — a calm line map instead of an empty box. */
.contact-page .ct-location-strip{background:linear-gradient(180deg,#eef1e4,#e4eadb);position:relative}
.contact-page .ct-map-frame{height:370px;border-radius:3px;background:#edf1e5;border-color:#6b885b40;box-shadow:0 30px 60px -44px #14382659}
.contact-page .ct-map-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.contact-page .ct-map-blocks rect{fill:#e2e9d7;stroke:#d3ddc6}
.contact-page .ct-map-minor path{fill:none;stroke:#d6dfcb;stroke-width:1}
.contact-page .ct-map-road{fill:none;stroke:#fbfbf4;stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 0 0.6px #9fb18d)}
.contact-page .ct-map-road-sm{stroke-width:5}
.contact-page .ct-map-ring{fill:#dfe9d3;stroke:#8fae7c;stroke-width:1.2}
.contact-page .ct-map-ring-in{fill:#eef3e6;stroke:#a9c08f;stroke-dasharray:3 4}
.contact-page .ct-map-placeholder{position:relative;z-index:1;background:radial-gradient(ellipse at 50% 50%,#f6f6eeee 0,#f6f6eed9 30%,#f6f6ee00 62%)}
.contact-page .ct-map-marker{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--cx-emerald);color:#f1f5e7;font-size:24px;box-shadow:0 12px 26px -12px #143826}
.contact-page .ct-map-marker:before,.contact-page .ct-map-marker:after{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid #2f6a48;opacity:0}
.contact-page.ct-motion .ct-map-marker:before{animation:cx-ping 3.4s ease-out infinite}
.contact-page.ct-motion .ct-map-marker:after{animation:cx-ping 3.4s ease-out 1.7s infinite}
@keyframes cx-ping{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.6);opacity:0}}
.contact-page .ct-map-placeholder .ct-button{background:#fbfbf5}

/* 5. Practical, social and urgent — quieter pearl, with clear icon anchors. */
.contact-page .ct-practical-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 0 22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#e6eddb);border:1px solid var(--cx-line);color:#2c5c40;font-size:23px}
.contact-page .ct-practical article{border-top:0;padding:0 0 0 28px;border-left:1px solid var(--cx-line);position:relative}
.contact-page .ct-practical article:before{content:'';position:absolute;left:-1px;top:0;height:52px;width:1px;background:var(--cx-gold)}
.contact-page .ct-practical-number{display:block}
.contact-page .ct-urgent{padding-bottom:150px}
.contact-page .ct-urgent .ct-eyebrow{display:flex;align-items:center;gap:10px;color:#8a6f45}
.contact-page .ct-urgent .ct-eyebrow i{font-size:16px}

/* 6. Closing — emerald again, with the hand drawn faintly behind the invitation. */
.contact-page .ct-closing{--seam-color:#103322;--seam-h:120px;overflow:visible}
.contact-page .ct-closing-hand{position:absolute;z-index:-1;left:50%;top:44px;width:min(54vw,470px);height:auto;transform:translateX(-50%);pointer-events:none}
.contact-page .ct-closing-hand .cx-hand-line{stroke:#d6e8c0;opacity:.22}.contact-page .ct-closing-hand .cx-hand-bones{stroke:#d6e8c0;opacity:.06}.contact-page .ct-closing-hand .cx-hand-wrist{stroke:#d6e8c0;opacity:.1}.contact-page .ct-closing-hand .cx-hand-nerve{stroke:#efd39e;opacity:.32}
.contact-page .ct-closing-hand .cx-pulse{opacity:.7}

/* Tablet */
@media(max-width:1100px){
.contact-page .ct-path-layout{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:4vw}
.contact-page .ct-path>summary{grid-template-columns:52px minmax(0,1fr) 38px;gap:18px;padding:22px}
.contact-page .ct-path-glyph{width:52px;height:52px;font-size:23px}
.contact-page .ct-path-panel{padding:0 22px 26px 92px}
.contact-page .ct-micro{padding:46px 22px 24px}
.contact-page .ct-tiles{grid-template-columns:1fr}
.contact-page .ct-tile{min-height:88px}
.contact-page .ct-destination{gap:4vw;padding-top:100px}
}
@media(max-width:960px){
.contact-page .ct-enquiry-grid{grid-template-columns:1fr;gap:20px;padding-top:100px}
.contact-page .ct-enquiry-intro{position:relative;top:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);column-gap:40px;align-items:end}
.contact-page .ct-enquiry-intro>*{grid-column:1}
.contact-page .ct-team-photo{grid-column:2;grid-row:1/6;margin:0;align-self:end}
}
/* Mobile */
@media(max-width:760px){
.contact-page main [data-ct-seam]{--seam-h:80px}
.contact-page main .ct-seam-node:after{height:46px}
.contact-page .ct-pathways{padding-bottom:120px}
.contact-page .ct-path-layout{grid-template-columns:1fr;gap:24px}
.contact-page .ct-path-list{gap:10px}
.contact-page .ct-path>summary{grid-template-columns:44px minmax(0,1fr) 34px;gap:14px;padding:18px 16px 18px 14px}
.contact-page .ct-path-glyph{width:44px;height:44px;font-size:20px}
.contact-page .ct-path-title{font-size:24px}
.contact-page .ct-path-sub{font-size:12.5px}
.contact-page .ct-path-toggle{width:34px;height:34px;font-size:15px}
.contact-page .ct-path-panel{padding:0 16px 22px 16px}
.contact-page .ct-path[open]:after{top:9px;right:9px;width:10px;height:10px}
.contact-page .ct-micro{position:relative;top:auto;max-width:none;border-radius:14px;padding:14px 16px;grid-template-columns:120px 1fr;margin:0}
.contact-page .ct-micro-rings{display:none}
.contact-page .ct-micro-scan{top:10%;left:8%;right:auto;width:110px}
@keyframes cx-scan{from{transform:translateY(0)}to{transform:translateY(150px)}}
.contact-page .ct-micro-caption{border:0}
.contact-page .ct-path-panel>.ct-micro{grid-template-columns:96px minmax(0,1fr)}
.contact-page .ct-path-panel:before{margin-bottom:16px}
.contact-page .ct-enquiry-grid{padding-top:80px;padding-bottom:130px}
.contact-page .ct-enquiry-intro{display:block}
.contact-page .ct-enquiry-intro h2{font-size:38px!important}
.contact-page .ct-enquiry .ct-visible-email{font-size:12.5px;max-width:100%}
.contact-page .ct-team-photo{margin:34px 0 0 11px}
.contact-page .ct-form-stage{padding-top:60px;margin-top:10px}
.contact-page .ct-form-hand{width:130%;top:-10px}
.contact-page #ct-enquiry-form.ct-form-card{padding:26px 18px 24px}
.contact-page .ct-card-corners:before{top:9px;left:9px}.contact-page .ct-card-corners:after{bottom:9px;right:9px}
.contact-page .ct-form-card .ct-form-top{flex-direction:column;gap:16px;margin-bottom:24px;padding-bottom:20px}
.contact-page .ct-form-rail{font-size:10.5px}
.contact-page .ct-form-rail li+li:before{width:28px;margin:0 9px}
.contact-page .ct-form-card .ct-fields{grid-template-columns:1fr;gap:18px}
.contact-page .ct-form-card .ct-fields>.ct-field:first-child{grid-column:auto}
.contact-page .ct-enquiry .ct-field-box :is(input,select,textarea),.contact-page .ct-enquiry .ct-field-box :is(input,select,textarea):focus{font-size:16px;min-height:54px}
.contact-page .ct-enquiry .ct-field-box>i{top:18px}
.contact-page .ct-form-card .ct-button-solid{min-width:0;width:100%}
.contact-page .ct-next-steps{grid-template-columns:1fr;gap:12px}
.contact-page .ct-destination{padding:90px var(--ct-pad) 70px;grid-template-columns:1fr;gap:0}
.contact-page .ct-destination-image{max-width:330px;padding-top:24px;margin:34px auto 30px}
.contact-page .ct-destination-image img{max-height:none;width:100%}
.contact-page .ct-portrait-caption{right:auto;left:9%;top:calc(100% + 12px);font-size:7px}
.contact-page .ct-tiles{grid-template-columns:1fr 1fr;gap:9px;margin-top:26px}
.contact-page .ct-tile{grid-template-columns:1fr 16px;grid-template-rows:auto auto auto;row-gap:6px;column-gap:8px;min-height:0;padding:16px 14px;align-items:start}
.contact-page .ct-tile-icon{grid-row:1;grid-column:1;width:40px;height:40px;font-size:18px;margin-bottom:6px}
.contact-page .ct-tile-label{grid-column:1/-1;font-size:9px;letter-spacing:.1em}
.contact-page .ct-tile-value{grid-column:1/-1;font-size:17px}
.contact-page .ct-tile-value-sm{font-size:11.5px}
.contact-page .ct-tile-arrow{grid-row:1;grid-column:2;font-size:14px}
.contact-page .ct-map-frame{height:300px}
.contact-page .ct-practical article{padding-left:20px}
.contact-page .ct-urgent{padding-bottom:100px}
.contact-page .ct-closing-hand{top:30px;width:80vw}
}
@media(max-width:360px){
.contact-page .ct-tiles{grid-template-columns:1fr}
.contact-page .ct-path-title{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
.contact-page main .cx-pulse,.contact-page .ct-micro-scan{display:none}
.contact-page main [data-ct-seam]{--seam:1!important}
}
@media print{
.contact-page .ct-form-hand,.contact-page .ct-closing-hand,.contact-page .ct-seam-node,.contact-page .ct-micro-scan,.contact-page .ct-map-art,.contact-page .ct-team-photo,.contact-page .ct-portrait-arch{display:none}
.contact-page main [data-ct-seam]:before{display:none}
.contact-page .ct-enquiry,.contact-page .ct-enquiry-grid{background:white;color:#183e2d;display:block;padding:25px 0}
.contact-page .ct-enquiry-intro :is(h2,h2 em,p,.ct-eyebrow,a){color:#183e2d}
.contact-page .ct-tile{color:#183e2d!important;background:none!important;border-color:#ccc}
}

/* v12: sending states for the doctor-only enquiry form. */
.contact-page .ct-form-card .ct-form-status{margin-top:18px;padding:14px 16px;border-radius:3px;background:#e6eddb;color:#1f4a31;font-weight:500}
.contact-page .ct-form-card .ct-form-status[data-state=error]{background:#f5e9df;color:#7a3f1d}
.contact-page .ct-form-card [aria-busy=true] .ct-button-solid,.contact-page .ct-form-card .ct-button-solid:disabled{opacity:.65;cursor:progress}

/* v13.3 fix: keep the message box the same size when focused, so the Send button never moves under the pointer. */
.contact-page .ct-enquiry .ct-field-box.ct-field-area textarea,.contact-page .ct-enquiry .ct-field-box.ct-field-area textarea:focus{min-height:140px;padding-bottom:34px}
