/* Shared editorial, advisor and contact refinements. */
body { padding-bottom:0; }
.site-footer { padding-bottom:calc(var(--campaign-bar-height,88px) + 42px + env(safe-area-inset-bottom)); }
.footer-main { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,2.4fr); align-items:start; gap:36px; }
.footer-main>.footer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.footer-main .footer-contact { grid-column:1/-1; display:flex; flex-direction:row; align-items:center; justify-content:space-between; padding-top:20px; border-top:1px solid #ffffff24; gap:20px; }
.footer-main .theme-field { margin:0; }
.footer-main .footer-group nav { display:flex; flex-direction:column; gap:10px; }
.footer-main .footer-group summary { font-size:.875rem; line-height:1.5; margin-bottom:14px; }
.footer-main .footer-group nav a { font-size:.875rem; line-height:1.65; }
.footer-bottom { align-items:center; flex-wrap:wrap; font-size:.8125rem; line-height:1.6; }
.site-footer .preview-note { margin-top:20px; font-size:.8125rem; }
.site-footer .privacy-settings { padding:4px 0; border:0; background:none; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.page-hero.kind-person>figure { background:transparent; min-height:0; height:auto; overflow:visible; }
.page-hero.kind-person>figure>img { display:block; width:min(100%,390px); height:auto; max-height:none; padding:0; margin-inline:auto; object-fit:contain; }
.contact-person { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:24px; }
.contact-person img { width:56px; height:76px; }
.contact-person>div:not(.consultant-id) { display:flex; flex-direction:column; gap:5px; }
.contact-person strong { font-size:1rem; line-height:1.3; }
.contact-person span { font-size:.8125rem; line-height:1.4; }
.contact-person>.consultant-id { display:grid; grid-template-columns:1fr auto; gap:4px 8px; padding:10px 12px; margin:0 0 0 auto; border-radius:12px; }
.contact-person>.consultant-id>span { grid-column:1; font-size:.6875rem; }
.contact-person>.consultant-id>strong { grid-column:1; font-size:1.05rem; }
.contact-person>.consultant-id>button { grid-column:2; grid-row:1/3; min-height:38px; font-size:.75rem; }
.contact-result h3 { margin-bottom:14px; }
.contact-result>p { line-height:1.75; color:var(--muted); }
.contact-result>.whatsapp-action { width:100%; margin:22px 0 16px; justify-content:center; text-align:center; }
.contact-result>details { margin:18px 0; border-block:1px solid var(--line); padding:14px 0; }
.contact-result>details summary { cursor:pointer; font-size:.875rem; }
.contact-result>details textarea { margin-top:14px; }
.campaign-details>.text-link { margin:18px 0 16px; }
.campaign-details ol { margin-top:20px; margin-bottom:16px; }
.offer-discount { display:inline-flex; align-items:center; padding:7px 12px; margin-bottom:12px; border:1px solid #a7d6ba70; border-radius:999px; color:#d5f1dd; font-size:.875rem; }
.purchase-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:12px; }
.purchase-controls>button { display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; margin:0; padding:14px 18px; font-size:.9375rem; line-height:1.4; border-radius:12px; text-align:center; }
.purchase-guide-more { display:flex; justify-content:center; margin-top:18px; }
.purchase-actions { display:grid; grid-template-columns:1fr; gap:12px; }
.purchase-actions>:is(a,button) { width:100%; min-height:50px; justify-content:center; text-align:center; }
.showroom-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:12px; align-items:stretch; }
.showroom-actions>:is(a,button) { display:flex; justify-content:center; width:100%; height:100%; min-height:56px; padding:14px; margin:0; line-height:1.45; font-size:.875rem; }
.showroom-actions>[hidden] { display:none; }

/* Genuine award documents are presented whole, never as cropped backgrounds. */
.advisor-story { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); column-gap:8%; row-gap:30px; }
.advisor-story-intro h2 { max-width:18ch; }
.advisor-story-note { align-self:end; }
.advisor-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1/-1; border-block:1px solid var(--line); margin:12px 0 16px; }
.advisor-stats>div { display:flex; flex-direction:column; align-items:flex-start; padding:26px 30px; gap:10px; border-left:1px solid var(--line); }
.advisor-stats>div:first-child { padding-left:0; border-left:0; }
.advisor-stats strong { font-size:clamp(1.8rem,4vw,3.6rem); font-weight:550; letter-spacing:-.045em; line-height:1; font-variant-numeric:tabular-nums; }
.advisor-stats span { color:var(--muted); font-size:.875rem; line-height:1.5; }
.award-toolbar { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.award-toolbar>h3 { font-size:1.5rem; }
.award-years { display:flex; gap:8px; flex-wrap:wrap; }
.award-years button { display:inline-flex; align-items:center; gap:10px; padding:10px 16px; min-height:44px; background:var(--soft); color:var(--ink); border:1px solid var(--line); border-radius:999px; cursor:pointer; font:inherit; font-size:.875rem; }
.award-years button span { font-size:.75rem; opacity:.75; }
.award-years button[aria-pressed=true] { background:var(--green); color:var(--on-green); border-color:var(--green); }
.award-collection { grid-column:1/-1; min-width:0; }
.award-year { display:grid; grid-template-columns:105px minmax(0,1fr); gap:24px; margin:0 0 44px; }
.award-year[hidden] { display:none; }
.award-year-heading { padding-top:4px; }
.award-year-heading h3 { font-size:2.1rem; font-weight:500; letter-spacing:-.06em; }
.award-year-heading span { color:var(--muted); font-size:.8125rem; }
.award-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; min-width:0; }
.award-card { min-width:0; border-bottom:1px solid var(--line); }
.award-image { position:relative; display:block; width:100%; aspect-ratio:1.5; border:1px solid var(--line); padding:10px; background:white; border-radius:12px; cursor:zoom-in; overflow:hidden; }
.award-image img { width:100%; height:100%; display:block; object-fit:contain; transition:transform .3s ease; }
.award-image:hover img { transform:scale(1.025); }
.award-image>span { position:absolute; bottom:8px; right:8px; left:8px; width:fit-content; margin-left:auto; font-size:.6875rem; padding:5px 8px; color:#153e2d; background:#ffffffec; border:1px solid #d4e3d9; border-radius:6px; }
.award-caption { padding:16px 0 22px; }
.award-caption time { display:block; color:var(--green); font-weight:600; font-size:.75rem; margin-bottom:8px; }
.award-caption h4 { font-size:1.05rem; line-height:1.4; font-weight:600; margin-bottom:8px; }
.award-caption p { font-size:.8125rem; line-height:1.6; color:var(--muted); margin:4px 0; }
.award-dialog { width:min(1000px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); padding:18px; border-radius:18px; }
.award-dialog-top { display:flex; align-items:center; gap:16px; justify-content:space-between; margin-bottom:14px; }
.award-dialog-top h2 { font-size:1rem; line-height:1.4; }
.award-dialog-top button { width:44px; height:44px; flex-shrink:0; font-size:1.7rem; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--soft); cursor:pointer; }
#award-large { display:block; width:100%; height:auto; max-height:65dvh; object-fit:contain; background:#fff; }
.award-dialog-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; }
.award-dialog-controls button { padding:10px 14px; min-height:44px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--soft); font:inherit; font-size:.875rem; cursor:pointer; }
.award-dialog-controls button:disabled { opacity:.45; cursor:default; }
.advisor-story>.client-stories { grid-column:1/-1; }

/* Product pages keep long-form content in HTML and navigation close at hand. */
.product-detail-hero { align-items:center; padding-bottom:40px; }
.product-detail-hero .hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; }
.product-detail-hero .hero-actions>a { display:flex; align-items:center; justify-content:center; min-height:52px; padding:14px 20px; line-height:1.4; }
.product-page-nav { display:flex; gap:10px; overflow-x:auto; padding-block:14px 18px; border-block:1px solid var(--line); scrollbar-width:thin; }
.product-page-nav a { white-space:nowrap; font-size:.875rem; padding:10px 14px; border-radius:8px; background:var(--soft); }
.product-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:34px 0 56px; }
.product-facts>div { border-left:2px solid var(--green); padding-left:18px; }
.product-facts dt { font-size:clamp(1.5rem,3vw,2.6rem); line-height:1.2; letter-spacing:-.045em; }
.product-facts dd { font-size:.875rem; color:var(--muted); margin:8px 0 0; line-height:1.5; }
.product-chapters { margin-bottom:54px; }
.product-chapter { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; border-top:1px solid var(--line); padding-block:48px; scroll-margin-top:110px; }
.product-chapter figure { margin:0; overflow:hidden; border-radius:18px; }
.product-chapter img { display:block; width:100%; height:auto; max-height:410px; object-fit:cover; }
.product-chapter:nth-child(even) figure { order:2; }
.product-chapter h2 { font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.16; margin:0 0 18px; max-width:22ch; }
.product-chapter p { font-size:1rem; line-height:1.85; color:var(--muted); margin-bottom:22px; }
.product-chapter .text-link { max-width:100%; justify-content:space-between; font-size:.875rem; }
.product-chapter-number { color:var(--green); font-size:.8125rem; font-weight:650; display:block; margin-bottom:14px; }
.product-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 38px; padding:34px; background:var(--soft); border-radius:20px; }
.product-details-grid section { scroll-margin-top:110px; border-top:1px solid var(--line); padding-top:18px; }
.product-details-grid h2 { font-size:1.4rem; line-height:1.3; margin-bottom:14px; }
.product-details-grid p { font-size:.9375rem; color:var(--muted); line-height:1.85; margin:0; }
.product-related { padding:36px 0 58px; }
.product-related h2 { font-size:1.7rem; margin-bottom:22px; }
.product-related-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.product-related-links>a { display:flex; justify-content:space-between; align-items:center; gap:12px; border:1px solid var(--line); background:var(--soft); padding:18px; border-radius:12px; font-size:.9375rem; line-height:1.5; }

/* Example-based consultancy programme. */
.earnings-studio { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr); gap:32px 60px; padding-block:48px 64px; }
.earnings-intro h2 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.08; margin:16px 0 24px; max-width:12ch; }
.earnings-intro p { font-size:1rem; line-height:1.8; color:var(--muted); }
.earnings-panel { padding:32px; background:var(--soft); border:1px solid var(--line); border-radius:24px; min-width:0; }
.earnings-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:30px; }
.earnings-tabs button { min-height:50px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--ink); font:inherit; font-size:.9375rem; padding:12px; cursor:pointer; }
.earnings-tabs button[aria-pressed=true] { background:var(--green); color:var(--on-green); border-color:var(--green); }
.earnings-panel h3 { font-size:1.5rem; line-height:1.25; margin-bottom:16px; }
.earnings-panel p { font-size:.9375rem; line-height:1.75; color:var(--muted); margin:12px 0 18px; }
.earnings-panel .earnings-offer { display:flex; gap:8px 16px; align-items:center; flex-wrap:wrap; padding:18px 0; border-block:1px solid var(--line); }
.earnings-offer strong { font-size:1.5rem; line-height:1.25; color:var(--green); font-weight:600; }
.earnings-panel label { display:block; font-size:.875rem; font-weight:600; margin:22px 0 10px; }
.earnings-panel input[type=number] { width:100%; padding:14px; min-height:50px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); font:inherit; }
.earnings-panel .earning-volume-label { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#earning-volume-value { font-size:1.5rem; font-weight:700; color:var(--green); }
#earning-volume { display:block; width:100%; height:36px; accent-color:var(--green); cursor:pointer; }
.earning-progress { height:8px; overflow:hidden; border-radius:999px; background:var(--line); margin-top:16px; }
.earning-progress>span { display:block; width:0; height:100%; background:var(--green); transition:width .25s ease; }
.earning-result { margin:20px 0; min-height:92px; line-height:1.75; font-size:1rem; }
.earning-result strong { display:block; font-size:1.8rem; line-height:1.25; margin-bottom:10px; color:var(--green); }
.earning-next>a { width:100%; justify-content:center; text-align:center; }
.earning-explainer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; grid-column:1/-1; padding-top:24px; }
.earning-explainer article { border-top:1px solid var(--line); padding-top:22px; }
.earning-explainer span { font-size:.875rem; color:var(--green); }
.earning-explainer h3 { font-size:1.25rem; margin:15px 0 12px; }
.earning-explainer p,.earnings-note { font-size:.9375rem; line-height:1.8; color:var(--muted); }
.earnings-note { grid-column:1/-1; margin:0; border-top:1px solid var(--line); padding-top:20px; }

@media(max-width:1000px) {
  .footer-main { grid-template-columns:1fr; }
  .footer-main>.footer-groups { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .contact-person { grid-template-columns:52px minmax(0,1fr); }
  .contact-person>.consultant-id { grid-column:1/-1; justify-self:end; }
  .award-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-chapter { gap:28px; }
  .earnings-studio { column-gap:28px; }
}
@media(max-width:680px) {
  .site-footer { padding-bottom:calc(var(--campaign-bar-height,140px) + 35px + env(safe-area-inset-bottom)); }
  .footer-main>.footer-groups { grid-template-columns:1fr; gap:0; }
  .footer-main .footer-group summary { margin:0; padding-block:16px; font-size:.9375rem; }
  .footer-main .footer-group nav { padding-bottom:18px; }
  .footer-main .footer-contact { flex-wrap:wrap; justify-content:flex-start; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:8px; }
  .page-hero.kind-person { gap:20px; }
  .page-hero.kind-person>figure>img { width:min(85%,290px); }
  .contact-person { grid-template-columns:46px minmax(0,1fr) auto; gap:9px; }
  .contact-person img { width:46px; height:66px; }
  .contact-person strong { font-size:.9375rem; }
  .contact-person span { font-size:.75rem; }
  .contact-person>.consultant-id { grid-column:auto; padding:8px; gap:4px; grid-template-columns:1fr; min-width:78px; }
  .contact-person>.consultant-id>strong { font-size:.9375rem; }
  .contact-person>.consultant-id>button { grid-column:1; grid-row:3; min-height:30px; padding:4px 6px; font-size:.6875rem; }
  .contact-result>.whatsapp-action { white-space:normal; }
  .purchase-controls { gap:10px; }
  .purchase-controls>button { min-width:0; padding:12px 8px; font-size:.8125rem; min-height:52px; text-align:center; overflow-wrap:anywhere; }
  .advisor-story { grid-template-columns:1fr; gap:22px; }
  .advisor-stats { margin:0; gap:0; }
  .advisor-stats>div { padding:20px 12px; }
  .advisor-stats strong { font-size:clamp(1.5rem,6.5vw,2.2rem); }
  .advisor-stats span { font-size:.75rem; }
  .award-toolbar { gap:16px; }
  .award-years { gap:6px; }
  .award-years button { padding:9px 12px; font-size:.8125rem; }
  .award-year { grid-template-columns:1fr; gap:18px; margin-bottom:32px; }
  .award-year-heading { display:flex; justify-content:space-between; align-items:center; }
  .award-year-heading h3 { font-size:1.7rem; }
  .award-grid { grid-template-columns:1fr; gap:24px; }
  .award-image { aspect-ratio:1.55; }
  .award-caption { padding-top:14px; }
  .award-caption h4 { font-size:1.1rem; }
  .award-caption p { font-size:.875rem; }
  .award-dialog { padding:12px; }
  .product-facts { gap:12px; margin:28px 0; }
  .product-facts>div { padding-left:10px; }
  .product-facts dt { font-size:1.45rem; }
  .product-facts dd { font-size:.75rem; }
  .product-chapter { grid-template-columns:1fr; gap:24px; padding-block:32px; }
  .product-chapter:nth-child(even) figure { order:0; }
  .product-chapter h2 { font-size:1.8rem; }
  .product-chapter p { font-size:.9375rem; line-height:1.85; }
  .product-details-grid { grid-template-columns:1fr; padding:22px 16px; gap:24px; }
  .product-related-links { grid-template-columns:1fr; }
  .earnings-studio { grid-template-columns:1fr; gap:26px; padding-block:30px 42px; }
  .earnings-intro h2 { max-width:16ch; font-size:2.25rem; }
  .earnings-panel { padding:22px 16px; border-radius:18px; }
  .earnings-tabs button { font-size:.8125rem; padding:10px; }
  .earning-explainer { grid-template-columns:1fr; gap:22px; }
}
html[data-text-scale="150"] .contact-person,html[data-text-scale="200"] .contact-person { grid-template-columns:56px minmax(0,1fr); }
html[data-text-scale="150"] .contact-person>.consultant-id,html[data-text-scale="200"] .contact-person>.consultant-id { grid-column:1/-1; }
html[data-text-scale="200"] :is(.advisor-stats,.product-facts) { grid-template-columns:1fr; }
@media(prefers-reduced-motion:reduce) { .award-image img,.earning-progress>span { transition:none; } }
