:root { --navy-950:#0b1f33; --navy-900:#102b45; --blue:#26748c; --blue-dark:#1e6075; --ink:#182b3d; --muted:#5e6d79; --paper:#fff; --mist:#f3f6f7; --line:#dce4e8; --accent:#d7a75b; --max-width:72rem; --radius-sm:.35rem; --radius-md:.7rem; --shadow-sm:0 .5rem 1.5rem rgba(11,31,51,.07); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:1rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--blue-dark); }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.container { width:min(calc(100% - 2rem),var(--max-width)); margin-inline:auto; }
.skip-link { position:absolute; top:1rem; left:-9999px; z-index:10; padding:.65rem 1rem; color:var(--paper); background:var(--navy-900); }.skip-link:focus { left:1rem; }
.site-header { position:relative; z-index:5; background:var(--paper); border-bottom:1px solid var(--line); }.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:5rem; gap:1rem; }
.site-brand { display:inline-flex; align-items:center; gap:.7rem; color:var(--navy-950); text-decoration:none; line-height:1.1; }.site-brand strong,.site-brand small { display:block; }.site-brand strong { font-size:1rem; letter-spacing:-.02em; }.site-brand small { margin-top:.25rem; color:var(--muted); font-size:.66rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; }.brand-mark { display:grid; place-items:center; width:2.3rem; height:2.3rem; color:var(--paper); background:var(--navy-900); border-radius:var(--radius-sm); font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.site-nav { display:flex; align-items:center; gap:1.5rem; }.nav-links { display:flex; flex-wrap:wrap; gap:1.25rem; }.nav-links a { color:var(--ink); font-size:.9rem; text-decoration:none; }.nav-links a:hover,.nav-links a.is-current { color:var(--blue-dark); }.nav-links a.is-current { font-weight:700; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.35rem; }
.header-actions { display:flex; align-items:center; gap:.65rem; flex-shrink:0; }.remote-support-link,.remote-support-link:visited { display:inline-flex; align-items:center; gap:.45rem; min-height:2.5rem; padding:.55rem .8rem; border:1px solid var(--accent); border-radius:var(--radius-sm); color:var(--navy-950); background:var(--accent); font-size:.82rem; font-weight:800; text-decoration:none; white-space:nowrap; }.remote-support-link:hover { color:var(--navy-950); border-color:#b77f31; background:#e2b66f; }.remote-support-link:focus-visible { color:var(--navy-950); border-color:var(--navy-950); background:#f0c77c; outline:3px solid var(--accent); outline-offset:3px; }.remote-support-link:active { color:var(--navy-950); border-color:#a96e21; background:#c9903d; }
.nav-toggle { display:none; border:1px solid var(--line); color:var(--ink); background:var(--paper); border-radius:var(--radius-sm); padding:.55rem .7rem; cursor:pointer; }.nav-toggle-label { margin-right:.35rem; font-size:.8rem; font-weight:700; }.nav-toggle-icon { display:inline-flex; flex-direction:column; gap:3px; vertical-align:middle; }.nav-toggle-icon i { display:block; width:1rem; height:2px; background:currentColor; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:3rem; padding:.75rem 1.15rem; border:1px solid var(--blue-dark); border-radius:var(--radius-sm); color:var(--paper); background:var(--blue-dark); font-weight:700; text-decoration:none; transition:background-color .15s ease,border-color .15s ease; }.button:hover { border-color:var(--navy-900); background:var(--navy-900); }.button-small { min-height:2.5rem; padding:.55rem .85rem; font-size:.85rem; }.button-secondary { color:var(--navy-900); background:transparent; border-color:var(--line); }.button-secondary:hover { color:var(--navy-900); background:var(--mist); border-color:var(--navy-900); }
.eyebrow { margin:0 0 .75rem; color:var(--blue-dark); font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero-section { overflow:hidden; background:var(--mist); }.hero-grid { display:grid; align-items:center; gap:3rem; min-height:37rem; padding-block:4rem; }.hero-copy { max-width:39rem; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { color:var(--navy-950); line-height:1.15; letter-spacing:-.035em; } h1 { max-width:10ch; margin-bottom:1.35rem; font-size:clamp(2.7rem,8vw,5.5rem); } h1 span { color:var(--blue-dark); } h2 { margin-bottom:1rem; font-size:clamp(1.9rem,4vw,3rem); } h3 { font-size:1.15rem; }.hero-lede { max-width:36rem; margin-bottom:1.75rem; color:var(--muted); font-size:clamp(1.05rem,2vw,1.2rem); }.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; }.hero-note { display:flex; align-items:center; gap:.55rem; margin:1.5rem 0 0; color:var(--muted); font-size:.83rem; }.note-dot { width:.5rem; height:.5rem; border-radius:50%; background:var(--accent); }
.hero-visual { display:block; min-height:20rem; padding:1rem; border:1px solid #cbd8de; background:#e9eff1; border-radius:var(--radius-md); }.hero-image { display:block; width:100%; height:clamp(22rem,38vw,31rem); border:1px solid #bfd0d7; border-radius:.45rem; object-fit:cover; object-position:50% 25%; box-shadow:var(--shadow-sm); }.visual-caption { margin:1rem 0 0; color:var(--muted); font-size:.76rem; text-align:center; }
.proof-strip { border-bottom:1px solid var(--line); background:var(--paper); }.proof-grid { display:grid; grid-template-columns:repeat(2,1fr); }.proof-item { display:flex; align-items:center; gap:.75rem; min-height:5rem; padding:1rem 0; color:var(--navy-900); font-size:.85rem; font-weight:700; }.proof-icon { color:var(--blue); font-size:.7rem; font-weight:800; letter-spacing:.06em; }.section { padding-block:4rem; }.section-services { background:var(--paper); }.section-heading { display:grid; gap:1.25rem; align-items:end; margin-bottom:2rem; }.section-heading>p { max-width:27rem; margin-bottom:.25rem; color:var(--muted); }.service-grid,.testimonial-grid { display:grid; gap:1rem; }.service-card { position:relative; min-height:16rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); box-shadow:0 1px 0 rgba(11,31,51,.02); }.service-card:hover { box-shadow:var(--shadow-sm); }.service-card h3 { max-width:14ch; margin-top:2.75rem; }.service-card p { color:var(--muted); font-size:.9rem; }.card-number { position:absolute; top:1.5rem; right:1.5rem; color:var(--accent); font-size:.75rem; font-weight:800; }.text-link { color:var(--blue-dark); font-size:.88rem; font-weight:800; text-decoration:none; }.text-link:hover { text-decoration:underline; text-underline-offset:.25em; }
.about-section,.areas-section { background:var(--mist); }.about-section { padding-top:3.5rem; padding-bottom:3rem; }.areas-section { padding-top:3rem; }.about-grid,.areas-grid { display:grid; gap:2rem; align-items:center; }.about-grid h2 { max-width:15ch; margin-bottom:.8rem; }.about-grid p,.areas-grid p { max-width:38rem; color:var(--muted); }.about-marker { display:grid; place-items:center; align-content:center; width:10rem; height:10rem; border:1px solid #c9d8dd; border-radius:50%; color:var(--navy-900); background:#e6eef0; }.about-marker span { font-size:2.5rem; font-weight:900; letter-spacing:-.08em; }.about-marker small { color:var(--blue-dark); font-size:.6rem; font-weight:800; letter-spacing:.14em; text-align:center; }.suburb-list { display:grid; grid-template-columns:repeat(2,1fr); gap:.65rem; padding:.75rem; border:1px solid var(--line); border-radius:var(--radius-md); background:rgba(255,255,255,.55); }.suburb-list a { display:flex; justify-content:space-between; padding:.65rem .75rem; border:1px solid transparent; border-radius:var(--radius-sm); color:var(--ink); font-size:.88rem; text-decoration:none; }.suburb-list a:hover { color:var(--blue-dark); border-color:var(--line); background:var(--paper); }.suburb-list span { color:var(--blue); }
.section-heading-centered { text-align:center; }.section-heading-centered>p { margin-inline:auto; }.testimonial-card { min-height:13rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--mist); }.quote-mark { color:var(--accent); font:3.5rem/1 Georgia,serif; }.centered { margin-top:2rem; text-align:center; }
.contact-banner { color:#dce9ed; background:var(--navy-900); }.contact-banner-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:4rem; }.contact-banner h2 { max-width:16ch; margin-bottom:.75rem; color:var(--paper); }.contact-banner p:not(.eyebrow) { max-width:34rem; margin-bottom:0; }.eyebrow-light { color:#a8ccd3; }.button-light { border-color:var(--paper); color:var(--navy-900); background:var(--paper); white-space:nowrap; }.button-light:hover { color:var(--paper); background:transparent; }
.site-footer { color:#b7c8d0; background:var(--navy-950); }.footer-grid { display:grid; gap:2.5rem; padding-block:4rem; }.footer-brand { color:var(--paper); }.footer-brand small { color:#9db2bd; }.footer-brand .brand-mark { background:var(--blue); }.footer-intro,.footer-grid p { max-width:20rem; margin:1.25rem 0 0; font-size:.87rem; }.footer-heading { margin-bottom:1rem; color:var(--paper); font-size:.9rem; letter-spacing:.03em; }.footer-nav { display:grid; gap:.5rem; }.footer-nav a { color:#b7c8d0; font-size:.87rem; text-decoration:none; }.footer-nav a:hover { color:var(--paper); }.site-footer .text-link { color:#b9e0e5; }.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-block:1rem; border-top:1px solid #294258; color:#8fa6b2; font-size:.75rem; }.footer-bottom p { margin:0; }
@media (min-width:40rem) { .container { width:min(calc(100% - 3rem),var(--max-width)); }.proof-grid { grid-template-columns:repeat(4,1fr); }.proof-item { justify-content:center; }.service-grid { grid-template-columns:repeat(2,1fr); }.suburb-list { grid-template-columns:repeat(3,1fr); }.testimonial-grid { grid-template-columns:repeat(3,1fr); }.footer-grid { grid-template-columns:1.5fr 1fr 1fr; } }
@media (min-width:50rem) { .hero-grid { grid-template-columns:1.05fr .95fr; }.section-heading { grid-template-columns:1.2fr .8fr; }.about-grid { grid-template-columns:.7fr 1.3fr; }.areas-grid { grid-template-columns:.85fr 1.15fr; }.footer-grid { grid-template-columns:1.5fr .7fr 1fr; } }
@media (max-width:49.99rem) { .nav-toggle { display:block; }.site-nav { display:none; position:absolute; top:100%; right:1rem; left:1rem; flex-direction:column; align-items:stretch; gap:1rem; padding:1rem; border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow-sm); }.site-nav.is-open { display:flex; }.nav-links { flex-direction:column; gap:.25rem; }.nav-links a { display:block; padding:.65rem .25rem; }.nav-cta { width:100%; }.contact-banner-inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:39.99rem) { .hero-actions,.hero-actions .button { width:100%; }.hero-visual { min-height:0; padding:.75rem; }.hero-image { height:20rem; object-position:50% 24%; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:.25rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* Brand assets remain vector-sharp while fitting the existing header/footer layout. */
.site-brand-logo { display:block; width:240px; max-width:100%; height:auto; flex:0 0 auto; }
.footer-brand .site-brand-logo { width:min(100%, 240px); filter:brightness(0) invert(1); }
@media (max-width:39.99rem) { .site-brand-logo { width:140px; } }

.footer-contact { line-height:1.8; }
.footer-contact a { color:#b9e0e5; text-decoration:none; }
.footer-contact a:hover { color:var(--paper); text-decoration:underline; text-underline-offset:.2em; }
.contact-details { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem 2rem; max-width:42rem; padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--mist); }
.contact-details p { margin:0; color:var(--muted); }
.contact-details strong { color:var(--navy-950); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.testimonial-quote { color:var(--muted); font-size:.95rem; }
.testimonial-author { margin-bottom:0; color:var(--navy-950); font-weight:800; }
.testimonial-author span { color:var(--muted); font-size:.84rem; font-weight:500; }
.testimonial-source { margin-top:.5rem; color:var(--muted); font-size:.75rem; font-style:italic; }
.testimonial-list { display:grid; gap:1rem; padding-bottom:4rem; }
.testimonial-full { min-height:0; }
@media (min-width:40rem) { .testimonial-list { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:39.99rem) { .contact-details { grid-template-columns:1fr; } }

.services-hero { background:var(--mist); border-bottom:1px solid var(--line); }.services-hero-inner { padding-block:4rem 3.5rem; }.services-hero h1 { max-width:15ch; }.services-hero .lede { max-width:42rem; }
.service-jump-nav { border-bottom:1px solid var(--line); background:var(--paper); }.service-jump-links { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; padding-block:1rem; }.service-jump-label { margin-right:.25rem; color:var(--muted); font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.service-jump-links a { padding:.45rem .7rem; border:1px solid var(--line); border-radius:99px; color:var(--navy-900); background:var(--paper); font-size:.8rem; font-weight:700; text-decoration:none; }.service-jump-links a:hover { border-color:var(--blue); color:var(--blue-dark); background:var(--mist); }
.services-section { padding-block:3.25rem; background:var(--paper); }.services-section-muted { background:var(--mist); }.service-detail-grid { display:grid; gap:1rem; }.service-detail-grid-three { grid-template-columns:1fr; }.service-detail { padding:1.35rem 1.5rem; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:var(--radius-sm); background:var(--paper); box-shadow:0 1px 0 rgba(11,31,51,.02); }.services-section-muted .service-detail { background:rgba(255,255,255,.65); }.service-detail h3 { margin-bottom:.65rem; }.service-detail p { color:var(--muted); font-size:.92rem; }.service-detail ul { display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin:1rem 0 0; padding:0; list-style:none; color:var(--blue-dark); font-size:.82rem; font-weight:700; }.service-detail li::before { content:'+'; margin-right:.35rem; color:var(--accent); }
.remote-support-section { color:#dce9ed; background:var(--navy-900); }.remote-support-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:3rem; }.remote-support-inner h2 { max-width:18ch; color:var(--paper); }.remote-support-inner p:not(.eyebrow) { max-width:38rem; margin-bottom:0; }.remote-support-section .button-light:hover { color:var(--navy-950); border-color:#e2b66f; background:#e2b66f; }.services-final-cta { background:var(--mist); border-top:1px solid var(--line); }.services-final-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-block:3.25rem; }.services-final-cta h2 { margin-bottom:.75rem; }.services-final-cta p:not(.eyebrow) { max-width:38rem; margin-bottom:0; color:var(--muted); }
@media (min-width:40rem) { .service-detail-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }.service-detail-grid-three { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:49.99rem) { .header-actions { gap:.5rem; }.remote-support-link { padding-inline:.65rem; font-size:.78rem; }.remote-support-inner,.services-final-cta-inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:39.99rem) { .remote-support-link { min-height:2.35rem; padding:.5rem .6rem; font-size:.72rem; }.services-hero-inner { padding-block:3rem 2.5rem; }.services-final-cta .hero-actions,.services-final-cta .hero-actions .button { width:100%; } }

/* Customer downloads for remote support. */
.remote-download-hero { border-top:4px solid var(--blue); border-bottom:1px solid var(--line); background:var(--mist); }
.remote-download-hero-inner,.remote-content { width:min(calc(100% - 2rem),56rem); margin-inline:auto; }
.remote-download-hero-inner { padding-block:1.9rem 1.75rem; }
.remote-download-hero h1 { max-width:none; margin-bottom:.35rem; font-size:clamp(1.8rem,3.2vw,2.45rem); white-space:nowrap; }
.remote-download-hero .lede { max-width:45rem; margin-bottom:0; color:var(--ink); font-size:1rem; }
.remote-download-section { padding-block:2rem 1.25rem; }
.remote-support-panel { padding:clamp(1.25rem,4vw,2.25rem); border:1px solid var(--line); border-top:4px solid var(--blue); border-radius:var(--radius-sm); background:var(--paper); }
.remote-support-panel>h2 { margin-bottom:1.5rem; font-size:clamp(1.45rem,3vw,1.8rem); }
.remote-platform-grid { display:grid; }
.remote-platform-option+.remote-platform-option { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.remote-platform-heading { display:flex; align-items:center; gap:.85rem; margin-bottom:.6rem; }
.remote-platform-heading h3 { margin:0; font-size:1.35rem; }
.remote-platform-icon { display:grid; place-items:center; flex:0 0 2.75rem; width:2.75rem; height:2.75rem; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--blue-dark); background:var(--mist); }
.remote-platform-icon svg { width:1.45rem; height:1.45rem; }
.remote-platform-description { margin-bottom:1rem; color:var(--ink); font-size:.98rem; }
.remote-primary-button { display:flex; justify-content:space-between; width:100%; min-height:3.65rem; padding:.85rem 1rem; font-size:.98rem; }
.remote-alternate { margin:.8rem 0 0; color:var(--ink); font-size:.92rem; }
.remote-alternate a { font-weight:750; }
.remote-mac-options { display:grid; grid-template-columns:1fr; gap:.7rem; }
.remote-mac-button { display:flex; justify-content:space-between; align-items:center; min-height:3.55rem; padding:.8rem 1rem; font-size:1rem; }
.remote-mac-button-secondary { color:var(--navy-900); background:var(--paper); border-color:var(--blue-dark); }
.remote-mac-button-secondary:hover { color:var(--paper); background:var(--navy-900); }
.remote-mac-help { margin-top:.9rem; }
.remote-fallback-section { padding-block:1rem 2.25rem; }
.remote-fallback-panel { padding:clamp(1.15rem,3vw,1.6rem); border:1px solid var(--line); border-left:3px solid #b8c8ce; border-radius:var(--radius-sm); background:var(--mist); }
.remote-fallback-copy h2 { margin-bottom:.4rem; font-size:clamp(1.3rem,2.5vw,1.55rem); }
.remote-fallback-copy p { max-width:46rem; margin-bottom:1rem; color:var(--ink); font-size:.96rem; }
.remote-fallback-actions { display:grid; grid-template-columns:1fr; gap:.6rem; }
.remote-fallback-actions .button { justify-content:space-between; min-height:3.15rem; padding:.65rem .85rem; font-size:.9rem; }
.remote-safety-note { padding-block:1rem; border-top:1px solid var(--line); color:var(--navy-900); background:#fffaf0; }
.remote-safety-note p { margin:0; font-size:.94rem; }
@media (min-width:38rem) { .remote-mac-options,.remote-fallback-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:48rem) { .remote-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.remote-platform-option:first-child { padding-right:1.75rem; }.remote-platform-option+.remote-platform-option { margin:0; padding:0 0 0 1.75rem; border-top:0; border-left:1px solid var(--line); } }
@media (max-width:39.99rem) { .remote-download-section { padding-block:1.25rem 1rem; }.remote-download-hero-inner { padding-block:1.55rem 1.4rem; }.remote-download-hero .lede { font-size:.96rem; }.remote-primary-button { font-size:.9rem; }.remote-fallback-section { padding-bottom:1.5rem; } }

/* Services page brand polish: restrained tints, markers and stronger grouping. */
.services-hero { border-top:4px solid var(--blue); background:var(--mist); }
.services-hero-inner { position:relative; overflow:hidden; }
.services-hero-inner::after { content:'IT'; position:absolute; right:4%; bottom:2.5rem; color:transparent; border:2px solid rgba(38,116,140,.14); border-radius:var(--radius-md); padding:.35rem .6rem; font-size:clamp(4rem,10vw,7rem); font-weight:900; line-height:1; letter-spacing:-.1em; transform:rotate(-8deg); pointer-events:none; }
.services-hero .hero-actions, .services-hero h1, .services-hero .lede, .services-hero .eyebrow { position:relative; z-index:1; }
.service-jump-links a { transition:color .15s ease, background-color .15s ease, border-color .15s ease; }
.service-jump-links a:focus-visible { color:var(--navy-950); border-color:var(--navy-900); background:#e5f0f2; outline:3px solid var(--accent); outline-offset:2px; }
.service-jump-links a:active { color:var(--paper); border-color:var(--navy-900); background:var(--navy-900); }
.services-section { position:relative; }
#wifi-networking { background:var(--mist); }
#microsoft-email { background:#edf5f6; }
#small-business-it { background:#f6f7f7; }
#backup-data { background:#f7f8f7; }
.service-detail { position:relative; overflow:hidden; }
.service-detail::before { content:'+'; display:grid; place-items:center; width:1.7rem; height:1.7rem; margin-bottom:1rem; border:1px solid var(--blue); border-radius:50%; color:var(--blue-dark); background:#eaf3f4; font-size:1rem; font-weight:700; line-height:1; }
.services-section-muted .service-detail { background:rgba(255,255,255,.72); }
#microsoft-email .service-detail { background:rgba(255,255,255,.78); border-top-color:var(--blue-dark); }
#backup-data .service-detail { background:rgba(255,255,255,.82); border-top-color:var(--accent); }
.service-detail h3 { max-width:24ch; }
.remote-support-section .button-light:focus-visible { color:var(--navy-950); border-color:var(--accent); background:#f0c77c; outline:3px solid var(--accent); outline-offset:3px; }
.remote-support-section .button-light:active { color:var(--navy-950); border-color:#c38e3d; background:#d7a75b; }
@media (max-width:39.99rem) { .services-hero-inner::after { right:-.5rem; bottom:2rem; font-size:4rem; }.service-jump-links { align-items:flex-start; }.service-jump-label { width:100%; margin-bottom:.15rem; }.service-jump-links a { font-size:.76rem; }.service-detail { padding:1.2rem; } }

/* Areas hub: local navigation and service coverage panels. */
.areas-hero h1 { max-width:17ch; }.areas-hero .lede { max-width:45rem; }
.areas-directory { background:var(--paper); }.area-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.75rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--mist); }.area-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:.75rem; min-height:3.7rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:var(--radius-sm); color:var(--navy-900); background:var(--paper); font-weight:800; text-decoration:none; }.area-card:hover { border-color:var(--blue); color:var(--blue-dark); background:#edf5f6; }.area-card:focus-visible { border-color:var(--navy-900); outline:3px solid var(--accent); outline-offset:2px; }.area-card-marker { display:grid; place-items:center; width:1.45rem; height:1.45rem; border:1px solid var(--blue); border-radius:50%; color:var(--blue-dark); background:#eaf3f4; font-size:.9rem; font-weight:700; }.area-card-arrow { color:var(--blue); font-size:1.1rem; }
.onsite-support-section { background:var(--mist); }.area-support-grid { display:grid; gap:1rem; }.area-support-card { position:relative; padding:1.35rem 1.5rem; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:var(--radius-sm); background:rgba(255,255,255,.72); }.area-support-card:nth-child(3n+2) { border-top-color:var(--blue-dark); }.area-support-card:nth-child(3n) { border-top-color:var(--accent); }.area-support-card h3 { margin:1.25rem 0 .65rem; }.area-support-card p { color:var(--muted); font-size:.92rem; }.area-support-marker { color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.08em; }
.areas-local-section { background:#edf5f6; }.areas-local-grid { display:grid; gap:2rem; align-items:center; }.areas-local-grid h2 { max-width:17ch; }.areas-local-grid p { max-width:40rem; color:var(--muted); }.areas-local-marker { display:grid; place-items:center; align-content:center; width:10rem; height:10rem; border:1px solid #b9d1d5; border-radius:50%; color:var(--blue-dark); background:rgba(255,255,255,.6); }.areas-local-marker span { font-size:1.45rem; font-weight:900; letter-spacing:.08em; }.areas-local-marker small { margin-top:.35rem; color:var(--blue); font-size:.6rem; font-weight:800; letter-spacing:.14em; text-align:center; }
.areas-final-cta { border-top:0; }
@media (min-width:40rem) { .area-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }.area-support-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (min-width:50rem) { .areas-local-grid { grid-template-columns:.7fr 1.3fr; }.area-support-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:39.99rem) { .area-grid { grid-template-columns:1fr; padding:.75rem; }.area-card { min-height:3.4rem; }.areas-hero .hero-actions,.areas-hero .hero-actions .button { width:100%; }.areas-local-marker { width:8.5rem; height:8.5rem; } }

/* Individual suburb landing pages. */
.area-landing-hero h1 { max-width:16ch; }.area-landing-hero .lede { max-width:47rem; }
.area-intro-section { background:var(--paper); }.area-intro-grid { display:grid; gap:1.5rem; align-items:start; }.area-intro-grid h2 { max-width:15ch; }.area-intro-grid p { max-width:42rem; color:var(--muted); }
.area-services-section { background:var(--mist); }.area-service-grid { display:grid; gap:1rem; }.area-service-card { padding:1.35rem 1.5rem; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:var(--radius-sm); background:rgba(255,255,255,.72); }.area-service-card:nth-child(3n+2) { border-top-color:var(--blue-dark); }.area-service-card:nth-child(3n) { border-top-color:var(--accent); }.area-service-marker { color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.08em; }.area-service-card h3 { margin:1.1rem 0 .65rem; }.area-service-card p { color:var(--muted); font-size:.92rem; }
.area-intro-grid h3 { margin:0 0 .35rem; }.area-intro-grid h3:not(:first-child) { margin-top:1.5rem; }.area-services-more { margin:1.5rem 0 0; }
.area-topic-card h3 { margin-top:0; }
.area-customer-section { background:#edf5f6; }.area-customer-grid { display:grid; gap:2rem; align-items:center; }.area-customer-grid h2 { max-width:15ch; }.area-customer-grid p { max-width:42rem; color:var(--muted); }.area-customer-note { padding:1.5rem; border:1px solid #c4d9dc; border-radius:var(--radius-md); background:rgba(255,255,255,.65); }.area-customer-note p { margin:1rem 0; color:var(--navy-900); font-weight:700; }.area-note-mark { display:grid; place-items:center; width:3rem; height:3rem; border-radius:var(--radius-sm); color:var(--paper); background:var(--navy-900); font-size:1rem; font-weight:900; letter-spacing:-.05em; }
.area-testimonial-section { background:var(--paper); }.area-testimonial-inner { display:grid; gap:1.5rem; align-items:start; }.area-testimonial { margin:0; padding:1.5rem; border-left:4px solid var(--accent); background:var(--mist); }.area-testimonial p { max-width:48rem; color:var(--muted); font-size:1rem; }.area-testimonial footer { color:var(--navy-950); font-weight:800; }.area-testimonial footer span { color:var(--muted); font-size:.84rem; font-weight:500; }
.area-nearby-section { background:var(--mist); }.area-nearby-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }.area-nearby-inner h2 { margin-bottom:.75rem; }.area-nearby-inner p:not(.eyebrow) { margin-bottom:0; color:var(--muted); }
.nearby-area-links { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.25rem; }
.area-final-cta { border-top:0; }
@media (min-width:40rem) { .area-service-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }.area-testimonial-inner { grid-template-columns:.75fr 1.25fr; } }
@media (min-width:50rem) { .area-intro-grid { grid-template-columns:.8fr 1.2fr; }.area-customer-grid { grid-template-columns:1.2fr .8fr; }.area-service-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:49.99rem) { .area-nearby-inner { align-items:flex-start; flex-direction:column; } }
@media (max-width:39.99rem) { .area-landing-hero .hero-actions,.area-landing-hero .hero-actions .button { width:100%; }.area-intro-grid,.area-customer-grid { gap:1.25rem; }.area-service-card { padding:1.2rem; }.area-testimonial { padding:1.2rem; }.area-final-cta .hero-actions,.area-final-cta .hero-actions .button { width:100%; } }

/* Contact form foundation. */
.contact-page-grid { display:grid; gap:2rem; padding-bottom:4rem; }.contact-page-grid h2 { font-size:1.5rem; }.contact-form { padding:1.5rem; border:1px solid var(--line); border-top:3px solid var(--blue); border-radius:var(--radius-sm); background:var(--mist); }.contact-form p { margin-bottom:1rem; }.contact-form label { display:block; margin-bottom:.35rem; color:var(--navy-950); font-size:.86rem; font-weight:800; }.contact-form input:not([type="hidden"]),.contact-form textarea { display:block; width:100%; padding:.7rem .8rem; border:1px solid #b9cbd2; border-radius:var(--radius-sm); color:var(--ink); background:var(--paper); font:inherit; }.contact-form textarea { resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--blue-dark); outline:3px solid rgba(215,167,91,.55); outline-offset:2px; }.form-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }.form-notice { padding:1rem; border:1px solid; border-radius:var(--radius-sm); }.form-notice ul { margin-bottom:0; padding-left:1.25rem; }.form-success { border-color:#75a99b; color:#164c42; background:#e5f3ef; }.form-error { border-color:#c98787; color:#6c2424; background:#fbebeb; }.form-error p { margin-bottom:.35rem; font-weight:800; }
@media (min-width:50rem) { .contact-page-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:start; } }
.remote-label-short { display:none; }
@media (max-width:39.99rem) {
  .header-inner { gap:.5rem; }
  .site-brand-logo { width:clamp(110px,32vw,140px); }
  .remote-label-full { display:none; }
  .remote-label-short { display:inline; }
}



/* Contact details and confirmation state. */
.contact-page-intro { padding-block:2.25rem 1.75rem; border-bottom:1px solid var(--line); }
.contact-page-intro h1 { max-width:16ch; margin-bottom:.85rem; font-size:clamp(2.45rem,5vw,4.25rem); }
.contact-page-intro .lede { max-width:42rem; margin-bottom:0; }
.contact-page-grid { padding-top:2.25rem; }
.contact-page-grid > div { min-width:0; }
.contact-details { min-width:0; }
.contact-details p { overflow-wrap:anywhere; }
.cf-turnstile { margin-bottom:1rem; }
.confirmation-panel h3 { margin-top:0; }
.confirmation-actions { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.25rem; pointer-events:auto; }
.confirmation-actions .button { position:relative; z-index:1; pointer-events:auto; }

/* Contact page: a practical, balanced enquiry workspace. */
.contact-page-intro,.contact-page-grid { width:min(calc(100% - 2rem),80rem); }
.contact-page-intro { padding-block:2rem 1.5rem; }
.contact-page-intro h1 { max-width:17ch; font-size:clamp(2.3rem,4.4vw,3.8rem); }
.contact-page-grid { gap:clamp(1.5rem,3vw,3rem); margin-top:1.25rem; margin-bottom:3.5rem; padding:clamp(1.25rem,3vw,2.5rem); border:1px solid #d2e0e3; border-top:4px solid var(--blue); border-radius:var(--radius-md); background:#edf4f5; box-shadow:var(--shadow-sm); }
.contact-page-grid h2 { margin-bottom:1.05rem; font-size:clamp(1.35rem,2vw,1.7rem); }
.contact-page-grid > div:first-child { padding-top:.2rem; }
.contact-details { gap:1.1rem 1.5rem; padding:1.4rem; border-top:3px solid var(--accent); background:var(--paper); box-shadow:0 1px 0 rgba(11,31,51,.03); }
.contact-details p { line-height:1.55; }
.contact-details p:first-child a { color:var(--navy-900); font-size:1.12rem; font-weight:800; text-decoration-thickness:2px; text-underline-offset:.18em; }
.contact-form { padding:clamp(1.25rem,2.5vw,1.8rem); background:var(--paper); box-shadow:0 1px 0 rgba(11,31,51,.03); }
.contact-form .cf-turnstile { margin-top:.25rem; padding-top:1rem; border-top:1px solid var(--line); }
.contact-form p:last-child { margin-bottom:0; padding-top:.15rem; }
.confirmation-panel { padding:clamp(1.25rem,2.5vw,1.8rem); box-shadow:0 1px 0 rgba(11,31,51,.03); }
@media (min-width:50rem) { .contact-page-grid { grid-template-columns:minmax(17rem,.8fr) minmax(0,1.3fr); } }
@media (max-width:49.99rem) { .contact-page-grid { margin-top:.75rem; margin-bottom:2.5rem; } }
@media (max-width:39.99rem) { .contact-page-intro { padding-block:1.75rem 1.25rem; }.contact-page-grid { padding:1.1rem; }.contact-page-grid > div:first-child { padding-top:0; }.contact-details { padding:1.2rem; }.contact-form .cf-turnstile { overflow-x:auto; } }

/* Homepage: quieter surfaces and an editorial rhythm around the existing content. */
.home-page { --home-cream:#f7f6f2; --home-line:#d5dedf; }
.home-page .eyebrow { margin-bottom:1rem; color:#245c6f; font-size:.7rem; letter-spacing:.12em; }
.home-page main h2 { max-width:19ch; font-size:clamp(2.25rem,4vw,3.35rem); }
.home-page .text-link { text-decoration:underline; text-decoration-color:#a6bcc4; text-decoration-thickness:1px; text-underline-offset:.32em; }
.home-page .text-link:hover { text-decoration-color:currentColor; text-decoration-thickness:2px; }
.home-page .section { padding-block:clamp(4.5rem,7vw,7rem); }

.home-page .hero-section { background:var(--home-cream); border-bottom:1px solid var(--home-line); }
.home-page .hero-grid { grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr); gap:clamp(2.25rem,5vw,5.5rem); min-height:0; padding-block:clamp(3.5rem,6vw,6.5rem); }
.home-page .hero-copy { max-width:none; }
.home-page h1 { max-width:12ch; margin-bottom:1.6rem; font-size:clamp(3.25rem,5vw,5.25rem); }
.home-page h1 span { display:block; color:var(--navy-950); }
.home-page .hero-lede { max-width:33rem; margin-bottom:2rem; color:#3f5260; font-size:clamp(1.1rem,1.5vw,1.27rem); line-height:1.55; }
.home-page .hero-actions { gap:.75rem 1rem; }
.home-page .hero-actions .button { border-radius:2px; }
.home-page .hero-actions .button-secondary { border-color:#aebec3; background:transparent; }
.home-page .hero-actions .button-secondary:hover { border-color:var(--navy-900); background:#fff; }
.home-page .hero-note { max-width:28rem; margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--home-line); color:#4d606a; font-size:.82rem; }
.home-page .note-dot { flex:none; width:.4rem; height:.4rem; background:var(--blue-dark); }
.home-page .hero-visual { position:relative; overflow:hidden; align-self:center; width:min(100%,25rem); aspect-ratio:4 / 5; min-height:0; justify-self:end; padding:0; border:0; border-radius:0; background:#d9dedb; }
.home-page .hero-image { display:block; width:100%; height:100%; border:0; border-radius:0; object-fit:cover; object-position:50% 23%; box-shadow:none; }
.home-page .visual-caption { display:none; }

.home-page .proof-strip { border-bottom:1px solid var(--home-line); }
.home-page .proof-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-page .proof-item { position:relative; justify-content:flex-start; min-height:5.5rem; padding:1rem 1.25rem; font-size:.84rem; font-weight:700; line-height:1.3; }
.home-page .proof-item:first-child { padding-left:0; }
.home-page .proof-item + .proof-item::before { content:""; position:absolute; left:0; top:35%; bottom:35%; width:1px; background:var(--home-line); }

.home-page .section-services { background:#fff; }
.home-page .section-heading { align-items:end; gap:2rem; margin-bottom:2.5rem; }
.home-page .section-heading>p { max-width:23rem; margin-bottom:.15rem; color:#4c5c65; }
.home-page .service-grid { gap:0 2.75rem; }
.home-page .service-card { position:relative; min-height:0; padding:1.7rem 0 1.85rem 2.5rem; border:0; border-top:1px solid var(--home-line); border-radius:0; box-shadow:none; }
.home-page .service-card:hover { box-shadow:none; }
.home-page .service-card h3 { max-width:none; margin:0 0 .55rem; font-size:1.25rem; }
.home-page .service-card p { max-width:36ch; margin-bottom:.95rem; color:#4b5c66; font-size:.94rem; line-height:1.55; }
.home-page .card-number { top:1.82rem; right:auto; left:0; color:#476f7b; font-size:.72rem; letter-spacing:.03em; }

.home-page .about-section { color:#dbe5e9; background:var(--navy-900); }
.home-page .about-grid { grid-template-columns:minmax(0,.58fr) minmax(0,1.42fr); gap:clamp(3rem,8vw,8rem); align-items:start; }
.home-page .about-marker { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; width:auto; height:auto; min-height:13rem; padding:1.3rem 0 0; border:0; border-top:2px solid #a8c6cf; border-radius:0; color:#fff; background:none; }
.home-page .about-marker small { color:#a8c6cf; font-size:.7rem; line-height:1.7; letter-spacing:.13em; text-align:left; }
.home-page .about-marker span { font:400 clamp(2.4rem,4vw,4rem)/1 Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.home-page .about-section .eyebrow { color:#b4d4dc; }
.home-page .about-section h2 { max-width:17ch; color:#fff; }
.home-page .about-grid p:not(.eyebrow) { max-width:39rem; color:#dbe5e9; font-size:1.05rem; }
.home-page .about-section .text-link { color:#fff; text-decoration-color:#87aab6; }

.home-page .areas-section { background:var(--home-cream); }
.home-page .areas-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,6vw,6rem); align-items:start; }
.home-page .areas-grid p { max-width:29rem; color:#4c5c65; }
.home-page .suburb-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1.5rem; padding:0; border:0; border-radius:0; background:none; }
.home-page .suburb-list a { min-height:3.3rem; align-items:center; gap:.5rem; padding:.5rem 0; border:0; border-top:1px solid var(--home-line); border-radius:0; color:var(--navy-900); font-size:.88rem; font-weight:700; }
.home-page .suburb-list a:hover { color:var(--blue-dark); background:none; }
.home-page .suburb-list span { color:#54727c; }

.home-page .testimonials-section { background:#fff; }
.home-page .section-heading-centered { text-align:left; }
.home-page .testimonial-grid { gap:0 3rem; }
.home-page .testimonial-card { min-height:0; padding:1.3rem 0 1.6rem; border:0; border-top:1px solid var(--home-line); border-radius:0; background:none; }
.home-page .testimonial-card:first-child { display:flex; flex-direction:column; padding:1.7rem 2rem 2rem; border:0; border-left:3px solid var(--blue-dark); background:var(--home-cream); }
.home-page .quote-mark { display:block; height:2.2rem; color:#386a7b; font-size:3.25rem; }
.home-page .testimonial-quote { color:#334957; font-size:1rem; line-height:1.6; }
.home-page .testimonial-card:first-child .testimonial-quote { font:400 clamp(1.3rem,2vw,1.7rem)/1.35 Georgia,"Times New Roman",serif; color:var(--navy-950); }
.home-page .testimonial-author { margin-top:1.4rem; font-size:.86rem; }
.home-page .testimonial-card:first-child .testimonial-author { margin-top:auto; padding-top:1.4rem; }
.home-page .centered { margin:1.5rem 0 0; text-align:left; }

.home-page .contact-banner { background:#15364d; }
.home-page .contact-banner-inner { padding-block:clamp(4rem,6vw,6rem); }
.home-page .contact-banner h2 { max-width:19ch; }
.home-page .contact-banner .eyebrow { color:#b4d4dc; }

@media (min-width:40rem) {
  .home-page .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .testimonial-grid { grid-template-columns:1.2fr .8fr; }
  .home-page .testimonial-card:first-child { grid-row:span 2; }
}
@media (max-width:59.99rem) {
  .home-page .hero-grid { gap:2.5rem; }
  .home-page h1 { font-size:clamp(2.85rem,5.5vw,4rem); }
  .home-page .hero-visual { width:min(100%,23rem); }
  .home-page .about-grid { gap:3rem; }
}
@media (max-width:49.99rem) {
  .home-page .hero-grid,.home-page .about-grid,.home-page .areas-grid { grid-template-columns:1fr; }
  .home-page .hero-grid { padding-block:3.5rem; }
  .home-page .hero-visual { width:min(100%,25rem); max-height:none; margin-inline:auto; }
  .home-page .about-marker { min-height:0; padding-top:1rem; gap:1rem; }
  .home-page .about-marker span { font-size:2.5rem; }
  .home-page .proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .proof-item { min-height:4.2rem; }
  .home-page .proof-item:nth-child(3) { padding-left:0; }
  .home-page .proof-item:nth-child(3)::before { display:none; }
  .home-page .proof-item:nth-child(n+3) { border-top:1px solid var(--home-line); }
}
@media (min-width:45rem) and (max-width:49.99rem) {
  .home-page .hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,.88fr); gap:2rem; }
  .home-page .hero-visual { width:min(100%,22rem); }
}
@media (min-width:40rem) and (max-width:44.99rem) {
  .home-page .hero-visual { width:min(100%,31rem); margin-left:auto; }
}
@media (max-width:39.99rem) {
  .home-page .section { padding-block:4rem; }
  .home-page .hero-grid { padding-block:3rem; }
  .home-page h1 { max-width:11ch; font-size:clamp(2.7rem,12vw,3.7rem); }
  .home-page main h2 { font-size:2.25rem; }
  .home-page .hero-visual { width:100%; height:auto; aspect-ratio:4 / 5; }
  .home-page .hero-actions .button { width:100%; }
  .home-page .hero-note { align-items:flex-start; }
  .home-page .note-dot { margin-top:.4rem; }
  .home-page .service-grid,.home-page .testimonial-grid,.home-page .suburb-list { grid-template-columns:1fr; }
  .home-page .service-card { padding-block:1.45rem; }
  .home-page .testimonial-card:first-child { padding:1.4rem 1.5rem; }
  .home-page .proof-item { padding-inline:.75rem; font-size:.77rem; }
}

/* Shared page rhythm: keep inner pages calm and easy to scan. */
body:not(.home-page) main h1 { max-width:18ch; font-size:clamp(2.4rem,5vw,4rem); letter-spacing:-.03em; }
body:not(.home-page) main h2 { font-size:clamp(1.8rem,3.2vw,2.55rem); letter-spacing:-.028em; }
body:not(.home-page) main .section { padding-block:clamp(3.25rem,5vw,4.5rem); }
body:not(.home-page) main .section-heading { gap:1rem 2.5rem; margin-bottom:1.75rem; }
body:not(.home-page) main .section-heading h2 { max-width:20ch; margin-bottom:0; }
body:not(.home-page) main .section-heading > p { max-width:34rem; }
.services-hero { background:#f4f6f5; }
.services-hero-inner { padding-block:clamp(3rem,5vw,4.25rem); }
.services-hero-inner::after { display:none; }
.services-hero h1 { max-width:17ch; }
.services-hero .lede { max-width:43rem; color:#445965; font-size:clamp(1.05rem,1.6vw,1.18rem); }
.remote-download-hero { border-top:3px solid var(--blue); background:#f4f6f5; }
.remote-download-hero-inner { padding-block:clamp(2rem,4vw,3rem); }
.remote-download-hero h1 { max-width:18ch; white-space:normal; }
body:not(.home-page) main .remote-download-hero h1 { font-size:clamp(1.9rem,3.2vw,2.5rem); }
body:not(.home-page) main .remote-support-panel > h2 { font-size:clamp(1.45rem,3vw,1.8rem); }
.remote-download-section { padding-block:clamp(1.75rem,4vw,3rem) 1rem; }
.remote-support-panel { border:0; border-top:2px solid var(--blue); border-radius:0; background:var(--paper); box-shadow:0 1.25rem 2.5rem rgba(11,31,51,.06); }
.remote-platform-icon { border-radius:50%; }
.remote-fallback-panel { border-left-width:2px; border-radius:0; background:#f4f6f5; }

/* Let service and suburb information breathe without repeating card boxes. */
.service-detail,
.area-support-card,
.area-service-card { padding:1.35rem 0 1.5rem; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
.service-detail::before { display:none; }
.service-detail h3 { margin:0 0 .65rem; }
.service-detail p:last-child,
.area-support-card p:last-of-type,
.area-service-card p:last-of-type { margin-bottom:.85rem; }
.services-section-muted .service-detail,
#microsoft-email .service-detail,
#backup-data .service-detail { background:transparent; }
.areas-directory { background:#f7f8f7; }
.areas-directory .section-heading { margin-bottom:1.5rem; }
.area-grid { gap:0 1.5rem; padding:0; border:0; border-radius:0; background:transparent; }
.area-card { min-width:0; grid-template-columns:auto minmax(0,1fr) auto; min-height:3.5rem; padding:.8rem .25rem; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
.area-card:hover { background:rgba(255,255,255,.72); }
.area-card-marker { width:1.2rem; height:1.2rem; border:0; border-radius:0; color:var(--blue-dark); background:transparent; font-size:1.1rem; }
.area-support-card h3,
.area-service-card h3 { margin:0 0 .65rem; }
.area-customer-note { border:0; border-left:2px solid #b9d1d5; border-radius:0; background:rgba(255,255,255,.5); }
.area-testimonial { border-left-width:2px; background:#f4f6f5; }

/* Contact details sit alongside the form instead of inside a second large panel. */
.contact-page-grid { padding:clamp(1rem,2vw,1.5rem) 0 3.5rem; border:0; border-radius:0; background:transparent; box-shadow:none; }
.contact-page-intro,
.contact-page-grid { width:min(calc(100% - 2rem),var(--max-width)); }
.contact-page-grid > div:first-child { padding:0 clamp(0rem,2vw,1.5rem) 0 0; }
.contact-details { gap:1rem 1.5rem; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.contact-details p { padding-top:.8rem; border-top:1px solid var(--line); }
.contact-details strong { color:var(--blue-dark); }
.contact-form { border-top-width:2px; border-radius:0; background:#f7f8f7; box-shadow:none; }
body:not(.home-page) main .contact-page-grid h2 { font-size:clamp(1.35rem,2vw,1.7rem); }
.confirmation-panel { border-radius:0; }
.page-intro { width:min(calc(100% - 2rem),var(--max-width)); padding-block:clamp(2.5rem,5vw,4rem); border-bottom:1px solid var(--line); }
.page-intro h1 { margin-bottom:.8rem; }
.page-intro .lede { max-width:43rem; margin-bottom:0; color:var(--muted); font-size:1.08rem; }
.page-intro .testimonial-intro-copy { max-width:47rem; margin:.7rem 0 0; color:var(--ink); font-size:1rem; }
.testimonial-list { padding-top:2rem; }

/* Keep the shared header balanced at laptop and tablet widths. */
@media (max-width:63.99rem) {
  .site-brand-logo { width:190px; }
  .nav-toggle { display:block; }
  .site-nav { display:none; position:absolute; top:100%; right:1.5rem; left:1.5rem; flex-direction:column; align-items:stretch; gap:1rem; padding:1rem; border:1px solid var(--line); background:var(--paper); box-shadow:var(--shadow-sm); }
  .site-nav.is-open { display:flex; }
  .nav-links { flex-direction:column; gap:.25rem; }
  .nav-links a { display:block; padding:.65rem .25rem; }
  .nav-cta { width:100%; }
}
@media (min-width:64rem) { .site-brand-logo { width:220px; } }
@media (min-width:50rem) {
  .contact-page-grid { grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr); gap:clamp(2rem,4vw,4rem); }
  .contact-page-grid > div:first-child { border-right:1px solid var(--line); }
}
@media (max-width:49.99rem) {
  .contact-page-grid > div:first-child { padding:0 0 1.5rem; border-right:0; border-bottom:1px solid var(--line); }
}
@media (max-width:39.99rem) {
  body:not(.home-page) main .section { padding-block:3rem; }
  body:not(.home-page) main h1 { font-size:clamp(2.25rem,10vw,3rem); }
  body:not(.home-page) main h2 { font-size:clamp(1.65rem,7vw,2.1rem); }
  body:not(.home-page) main .contact-page-grid h2 { font-size:1.45rem; }
  body:not(.home-page) main .remote-download-hero h1 { font-size:clamp(1.85rem,8vw,2.2rem); }
  .area-grid { grid-template-columns:1fr; }
  .area-card { min-height:3.2rem; }
  .contact-page-grid { padding-top:1.5rem; padding-bottom:2.5rem; }
  .contact-form { padding:1.15rem; }
}

/* Small utility control for long pages. */
.back-to-top[hidden] { display:none; }
.back-to-top { position:fixed; right:calc(.9rem + env(safe-area-inset-right, 0px)); bottom:calc(.9rem + env(safe-area-inset-bottom, 0px)); z-index:4; display:inline-flex; align-items:center; justify-content:center; gap:.45rem; min-height:2.75rem; padding:.55rem .8rem; border:1px solid #31536a; border-radius:var(--radius-sm); color:var(--paper); background:var(--navy-900); box-shadow:var(--shadow-sm); font-size:.82rem; font-weight:750; text-decoration:none; }
.back-to-top:hover { border-color:var(--navy-950); color:var(--paper); background:var(--navy-950); }
.visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.apple-menu-symbol { width:.9em; height:.9em; margin-inline:.08em; vertical-align:-.08em; }
.experience-year { display:inline-block; width:4ch; font-variant-numeric:tabular-nums; white-space:nowrap; }
.home-page .about-marker .experience-year { font:inherit; letter-spacing:inherit; }
@media (max-width:39.99rem) { .back-to-top { min-height:2.65rem; padding:.5rem .7rem; font-size:.78rem; } }
