/* Final shared photo composition: decoration is anchored to each image. */
.hero-copy { text-align:center; }
.hero h1, .hero-lede { margin-inline:auto; }
.hero-meta, .hero-actions { justify-content:center; }
.hero h1 { font-size:clamp(2.65rem,4.25vw,4.35rem); }
.photo-composition { --photo-radius:48% 48% 1.5rem 1.5rem; isolation:isolate; }
.hero-photo { padding:0; margin-block:1rem; }
.hero-photo-frame { border-radius:var(--photo-radius); transform:none; }
.photo-composition::before { inset:1rem -1rem -.6rem .8rem; border-radius:var(--photo-radius); transform:rotate(3deg); box-shadow:none; background:#ffe9a0; }
.photo-composition > img:not(.page-photo-logo):not(.hero-photo-logo) { position:relative; z-index:1; border-radius:var(--photo-radius); }
.photo-contour { position:absolute; z-index:0; pointer-events:none; inset:-.65rem -.95rem -.55rem .3rem; border:1px solid #c7a648; border-left-color:transparent; border-bottom-color:transparent; border-radius:var(--photo-radius); transform:rotate(2deg); }
.photo-botanical { position:absolute; pointer-events:none; z-index:2; width:30%; height:61%; right:-13%; bottom:-1.5%; background:url('/photo-botanical.svg') center/contain no-repeat; transform:rotate(5deg); transform-origin:20% 95%; }
.approach-photo { --photo-radius:1.5rem 48% 48% 1.5rem; }
.approach-photo .photo-botanical { right:-8%; bottom:1%; height:66%; transform:rotate(8deg); }
.about-preview-photo { --photo-radius:48% 48% 1.5rem 1.5rem; }
.photo-composition--left .photo-botanical { right:auto;left:-13%; transform:scaleX(-1) rotate(5deg); transform-origin:80% 95%; }
.photo-composition--left .photo-contour { inset:-.6rem .3rem -.55rem -.95rem; border-right-color:transparent;border-left-color:#c7a648; transform:rotate(-2deg); }
.page-hero-photo--faq { --photo-radius:48% 48% 1.5rem 1.5rem; }
.hero-editorial-note { left:-6.4rem;top:3.5rem;width:6rem;font-size:1.1rem;line-height:1.2; }
.approach-editorial-note { bottom:-2.75rem;right:1rem;font-size:1.3rem; }
.hero::after,.online-interlude::after { content:none; }
.online-photo::before { inset:-.6rem .5rem .4rem -.6rem;box-shadow:none; }
.online-editorial-note { display:none; }
.form-status { margin:0; font-size:.9rem; }
.form-status:empty { display:none; }
.form-status.is-error,.form-field-error { color:#993c32; }
.form-success { padding:1.2rem;border:1px solid #cad6b5;border-radius:1rem;background:#f2f6e8;color:#35412a; }
.form-input-error { border-color:#993c32 !important; }
.form-field-error { margin-top:.35rem;font-size:.82rem; }
.form-button:disabled { cursor:wait;opacity:.65; }
.nav-links a[aria-current=page] { text-decoration:underline;text-underline-offset:.35em; }
section[id] { scroll-margin-top:5.5rem; }
:focus-visible { outline:2px solid #79581c;outline-offset:5px; }
@media(max-width:980px){.photo-botanical{width:26%;right:-9%;}.photo-composition--left .photo-botanical{left:-9%;}.hero-editorial-note{display:none;}}
@media(max-width:680px){
 .hero-photo{width:min(78%,23rem);justify-self:center;margin-top:1rem;}
 .hero h1{max-width:18ch;font-size:clamp(2.25rem,8.7vw,3.25rem);line-height:1.17;}
 .photo-botanical{width:27%;height:62%;right:-9%;}.photo-composition--left .photo-botanical{left:-9%;}
 .photo-contour{inset:-.45rem -.6rem -.4rem .2rem;}
 .photo-composition--left .photo-contour{inset:-.45rem .2rem -.4rem -.6rem;}
 .photo-composition::before{inset:.65rem -.55rem -.4rem .5rem;}
 .approach-editorial-note{display:none;}.form-input,.form-textarea{font-size:16px;}
 .back-to-top{right:1rem;bottom:1rem;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation:none!important;transition:none!important;}}
/* Mirror around the branch itself so it follows the left image edge. */
.photo-composition--left .photo-botanical { transform-origin:center; }
@media(max-width:680px){.page-hero-photo{width:min(86%,23rem);justify-self:center;}}
/* Remove a legacy sticky offset after the contact columns stack. */
.contact-grid > .contact-copy { top:auto; }
@media(max-width:680px){body:has(.form-container :focus) .back-to-top{opacity:0;pointer-events:none;}}

/* Consultation process, pricing and accessible multi-select enquiry form. */
.process-grid--five { grid-template-columns:repeat(2,minmax(0,1fr)); }
.process-grid--five .process-step:last-child { grid-column:1 / -1; }
.process-detail-list { display:grid; gap:0; border-top:1px solid var(--line); }
.process-detail { position:relative; display:grid; grid-template-columns:4.8rem minmax(0,1fr); gap:1rem; padding:1.6rem 0; border-bottom:1px solid var(--line); }
.process-detail .process-number { position:static; color:var(--coral); font-family:var(--font-display); font-size:2.35rem; }
.process-detail h2 { margin:0 0 .55rem; font-size:clamp(1.55rem,2.5vw,2rem); }
.process-detail p { color:var(--ink-soft); }
.step-more { margin-top:.75rem; }
.step-more summary { width:fit-content; color:var(--ink); cursor:pointer; font-weight:650; text-decoration:underline; text-decoration-color:var(--yellow); text-underline-offset:.22em; }
.step-more p { max-width:70ch; margin-top:.7rem; }
.step-more p + p { margin-top:.6rem; }
.package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.package-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.package-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.package-card { display:flex; flex-direction:column; gap:.75rem; min-width:0; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-md); background:rgba(255,253,248,.78); }
.package-card h3 { font-size:1.35rem; }
.package-card > p { color:var(--ink-soft); }
.package-card .price-duration { color:var(--coral); font-size:.92rem; font-weight:700; }
.package-price { margin-top:auto; padding-top:.4rem; color:var(--ink); font-family:var(--font-display); font-size:clamp(1.7rem,2.4vw,2.35rem); font-weight:700; }
.currency-control { display:grid; grid-template-columns:auto minmax(10rem,14rem); align-items:center; gap:.45rem .75rem; margin:0 0 1.25rem; }
.currency-control label { color:var(--ink); font-weight:700; }
.currency-select { min-height:2.65rem; padding:.45rem .7rem; border:1px solid var(--line); border-radius:.65rem; background:#fffdf8; color:var(--ink); font:inherit; }
.currency-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.package-card--recommended { position:relative; border:2px solid var(--coral); background:#fff7df; box-shadow:0 10px 28px rgba(82,52,60,.09); }
.package-recommendation { width:fit-content; max-width:100%; padding:.4rem .7rem; border-radius:999px; background:var(--coral); color:#fffdf8; font-size:.78rem; font-weight:800; line-height:1.3; }
.privacy-copy { max-width:72ch; }
.privacy-copy h2 { margin-bottom:.8rem; }
.privacy-copy p { color:var(--ink-soft); }
.secondary-pricing { margin-top:1.5rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.secondary-pricing summary { width:fit-content; padding:1rem 0; color:var(--ink); cursor:pointer; font-weight:700; text-decoration:underline; text-decoration-color:var(--yellow); text-underline-offset:.22em; }
.secondary-pricing .package-grid { padding:0 0 1rem; }
.secondary-pricing .package-price { font-size:1.8rem; }
.package-kicker { color:var(--muted); font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.price-currencies { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-top:auto; padding-top:.5rem; }
.price-currencies div { display:flex; justify-content:space-between; gap:.5rem; padding:.4rem .55rem; border-radius:.65rem; background:#fff7df; }
.price-currencies dt { color:var(--muted); font-size:.8rem; font-weight:700; }
.price-currencies dd { margin:0; color:var(--ink); font-weight:700; white-space:nowrap; }
.problem-picker { min-width:0; margin:0 0 1rem; padding:0; border:0; }
.problem-picker legend { margin-bottom:.25rem; color:var(--ink); font-weight:700; }
.form-hint { margin:.2rem 0 .65rem; color:var(--muted); font-size:.87rem; }
.problem-category { margin:.5rem 0; border:1px solid var(--line); border-radius:.8rem; background:rgba(255,253,248,.72); }
.problem-category summary { padding:.7rem .85rem; cursor:pointer; font-weight:650; }
.problem-category[open] summary { border-bottom:1px solid var(--line); }
.problem-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem .7rem; padding:.55rem .75rem .75rem; }
.problem-option { display:flex; align-items:flex-start; gap:.55rem; padding:.38rem .15rem; cursor:pointer; line-height:1.4; }
.problem-option input { width:1.05rem; height:1.05rem; flex:0 0 auto; margin:.15rem 0 0; accent-color:var(--coral); }
.problem-picker:has(.problem-option input:focus-visible) { outline:0; }
.problem-option:has(input:focus-visible) { outline:2px solid var(--coral); outline-offset:2px; border-radius:.25rem; }
@media(max-width:680px){
 .process-grid--five { grid-template-columns:1fr; }
 .process-grid--five .process-step:last-child { grid-column:auto; }
 .process-grid--five .process-step:nth-child(even) { border-left:0; }
 .process-grid--five .process-step:nth-child(n + 2) { border-top:1px solid rgba(75,50,64,.18); }
 .process-detail { grid-template-columns:2.7rem minmax(0,1fr); gap:.65rem; }
 .process-detail .process-number { font-size:1.8rem; }
 .package-grid { grid-template-columns:1fr; }
 .package-grid--two,.package-grid--three { grid-template-columns:1fr; }
 .currency-control { grid-template-columns:1fr; gap:.4rem; }
 .currency-control > * { grid-column:1; }
 .problem-options { grid-template-columns:1fr; }
}
@media(min-width:681px) and (max-width:980px){.package-grid--three{grid-template-columns:repeat(2,minmax(0,1fr));}.package-grid--three .package-card:last-child{grid-column:1 / -1;}}

/* Compact three-stage consultation overview and scannable package inclusions. */
.process-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.process-flow-step { min-width:0; padding:1.25rem; border:1px solid var(--line); border-top:4px solid var(--yellow); border-radius:var(--radius-md); background:rgba(255,253,248,.78); }
.process-flow-step .process-number { position:static; display:grid; place-items:center; width:2.25rem; height:2.25rem; margin-bottom:.8rem; border-radius:50%; background:#f5e6b2; color:var(--ink); font-family:var(--font-display); font-size:1.1rem; }
.process-flow-step h3 { margin:0 0 .5rem; font-size:1.2rem; }
.process-flow-step p { margin:0; color:var(--ink-soft); }
.package-includes { display:grid; gap:.4rem; margin:0; padding:0; list-style:none; color:var(--ink-soft); }
.package-includes li { position:relative; padding-left:1.35rem; }
.package-includes li::before { position:absolute; left:0; color:var(--coral); font-weight:800; content:"✓"; }
.package-grid--offers { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.package-grid--offers .package-card { gap:.85rem; }
.package-grid--offers .package-count { display:flex; align-items:baseline; gap:.5rem; margin:.1rem 0; }
.package-grid--offers .package-count strong { color:var(--coral); font-family:var(--font-display); font-size:2rem; line-height:1; }
.package-grid--offers .package-count span { color:var(--muted); font-size:.82rem; font-weight:700; }
.package-grid--offers .package-kicker { min-height:1.2em; }
@media(min-width:681px) and (max-width:980px){.package-grid--offers{grid-template-columns:repeat(2,minmax(0,1fr));}.package-grid--offers .package-card:last-child{grid-column:auto;}}
@media(max-width:680px){.process-flow{grid-template-columns:1fr;gap:.65rem}.process-flow-step{padding:1rem 1.1rem}.process-flow-step .process-number{margin-bottom:.55rem}.package-grid--offers{grid-template-columns:1fr}}

/* Education and credential scans */
.credentials-section .section-heading {
  max-width: 48rem;
}
.credential-language-note {
  margin-top: 0.55rem;
  color: var(--ink-soft);
  font-size: 0.92rem;
}
.credential-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.85fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: center;
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--cream);
}
.credential-feature__content h3,
.credential-card h3 {
  margin: 0.25rem 0 0.65rem;
  color: var(--ink);
}
.credential-label {
  margin: 0;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.credential-feature__content > p:not(.credential-label),
.credential-card > p:not(.credential-label) {
  color: var(--ink-soft);
}
.credential-facts {
  display: grid;
  gap: 0.7rem;
  margin: 1.25rem 0;
}
.credential-facts div {
  display: grid;
  grid-template-columns: minmax(6rem, 0.6fr) minmax(0, 1.4fr);
  gap: 0.75rem;
}
.credential-facts dt {
  color: var(--ink-soft);
  font-size: 0.9rem;
}
.credential-facts dd {
  margin: 0;
  font-weight: 600;
}
.credential-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  margin-top: 0.5rem;
  color: var(--ink);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}
.credential-link:hover,
.credential-link:focus-visible {
  color: var(--ink);
}
.credential-preview {
  margin: 0;
  padding: 0.75rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
}
.credential-preview img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.25rem;
}
.credential-preview figcaption {
  margin-top: 0.6rem;
  color: var(--ink-soft);
  font-size: 0.84rem;
  text-align: center;
}
.credentials-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.credential-card {
  padding: clamp(1.2rem, 2.4vw, 1.6rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--cream);
}
.credential-card--workshops {
  grid-column: 1 / -1;
}
.credential-card > p:not(.credential-label) {
  margin-top: 0.75rem;
}
.credential-workshops {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}
.credential-workshops li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.75rem 1.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--line);
}
.credential-workshops .credential-link {
  margin-top: 0;
  white-space: nowrap;
}
.credential-approach-note {
  max-width: 52rem;
  margin: 1.25rem 0 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
}

/* Image-first credentials gallery */
.credential-feature {
  grid-template-columns: minmax(14rem, 0.72fr) minmax(22rem, 1.28fr);
}
.credential-feature__content > p:not(.credential-label) {
  margin-bottom: 0;
}
.credential-document {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-decoration: none;
}
.credential-document img {
  display: block;
  width: 100%;
  aspect-ratio: 1.414 / 1;
  object-fit: contain;
  background: #fff;
  transition: transform 180ms ease;
}
.credential-document:hover img,
.credential-document:focus-visible img {
  transform: scale(1.025);
}
.credential-document:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 3px;
}
.credential-document--diploma img {
  aspect-ratio: 1.414 / 1;
}
.credential-open {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid rgba(75, 50, 64, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 700;
  box-shadow: 0 2px 10px rgba(45, 31, 39, 0.1);
}
.credentials-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.credentials-gallery .credential-card {
  min-width: 0;
  padding: clamp(0.8rem, 1.7vw, 1.25rem);
}
.credentials-gallery .credential-card h3 {
  margin: 0.8rem 0 0.1rem;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  text-align: center;
}
@media (max-width: 760px) {
  .credential-feature,
  .credentials-gallery {
    grid-template-columns: 1fr;
  }
  .credential-feature__content {
    order: 0;
  }
  .credential-document--diploma {
    order: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .credential-document img {
    transition: none;
  }
}
@media (max-width: 760px) {
  .credential-feature,
  .credentials-grid {
    grid-template-columns: 1fr;
  }
  .credential-card--workshops {
    grid-column: auto;
  }
  .credential-workshops li {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
  .credential-workshops .credential-link {
    justify-self: start;
  }
  .credential-facts div {
    grid-template-columns: 1fr;
    gap: 0.1rem;
  }
}
