/* Minimal reset */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { color: var(--wp--preset--color--text); background: var(--wp--preset--color--bg); }

.container {
    /*max-width: 1200px;*/
    margin-inline: auto;
    padding-inline: 24px;
}

/* Typography scale (adjust to match Squarespace exactly) */
/*h1 { font-size: clamp(2rem, 1.4rem + 2vw, 40px); line-height: 1.2; }*/
/*h2 { font-size: clamp(1.5rem, 1.1rem + 1.5vw, 32px); line-height: 1.25; }*/
/*h3 { font-size: clamp(1.25rem, 1rem + 1vw, 24px); line-height: 1.3; }*/

.site-header { border-bottom: 1px solid #eee; }
.site-footer { border-top: 1px solid #eee; padding: 24px 0; color:#666; }

.menu, .menu li { list-style:none; margin:0; padding:0; }
.menu { display:flex; gap: 16px; }

.cards { display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; }
.card img { width:100%; height:auto; display:block; }

@media (max-width: 1024px) {
    .cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    .cards { grid-template-columns: 1fr; }
}


/* ==========================================================
   iwa.css — Squarespace-style Hero (block1-hero) for WordPress
   Overlay uses Squarespace-style CSS variables (black theme → green cast)
   ========================================================== */

/* ---------- Global vars + rendering ---------- */
:root{
    --page-max: 1400px;
    --page-padding: 4vw;

    /* Offsets measured by hero-offsets.js */
    --header-h: 0px;
    --announce-h: 0px;
    --adminbar-h: 0px;

    /* Squarespace "black" theme HSL (deep green) */
    --black-hsl: 111.72, 60%, 28.43%;
}

body.admin-bar { --adminbar-h: 46px; }
@media (min-width:783px){ body.admin-bar { --adminbar-h: 32px; } }

html{ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
body{
    font-family: "Pontano Sans", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
}

html, body { overflow-x: hidden; }

/* ---------- Full-bleed section shell ---------- */
.page-section.full-bleed-section.background-width--full-bleed{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    isolation: isolate;
}

/* ---------- Background & overlay ---------- */
.page-section .section-background{ position:absolute; inset:0; }

/* Squarespace sets this variable on .section-background, by theme */
.page-section[data-section-theme="black"] .section-background{
    --backgroundOverlayColor: hsla(var(--black-hsl), 1);
}

.section-background .section-background-content,
.section-background .section-background-canvas,
.section-background .section-background-overlay{
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
}

.page-section .section-background > img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover; display:block;
}

/* The overlay simply paints the theme-driven color, opacity comes from inline 0.35 */
.section-background-overlay{
    background-color: var(--backgroundOverlayColor, rgba(0,0,0,0.5));
}

/* ---------- Section height scale ---------- */
.page-section.section-height--small{  min-height: clamp(420px, 55vh, 680px); }
.page-section.section-height--medium{ min-height: clamp(520px, 70vh, 820px); }
.page-section.section-height--large{  min-height: clamp(640px, 85vh, 960px); }

/* TRUE full-height for this hero (subtract header/announce/admin bars) */
.page-section[data-section-id="637f436312c18c1db28c73cd"]{
    min-height: calc(100svh - var(--header-h) - var(--announce-h) - var(--adminbar-h));
}
@supports not (height: 1svh){
    .page-section[data-section-id="637f436312c18c1db28c73cd"]{
        min-height: calc(100vh - var(--header-h) - var(--announce-h) - var(--adminbar-h));
    }
}

/* ---------- Content wrapper above the overlay ---------- */
.page-section .content-wrapper{
    position:relative; z-index:2;
    display:grid; place-items:center;
    min-height: inherit;
}
.page-section.content-width--wide .content{
    margin: 0 auto;
}

/* ---------- Section theme: black (white overlay text) ---------- */
.page-section.black .content,
.page-section[data-section-theme="black"] .content{ color:#fff; }
.page-section.black h1, .page-section.black h2, .page-section.black h3, .page-section.black h4,
.page-section[data-section-theme="black"] h1,
.page-section[data-section-theme="black"] h2,
.page-section[data-section-theme="black"] h3,
.page-section[data-section-theme="black"] h4{ color:#fff; }

/* Force headings to proper family/weight */
.page-section[data-section-id="637f436312c18c1db28c73cd"] h1,
.page-section[data-section-id="637f436312c18c1db28c73cd"] h2,
.page-section[data-section-id="637f436312c18c1db28c73cd"] h3,
.page-section[data-section-id="637f436312c18c1db28c73cd"] h4{
    font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* ---------- Fluid Engine grid ---------- */
.fluid-engine.fe-hero{
    position:relative; display:grid; grid-area:1/1/-1/-1;
    grid-template-rows: repeat(24, minmax(24px, auto));
    /*grid-template-columns: minmax(var(--sqs-mobile-site-gutter,6vw),1fr)*/
    /*                     repeat(8, minmax(0, 1fr))*/
    /*                     minmax(var(--sqs-mobile-site-gutter,6vw),1fr);*/
    row-gap: 14px; column-gap: 11px;
}
@media (min-width:768px){
    .fluid-engine.fe-hero{
        --sqs-site-gutter: var(--page-padding);
        --container-width: min(var(--page-max), calc(100vw - var(--sqs-site-gutter)*2));
        --row-height-scaling-factor: 0.0215;
        grid-template-rows: repeat(19, minmax(calc(var(--container-width) * var(--row-height-scaling-factor)), auto));
        grid-template-columns: minmax(var(--sqs-site-gutter),1fr)
                           repeat(24, minmax(0, 1fr))
                           minmax(var(--sqs-site-gutter),1fr);
    }
}

/* Block placements */
.fe-hero .fe-block--a{ grid-area: 1 / 2 / 18 / 10; z-index:0; }
@media (min-width:768px){
    .fe-hero .fe-block--a{ grid-area: 5 / 2 / 13 / 22; z-index:0; }
}
.fe-hero .fe-block--b{ grid-area: 18 / 2 / 25 / 10; z-index:1; }
@media (min-width:768px){
    .fe-hero .fe-block--b{ grid-area: 12 / 14 / 19 / 26; z-index:1; } /* lifted slightly */
}

/* ---------- Hero typography ---------- */
.page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h1{
    font-size: clamp(34px, 5.0vw, 92px);
    line-height: 1.28;
    margin: 0 0 .3em;
    max-width: 100%;
    font-weight: 600; /* closer to SS hero */
}
.page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h2{
    font-size: clamp(27px, 5vw, 76px);
    line-height: 1.07;
    margin: .1em 0 .25em;
    font-weight: 500;
}
.page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h4{
    font-weight: 400;
    /*font-size: clamp(16px, 1.6vw, 24px);*/
    line-height: 1.5;
    margin: .25em 0 0;
    max-width: 700px;
    font-size: 27px;
}

/* Left/upper block width; Right/lower block alignment */
.page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-block--a .sqs-html-content{ text-align:left;  }
.page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-block--b .sqs-html-content{ text-align:right; }

/* Underline highlight polyfill */
.page-section[data-section-id="637f436312c18c1db28c73cd"] .sqsrte-text-highlight{
    position:relative; display:inline-block;
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat:no-repeat; background-position: 0 100%;
    background-size: 100% 0.1em;
}

/* ---------- Mobile refinements ---------- */
@media (max-width: 767px){
    .page-section .content{ padding-inline: max(4vw, 16px); }
    .fe-hero .fe-block--a { grid-area: 3 / 2 / 17 / 10; }
    .fe-hero .fe-block--b { grid-area: 17 / 2 / 24 / 10; }
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-block--a .sqs-html-content,
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-block--b .sqs-html-content{
        text-align: center; margin-inline: auto;
    }
}

/* set a reusable green (same “black” theme cast) */
:root {
    --underline-green: hsla(111.72, 60%, 28.43%, 1); /* from --black-hsl */
}

/* underline for the highlighted word */
.page-section[data-section-id="637f436312c18c1db28c73cd"] .sqsrte-text-highlight{
    position: relative;
    display: inline-block;

    /* explicit green underline via background gradient */
    background-image: linear-gradient(var(--underline-green), var(--underline-green));
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% 0.12em;   /* thickness of the underline */
    padding-bottom: 0.08em;         /* tiny breathing room above the line */
    box-decoration-break: clone;    /* safe if the span ever wraps */
}


/* Features block grid */
.fluid-engine.fe-features {
    display: grid;
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .fluid-engine.fe-features {
        grid-template-columns: repeat(3, 1fr);
    }
    .fe-features .fe-block--headline {
        grid-column: 1 / -1;
        text-align: center;
    }
}

/* Headline styling */
.fe-features .fe-block--headline h1 {
    font-size: 4.5rem;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 auto;
    padding-top: 3.3vmax;
    padding-bottom: 1.3vmax;
    text-align: left;
}

/* Sub-feature styling */
.fe-features .fe-block--feature h4 {
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 0.5em;
    font-family: 'Poppins';
}
.fe-features .fe-block--feature p {
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 1em;
}
.fe-features .fe-block--feature {
    margin-right: 2vw;
}

:root {
    --scribble-green: hsla(111.72, 60%, 28.43%, 1); /* from your --darkAccent-hsl */
}

.scribble-wrap {
    position: relative;
    display: inline-block;
}

.scribble-text {
    position: relative;
    z-index: 1;
}

/* position the SVG behind the word */
.scribble-svg {
    position: absolute;
    bottom: -0.15em;   /* adjust so it hugs baseline */
    left: 0;
    width: 100%;
    height: 0.8em;     /* scales the arc “height” */
    z-index: 0;
    overflow: visible;
}

/* style the path like SS */
.scribble-svg path {
    fill: none;
    stroke: var(--scribble-green);
    stroke-width: 0.1em;         /* SS: --stroke-width */
    stroke-linecap: square;
    stroke-linejoin: bevel;
    vector-effect: non-scaling-stroke;
}

/* Fallbacks for SS variables (safe if already defined globally) */
:root{
    --sqs-site-max-width: 1500px;
    --sqs-site-gutter: 4vw;
}

/* Shared utility */
.press-link{ display:inline-flex; width:100%; height:100%; align-items:center; justify-content:center; }
.press-logo{ max-width:100%; max-height:100%; object-fit:contain; display:block; }

/* Block wrapper grid (mobile: 8 cols, desktop: 24 cols) */
.fe-638ff5316ff11f6a4185e97b{
    --grid-gutter: calc(var(--sqs-mobile-site-gutter, 6vw) - 11px);
    --cell-max-width: calc((var(--sqs-site-max-width, 1500px) - (11px * (8 - 1))) / 8);
    display:grid; position:relative; grid-area:1/1/-1/-1;
    grid-template-rows: repeat(11, minmax(24px, auto));
    grid-template-columns:
    minmax(var(--grid-gutter), 1fr)
    repeat(8, minmax(0, var(--cell-max-width)))
    minmax(var(--grid-gutter), 1fr);
    row-gap:11px; column-gap:11px;
}

/* Desktop: match the SS layout maths */
@media (min-width:768px){
    .fe-638ff5316ff11f6a4185e97b{
        --grid-gutter: calc(var(--sqs-site-gutter, 4vw) - 11px);
        --cell-max-width: calc((var(--sqs-site-max-width, 1500px) - (11px * (24 - 1))) / 24);
        --row-height-scaling-factor: 0.0215;
        --container-width: min(var(--sqs-site-max-width, 1500px), calc(100vw - var(--sqs-site-gutter, 4vw) * 2 - var(--inset-padding)));
        grid-template-rows: repeat(14, minmax(calc(var(--container-width) * var(--row-height-scaling-factor)), auto));
        grid-template-columns:
      minmax(var(--grid-gutter), 1fr)
      repeat(24, minmax(0, var(--cell-max-width)))
      minmax(var(--grid-gutter), 1fr);
    }
}

/* ---------- Block placements (mirrors the SS grid-areas) ---------- */

/* Heading */
.fe-block-2d4c01f5b5190326f332{ grid-area: 1 / 2 / 3 / 10; z-index:2; }
@media (min-width:768px){
    .fe-block-2d4c01f5b5190326f332{
        grid-area: 1 / 6 / 4 / 22; z-index:5;
        display:flex; align-items:center; justify-content:center;
    }
}

/* AFR */
.fe-block-2ecc2bf1ed79cb035e17{ grid-area: 3 / 4 / 6 / 8; z-index:9; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-2ecc2bf1ed79cb035e17{ grid-area: 4 / 12 / 9 / 16; z-index:3; }
}

/* SMH */
.fe-block-yui_3_17_2_1_1740538388578_95817{ grid-area:3 / 1 / 6 / 4; z-index:7; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-yui_3_17_2_1_1740538388578_95817{ grid-area:4 / 17 / 9 / 21; z-index:7; }
}

/* Equity Mates */
.fe-block-yui_3_17_2_1_1740538388578_100789{ grid-area:3 / 8 / 6 / 11; z-index:8; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-yui_3_17_2_1_1740538388578_100789{ grid-area:4 / 22 / 9 / 26; z-index:8; }
}

/* ABC */
.fe-block-8ec022028832ee82a708{ grid-area:6 / 4 / 9 / 8; z-index:6; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-8ec022028832ee82a708{ grid-area:4 / 7 / 9 / 11; z-index:1; }
}

/* news.com.au */
.fe-block-yui_3_17_2_1_1751423775068_2825{ grid-area:6 / 1 / 9 / 4; z-index:10; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-yui_3_17_2_1_1751423775068_2825{ grid-area:4 / 2 / 9 / 6; z-index:9; }
}

/* SBS */
.fe-block-yui_3_17_2_1_1751423775068_3268{ grid-area:6 / 8 / 9 / 11; z-index:11; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-yui_3_17_2_1_1751423775068_3268{ grid-area:9 / 7 / 14 / 11; z-index:10; }
}

/* Fear & Greed */
.fe-block-yui_3_17_2_1_1740538388578_90843{ grid-area:9 / 8 / 12 / 11; z-index:5; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-yui_3_17_2_1_1740538388578_90843{ grid-area:9 / 12 / 14 / 16; z-index:6; }
}

/* Canstar */
.fe-block-866230f4a61957cb7d93{ grid-area:9 / 1 / 12 / 4; z-index:1; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-866230f4a61957cb7d93{ grid-area:9 / 2 / 14 / 6; z-index:4; }
}

/* ASA */
.fe-block-623fa5e10a00eeea851e{ grid-area:9 / 4 / 12 / 6; z-index:4; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-623fa5e10a00eeea851e{ grid-area:9 / 22 / 14 / 26; z-index:5; }
}

/* Choice */
.fe-block-5b9cb998d117015850ff{ grid-area:9 / 6 / 12 / 8; z-index:3; display:flex; align-items:center; justify-content:center; }
@media (min-width:768px){
    .fe-block-5b9cb998d117015850ff{ grid-area:9 / 17 / 14 / 21; z-index:5; }
}

/* Height hints so logos don’t jump; tweak to taste (they just cap height, width auto) */
.fe-block-2ecc2bf1ed79cb035e17 .press-logo{ max-height:125px; }
.fe-block-yui_3_17_2_1_1740538388578_95817 .press-logo{ max-height:125px; }
.fe-block-yui_3_17_2_1_1740538388578_100789 .press-logo{ max-height:124px; }
.fe-block-8ec022028832ee82a708 .press-logo{ max-height:160px; }
.fe-block-yui_3_17_2_1_1751423775068_2825 .press-logo{ max-height:90px; }
.fe-block-yui_3_17_2_1_1751423775068_3268 .press-logo{ max-height:110px; }
.fe-block-yui_3_17_2_1_1740538388578_90843 .press-logo{ max-height:165px; }
.fe-block-866230f4a61957cb7d93 .press-logo{ max-height:160px; }
.fe-block-623fa5e10a00eeea851e .press-logo{ max-height:160px; }
.fe-block-5b9cb998d117015850ff .press-logo{ max-height:80px; }

/* Optional: section padding similar to SS defaults */
/*.page-section[data-section-id="638ff5316ff11f6a4185e97c"] .content{*/
/*    padding: clamp(24px, 5vw, 64px) 0;*/
/*}*/

.fe-638ff5316ff11f6a4185e97b {
    font-size: 40pt;
    /*font-family: "Poppins", sans-serif;*/
    font-family: "Poppins";
}


/* Fallback for accent color if CSS var isn't set */
:root {
    --darkAccent-hsl: 111.72, 60%, 28.43%;
}

/* Make sure the span is the positioning context */
.reviews-heading .sqsrte-text-highlight {
    position: relative;
    display: inline-block;
}

/* Ensure the SVG actually has size and is visible */
.reviews-heading .sqsrte-text-highlight .underline-curve {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.12em;   /* tweak to sit snug under the baseline */
    height: 0.9em;     /* gives the curve vertical room */
    width: 100%;
    display: block;
    pointer-events: none;
    overflow: visible;
}

/* Stroke styling to match Squarespace */
.reviews-heading .sqsrte-text-highlight .underline-curve path {
    stroke: hsla(var(--darkAccent-hsl), 1);
    stroke-width: 0.1em;
    stroke-linecap: square;
    stroke-linejoin: bevel;
    fill: none;
    vector-effect: non-scaling-stroke;
}

/* If your section or heading has overflow hidden, remove it or allow the SVG through */
.reviews-heading,
.reviews-heading .sqsrte-text-highlight {
    overflow: visible;
    font-size: 59pt;
    font-weight: 800;
}


:root {
    /* already in your theme, but restating for clarity */
    --accent-hsl: 111.72, 60%, 28.43%;
}

/* The word being underlined */
.u-curve-target {
    position: relative;
    display: inline-block;
    line-height: 1;
}

/* Typography + spacing harmony with your existing port */
.page-section.white { --text-color: var(--bodyText, #0a0a0a); color: var(--text-color); }
.sqsrte-large { font-size: clamp(18px, 1.6vw, 22px); line-height: 1.55; }

/* UnderlineCurve utility (matches earlier underline logic, accent color) */
:root {
    --darkAccent-hsl: 111.72, 60%, 28.43%; /* your green hue */
    --accent-hsl: var(--darkAccent-hsl);
}
/*.underline-curve {*/
/*    position: relative; display: inline-block;*/
/*    width: 161px; height: 96px; left: .2em; top: .05em; !* gentle align *!*/
/*    pointer-events: none;*/
/*}*/
/*.underline-curve svg { width: 100%; height: 100%; }*/
/*.underline-curve path {*/
/*    stroke: hsla(var(--accent-hsl), 1); stroke-width: 0.1em; fill: none;*/
/*    stroke-linecap: square; stroke-linejoin: bevel;*/
/*}*/

/* Form skin to mimic Squarespace look */
.iwa-form .field-list { display: grid; gap: 18px; }
.iwa-form .form-item .title { font-weight: 600; margin-bottom: 8px; display: inline-block; }
.iwa-form .required { color: currentColor; opacity: .6; margin-left: .25em; }

.iwa-form .field-element,
.iwa-form textarea.field-element {
    width: 100%; background: #fff; color: var(--text-color);
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 6px; padding: 12px 14px; line-height: 1.3;
}
.iwa-form textarea.field-element { min-height: 120px; resize: vertical; }

.iwa-form .fields.name { display: grid; grid-template-columns: 1fr; gap: 14px; }
.iwa-form .fields.phone { display: grid; grid-template-columns: repeat(3, minmax(0,140px)); gap: 10px; align-items: end; }
.iwa-form .fields .caption { display: grid; gap: 6px; }
.iwa-form .fields .caption-text { font-size: 12px; opacity: .7; }

@media (min-width: 640px){
    .iwa-form .fields.name { grid-template-columns: repeat(2, 1fr); }
}

.iwa-form .button { cursor: pointer; border: none; border-radius: 999px; padding: 12px 22px; }
.iwa-form .sqs-button-element--primary {
    background: hsla(var(--accent-hsl), 1); color: #fff;
}
.iwa-form .sqs-button-element--primary:hover { filter: brightness(.95); }

/* success state */
.iwa-hidden { display: none !important; }
.form-success { background: #eef8f0; border: 1px solid #d5efda; color: #0f5e1f; padding: 14px 16px; border-radius: 8px; margin-top: 16px; }

/* Keep overall section breathing like SS */
.page-section.white .content-wrapper { /* padding: clamp(32px, 6vw, 80px) 0; */ }

/* Optional: match your global form focus ring */
.iwa-form .field-element:focus,
.iwa-form textarea.field-element:focus {
    outline: 2px solid hsla(var(--accent-hsl), .35);
    border-color: hsla(var(--accent-hsl), .65);
}

/* Scope JUST to the "Detailed Contact Form" section */
.page-section[data-section-id="689590108e8491663afde815"] .ucurve-you {
    position: relative;
    display: inline-block;
    line-height: 1;
}

/* Position the inline SVG as the underline */
.page-section[data-section-id="689590108e8491663afde815"] .ucurve-you > svg {
    position: absolute;
    left: 0;
    bottom: -0.18em;   /* nudge underline below baseline */
    width: 140px;      /* SS width */
    height: 96px;      /* SS height */
    pointer-events: none;
    display: block;
}

/* Stroke styling to match Squarespace */
.page-section[data-section-id="689590108e8491663afde815"] .ucurve-you path {
    fill: none;
    stroke: hsla(var(--accent-hsl, 111.72, 60%, 28.43%), 1);
    stroke-width: 0.1em;
    stroke-linecap: square;
    stroke-linejoin: bevel;
    vector-effect: non-scaling-stroke;
}

/* Kill any SS straight-line highlight for this word */
.page-section[data-section-id="689590108e8491663afde815"]
.sqsrte-text-highlight[data-text-attribute-id="32e2f13b-4f30-45f8-9725-c8c2d4ed0313"] {
    background-image: none !important;
}

.page-section[data-section-id="689590108e8491663afde815"] .sqs-block-content > h1 {
    font-size: 49pt;
}

.content-form {
    ol > li {
        font-size: 17pt;
    }
}

/* Scoped only to this CTA section */
.page-section[data-section-id="686377e214187d2022245463"]
.sqs-block-button-element--primary {
    display: inline-block;
    padding: 14px 28px;
    background: hsla(var(--accent-hsl, var(--darkAccent-hsl, 111.72,60%,28.43%)), 1);
    color: #fff;
    font-weight: 600;
    font-size: 1rem;
    border-radius: 999px;
    text-decoration: none;
    text-align: center;
    transition: all 0.2s ease;
}

.page-section[data-section-id="686377e214187d2022245463"]
.sqs-block-button-element--primary:hover {
    filter: brightness(0.95);
    transform: translateY(-2px);
}

/* Hide “Skip to content” only on the homepage */
.screen-reader-text {
    display: none !important;
}

/* Make the entire 404 page white */
body.page-plain,
.page-plain #siteWrapper,
.page-plain .container,
.page-plain .sections,
.page-plain .section-404 {
    background: #fff !important;
}

/* Space below the fixed header so content never sits under it */
/*.page-plain main#page {*/
/*    padding-top: clamp(96px, 9vh, 128px);*/
/*}*/

/* Ensure nav text is dark on light background (belt-and-braces) */
.nav-on-light .sqs-header__bar{
    background: var(--solidHeaderBackgroundColor, #fff);
    color: var(--solidHeaderNavigationColor, #000);
    box-shadow: 0 8px 30px rgba(0,0,0,.06);
}
.nav-on-light .sqs-burger{ border-color:#ddd; }

/* Optional: hide the black announcement bar on the 404 if present */
.page-plain .sqs-announcement { display: none; }

/* =========================
   MOBILE FIX PACK (<= 767px)
   ========================= */
@media (max-width: 767px){

    /* Tighter side padding for all page sections on phones */
    .page-section .content{
        padding-inline: clamp(16px, 5vw, 22px) !important;
    }

    /* Hero (block1-hero) — scale headings down, improve line-length */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h1{
        font-size: clamp(26px, 7.2vw, 42px) !important;
        line-height: 1.15 !important;
        max-width: 18ch !important;   /* keeps lines from feeling too long */
        margin-left: auto; margin-right: auto;
        text-wrap: balance;
    }
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h2{
        font-size: clamp(20px, 10vw, 55px) !important;
        line-height: 1.08 !important;
        max-width: 18ch !important;
        margin-left: auto; margin-right: auto;
        text-wrap: balance;
    }
    /* This was hard-coded to 27px earlier — let it scale */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h4{
        font-size: clamp(15px, 4.2vw, 18px) !important;
        line-height: 1.45 !important;
        max-width: 38ch !important;
        margin-left: auto; margin-right: auto;
        text-wrap: pretty;
    }

    /* Stack hero blocks and center-align on phones */
    .fe-hero .fe-block--a { grid-area: 3 / 2 / 17 / 10 !important; }
    .fe-hero .fe-block--b { grid-area: 17 / 2 / 24 / 10 !important; }
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-block--a .sqs-html-content,
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-block--b .sqs-html-content{
        text-align: center !important;
    }

    /* Keep hero focal point nicer on tall phones */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .section-background > img{
        object-position: center 40% !important;
    }

    /* Kill the "Open Menu" label next to the burger on mobile */
    .sqs-mobile-nav-toggle .label,
    .sqs-header__nav-toggle .label { display: none !important; }

    /* Press / logos section used a fixed 40pt base — make it fluid */
    .fe-638ff5316ff11f6a4185e97b{
        font-size: clamp(16px, 4.8vw, 22px) !important;
    }

    /* Reviews big heading was 59pt — clamp it */
    .reviews-heading,
    .reviews-heading .sqsrte-text-highlight{
        font-size: clamp(22px, 8vw, 36px) !important;
    }

    /* General paragraph sizing on phones for comfort */
    .page-section.white .content p,
    .sqs-html-content p{
        font-size: clamp(15px, 3.9vw, 17px);
        line-height: 1.55;
    }
}

/* Slightly reduce giant text on small tablets too (<= 960px) */
@media (max-width: 960px){
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h1{
        font-size: clamp(28px, 5.6vw, 56px);
    }
}

/* Optional: ensure hero still clears fixed header/announcement bars */
:root{ --header-h: 0px; --announce-h: 0px; }
.page-section[data-section-id="637f436312c18c1db28c73cd"]{
    min-height: calc(100svh - var(--header-h) - var(--announce-h) - var(--adminbar-h));
}

/* === HERO: mobile parity with Squarespace (no gutters, left-aligned, tuned sizes) === */

.visually-hidden {
    display:none;
}

@media (max-width: 767px){

    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h1,
    #sections .page-section:first-of-type .sqs-html-content h1{
        font-size: clamp(48px, 18vw, 45px) !important;
        line-height: 1.06 !important;
        letter-spacing: -0.01em !important;
        font-weight: 500 !important;
        max-width: none !important;
        margin-bottom:30px;
    }

    /* target your hero section only */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .content{
        width: 100% !important;
        margin: 0 !important;
        padding-inline: 0 !important;   /* remove mobile gutters */
    }

    /* remove Fluid Engine side gutters for this hero */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fluid-engine.fe-hero{
        --sqs-mobile-site-gutter: 0;
        column-gap: 0;
    }

    /* make both blocks span full width and keep order */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-hero .fe-block--a{ grid-area: 4 / 2 / 16 / 10; }
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-hero .fe-block--b{ grid-area: 16 / 2 / 24 / 10; }

    /* left-align text (Squarespace look) */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .fe-hero .sqs-html-content{
        text-align: left !important;
    }

    /* headline sizing tuned for mobile */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h1{
        font-size: clamp(34px, 9.6vw, 64px);  /* adjust 9.6vw up/down if you want bigger/smaller */
        line-height: 1.06;
        letter-spacing: -0.01em;
        margin: 0 0 .2em;
        font-weight: 700;
    }

    /* subcopy sizing */
    .page-section[data-section-id="637f436312c18c1db28c73cd"] .sqs-html-content h4{
        font-size: clamp(16px, 4.2vw, 22px);
        line-height: 1.4;
        max-width: 36ch;
    }
}


body.page-template-default #page .section-page > .page-header{
    /* a11y-friendly hide (keeps aria-labelledby working) */
    position:absolute !important;
    width:1px; height:1px; margin:-1px; padding:0;
    overflow:hidden; white-space:nowrap;
    clip:rect(0 0 0 0); clip-path:inset(50%);
    border:0;
}

/* vars for offsets */
:root { --announce-h: 0px; --adminbar-h: 0px; }
body.admin-bar { --adminbar-h: 32px; }
@media (max-width: 782px){ body.admin-bar { --adminbar-h: 46px; } }

/* move the fixed header below the announcement + admin bars */
.sqs-header{
    position: fixed;
    left: 0;
    right: 0;
    top: calc(var(--announce-h, 0px) + var(--adminbar-h, 0px)) !important;
    z-index: 1000;
}

/* optional: remove the old admin-bar-only offset */
.admin-bar .sqs-header{ top: calc(var(--announce-h, 0px) + var(--adminbar-h, 0px)) !important; }



/* ===== Gravity Forms — underline style (scoped) ===== */
.iwa-gf .gform_wrapper.gravity-theme{
    --gf-ctrl-bg: transparent;
}
.iwa-gf .gform_wrapper.gravity-theme .gfield_label,
.iwa-gf .gform_wrapper.gravity-theme legend.gfield_label{
    display:block; font-weight:600; font-size:20px; margin:0 0 6px; color:#1b1b1b;
}
.iwa-gf .gform_wrapper.gravity-theme .gform-field-label--type-sub{
    display:block; font-size:12px; line-height:1.4; color:#6b7a76; margin-top:6px;
}
.iwa-gf .gform_wrapper.gravity-theme .gfield{ margin:22px 0; }

.iwa-gf .gform_wrapper.gravity-theme input[type="text"],
.iwa-gf .gform_wrapper.gravity-theme input[type="email"],
.iwa-gf .gform_wrapper.gravity-theme input[type="tel"],
.iwa-gf .gform_wrapper.gravity-theme textarea,
.iwa-gf .gform_wrapper.gravity-theme select{
    width:100%; appearance:none;
    background:transparent !important;
    border:0 !important; border-radius:0 !important;
    box-shadow:none !important;
    padding:12px 0 10px !important;
    color:#1b1b1b;
    border-bottom:1.5px solid #0a8f00 !important;
}
.iwa-gf .gform_wrapper.gravity-theme textarea{ min-height:140px; resize:vertical; }
.iwa-gf .gform_wrapper.gravity-theme input:focus,
.iwa-gf .gform_wrapper.gravity-theme textarea:focus,
.iwa-gf .gform_wrapper.gravity-theme select:focus{
    border-bottom-color:#15a48c !important;
    border-bottom-width:2px !important;
    outline:none; box-shadow:none !important;
}
.iwa-gf .gform_wrapper.gravity-theme .gfield.gfield_error input,
.iwa-gf .gform_wrapper.gravity-theme .gfield.gfield_error textarea,
.iwa-gf .gform_wrapper.gravity-theme .gfield.gfield_error select{
    border-bottom-color:#d22 !important;
}
.iwa-gf .gform_wrapper.gravity-theme ::placeholder{ color:transparent; }

.iwa-gf .gform_wrapper.gravity-theme .gform_footer .gform_button,
.iwa-gf .gform_wrapper.gravity-theme .gform_page_footer .gform_button{
    padding:20px 50px; background:#0a8f00; color:#fff; border:0; border-radius:0 !important;
    text-transform:uppercase; letter-spacing:.08em; font-weight:600; cursor:pointer;
    transition: background .15s ease, transform .02s ease;
}
.iwa-gf .gform_wrapper.gravity-theme .gform_footer .gform_button:hover{ filter:brightness(.95); }
.iwa-gf .gform_wrapper.gravity-theme .gform_footer .gform_button:active{ transform:translateY(1px); }

.iwa-gf .gform_wrapper.gravity-theme .gform_confirmation_message{
    margin-top:1rem; background:#ecf8f4; border-left:3px solid #15a48c;
    padding:.75rem 1rem; border-radius:6px; color:#1b1b1b;
}

/* Optional: compact spacing on small screens */
@media (max-width:680px){
    .iwa-bc__inner{ padding-top: clamp(24px, 6vw, 48px); }
}



/* IWA × Gravity Forms — Orbital theme underline styling */
.iwa-gf .gform_wrapper.gform-theme{
    --iwa-accent: #15a48c;     /* brand green */
    --iwa-text:   #1b1b1b;
    --iwa-muted:  #6b7a76;
    --iwa-underline: #97c09a;  /* light green line */
}

/* Layout rhythm */
.iwa-gf .gform_wrapper.gform-theme .gform_fields{
    row-gap: 28px;
    column-gap: 24px;
}
.iwa-gf .gform_wrapper.gform-theme .gfield{ margin: 14px 0 8px; }

/* Labels + (required) */
.iwa-gf .gform_wrapper.gform-theme .gfield_label,
.iwa-gf .gform_wrapper.gform-theme legend.gfield_label{
    display:block; margin:0 0 6px;
    font-weight:600; font-size:20px; line-height:1.3; color:var(--iwa-text);
}
.iwa-gf .gform_wrapper.gform-theme .gfield_required,
.iwa-gf .gform_wrapper.gform-theme .gfield_required .gfield_required_text{
    font-weight:500; font-size:13px; text-transform:lowercase;
    color:var(--iwa-muted); margin-left:.35rem;
}

/* Sub-labels (First/Last, etc.) */
.iwa-gf .gform_wrapper.gform-theme .gform-field-label--type-sub{
    display:block; margin-top:6px; font-size:12px; color:var(--iwa-muted);
}

/* Underline inputs (override Orbital’s boxed controls) */
.iwa-gf .gform_wrapper.gform-theme input[type="text"],
.iwa-gf .gform_wrapper.gform-theme input[type="email"],
.iwa-gf .gform_wrapper.gform-theme input[type="tel"],
.iwa-gf .gform_wrapper.gform-theme input[type="number"],
.iwa-gf .gform_wrapper.gform-theme textarea,
.iwa-gf .gform_wrapper.gform-theme select{
    width:100%;
    -webkit-appearance:none; appearance:none;
    background:transparent !important;
    border:0 !important; border-radius:0 !important;
    box-shadow:none !important;
    padding:12px 0 10px !important;
    color:var(--iwa-text);
    border-bottom:1.5px solid var(--iwa-underline) !important;
}
.iwa-gf .gform_wrapper.gform-theme textarea{ min-height:140px; resize:vertical; }

/* Focus state */
.iwa-gf .gform_wrapper.gform-theme input:focus,
.iwa-gf .gform_wrapper.gform-theme textarea:focus,
.iwa-gf .gform_wrapper.gform-theme select:focus{
    outline:0; box-shadow:none !important;
    border-bottom-color:var(--iwa-accent) !important;
    border-bottom-width:2px !important;
}

/* Autofill (keep transparent look) */
.iwa-gf .gform_wrapper.gform-theme input:-webkit-autofill{
    -webkit-text-fill-color:var(--iwa-text);
    -webkit-box-shadow:0 0 0 1000px transparent inset;
    transition:background-color 9999s ease-out 0s;
}

/* Errors — keep underline, turn it red */
.iwa-gf .gform_wrapper.gform-theme .gfield.gfield_error input,
.iwa-gf .gform_wrapper.gform-theme .gfield.gfield_error textarea,
.iwa-gf .gform_wrapper.gform-theme .gfield.gfield_error select{
    border-bottom-color:#d22 !important;
}
.iwa-gf .gform_wrapper.gform-theme .gfield_validation_message,
.iwa-gf .gform_wrapper.gform-theme .validation_message{
    background:transparent; border:0; padding:.25rem 0 0;
    color:#b31a1a; font-size:.92rem;
}

/* Name field – tidy two-column on ≥768px (Orbital already grids; we just keep it neat) */
@media (min-width:768px){
    .iwa-gf .gform_wrapper.gform-theme .gfield--type-name .ginput_complex{
        display:grid; grid-template-columns:1fr 1fr; column-gap:24px;
    }
}

/* If you keep 3 phone parts, you can add these optional field classes in GF:
   iwa-phone-area / iwa-phone-prefix / iwa-phone-line  */
@media (min-width:768px){
    .iwa-gf .gform_wrapper.gform-theme .gfield.iwa-phone-area  input{ width:95px; }
    .iwa-gf .gform_wrapper.gform-theme .gfield.iwa-phone-prefix input{ width:95px; }
    .iwa-gf .gform_wrapper.gform-theme .gfield.iwa-phone-line  input{ width:130px; }
}

/* Hide placeholders like SS */
.iwa-gf .gform_wrapper.gform-theme ::placeholder{ color:transparent; }

/* Submit button */
.iwa-gf .gform_wrapper.gform-theme .gform_footer .gform_button,
.iwa-gf .gform_wrapper.gform-theme .gform_page_footer .gform_button{
    padding:18px 42px; background:#0a8f00; color:#fff; border:0; border-radius:0 !important;
    font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
    transition:filter .15s ease, transform .02s ease;
}
.iwa-gf .gform_wrapper.gform-theme .gform_footer .gform_button:hover{ filter:brightness(.95); }
.iwa-gf .gform_wrapper.gform-theme .gform_footer .gform_button:active{ transform:translateY(1px); }

/* Confirmation */
.iwa-gf .gform_wrapper.gform-theme .gform_confirmation_message{
    margin-top:1rem; background:#ecf8f4; border-left:3px solid var(--iwa-accent);
    padding:.75rem 1rem; border-radius:6px; color:var(--iwa-text);
}

.iwa-gf {
    margin-bottom: 80px;
}

/* IWA — make GF submit button green (Orbital/Foundation theme) */
.iwa-form .gform_wrapper.gform-theme{
    /* flip the theme's primary color to brand green */
    --gf-color-primary: #0a8f00 !important;
    --gf-color-primary-darker: #097a00 !important;
    --gf-color-primary-lighter: #11a800 !important;

    /* some components also read this var */
    --gf-color-in-ctrl-primary: #0a8f00 !important;
}

/* Button styling (works regardless of theme vars) */
.iwa-form .gform_wrapper.gform-theme .gform_footer .gform_button,
.iwa-form .gform_wrapper.gform-theme .gform_page_footer .gform_button{
    background:#0a8f00 !important;
    color:#fff !important;
    border:0 !important;
    border-radius:0 !important;
    padding:20px 50px !important;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:600;
    cursor:pointer;
    transition:filter .15s ease, transform .02s ease;
}
.iwa-form .gform_wrapper.gform-theme .gform_footer .gform_button:hover,
.iwa-form .gform_wrapper.gform-theme .gform_page_footer .gform_button:hover{
    filter:brightness(.95);
}
.iwa-form .gform_wrapper.gform-theme .gform_footer .gform_button:active,
.iwa-form .gform_wrapper.gform-theme .gform_page_footer .gform_button:active{
    transform:translateY(1px);
}

/* Typographic scale (scoped to the hero) */
.iwa-hero-page .iwa-bm__title{
    margin:0 0 .35em;
    font:800 clamp(36px, 6vw, 84px)/1.06 'Poppins', system-ui, sans-serif;
    letter-spacing:-0.01em;
    color: #fff;
}
.iwa-hero-page .iwa-bm__kicker{
    margin:0 auto; max-width:38ch;
    font:600 clamp(16px, 2.2vw, 28px)/1.35 'Poppins', system-ui, sans-serif;
    text-wrap:balance;
    color: #fff;
}

/* ===== Unified page hero (works for Blog, FAQ, Book a Meeting, etc.) ===== */
.iwa-hero-page{
    width:100vw;
    max-width:100vw;
    margin-inline: calc(50% - 50vw);     /* true full-bleed */
    min-height: clamp(520px, 72vh, 860px);
    display:grid;
    place-items:center;                   /* centre inner */
    position:relative;
    z-index:1;
    color:#fff;
    isolation:isolate;
    margin-bottom: clamp(28px, 4vw, 64px);
}

/* Background + overlay: accept either var name */
.iwa-hero-page__inner__bg{
    position:absolute; inset:0;
    background: center / cover no-repeat
    var(--iwa-bm-hero, var(--iwa-bg-img, var(--faq-hero-img)));
}
.iwa-hero-page__inner__overlay{
    position:absolute; inset:0;
    background: rgba(0,0,0,
    var(--iwa-bm-overlay, var(--iwa-bg-overlay, .20)));
}

/* Inner: dead-centre content */
.iwa-hero-page__inner{
    position:relative; z-index:1;
    width:min(1500px, calc(100vw - clamp(16px,4vw,48px)*2));
    display:grid; place-items:center; text-align:center;
    padding: clamp(24px, 4vh, 48px) clamp(16px,4vw,48px);
    min-height: 0;                        /* don’t stretch past hero */
}

:root { --iwa-hero-nudge-desktop: 6.5vh; }  /* was 3vh */

@media (min-width: 1024px){
    .iwa-hero-page__inner{
        transform: translateY(var(--iwa-hero-nudge-desktop));
    }
    .iwa-hero-page{
        min-height: calc(clamp(520px, 72vh, 860px) + var(--iwa-hero-nudge-desktop));
    }
}

/* Mobile: only add space when the announcement bar has height */
@media (max-width: 979.98px){
    .nav-on-hero #sections .page-section:first-of-type .content-wrapper{
        /* stop margin-collapsing so the padding is honored */
        display: flow-root;

        /* nudge the hero content down by the bar height (+ a tiny buffer) */
        padding-top: calc(var(--iwa-bar-h, 0px) + 8px) !important;
    }
}

/* Unified underline token for both blocks */
.u-underline,
.u-underline{
    position: relative;
    display: inline-block;

    /* tweakables (em = relative to font-size so it scales nicely) */
    --u-bleed-x: .04em;   /* small left/right overshoot */
    --u-offset-y: .10em;  /* distance below the baseline */
    --u-thickness: .14em; /* line thickness */
    --u-radius: 0;    /* pill ends; use 2px for squarer ends */
}

.u-underline::after,
.u-underline::after{
    content: "";
    position: absolute;
    left: calc(-1 * var(--u-bleed-x));
    right: calc(-1 * var(--u-bleed-x));
    bottom: calc(-1 * var(--u-offset-y));
    height: var(--u-thickness);
    background: var(--accent, #0a8f00);
    border-radius: var(--u-radius);
}

/* Optional: slightly slimmer line on small screens */
@media (max-width: 767px){
    .u-underline,
    .u-underline{
        --u-thickness: .12em;
        --u-offset-y: .12em;  /* a touch more breathing room under descenders */
    }
}

/* make the Gutenberg group behave like a row */
.wp-block-group.is-layout-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

/* let each figure keep its intrinsic / resized width (don't force 100%) */
.wp-block-group.is-layout-flex > figure,
.wp-block-group.is-layout-flex > .wp-block-image {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    display: block;
}

/* let the image use its inline width but be capped to its container */
.wp-block-group.is-layout-flex > figure img {
    display: block;
    width: auto;        /* use the inline width attribute (e.g. width:292px) */
    max-width: 100%;    /* but never overflow its figure on small screens */
    height: auto;
}
