/* ==========================================================================
   Speedy Dumps – interior page styles (loaded after theme.css)
   Shares the design tokens from theme.css (:root variables, .btn, .frame, .cut…)
   ========================================================================== */

.skip{position:absolute;left:-999px;top:8px;background:var(--green);color:var(--black);padding:10px 14px;border-radius:8px;z-index:200;font-weight:800}
.skip:focus{left:8px}
main:focus{outline:none}
.btn-outline-dark{background:transparent;color:var(--black);border-color:var(--black);padding:14px 24px;gap:10px}.btn-outline-dark svg{width:18px;height:18px;padding:0;border-radius:0;background:transparent;color:var(--green-x)}.btn-outline-dark:hover{background:var(--black);color:#fff}.btn-outline-dark:hover svg{color:var(--green)}
svg.flip{transform:scaleX(-1)}
nav.main>div.open .mega{opacity:1;pointer-events:auto;visibility:visible;transform:translateX(-50%) translateY(0)}
.ul:hover{border-color:var(--blue)}
.why .cta{margin-top:4px}
.quote .big{display:block;text-decoration:none}
.quote .meta b a{color:inherit}

/* ----- breadcrumbs ----- */
.crumbs{font-size:.82rem;font-weight:600;margin-bottom:18px;color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs li+li::before{content:"/";opacity:.45;margin-right:6px}
.crumbs a{color:inherit;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}
.crumbs a:hover{text-decoration-color:var(--green)}
.crumbs [aria-current]{color:inherit;opacity:.9}
.crumbs .breadcrumb_last{opacity:.9}
.phero.photo .crumbs,.phero.dark .crumbs{color:#C9D6E4}

/* ----- interior hero ----- */
.phero{position:relative;overflow:hidden;padding-block:clamp(44px,6vw,80px)}
.phero .wrap{position:relative;z-index:2;display:grid;gap:40px;align-items:center}
.phero.has-aside .wrap{grid-template-columns:1.15fr .85fr}
.phero .copy{display:grid;gap:16px;max-width:760px}
.phero h1{font-size:clamp(2.2rem,5vw,4rem)}
.phero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.grate{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;font-weight:700;font-size:.85rem;width:fit-content;transition:background .15s}
.grate:hover{background:rgba(255,255,255,.18)}
.grate .g{width:28px;height:28px;border-radius:50%;background:#fff;color:#4285F4;display:grid;place-items:center;font-family:var(--d);font-weight:900;font-size:1rem}
.grate b{font-family:var(--d);font-size:1.05rem;letter-spacing:-.02em}
.grate i{font-style:normal;color:#F2B01E;font-size:.8rem;letter-spacing:1px}
.grate .t{display:grid;line-height:1.1}
.grate .t small{font-size:.7rem;font-weight:600;color:#C9D6E4}
.phero.light .grate{background:#fff;border-color:var(--line);color:var(--ink)}
.phero.light .grate .t small{color:var(--muted)}
.phero .badges{display:flex;flex-wrap:wrap;gap:8px}
.phero .badges span{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;font-weight:700;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.phero .badges svg{width:15px;height:15px;color:var(--green)}
.phero.photo,.phero.dark{background:var(--navy);color:#fff}
.phero.photo .lede,.phero.dark .lede{color:#D6E0EA}
.phero.photo .kick,.phero.dark .kick{color:var(--green)}
.phero.photo .bg,.phero.dark .bg{position:absolute;inset:0;z-index:0}
.phero.photo .bg img,.phero.dark .bg img{width:100%;height:100%;object-fit:cover}
.phero.photo .bg::after,.phero.dark .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,51,.95) 0%,rgba(11,31,51,.82) 50%,rgba(11,31,51,.55) 100%)}
.phero.dark .bg::after{background:linear-gradient(90deg,rgba(11,31,51,.96) 0%,rgba(11,31,51,.88) 55%,rgba(11,31,51,.7) 100%)}
.phero.photo .copy{margin-block:20px}
.phero.light{background:var(--cream);color:var(--ink)}
.phero.light .badges span{background:#fff;border-color:var(--line)}
.phero .aside{justify-self:end;width:100%;max-width:480px}
.phero .aside .img{border-radius:18px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/3}
.phero .aside .img img{width:100%;height:100%;object-fit:cover}
.phero .form.compact{padding:24px}
.phero .form.compact h3,.phero .form.compact h2.fh{font-size:1.25rem}
.phero .form.compact form{margin-top:12px;gap:8px}
.phero .gbadge{max-width:420px}
@media (max-width:960px){.phero.has-aside .wrap{grid-template-columns:1fr}.phero .aside{justify-self:start;max-width:560px}}

/* ----- two column content layout ----- */
.content-area{padding-block:clamp(40px,5vw,70px)}
.content-area.narrow .prose{max-width:76ch;margin-inline:auto}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(32px,5vw,72px);align-items:start}
.main-col{min-width:0}
.side-col .sticky{position:sticky;top:112px;display:grid;gap:18px}
@media (max-width:1000px){.two-col{grid-template-columns:1fr}.side-col .sticky{position:static}}
.form.compact{padding:24px}
.form.compact h3,.form.compact h2.fh{font-size:1.25rem}
.form.compact form{margin-top:12px;gap:8px}
.form .hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.form .errm{display:none;background:#fde8e8;border-radius:10px;padding:12px;font-weight:700;text-align:center;color:#8a1f1f}
.contact-card{background:var(--navy);color:#C9D6E4;border-radius:16px;padding:22px;display:grid;gap:12px;font-size:.92rem;font-weight:500}
.contact-card a,.contact-card span{display:flex;gap:10px;align-items:center}
.contact-card svg{width:18px;height:18px;color:var(--green);flex:none}
.contact-card .big{color:#fff;font-family:var(--d);font-weight:900;font-size:1.5rem;letter-spacing:-.02em}
.mini-links{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.mini-links h4{font-family:var(--d);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-x);margin-bottom:12px}
.mini-links ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mini-links li a{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:.95rem;transition:color .15s}
.mini-links li:last-child a{border-bottom:0}
.mini-links li a:hover{color:var(--blue-d)}
.mini-links .ul{margin-top:12px}
.mini-map{border-radius:16px;overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/3;background:#DCE6EE}
.mini-map iframe{width:100%;height:100%;border:0}

/* ----- table of contents ----- */
.toc{margin-bottom:28px;background:var(--cream);border-radius:14px;padding:6px 20px}
.toc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font-family:var(--d);font-weight:800;font-size:.9rem;padding:12px 0}
.toc summary::-webkit-details-marker{display:none}
.toc summary svg{width:16px;height:16px;color:var(--green-x)}
.toc ol{list-style:none;margin:0;padding:0 0 12px;columns:2;column-gap:28px}
.toc li{break-inside:avoid;padding:4px 0;font-size:.93rem;font-weight:600}
.toc li.l3{padding-left:16px;font-weight:500;font-size:.88rem}
.toc a{color:var(--muted);transition:color .15s}
.toc a:hover,.toc a.cur{color:var(--blue-d)}
@media (max-width:640px){.toc ol{columns:1}}

/* ----- prose ----- */
.prose{font-size:1.08rem;line-height:1.68;color:var(--ink)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.12;margin-top:2em;scroll-margin-top:110px}
.prose h3{font-size:1.3rem;line-height:1.2;margin-top:1.7em;scroll-margin-top:110px}
.prose h4{font-size:1.05rem;margin-top:1.4em;text-transform:uppercase;letter-spacing:.06em;color:var(--green-x)}
.prose h2+p,.prose h3+p,.prose h2+ul,.prose h3+ul{margin-top:.6em}
.prose p{margin-bottom:0}
.prose a{color:var(--blue-d);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:rgba(47,139,230,.4);transition:text-decoration-color .15s}
.prose a:hover{text-decoration-color:var(--blue-d)}
.prose ul,.prose ol{padding-left:1.4em;display:grid;gap:.45em}
.prose ul li::marker{color:var(--green-d)}
.prose li>ul,.prose li>ol{margin-top:.4em}
.prose strong{font-weight:700}
.prose figure{margin-inline:0}
.prose .wp-block-image img,.prose figure img{border-radius:16px;width:100%;height:auto;box-shadow:var(--sh)}
.prose figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.prose .wp-block-image.alignleft,.prose .wp-block-image.alignright{max-width:46%}
.prose .wp-block-image.alignleft{float:left;margin:4px 24px 12px 0}
.prose .wp-block-image.alignright{float:right;margin:4px 0 12px 24px}
.prose blockquote{border-left:5px solid var(--green);background:var(--cream);padding:18px 22px;border-radius:0 14px 14px 0;font-size:1.05rem}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem}
.prose .wp-block-table{overflow-x:auto}
.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.prose thead th,.prose tr:first-child th{background:var(--navy);color:#fff;font-family:var(--d);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.prose tbody tr:nth-child(even){background:var(--cream)}
.prose .lede{font-size:1.18rem;color:var(--muted)}
.prose .intro{max-width:76ch}
.prose details.more summary{margin-top:8px}
.prose iframe{max-width:100%}

/* ----- inline CTA band ----- */
.cta-inline{margin:36px 0;background:var(--navy);color:#fff;border-radius:16px;padding:26px 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.cta-inline>div{flex:1 1 300px}
.cta-inline b{display:block;font-family:var(--d);font-size:1.3rem;letter-spacing:-.02em}
.cta-inline span{display:block;color:#C9D6E4;font-size:.95rem;margin-top:4px;max-width:52ch}
.cta-inline .btns{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.prose .cta-inline a.btn,.prose .cta-inline a.btn:hover{text-decoration:none;font-weight:800}
.prose .cta-inline a.btn-green{color:var(--black)}
.prose .cta-inline a.btn-outline{color:#fff}
.prose .cta-inline{flex-direction:column;align-items:flex-start;gap:16px}
.prose .cta-inline>div{flex:0 0 auto}
.prose .cta-inline span{max-width:none}
.cta-inline.cut::after{background:var(--green)}


/* ----- pricing cards ----- */
.rates{background:var(--cream)}
.rate-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
.rate-grid.cols-1{grid-template-columns:minmax(0,420px);justify-content:center}
.rate-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rate-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rate{background:#fff;border-radius:18px;padding:28px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;position:relative;min-width:0}
.rate.hot{background:var(--navy);color:#fff}
.rate h3{font-size:1.4rem}
.rate .sub{color:var(--muted);font-size:.92rem}
.rate.hot .sub{color:#C9D6E4}
.rate .price{font-family:var(--d);font-weight:900;font-size:2.6rem;letter-spacing:-.04em;line-height:1;overflow-wrap:anywhere}
.rate .price small{font-family:var(--b);font-weight:600;font-size:.9rem;letter-spacing:0;margin-left:6px;color:var(--muted)}
.rate.hot .price{color:var(--green)}
.rate ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.95rem}
.rate li{display:flex;gap:10px;align-items:flex-start}
.rate li svg{width:16px;height:16px;color:var(--green-x);flex:none;margin-top:4px}
.rate.hot li svg{color:var(--green)}
.rate .btn{justify-content:center;margin-top:8px;white-space:normal;text-align:center}
@media (max-width:900px){.rate-grid,.rate-grid.cols-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rate-grid,.rate-grid.cols-2,.rate-grid.cols-4{grid-template-columns:1fr}}

/* ----- size page spec card + compare table ----- */
.spec-card{background:#fff;color:var(--ink);border-radius:18px;padding:26px;display:grid;gap:14px;box-shadow:var(--sh-lg)}
.spec-card .sil{display:flex;align-items:flex-end;gap:14px;min-height:120px;border-bottom:1px dashed var(--line);padding-bottom:12px}
.spec-card .box{position:relative;background:var(--green);color:var(--black);font-family:var(--d);font-weight:900;font-size:1.1rem;display:grid;place-items:center;border-radius:6px 6px 2px 2px;width:calc(var(--l) * 11px);height:calc(var(--h) * 11px);min-height:40px}
.spec-card .box small{position:absolute;top:-20px;left:0;font-size:.68rem;font-weight:700;color:var(--muted);white-space:nowrap}
.spec-card .pr{font-family:var(--d);font-weight:900;font-size:2.4rem;letter-spacing:-.04em;line-height:1}
.spec-card .pr small{font-family:var(--b);font-weight:600;font-size:.85rem;letter-spacing:0;color:var(--muted);display:block;margin-top:6px}
.spec-card .specs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.spec-card .specs div{background:var(--cream);border-radius:10px;padding:10px;text-align:center}
.spec-card .specs small{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.spec-card .specs b{font-family:var(--d);font-size:1.1rem}
.spec-card .for{color:var(--muted);font-size:.95rem}
.spec-card .btn{justify-content:center}
.spec-card .note{color:var(--muted);font-size:.78rem;text-align:center}
.cmp-sec{background:#fff}
.table-wrap{overflow-x:auto;border-radius:16px;box-shadow:var(--sh)}
table.cmp{width:100%;border-collapse:collapse;min-width:720px;font-size:.95rem}
table.cmp th,table.cmp td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
table.cmp thead th{background:var(--navy);color:#fff;font-family:var(--d);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
table.cmp tbody th a{font-family:var(--d);font-weight:800;font-size:1.05rem;border-bottom:3px solid var(--green)}
table.cmp tr.cur{background:#eef7df}
table.cmp td b{font-family:var(--d);font-size:1.1rem}

/* ----- related links ----- */
.related{background:var(--cream)}
.rel-grid{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))}
.rel-grid.cols-1{grid-template-columns:minmax(0,520px)}
.rel-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.rel-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.rel-group{background:#fff;border-radius:16px;padding:22px;box-shadow:0 6px 16px rgba(11,31,51,.06)}
.rel-group h3{font-size:1.05rem;margin-bottom:12px;padding-bottom:10px;border-bottom:3px solid var(--green)}
.rel-group ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rel-group li a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:.95rem;align-items:center;transition:color .15s}
.rel-group li:last-child a{border-bottom:0}
.rel-group li a:hover{color:var(--blue-d)}
.rel-group li a small{grid-column:1;color:var(--muted);font-weight:500;font-size:.8rem}
.rel-group li a .ar{grid-column:2;grid-row:1/3;width:14px;height:14px;opacity:.5}
@media (max-width:1000px){.rel-grid,.rel-grid.cols-3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rel-grid,.rel-grid.cols-2,.rel-grid.cols-3{grid-template-columns:1fr}}

/* ----- blog ----- */
.post-hero{background:var(--cream);padding-block:clamp(36px,5vw,64px) 0;position:relative;overflow:hidden}
.post-hero .wrap{display:grid;gap:14px;max-width:860px;position:relative;z-index:2}
.post-hero h1{font-size:clamp(2rem,4.6vw,3.6rem)}
.post-hero.has-img{background:var(--navy);color:#fff;padding-block:clamp(56px,8vw,120px) clamp(44px,6vw,80px)}
.post-hero.has-img .bg{position:absolute;inset:0;z-index:0}
.post-hero.has-img .bg img{width:100%;height:100%;object-fit:cover}
.post-hero.has-img .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,51,.55) 0%,rgba(11,31,51,.78) 60%,rgba(11,31,51,.92) 100%)}
.post-hero.has-img .crumbs,.post-hero.has-img .meta{color:#C9D6E4}
.post-hero.has-img .meta .cat{background:var(--green);color:var(--black)}
.post-hero.has-img .lede{color:#D6E0EA}
.post-hero.has-img+.content-area{padding-top:clamp(36px,5vw,56px)}
.post-hero .meta,.pcard .meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.85rem;font-weight:600;color:var(--muted)}
.post-hero .meta .cat,.pcard .meta .cat{background:var(--navy);color:#fff;padding:4px 10px;border-radius:999px;font-family:var(--d);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.post-img{margin:0;background:var(--cream);padding-bottom:0}
.post-img img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:18px;box-shadow:var(--sh-lg);margin-top:28px}
.post-single .content-area{padding-top:36px}
.post-foot{margin-top:40px;display:grid;gap:18px}
.post-foot .tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem}
.post-foot .tags svg{width:16px;height:16px;color:var(--muted)}
.post-foot .tags a{background:var(--cream);padding:4px 10px;border-radius:999px;font-weight:600}
.post-foot .share{display:flex;gap:10px;align-items:center;font-size:.9rem;flex-wrap:wrap}
.post-foot .share span{font-weight:700;color:var(--muted)}
.post-foot .share a{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-weight:600}
.post-foot .share svg{width:14px;height:14px}
.post-foot{background:none;color:inherit;padding:0;font-size:inherit}
.post-foot .tags a{color:var(--ink)}
.post-foot .share a{color:var(--ink)}
.author-box{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:var(--cream);border-radius:18px;padding:26px;border-top:4px solid var(--green)}
.author-box img{width:72px;height:72px;object-fit:contain;flex:none;background:#fff;border-radius:50%;padding:8px;box-shadow:var(--sh)}
.author-box .kick{font-size:.7rem}
.author-box b{display:block;font-family:var(--d);font-size:1.25rem;letter-spacing:-.02em;margin:4px 0 6px;color:var(--ink)}
.author-box p{font-size:.95rem;color:var(--muted);margin:0 0 14px;line-height:1.55}
.author-box .ab-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.author-box .ab-links>a:not(.btn){display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink);font-size:.92rem}
.author-box .ab-links>a:not(.btn) svg{width:15px;height:15px;color:var(--green-x)}
.author-box .ab-links .btn{padding:10px 16px;font-size:.85rem;box-shadow:none;margin-left:auto}
@media (max-width:600px){.author-box{grid-template-columns:1fr}.author-box .ab-links .btn{margin-left:0}}
.post-grid-sec{background:#fff}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.pcard{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--sh);display:grid;grid-template-rows:auto 1fr;transition:transform .15s}
.pcard:hover{transform:translateY(-3px)}
.pcard .img{display:block;aspect-ratio:3/2;background:#C9D2DC;overflow:hidden}
.pcard .img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pcard:hover .img img{transform:scale(1.04)}
.pcard .body{padding:22px;display:grid;gap:10px;align-content:start}
.pcard h3{font-size:1.2rem;line-height:1.2}
.pcard p{color:var(--muted);font-size:.95rem}
.pcard .ul{justify-self:start}
.pcard.featured{grid-column:1/-1;grid-template-columns:1.2fr .8fr;grid-template-rows:none}
.pcard.featured .img{aspect-ratio:auto;min-height:320px}
.pcard.featured .body{padding:36px;align-content:center}
.pcard.featured h3{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.pcard.page-result{grid-template-rows:none}
.cat-nav{display:flex;flex-wrap:wrap;gap:8px}
.cat-nav a{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:.85rem}
.cat-nav a small{color:var(--muted);font-weight:600}
.cat-nav a.cur,.cat-nav a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.archive-hero .copy{max-width:860px}
.pagination{margin-top:40px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.pagination .page-numbers{display:inline-flex;align-items:center;gap:6px;min-width:42px;height:42px;padding:0 14px;border-radius:999px;background:var(--cream);font-weight:700;justify-content:center}
.pagination .page-numbers.current{background:var(--navy);color:#fff}
.pagination .page-numbers:hover{background:var(--green)}
.pagination .page-numbers.dots{background:transparent}
.pagination svg{width:14px;height:14px}
form.search{display:flex;gap:8px;max-width:520px}
form.search input{flex:1;border:2px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:1rem}
.phero.dark form.search input{background:#fff;border-color:transparent}
@media (max-width:900px){.post-grid{grid-template-columns:1fr 1fr}.pcard.featured{grid-template-columns:1fr}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}

/* ----- gallery ----- */
.gallery-sec{background:var(--cream)}
.gal{columns:3;column-gap:16px}
.gal a{display:block;break-inside:avoid;margin-bottom:16px;border-radius:14px;overflow:hidden;background:#C9D2DC}
.gal img{width:100%;height:auto;display:block;transition:transform .3s}
.gal a:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;z-index:120;background:rgba(11,31,51,.92);display:grid;place-items:center;padding:24px}
.lightbox img{max-width:min(1200px,100%);max-height:90vh;border-radius:12px;box-shadow:var(--sh-lg)}
.lightbox button{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;display:grid;place-items:center;cursor:pointer}
.lightbox button svg{width:18px;height:18px}
@media (max-width:900px){.gal{columns:2}}
@media (max-width:520px){.gal{columns:1}}

/* ----- areas index ----- */
.areas-index .map-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-bottom:48px}
.areas-index .map{border-radius:18px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:16/10;background:#DCE6EE}
.areas-index .map iframe{width:100%;height:100%;border:0}
.sec-h{margin:36px 0 18px;font-size:clamp(1.6rem,3vw,2.2rem)}
.region{margin-bottom:28px}
.region h3{display:flex;gap:8px;align-items:center;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green-x);margin-bottom:14px}
.region h3 svg{width:16px;height:16px}
.area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.area-card{background:#fff;border-radius:14px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 6px 16px rgba(11,31,51,.06);transition:transform .15s}
.area-card:hover{transform:translateY(-3px)}
.area-card .img{aspect-ratio:16/9;background:#C9D2DC}
.area-card .img img{width:100%;height:100%;object-fit:cover}
.area-card .body{padding:16px;display:grid;gap:6px;align-content:start}
.area-card b{font-family:var(--d);font-size:1.05rem}
.area-card span{color:var(--muted);font-size:.88rem}
.area-card em{font-style:normal;font-family:var(--d);font-weight:800;font-size:.8rem;display:inline-flex;gap:6px;align-items:center;color:var(--green-x);margin-top:4px}
.area-card em svg{width:12px;height:12px}
.svc-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-area{background:#fff;border-radius:14px;padding:20px;box-shadow:0 6px 16px rgba(11,31,51,.06)}
.svc-area h3{display:flex;gap:10px;align-items:center;font-size:1.05rem;margin-bottom:10px}
.svc-area h3 svg{width:20px;height:20px;color:var(--green-x)}
.svc-area ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.svc-area li a{display:inline-block;background:var(--cream);padding:6px 10px;border-radius:999px;font-weight:600;font-size:.88rem}
.svc-area li a:hover{background:var(--green)}
@media (max-width:1000px){.area-grid{grid-template-columns:repeat(3,1fr)}.areas-index .map-row{grid-template-columns:1fr}}
@media (max-width:760px){.area-grid,.svc-areas{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.area-grid,.svc-areas{grid-template-columns:1fr}}

/* ----- reviews page ----- */
.reviews-sec{background:var(--cream)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.review-grid .mini{background:#fff;border-radius:16px;padding:22px;display:grid;gap:10px;align-content:start}
.review-grid .mini p{font-size:.98rem}
.center-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:36px}
.reviews-widget{margin-bottom:28px}
@media (max-width:900px){.review-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.review-grid{grid-template-columns:1fr}}

/* ----- contact page ----- */
.quote.light-quote{background:var(--cream);color:var(--ink)}
.quote.light-quote .kick{color:var(--green-x)}
.quote.light-quote p{color:var(--muted)}
.quote.light-quote .big{color:var(--navy)}
.quote.light-quote .meta div{background:#fff;box-shadow:0 6px 16px rgba(11,31,51,.06)}
.quote.light-quote .meta small{color:var(--muted)}
.soc-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;font-weight:700;font-size:.92rem}
.soc-row a{display:inline-flex;gap:8px;align-items:center}
.soc-row svg{width:16px;height:16px;color:var(--green-x)}
.map-sec{padding-block:0 clamp(40px,5vw,70px)}
.map-sec .wrap{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.map-sec .map{border-radius:18px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:16/10;background:#DCE6EE}
.map-sec .map iframe{width:100%;height:100%;border:0}
@media (max-width:900px){.map-sec .wrap{grid-template-columns:1fr}}

/* ----- policies ----- */
.fees{margin-top:40px}
.fee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.fee-grid div{background:var(--navy);color:#C9D6E4;border-radius:14px;padding:18px;display:grid;gap:4px}
.fee-grid b{color:var(--green);font-family:var(--d);font-size:1.8rem;letter-spacing:-.03em}
.fee-grid span{font-size:.85rem}
@media (max-width:760px){.fee-grid{grid-template-columns:1fr 1fr}}

/* ----- sitemap ----- */
.sitemap-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.sitemap-cols h2{font-size:1.4rem;margin-bottom:14px;padding-bottom:8px;border-bottom:3px solid var(--green)}
.sitemap-cols h2+ul{margin-bottom:32px}
.sitemap-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sitemap-cols ul ul{padding-left:18px;margin-top:6px;border-left:2px solid var(--line)}
.sitemap-cols li a{font-weight:600}
.sitemap-cols li a:hover{color:var(--blue-d)}
.sitemap-cols small{color:var(--muted)}
@media (max-width:760px){.sitemap-cols{grid-template-columns:1fr}}

/* ----- misc section variants ----- */
.sizes.plain{background:#fff;color:var(--ink)}
.sizes.plain .kick{color:var(--green-x)}
.sizes.plain .lede{color:var(--muted)}
.pc .more-link{display:inline-flex;gap:6px;align-items:center;justify-content:center;font-family:var(--d);font-weight:800;font-size:.82rem;margin-top:8px;color:var(--muted)}
.pc .more-link svg{width:12px;height:12px}
.pc .yd a{color:inherit}
.faq .head{margin-bottom:28px}
.faq .head .kick{display:block;margin-bottom:8px}
.accept:not(.bgimg){background:var(--cream)}
.accept:not(.bgimg) .kick{color:var(--green-x)}

/* ----- admin bar offset ----- */
body.admin-bar header.nav{top:32px}
@media (max-width:782px){body.admin-bar header.nav{top:46px}}

/* ----- print ----- */
@media print{.topnav,header.nav,.mnav,.textbar,footer .ctarow,.side-col,.cta-inline,.related{display:none!important}.two-col{grid-template-columns:1fr}}

/* ==========================================================================
   Progressive disclosure: sticky section chips + collapsible H2 sections
   ========================================================================== */
.subnav{position:sticky;top:88px;z-index:30;margin:0 -4px 22px;padding:8px 4px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.subnav .chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.subnav .chips::-webkit-scrollbar{display:none}
.subnav a{flex:none;white-space:nowrap;font-family:var(--d);font-weight:800;font-size:.8rem;padding:9px 14px;border-radius:999px;background:var(--cream);color:var(--ink);border:1px solid transparent;transition:background .15s,color .15s}
.subnav a:hover{background:#e9ecd9}
.subnav a.cur{background:var(--navy);color:#fff}
.subnav a.x{background:#fff;border-color:var(--line)}
body.admin-bar .subnav{top:120px}
@media (max-width:1100px){.subnav{top:70px}body.admin-bar .subnav{top:116px}}
.secs .intro{margin-bottom:28px}
.secs .intro>p:first-child{font-size:1.18rem;color:var(--ink)}
.sec-list{display:grid;gap:12px}
.sec-tools{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;color:var(--muted);padding:0 4px 4px}
.sec-tools button{background:none;border:0;font:inherit;font-weight:800;color:var(--blue-d);cursor:pointer;border-bottom:2px solid var(--green);padding:2px 0}
details.sec{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:box-shadow .15s,border-color .15s;scroll-margin-top:150px}
details.sec:hover{border-color:#cfd6de}
details.sec[open]{box-shadow:var(--sh);border-color:transparent}
details.sec summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px}
details.sec summary::-webkit-details-marker{display:none}
details.sec summary h2{font-size:clamp(1.15rem,1.9vw,1.45rem);line-height:1.2;margin:0}
details.sec .tog{flex:none;width:36px;height:36px;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:transform .2s,background .15s}
details.sec .tog svg{width:16px;height:16px}
details.sec[open] .tog{transform:rotate(45deg);background:var(--green)}
details.sec[open] summary{border-bottom:1px solid var(--line)}
details.sec .sec-body{padding:8px 24px 26px}
details.sec .sec-body>*:first-child{margin-top:12px}
details.sec .sec-body h3{font-size:1.15rem}
.secs .cta-inline{margin:8px 0}
@media (max-width:640px){details.sec summary{padding:16px 18px}details.sec .sec-body{padding:4px 18px 20px}}

/* compact testimonials (interior pages) */
.rev.compact .grid{grid-template-columns:1fr}
.rev.compact .minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rev.compact .mini{background:#fff;border-radius:16px;padding:22px;display:grid;gap:10px;align-content:start}
@media (max-width:900px){.rev.compact .minis{grid-template-columns:1fr}}

/* Gravity Forms inside the quote card */
.form.gf .gform_wrapper{margin-top:14px}
.form.gf .gform_wrapper .gform_fields{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.form.gf .gform_wrapper .gfield{margin:0;grid-column:span 2}
.form.gf .gform_wrapper .gfield.gfield--width-half,.form.gf .gform_wrapper .gfield.gf_left_half,.form.gf .gform_wrapper .gfield.gf_right_half{grid-column:span 1}
.form.gf .gform_wrapper .gfield_label{font-family:var(--d);font-weight:800;font-size:.8rem;letter-spacing:.02em;margin-bottom:4px;display:block}
.form.gf .gform_wrapper .gfield_label.hidden_label,.form.gf .gform_wrapper .gfield_required{display:none}
.form.gf .gform_wrapper input:not([type=checkbox]):not([type=radio]):not([type=submit]),.form.gf .gform_wrapper select,.form.gf .gform_wrapper textarea{width:100%;background:var(--cream);border:2px solid transparent;border-radius:10px;font:inherit;font-size:1rem;padding:13px 14px;color:var(--ink)}
.form.gf .gform_wrapper input:focus,.form.gf .gform_wrapper select:focus,.form.gf .gform_wrapper textarea:focus{border-color:var(--green);background:#fff;outline:none}
.form.gf .gform_wrapper textarea{min-height:90px}
.form.gf .gform_wrapper .gfield_checkbox label,.form.gf .gform_wrapper .gfield_consent_label{font-size:.74rem;color:var(--muted);line-height:1.45}
.form.gf .gform_wrapper .gfield_checkbox input,.form.gf .gform_wrapper .ginput_container_consent input{accent-color:var(--green-x);width:16px;height:16px;margin-right:8px}
.form.gf .gform_wrapper .gform_footer{margin:4px 0 0;padding:0}
.form.gf .gform_wrapper input[type=submit],.form.gf .gform_wrapper .gform_button{width:100%;display:inline-flex;justify-content:center;align-items:center;font-family:var(--d);font-weight:800;font-size:.95rem;padding:15px 26px;border-radius:999px;border:0;cursor:pointer;background:var(--green);color:var(--black);box-shadow:0 10px 24px rgba(140,198,62,.35);transition:transform .12s,background .15s}
.form.gf .gform_wrapper input[type=submit]:hover{background:#9BD24E;transform:translateY(-2px)}
.form.gf .gform_wrapper .gform_validation_errors,.form.gf .gform_wrapper .validation_message{background:#fde8e8;color:#8a1f1f;border-radius:10px;padding:10px 12px;font-size:.85rem;border:0;box-shadow:none}
.form.gf .gform_wrapper .gform_confirmation_message{background:#eef7df;border-radius:10px;padding:14px;font-weight:700;color:#3f6a0f}
.form.gf .gform_wrapper .gfield_description{font-size:.8rem;color:var(--muted)}
@media (max-width:520px){.form.gf .gform_wrapper .gform_fields{grid-template-columns:1fr}.form.gf .gform_wrapper .gfield{grid-column:span 1}}

/* ==========================================================================
   Story layout: designed content sections with Read more folds
   ========================================================================== */
.story-wrap{padding-top:8px}
.story-wrap .subnav{position:sticky;top:88px;z-index:30;margin:0 0 8px;padding:10px 0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.story-wrap .subnav .chips{padding:0}
.story{padding-block:clamp(56px,7vw,104px)}
.story.lead{padding-bottom:clamp(24px,3vw,40px)}
.story.lead+.story{padding-top:clamp(32px,4vw,56px)}
.story .wrap{display:grid;gap:clamp(28px,4vw,64px);align-items:center}
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;align-items:start;margin-bottom:18px}
.sec-head .num{font-family:var(--d);font-weight:900;font-size:.85rem;letter-spacing:.08em;color:var(--black);background:var(--green);border-radius:999px;padding:6px 10px;margin-top:6px;line-height:1}
.sec-head h2{font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.1;margin:0}
.copy-body.prose>*:first-child{margin-top:0}
.copy-more[hidden]{display:none}
.copy-more{margin-top:1.1em;animation:sd-fade .25s ease}
@keyframes sd-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.readmore{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--d);font-weight:800;font-size:.9rem;padding:11px 18px;border-radius:999px;border:2px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer;transition:background .15s,color .15s}
.readmore svg{width:14px;height:14px;transition:transform .2s}
.readmore[aria-expanded=true] svg{transform:rotate(180deg)}
.readmore:hover{background:var(--navy);color:#fff}
/* lead */
.story.lead .lead-inner{max-width:860px}
.story.lead .copy-body>p:first-child{font-size:clamp(1.2rem,1.8vw,1.42rem);line-height:1.5;color:var(--ink);font-weight:500}
/* split */
.story.split .wrap{grid-template-columns:1.05fr .95fr}
.story.split.img-left .copy{order:2}
.story.split.img-left .media-col{order:1}
.story.split .media{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/3;background:#C9D2DC}
.story.split .media figure{margin:0;height:100%}
.story.split .media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.story.split .media figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(11,31,51,.8));color:#fff;padding:28px 18px 14px;font-size:.85rem}
.story.split .copy{max-width:60ch}
.story.split:nth-of-type(even){background:var(--cream)}
/* features */
.story.features{background:var(--navy);color:#fff}
.story.features .wrap{display:block}
.story.features .sec-head .num{background:var(--green)}
.story.features .lede-copy{color:#C9D6E4;max-width:70ch;margin:-6px 0 28px}
.story.features .lede-copy a{color:var(--green)}
.feat-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.feat-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.feat-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.feat{background:var(--navy-2);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:24px;display:grid;gap:10px;align-content:start}
.feat{grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:center}
.feat .ic{width:40px;height:40px;border-radius:12px;background:var(--green);color:var(--black);display:grid;place-items:center;grid-row:1}
.feat h3{grid-column:2;grid-row:1}
.feat .prose{grid-column:1/-1}
.feat .ic svg{width:22px;height:22px}
.feat h3{font-size:1.1rem;color:#fff;margin:0}
.feat .prose{font-size:.95rem;color:#C9D6E4;line-height:1.55}
.feat .prose p{margin:0}
.feat .prose a{color:var(--green)}
.feat-more{margin-top:22px}
.feat-more .copy-more{color:#D6E0EA}
.feat-more .readmore{border-color:#fff;color:#fff}
.feat-more .readmore:hover{background:#fff;color:var(--navy)}
@media (max-width:1000px){.feat-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.feat-grid,.feat-grid.cols-3,.feat-grid.cols-4{grid-template-columns:1fr}}
/* paired cards */
.story.text-run{background:var(--cream)}
.story.text-run .wrap{display:block}
.card-grid{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
.story.single .card-grid{grid-template-columns:minmax(0,900px);justify-content:center}
.story-card{background:#fff;border-radius:20px;padding:clamp(24px,3vw,36px);box-shadow:0 6px 18px rgba(11,31,51,.06);display:flex;flex-direction:column;align-items:flex-start}
.story-card .sec-head{margin-bottom:14px}
.story-card .sec-head h2{font-size:clamp(1.35rem,2.1vw,1.7rem)}
.story-card .copy-body,.story-card .copy-more{width:100%}
.story-card .prose{font-size:1.02rem}
.story-card .readmore{margin-top:auto;padding-top:11px}
.story-card .copy-more+.readmore{margin-top:18px}
@media (max-width:900px){.story.split .wrap{grid-template-columns:1fr}.story.split.img-left .copy{order:1}.story.split.img-left .media{order:2}.card-grid{grid-template-columns:1fr}}
.story-wrap .cta-inline{margin:clamp(8px,2vw,24px) 0}
/* links strip */
.links-strip{padding-block:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.links-strip .wrap{display:grid;gap:14px}
.ls-row{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:center}
.ls-title{font-family:var(--d);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green-x)}
.ls-chips{display:flex;flex-wrap:wrap;gap:8px}
.ls-chips a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--cream);font-weight:700;font-size:.9rem;transition:background .15s}
.ls-chips a svg{width:12px;height:12px;opacity:.6}
.ls-chips a:hover{background:var(--green)}
.ls-chips a.more{background:transparent;border:2px solid var(--line)}
@media (max-width:700px){.ls-row{grid-template-columns:1fr;gap:8px}}
/* interior quote section needs a lighter heading weight tweak only */
.quote .form h3{color:var(--ink)}
.fees-sec{padding-block:0 clamp(40px,5vw,70px)}
.fees-sec .fees{margin:0;max-width:900px}
/* story: hide the media column when the image cannot load; chip bar never widens the page */
.story.split.no-media .wrap{grid-template-columns:1fr}
.story.split.no-media .media-col{display:none}
.story.split.no-media .copy{max-width:70ch}
.story-wrap .subnav{overflow:visible}
.story-wrap .subnav .wrap{min-width:0}
.subnav .chips{max-width:100%}
.story .copy,.story-card .copy-body,.story-card .copy-more,.lead-inner{min-width:0;max-width:100%}
.story .prose .wp-block-table,.story .prose table{max-width:100%}

/* On-this-page dropdown bar */
.subnav .bar{display:flex;align-items:center;justify-content:space-between;gap:14px}
.subnav .bar .chips{flex:0 1 auto;margin-left:auto}
.pnav{position:relative;flex:none}
.pnav-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--d);font-weight:800;font-size:.85rem;padding:10px 16px;border-radius:999px;border:2px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;max-width:min(70vw,460px)}
.pnav-btn svg{width:14px;height:14px;flex:none;transition:transform .2s}
.pnav-btn svg:first-child{color:var(--green)}
.pnav-btn[aria-expanded=true] svg:last-child{transform:rotate(180deg)}
.pnav-btn .cur-title{font-family:var(--b);font-weight:600;font-size:.82rem;color:#C9D6E4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.pnav-btn .cur-title:empty{display:none}
.pnav-btn .cur-title::before{content:"·";margin-right:8px;color:var(--green)}
.pnav-list{position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:320px;max-width:min(92vw,520px);margin:0;padding:8px;list-style:none;background:#fff;border-radius:16px;box-shadow:var(--sh-lg);border:1px solid var(--line);max-height:60vh;overflow:auto}
.pnav-list[hidden]{display:none}
.pnav-list li a{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.95rem;line-height:1.3;transition:background .15s}
.pnav-list li a:hover{background:var(--cream)}
.pnav-list li a.cur{background:var(--navy);color:#fff}
.pnav-list .n{width:10px;height:10px;border-radius:50%;background:var(--green);justify-self:center}
.pnav-list li a.cur .n{background:var(--green)}
@media (max-width:640px){.pnav-btn .cur-title{display:none}.subnav .bar{gap:8px}}

/* Gravity Forms: override the plugin theme's control sizing inside the quote card */
.form.gf .gform_wrapper.gravity-theme select,.form.gf .gform_wrapper select,.form.gf .gform_wrapper .ginput_container_select select{height:auto!important;min-height:50px!important;line-height:1.35!important;padding:13px 42px 13px 14px!important;font-size:16px!important;-webkit-appearance:none!important;appearance:none!important;background-color:var(--cream)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2027' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:14px!important;border-radius:10px!important;color:var(--ink)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.form.gf .gform_wrapper select:focus{background-color:#fff!important}
.form.gf .gform_wrapper input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]){height:auto!important;min-height:50px!important;line-height:1.35!important;font-size:16px!important;padding:13px 14px!important;border-radius:10px!important}
.form.gf .gform_wrapper textarea,.form.gf .gform_wrapper.gravity-theme textarea.large,.form.gf .gform_wrapper.gravity-theme textarea.medium,.form.gf .gform_wrapper.gravity-theme textarea.small{height:96px!important;min-height:96px!important;max-height:160px!important;font-size:16px!important;line-height:1.4!important;padding:13px 14px!important;border-radius:10px!important;resize:vertical}
.form.gf .gform_wrapper .gfield{padding:0!important;margin:0!important}
.form.gf .gform_wrapper .gform_fields{row-gap:10px!important;column-gap:10px!important}
.form.gf .gform_wrapper .gform-field-label{margin-bottom:4px}
.form.gf .gform_wrapper .ginput_container{margin-top:0!important}
.form.gf .gform_wrapper .gfield_consent_label,.form.gf .gform_wrapper .gfield_checkbox label{font-size:.74rem!important;line-height:1.45!important}
.form.gf .gform_wrapper .ginput_container_consent{display:flex;gap:10px;align-items:flex-start}
.form.gf .gform_wrapper .ginput_container_consent input{margin-top:2px!important;flex:none}
.form.gf .gform_wrapper .gform_footer{margin-top:6px!important;padding:0!important}
.form.gf .gform_wrapper .gform_footer input[type=submit],.form.gf .gform_wrapper .gform_button,.form.gf .gform_wrapper button.gform-theme-button{min-height:52px;line-height:1.2;width:100%!important;background:var(--green)!important;color:var(--black)!important;border:0!important;border-radius:999px!important;font-family:var(--d)!important;font-weight:800!important;font-size:.95rem!important;padding:15px 26px!important;box-shadow:0 10px 24px rgba(140,198,62,.35)!important}
.form.gf .gform_wrapper .gform_footer input[type=submit]:hover,.form.gf .gform_wrapper .gform_button:hover{background:#9BD24E!important}
.form.gf .gform_wrapper .gfield_consent_label a,.form.gf .gform_wrapper .gfield_checkbox label a,.form.gf .gform_wrapper .gfield_description a{color:var(--blue-d);font-weight:700;text-decoration:underline}
.form.gf .gform_wrapper .gform_footer{margin-top:10px!important}
.form.gf .gform_wrapper .gfield_validation_message,.form.gf .gform_wrapper .validation_message{margin-top:6px!important;padding:8px 12px!important}
.form.gf .gform_wrapper .gform_required_legend{display:none}

/* extra photos in a story section sit under the main one */
.media-col{display:grid;gap:12px;min-width:0}
.media-extra{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.media-extra.cols-1{grid-template-columns:repeat(2,minmax(0,1fr))}
.media-extra.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.media-extra>div{border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:#C9D2DC;box-shadow:var(--sh)}
.media-extra.cols-1>div{aspect-ratio:16/10}
.media-extra figure{margin:0;height:100%}
.media-extra img{width:100%;height:100%;object-fit:contain;display:block;border-radius:0;box-shadow:none;background:var(--cream)}
.media-extra figcaption{display:none}

/* FAQ answers never show big headings */
.acc .ans h2,.acc .ans h3,.acc .ans h4{font-size:1rem;line-height:1.3;margin:1em 0 .3em}
.acc .ans .ans-label{margin-top:1.1em;font-family:var(--d);font-size:.95rem}

/* ==========================================================================
   Story v3: one editorial row per section (heading + photo left, copy right)
   ========================================================================== */
.story.row{padding-block:clamp(48px,6vw,88px);position:relative}
.story.row.has-media+.story.row.has-media{border-top:1px solid var(--line)}
.story.row.tone-cream{background:var(--cream)}
.story.row.tone-dark{background:var(--navy);color:#fff;overflow:hidden}
.story.row.tone-dark::before{content:"";position:absolute;inset:0;background:var(--bg) center/cover no-repeat;opacity:.14;filter:saturate(.6)}
.story.row.tone-dark::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(11,31,51,.72) 55%,rgba(11,31,51,.35) 100%)}
.story.row.tone-dark .wrap{position:relative;z-index:1}
.story.row.tone-dark h2,.story.row.tone-dark h3,.story.row.tone-dark h4{color:#fff}
.story.row.tone-dark .prose{color:#D6E0EA}
.story.row.tone-dark .prose a{color:var(--green)}
.story.row.tone-dark .prose li::marker{color:var(--green)}
.story.row.tone-dark .readmore{border-color:rgba(255,255,255,.35);color:#fff}
.story.row.tone-dark .readmore:hover{background:#fff;color:var(--ink)}
.story.row.tone-dark .feat{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#fff}
.story.row.tone-dark .feat h3{color:#fff}
.story.row.tone-dark .feat .prose{color:#C9D6E4}
.story.row .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.story.row.has-media .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.story.row.has-media.media-right .media-col{order:2}
.story.row.text-row .wrap,.story.row.feat-row .wrap{grid-template-columns:minmax(0,1fr)}
.story.row.feat-row .row-copy{max-width:1040px}
.story.row .sec-head{margin:0 0 20px;display:block}
.story.row .sec-head h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.12;margin:0}
.story.row .sec-head h2::before{content:"";display:block;width:46px;height:4px;border-radius:2px;background:var(--green);margin-bottom:14px}
.story.row.text-row .row-copy,.story.row.feat-row .row-copy{max-width:none}
.story.row.text-row .copy-flow{columns:2;column-gap:clamp(32px,4vw,64px);orphans:3;widows:3}
.story.row.text-row .copy-flow h3,.story.row.text-row .copy-flow h4{break-after:avoid;break-inside:avoid}
.story.row.text-row .copy-flow li{break-inside:avoid}
.story.row.text-row .copy-flow ul,.story.row.text-row .copy-flow ol{break-inside:auto}
.story.row.text-row .copy-flow.split-ok{columns:1;max-width:72ch}
.story.row.text-row .copy-flow.split-ok p{font-size:1.12rem;line-height:1.7}
.story.row.text-row .copy-flow p{break-inside:avoid;orphans:3;widows:3}
.story.row.text-row .copy-flow.split-ok p{break-inside:avoid}
.story.row.text-row .copy-more{margin-top:0}
.story.row.text-row .copy-more>*:first-child{margin-top:1em}
.story.row.text-row .readmore{display:inline-flex}
.story.row .media-col .media{border-radius:18px;overflow:hidden;box-shadow:var(--sh);aspect-ratio:4/3;background:#C9D2DC}
.story.row .media figure{margin:0;height:100%}
.story.row .media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.story.row .media figcaption{display:none}
.story.row .media-extra{gap:10px}
.story.row .media-extra>div{aspect-ratio:16/10}
.story.row .row-copy{min-width:0}
.story.row .row-copy .prose{font-size:1.04rem;line-height:1.68}
.story.row .copy-body>*:first-child{margin-top:0}
.story.row .copy-body>*:last-child{margin-bottom:0}
.story.row .copy-more{margin-top:1em}
.story.row .readmore{margin-top:18px}
.story.row.no-media .wrap{grid-template-columns:minmax(0,1fr)}
.story.row.no-media .media-col{display:none}
.story.row.no-media .row-copy{max-width:none}
.story.row .feat-grid{gap:12px}
.story.row .feat{background:var(--cream);border:1px solid transparent;color:var(--ink);padding:18px;gap:8px}
.story.row .feat .ic{width:36px;height:36px;border-radius:10px}
.story.row .feat .ic svg{width:18px;height:18px}
.story.row .feat h3{color:var(--ink);font-size:1rem}
.story.row .feat .prose{color:var(--muted);font-size:.9rem}
.story.row .feat .prose a{color:var(--blue-d)}
.story.row .lede-copy{margin-bottom:16px}
/* short "call / reserve" sections: a compact band instead of a sparse row */
.story.band{padding-block:clamp(10px,2vw,28px);border-top:0}
.story.band+.story.row{border-top:0}
.story.band .band-in{background:var(--navy);color:#fff;border-radius:22px;padding:clamp(26px,3.5vw,44px) clamp(24px,4vw,52px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3vw,40px);align-items:center}
.story.band h2::before{content:"";display:block;width:46px;height:4px;border-radius:2px;background:var(--green);margin-bottom:14px}
.story.band h2{color:#fff;font-size:clamp(1.35rem,2.2vw,1.8rem);margin:0 0 8px;line-height:1.15}
.story.band .prose{color:#C9D6E4;font-size:1rem;max-width:62ch}
.story.band .prose p{margin:0}
.story.band .prose p+p{margin-top:.6em}
.story.band .prose a{color:var(--green)}
.story.band .btns{display:flex;flex-wrap:wrap;gap:12px}
.story.band.has-media .band-in{grid-template-columns:200px minmax(0,1fr) auto}
.story.band .band-media{border-radius:14px;overflow:hidden;aspect-ratio:1;background:#C9D2DC}
.story.band .band-media figure{margin:0;height:100%}
.story.band .band-media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.story.band .band-media figcaption{display:none}
.story.band.no-media .band-media{display:none}
.story.band.no-media .band-in{grid-template-columns:minmax(0,1fr) auto}
.story.row.has-feat .feat-grid{grid-template-columns:1fr 1fr}
.story.row.has-feat .feat{padding:14px 16px}
.story.band .btn-outline{border-color:rgba(255,255,255,.4);color:#fff}
.story.band .btn-outline:hover{background:#fff;color:var(--ink)}
@media (max-width:900px){
.story.row.has-media .wrap{grid-template-columns:minmax(0,1fr)}
.story.row.has-media .media-col{order:0}
.story.row.has-media .row-copy{order:1}
.story.band .band-in{grid-template-columns:1fr}
.story.band.has-media .band-in{grid-template-columns:1fr}
.story.band .band-media{max-width:200px}
.story.row.has-feat .feat-grid{grid-template-columns:1fr}
}
.story-cta{padding-block:8px 0}
.story-cta .cta-inline{margin:0}
/* lead block: wide intro, optional photo beside it */
.story.lead{padding-block:clamp(36px,5vw,64px) clamp(16px,3vw,32px)}
.story.lead .wrap{display:grid;gap:clamp(24px,4vw,56px);align-items:center}
.story.lead.has-media .wrap{grid-template-columns:1.1fr .9fr}
.story.lead.has-glance .wrap{grid-template-columns:1.15fr .85fr;align-items:center}
.glance{background:var(--navy);color:#fff;border-radius:20px;padding:clamp(22px,3vw,32px);box-shadow:var(--sh-lg)}
.glance .kick{color:var(--green)}
.glance ul{list-style:none;margin:14px 0 20px;padding:0;display:grid;gap:10px}
.glance li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:10px 12px;background:rgba(255,255,255,.06);border-radius:12px}
.glance .ic{width:38px;height:38px;border-radius:10px;background:var(--green);color:var(--black);display:grid;place-items:center}
.glance .ic svg{width:18px;height:18px}
.glance small{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#A9BBCC;font-weight:700}
.glance b{font-family:var(--d);font-size:1rem}
.glance .btns{display:flex;flex-wrap:wrap;gap:10px}
.glance .btn-outline{border-color:rgba(255,255,255,.35);color:#fff}
.glance .btn-outline:hover{background:#fff;color:var(--ink)}
.story.lead .lead-copy{max-width:72ch}
.story.lead .media-col .media{border-radius:18px;overflow:hidden;box-shadow:var(--sh-lg);aspect-ratio:4/3;background:#C9D2DC}
.story.lead .media figure{margin:0;height:100%}
.story.lead .media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.story.lead .media figcaption{display:none}
.story.lead+.story.row{padding-top:clamp(28px,4vw,48px)}
@media (max-width:900px){.story.lead.has-media .wrap,.story.lead.has-glance .wrap{grid-template-columns:1fr}.story.row .media-col .media{aspect-ratio:16/10}}
@media (max-width:1000px){.story.row.text-row .copy-flow{columns:1}}

/* sticky desktop CTA pill */
.sticky-cta{position:fixed;right:20px;bottom:20px;z-index:70;display:none;visibility:hidden;align-items:center;gap:10px;padding:10px 10px 10px 18px;border-radius:999px;background:var(--navy);color:#fff;box-shadow:var(--sh-lg);transform:translateY(20px);opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.sticky-cta .lbl{font-family:var(--d);font-weight:800;font-size:.82rem;color:var(--green);margin-right:4px}
.sticky-cta .btn{padding:11px 18px;font-size:.88rem;box-shadow:none}
.sticky-cta.on{opacity:1;transform:none;pointer-events:auto;visibility:visible}
@media (min-width:769px){.sticky-cta{display:flex}}
/* local details block on area pages */
.local-sec{background:var(--navy);color:#fff}
.local-sec .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:start}
.local-sec .wrap>*{min-width:0}
.local-sec .facts b{overflow-wrap:anywhere}
.local-sec .chips a{max-width:100%}
.local-sec .kick{color:var(--green)}
.local-sec h2{margin-top:10px}
.local-sec .lede{color:#C9D6E4}
.local-sec .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.local-sec .facts div{background:var(--navy-2);border-radius:14px;padding:16px 18px}
.local-sec .facts small{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#A9BBCC;font-weight:700;margin-bottom:4px}
.local-sec .facts b{font-family:var(--d);font-size:1.15rem}
.local-sec .notes{background:#fff;color:var(--ink);border-radius:18px;padding:26px;box-shadow:var(--sh-lg)}
.local-sec .notes h3{font-size:1.1rem;margin-bottom:10px}
.local-sec .notes .prose{font-size:.98rem}
.local-sec .notes ul{padding-left:1.2em}
.local-sec .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.local-sec .chips a svg{width:14px;height:14px;flex:none}
.local-sec .chips a{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;padding:7px 12px;border-radius:999px;font-weight:700;font-size:.85rem}
.local-sec .chips a:hover{background:var(--green);color:var(--black)}
@media (max-width:900px){.local-sec .wrap{grid-template-columns:1fr}}
/* thank-you page */
.thanks-sec{padding-block:clamp(40px,6vw,90px)}
.thanks-sec .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.thanks-sec .steps{display:grid;gap:14px;margin-top:24px}
.thanks-sec .steps>div{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.thanks-sec .steps>div>div{min-width:0}
.thanks-sec .steps .n{width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--black);display:grid;place-items:center;font-family:var(--d);font-weight:900}
.thanks-sec .steps b{display:block;font-family:var(--d);font-size:1.05rem}
.thanks-sec .steps span{color:var(--muted);font-size:.95rem}
.thanks-sec .side{display:grid;gap:14px}
@media (max-width:900px){.thanks-sec .wrap{grid-template-columns:1fr}}

/* 404 */
.nf-hero .wrap{grid-template-columns:1.05fr .95fr;align-items:center}
.nf-hero .copy{max-width:600px}
.nf-art{justify-self:end;width:100%;max-width:520px;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.nf-art svg{width:100%;height:auto;display:block;animation:nf-float 5s ease-in-out infinite}
@keyframes nf-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.nf-guess{display:grid;gap:8px;margin:4px 0 8px}
.nf-guess .lbl{font-family:var(--d);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.nf-guess a{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:10px 16px 10px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:700;font-size:.95rem;transition:background .15s}
.nf-guess a:hover{background:var(--green);color:var(--black)}
.nf-guess a svg{width:16px;height:16px;flex:none;color:var(--green)}
.nf-guess a:hover svg{color:var(--black)}
.nf-guess a svg:last-child{margin-left:auto;width:14px;height:14px}
.nf-picks{background:var(--cream);padding-block:clamp(48px,6vw,80px)}
.nf-picks .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.nf-picks .pick{position:relative;display:grid;gap:6px;background:#fff;border-radius:18px;padding:24px;box-shadow:0 6px 18px rgba(11,31,51,.06);border:1px solid transparent;transition:transform .15s,border-color .15s;color:var(--ink)}
.nf-picks .pick:hover{transform:translateY(-3px);border-color:var(--green)}
.nf-picks .pick .ic{width:44px;height:44px;border-radius:12px;background:var(--navy);color:var(--green);display:grid;place-items:center;margin-bottom:8px}
.nf-picks .pick .ic svg{width:22px;height:22px}
.nf-picks .pick b{font-family:var(--d);font-size:1.1rem}
.nf-picks .pick>span:not(.ic){font-size:.9rem;color:var(--muted)}
.nf-picks .pick>svg{position:absolute;top:24px;right:22px;width:18px;height:18px;color:var(--muted)}
.nf-picks .pick:hover>svg{color:var(--green-x)}
@media (max-width:960px){.nf-hero .wrap{grid-template-columns:1fr}.nf-art{justify-self:start;max-width:420px}.nf-picks .grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.nf-picks .grid{grid-template-columns:1fr}}

/* contact page */
.quote.light-quote .cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.quote.light-quote .cta .btn{min-height:52px}
.quote.light-quote .meta b{font-size:.95rem;overflow-wrap:anywhere}
.map-sec{padding:0}
.map-sec .wrap{display:block;max-width:none;padding:0}
.map-sec .map{border-radius:0;box-shadow:none;aspect-ratio:auto}
.map-sec .map iframe{width:100%;height:clamp(320px,38vw,520px);display:block;border:0}
.map-sec .prose{max-width:860px;margin:clamp(32px,5vw,56px) auto;padding:0 16px}
