/* Fonts */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 800;font-display:swap;src:url('/fonts/montserrat-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500 800;font-display:swap;src:url('/fonts/montserrat-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/source-sans-3-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/source-sans-3-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Colors, type, and spacing */
:root{
  --lead:#01448C;
  --blue:#1E6FB8;
  --gold:#F2B441;
  --gold-deep:#E3A22C;
  --navy:#0A1A2F;
  --white:#FFFFFF;
  --tint:#E4EEF7;
  --soft:#F3F7FB;
  --line:#D6E0EB;
  --line-dark:#22354F;
  --text:#16243A;
  --muted:#4D5B6E;
  --head:'Montserrat',Arial,Helvetica,sans-serif;
  --body:'Source Sans 3',Arial,Helvetica,sans-serif;
  --radius:18px;
  --radius-lg:22px;
  --shadow:0 12px 38px rgba(10,26,47,.11);
  --shadow-soft:0 14px 40px rgba(10,26,47,.09);
  --section:88px;
}
@media (max-width:1000px){:root{--section:72px}}
@media (max-width:640px){:root{--section:56px}}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--text);font-family:var(--body);font-size:19px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
h1,h2,h3{font-family:var(--head);font-weight:700;color:var(--lead);letter-spacing:-.01em;text-wrap:balance}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}}

/* Layout */
.wrap,.wrap-narrow,.wrap-wide{margin-inline:auto;padding-inline:32px}
.wrap{max-width:1180px}
.wrap-narrow{max-width:800px}
.wrap-wide{max-width:1320px}
.wrap .wrap-narrow,.wrap-wide .wrap-narrow{padding-inline:0}
main{text-align:center}
main > section{padding:var(--section) 0}
.bg-soft{background:var(--soft)}
.bg-tint{background:var(--tint)}
.after-strip{padding-top:calc(var(--section) + 64px)}

/* Headings and reading text */
h1{font-size:clamp(32px,3.2vw,42px);line-height:1.16}
h2{font-size:clamp(27px,2.7vw,34px);line-height:1.2}
h3{font-size:21.5px;line-height:1.3}
.hero-inner h1,.hero-text h1{font-size:clamp(30px,2.9vw,38px)}
h1.h1-long{font-size:clamp(28px,2.6vw,34px)}
main p{text-wrap:pretty}
:is(h1,h2) + p{margin-top:18px}
h3 + p{margin-top:10px}
p + p{margin-top:16px}
.lead{font-size:20.5px}
.text-strong{font-weight:600}
.eyebrow{display:block;margin-bottom:12px;font-family:var(--head);font-weight:700;font-size:14.5px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);text-wrap:balance}
.bg-tint .eyebrow{color:var(--lead)}
.cta .eyebrow,.band .eyebrow{color:#CFE4F7}

/* Text links */
main :is(p,dd) a:not([class]),.prose a:not([class]){text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:4px}
main :is(p,dd) a:not([class]):hover,.prose a:not([class]):hover{color:var(--lead)}
a[href^="tel:"]{white-space:nowrap}
.more{display:inline-block;padding:11px 0;font-family:var(--head);font-weight:700;font-size:16.5px;line-height:1.35;color:var(--navy);text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:6px;text-wrap:balance}
.more:hover{color:var(--lead)}
.links{display:flex;flex-wrap:wrap;justify-content:center;column-gap:32px;margin-top:10px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 30px;border:2px solid transparent;border-radius:999px;font-family:var(--head);font-weight:700;font-size:16.5px;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}
.btn-solid{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.btn-solid:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--navy)}
.btn-line{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn-line:hover{background:var(--navy);color:var(--white)}
.btn-line-white{background:transparent;border-color:var(--white);color:var(--white)}
.btn-line-white:hover{background:var(--white);color:var(--navy)}
.btn-sm{padding:13px 22px;font-size:15.5px}
.btn-lg{padding:20px 34px;font-size:17.5px}
.btn-icon{flex:none;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:28px}

/* Icon circles */
.icon{display:inline-grid;place-items:center;flex:none;width:56px;height:56px;border-radius:50%;background:var(--tint);color:var(--blue)}
.icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-solid{background:var(--lead);color:var(--white)}

/* Photo frames and placeholders */
.frame,.frame-plain{position:relative;--shift:26px}
.frame{isolation:isolate;margin:0 0 var(--shift) var(--shift)}
.frame::before{content:"";position:absolute;z-index:-1;inset:calc(var(--shift) + 4px) calc(var(--shift) + 4px) calc(var(--shift) * -1) calc(var(--shift) * -1);border-radius:var(--radius-lg);background:var(--tint)}
.frame-flip{margin:0 var(--shift) var(--shift) 0}
.frame-flip::before{inset:calc(var(--shift) + 4px) calc(var(--shift) * -1) calc(var(--shift) * -1) calc(var(--shift) + 4px)}
.frame-plain{--shift:0px}
.frame-plain::before{content:none}
:is(.bg-soft,.bg-tint) .frame::before{background:var(--white)}
.frame-43{--ratio:4/3}
.frame-45{--ratio:4/5}
.frame-32{--ratio:3/2}
.frame-11{--ratio:1/1}
.ph{display:grid;place-items:center;width:100%;aspect-ratio:var(--ratio,4/3);background:linear-gradient(160deg,#DCE9F5 0%,#B7D1EA 100%)}
.ph::after{content:"Photo to come";padding:0 12px;font-family:var(--head);font-weight:600;font-size:14px;line-height:1.3;color:#215F96}
.ph-map::after{content:"Map to come"}
.ph-shot::after{content:"Screenshot to come"}
:is(.frame,.frame-plain) > :is(img,.ph){width:100%;height:auto;aspect-ratio:var(--ratio,4/3);object-fit:cover;border-radius:var(--radius)}
.card-photo > :is(img,.ph){width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.shot{width:100%;max-width:600px;margin-inline:auto;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.shot > :is(img,.ph){width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:7px}

/* Utility bar */
.util{background:var(--navy);color:#DCE7F3;font-family:var(--head);font-weight:500;font-size:13.5px;line-height:1.4;letter-spacing:.06em;text-align:center}
.util .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;min-height:44px}
.util span{white-space:nowrap}
.util-sep{margin:0 10px;color:#7FB4E3}
.util a{display:inline-flex;align-items:center;min-height:44px;color:var(--white);font-weight:600;text-decoration:none;white-space:nowrap}
.util a:hover{text-decoration:underline;text-underline-offset:4px}

/* Header */
.site-header{position:relative;z-index:20;background:var(--white);border-bottom:1px solid var(--line)}
.header-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:20px;row-gap:0;padding-top:14px;padding-bottom:14px}
.brand{display:block;flex:none}
.brand img{width:auto;height:60px}
.menu-toggle{display:none}
.menu{display:flex;align-items:center;gap:19px}
.menu > li > a:not(.btn){display:block;padding:12px 0;font-family:var(--head);font-weight:600;font-size:15px;line-height:20px;color:var(--navy);text-decoration:none;white-space:nowrap}
.menu > li > a:not(.btn):hover,.menu > .is-current > a:not(.btn),.menu a[aria-current="page"]:not(.btn){text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--blue);text-underline-offset:6px}

/* Dropdowns */
.has-sub{position:relative;display:flex;align-items:center}
.sub-toggle{display:inline-grid;place-items:center;width:28px;height:44px;margin:0 -6px 0 2px;padding:0;border:0;border-radius:8px;background:none;color:var(--navy);cursor:pointer}
.sub-toggle:hover{color:var(--blue)}
.sub-toggle::before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s ease}
.sub-toggle[aria-expanded="true"]::before{transform:translateY(2px) rotate(-135deg)}
.sub{position:absolute;top:calc(100% + 8px);left:-14px;z-index:30;display:none;min-width:230px;padding:8px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.sub::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:10px}
.has-sub:focus-within > .sub,.has-sub.is-open > .sub,.sub-toggle[aria-expanded="true"] + .sub{display:block}
@media (hover:hover){.has-sub:hover > .sub{display:block}}
.sub a{display:block;padding:10px 14px;border-radius:8px;font-family:var(--head);font-weight:600;font-size:15px;line-height:24px;color:var(--navy);text-decoration:none;white-space:nowrap}
.sub a:hover{background:var(--soft)}

/* Hero */
.hero{padding:64px 0 88px}
.hero > .wrap,.hero > .wrap-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:60px}
.hero-wide > .wrap,.hero-wide > .wrap-wide{grid-template-columns:minmax(0,6.5fr) minmax(0,5.5fr)}
.hero .frame-45{justify-self:center;width:min(100% - var(--shift),440px)}
.hero-copy{text-align:center}
.hero-text{padding:64px 0 88px;text-align:center}
.hero-text > .wrap,.hero-text > .wrap-wide{display:block}
.hero-text .btns{margin-top:32px}

/* Trust strip */
.strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:-64px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.strip > li{display:flex;flex-direction:column;align-items:center;gap:12px;padding:26px 14px;font-family:var(--head);font-weight:600;font-size:17px;line-height:1.3;color:var(--navy);text-align:center;text-wrap:balance}
.strip > li + li{border-left:1px solid var(--line)}

/* Statement */
.statement{text-align:center}
.statement > p{font-size:20.5px}
.statement > .links{margin-top:14px}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.card{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;overflow:hidden;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}
.card-body{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;padding:26px 26px 20px}
.card-body > p{font-size:18px}
.card-body > .more{justify-self:center;align-self:end;margin-top:12px}

/* Features */
.features,.features-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.features-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.features > li{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;justify-items:center;padding:34px 26px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);text-align:center}
.features > li > .icon{margin-bottom:18px}
.features > li > p{font-size:18px}

/* Numbered steps */
.steps{--step-gap:40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--step-gap);row-gap:48px;counter-reset:step}
.steps-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-4{--step-gap:32px;grid-template-columns:repeat(4,minmax(0,1fr))}
.steps > li{position:relative;isolation:isolate;display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;justify-items:center;text-align:center;counter-increment:step}
.steps > li::before{content:counter(step);display:grid;place-items:center;width:56px;height:56px;margin-bottom:18px;border:2px solid var(--blue);border-radius:50%;background:var(--white);font-family:var(--head);font-weight:700;font-size:22px;line-height:1;color:var(--lead)}
.steps > li:not(:last-child)::after{content:"";position:absolute;z-index:-1;top:27px;left:50%;width:calc(100% + var(--step-gap));height:2px;background:var(--line)}
.steps > li > p{font-size:18px}

/* Panel and rows */
.panel{max-width:980px;margin-inline:auto;padding:12px 40px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg)}
.rows > div{padding:26px 0}
.rows > div + div{border-top:1px solid var(--line)}
.rows dt{font-family:var(--head);font-weight:700;font-size:19px;line-height:1.4;color:var(--lead)}
.rows dd{margin-top:6px}
.rows-side{text-align:left}
.rows-side > div{display:grid;grid-template-columns:32% minmax(0,1fr);align-items:baseline;column-gap:28px}
.rows-side dd{margin-top:0}
.rows .chips{margin-top:14px}
.rows-side .chips,.rows-side .btns,.rows-side .links{justify-content:flex-start}

/* Open two-by-two grid */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;margin-inline:auto}
.grid-2 > *{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0;padding:36px;text-align:center}
.grid-2 > :nth-child(2n){border-left:1px solid var(--line)}
.grid-2 > :nth-child(n+3){border-top:1px solid var(--line)}
.panel > h2 + .grid-2,.panel > .grid-2{max-width:none}
.panel:has(> .grid-2){padding:4px 28px}

/* Columns (rows inside each card: icon, heading, first paragraph, second paragraph, chips, link).
   No gap between the row tracks, so a row a card does not use takes no space; a second row of cards is set apart by a margin. */
.cols,.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:0}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols:not(.cols-3) > :nth-child(n+3),.cols-3 > :nth-child(n+4){margin-top:28px}
.cols > *{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0;justify-items:center;padding:34px 28px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);text-align:center}
.cols > * > .icon{grid-row:1;margin-bottom:18px}
.cols > * > :is(h2,h3){grid-row:2}
.cols > * > p:nth-of-type(1){grid-row:3}
.cols > * > p:nth-of-type(2){grid-row:4}
.cols > * > .chips{grid-row:5;align-self:start}
.cols > * > :is(.more,.links,.btns){grid-row:6;align-self:end;margin-top:14px}
.cols > * > p{font-size:18px}
.cols:has(+ .panel){max-width:980px;margin-inline:auto}

/* Split: media beside words */
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:60px}
.split-copy{text-align:center}
.split-flip > .split-copy{order:-1}
.split > .frame{justify-self:center;width:min(100% - var(--shift),var(--frame-max,100%))}
.split > .frame-45{--frame-max:400px}
.split > .frame-11{--frame-max:440px}
.split > .shot{justify-self:center}
.split-rows > .split + .split{margin-top:64px;padding-top:64px;border-top:1px solid var(--line)}
.split-rows .frame{--frame-max:460px}

/* Space between a section heading and the block under it */
:is(h2,.wrap-narrow) + :is(.cards,.features,.steps,.grid-2,.cols,.panel,.faq,.tiles,.split-rows){margin-top:44px}
:is(.cards,.features,.steps,.grid-2,.cols,.panel,.faq,.tiles,.split-rows) + :is(.links,.btns){margin-top:30px}
:is(.cards,.features,.steps,.grid-2,.cols,.panel,.faq,.tiles) + p:not([class]){max-width:800px;margin:32px auto 0}
:is(.cards,.features,.steps,.grid-2,.cols,.panel,.faq,.tiles) + :is(.cards,.features,.steps,.grid-2,.cols,.panel,.faq,.tiles){margin-top:28px}

/* Call-to-action band */
.cta-section{padding:var(--section) 0}
.cta-tight{padding-top:0}
.cta-flush{padding-bottom:0}
.cta{padding:44px 32px;background:var(--lead);border-radius:var(--radius-lg);color:var(--white);text-align:center}
.cta > p{max-width:760px;margin-inline:auto;font-family:var(--head);font-weight:600;font-size:25px;line-height:1.35;color:var(--white);text-wrap:balance}
.cta .btns{margin-top:24px}

/* Closing band */
.band{padding:84px 0;background:var(--navy);color:#DCE7F3;text-align:center}
.band h2{color:var(--white)}
.band p{max-width:720px;margin:16px auto 0;font-size:19.5px;color:#DCE7F3}
.band p a:not([class]){color:var(--white);text-decoration-color:#7FB4E3}
.band p a:not([class]):hover{color:var(--white);text-decoration-color:var(--white)}
.band .btns{margin-top:32px}

/* Callout */
.callout{position:relative;max-width:900px;margin:32px auto 0;padding:56px 48px;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);text-align:center}
.callout > .icon{position:absolute;top:0;left:50%;width:64px;height:64px;transform:translate(-50%,-50%)}
.callout > .icon svg{width:30px;height:30px}

/* Chips */
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.chips > li{padding:9px 18px;background:var(--soft);border:1px solid var(--line);border-radius:999px;font-family:var(--head);font-weight:600;font-size:15.5px;line-height:1.3;color:var(--navy)}
:is(.bg-soft,.bg-tint) .chips:not(.chips-sm) > li{background:var(--white)}
.chips-sm{gap:8px}
.chips-sm > li{padding:7px 14px;font-size:14.5px}
* + .chips{margin-top:24px}
h2 + .chips{margin-top:28px}
.wrap-narrow + .chips{max-width:800px;margin-inline:auto}
.chips + .links{margin-top:16px}

/* Questions and answers */
.faq{display:grid;gap:16px;max-width:860px;margin-inline:auto}
.faq > *{padding:28px 32px;background:var(--white);border:1px solid var(--line);border-radius:14px;text-align:center}
.faq h3{font-size:20px}
.faq p{font-size:18px}

/* Place tiles: every tile in a list is the same size, and a last row that is not full sits centered.
   The grid has two tracks for each tile across, so a short last row can begin part of the way in. */
.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:14px}
.tiles-4{grid-template-columns:repeat(8,minmax(0,1fr))}
.tiles > li,.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;grid-column:span 2;min-width:0;padding:18px 20px;background:var(--soft);border:1px solid var(--line);border-radius:14px;text-align:center}
:is(.bg-soft,.bg-tint) :is(.tiles > li,.tile){background:var(--white)}
@media (min-width:901px){
.tiles:not(.tiles-4) > :last-child:nth-child(3n+1){grid-column:3 / span 2}
.tiles:not(.tiles-4) > :nth-last-child(2):nth-child(3n+1){grid-column:2 / span 2}
.tiles-4 > :last-child:nth-child(4n+1){grid-column:4 / span 2}
.tiles-4 > :nth-last-child(2):nth-child(4n+1){grid-column:3 / span 2}
.tiles-4 > :nth-last-child(3):nth-child(4n+1){grid-column:2 / span 2}
}
@media (min-width:561px) and (max-width:900px){
.tiles > :last-child:nth-child(2n+1){grid-column:2 / span 2}
}
.tile-name{display:block;font-family:var(--body);font-weight:600;font-size:18px;line-height:1.35;color:var(--navy);text-wrap:balance}
.tile-note{display:block;font-family:var(--body);font-weight:400;font-size:16px;line-height:1.4;color:var(--text);text-wrap:balance}
.tile-town{display:block;font-family:var(--head);font-weight:700;font-size:13px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--lead);text-wrap:balance}

/* Closing line and signature */
.catch-all{max-width:760px;margin:40px auto 0;font-family:var(--body);font-weight:600;font-size:18.5px;line-height:1.5;color:var(--lead);text-align:center}
.catch-all::before,.sign-off::before{content:"";display:block;width:44px;height:3px;margin:0 auto 16px;border-radius:3px;background:var(--gold)}
.sign-off{margin-top:28px;font-size:19px}
.sign-off strong{font-weight:700;color:var(--navy)}

/* Privacy policy text */
.prose{max-width:760px;margin-inline:auto;text-align:left}
.prose h2{margin-top:48px;font-size:26px}
.prose > :first-child{margin-top:0}
.prose h3{margin-top:32px}
.prose ul,.prose ol{margin-top:14px;padding-left:1.4em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li + li{margin-top:8px}
.prose li::marker{color:var(--blue)}
.prose :is(ul,ol) + p{margin-top:16px}
.prose a{overflow-wrap:anywhere}
.page-privacy .hero-text{padding-bottom:56px}
.page-privacy .hero-text + section{padding-top:0}
.page-privacy .prose{padding-top:56px;border-top:1px solid var(--line)}

/* Footer */
.site-footer{padding:56px 0 36px;background:var(--soft);border-top:1px solid var(--line);text-align:center}
.footer-brand{display:inline-block}
.footer-brand img{width:auto;height:140px}
.site-footer .footer-line{max-width:560px;margin:14px auto 0;font-size:17px;text-wrap:balance}
.footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1040px;margin:36px auto 0}
.footer-cols > div{font-size:16.5px;line-height:1.6;text-wrap:balance}
.footer-cols .eyebrow{margin-bottom:6px}
.site-footer a:not(.footer-brand){color:var(--navy);text-decoration:none}
.site-footer a:not(.footer-brand):hover{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:2px;text-underline-offset:4px}
.footer-cols br{display:none}
.footer-cols a{display:block;width:fit-content;margin-inline:auto;padding:9px 0}
.footer-bottom{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.footer-bottom a{display:inline-block;padding:10px 0}
.footer-bottom .dot{margin:0 10px}

/* Focus rings and screen reader helpers */
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.util :focus-visible,.cta :focus-visible,.band :focus-visible{outline-color:var(--white)}
.skip-link{position:absolute;top:0;left:16px;z-index:100;padding:12px 22px;border-radius:0 0 12px 12px;background:var(--white);color:var(--navy);font-family:var(--head);font-weight:700;font-size:16px;text-decoration:none;transform:translateY(-120%)}
.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Header from 1101px to 1240px: tighter, so it stays on one line */
@media (min-width:1101px) and (max-width:1240px){
.brand img{height:52px}
.menu{gap:14px}
.menu > li > a:not(.btn){font-size:14px}
.menu-cta .btn{padding:12px 18px}
}

/* 1100px and down: the Menu button and the full-width menu panel */
@media (max-width:1100px){
.header-bar{column-gap:16px}
.brand img{height:48px}
.menu-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 18px 10px 16px;border:2px solid var(--navy);border-radius:999px;background:transparent;color:var(--navy);font-family:var(--head);font-weight:700;font-size:15px;line-height:1.2;cursor:pointer}
.menu-toggle:hover{background:var(--navy);color:var(--white)}
.menu-toggle-icon,.menu-toggle-icon::before,.menu-toggle-icon::after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
.menu-toggle-icon{position:relative}
.menu-toggle-icon::before,.menu-toggle-icon::after{content:"";position:absolute;left:0;transition:transform .15s ease}
.menu-toggle-icon::before{top:-6px}
.menu-toggle-icon::after{top:6px}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon{background:transparent}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle-icon::after{top:0;transform:rotate(-45deg)}
.site-menu{display:none;flex:0 0 calc(100% + 64px);margin:14px -32px -14px;background:var(--white);border-top:1px solid var(--line)}
.site-menu.is-open{display:block}
.menu{display:block;max-width:560px;margin-inline:auto;padding:4px 20px 28px;text-align:center}
.menu > li{border-bottom:1px solid var(--line)}
.menu > li > a:not(.btn){padding:14px 0;font-size:17px;line-height:1.4}
.has-sub{display:block}
.sub-toggle{display:none}
.sub{position:static;display:block;min-width:0;margin-top:-4px;padding:0 0 12px;background:none;border:0;border-radius:0;box-shadow:none}
.sub::before{content:none}
.sub a{font-size:15.5px;font-weight:500}
.menu > .menu-cta{padding-top:22px;border-bottom:0}
.menu-cta .btn{display:flex;width:100%;padding:16px 24px;font-size:16.5px}
}
@media (scripting:none) and (max-width:1100px){
.menu-toggle{display:none}
.site-menu{display:block}
}

/* 1000px and down: hero, splits, cards, and steps stack */
@media (max-width:1000px){
.hero > .wrap,.hero > .wrap-wide,.hero-wide > .wrap,.hero-wide > .wrap-wide{grid-template-columns:minmax(0,1fr);gap:40px}
.hero .frame{justify-self:center;width:min(100% - var(--shift),560px)}
.hero .frame-45{width:min(100% - var(--shift),440px)}
.hero-copy{justify-self:center;width:100%;max-width:680px}
.strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.strip > li + li{border-left:0}
.strip > li:nth-child(2n){border-left:1px solid var(--line)}
.strip > li:nth-child(n+3){border-top:1px solid var(--line)}
.cards{grid-template-columns:minmax(0,460px);justify-content:center}
.features,.features-3{grid-template-columns:minmax(0,560px);justify-content:center}
.features-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.steps,.steps-3,.steps-4{grid-template-columns:minmax(0,560px);justify-content:center}
.steps > li::after{display:none}
.split{grid-template-columns:minmax(0,1fr);gap:40px}
.split-flip > .split-copy{order:0}
.split-text-first > .split-copy{order:-1}
.split > .frame{width:min(100% - var(--shift),var(--frame-max,560px))}
.split > .shot{max-width:560px}
.split-copy{justify-self:center;width:100%;max-width:680px}
.split-rows > .split + .split{margin-top:56px;padding-top:56px}
}

/* 900px and down */
@media (max-width:900px){
.cols,.cols-2,.cols-3{grid-template-columns:minmax(0,560px);justify-content:center}
.cols:has(+ .panel){grid-template-columns:minmax(0,1fr)}
.cols > * + *{margin-top:28px}
.tiles,.tiles-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
}

/* 700px and down */
@media (max-width:700px){
.grid-2{grid-template-columns:minmax(0,1fr)}
.grid-2 > *{padding:30px 8px}
.grid-2 > :nth-child(2n){border-left:0}
.grid-2 > * + *{border-top:1px solid var(--line)}
.rows-side > div{grid-template-columns:minmax(0,1fr);row-gap:6px}
}

/* 640px and down: spacing and type step down */
@media (max-width:640px){
.wrap,.wrap-narrow,.wrap-wide{padding-inline:20px}
h3{font-size:20px}
.util-mid{display:none}
.site-menu{flex-basis:calc(100% + 40px);margin-inline:-20px}
.hero{padding:40px 0 64px}
.hero-text{padding:48px 0 72px}
.page-privacy .hero-text{padding-bottom:44px}
.page-privacy .prose{padding-top:44px}
.frame:not(.frame-plain){--shift:14px}
.strip > li{padding:22px 10px}
.links{flex-direction:column;align-items:center}
.features > li,.cols > *{padding:30px 22px}
.panel{padding:12px 22px}
.cta{padding:36px 22px}
.cta > p{font-size:21px}
.band{padding:64px 0}
.callout{padding:40px 24px}
.faq > *{padding:24px 20px}
.footer-brand img{height:110px}
}

/* 600px and down */
@media (max-width:600px){
.features-4{grid-template-columns:minmax(0,1fr)}
}

/* 560px and down */
@media (max-width:560px){
.tiles,.tiles-4{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
.tiles > li,.tile{grid-column:auto}
.footer-cols{grid-template-columns:minmax(0,1fr)}
.footer-bottom .dot{display:none}
.footer-bottom a{display:block}
}

/* 400px and down: let long buttons wrap instead of pushing past the edge */
@media (max-width:400px){
.util{letter-spacing:.03em}
.util-sep{margin:0 8px}
.btn,.btn[href^="tel:"]{white-space:normal}
.btn-lg{padding:18px 26px}
.cta{padding-inline:16px}
}

/* Style guide page (internal reference, never linked) */
main > section.sg{padding:48px 0}
main > section.sg + section.sg{border-top:1px solid var(--line)}
.sg-bar{padding-top:40px}
.sg-label{display:inline-block;margin:0 0 24px;padding:6px 14px;background:var(--white);border:1px solid var(--line);border-radius:999px;font-family:var(--head);font-weight:600;font-size:15px;line-height:1.3;color:var(--muted);text-wrap:balance}
.sg-label + *{margin-top:0}
.sg-label + .callout{margin-top:56px}
.sg-dark{padding:28px 24px;background:var(--navy);border-radius:var(--radius-lg)}
.sg-dark > .btns{margin-top:0}
.sg-dark :focus-visible{outline-color:var(--white)}
.sg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:36px 32px;align-items:start}
