/* stage: extending the coastal collection */
.page-view{background:var(--cream);min-height:75vh}
.page-view:focus{outline:none}
.page-topline{padding:24px 7% 0;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--muted);letter-spacing:1px}
.page-topline a{text-decoration:underline;text-underline-offset:4px}
.page-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:48px 7% 68px;align-items:center}
.page-hero h1{font-size:clamp(44px,5.7vw,84px);letter-spacing:-2px}
.page-hero .intro{max-width:none;line-height:1.85}
.page-hero .actions{margin-top:25px}
.page-art{margin:0;position:relative}
.page-art svg{display:block;width:100%;height:auto;border-radius:180px 180px 5px 5px;background:#dbe2d0}
.page-art figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:8px;letter-spacing:1.3px;color:var(--muted)}
.page-art .drifting{animation:coastal-drift 9s ease-in-out infinite alternate;transform-origin:center}
.page-art .breathe{animation:coastal-breathe 7s ease-in-out infinite alternate;transform-origin:center}
.page-motion{display:flex;gap:8px;align-items:center;justify-content:flex-end;font-size:10px;font-weight:400;margin-top:14px}
.page-view:has(.page-motion input:checked) svg *{animation-play-state:paused!important}
@keyframes coastal-drift{from{transform:translateY(-3px)}to{transform:translateY(4px)}}
@keyframes coastal-breathe{from{opacity:.4}to{opacity:.85}}
/* stage: composing generous reading layouts */
.page-band{padding:26px 7%;background:var(--sage);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;letter-spacing:.4px}
.page-editorial{padding:72px 7%;display:grid;grid-template-columns:1fr 1.2fr;gap:10%;border-bottom:1px solid var(--line)}
.page-editorial h2{font-size:clamp(35px,3.8vw,54px)}
.page-editorial .prose p:first-child{margin-top:0}
.prose{color:var(--muted);font-size:15px;line-height:1.9}
.prose strong{color:var(--ink);font-weight:600}
.prose ul{padding-left:20px}
.prose li{padding-bottom:9px}
.page-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.page-card{border-top:1px solid #aab99b;padding:23px 0 10px}
.page-card .number{font-family:Georgia,serif;font-size:42px;color:#829174}
.page-card h3{font-family:Georgia,serif;font-size:28px;letter-spacing:-.5px}
.page-card p{color:var(--muted);font-size:14px;line-height:1.85}
.page-quote{margin:0;padding:55px 12%;background:#e7e8d8;text-align:center;font-family:Georgia,serif;font-size:clamp(27px,3.5vw,45px);line-height:1.4;letter-spacing:-.8px}
.page-quote small{display:block;font:9px Arial,sans-serif;letter-spacing:2px;margin-top:22px}
.page-bottom{background:var(--ink);color:var(--cream);padding:56px 7%;display:flex;align-items:center;justify-content:space-between;gap:28px}
.page-bottom h2{font-size:clamp(33px,3.8vw,54px)}
.page-bottom p{color:#bbccb8;font-size:13px}
.page-bottom em{color:#c6d6a6}
.page-bottom .actions{flex-shrink:0}
.page-bottom .text-link{color:#e5e9d3}
.page-notice{padding:20px 7%;font-size:11px;color:var(--muted);background:#eceee1}
.page-notice a{text-decoration:underline;text-underline-offset:3px}
.page-checklist{list-style:none;margin:0;padding:0;counter-reset:check}
.page-checklist li{counter-increment:check;border-bottom:1px solid var(--line);padding:20px 0 20px 48px;position:relative}
.page-checklist li:before{content:"0" counter(check);position:absolute;left:0;top:23px;font-size:11px;color:#849373}
.page-checklist h3{margin:0 0 9px;font-size:18px}
.page-checklist p{margin:0;color:var(--muted);font-size:14px}
.page-facts{margin:0}
.page-facts>div{padding:17px 0;border-bottom:1px solid var(--line)}
.page-facts dt{font-size:10px;letter-spacing:1.3px;color:var(--muted);margin-bottom:6px}
.page-facts dd{margin:0;font-size:17px;overflow-wrap:anywhere}
.page-facts small{display:block;color:var(--muted);font-size:12px}
.page-facts button{margin-top:9px}
.copy-message{font-size:11px;color:var(--muted);min-height:20px}
.route-map{background:#e4e8d9;padding:25px;border:1px solid var(--line);border-radius:5px}
.route-map svg{width:100%;height:auto;display:block}
.route-map p{font-size:11px;color:var(--muted);margin-bottom:0}
.header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.footer-pages{display:flex;flex-wrap:wrap;gap:15px 24px;width:100%;border-top:1px solid #3c5b4e;padding:24px 0 0;font-size:12px;position:static;background:transparent;box-shadow:none;flex-direction:row;align-items:center}
.footer-pages a{padding-block:5px}
/* stage: laying out explanatory diagrams */
.home-pathway{background:#f0eee3;border-bottom:1px solid var(--line)}
.explainer{background:#eceee2;border-bottom:1px solid #ced8c5}
.explainer h2{font-size:clamp(35px,3.8vw,55px)}
.diagram-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:5%;align-items:center}
.diagram-layout>*{min-width:0}
.explain-figure{margin:0;overflow:hidden;border:1px solid #c1ceb7;border-radius:12px;background:#e1e7d7}
.explain-figure svg{display:block;width:100%;height:auto}
.explain-figure figcaption{padding:16px 20px;border-top:1px solid #c8d2bd;background:#f5f3e9;color:#52684f;font-size:11px;line-height:1.75}
.diagram-copy{font-size:14px;line-height:1.8;color:#52685b}
.diagram-copy>p:first-child{margin-top:0}
.diagram-copy strong{color:var(--ink)}
.diagram-copy ol{margin:0;padding-left:21px}
.diagram-copy li{padding:8px 0 8px 4px}
.diagram-copy .text-link{margin-top:15px}
.diagram-tip{border-left:3px solid #93a278;padding:12px 15px;background:#e3e8d7;margin-top:20px}
.pathway-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}
.pathway-cards article{min-width:0}
.pathway-cards h3{font-family:Georgia,serif;font-size:27px;margin:10px 0}
.pathway-cards p{color:var(--muted);font-size:13px;line-height:1.85}
.mini-label{font-size:9px;font-weight:700;letter-spacing:1.4px;color:#5e7255}
.home-explore{display:flex;gap:14px 26px;flex-wrap:wrap;border-top:1px solid #cbd4c1;padding-top:22px;margin-top:30px;font-size:12px}
.home-explore>span{color:var(--muted);margin-right:auto}
.home-explore>a{text-decoration:underline;text-underline-offset:5px}
.faq-more{margin-top:23px}
.faq-tools{padding:28px 7%;background:#193e39;color:#f5f2e9}
.faq-tools label{font-size:14px;margin-bottom:10px}
.faq-search-row{display:flex;gap:12px;align-items:stretch}
.faq-search-row input{flex:1}
.faq-search-row button{flex:none;background:#e8eab4;color:#193e39;border-color:#e8eab4}
.faq-tools .search-count{font-size:12px;color:#d4e0ca;margin:10px 0 0;min-height:20px}
.fee-summary{background:#f0eee3}
.fee-table-wrap{overflow-x:auto;border:1px solid #c3cdb8;border-radius:8px;margin-top:28px}
.fee-table{border-collapse:collapse;width:100%;min-width:530px;font-size:13px;text-align:left;background:#faf8ef}
.fee-table caption{text-align:left;padding:16px 20px;background:#dfe6d4;font-size:11px;color:#405a42}
.fee-table th,.fee-table td{vertical-align:top;padding:19px 20px;border-bottom:1px solid #d8ddcb}
.fee-table thead{background:#e8ecdc}
.fee-table thead th{font-size:10px;letter-spacing:1px;text-transform:uppercase}
.fee-table tbody th{font-weight:600;width:32%}
.fee-table tbody tr:last-child>*{border-bottom:0}
.fee-table small{display:block;color:#60705b;font-weight:400;margin-top:6px}
.page-editorial>*,.page-hero>*,.page-bottom>*,.page-cards>*{min-width:0}
.page-view .prose,.page-notice,.diagram-copy{overflow-wrap:break-word}
/* stage: opening the foundation journal */
.journal-intro{background:#193e39;color:#f5f2e9;padding:65px 7%}
.journal-intro h1{font-size:clamp(46px,6vw,86px)}
.journal-intro em{color:#c6d6a6}
.journal-intro .intro{color:#d1ddcc;max-width:58ch}
.journal-intro .eyebrow{color:#c6d6a6}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.journal-card{background:#fbf9f1;border:1px solid #cbd4c1;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.journal-card>div{padding:24px;display:flex;flex-direction:column;flex:1}
.journal-card h3{font:normal 27px/1.18 Georgia,serif;letter-spacing:-.5px;margin:12px 0}
.journal-card p{font-size:13px;line-height:1.8;color:var(--muted)}
.journal-card .text-link{margin-top:auto;align-self:flex-start}
.journal-card .journal-graphic{width:100%;height:auto;display:block}
.journal-card .mini-label{font-size:9px}
.journal-hero{align-items:start}
.journal-hero h1{font-size:clamp(36px,4.6vw,68px);line-height:1.12;overflow-wrap:break-word}
.journal-hero .intro{font-size:16px}
.journal-hero .journal-figure{align-self:center}
.journal-figure{margin:0;border:1px solid #bac9ad;border-radius:14px;overflow:hidden;background:#e1e7d7}
.journal-graphic{display:block;width:100%;height:auto}
.journal-figure figcaption{font-size:12px;line-height:1.8;background:#f8f5ea;padding:20px;color:#49624d}
.journal-figure figcaption strong{display:block;color:#193e39;margin-bottom:5px}
.journal-byline{font-size:11px;color:#60716a;line-height:1.8;border-top:1px solid #cbd4c1;padding-top:18px}
.journal-article .page-editorial{padding-block:48px}
.journal-article .page-editorial h2{font-size:clamp(30px,3.3vw,45px)}
.journal-article .prose{font-size:16px}
.journal-source{background:#e5e9dc;padding:30px 7%;font-size:12px;color:#52684f}
.journal-source p{margin:8px 0;overflow-wrap:anywhere}
.journal-source strong{color:#193e39}
.journal-context{background:#e9ecdf}
.journal-context .page-cards{margin-top:24px}
.journal-context .prose{font-size:14px}
.journal-context h2{font-size:clamp(33px,3.5vw,49px)}
.journal-home{background:#e8e6d7}
.journal-home .section-heading>.text-link{flex-shrink:0}
.journal-topics{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:25px;font-size:12px}
.journal-topics a{border-bottom:1px solid #b6c6a8;padding-bottom:5px}
@media(min-width:741px){.header{flex-wrap:wrap}.header #navigation{flex-wrap:wrap;justify-content:flex-end;gap:16px;flex:1}}
@media(max-width:1050px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){
.journal-grid{grid-template-columns:1fr}
.journal-intro{padding:45px 7%}
.journal-hero h1{font-size:clamp(36px,9vw,60px)}
.journal-article .page-editorial{padding-block:35px}
.journal-card h3{font-size:28px}
.journal-figure figcaption{padding:16px}
}
/* stage: refining imagery for presentation */
.page-art{isolation:isolate;padding:12px;border:1px solid #c4cfba;border-radius:190px 190px 12px 12px;background:linear-gradient(145deg,#f8f4e6,#dbe3d0);box-shadow:0 20px 45px #193e390b}
.page-art svg{border:1px solid #ffffff80}
.page-art figcaption{padding:0 8px;line-height:1.6;letter-spacing:1px}
.page-motion{padding-right:8px}
.journal-card{box-shadow:0 8px 25px #193e3907}
.journal-card>.journal-graphic{border-bottom:1px solid #c7d2bd}
.journal-figure,.explain-figure{box-shadow:0 12px 30px #193e3908}
.demo-source-review{padding:22px 7%;background:#e5e9dc;color:#52684f;font-size:12px}
.demo-source-review>summary{font-size:12px;color:var(--ink)}
.demo-source-review>strong{display:block;margin-top:18px}
.demo-source-review p{line-height:1.85}
@media(max-width:740px){.page-art{padding:8px;border-radius:120px 120px 10px 10px}.page-art figcaption{font-size:8px}}
/* stage: framing the reference illustrations */
.reference-figure{margin:0;border:1px solid #bfc8b6;border-radius:12px;overflow:hidden;background:#dfdfcd;box-shadow:0 15px 35px #193e3910}
.reference-svg{display:block;width:100%;height:auto}
.reference-figure figcaption{padding:14px 20px;background:#eeeee2;color:#52684f;font:11px/1.5 Arial,sans-serif;letter-spacing:.6px}
.reference-introduction{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;margin-bottom:55px}
.reference-introduction h2{font-size:clamp(34px,4vw,57px)}
.reference-reading{display:grid;gap:22px;align-self:center;min-width:0}
.page-hero>.reference-figure{align-self:center}
.journal-card>.reference-svg{border-bottom:1px solid #c7d2bd}
@media(max-width:740px){.reference-introduction{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.reference-figure figcaption{padding:12px 16px}}
/* stage: styling visit preparation */
.visit-preparation{margin-top:20px;padding:18px 0 0;border-top:1px solid var(--line);border-bottom:0}
.visit-preparation summary{font-size:13px;line-height:1.5;align-items:center}
.visit-preparation fieldset{margin:15px 0 8px}
.visit-preparation label{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid #cbd4c1;border-radius:6px;background:#f3f5eb;margin:0 0 9px;cursor:pointer;font-size:12px;line-height:1.5}
.visit-preparation input[type=checkbox]{flex:none;width:18px;height:18px;margin:1px 0 0}
.visit-preparation input:focus-visible{outline:2px solid #658878;outline-offset:3px}
.visit-preparation small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.6}
.visit-preparation label:has(input:checked){background:#e1ead7;border-color:#92aa83}
.visit-preparation label:has(input:checked)>span{color:#36583e}
.visit-preparation .fine{padding-right:0}
/* stage: fitting fees on phones */
@media(max-width:740px){
  .fee-table-wrap{overflow:visible;min-width:0}
  .fee-table{min-width:0;width:100%;display:block}
  .fee-table caption{display:block}
  .fee-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .fee-table tbody{display:block;width:100%}
  .fee-table tbody tr{display:flex;flex-direction:column;padding:18px;border-bottom:1px solid #c3cdb8}
  .fee-table tbody tr:last-child{border-bottom:0}
  .fee-table tbody tr>th,.fee-table tbody tr>td{display:block;width:auto;padding:0;border:0;overflow-wrap:anywhere}
  .fee-table tbody th{order:0;font-size:16px}
  .fee-table tbody td:last-child{order:1;margin-top:12px;font-size:20px;font-weight:600;color:var(--ink)}
  .fee-table tbody td:nth-child(2){order:2;margin-top:12px;font-size:13px;color:var(--muted)}
  .fee-table tbody td:nth-child(2)::before{content:'Approximate duration: ';font-weight:600}
  .fee-table tbody small{font-size:12px;line-height:1.6}
}
/* stage: finding the right page */
.foundation-search-toggle{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:1px solid #bbc8b5;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.foundation-search-toggle svg{width:21px;height:21px}
.foundation-search-toggle:hover,.foundation-search-toggle[aria-expanded=true]{background:var(--sage)}
.foundation-search{padding:0 7%;background:#e4e9da;border-bottom:1px solid #bdcbb1}
.foundation-search:not([open]){display:none}
.foundation-search>summary[hidden]{display:none!important}
.foundation-search[open]{padding-top:20px}
@media(max-width:740px){
  .header{gap:10px}
  .header>.brand{margin-right:auto;min-width:0}
  .foundation-search-toggle{width:44px;height:44px}
}
@media(max-width:380px){
  .header{padding-inline:4%;gap:8px}
  .header .brand{font-size:20px;gap:8px}
  .header .brand small{font-size:7px;letter-spacing:1px}
  .header .menu-button{padding-inline:9px}
}
.foundation-search>summary{padding:14px 0;min-height:48px;align-items:center;font-size:12px;letter-spacing:.3px}
.foundation-search>summary:after{content:'⌕';font-size:24px}
.foundation-search[open]>summary:after{content:'−'}
.foundation-search-content{padding:8px 0 26px}
.foundation-search label{font-size:15px}
.foundation-search-row{display:flex;gap:12px;align-items:stretch}
.foundation-search-row input{flex:1;min-width:0}
.foundation-search-row button{flex:none}
.foundation-search .fine{margin:9px 0;color:#485f4d;padding:0}
.foundation-search-status{font-size:12px;color:#405946;min-height:20px;margin:14px 0}
.foundation-search-results{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:0}
.foundation-search-results a{height:100%;display:block;padding:17px 20px;background:#faf8ef;border:1px solid #bccab1;border-radius:8px}
.foundation-search-results a:hover{background:#f0f3df;border-color:#69805d}
.foundation-search-results strong{display:block;font:normal 22px/1.25 Georgia,serif;margin-bottom:7px}
.foundation-search-results span{display:block;font-size:12px;line-height:1.65;color:#52684f}
.foundation-search-results small{display:block;font-size:10px;margin-top:9px;color:#405946}
@media(max-width:740px){
.foundation-search-results{grid-template-columns:1fr}
.foundation-search-row{flex-wrap:wrap}
.foundation-search-row input{flex-basis:70%}
.foundation-search-row button{padding:10px 16px}
}
/* stage: a compact front door */
.home-front-door > .section{padding-block:46px}
.home-first-visit{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:center;background:#f0eee3;border-bottom:1px solid var(--line)}
.home-first-visit .prose{margin-top:0}
.home-front-door h2{font-size:clamp(32px,3.6vw,50px)}
.home-andrew .reference-introduction{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);margin-bottom:0;gap:6%}
.home-andrew .reference-svg{height:240px;object-fit:contain}
.home-andrew .reference-figure{background:#dddccc}
.home-front-door .journal-home .section-heading{margin-bottom:20px}
.home-front-door .journal-home .journal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.home-front-door .journal-home .journal-card > svg{height:120px;object-fit:cover}
.home-front-door .journal-home .journal-card > div{padding:18px}
.home-front-door .journal-home .journal-card h3{font-size:23px}
.home-front-door .journal-home .journal-card p{margin:0 0 12px}
.home-front-door .booking .page-facts{margin-top:24px}
.home-front-door .booking .page-facts > div{padding-block:12px}
@media(max-width:740px){
  .home-front-door > .section{padding-block:32px}
  .home-first-visit{grid-template-columns:1fr;gap:18px}
  .home-andrew .reference-introduction{grid-template-columns:1fr;gap:20px}
  .home-andrew .reference-svg{height:190px}
  .home-front-door .journal-home .journal-grid{grid-template-columns:1fr;gap:12px}
  .home-front-door .journal-home .journal-card{display:grid;grid-template-columns:30% minmax(0,1fr)}
  .home-front-door .journal-home .journal-card > svg{height:100%;min-height:155px;border:0}
  .home-front-door .journal-home .journal-card > div{padding:15px;min-width:0}
  .home-front-door .journal-home .journal-card h3{font-size:22px}
  .home-front-door .journal-home .journal-card p{font-size:12px;line-height:1.6}
}
/* stage: making contact details tappable */
.clinic-contact-link{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.page-facts .clinic-contact-link{display:inline-block;padding-block:7px}
.page-facts dd>button[data-copy]{display:block}
/* stage: adapting pages and motion */
@media(min-width:741px) and (max-width:1150px){.header{flex-wrap:wrap}.header nav{flex:1;justify-content:flex-end;gap:15px;flex-wrap:wrap}}
@media(max-width:1000px){.diagram-layout{grid-template-columns:1fr;gap:25px}.diagram-copy ol{display:grid;grid-template-columns:1fr 1fr;gap:5px 30px}.diagram-copy .diagram-tip{margin-bottom:0}}
@media(max-width:740px){
.page-hero,.page-editorial{grid-template-columns:1fr;gap:30px;padding:36px 7% 46px}
.page-topline{font-size:9px}.page-hero h1{font-size:clamp(44px,10vw,70px)}
.page-hero .page-art{width:100%}.page-art svg{max-height:440px;border-radius:110px 110px 4px 4px}
.page-cards{grid-template-columns:1fr}.page-band{gap:12px;font-size:10px}
.page-bottom{flex-direction:column;align-items:flex-start}.page-bottom .actions{flex-wrap:wrap}
.page-quote{padding:38px 7%}.page-facts dd{font-size:16px}
.pathway-cards{grid-template-columns:1fr;gap:15px}.pathway-cards article{border-bottom:1px solid #cbd4c1;padding-bottom:20px}
.pathway-cards article:last-child{border-bottom:0}
.home-explore>span{width:100%}
.diagram-copy ol{display:block}
.explain-figure figcaption{padding:13px 15px;font-size:11px}
.home-diagram svg{min-height:125px}
.faq-search-row{flex-wrap:wrap}.faq-search-row input{flex-basis:70%}
.faq-search-row button{padding:11px 15px}
.fee-table th,.fee-table td{padding:15px}
.footer-pages{gap:10px 20px}
}
@media(prefers-reduced-motion:reduce){.page-art svg *{animation:none!important}}