/* FGA Global Media LLC | Local CSS, no framework dependencies */
:root { --ink:#102329; --ink-2:#183238; --muted:#607275; --canvas:#f7f8f3; --white:#fff; --mist:#e9f0e8; --mint:#d7edbf; --accent:#b8e48d; --accent-dark:#456e35; --line:#dce3dc; --sand:#e9e9df; --radius:22px; --max:1180px; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; scroll-padding-top:92px; }
    body { margin:0; color:var(--ink); background:var(--canvas); font:400 16px/1.65 "DM Sans",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
    body.menu-open { overflow:hidden; }
    a { color:inherit; text-decoration:none; }
    button { font:inherit; }
    button, a { -webkit-tap-highlight-color:transparent; }
    :focus-visible { outline:3px solid #71b845; outline-offset:4px; }
    ::selection { background:var(--accent); color:var(--ink); }
    .container { width:min(var(--max),calc(100% - 48px)); margin-inline:auto; }
    .sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
    .eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; text-transform:uppercase; letter-spacing:.17em; font-weight:700; }
    .eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:#70a94d; }
    .section-title { margin:14px 0 15px; font:600 clamp(36px,4.7vw,62px)/1.08 "Fraunces",Georgia,serif; letter-spacing:-.04em; }
    .section-copy { max-width:620px; margin:0; color:var(--muted); font-size:16px; }
    .btn { display:inline-flex; justify-content:center; align-items:center; gap:16px; padding:13px 21px; border:1px solid transparent; border-radius:999px; font-size:13px; line-height:1.4; font-weight:700; transition:transform .2s ease,background .2s ease,color .2s ease; white-space:nowrap; }
    .btn:hover { transform:translateY(-2px); }
    .btn svg { width:16px; height:16px; }
    .btn-light { background:var(--accent); color:var(--ink); }
    .btn-light:hover { background:#d1f3af; }
    .btn-dark { background:var(--ink); color:#fff; }
    .btn-dark:hover { background:#29464c; }
    .btn-outline { color:var(--white); border-color:#74918b; }
    .btn-outline:hover { background:#ffffff15; }
    .site-header { position:sticky; z-index:100; top:0; background:#f7f8f3f2; border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
    .header-inner { display:flex; align-items:center; min-height:82px; gap:25px; }
    .brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; }
    .brand-symbol { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--ink); color:var(--accent); }
    .brand-symbol svg { width:26px;height:26px; }
    .brand-text { display:block; font-size:17px; line-height:1.05; letter-spacing:-.06em; font-weight:700; }
    .brand-text small { display:block; margin-top:5px; font-size:9px; letter-spacing:.26em; font-weight:700; }
    .nav { display:flex; gap:25px; align-items:center; margin-left:auto; }
    .nav a { color:#35484c; font-size:13px; font-weight:600; transition:color .2s; }
    .nav a:hover { color:#527e36; }
    .header-cta { margin-left:10px; }
    .menu-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; background:transparent; color:var(--ink); border:1px solid var(--line); border-radius:12px; cursor:pointer; }
    .menu-toggle svg { width:22px;height:22px; }
    .hero { position:relative; overflow:hidden; background:var(--ink); color:var(--white); }
    .hero:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.21; background-image:radial-gradient(#a3b7aa 0.7px,transparent .7px); background-size:28px 28px; mask-image:linear-gradient(90deg,transparent 13%,black 100%); }
    .hero-grid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:35px; min-height:650px; padding-block:82px 87px; position:relative; }
    .hero .eyebrow { color:#b4caba; }
    .hero .eyebrow::before { background:var(--accent); }
    .hero h1 { max-width:720px; margin:23px 0 24px; font:600 clamp(49px,5.8vw,83px)/1.035 "Fraunces",Georgia,serif; letter-spacing:-.057em; }
    .hero h1 em { font-style:normal; color:var(--accent); }
    .hero p { max-width:485px; color:#c3d2cd; font-size:17px; line-height:1.75; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:34px; }
    .hero-footnote { display:flex; align-items:center; gap:11px; margin-top:48px; color:#b2c7bc; font-size:12px; }
    .hero-footnote svg { width:19px;height:19px; flex-shrink:0; color:var(--accent); }
    .hero-art { width:100%; max-width:520px; justify-self:end; filter:drop-shadow(0 30px 60px #0005); }
    .hero-art svg { display:block; width:100%; height:auto; }
    .strip { background:var(--accent); }
    .strip-inner { min-height:75px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding-block:17px; }
    .strip span { display:inline-flex; align-items:center; gap:10px; text-transform:uppercase; letter-spacing:.115em; font-size:11px; font-weight:700; }
    .strip svg { width:18px;height:18px; }
    .section { padding-block:108px; }
    .section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:40px; }
    .section-head .section-copy { max-width:360px; }
    .offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
    .offer-card { display:flex; flex-direction:column; min-height:335px; padding:26px 24px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); transition:transform .22s,box-shadow .22s,border-color .22s; }
    .offer-card:hover { transform:translateY(-5px); border-color:#b0cbb0; box-shadow:0 20px 42px #0b29251a; }
    .offer-card:nth-child(2) { background:#eef3e9; }
    .offer-card:nth-child(4) { background:#e8eee9; }
    .offer-number { color:#758b81; font-size:11px; letter-spacing:.16em; font-weight:700; }
    .offer-icon { display:grid; place-items:center; width:57px; height:57px; margin:32px 0 26px; background:var(--ink); color:var(--accent); border-radius:18px; }
    .offer-icon svg { width:28px;height:28px; }
    .offer-card h3 { margin:0 0 10px; font-size:18px; letter-spacing:-.035em; line-height:1.25; }
    .offer-card p { margin:0; color:#657679; font-size:13px; line-height:1.75; }
    .approach { background:var(--mist); }
    .approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
    .approach-visual { position:relative; min-height:460px; padding:40px; background:var(--ink-2); border-radius:30px; display:grid; align-items:center; overflow:hidden; }
    .approach-visual:before { position:absolute;content:"";width:380px;height:380px;border:1px solid #ffffff25;border-radius:50%;right:-130px;top:-100px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff04; }
    .visual-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:12px; transform:rotate(-7deg); }
    .visual-tile { border-radius:20px; padding:27px 22px; min-height:160px; background:#f7faf2; display:flex; flex-direction:column; justify-content:space-between; }
    .visual-tile:nth-child(2) { background:var(--accent); transform:translateY(36px); }
    .visual-tile:nth-child(3) { background:#89b3a5; color:var(--ink); }
    .visual-tile:nth-child(4) { background:#244b49; color:var(--white); transform:translateY(36px); }
    .visual-tile span { font:600 38px/1 "Fraunces",Georgia,serif; }
    .visual-tile small { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
    .approach-list { display:grid; gap:24px; margin-top:33px; }
    .approach-row { display:flex; gap:16px; border-top:1px solid #cddace; padding-top:22px; }
    .check { flex:0 0 29px; height:29px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--accent); }
    .check svg { width:16px;height:16px; }
    .approach-row h3 { margin:0 0 5px; font-size:16px; letter-spacing:-.025em; }
    .approach-row p { margin:0; color:#607575; font-size:13px; }
    .process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
    .process-card { padding:30px; border:1px solid var(--line); border-radius:22px; background:var(--white); }
    .process-card .step { font:600 44px/1 "Fraunces",Georgia,serif; color:#b3cfa2; }
    .process-card h3 { margin:22px 0 8px; font-size:18px; letter-spacing:-.035em; }
    .process-card p { margin:0; font-size:13px; color:#667778; }
    .notice { display:flex; gap:15px; align-items:start; border-left:3px solid #91be74; background:#edf4e7; padding:19px 23px; margin-top:24px; border-radius:0 12px 12px 0; font-size:13px; color:#536b5d; }
    .notice strong { color:var(--ink); }
    .details { background:var(--ink); color:var(--white); }
    .details .section-copy { color:#b3c8c1; }
    .details-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-top:42px; }
    .detail-card { padding:34px; background:#1c363b; border:1px solid #3b5558; border-radius:22px; }
    .detail-card .eyebrow { color:#a6bcb5; }
    .detail-card h3 { margin:18px 0 15px; font:600 28px/1.15 "Fraunces",Georgia,serif; }
    .detail-card p { margin:7px 0; color:#dae5df; font-size:14px; overflow-wrap:anywhere; }
    .detail-card p strong { color:#fff; }
    .detail-card a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; }
    .policy-intro { max-width:760px; }
    .policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-top:39px; }
    .policy { padding:30px; background:#fff; border:1px solid var(--line); border-radius:20px; scroll-margin-top:110px; }
    .policy h3 { display:flex; align-items:center; gap:11px; margin:0 0 14px; letter-spacing:-.035em; font-size:20px; }
    .policy h3 span { display:grid;place-items:center;background:var(--mist);width:33px;height:33px;border-radius:10px; }
    .policy h3 svg { width:17px; height:17px; }
    .policy p { margin:0 0 12px; font-size:13px; line-height:1.9; color:#5b6e6d; }
    .policy p:last-child { margin-bottom:0; }
    .policy a { color:#365f3d; text-decoration:underline; text-underline-offset:3px; }
    .policy-meta { margin-top:18px; color:#74847d; font-size:12px; }
    .contact { padding-block:90px; background:var(--accent); }
    .contact-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; }
    .contact h2 { max-width:730px; margin:16px 0; font:600 clamp(39px,5vw,65px)/1.08 "Fraunces",Georgia,serif; letter-spacing:-.047em; }
    .contact p { margin:0; max-width:550px; font-size:14px; color:#405d43; }
    .contact .btn { padding:17px 25px; }
    .site-footer { background:#0b1b20; color:#c2cec8; padding:65px 0 22px; }
    .footer-grid { display:grid; grid-template-columns:1.3fr .65fr .9fr; gap:60px; padding-bottom:62px; }
    .site-footer .brand-symbol { background:var(--accent);color:var(--ink); }
    .site-footer .brand-text { color:#fff; }
    .footer-desc { margin:24px 0 0; max-width:340px; font-size:13px; color:#9db2aa; }
    .site-footer h3 { font-size:12px; text-transform:uppercase; letter-spacing:.16em; color:#fff; margin:0 0 18px; }
    .footer-links { display:grid; gap:10px; }
    .footer-links a, .footer-address { font-size:13px; line-height:1.85; color:#a8bbb1; }
    .footer-links a:hover { color:var(--accent); }
    .footer-address { font-style:normal; }
    .footer-address a { text-decoration:underline; text-underline-offset:3px; }
    .footer-bottom { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; border-top:1px solid #274047; padding-top:24px; color:#8fa69a; font-size:11px; }
    .footer-bottom a { color:#c8dfbe; }
    .js .reveal { opacity:0; transform:translateY(17px); transition:opacity .65s ease,transform .65s ease; }
    .js .reveal.is-visible { opacity:1; transform:translateY(0); }
    @media(max-width:1080px) { .offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .offer-card { min-height:290px; } .approach-grid { gap:45px; } .nav { gap:15px; } .header-cta { display:none; } }
    @media(max-width:760px) {
      html { scroll-padding-top:72px; }
      .container { width:min(var(--max),calc(100% - 34px)); }
      .header-inner { min-height:72px; }
      .menu-toggle { display:flex; margin-left:auto; }
      .nav { display:none; position:absolute;left:0;right:0;top:72px; margin:0; padding:16px 20px 22px; background:var(--canvas); border-bottom:1px solid var(--line);box-shadow:0 20px 25px #0001;flex-direction:column;align-items:stretch;gap:0; }
      .nav.open { display:flex; }
      .nav a { display:block; padding:13px 8px;font-size:15px; }
      .hero-grid { grid-template-columns:1fr; gap:2px; padding:67px 0 40px; }
      .hero h1 { max-width:600px; font-size:clamp(47px,9vw,70px); }
      .hero p { font-size:15px; }
      .hero-art { max-width:380px; margin:3px auto 0;justify-self:center; }
      .hero-footnote { margin-top:27px; }
      .strip-inner { justify-content:center; column-gap:22px;row-gap:11px; }
      .strip span { font-size:9px; }
      .section { padding-block:74px; }
      .section-head { display:block; }
      .section-head .section-copy { max-width:580px; }
      .section-title { font-size:clamp(36px,8vw,52px); }
      .approach-grid,.details-grid,.contact-grid { grid-template-columns:1fr; gap:32px; }
      .approach-visual { min-height:360px;max-width:530px; }
      .contact { padding-block:75px; }
      .contact h2 { font-size:clamp(38px,8vw,55px); }
      .contact .btn { justify-self:start; }
      .footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
      .footer-grid > div:first-child { grid-column:1/-1; }
    }
    @media(max-width:520px) {
      .offer-grid,.process-grid,.policy-grid { grid-template-columns:1fr; }
      .offer-card { min-height:255px; }
      .offer-icon { margin:20px 0; }
      .process-card { padding:26px; }
      .approach-visual { min-height:300px; padding:24px; }
      .visual-tile { min-height:125px; padding:18px 15px; }
      .visual-tile span { font-size:30px; }
      .detail-card,.policy { padding:25px; }
      .footer-grid { grid-template-columns:1fr; }
      .footer-grid > div:first-child { grid-column:auto; }
      .hero-actions { align-items:stretch; }
      .hero-actions .btn { flex:1 1 100%; }
    }
    @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } .js .reveal { opacity:1;transform:none; } }

/* Site package extensions: local visual assets and internal pages */
:root { color-scheme:light; }
.offer-card { overflow:hidden; min-height:425px; }
.offer-illustration { display:block; width:calc(100% + 48px); max-width:none; height:165px; object-fit:cover; margin:-26px -24px 22px; border-bottom:1px solid #e3e8df; }
.offer-card .offer-icon { display:none; }
.offer-card h3 { margin-top:23px; }
.offer-card:nth-child(2) .offer-illustration,.offer-card:nth-child(4) .offer-illustration { border-color:#d5dfd4; }
.offer-card .offer-number { font-size:10px; }
.text-link { color:#407034; font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:7px; margin-top:auto; padding-top:19px; }
.text-link:hover { text-decoration:underline; }
.hero-art img { display:block; width:100%; height:auto; }
.brand-logo { display:block; width:26px; height:26px; }
.page-hero { position:relative; overflow:hidden; background:#102329; color:#fff; padding:88px 0 96px; }
.page-hero::after { content:""; position:absolute; width:550px; height:550px; right:-160px; top:-320px; border:1px solid #74918b55; border-radius:50%; box-shadow:0 0 0 90px #ffffff08,0 0 0 180px #ffffff05; pointer-events:none; }
.page-hero .eyebrow { color:#c2dac1; }
.page-hero .eyebrow::before { background:var(--accent); }
.page-hero h1 { max-width:900px; margin:15px 0 18px; font:600 clamp(42px,6vw,75px)/1.06 "Fraunces", Georgia, serif; letter-spacing:-.05em; }
.page-hero p { max-width:720px; color:#c2d1cb; font-size:17px; line-height:1.75; }
.breadcrumbs { display:flex; gap:10px; align-items:center; color:#b4c8bf; font-size:12px; margin-bottom:22px; }
.breadcrumbs a:hover { color:white; text-decoration:underline; }
.internal-section { padding:88px 0 100px; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; }
.product-feature { background:white; border:1px solid var(--line); border-radius:24px; overflow:hidden; transition:box-shadow .2s,transform .2s; }
.product-feature:hover { transform:translateY(-3px); box-shadow:0 16px 44px #10232915; }
.product-feature img { width:100%; height:235px; object-fit:cover; display:block; }
.product-feature-body { padding:32px; }
.product-feature-body .eyebrow { color:#5d7864; }
.product-feature h2 { font:600 28px/1.15 "Fraunces",Georgia,serif; letter-spacing:-.035em; margin:14px 0; }
.product-feature p { color:var(--muted); font-size:15px; }
.product-feature ul { padding-left:18px; color:#526669; font-size:14px; line-height:1.9; }
.stacked-content { max-width:850px; margin-inline:auto; }
.legal-intro { margin:0 0 27px; padding:21px 24px; border:1px solid #d9e3d8; background:#edf3e9; border-radius:16px; color:#394b42; line-height:1.65; }
.legal-content { background:#fff; border:1px solid var(--line); border-radius:25px; padding:55px 64px; }
.legal-content h2 { margin:35px 0 12px; font:600 28px/1.18 "Fraunces",Georgia,serif; letter-spacing:-.025em; }
.legal-content h2:first-child { margin-top:0; }
.legal-content h3 { margin:25px 0 8px; font-size:18px; }
.legal-content p,.legal-content li { line-height:1.85; color:#536669; font-size:15px; }
.legal-content a,.info-panel a { color:#315e35; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-content ul,.legal-content ol { padding-left:22px; }
.info-panel { background:#fff; border:1px solid var(--line); border-radius:22px; padding:35px; }
.info-panel h2 { margin:12px 0 14px; font:600 30px/1.2 "Fraunces",Georgia,serif; }
.info-panel p { color:#607275; line-height:1.8; }
.info-panel address { font-style:normal; color:#526569; line-height:1.9; }
.info-stack { display:grid; gap:20px; }
.kicker-row { display:flex; align-items:center; gap:12px; color:#789486; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.kicker-row:before { content:""; width:35px; height:1px; background:#8ea89a; }
.callout-band { padding:68px 0; background:#d8eec1; }
.callout-inner { display:flex; gap:35px; justify-content:space-between; align-items:center; }
.callout-inner h2 { font:600 clamp(29px,4vw,49px)/1.1 "Fraunces",Georgia,serif; letter-spacing:-.04em; max-width:680px; margin:10px 0; }
.faq-list { display:grid; gap:14px; margin-top:25px; }
.faq-list details { background:white; border:1px solid var(--line); border-radius:16px; padding:20px 24px; }
.faq-list summary { cursor:pointer; font-weight:700; list-style-position:outside; }
.faq-list p { margin-bottom:0; color:#5c6f70; font-size:14px; }
.site-footer a:hover { text-decoration:underline; }
@media(max-width:860px) { .content-grid { grid-template-columns:1fr; } .internal-section { padding:65px 0; } .page-hero { padding:65px 0 72px; } .callout-inner { align-items:flex-start; flex-direction:column; } .legal-content { padding:40px 35px; } }
@media(max-width:520px) { .offer-card { min-height:365px; } .offer-illustration { height:180px; } .page-hero h1 { font-size:clamp(37px,10vw,51px); } .legal-content { padding:28px 23px; } .product-feature-body { padding:25px; } .info-panel { padding:25px; } }

.site-footer .brand-symbol { background:var(--ink); color:var(--accent); }
