/* =========================================================
   CMS additions on top of the approved design (style.css)
   ========================================================= */

/* H1–H6 selector: a heading switched to another tag keeps its designed look.
   Zero-specificity UA stand-ins; design rules match .hx-hN through :where() in style.css. */
:where(.hx-h1){font-size:2em;font-weight:800}
:where(.hx-h2){font-size:1.5em;font-weight:700}
:where(.hx-h3){font-size:1.17em;font-weight:700}
:where(.hx-h4){font-size:1em;font-weight:700}
:where(.hx-h5){font-size:.83em;font-weight:700}
:where(.hx-h6){font-size:.67em;font-weight:700}
div.hx{font-family:var(--f-display);line-height:1.15;letter-spacing:-.02em}

/* accent word inside headings (editor "em" button) */
.slide-title em,.h2 em,.page-title em,.hero-title em,.svc h3 em{font-style:normal;color:var(--c-sky)}
.cta-card .h2 em{color:var(--c-coral)}
.about-body p{color:var(--c-text-dim);max-width:62ch}
.about-body a{color:var(--c-text);text-decoration-color:var(--c-sky);text-underline-offset:3px}

/* owner "Advanced" section options */
.sec-pad-sm{padding-block:clamp(40px,5vw,64px)!important}
.sec-pad-lg{padding-block:clamp(88px,11vw,144px)!important}
.sec-pad-top0{padding-top:0!important}
.sec-pad-bottom0{padding-bottom:0!important}
.sec-pad-none{padding-block:0!important}
.sec-bg-night{background:var(--c-night)!important}
.sec-bg-night2{background:var(--c-night-2)!important}
.sec-bg-indigo{background:var(--c-indigo)!important}
.sec-bg-mist{background:var(--c-mist)!important;color:var(--c-text-dark)}
.sec-bg-mist .lead,.sec-bg-mist p{color:var(--c-text-dark-dim)}
@media (max-width:760px){.sec-hide-m{display:none!important}}

/* content block */
.prose-article{max-width:820px;margin-inline:auto}
.prose-article h2{text-align:center}

/* FAQ */
.faq-list{display:grid;gap:12px;max-width:920px}
.faq-item{background:var(--c-ink);border:1px solid var(--c-line);border-radius:var(--radius-md);transition:border-color var(--dur-2)}
.faq-item[open]{border-color:rgba(47,180,240,.4)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-q{margin:0;font:700 17px/1.35 var(--f-display);color:#fff}
.faq-item summary:hover .faq-q,.faq-item[open] .faq-q{color:var(--c-sky)}
.faq-ic{flex-shrink:0;position:relative;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--c-line)}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;transition:transform var(--dur-2) var(--ease-out)}
.faq-ic::after{transform:rotate(90deg)}
.faq-item[open] .faq-ic::after{transform:rotate(0)}
.faq-a{padding:0 22px 20px;font-size:16px}

/* enquiry form extras */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.field textarea{width:100%;padding:12px 14px;font:500 15px var(--f-body);color:var(--c-text-dark);background:#fff;border:1.5px solid #d3d7ea;border-radius:var(--radius-sm);resize:vertical;min-height:84px}
.field textarea:focus{outline:none;border-color:var(--c-indigo);box-shadow:0 0 0 3px rgba(44,55,148,.18)}
.cta-done{display:grid;gap:16px;align-content:center;justify-items:start;padding:8px 0}
.cta-done-title{font:700 20px/1.4 var(--f-display);color:#16794a;margin:0}
.cta-form .btn[disabled]{opacity:.6}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,5vw,64px);align-items:start}
.contact-cards{display:grid;gap:12px;margin-top:var(--space-6)}
.contact-cards li{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;background:var(--c-ink);border:1px solid var(--c-line);border-radius:var(--radius-md)}
.contact-cards svg{flex-shrink:0;width:40px;height:40px;padding:9px;border-radius:50%;background:rgba(47,180,240,.12);fill:none;stroke:var(--c-sky);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-cards span{display:block;font:700 12px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-sky);margin-bottom:8px}
.contact-cards address,.contact-cards p{margin:0;color:var(--c-text);font-size:15.5px;line-height:1.55}
.contact-cards a{color:#fff;font-weight:700;text-decoration:none}
.contact-cards address+a{display:inline-block;margin-top:8px;color:var(--c-sky);font-size:14px}
.contact-cards a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-form-card{padding:clamp(24px,3.5vw,40px);background:var(--c-mist);color:var(--c-text-dark);border-radius:var(--radius-md);box-shadow:var(--shadow-3);position:sticky;top:calc(var(--header-h) + 16px)}
.contact-form-card .side-title{color:var(--c-indigo);font-size:22px;margin-bottom:18px}
.contact-map{margin-top:clamp(40px,6vw,72px)}
.contact-map iframe{display:block;width:100%;height:clamp(280px,40vw,420px);border:0;border-radius:var(--radius-md);filter:grayscale(.2)}
@media (max-width:960px){.contact-grid{grid-template-columns:1fr}.contact-form-card{position:static}}
@media (max-width:720px){.contact-form-card .cta-form{grid-template-columns:1fr}}

/* footer legal links */
.f-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.f-legal a{color:rgba(255,255,255,.82)}
.f-legal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* readable line length for content blocks (About story, Privacy, Terms) */
.prose-wrap .prose{max-width:820px}
