/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--page-background,var(--bg));color:var(--ink);font:16px/1.55 var(--font)}
main.container>*+*{margin-top:var(--section-gap)}
img{max-width:100%;display:block}
a{color:var(--link-color,var(--brand));text-decoration:none}
a:hover,a:focus-visible{color:var(--link-hover-color,var(--accent))}

/* Layout */
.container{max-width:960px;margin:0 auto;padding:24px}
.card{background:var(--card-surface,var(--card));border:var(--card-outline,1px solid var(--border));border-radius:var(--radius);box-shadow:var(--card-shadow,var(--shadow));padding:clamp(16px,2.5vw,24px)}
.card.highlight{border:var(--card-highlight-border,1px solid var(--border));box-shadow:var(--card-highlight-shadow,var(--card-shadow,var(--shadow)))}
.callout,.assurance-banner{background:var(--callout-background,transparent);border-left:var(--callout-border,4px solid var(--accent))}

/* Header/Nav */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--header-background,transparent);box-shadow:var(--header-shadow,none)}
.site-header .logo-mark{background:var(--header-logo-background,var(--card));color:var(--header-logo-color,var(--brand));border-radius:calc(var(--radius)*0.75);padding:.35rem .5rem}
.brand{display:flex;align-items:center;gap:10px;color:var(--brand);font-weight:800}
.brand img{width:36px;height:36px}
.nav{display:flex;gap:16px;align-items:center}
.nav a{padding:6px 8px;border-radius:10px;color:var(--header-link-color,var(--ink))}
.nav a:focus-visible,.nav a:hover{color:var(--header-link-hover,var(--brand))}
.nav a[aria-current="page"]{font-weight:600}
.btn{background:transparent;border:1px solid var(--border);border-radius:var(--button-radius);transition:transform 160ms ease,box-shadow 160ms ease}
.btn-primary{background:var(--btn-primary-background,var(--brand));color:var(--btn-primary-color,#fff);border:none;padding:10px 14px;font-weight:600;box-shadow:var(--btn-primary-shadow,none);text-transform:var(--heading-transform);letter-spacing:var(--heading-letter-spacing)}
.btn-primary:hover,.btn-primary:focus-visible{transform:var(--btn-primary-hover-transform,translateY(-1px));box-shadow:var(--btn-primary-hover-shadow,var(--btn-primary-shadow,none))}
.btn-secondary{background:var(--btn-secondary-background,transparent);color:var(--btn-secondary-color,var(--brand));border:var(--btn-secondary-border,1px solid var(--border))}
.btn-secondary:hover,.btn-secondary:focus-visible{color:var(--btn-secondary-hover-color,var(--brand));border:var(--btn-secondary-hover-border,var(--btn-secondary-border,1px solid var(--border)));box-shadow:var(--btn-secondary-hover-shadow,none)}
.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}

/* Typography */
h1{font-size:clamp(28px,4vw,36px);margin:0 0 8px;color:var(--brand)}
h2{font-size:clamp(20px,3vw,24px);margin:16px 0 8px}
.lede{color:var(--muted);margin:0 0 12px}
.points{margin:8px 0 16px 18px;color:var(--points-color,#475569)}
.points li{margin:6px 0}
.fine{font-size:14px;color:var(--muted)}
blockquote{border-left:var(--blockquote-border,4px solid var(--accent));background:var(--blockquote-background,transparent);padding:16px;border-radius:calc(var(--radius)-6px)}

/* Hero */
.heroimg{border-radius:12px;border:1px solid var(--border);overflow:hidden;margin:10px 0 16px}
.hero.card{position:relative;overflow:hidden;background:var(--hero-card-background,var(--card));border:var(--hero-card-border,var(--card-outline,1px solid var(--border)));border-radius:var(--hero-card-radius,calc(var(--radius)*1.15));box-shadow:var(--hero-card-shadow,var(--card-shadow,var(--shadow)))}
.hero.card::after{content:"";position:absolute;inset:0;background-image:var(--hero-card-overlay-image,none);mix-blend-mode:var(--hero-card-overlay-blend,normal);opacity:var(--hero-card-overlay-opacity,1);pointer-events:none}
.hero .eyebrow{color:var(--hero-eyebrow-color,var(--accent));letter-spacing:var(--hero-eyebrow-letter-spacing,normal);text-transform:var(--hero-eyebrow-transform,none)}
.hero .hero-points li::before{background:var(--hero-point-marker,var(--accent))}

/* Forms */
.contact-form{display:grid;gap:12px;margin-top:8px}
.contact-form label{display:grid;gap:6px;color:#334155}
.contact-form input,.contact-form textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;width:100%}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 30%,transparent);border-color:var(--brand)}

/* Lists */
.service-highlights-list,.deliverable-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.service-highlights-list li,.deliverable-list li{border:1px solid var(--border);border-radius:calc(var(--radius)-4px);padding:16px;background:color-mix(in srgb,var(--card) 92%,var(--brand) 8%)}
.service-highlights-list h3,.deliverable-list strong{margin:0 0 6px;color:var(--brand);font-size:16px;line-height:1.4}
.deliverable-list strong{display:block}
.process-timeline .step{border-left:var(--process-step-border,2px dashed var(--border));padding-left:18px}
.faq-item+.faq-item{border-top:var(--faq-separator,1px solid var(--border))}
.resource-list a{display:block;border:var(--resource-card-border,1px solid var(--border));border-radius:calc(var(--radius)-4px);padding:16px;background:var(--resource-card-background,var(--card));box-shadow:var(--resource-card-shadow,none);transition:transform 160ms ease,box-shadow 160ms ease}
.resource-list a:hover,.resource-list a:focus-visible{border:var(--resource-card-border-hover,var(--resource-card-border,1px solid var(--border)));box-shadow:var(--resource-card-shadow-hover,var(--resource-card-shadow,none));transform:translateY(-2px)}
.compliance-note{background:var(--compliance-note-background,transparent);color:var(--compliance-note-color,var(--muted));padding:16px;border-radius:calc(var(--radius)-6px)}
.testimonials blockquote::before{color:var(--testimonial-quote-mark,var(--accent))}

/* Footer */
.site-footer{margin-top:40px;padding:24px;font-size:14px;color:var(--footer-color,var(--muted));border-top:1px solid var(--border);text-align:center;line-height:1.5;background:var(--footer-background,transparent)}
.site-footer a{color:var(--footer-link-color,inherit);text-decoration:underline}
.site-footer a:focus-visible,.site-footer a:hover{color:var(--footer-link-hover,var(--brand))}

/* Calendly embed */
.calendly-inline-widget{width:100%;min-width:320px;height:100vh}
.calendly-fallback{padding:16px;font:16px/1.4 var(--font)}

/* Hidden link map for automated scanners */
.link-map{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.link-map a{display:block}

/* Calendly page constants */
body.calendly-page{margin:0;background:#f9fbfd;color:#1f2933;font:16px/1.55 "Inter",system-ui,-apple-system,"Segoe UI",sans-serif}
body.calendly-page .nav a,body.calendly-page .brand{color:#1f3a60}
.calendly-shell{max-width:980px;margin:0 auto;padding:24px}
.calendly-inline-widget{width:100%;height:calc(100vh - 200px);min-height:640px;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 16px 32px rgba(15,35,75,0.08);background:#ffffff}
.calendly-fallback{padding:24px;font:inherit;color:#1f2933}

@media (max-width:768px){
  .calendly-shell{padding:16px}
  .calendly-inline-widget{height:calc(100vh - 160px);min-height:520px}
}


/*! variant:granitevale-office seed:9b7c728c-d191-416c-8176-faec4606c0d3 timestamp:2025-11-04T20:48:55.901Z */

:root {
  --brand:#21436E;
  --brand-strong:#1b375a;
  --brand-soft:#567091;
  --accent:#F7B538;
  --accent-glow:#f9c460;
  --accent-muted:#f6d188;
  --bg:#F5FAFF;
  --bg-alt:#f6faff;
  --card:#ffffff;
  --card-outline:1px solid #7a8ea8;
  --muted:#5B6A82;
  --ink:#1c3659;
  --border:#c6cbd3;
  --radius:20px;
  --shadow:0 4.7px 15.4px rgba(15, 23, 42, 0.08);
  --section-gap:49px;
  --button-radius:18px;
  --heading-transform:uppercase;
  --heading-letter-spacing:0.04em;
  --focus-ring:#f8c056;
  --hero-overlay:linear-gradient(181deg, rgba(80, 92, 98, 0.156), rgba(245, 250, 255, 0.078));
  --font:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --page-background:radial-gradient(circle at top right, #f9c460 0%, #f7fbff 55%, #F5FAFF 100%);
  --header-background:linear-gradient(92deg, var(--brand) 0%, #567091 60%, #f6d188 100%);
  --header-shadow:0 12px 32px rgba(27, 55, 90, 0.16);
  --header-logo-background:#ffffff;
  --header-logo-color:#21436E;
  --header-link-color:#ffffff;
  --header-link-hover:#f9c460;
  --hero-card-background:linear-gradient(181deg, rgba(80, 92, 98, 0.156), rgba(245, 250, 255, 0.078));
  --hero-card-border:1px solid #7a8ea8;
  --hero-card-radius:calc(var(--radius)*1.15);
  --hero-card-shadow:0 32px 68px rgba(27, 55, 90, 0.18);
  --hero-card-overlay-image:radial-gradient(circle at 20% 35%, rgba(249, 203, 116, 0.18) 0%, transparent 55%), radial-gradient(circle at 80% 70%, rgba(248, 194, 92, 0.15) 0%, transparent 50%);
  --hero-card-overlay-blend:lighten;
  --hero-card-overlay-opacity:1;
  --hero-eyebrow-color:#f7c66a;
  --hero-eyebrow-letter-spacing:0.18em;
  --hero-eyebrow-transform:uppercase;
  --hero-point-marker:linear-gradient(145deg, var(--accent) 0%, #f9c460 100%);
  --card-surface:linear-gradient(180deg, #ffffff 0%, #ffffff 65%, #ffffff 100%);
  --card-shadow:var(--shadow);
  --card-highlight-border:1px solid #fbd692;
  --card-highlight-shadow:0 22px 45px rgba(247, 181, 56, 0.18);
  --callout-background:linear-gradient(160deg, rgba(247, 181, 56, 0.08) 0%, rgba(245, 250, 255, 0.75) 100%);
  --callout-border:4px solid #F7B538;
  --btn-primary-background:linear-gradient(120deg, var(--brand) 0%, #567091 100%);
  --btn-primary-color:#ffffff;
  --btn-primary-shadow:0 16px 32px rgba(27, 55, 90, 0.28);
  --btn-primary-hover-shadow:0 22px 40px rgba(27, 55, 90, 0.35);
  --btn-primary-hover-transform:translateY(-2px);
  --btn-secondary-background:linear-gradient(120deg, #f6faff 0%, #f7fbff 100%);
  --btn-secondary-color:#21436E;
  --btn-secondary-border:1px solid #96a8be;
  --btn-secondary-hover-color:#6c6b5b;
  --btn-secondary-hover-border:1px solid #f6cd7e;
  --link-color:#ac8d4b;
  --link-hover-color:#F7B538;
  --blockquote-border:4px solid #F7B538;
  --blockquote-background:rgba(247, 181, 56, 0.08);
  --process-step-border:2px dashed #919cae;
  --faq-separator:1px solid #d6dae0;
  --resource-card-border:1px solid #f6dba5;
  --resource-card-background:linear-gradient(180deg, rgba(247, 181, 56, 0.08) 0%, transparent 100%);
  --resource-card-border-hover:1px solid #b79348;
  --resource-card-shadow-hover:0 10px 26px rgba(247, 181, 56, 0.18);
  --compliance-note-background:rgba(91, 106, 130, 0.15);
  --compliance-note-color:#3b5577;
  --testimonial-quote-mark:rgba(247, 181, 56, 0.35);
  --footer-background:linear-gradient(120deg, #193253 0%, #324f74 55%, #777158 100%);
  --footer-color:#ffffff;
  --footer-link-color:#fbd692;
  --footer-link-hover:#F7B538;
}
body::after {
  content: "variant-granitevale-office";
  position: absolute;
  left: -9999px;
}

