/* Azure's composition, using Anewthing's existing brand tokens and typography. */
.azure-option { background:var(--surface); }
.azure-option { --header-h:6rem; }
.azure-option .site-header { background:rgba(245,246,248,.84); backdrop-filter:blur(18px) saturate(1.25); -webkit-backdrop-filter:blur(18px) saturate(1.25); border-bottom:1px solid rgba(255,255,255,.7); position:sticky; top:0; z-index:50; }
.azure-option .site-header.is-scrolled { box-shadow:0 6px 24px rgba(20,23,28,.08); border-bottom-color:var(--line); }
.azure-option .header-inner { min-height:var(--header-h); }
.azure-option .brand-name strong { font-size:1.45rem; }
.azure-option .brand-name span { font-size:.9rem; }
.azure-option .brand img { width:60px; }
.azure-option .nav-list { gap:1.5rem; }
.azure-option .nav-link { font-size:.94rem; }
.azure-option .header-actions .btn { min-height:2.9rem; font-size:.9rem; padding:.7rem 1.05rem; }
.azure-option .btn { border-radius:10px; padding:.95rem 1.5rem; }
.azure-option .btn--secondary { border-color:transparent; background:var(--accent-soft); color:var(--accent-strong); }
.azure-option .btn--secondary:hover { background:var(--paper-2); }
.azure-hero { padding:4.3rem 0 5rem; background:var(--paper); }
.azure-hero { background-image:linear-gradient(rgba(27,63,143,.022) 1px, transparent 1px); background-size:100% 2.5rem; }
.hero-accent { color:var(--accent); }
.azure-hero-copy .hero2-intro { border-left:3px solid var(--accent); padding-left:.85rem; }
.azure-option .service-heading .icon-tile { box-shadow:inset 0 0 0 1px rgba(27,63,143,.08); }
.azure-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:4rem; align-items:center; }
.azure-hero-copy { display:grid; gap:1.7rem; }
.azure-hero-copy h1 { font-size:clamp(2.75rem,4.5vw,4.4rem); line-height:1.08; letter-spacing:-.045em; max-width:10.7em; font-weight:680; }
.azure-hero-copy .hero2-intro { font-size:.96rem; line-height:1.55; max-width:25rem; color:var(--ink-2); }
.azure-hero-copy .lead { max-width:27rem; font-size:1.12rem; line-height:1.55; }
.azure-hero-copy .actions { margin-top:.4rem; gap:.75rem; }
.azure-hero-photo { height:36rem; overflow:hidden; border-radius:0 54px 0 24px; }
.azure-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 46%; }
.azure-option .section { padding-block:6rem; }
.azure-option .section-head { margin-bottom:3rem; }
.azure-option .section-head h2 { font-size:clamp(2rem,3.2vw,3rem); line-height:1.14; max-width:21ch; }
.azure-option .section-head--split { align-items:start; grid-template-columns:minmax(0,1fr); gap:1rem; max-width:44rem; }
.azure-option .section-head .lead { font-size:1.05rem; }
.azure-option .quickbar { background:var(--surface); padding-block:2rem; border-bottom:1px solid var(--line); }
.azure-option .values { background:var(--surface); border:0; padding-block:2.6rem; }
.azure-option .values-list { gap:2.5rem; }
.azure-option .values-icon { background:var(--accent-soft); border:0; border-radius:10px; }
.azure-option .trustbar { background:var(--paper); border:0; padding-block:1.5rem; }
.azure-option .trustbar-inner { display:grid; align-items:center; }
.azure-option .trust-marquee { overflow:hidden; -webkit-mask-image:none; mask-image:none; }
.azure-option .trust-track { width:max-content; animation:trust-scroll 38s linear infinite; }
.azure-option .trust-set { width:auto; display:flex; flex-wrap:nowrap; gap:2.5rem; padding-right:2.5rem; }
.azure-option .trust-set .trust-group { display:flex; flex-wrap:nowrap; gap:1.25rem; align-items:center; }
.azure-option .trust-set .trust-group + .trust-group { padding:0; border:0; }
.azure-option .trust-set .trust-group-title, .azure-option .trust-set .trust-item a, .azure-option .trust-set .trust-item span { white-space:nowrap; }
.azure-option .trust-toggle[hidden] { display:none; }
.azure-option .trustbar.is-paused .trust-track, .azure-option .trustbar:hover .trust-track, .azure-option .trustbar:focus-within .trust-track { animation-play-state:paused; }
.azure-option .trust-group-title { font-size:.82rem; }
.azure-option .trust-list { flex-wrap:nowrap; gap:.75rem 1.4rem; }
.azure-option .trust-item { font-size:.86rem; }
.azure-option .trust-list { list-style:none; }
.azure-option .trust-item--logo { flex:none; justify-content:center; min-width:7rem; }
.azure-option .trust-item--logo img { width:auto; height:3rem; object-fit:contain; }
.azure-option .trust-item--logo img[alt^="Institute"] { height:4.4rem; }
.azure-option .trust-item--logo .quickbooks-logo { width:180px; height:auto; }
.azure-option .trust-set { gap:4rem; padding-right:4rem; }
.azure-option .trust-list { gap:4rem; }
.azure-option .trust-set .trust-list[aria-hidden="true"] { pointer-events:none; }
.azure-option .area-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.8rem; }
.azure-option .area-card { border:0; border-radius:0 32px 12px 12px; background:var(--paper); padding:0 2rem 2.2rem; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; }
.azure-card-media { width:calc(100% + 4rem); margin:0 -2rem 1.8rem; height:15rem; overflow:hidden; }
.azure-card-media img { height:100%; width:100%; object-fit:cover; }
.azure-option .area-card .icon-tile { background:var(--surface); width:2.9rem; height:2.9rem; border-radius:9px; margin-bottom:.85rem; }
.azure-option .area-card h3 { font-size:1.6rem; letter-spacing:-.025em; font-weight:650; }
.azure-option .area-card p { max-width:38rem; margin-top:.8rem; margin-bottom:1.8rem; line-height:1.6; }
.azure-option .area-card-arrow { position:static; margin-top:auto; color:var(--accent); }
.azure-option .section--tint { background:var(--paper); }
.azure-option .testimonials { background:var(--surface); border-top:1px solid var(--line); }
.azure-option .testimonial { background:var(--paper); border:0; border-radius:20px; padding:2rem; grid-template-rows:auto 1fr auto; align-content:normal; }
.azure-option .testimonial-mark { color:var(--accent); }
.azure-process-section { background:var(--paper); }
.azure-process { list-style:none; display:grid; gap:4rem; padding:0; }
.azure-process-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6rem; align-items:center; }
.azure-process-row:nth-child(even) .azure-process-copy { order:2; }
.azure-process-copy { max-width:31rem; display:grid; gap:1rem; }
.azure-process-copy h3 { font-size:clamp(1.8rem,3vw,2.8rem); line-height:1.14; font-weight:650; letter-spacing:-.025em; }
.azure-process-copy p { color:var(--ink-2); font-size:1.06rem; }
.azure-step { width:fit-content; padding:.32rem .7rem; color:white; background:var(--accent); font-size:.84rem; border-radius:5px; font-weight:600; }
.azure-process-image { height:20rem; overflow:hidden; border-radius:0 34px 0 18px; }
.azure-process-image img { width:100%; height:100%; object-fit:cover; }
.azure-option .section--deep { background:var(--accent); padding-block:4rem; }
.azure-option .deep-mark { display:none; }
.azure-option .section--deep .lead, .azure-option .section--deep p { color:var(--on-deep); }
.azure-option .cta-band h2 { font-size:clamp(2rem,3vw,2.8rem); line-height:1.15; }
.azure-option .azure-home-faq { background:var(--surface); }
.azure-home-faq .section-head { text-align:center; display:grid; justify-items:center; gap:1rem; max-width:50rem; margin-inline:auto; }
.azure-home-faq .section-head h2 { max-width:none; }
.azure-faq-list { max-width:50rem; margin:auto; display:grid; gap:.5rem; }
.azure-option .faq { background:var(--paper); border:0; border-radius:10px; padding:0 1.25rem; margin:0 0 .5rem; }
.azure-option .faq summary { padding-block:.85rem; min-height:3rem; gap:1rem; }
.azure-option .faq .answer { padding-bottom:1rem; }
.azure-option .faq-group h2 { margin-top:0; margin-bottom:.75rem; }
.azure-option .faq-group + .faq-group { margin-top:2rem; }
.azure-faq-list .faq { margin:0; }
.azure-option .faq[open] { box-shadow:inset 0 0 0 1px var(--line); }
.azure-faq-help { background:var(--accent); color:white; padding:1.8rem; border-radius:12px; display:flex; justify-content:space-between; gap:2rem; align-items:center; }
.azure-faq-help p { margin-top:.4rem; }
.azure-faq-help h3 { font-size:1.15rem; }
.azure-option .site-footer { margin:2rem var(--gutter) 1rem; border-radius:0 48px 16px 16px; background:var(--deep); padding-block:2.5rem 1.5rem; }
.azure-option .footer-grid { gap:1.75rem 2rem; }
.azure-option .footer-brand { gap:.65rem; }
.azure-option .site-footer h2 { margin-bottom:.55rem; }
.azure-option .site-footer ul { gap:.25rem; }
.azure-option .footer-base { margin-top:1.5rem; padding-top:1rem; }
.demo-strip { margin-top:1rem; padding-top:.75rem; border-top:1px solid rgba(255,255,255,.15); font-size:.78rem; color:var(--on-deep-2); }
.azure-option .process--mini .process-step { position:relative; border:0; background:var(--surface); }
.azure-option .process--mini .process-num { border-radius:8px; }
.azure-option .process--mini .process-num .icon { width:1.25rem; height:1.25rem; }
.azure-option .form-success dd { white-space:pre-wrap; overflow-wrap:anywhere; }
.azure-option .form-section-title { font-size:1.4rem; }
.azure-option .enquiry-form > .form-section { padding-block:1.5rem; }
@media(min-width:48em) { .azure-option .process--mini .process-step:not(:last-child)::after { content:""; position:absolute; width:.75rem; height:2px; background:var(--accent); right:-.75rem; top:1.9rem; } }
.azure-option .trustbar--footer { display:none; }
.azure-option .page-banner { background:var(--paper); color:var(--ink); padding-bottom:4rem; }
.azure-option .page-banner h1 { color:var(--ink); font-size:clamp(2.7rem,4.6vw,4.2rem); }
.azure-option .page-banner-lead,.azure-option .page-banner-meta { color:var(--ink-2); max-width:42rem; }
.azure-option .page-banner .breadcrumbs a { color:var(--ink-2); }
.azure-option .page-banner .breadcrumbs a:hover,.azure-option .page-banner .breadcrumbs span[aria-current] { color:var(--ink); }
.azure-banner-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; padding-top:2rem; }
.azure-banner-image { height:22rem; border-radius:0 38px 0 18px; overflow:hidden; }
.azure-banner-image img { width:100%; height:100%; object-fit:cover; }
.azure-option .page-hero { background:var(--paper); padding-bottom:4.5rem; }
.azure-option .page-hero .media { border-radius:0 38px 0 18px; }
.azure-option .category-card,.azure-option .article-card,.azure-option .aside-card:not(.aside-card--deep),.azure-option .form-card { border-color:transparent; background:var(--paper); }
.azure-option .article-card { overflow:hidden; border-radius:0 28px 12px 12px; }
.azure-option .article-card .article-meta { display:grid; grid-template-columns:1fr; justify-items:start; align-content:start; }
.azure-option .area-row { padding:2rem; border:0; border-radius:14px; background:var(--surface); }
.azure-option .area-rows { display:grid; gap:1.4rem; border:0; }
.azure-option .routes { border:0; gap:1.4rem; }
.azure-option .route { padding:1.8rem; border:0; background:var(--paper); border-radius:12px; }
.azure-option .contact-methods { border-top:0; }
.azure-option .contact-info .aside-card { margin-top:1.5rem; }
.azure-option .prose { max-width:44rem; }
.preview-form-note { background:var(--accent-soft); border-radius:8px; color:var(--accent-strong); padding:.9rem 1rem; margin-top:1rem; }
.preview-form-result { background:var(--accent-soft); border:1px solid var(--accent); border-radius:8px; color:var(--ink); padding:1rem; margin-block:1rem; }
.azure-hero-slideshow { min-width:0; }
.azure-hero-slideshow .azure-hero-photo { position:relative; }
.azure-hero-slideshow .slide-controls { justify-content:flex-end; gap:.5rem; margin-top:1rem; }
.azure-hero-slideshow .slide-pips { margin-right:auto; }
.azure-hero-slideshow .slide-pips button { min-width:2rem; }
.azure-hero-slideshow .slide-controls button { min-height:2.75rem; }
.azure-hero-slideshow .slide-controls button[data-goto][aria-current="true"]::before { background:var(--accent); }
.service-heading { display:flex; align-items:center; gap:1rem; width:100%; min-width:0; }
.azure-option .service-heading .icon-tile { flex:none; width:3rem; height:3rem; margin:0; border-radius:10px; background:var(--surface); }
.azure-option .service-heading h3 { margin:0; padding-right:0; }
.azure-option .service-heading--page { margin-top:1.25rem; }
.azure-option .service-heading--page .icon-tile { width:4rem; height:4rem; }
.azure-option .service-heading--page .icon { width:2rem; height:2rem; }
.azure-option .service-heading--page h1 { margin:0; min-width:0; }
.azure-option .area-row { align-items:start; }
.route-photo { height:13rem; border-radius:0 24px 8px 8px; overflow:hidden; margin-bottom:1rem; }
.route-photo img { width:100%; height:100%; object-fit:cover; }
@media(min-width:80em) { .azure-option .footer-grid { grid-template-columns:1.3fr 1fr .8fr 1.4fr; } }
@media(max-width:74em) { .azure-option .header-actions { display:none; } .azure-hero-grid { gap:2.5rem; } .azure-process-row { gap:3rem; } }
@media(max-width:59.99em) { .azure-option { --header-h:5.5rem; } .azure-option .brand img { width:56px; } .azure-option .brand-name strong { font-size:1.35rem; } .azure-hero { padding-top:2.5rem; } .azure-hero-grid,.azure-banner-grid { grid-template-columns:1fr; gap:2.5rem; } .azure-hero-photo { height:30rem; } .azure-hero-copy h1 { max-width:14ch; font-size:3.5rem; } .azure-banner-grid { padding-top:0; } .azure-banner-image { height:20rem; } }
@media(max-width:47.99em) { .azure-option .section { padding-block:3.5rem; } .azure-option .section-head { margin-bottom:2rem; } .azure-option .area-cards { grid-template-columns:1fr; } .azure-process-row { grid-template-columns:1fr; gap:1.5rem; } .azure-process-row:nth-child(even) .azure-process-copy { order:0; } .azure-process { gap:3.3rem; } .azure-process-image { height:17rem; } .azure-option .site-footer { margin:1.5rem .75rem .75rem; } .azure-faq-help { flex-direction:column; align-items:flex-start; gap:1rem; } .azure-option .values-list { gap:1.8rem; } }
@media(prefers-reduced-motion:reduce) { .azure-option .trust-track { animation:none; width:100%; } .azure-option .trust-set { width:100%; flex-wrap:wrap; padding-right:0; } .azure-option .trust-set--copy { display:none; } .azure-option .trust-set .trust-group,.azure-option .trust-list { flex-wrap:wrap; } .azure-option .trust-set .trust-group-title,.azure-option .trust-set .trust-item a,.azure-option .trust-set .trust-item span { white-space:normal; } .azure-hero-slideshow .slide { transition:none; } }
@media(max-width:30em) { .azure-hero-copy h1 { font-size:2.75rem; } .azure-hero-photo { height:22rem; } .azure-hero { padding-bottom:3rem; } .azure-hero-copy { gap:1.25rem; } .azure-hero-copy .actions { display:grid; grid-template-columns:1fr; } .azure-option .area-card { padding-inline:1.35rem; } .azure-card-media { width:calc(100% + 2.7rem); margin-inline:-1.35rem; height:13rem; } .azure-option .faq { padding-inline:1rem; } .azure-option .section-head h2 { max-width:100%; } }
@media(max-width:30em) {
  .azure-option .service-heading--page { gap:.75rem; }
  .azure-option .service-heading--page .icon-tile { width:3.25rem; height:3.25rem; }
  .azure-option .service-heading--page h1 { font-size:clamp(1.85rem,8vw,2.4rem); }
}
@media(max-width:22.5em) {
  .azure-option .header-inner { gap:.75rem; }
  .azure-option .brand { gap:.5rem; }
  .azure-option .brand-name strong { font-size:1.1rem; }
  .azure-option .brand-name span { font-size:.7rem; }
}

/* Keep dark enquiry cards dark when the surrounding cards use light surfaces. */
.azure-option .aside-card--deep { background:var(--deep); color:var(--on-deep); border-color:var(--deep); }
.azure-option .page-banner .breadcrumbs li + li::before { color:var(--ink-2); }
/* Make service destinations recognisable as links in both navigation layouts. */
.azure-option .mega h2 a { color:var(--accent); }
.azure-option .mega li a { text-decoration:underline; text-decoration-color:var(--line-strong); text-underline-offset:.2em; }
.azure-option .mega li a:hover,.azure-option .mega li a:focus-visible { color:var(--accent); text-decoration-color:currentColor; }
.m-service-group > summary { cursor:pointer; font-size:1rem; font-weight:650; padding:.7rem 0; color:var(--accent); }
.m-service-links { list-style:none; padding-left:1rem; border-left:2px solid var(--line); }
.m-service-links a { font-size:.92rem; padding:.6rem 0; text-decoration:underline; text-underline-offset:.2em; }

/* Shorter homepage on phones; the full desktop composition is unchanged. */
.mobile-review-controls, .mobile-review-controls[hidden] { display:none; }
@media(max-width:47.99em) {
  .azure-home .section { padding-block:2.5rem; }
  .azure-home .section-head { margin-bottom:1.5rem; }
  .azure-home .section-head h2 { font-size:2rem; }
  .azure-home [aria-labelledby="services-heading"] .area-card:nth-child(n+3),
  .azure-home [aria-labelledby="guidance-heading"] { display:none; }
  .azure-home .quote-row.has-review-controls .testimonial:not(.is-review-active) { display:none; }
  .azure-home .testimonial { padding:1.5rem; gap:1rem; }
  .azure-home .mobile-review-controls:not([hidden]) { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:1rem; }
  .mobile-review-controls button { min-height:2.75rem; padding:.5rem .85rem; border:1px solid var(--line-strong); border-radius:8px; background:var(--paper); color:var(--accent-strong); font:inherit; font-size:.9rem; cursor:pointer; }
  .mobile-review-controls button:disabled { color:var(--ink-2); opacity:.6; cursor:default; }
  .mobile-review-controls [data-review-count] { font-size:.85rem; color:var(--ink-2); white-space:nowrap; }
  .azure-home .azure-process { gap:1.25rem; }
  .azure-home .azure-process-row { display:block; }
  .azure-home .azure-process-image { display:none; }
  .azure-home .azure-process-copy { max-width:none; grid-template-columns:2.25rem minmax(0,1fr); gap:.35rem .8rem; }
  .azure-home .azure-process-copy .azure-step { grid-row:1 / 3; align-self:start; width:2.25rem; padding:.4rem .2rem; text-align:center; font-size:.7rem; line-height:1.3; }
  .azure-home .azure-process-copy h3 { grid-column:2; font-size:1.15rem; line-height:1.3; }
  .azure-home .azure-process-copy p { grid-column:2; font-size:.95rem; line-height:1.5; }
  .azure-home .section-more { margin-top:1.5rem; }
}
