@font-face {
  font-family: "Site Sans";
  src: url("/assets/site-sans-400.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Site Sans";
  src: url("/assets/site-sans-600.woff") format("woff");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  font-family: "Site Sans", Arial, sans-serif;
  color: #153f3b;
  background: #fffefa;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --petrol: #0b4655;
  --green: #2f7d32;
  --forest: #064a34;
  --pale: #dcead2;
  --cream: #f7f5ef;
  --ink: #153f3b;
  --muted: #626e64;
  --line: #dcded4;
  --focus: #466d2c;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 124px; }
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; }
img { max-width: 100%; }
[hidden] { display: none !important; }
button, input, select, textarea { border-radius: 0; }
button { border: 0; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { font-weight: 600; }
h1, h2 { letter-spacing: -0.045em; }
h1, h2, h3 { text-wrap: balance; }
p { line-height: 1.8; }
::selection { background: var(--pale); color: var(--forest); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 5px; }
section[id] { scroll-margin-top: 118px; }

.container { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.icon { width: 24px; height: 24px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 100; padding: 12px 20px; background: var(--forest); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

.topbar { padding: 9px 0; background: var(--forest); color: #f5f5e9; font-size: 11px; line-height: 1.5; letter-spacing: 0.035em; }
.topbar .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topbar p { margin: 0; line-height: inherit; }
.topbar a { display: inline-flex; align-items: center; gap: 7px; }
.topbar .icon { width: 13px; height: 13px; }
.topbar .container > span { display: inline-flex; align-items: center; gap: 6px; }
.topbar a:hover { color: var(--pale); }
.site-header { position: sticky; top: 0; z-index: 50; background: #f7f7f7; border-bottom: 1px solid #e5e7df; }
.header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: block; position: relative; width: 210px; height: 88px; flex: 0 0 210px; overflow: hidden; }
.brand img { position: absolute; width: 210px; max-width: none; height: 210px; top: -62px; left: 0; object-fit: contain; }
.site-menu { display: flex; align-items: center; gap: 30px; font-size: 13px; font-weight: 600; }
.site-menu > a:not(.button) { min-width: 44px; padding: 16px 0; position: relative; }
.site-menu > a:not(.button)::after { content: ""; position: absolute; bottom: 9px; left: 0; width: 100%; height: 1px; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.site-menu > a:not(.button):hover::after,
.site-menu > a[aria-current="page"]::after { transform: scaleX(1); }
.menu-toggle { display: none; }
.site-header.is-scrolled { box-shadow: 0 3px 15px #064a3408; }

.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 16px 25px; border: 1px solid var(--forest); border-radius: 999px; background: var(--forest); color: white; font-size: 13px; font-weight: 600; line-height: 1.5; text-align: center; transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.button .icon { width: 18px; height: 18px; }
.button:hover { background: #0c5f43; border-color: #0c5f43; transform: translateY(-2px); }
.button-small { min-height: 44px; padding: 11px 19px; font-size: 12px; }
.button-outline { color: var(--forest); background: transparent; border-color: #9fab99; }
.button-outline:hover { color: var(--forest); background: var(--pale); border-color: var(--pale); }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; line-height: 1.5; }
button.text-link { min-width: 44px; padding: 0; background: transparent; text-align: left; }
.text-link .icon { width: 17px; height: 17px; transition: transform 180ms ease; }
.text-link:hover .icon { transform: translateX(4px); }
.eyebrow, .section-label { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: var(--green); font-size: 10px; font-weight: 600; line-height: 1.6; letter-spacing: 0.15em; text-transform: uppercase; }
.eyebrow::before, .section-label::before { content: ""; display: block; width: 20px; height: 1px; background: currentColor; }
h1 em, h2 em { font-family: inherit; font-style: normal; font-weight: inherit; color: var(--green); letter-spacing: inherit; }

.hero { padding-top: 68px; background: var(--forest); color: #fffefa; }
.hero-grid { display: grid; grid-template-columns: 1.08fr 1fr; min-height: 500px; align-items: center; gap: 62px; }
.hero-copy { padding: 9px 0 28px; }
.hero-copy h1 { max-width: 630px; margin-bottom: 25px; font-size: clamp(50px, 4.8vw, 64px); line-height: 1.12; letter-spacing: -0.04em; }
.hero-copy h1 em { color: var(--pale); }
.hero-copy .eyebrow { color: #c8dfb8; }
.hero-copy .lead { max-width: 445px; margin-bottom: 30px; color: #d2dfd6; font-size: 15px; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.hero-actions .button { background: var(--pale); border-color: var(--pale); color: var(--forest); }
.hero-actions .button:hover { background: #f0f5e8; border-color: #f0f5e8; }
.hero-actions .text-link { color: #fffefa; }
.hero-note { display: flex; align-items: center; gap: 7px; margin: 20px 0 0; color: #c2d5c8; font-size: 10px; line-height: 1.5; }
.hero-note .icon { width: 13px; height: 13px; color: var(--pale); }
.hero-visual { position: relative; padding-bottom: 27px; }
.hero-image { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; object-position: 65% center; border-radius: 100px 12px 12px 12px; }
.photo-index { position: absolute; top: 22px; right: 22px; padding: 10px 14px; border: 1px solid #ffffff60; border-radius: 3px; background: #fffefae6; color: var(--forest); font-size: 8px; line-height: 1.7; font-weight: 600; letter-spacing: 0.08em; }
.photo-note { position: absolute; bottom: 0; left: -25px; display: flex; align-items: center; gap: 15px; max-width: calc(100% - 30px); padding: 20px 25px; background: var(--cream); border: 1px solid #e3e4d7; border-radius: 5px; box-shadow: 0 6px 22px #073e3010; }
.photo-note > .icon { width: 33px; height: 33px; color: var(--green); stroke-width: 1.25; }
.photo-note p { margin: 0; color: var(--ink); font-size: 12px; line-height: 1.7; }
.photo-note strong { font-weight: 600; font-size: 13px; }
.photo-note span { color: var(--muted); font-size: 11px; }
.hero-bottom { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-top: 47px; padding: 29px 0 33px; border-top: 1px solid #b9d0bf40; }
.value-item { display: flex; align-items: center; gap: 14px; }
.value-item > .icon { color: var(--pale); width: 25px; height: 25px; }
.value-item strong { display: block; margin-bottom: 3px; font-size: 12px; font-weight: 600; }
.value-item p, .value-item span { margin: 0; color: #d2dfd6; font-size: 11px; line-height: 1.5; }

.section { padding: 96px 0; }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 65px; margin-bottom: 41px; }
.section-heading > div { flex: 1 1 55%; }
.section-heading h2, .about-copy h2, .faq-grid h2, .contact-grid h2 { margin-bottom: 0; font-size: clamp(34px, 3.2vw, 46px); line-height: 1.15; }
.section-heading > p { flex: 0 1 330px; margin: 0 0 3px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.section-heading .section-label { margin-bottom: 15px; }
.protection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.protection-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 240px; overflow: hidden; padding: 32px; border: 1px solid #e0e4d7; border-radius: 10px; background: var(--cream); transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease; }
.protection-card:hover { background: #edf2e7; border-color: #c7d6bd; transform: translateY(-3px); }
.protection-card:nth-child(even) { background: var(--pale); border-color: var(--pale); }
.protection-card:nth-child(even):hover { background: #d1e2c5; border-color: #d1e2c5; }
.protection-card:nth-child(-n+2) { min-height: 340px; padding: 36px; }
.protection-card:first-child { background: var(--petrol); color: white; border-color: var(--petrol); }
.protection-card:first-child:hover { background: #0e5363; border-color: #0e5363; }
.protection-card:nth-child(-n+2) h3 { max-width: 360px; font-size: 31px; letter-spacing: -0.04em; }
.protection-card:nth-child(-n+2) .card-top { margin-bottom: 33px; }
.protection-card:nth-child(-n+2) .card-top > .icon { width: 40px; height: 40px; }
.protection-card:first-child h3, .protection-card:first-child .card-link { color: #fffefa; }
.protection-card:first-child p, .protection-card:first-child .card-number { color: #cbdedc; }
.protection-card:first-child .card-top { color: var(--pale); }
.card-top { width: 100%; display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; color: var(--green); }
.card-top > .icon { width: 31px; height: 31px; stroke-width: 1.4; }
.card-number { color: #616d5c; font-size: 10px; letter-spacing: 0.08em; }
.protection-card h3 { margin-bottom: 13px; color: var(--forest); font-size: 19px; line-height: 1.4; letter-spacing: -0.03em; }
.protection-card p { max-width: 400px; margin-bottom: 28px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--forest); font-size: 11px; font-weight: 600; }
.card-link .icon { width: 15px; height: 15px; transition: transform 180ms ease; }
.protection-card:hover .card-link .icon { transform: translateX(3px); }
.section-footnote { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 5px; margin: 28px 0 0; color: var(--muted); font-size: 12px; }
.section-footnote a { display: inline-flex; align-items: center; min-height: 44px; gap: 6px; color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.section-footnote .icon { width: 16px; height: 16px; }

.about-section { background: #edf2e7; }
.about-grid { display: grid; grid-template-columns: 0.95fr 1fr; align-items: center; gap: 96px; }
.about-art { position: relative; min-height: 440px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; overflow: hidden; padding: 42px; border-radius: 7px 90px 7px 7px; background: var(--forest); color: white; }
.about-art > .section-label { position: absolute; top: 36px; left: 42px; color: var(--pale); font-size: 9px; }
.about-mark { position: absolute; top: 42px; right: 36px; width: 174px; height: 174px; color: #94bc8a; opacity: 0.25; }
.about-mark .icon, .about-mark > svg { width: 100%; height: 100%; stroke-width: 0.85; }
.about-mark:is(svg) { stroke-width: 0.85; }
.about-quote { position: relative; max-width: 305px; margin: 0 0 36px; font-size: 34px; font-weight: 400; letter-spacing: -0.035em; line-height: 1.32; }
.about-quote em { font-family: inherit; font-style: normal; font-weight: 600; color: var(--pale); }
.about-art-footer { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 22px; border-top: 1px solid #638e703f; font-size: 10px; letter-spacing: 0.045em; }
.about-art-footer .icon { width: 20px; height: 20px; color: var(--pale); }
.about-copy h2 { margin-bottom: 23px; }
.about-copy h1 { font-size: clamp(34px, 3.2vw, 46px); line-height: 1.15; margin-bottom: 23px; }
.about-copy > p:not(.section-label) { color: #5f7061; font-size: 13px; line-height: 1.95; }
.about-copy > p.eyebrow { color: var(--green); font-size: 10px; }
.check-list { list-style: none; padding: 0; margin: 25px 0 30px; }
.check-list li { display: flex; align-items: flex-start; gap: 11px; margin: 14px 0; font-size: 12px; line-height: 1.75; }
.check-list .icon { width: 18px; height: 18px; margin-top: 1px; color: var(--green); }

.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 35px; }
.process-step { position: relative; }
.step-number { display: flex; flex: 0 0 43px; align-items: center; justify-content: center; width: 43px; height: 43px; border: 1px solid #c6d3be; border-radius: 50%; color: var(--green); background: #f8faf5; font-size: 12px; }
.step-line { display: flex; align-items: center; gap: 20px; margin-bottom: 26px; }
.step-line::after { content: ''; height: 1px; flex: 1; background: var(--line); }
.step-line > .icon { display: none; }
.process-step:last-child .step-line::after { background: transparent; }
.process-step h3 { margin-bottom: 13px; font-size: 19px; letter-spacing: -0.03em; line-height: 1.4; }
.process-step p { max-width: 300px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.process-section { --focus: #d7e7bb; background: #123d43; color: #fffefa; }
.process-section .section-label, .process-section .eyebrow { color: var(--pale); }
.process-section .section-heading > p, .process-section .process-step p { color: #cfdfdc; }
.process-section h2 em { color: var(--pale); }
.process-section .step-number { border-color: #8db6ab75; background: transparent; color: var(--pale); }
.process-section .step-line::after { background: #87aaa26b; }
.process-section .process-step:last-child .step-line::after { background: transparent; }

.faq-section { background: var(--cream); border-top: 1px solid #edede5; }
.faq-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 100px; }
.faq-grid h2 { max-width: 360px; margin-bottom: 23px; }
.faq-grid > div > p:not(.section-label) { max-width: 300px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.faq-grid .text-link { margin-top: 7px; }
.faq-list details { border-bottom: 1px solid #d9ddd1; }
.faq-list details:first-child { border-top: 1px solid #d9ddd1; }
.faq-list summary { position: relative; padding: 23px 35px 23px 0; font-size: 13px; font-weight: 600; line-height: 1.6; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary > span { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 2px; top: 20px; color: var(--green); font-weight: 400; font-size: 23px; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details > p, .faq-list details > div { padding-right: 35px; margin: -3px 0 23px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.faq-list summary:hover { color: var(--green); }

.contact-section { --focus: #d7e7bb; background: #0a3038; color: #fffefa; }
.contact-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 110px; align-items: start; }
.contact-grid .section-label { color: #c4d8ae; }
.contact-grid > div > p.eyebrow { color: #c4d8ae; font-size: 10px; }
.contact-grid h2 { margin-bottom: 24px; }
.contact-grid h2 em { color: #c4d8ae; }
.contact-grid > div > p:not(.section-label) { max-width: 350px; color: #c1d3c6; font-size: 13px; line-height: 1.95; }
.contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 38px; }
.contact-details a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; gap: 13px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.contact-details a > span { min-width: 0; }
.instagram-mark { font-size: 24px; color: #b5d19d; line-height: 1; }
.contact-details a:hover { color: var(--pale); }
.contact-details .icon { width: 19px; height: 19px; color: #b5d19d; }
.contact-details small { display: block; margin-bottom: 3px; color: #a8c0ae; font-size: 10px; }
.contact-form { --focus: #466d2c; position: relative; padding: 34px; border-radius: 12px; background: var(--cream); color: var(--ink); }
.contact-form h3 { margin-bottom: 7px; font-size: 20px; letter-spacing: -0.03em; }
.contact-form > p:first-of-type { margin-bottom: 24px; color: var(--muted); font-size: 12px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-form label { display: block; min-width: 0; margin: 0 0 18px; font-size: 11px; font-weight: 600; line-height: 1.6; }
.contact-form label span { color: var(--muted); font-weight: 400; }
.contact-form input, .contact-form select, .contact-form textarea { display: block; width: 100%; min-width: 0; margin-top: 8px; padding: 13px 14px; border: 1px solid #cdd4c4; border-radius: 5px; background: #fffefa; color: var(--ink); font-size: 13px; font-weight: 400; line-height: 1.5; transition: border-color 150ms ease; }
.contact-form input, .contact-form select { min-height: 46px; }
.contact-form textarea { min-height: 110px; resize: vertical; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #616d5c; }
.contact-form input:hover, .contact-form select:hover, .contact-form textarea:hover { border-color: #a9b59e; }
.contact-form .button { width: 100%; margin-top: 6px; }
.contact-form .form-hint { margin: 14px 0 0; color: #616d5c; font-size: 9px; line-height: 1.7; }
.form-hint a { text-decoration: underline; text-underline-offset: 3px; }
#form-status { margin: 14px 0 0; color: var(--forest); font-size: 12px; line-height: 1.7; }
#form-status:empty { display: none; }
#form-status[data-state="error"] { color: #923e30; }
#form-status[data-state="success"] { padding: 12px; border: 1px solid #bfd0b2; border-radius: 3px; background: #e9f1e2; }

.site-footer { padding-top: 37px; background: #f7f7f7; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-bottom: 31px; }
.footer-top > p { max-width: 300px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.footer-top nav, .footer-links { display: flex; flex-wrap: wrap; gap: 24px; font-size: 11px; }
.footer-links a { display: inline-flex; align-items: center; gap: 5px; }
.footer-links .icon { width: 14px; height: 14px; }
.footer-top nav a:hover, .footer-links a:hover, .footer-bottom a:hover { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 21px 0; border-top: 1px solid var(--line); color: #616d5c; font-size: 10px; line-height: 1.7; }
.footer-bottom p { margin: 0; }

.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 32px; color: #616d5c; font-size: 10px; line-height: 1.7; }
.breadcrumbs .icon { width: 11px; height: 11px; }
.breadcrumbs a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
.breadcrumbs a:hover { color: var(--green); }
.breadcrumbs [aria-current] { color: var(--ink); }
.inner-hero { padding: 50px 0 68px; border-bottom: 1px solid var(--line); }
.inner-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; align-items: center; gap: 100px; margin-top: 40px; }
.inner-grid h1 { margin-bottom: 23px; font-size: clamp(44px, 4.6vw, 65px); line-height: 1.1; }
.inner-grid .lead { max-width: 530px; margin-bottom: 28px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.inner-visual { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: space-between; min-height: 340px; padding: 40px 25px; gap: 25px; overflow: hidden; border-radius: 70px 6px 6px; background: var(--forest); color: var(--pale); }
.inner-visual .section-label { color: var(--pale); font-size: 9px; margin: 0; }
.inner-visual > span:last-child { font-size: 10px; text-align: center; }
.inner-visual .huge-icon, .huge-icon { width: 132px; height: 132px; stroke-width: 1; }
.inner-visual p { position: absolute; right: 26px; bottom: 20px; left: 26px; margin: 0; color: #c3d7c3; text-align: center; font-size: 10px; letter-spacing: 0.05em; }
.detail-grid { display: grid; grid-template-columns: 1fr 330px; align-items: start; gap: 90px; }
.detail-content h2 { margin-top: 46px; margin-bottom: 20px; font-size: 32px; line-height: 1.2; }
.detail-content h2:first-child { margin-top: 0; }
.detail-content > .eyebrow + h2 { margin-top: 0; }
.detail-content h3 { margin-top: 30px; margin-bottom: 12px; font-size: 21px; line-height: 1.4; letter-spacing: -0.025em; }
.detail-content > p { color: var(--muted); font-size: 14px; line-height: 1.95; }
.detail-list { display: grid; gap: 16px; margin: 26px 0 30px; padding: 0; list-style: none; }
.detail-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.8; }
.detail-list .icon { width: 19px; height: 19px; margin-top: 3px; color: var(--green); }
.detail-list strong { display: block; font-weight: 600; }
.detail-aside { position: sticky; top: 131px; padding: 30px; border: 1px solid #d9e1d0; border-radius: 5px; background: #edf2e7; }
.detail-aside > .icon { margin-bottom: 20px; color: var(--green); width: 30px; height: 30px; }
.detail-aside h3 { margin-bottom: 14px; font-size: 25px; line-height: 1.3; letter-spacing: -0.03em; }
.detail-aside p { margin-bottom: 23px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.detail-aside .button { width: 100%; padding-inline: 15px; font-size: 11px; }
.detail-aside small { display: block; margin-top: 16px; color: #616d5c; text-align: center; font-size: 9px; line-height: 1.7; }
.callout { display: flex; gap: 14px; align-items: flex-start; padding: 20px 24px; border-left: 2px solid #91ac74; background: var(--cream); color: var(--muted); font-size: 12px; line-height: 1.9; }
.callout p { margin-bottom: 0; }
.question-list { padding-left: 19px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.question-list li { margin: 12px 0; padding-left: 6px; }
.question-list li::marker { color: var(--green); }
.privacy-content { max-width: 800px; }
.privacy-content h1 { margin-bottom: 24px; font-size: clamp(38px, 4vw, 56px); line-height: 1.15; }
.privacy-content h2 { margin: 40px 0 17px; font-size: 27px; line-height: 1.3; }
.privacy-content h3 { margin: 28px 0 13px; font-size: 19px; }
.privacy-content :where(p:not(.eyebrow):not(.section-label), li) { color: var(--muted); font-size: 16px; line-height: 1.9; }
.privacy-content li { margin: 10px 0; }
.privacy-content a:not(.button) { color: var(--forest); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.not-found { padding: 100px 0 130px; text-align: center; }
.not-found .section-label { justify-content: center; }
.not-found h1 { font-size: clamp(40px, 5vw, 66px); line-height: 1.15; }
.not-found p { max-width: 470px; margin: 0 auto 28px; color: var(--muted); font-size: 14px; }

.contact-form .consent-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 19px;
  color: #52604f;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.8;
}
.contact-form .consent-label input[type="checkbox"] {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  min-height: 0;
  margin: 2px 0 0;
  padding: 0;
  border-radius: 3px;
  accent-color: var(--forest);
}
.consent-label a { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.contact-form .hp-field { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.contact-form .button:disabled { cursor: wait; opacity: 0.7; transform: none; }
.contact-form [aria-invalid="true"] { border-color: #a74332; }
.form-success, .form-error { margin-top: 18px; padding: 14px 16px; border: 1px solid; border-radius: 5px; font-size: 12px; line-height: 1.8; }
.form-success { color: #164b27; background: #e6f1df; border-color: #aec99e; }
.form-error { color: #863322; background: #fff1eb; border-color: #e1ae9f; }
.form-success p:last-child, .form-error p:last-child { margin-bottom: 0; }
.form-success:empty, .form-error:empty { display: none; }
.floating-whatsapp { position: fixed; right: 27px; bottom: 25px; z-index: 45; display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 54px; min-height: 54px; padding: 15px 18px; border: 1px solid #ffffff90; border-radius: 999px; background: var(--forest); color: #fffefa; box-shadow: 0 5px 20px #03372825; font-size: 12px; font-weight: 600; transition: background-color 180ms ease, transform 180ms ease; }
.floating-whatsapp:hover { background: #0c6044; transform: translateY(-3px); }
.floating-whatsapp .icon { width: 23px; height: 23px; }

.protection-filter, .blog-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 27px; }
.protection-filter button, .blog-filters button { min-height: 40px; padding: 10px 19px; border: 1px solid #cbd5c3; border-radius: 999px; background: transparent; color: var(--forest); font-size: 11px; line-height: 1.5; transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease; }
.protection-filter button:hover, .blog-filters button:hover { border-color: #99b185; background: #edf2e7; }
.protection-filter button[aria-pressed="true"], .blog-filters button[aria-pressed="true"] { background: var(--forest); border-color: var(--forest); color: #fffefa; }
.page-intro { max-width: 830px; padding: 54px 0 43px; }
.page-intro h1 { margin-bottom: 22px; font-size: clamp(42px, 4.6vw, 65px); line-height: 1.1; }
.page-intro > p:not(.eyebrow):not(.section-label) { max-width: 600px; margin-bottom: 0; color: var(--muted); font-size: 15px; line-height: 1.9; }
.page-intro .eyebrow, .page-intro .section-label { margin-bottom: 20px; }

.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.article-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; align-items: flex-start; border: 1px solid #dfe4d6; border-radius: 10px; background: var(--cream); transition: border-color 180ms ease, transform 180ms ease; }
.article-card:hover { border-color: #aebe9f; transform: translateY(-3px); }
.article-card > img, .article-card > a:first-child > img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.article-card > a:has(> img) { display: block; width: 100%; }
.article-card > header, .article-card > .article-card-body { width: 100%; padding: 28px 27px 0; }
.article-card > header + p, .article-card > .article-excerpt { margin: 0 27px 23px; }
.article-card > .article-meta { margin: 24px 27px 14px; }
.article-card > .eyebrow, .article-card > .section-label { margin: 26px 27px 17px; }
.article-card > h2, .article-card > h3 { margin-inline: 27px; }
.article-card > p:not(.article-meta):not(.eyebrow):not(.section-label) { margin-inline: 27px; }
.article-card h2, .article-card h3 { margin-bottom: 15px; font-size: 23px; line-height: 1.3; letter-spacing: -0.035em; }
.article-card h2 a:hover, .article-card h3 a:hover { color: var(--green); }
.article-card p:not(.article-meta):not(.eyebrow):not(.section-label) { color: var(--muted); font-size: 12px; line-height: 1.85; }
.article-card .article-category { display: inline-flex; margin-bottom: 14px; color: var(--green); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; line-height: 1.6; text-transform: uppercase; }
.article-card > .text-link, .article-card > .card-link { margin: auto 27px 27px; padding-top: 5px; }
.article-card-body { display: flex; flex: 1; flex-direction: column; }
.article-card-body .text-link, .article-card-body .card-link { margin-top: auto; margin-bottom: 27px; padding-top: 7px; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; color: #5e6b59; font-size: 10px; line-height: 1.7; }
.article-meta .icon { width: 13px; height: 13px; }
.article-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.blog-empty { padding: 47px 25px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream); color: var(--muted); font-size: 14px; line-height: 1.9; text-align: center; }
.article-body { max-width: 760px; margin-inline: auto; color: #52604f; font-size: 16px; line-height: 1.95; overflow-wrap: anywhere; }
.article-body h1, .article-body h2, .article-body h3 { color: var(--forest); }
.article-body h1 { margin-bottom: 27px; font-size: clamp(38px, 4vw, 58px); line-height: 1.13; }
.article-body h2 { margin: 43px 0 18px; font-size: 32px; line-height: 1.25; }
.article-body h3 { margin: 31px 0 14px; font-size: 24px; line-height: 1.35; letter-spacing: -0.025em; }
.article-body p { margin-bottom: 22px; line-height: 1.95; }
.article-body ul, .article-body ol { margin: 22px 0 29px; padding-left: 24px; }
.article-body li { margin: 11px 0; padding-left: 5px; }
.article-body li::marker { color: var(--green); }
.article-body a:not(.button) { color: var(--forest); text-decoration: underline; text-underline-offset: 4px; }
.article-body img { width: 100%; height: auto; margin: 28px 0; border-radius: 10px; }
.article-body blockquote { margin: 29px 0; padding: 15px 25px; border-left: 3px solid #7d9e60; background: var(--cream); }
.article-body blockquote p:last-child { margin-bottom: 0; }
.article-body .article-meta { margin-bottom: 29px; }
.article-body .callout { margin-block: 31px; }
.article-body > .button { margin-top: 10px; }

.social-section { background: #edf2e7; }
.social-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 23px; }
.social-card { min-width: 0; overflow: hidden; border: 1px solid #d5decd; border-radius: 10px; background: #fffefa; }
.social-card > img, .social-card > a > img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.social-card > a:has(> img) { display: block; }
.social-card > div:not(.instagram-embed), .social-card > header { padding: 25px; }
.social-card h3 { margin-bottom: 13px; font-size: 21px; line-height: 1.35; letter-spacing: -0.03em; }
.social-card p { margin-bottom: 18px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.social-card .text-link { font-size: 11px; }
.instagram-preview { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 325px; padding: 29px; border: 1px solid #d4deca; border-radius: 10px; background: #fffefa; }
.instagram-preview > .icon { width: 33px; height: 33px; margin-bottom: 32px; color: var(--green); }
.instagram-preview h3 { max-width: 260px; margin-bottom: 15px; font-size: 23px; line-height: 1.35; letter-spacing: -0.035em; }
.instagram-preview p { max-width: 280px; margin-bottom: 24px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.load-instagram { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; margin-top: auto; padding: 11px 18px; border: 1px solid var(--forest); border-radius: 999px; background: var(--forest); color: #fffefa; font-size: 11px; line-height: 1.5; }
.load-instagram:hover { background: #0b6044; border-color: #0b6044; }
.load-instagram .icon { width: 16px; height: 16px; }
.instagram-embed { min-width: 0; width: 100%; overflow: hidden; border-radius: 10px; }
.instagram-embed iframe { display: block; width: 100%; max-width: 100%; min-height: 480px; margin: 0; border: 0; background: white; }
.instagram-embed .instagram-media { width: 100% !important; min-width: 0 !important; margin: 0 !important; }

@media (min-width: 1450px) {
  .hero { padding-top: 70px; }
  .hero-grid { gap: 66px; }
}

@media (max-width: 1100px) {
  .site-menu { gap: 20px; }
  .hero-grid { gap: 34px; }
  .hero-copy h1 { font-size: 59px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { padding-inline: 20px; }
  .about-grid { gap: 58px; }
  .faq-grid { gap: 65px; }
  .contact-grid { gap: 60px; }
  .protection-card { padding-inline: 21px; }
  .detail-grid { gap: 60px; }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 105px; }
  section[id] { scroll-margin-top: 105px; }
  .container { width: min(1200px, calc(100% - 48px)); }
  .header-inner { min-height: 87px; gap: 20px; }
  .menu-toggle { display: flex; width: 44px; height: 44px; padding: 10px; align-items: center; justify-content: center; background: transparent; border: 1px solid #dce1d4; border-radius: 4px; }
  .menu-toggle { flex-direction: column; gap: 6px; }
  .menu-toggle span { width: 21px; height: 1.5px; background: var(--forest); transition: transform 180ms ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.75px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.75px) rotate(-45deg); }
  .menu-toggle .icon { width: 21px; height: 21px; }
  .site-menu { position: absolute; top: 100%; left: 0; right: 0; display: none; align-items: stretch; gap: 0; padding: 13px 24px 24px; border-bottom: 1px solid #dce1d4; background: #fffefa; box-shadow: 0 14px 18px #163d2e08; }
  .site-menu.is-open { display: flex; flex-direction: column; }
  .site-menu > a:not(.button) { padding: 14px 0; border-bottom: 1px solid #eef0e7; }
  .site-menu > a:not(.button)::after { display: none; }
  .site-menu .button { align-self: flex-start; margin-top: 17px; }
  .hero { padding-top: 43px; }
  .hero-grid { grid-template-columns: 1fr 0.95fr; gap: 28px; }
  .hero-copy h1 { font-size: 48px; }
  .hero-copy .lead { font-size: 13px; }
  .hero-copy { padding-block: 0; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .hero-image { aspect-ratio: 0.84; border-top-left-radius: 76px; }
  .hero-note { font-size: 9px; }
  .photo-note { left: -15px; max-width: calc(100% - 5px); padding: 16px; gap: 10px; }
  .photo-note > .icon { width: 27px; height: 27px; }
  .photo-note strong { font-size: 11px; }
  .photo-note span, .photo-note p { font-size: 10px; }
  .hero-bottom { gap: 20px; margin-top: 39px; }
  .value-item { gap: 10px; }
  .value-item strong { font-size: 10px; }
  .value-item p, .value-item span { font-size: 9px; }
  .value-item > .icon { width: 22px; height: 22px; }
  .section { padding-block: 72px; }
  .section-heading { gap: 40px; }
  .section-heading h2, .about-copy h2, .faq-grid h2, .contact-grid h2 { font-size: 36px; }
  .section-heading > p { flex-basis: 280px; font-size: 12px; }
  .protection-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .protection-card { padding: 26px; }
  .card-top { margin-bottom: 24px; }
  .protection-card p { max-width: 270px; }
  .about-grid { gap: 35px; }
  .about-art { padding: 30px; min-height: 435px; }
  .about-quote { font-size: 29px; }
  .about-mark { width: 146px; height: 146px; top: 30px; right: 25px; }
  .about-copy > p:not(.section-label) { font-size: 12px; }
  .check-list li { font-size: 11px; }
  .process-grid { gap: 32px; }
  .step-line { right: -14px; }
  .process-step h3 { font-size: 17px; }
  .process-step p { font-size: 11px; }
  .faq-grid { grid-template-columns: 0.8fr 1.2fr; gap: 38px; }
  .faq-grid > div > p:not(.section-label) { font-size: 12px; }
  .faq-list summary { font-size: 12px; }
  .faq-list details > p, .faq-list details > div { font-size: 11px; }
  .contact-grid { gap: 36px; }
  .contact-form { padding: 25px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-grid > div > p:not(.section-label) { font-size: 12px; }
  .footer-top { gap: 25px; }
  .footer-top nav, .footer-links { gap: 16px; }
  .footer-top > p { max-width: 235px; font-size: 10px; }
  .inner-grid { gap: 40px; }
  .inner-grid h1 { font-size: 48px; }
  .inner-grid .lead { font-size: 13px; }
  .inner-visual { min-height: 280px; }
  .detail-grid { grid-template-columns: 1fr 270px; gap: 40px; }
  .detail-aside { padding: 24px; top: 114px; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 96px; }
  section[id] { scroll-margin-top: 96px; }
  .container { width: calc(100% - 40px); }
  .topbar { padding: 8px 0; font-size: 9px; }
  .topbar .container { justify-content: center; gap: 12px; }
  .topbar p { text-align: center; }
  .topbar .container > span:last-child { display: none; }
  .header-inner { min-height: 82px; }
  .brand { width: 184px; height: 80px; flex-basis: 184px; }
  .brand img { width: 184px; height: 184px; top: -54px; }
  .site-menu { padding-inline: 20px; }
  .hero { padding-top: 36px; }
  .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .hero-copy h1 { max-width: 430px; margin-bottom: 20px; font-size: 49px; line-height: 1.08; }
  .eyebrow, .section-label { font-size: 9px; letter-spacing: 0.14em; margin-bottom: 17px; }
  .hero-copy .lead { max-width: 390px; margin-bottom: 24px; font-size: 13px; line-height: 1.85; }
  .hero-actions { flex-direction: row; align-items: center; gap: 20px; }
  .button { min-height: 51px; padding: 14px 20px; font-size: 12px; }
  .text-link { font-size: 12px; }
  .hero-note { margin-top: 17px; font-size: 9px; }
  .hero-visual { padding-bottom: 24px; }
  .hero-image { aspect-ratio: 1.25; border-top-left-radius: 80px; object-position: 65% 43%; }
  .photo-note { left: 15px; padding: 15px 19px; max-width: calc(100% - 30px); }
  .photo-note > .icon { width: 29px; height: 29px; }
  .photo-note strong { font-size: 12px; }
  .photo-note span, .photo-note p { font-size: 10px; }
  .photo-index { top: 18px; right: 18px; font-size: 7px; padding: 8px 10px; }
  .hero-bottom { grid-template-columns: 1fr; gap: 18px; margin-top: 29px; padding: 23px 0 28px; }
  .value-item { gap: 13px; }
  .value-item > .icon { width: 23px; height: 23px; }
  .value-item strong { margin-bottom: 2px; font-size: 11px; }
  .value-item p, .value-item span { font-size: 10px; }
  .section { padding-block: 59px; }
  .section-heading { display: block; margin-bottom: 29px; }
  .section-heading h2, .about-copy h2, .faq-grid h2, .contact-grid h2 { font-size: 35px; line-height: 1.16; }
  .section-heading > p { max-width: 360px; margin-top: 19px; font-size: 12px; }
  .section-heading .section-label { margin-bottom: 15px; }
  .protection-grid { gap: 12px; }
  .protection-card { padding: 21px 18px; }
  .card-top { margin-bottom: 23px; }
  .card-top > .icon { width: 28px; height: 28px; }
  .card-number { font-size: 9px; }
  .protection-card h3 { font-size: 17px; }
  .protection-card p { margin-bottom: 23px; font-size: 11px; line-height: 1.8; }
  .card-link { gap: 6px; font-size: 10px; }
  .card-link .icon { width: 13px; height: 13px; }
  .about-grid { grid-template-columns: 1fr; gap: 35px; }
  .about-art { min-height: 360px; padding: 33px; border-top-right-radius: 75px; }
  .about-quote { max-width: 290px; margin-bottom: 26px; font-size: 34px; }
  .about-mark { width: 145px; height: 145px; top: 27px; right: 30px; }
  .about-art-footer { font-size: 9px; padding-top: 18px; }
  .about-copy h2 { margin-bottom: 20px; }
  .about-copy > p:not(.section-label) { max-width: 420px; font-size: 12px; }
  .check-list { margin: 20px 0 26px; }
  .check-list li { margin: 12px 0; font-size: 12px; }
  .process-grid { grid-template-columns: 1fr; gap: 31px; }
  .process-step { padding-left: 67px; }
  .step-number { position: absolute; left: 0; top: 0; width: 42px; height: 42px; margin: 0; }
  .step-line { margin: 0; }
  .step-line::after { display: none; }
  .process-step h3 { margin-bottom: 9px; font-size: 18px; }
  .process-step p { max-width: none; font-size: 12px; }
  .faq-grid { grid-template-columns: 1fr; gap: 31px; }
  .faq-grid h2 { max-width: 380px; margin-bottom: 19px; }
  .faq-grid > div > p:not(.section-label) { max-width: 380px; }
  .faq-grid .text-link { margin-top: 3px; }
  .faq-list summary { padding-block: 20px; font-size: 12px; }
  .faq-list summary::after { top: 19px; font-size: 21px; }
  .faq-list details > p, .faq-list details > div { margin-bottom: 21px; font-size: 12px; }
  .contact-grid { grid-template-columns: 1fr; gap: 34px; }
  .contact-grid h2 { max-width: 400px; margin-bottom: 21px; }
  .contact-grid > div > p:not(.section-label) { max-width: 380px; }
  .contact-details { gap: 12px; margin-top: 29px; }
  .contact-form { padding: 25px 22px; }
  .contact-form label { margin: 18px 0 7px; font-size: 11px; }
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; padding: 12px; }
  .contact-form .form-hint { font-size: 9px; }
  .site-footer { padding-top: 25px; }
  .footer-top { align-items: flex-start; flex-direction: column; gap: 14px; padding-bottom: 28px; }
  .footer-top > p { max-width: 290px; font-size: 11px; }
  .footer-top nav, .footer-links { gap: 20px; font-size: 11px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; padding-block: 20px; font-size: 9px; }
  .breadcrumbs { margin-top: 24px; font-size: 9px; gap: 7px; }
  .inner-hero { padding: 35px 0 49px; }
  .inner-grid { grid-template-columns: 1fr; gap: 33px; }
  .inner-grid h1 { font-size: 45px; }
  .inner-grid .lead { margin-bottom: 24px; font-size: 13px; }
  .inner-visual { min-height: 230px; border-top-left-radius: 65px; }
  .inner-visual .huge-icon, .huge-icon { width: 103px; height: 103px; }
  .detail-grid { grid-template-columns: 1fr; gap: 35px; }
  .detail-content h2 { margin-top: 35px; font-size: 29px; }
  .detail-content h3 { font-size: 20px; }
  .detail-content > p { font-size: 13px; }
  .detail-list li, .question-list { font-size: 12px; }
  .detail-aside { position: static; padding: 27px; }
  .detail-aside h3 { font-size: 27px; }
  .detail-aside .button { width: auto; min-width: 210px; }
  .detail-aside small { text-align: left; }
  .callout { padding: 18px; font-size: 11px; }
  .privacy-content h1 { font-size: 39px; }
  .privacy-content h2 { font-size: 25px; }
  .privacy-content :where(p:not(.eyebrow):not(.section-label), li) { font-size: 16px; }
  .not-found { padding-block: 70px 85px; }
}

@media (max-width: 375px) {
  .container { width: calc(100% - 32px); }
  .hero-copy h1 { font-size: 44px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { padding-inline: 17px; }
  .hero-actions .text-link { font-size: 11px; }
  .protection-card { padding-inline: 15px; }
  .protection-card h3 { font-size: 15px; }
  .protection-card p { font-size: 10px; }
  .card-link { font-size: 9px; }
  .about-art { padding: 28px; }
  .about-quote { font-size: 31px; }
  .section-heading h2, .about-copy h2, .faq-grid h2, .contact-grid h2 { font-size: 32px; }
}

@media (max-width: 1100px) {
  .hero-grid { min-height: 500px; gap: 40px; }
  .hero-copy h1 { font-size: 61px; }
  .protection-card:nth-child(-n+2) { padding: 30px; }
  .process-grid { gap: 26px; }
  .article-grid, .social-grid { gap: 18px; }
  .article-card > header, .article-card > .article-card-body { padding-inline: 23px; }
  .article-card > .text-link, .article-card > .card-link { margin-inline: 23px; }
}

@media (max-width: 900px) {
  .hero-grid { min-height: 465px; gap: 30px; }
  .hero-copy h1 { font-size: 50px; }
  .hero-copy .lead { font-size: 13px; }
  .hero-image { aspect-ratio: 0.86; }
  .hero-bottom { gap: 20px; }
  .protection-card:nth-child(-n+2) { min-height: 330px; padding: 28px; }
  .protection-card:nth-child(-n+2) h3 { font-size: 27px; }
  .protection-card p { font-size: 12px; }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
  .process-step p { max-width: 310px; font-size: 12px; }
  .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-card h2, .article-card h3 { font-size: 23px; }
  .social-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instagram-preview { padding: 26px; }
  .page-intro { padding-block: 44px 35px; }
  .page-intro h1 { font-size: 50px; }
  .contact-form { padding: 28px; }
}

@media (max-width: 760px) {
  .hero { padding-top: 43px; }
  .hero-grid { grid-template-columns: 1fr; min-height: 0; gap: 30px; }
  .hero-copy { padding-bottom: 8px; }
  .hero-copy h1 { max-width: 600px; font-size: 60px; }
  .hero-copy .lead { max-width: 470px; font-size: 14px; }
  .hero-actions { flex-direction: row; align-items: center; gap: 24px; }
  .hero-visual { width: min(100%, 600px); justify-self: center; }
  .hero-image { aspect-ratio: 1.4; border-top-left-radius: 80px; }
  .hero-bottom { margin-top: 28px; }
  .photo-note { left: 20px; }
  .value-item { align-items: flex-start; }
  .value-item strong { font-size: 11px; }
  .value-item p, .value-item span { font-size: 10px; }
  .protection-card { padding: 26px; }
  .protection-card:nth-child(-n+2) { min-height: 335px; padding: 26px; }
  .protection-card:nth-child(-n+2) h3 { font-size: 25px; }
}

@media (max-width: 600px) {
  .hero { padding-top: 38px; }
  .hero-copy h1 { max-width: 430px; font-size: 48px; }
  .hero-copy .lead { font-size: 13px; }
  .hero-actions { gap: 18px; }
  .hero-bottom { grid-template-columns: 1fr; gap: 19px; margin-top: 26px; padding-block: 26px 30px; }
  .hero-image { aspect-ratio: 1.17; }
  .hero-note { margin-top: 18px; }
  .photo-note { left: 15px; }
  .protection-grid { grid-template-columns: 1fr; gap: 16px; }
  .protection-card, .protection-card:nth-child(-n+2) { min-height: 0; padding: 29px; }
  .protection-card h3 { font-size: 23px; }
  .protection-card:nth-child(-n+2) h3 { max-width: 330px; font-size: 29px; }
  .protection-card p { max-width: 360px; font-size: 12px; }
  .protection-card .card-top, .protection-card:nth-child(-n+2) .card-top { margin-bottom: 26px; }
  .protection-card .card-link { font-size: 11px; }
  .process-grid { grid-template-columns: 1fr; gap: 31px; }
  .process-step { padding-left: 64px; }
  .process-step p { max-width: none; }
  .process-section .process-step:not(:last-child)::before { position: absolute; top: 54px; bottom: -19px; left: 21px; content: ""; width: 1px; background: #87aaa26b; }
  .contact-form { padding: 26px 22px; }
  .contact-form label { margin: 0 0 18px; }
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; }
  .contact-form .consent-label { font-size: 10px; }
  .contact-form .form-hint { font-size: 10px; }
  .floating-whatsapp { right: 17px; bottom: max(17px, env(safe-area-inset-bottom)); min-width: 54px; min-height: 54px; padding: 15px; }
  .floating-whatsapp > span:not(.sr-only) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .protection-filter, .blog-filters { gap: 8px; margin-bottom: 24px; }
  .protection-filter button, .blog-filters button { min-height: 40px; padding: 10px 15px; font-size: 10px; }
  .article-grid, .social-grid { grid-template-columns: 1fr; gap: 19px; }
  .article-card > header, .article-card > .article-card-body { padding: 27px 26px 0; }
  .article-card > h2, .article-card > h3, .article-card > p:not(.article-meta):not(.eyebrow):not(.section-label) { margin-inline: 26px; }
  .article-card > .article-meta { margin-inline: 26px; }
  .article-card > .eyebrow, .article-card > .section-label { margin-inline: 26px; }
  .article-card > .text-link, .article-card > .card-link { margin: auto 26px 26px; }
  .article-card h2, .article-card h3 { font-size: 25px; }
  .article-card p:not(.article-meta):not(.eyebrow):not(.section-label) { font-size: 13px; }
  .page-intro { padding-block: 38px 31px; }
  .page-intro h1 { font-size: 42px; }
  .page-intro > p:not(.eyebrow):not(.section-label) { font-size: 13px; }
  .article-body { font-size: 15px; }
  .article-body h1 { font-size: 39px; }
  .article-body h2 { margin-top: 35px; font-size: 28px; }
  .article-body h3 { font-size: 22px; }
  .article-body blockquote { padding-inline: 20px; }
  .instagram-preview { min-height: 290px; }
  .social-card > div:not(.instagram-embed), .social-card > header { padding: 26px; }
  .instagram-embed iframe { min-height: 470px; }
}

@media (max-width: 375px) {
  .hero-copy h1 { font-size: 42px; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { gap: 10px; padding-inline: 16px; font-size: 11px; }
  .hero-actions .text-link { gap: 6px; font-size: 10px; }
  .hero-actions .text-link .icon { width: 14px; height: 14px; }
  .protection-card, .protection-card:nth-child(-n+2) { padding: 25px; }
  .protection-card:nth-child(-n+2) h3 { font-size: 27px; }
  .photo-note { gap: 10px; padding-inline: 15px; }
  .photo-note strong { font-size: 11px; }
  .page-intro h1 { font-size: 37px; }
  .article-body h1 { font-size: 35px; }
}

.brand--horizontal { height: 76px; }
.brand--horizontal img { inset: 0; width: 100%; height: 100%; object-fit: contain; }
.hero-person-line { display: flex; flex-wrap: wrap; gap: 4px 10px; max-width: 530px; margin: -8px 0 23px; color: #d8e7da; font-size: 13px; line-height: 1.75; }
.hero-person-line strong { color: #fffefa; font-weight: 600; }
.hero-person-line span { color: #d1e0d4; }
.hero-values { display: flex; flex-wrap: wrap; gap: 9px 23px; padding: 0; margin: 27px 0 0; list-style: none; color: #d8e7da; font-size: 11px; line-height: 1.8; }
.hero-values > * { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.hero-values .icon { width: 15px; height: 15px; color: var(--pale); }
.section-heading h2 { max-width: 22ch; line-height: 1.2; }
.section-heading h2 br { display: none; }
.section-heading { align-items: end; }
.body-copy { max-width: 67ch; color: var(--muted); font-size: 16px; line-height: 1.95; }
.body-copy > p { margin-bottom: 20px; }
.body-copy > p:last-child { margin-bottom: 0; }
.body-copy h2, .body-copy h3 { color: var(--forest); }
.body-copy h2 { margin: 35px 0 18px; font-size: 31px; line-height: 1.3; }
.body-copy ul, .body-copy ol { padding-left: 23px; }
.body-copy li { margin-block: 10px; }
.body-copy a { color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.about-photo { min-width: 0; margin: 0; overflow: hidden; border-radius: 12px; }
.about-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }
.about-photo figcaption { padding: 13px 4px 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.protection-card .card-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; min-width: 0; width: 100%; }
.protection-card .card-image { display: block; align-self: stretch; width: 100%; overflow: hidden; }
.protection-card .card-image img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.protection-card:has(> .card-image) { padding: 0; }
.protection-card:has(> .card-image) .card-content { padding: 30px; }
.protection-card:has(> .card-image) .card-top { margin-bottom: 22px; }
.protection-card:has(> .card-image) h3 { font-size: 27px; }
.article-cover { display: block; width: 100%; overflow: hidden; }
.article-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.article-hero-image { display: block; width: 100%; max-width: 800px; height: auto; margin: 31px auto; overflow: hidden; border-radius: 12px; }
img.article-hero-image, .article-hero-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.article-hero-image figcaption { padding: 12px 3px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.custom-page-image { display: block; max-width: 100%; width: 100%; height: auto; aspect-ratio: 16 / 9; margin-block: 27px; overflow: hidden; border-radius: 12px; object-fit: cover; }
.custom-page-image img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.footer-credit { flex: 0 0 auto; display: inline; margin: 0; color: #5c6858; font-size: 11px; line-height: 1.8; white-space: nowrap; }
.footer-credit a { font-weight: 600; }
.site-footer .footer-bottom { flex-wrap: wrap; }
.site-footer .footer-bottom > * { max-width: 100%; }
.site-footer .footer-bottom a, .footer-links a { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; }
.site-footer .footer-credit a { display: inline-flex; vertical-align: middle; padding-block: 8px; }
.text-link, .card-link { min-width: 44px; min-height: 44px; }
.protection-filter button, .blog-filters button { min-height: 44px; }
.article-card h2 a, .article-card h3 a { display: block; min-height: 44px; }
.faq-list details > p, .faq-list details > div { max-width: 70ch; font-size: 13px; line-height: 1.95; }
.contact-grid h2, .contact-grid .lead { color: #fffefa; }
.contact-grid .lead, .contact-grid .body-copy { color: #d2e0d5; }
.hero-copy, .about-copy, .section-heading > *, .contact-grid > *, .article-card, .detail-content, .privacy-content, .body-copy { min-width: 0; }
h1, h2, h3, p, li, .body-copy, .article-meta, .footer-bottom, .card-content, .contact-details a { overflow-wrap: anywhere; }
.hero-copy h1, .section-heading h2, .page-intro h1, .inner-grid h1 { text-wrap: pretty; }

@media (min-width: 761px) {
  .hero-copy h1 { font-size: clamp(48px, 4.8vw, 64px); line-height: 1.12; }
  .hero-grid { min-height: 495px; }
}

@media (max-width: 1100px) and (min-width: 761px) {
  .hero-grid { gap: 34px; }
  .hero-copy h1 { font-size: clamp(46px, 5.4vw, 58px); }
}

@media (max-width: 760px) {
  .hero-copy h1 { max-width: 630px; font-size: 50px; line-height: 1.14; }
  .hero-person-line { max-width: 540px; }
  .hero-values { gap: 9px 20px; margin-top: 23px; }
  .section-heading h2 { max-width: 23ch; }
  .protection-card:has(> .card-image) .card-content { padding: 26px; }
}

@media (max-width: 600px) {
  .brand--horizontal { height: 67px; }
  .hero-copy h1 { max-width: 530px; font-size: 42px; line-height: 1.16; letter-spacing: -0.035em; }
  .hero-person-line { gap: 2px 8px; margin-top: -5px; margin-bottom: 20px; font-size: 12px; }
  .hero-values { gap: 8px 18px; font-size: 10px; }
  .hero-values .icon { width: 14px; height: 14px; }
  .hero-copy .lead { font-size: 14px; line-height: 1.85; }
  .body-copy { font-size: 15px; line-height: 1.9; }
  .body-copy h2 { font-size: 27px; }
  .about-photo { max-width: 460px; width: 100%; margin-inline: auto; }
  .section-heading h2 { max-width: 24ch; }
  .protection-card:has(> .card-image) .card-content { padding: 26px; }
  .protection-card:has(> .card-image) h3 { font-size: 25px; }
  .article-hero-image { margin-block: 24px; border-radius: 8px; }
  .custom-page-image { margin-block: 23px; border-radius: 8px; }
  .faq-list details > p, .faq-list details > div { font-size: 13px; line-height: 1.9; }
  .site-footer .footer-bottom { flex-direction: row; gap: 2px 20px; }
  .footer-bottom > :first-child { flex-basis: 100%; }
  .footer-credit { flex-basis: 100%; margin-top: 9px; }
}

@media (max-width: 375px) {
  .hero-copy h1 { font-size: 40px; }
  .hero-values { flex-direction: column; gap: 7px; font-size: 11px; }
  .footer-credit { font-size: 10px; }
}

.quote-form { position: relative; min-width: 0; padding: 34px; border-radius: 12px; background: var(--cream); color: var(--ink); }
.quote-form > h3 { margin-bottom: 10px; font-size: 24px; line-height: 1.3; letter-spacing: -0.025em; }
.quote-form > p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.quote-progress { margin: 0 0 14px; color: #52604f; font-size: 11px; line-height: 1.7; }
progress.quote-progress { display: block; width: 100%; height: 5px; overflow: hidden; border: 0; border-radius: 3px; accent-color: var(--forest); background: #dbe2d4; }
progress.quote-progress::-webkit-progress-bar { border-radius: 3px; background: #dbe2d4; }
progress.quote-progress::-webkit-progress-value { border-radius: 3px; background: var(--forest); }
progress.quote-progress::-moz-progress-bar { border-radius: 3px; background: var(--forest); }
.quote-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 30px; padding: 0; list-style: none; counter-reset: quote-step; }
.quote-steps li { position: relative; display: flex; align-items: center; min-width: 0; min-height: 47px; margin: 0; padding: 0 0 13px 33px; border-bottom: 2px solid #d7dfcf; color: #596653; font-size: 10px; line-height: 1.5; counter-increment: quote-step; }
.quote-steps li::before { position: absolute; top: 3px; left: 0; display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid #b6c3ab; border-radius: 50%; content: counter(quote-step); color: #596653; font-size: 10px; font-weight: 600; }
.quote-steps li[data-state="current"] { border-color: var(--forest); color: var(--forest); font-weight: 600; }
.quote-steps li[data-state="current"]::before { border-color: var(--forest); background: var(--forest); color: #fffefa; }
.quote-steps li[data-state="done"] { border-color: #8caa75; color: var(--forest); }
.quote-steps li[data-state="done"]::before { border-color: #9cb48a; background: var(--pale); color: var(--forest); }
.quote-form fieldset, .quote-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.quote-step > legend, .quote-step > h3, .quote-step > h4 { display: block; width: 100%; margin: 0 0 11px; padding: 0; color: var(--forest); font-size: 24px; font-weight: 600; line-height: 1.35; letter-spacing: -0.025em; }
.quote-step > p, .quote-step-description { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.quote-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.quote-form .quote-field, .quote-form .quote-step > label { display: block; min-width: 0; margin: 0 0 18px; color: var(--ink); font-size: 11px; font-weight: 600; line-height: 1.7; }
.quote-fields .quote-field { margin-bottom: 0; }
.quote-fields + .quote-fields, .quote-fields + .quote-field, .quote-fields + label { margin-top: 18px; }
.quote-field.full, .quote-field--full, .quote-fields > .full { grid-column: 1 / -1; }
.quote-form input:not([type="radio"]):not([type="checkbox"]), .quote-form select, .quote-form textarea { display: block; width: 100%; min-width: 0; min-height: 48px; margin-top: 8px; padding: 12px 13px; border: 1px solid #c4cebd; border-radius: 5px; background: #fffefa; color: var(--ink); font-size: 13px; font-weight: 400; line-height: 1.6; }
.quote-form textarea { min-height: 110px; resize: vertical; }
.quote-form input::placeholder, .quote-form textarea::placeholder { color: #697362; opacity: 1; }
.quote-form input:hover, .quote-form select:hover, .quote-form textarea:hover { border-color: #94aa83; }
.quote-field > small, .quote-field .field-hint { display: block; margin-top: 6px; color: #65705e; font-size: 10px; font-weight: 400; line-height: 1.75; }
.quote-field .field-error { display: block; margin-top: 6px; color: #8d3828; font-size: 11px; font-weight: 400; line-height: 1.6; }
.quote-form [aria-invalid="true"] { border-color: #9a3d2c !important; }
.quote-type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; }
.quote-type, .quote-type-grid > label, .quote-form label.quote-type { position: relative; display: grid; grid-template-columns: 19px minmax(0, 1fr); align-items: start; gap: 11px; min-width: 0; min-height: 82px; margin: 0; padding: 17px 15px; border: 1px solid #cbd6c2; border-radius: 7px; background: #fffefa; color: var(--ink); cursor: pointer; font-size: 12px; font-weight: 400; line-height: 1.55; transition: background-color 180ms ease, border-color 180ms ease; }
.quote-type:hover, .quote-type-grid > label:hover { border-color: #769a65; background: #f1f5eb; }
.quote-type:has(input:checked), .quote-type-grid > label:has(input:checked) { border-color: var(--forest); background: #e3edd9; }
.quote-type:has(input:focus-visible), .quote-type-grid > label:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 4px; }
.quote-type input[type="radio"], .quote-type-grid input[type="radio"] { width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--forest); }
.quote-type strong, .quote-type-grid > label strong, .quote-type .radio-title { display: block; margin: 0 0 4px; color: var(--forest); font-size: 12px; font-weight: 600; line-height: 1.55; }
.quote-type small, .quote-type-grid > label small, .quote-type .radio-description { display: block; color: #596653; font-size: 10px; font-weight: 400; line-height: 1.7; }
.quote-type .icon { width: 20px; height: 20px; color: var(--green); }
.quote-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 26px; padding-top: 22px; border-top: 1px solid #d8dfd0; }
.quote-actions .button { flex: 1 1 0; width: auto; min-width: 0; min-height: 48px; margin: 0; padding: 12px 18px; font-size: 12px; }
.quote-actions .button-outline { flex-grow: 0; min-width: 95px; background: transparent; color: var(--forest); border-color: #9cad90; }
.quote-actions .button-outline:hover { background: var(--pale); border-color: #9cad90; }
.quote-actions .button:only-child { flex: 0 1 auto; margin-left: auto; min-width: 180px; }
.quote-actions button:disabled { cursor: wait; opacity: 0.65; transform: none; }
.quote-review { margin: 22px 0; padding: 21px; border: 1px solid #d7dfcf; border-radius: 7px; background: #fffefa; }
.quote-review > h3, .quote-review > h4 { margin-bottom: 18px; font-size: 18px; line-height: 1.45; letter-spacing: -0.02em; }
.quote-review dl { display: grid; gap: 13px; margin: 0; }
.quote-review dl > div { display: grid; grid-template-columns: minmax(92px, 0.42fr) minmax(0, 1fr); gap: 14px; min-width: 0; padding-bottom: 12px; border-bottom: 1px solid #e8ebe1; }
.quote-review dl > div:last-child { padding-bottom: 0; border-bottom: 0; }
.quote-review dl:has(> dt) { grid-template-columns: minmax(92px, 0.42fr) minmax(0, 1fr); gap: 12px 14px; }
.quote-review dt { margin: 0; color: #64705b; font-size: 11px; font-weight: 400; line-height: 1.8; }
.quote-review dd { min-width: 0; margin: 0; color: var(--ink); font-size: 12px; font-weight: 600; line-height: 1.75; overflow-wrap: anywhere; white-space: pre-line; }
.quote-form .consent-label { display: flex; align-items: flex-start; min-height: 44px; gap: 10px; margin: 0 0 17px; color: #52604f; font-size: 10px; font-weight: 400; line-height: 1.8; }
.quote-form .consent-label input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--forest); }
.quote-form .form-hint { margin: 16px 0 0; color: #5c6855; font-size: 10px; line-height: 1.85; }
.quote-form .hp-field { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.quote-form #form-status, .quote-form .form-status { margin-top: 17px; font-size: 12px; line-height: 1.8; }

.insurers-section { background: #fffefa; border-top: 1px solid #e3e7dc; }
.insurer-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: stretch; gap: 26px 24px; }
.insurer-card { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; gap: 17px; min-width: 0; min-height: 172px; margin: 0; padding: 22px 17px 18px; border: 0; border-radius: 3px; background: #fff; box-shadow: none; }
.insurer-card img { display: block; width: 100%; max-width: 168px; height: 80px; object-fit: contain; object-position: center; }
.insurer-logo-frame { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 80px; }
.insurer-logo-fallback { display: none; color: var(--forest); font-size: 20px; font-weight: 600; text-align: center; }
.insurer-logo-unavailable .insurer-logo-fallback { display: block; }
.insurer-logo-unavailable img { display: none; }
.insurer-card--dark .insurer-logo-fallback { color: #fff; }
.insurer-card figcaption { display: flex; justify-content: center; align-items: center; min-height: 36px; margin: 0; color: #52604c; font-size: 13px; line-height: 1.5; text-align: center; }
.insurer-card--dark { background: var(--insurer-dark-background, #0b4655); }
.insurer-card--dark figcaption { color: #f0f5ec; }
.insurer-card--montage { grid-column: 1 / -1; padding: 28px; }
.insurer-card--montage img { width: 100%; max-width: 1040px; height: auto; max-height: none; object-fit: contain; }
.insurer-montage { display: block; width: 100%; max-width: 1100px; height: auto; margin-inline: auto; object-fit: contain; }
.insurers-section .section-footnote { max-width: 780px; margin: 24px auto 0; color: var(--muted); font-size: 11px; line-height: 1.85; text-align: center; }

@media (max-width: 1100px) {
  .quote-form { padding: 29px; }
  .quote-type, .quote-type-grid > label, .quote-form label.quote-type { padding: 15px 12px; gap: 8px; }
  .insurer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 18px; }
}

@media (max-width: 900px) {
  .quote-fields { grid-template-columns: minmax(0, 1fr); }
  .quote-steps { gap: 9px; }
  .quote-steps li { padding-left: 29px; font-size: 9px; }
  .quote-steps li::before { width: 22px; height: 22px; }
  .quote-type-grid { grid-template-columns: 1fr; }
  .quote-type, .quote-type-grid > label, .quote-form label.quote-type { min-height: 70px; padding: 16px; }
  .quote-review { padding: 17px; }
  .quote-review dl > div, .quote-review dl:has(> dt) { grid-template-columns: minmax(78px, 0.38fr) minmax(0, 1fr); gap: 10px; }
}

@media (max-width: 600px) {
  .quote-form { padding: 27px 22px; }
  .quote-form > h3 { font-size: 23px; }
  .quote-steps { gap: 12px; margin-bottom: 26px; }
  .quote-steps li { display: block; min-height: 67px; padding: 33px 0 12px; font-size: 10px; }
  .quote-steps li::before { top: 0; width: 23px; height: 23px; }
  .quote-step > legend, .quote-step > h3, .quote-step > h4 { font-size: 23px; }
  .quote-fields { gap: 16px; }
  .quote-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .quote-type, .quote-type-grid > label, .quote-form label.quote-type { grid-template-columns: 18px minmax(0, 1fr); min-height: 85px; gap: 9px; padding: 15px 12px; }
  .quote-form input:not([type="radio"]):not([type="checkbox"]), .quote-form select, .quote-form textarea { font-size: 16px; }
  .quote-actions { gap: 10px; padding-top: 20px; }
  .quote-actions .button { padding-inline: 15px; font-size: 11px; }
  .quote-actions .button-outline { min-width: 86px; }
  .quote-actions .button:only-child { min-width: 165px; }
  .quote-review dt { font-size: 10px; }
  .quote-review dd { font-size: 12px; }
  .insurer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  .insurer-card { min-height: 152px; padding: 18px 12px 16px; gap: 14px; }
  .insurer-card img { max-width: 150px; height: 66px; }
  .insurer-card figcaption { font-size: 12px; }
  .insurer-card--montage { padding: 15px; }
  .insurer-card--montage img { height: auto; max-width: 100%; }
  .insurers-section .section-footnote { font-size: 10px; }
}

@media (max-width: 420px) {
  .quote-form { padding: 25px 19px; }
  .quote-type-grid { grid-template-columns: 1fr; }
  .quote-type, .quote-type-grid > label, .quote-form label.quote-type { min-height: 70px; padding: 15px; }
  .quote-steps { gap: 10px; }
  .quote-steps li { font-size: 9px; }
  .quote-actions .button { gap: 8px; padding-inline: 12px; }
  .quote-actions .button .icon { width: 16px; height: 16px; }
  .quote-actions .button-outline { min-width: 77px; }
  .quote-review { padding: 16px; }
  .quote-review dl > div, .quote-review dl:has(> dt) { grid-template-columns: minmax(64px, 0.36fr) minmax(0, 1fr); gap: 8px; }
  .insurer-grid { gap: 18px 12px; }
  .insurer-card { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

.hero .photo-note { color: var(--forest); font-size: 12px; font-weight: 600; line-height: 1.6; margin: 0; }
.insurer-original-logo { display: block; background-repeat: no-repeat; flex: 0 0 auto; }
.quote-form, .quote-step { scroll-margin-top: 125px; }
.quote-form .quote-step > .consent-label { display: flex; }
.floating-whatsapp.quote-in-view { display: none; }
.quote-form > p, .quote-step > p { font-size: 13px; }
.quote-form .quote-field > span { font-size: 13px; }
.quote-form .quote-field small, .quote-type small, .quote-form .form-hint { font-size: 12px; }
.quote-type strong { font-size: 14px; }
.quote-review dt, .quote-review dd, .quote-form .consent-label { font-size: 12px; }

/* Personal editorial layout: framed portrait, an opening feature, and quiet type. */
.topbar { background: #eeeede; color: #526449; padding-block: 8px; }
.site-header { background: #faf8f1; border-bottom: 1px solid #d9dfd1; }
.header-inner { min-height: 101px; gap: 35px; }
.site-menu { gap: 27px; font-size: 12px; letter-spacing: 0.01em; }
.site-menu .button { min-height: 44px; padding: 10px 0 10px 23px; border: 0; border-left: 1px solid #cbd5c1; border-radius: 0; background: transparent; color: var(--forest); }
.site-menu .button:hover { background: transparent; color: #2f7d32; transform: none; }

.hero { padding: 49px 0 54px; background: #f3f0e7; color: var(--forest); }
.hero-grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); align-items: start; gap: 65px; min-height: 0; }
.hero-copy { padding: 36px 0 14px; }
.hero-copy h1 { max-width: 15ch; margin: 20px 0 26px; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(52px, 4.7vw, 66px); font-weight: 400; line-height: 1.1; letter-spacing: -0.035em; text-wrap: pretty; }
.hero-copy h1 em { color: inherit; font-family: inherit; font-style: italic; font-weight: inherit; }
.hero-copy .lead { max-width: 42ch; margin: 0 0 27px; color: #596851; font-size: 15px; line-height: 1.9; }
.hero-intro { max-width: 44ch; }
.hero-copy .eyebrow, .hero-kicker-line { color: #4f6d43; font-size: 10px; font-weight: 600; line-height: 1.8; letter-spacing: 0.12em; }
.hero-kicker-line { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; text-transform: uppercase; }
.hero-kicker-line::before { content: ''; width: 25px; height: 1px; background: #819a6f; }
.hero-person-line, .hero-person-line span { color: #596851; }
.hero-person-line strong { color: var(--forest); }
.hero-actions { align-items: center; gap: 18px; }
.hero-actions .button { min-height: 52px; padding: 14px 20px; border-color: var(--forest); border-radius: 3px; background: var(--forest); color: #fffefa; font-size: 12px; }
.hero-actions .button:hover { border-color: #0a6244; background: #0a6244; }
.hero-actions .text-link { color: var(--forest); font-size: 12px; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: #98ab88; text-decoration-thickness: 1px; }
.hero-note { max-width: 44ch; margin: 18px 0 0; color: #63745a; font-size: 11px; line-height: 1.8; }
.hero-note .icon { color: #527840; }
.hero-visual { align-self: start; justify-self: end; width: 100%; max-width: 526px; min-width: 0; margin: 0; padding: 14px 14px 0; border: 1px solid #c7d0bd; background: #e9e8dc; }
.hero-image { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 4 / 5; border-radius: 0; object-fit: cover; object-position: center 30%; }
.hero-visual > picture { display: block; width: 100%; }
.hero .photo-index { display: none; }
.hero .photo-note, .hero-photo-caption { position: static; display: block; max-width: 100%; margin: 0; padding: 17px 2px 18px; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: #57654e; font-size: 11px; font-weight: 400; line-height: 1.7; letter-spacing: 0; }
.hero-caption-line { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 20px; }
.hero-name { margin: 0; }
.hero-name strong { display: block; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: 27px; font-weight: 400; line-height: 1.2; letter-spacing: -0.025em; }
.hero-name span { display: block; margin-top: 4px; color: #63705a; font-size: 10px; line-height: 1.6; }
.hero-photo-caption > small { color: #63705a; font-size: 10px; line-height: 1.6; }
.hero-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 30px; margin-top: 38px; padding: 21px 0 0; border-top: 1px solid #cdd7c2; }
.hero-bottom > *, .hero-bottom .value-item span, .hero-bottom .value-item strong { margin: 0; color: #5b6d50; font-size: 11px; font-weight: 400; line-height: 1.8; }
.hero-bottom > a { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; }
.hero-bottom .value-item { display: block; }
.hero-bottom .value-item > .icon, .hero-bottom .value-item br { display: none; }
.hero-bottom .value-item strong { display: inline; }
.hero-bottom .value-item strong::before { content: ' '; }
.hero-values { color: #5b6d50; }
.hero-values .icon { color: #527840; }

/* The opening protection is a feature; the remaining services read as a list. */
#protecoes.section { padding-block: 99px; background: #fffefa; }
.section-heading { align-items: end; gap: 64px; margin-bottom: 40px; }
.section-heading h2, .about-copy h2, .about-copy h1, .faq-grid h2 { max-width: 21ch; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(36px, 3.55vw, 48px); font-weight: 400; line-height: 1.15; letter-spacing: -0.032em; }
.section-heading h2 em, .about-copy h2 em, .faq-grid h2 em { color: inherit; font-style: normal; }
.section-heading > p { max-width: 37ch; color: #627158; font-size: 14px; line-height: 1.85; }
.protection-list { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 0 52px; margin: 0; padding: 0; border: 0; list-style: none; }
.protection-secondary { min-width: 0; border-top: 1px solid #cbd6c0; }
.protection-row, .protection-list > a { display: grid; grid-template-columns: 33px minmax(0, 1fr) 24px; align-items: start; gap: 17px; min-width: 0; padding: 27px 0; border-bottom: 1px solid #d1dac7; border-radius: 0; background: transparent; color: var(--forest); text-decoration: none; transition: background-color 160ms ease; }
.protection-row:hover { background: #f6f7f0; }
.protection-list .protection-number, .protection-row > .card-number { padding-top: 4px; color: #6e8460; font-size: 11px; font-weight: 400; line-height: 1.7; letter-spacing: 0.03em; }
.protection-body { display: block; min-width: 0; }
.protection-body h3, .protection-title, .protection-row > h3 { margin: 0 0 11px; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: 29px; font-weight: 400; line-height: 1.2; letter-spacing: -0.028em; }
.protection-body p, .protection-description, .protection-row > p { max-width: 42ch; margin: 0; color: #607056; font-size: 13px; line-height: 1.85; }
.protection-row > .icon, .protection-row .protection-arrow { width: 23px; height: 23px; margin-top: 4px; color: #3f6a33; }
.protection-featured, .protection-list > .protection-row:first-child { display: flex; flex-direction: column; align-items: flex-start; min-height: 435px; padding: 35px; border: 1px solid #c9d6bd; background: #e1e8d7; }
.protection-featured:hover, .protection-list > .protection-row:first-child:hover { background: #dae4ce; }
.protection-featured .protection-body, .protection-list > .protection-row:first-child .protection-body { margin-top: 11px; }
.protection-featured .protection-body h3, .protection-list > .protection-row:first-child h3 { max-width: 13ch; margin-bottom: 20px; font-size: 43px; line-height: 1.1; }
.protection-featured .protection-body p, .protection-list > .protection-row:first-child p { max-width: 31ch; font-size: 14px; line-height: 1.9; }
.protection-featured > .protection-arrow, .protection-list > .protection-row:first-child > .protection-arrow { align-self: flex-end; margin-top: auto; width: 28px; height: 28px; }
.protection-featured .protection-feature-icon { width: 58px; height: 58px; margin: 5px 0 8px; color: #4a6f3b; stroke-width: 1.2; }
.protection-list .card-link { min-height: 0; font-size: 0; }

/* Personal introduction: documentary photograph, a short quote, and readable copy. */
.about-section { padding-block: 101px; background: #f3f0e7; }
.about-grid-editorial, .about-grideditorial { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.12fr); align-items: center; gap: 100px; }
.about-section .about-photo { width: 100%; max-width: 455px; margin: 0; padding: 12px; border: 1px solid #d1d8c7; border-radius: 0; background: #fcfaf4; }
.about-section .about-photo img { width: 100%; height: auto; max-height: none; border-radius: 0; object-fit: contain; }
.about-section .about-photo figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 13px 2px 2px; color: #66765c; font-size: 11px; line-height: 1.7; }
.about-copy > p:not(.section-label):not(.eyebrow) { max-width: 51ch; color: #596c50; font-size: 14px; line-height: 1.95; }
.about-copy .text-link { margin-top: 8px; text-decoration: underline; text-underline-offset: 5px; }
.about-quote-block { margin: 29px 0 27px; padding: 23px 0 0; border: 0; border-top: 1px solid #c4d1b9; }
.about-quote-block p { max-width: 26ch; margin: 0; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: 29px; font-weight: 400; line-height: 1.3; letter-spacing: -0.025em; }
.about-quote-block cite { display: block; margin-top: 12px; color: #65775a; font-size: 10px; font-style: normal; line-height: 1.8; letter-spacing: 0.08em; text-transform: uppercase; }
.about-points { margin: 22px 0; padding: 0; list-style: none; }
.about-points li { display: flex; align-items: flex-start; gap: 10px; margin: 11px 0; color: #596c50; font-size: 12px; line-height: 1.8; }
.about-points .icon { width: 17px; height: 17px; margin-top: 2px; color: #547d42; }
.about-section .about-art { min-height: 390px; border-radius: 0; background: #e2e8d8; color: var(--forest); }
.about-section .about-mark { display: none; }
.about-section .about-quote { font-family: Georgia, 'Times New Roman', serif; font-size: 36px; font-weight: 400; line-height: 1.2; }
.about-section .about-quote em { color: var(--forest); font-weight: 400; }
.about-section .about-art-footer { border-top-color: #bfceb2; color: #627358; }
.about-section .about-art > .section-label, .about-section .about-art-footer .icon { color: #557447; }
.process-section { background: #143c3b; }
.process-section .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 70px; }
.process-section .process-step { padding-top: 24px; border-top: 1px solid #537668; }
.process-section .step-line { margin-bottom: 12px; }
.process-section .step-line::after { display: none; }
.process-section .step-number { width: auto; height: auto; flex-basis: auto; border: 0; border-radius: 0; background: transparent; color: #c5d4b7; font-size: 12px; }
.process-section .process-step h3 { color: #f4f1e6; font-family: Georgia, 'Times New Roman', serif; font-size: 27px; font-weight: 400; line-height: 1.3; }
.process-section .process-step p { max-width: 42ch; color: #d2ddcc; font-size: 13px; line-height: 1.85; }

/* Publication imagery stays untouched; captions carry the editorial hierarchy. */
.social-section { padding-block: 96px; background: #faf8f1; }
.social-post { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.social-post-image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 0; background: #e8e9df; object-fit: cover; }
.social-post-image img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.social-post-caption { padding: 20px 0 0; }
.social-post-caption h3, .social-post > h3 { margin: 0 0 12px; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: 29px; font-weight: 400; line-height: 1.25; letter-spacing: -0.025em; }
.social-post-caption p, .social-post > p { max-width: 53ch; margin: 0 0 12px; color: #617056; font-size: 14px; line-height: 1.9; }
.social-post-caption .text-link, .social-post > .text-link { color: var(--forest); font-size: 12px; }
.social-post-meta { display: block; margin-bottom: 10px; color: #6d7d62; font-size: 10px; line-height: 1.8; letter-spacing: 0.06em; text-transform: uppercase; }
.articles-section { background: #fffefa; }
.articles-section .article-card { padding-top: 24px; border: 0; border-top: 1px solid #cdd8c2; border-radius: 0; background: transparent; }
.articles-section .article-card > .eyebrow, .articles-section .article-card > h3, .articles-section .article-card > p, .articles-section .article-card > .article-meta, .articles-section .article-card > .text-link { margin-left: 0; margin-right: 0; }
.articles-section .article-card > .eyebrow { margin-top: 0; }
.articles-section .article-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 27px; font-weight: 400; line-height: 1.3; }
.articles-section .article-card p:not(.eyebrow):not(.article-meta) { font-size: 13px; }
.contact-intro { max-width: 460px; }
.contact-steps { margin: 30px 0; padding: 0; list-style: none; }
.contact-steps li { display: flex; align-items: baseline; gap: 13px; margin: 13px 0; color: #d4e1d1; font-size: 13px; line-height: 1.8; }
.contact-step-number { color: #b3cba4; font-size: 10px; }
.site-footer { padding-top: 39px; background: #e8eadd; }
.footer-top { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.85fr) minmax(0, 0.85fr); align-items: start; gap: 48px; padding-bottom: 32px; }
.footer-top > p { max-width: 24ch; margin: 6px 0 0; color: #34562d; font-family: Georgia, 'Times New Roman', serif; font-size: 21px; line-height: 1.5; letter-spacing: -0.015em; }
.footer-intro > p { max-width: 26ch; margin: 10px 0 0; color: #34562d; font-family: Georgia, 'Times New Roman', serif; font-size: 22px; line-height: 1.5; letter-spacing: -0.015em; }
.footer-top .footer-signature { display: flex; flex-direction: column; gap: 8px; margin: 0; padding-top: 17px; color: #405d38; font-family: 'Site Sans', Arial, sans-serif; font-size: 11px; line-height: 1.8; }
.footer-signature strong { color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: 24px; font-weight: 400; line-height: 1.3; }
.footer-top .footer-links { align-items: start; gap: 4px 20px; font-size: 11px; }
.footer-bottom { padding-block: 18px; border-color: #c4d0b9; }

/* Interior pages share the same type, paper backgrounds, and open layouts. */
.inner-hero { padding-block: 32px 64px; background: #f3f0e7; border-bottom-color: #d2dbc9; }
.inner-grid { gap: 72px; }
.section .page-intro { padding-block: 0; }
.inner-grid h1, .page-intro h1, .privacy-content > h1 { max-width: 20ch; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(43px, 4.1vw, 60px); font-weight: 400; line-height: 1.13; letter-spacing: -0.032em; }
.inner-grid .lead, .page-intro > p:not(.eyebrow):not(.section-label) { color: #5c6e54; font-size: 15px; line-height: 1.9; }
.inner-visual { min-height: 305px; border: 1px solid #c9d7bd; border-radius: 0; background: #e1e8d7; color: var(--forest); }
.inner-visual .section-label, .inner-visual p { color: #567746; }
.detail-grid { grid-template-columns: minmax(0, 1fr) 320px; gap: 84px; }
.detail-content h2, .body-copy h2, .privacy-content h2, .article-body h2 { font-family: Georgia, 'Times New Roman', serif; font-size: 32px; font-weight: 400; line-height: 1.25; }
.detail-content > p, .detail-list li, .question-list { font-size: 14px; line-height: 1.9; }
.detail-aside { border: 0; border-top: 2px solid #9db48a; border-radius: 0; padding: 25px 0; background: transparent; }
.detail-aside h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 28px; font-weight: 400; }
.page-intro:has(.protection-list), .page-intro:has(.article-grid) { max-width: 1200px; }
.page-intro > .protection-list, .page-intro > .article-grid { margin-top: 38px; }
.page-intro > .blog-filters + .article-grid { margin-top: 0; }
.article-card { padding-top: 24px; border: 0; border-top: 1px solid #cdd8c2; border-radius: 0; background: transparent; }
.article-card > .eyebrow, .article-card > h2, .article-card > h3, .article-card > p, .article-card > .article-meta, .article-card > .text-link { margin-left: 0; margin-right: 0; }
.article-card > .eyebrow { margin-top: 0; }
.article-card h2, .article-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 27px; font-weight: 400; line-height: 1.3; }
.article-card p:not(.eyebrow):not(.article-meta) { font-size: 13px; }
.article-cover { margin-bottom: 20px; }
.article-body { color: #53664d; font-size: 16px; }
.article-body p, .article-body li { color: inherit; font-size: inherit; }
.article-body h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 26px; font-weight: 400; }
.article-body :is(h2, h3, h4)[id] { scroll-margin-top: 20px; }
.article-toc { margin: 32px 0 44px; padding: 23px 26px; border-left: 2px solid #a9bd93; background: #f5f5ec; color: var(--forest); }
.article-toc h2, .article-related h2 { margin: 0 0 15px; font-family: Georgia, 'Times New Roman', serif; font-size: 27px; font-weight: 400; line-height: 1.3; }
.article-toc ol { margin: 0; padding-left: 22px; }
.article-toc li, .article-related li { min-width: 0; margin: 0; font-size: 16px; line-height: 1.7; }
.article-toc li::marker { color: #617a51; }
.article-toc a, .article-related a { display: flex; align-items: center; min-height: 44px; padding-block: 8px; font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; text-decoration-color: #a8b99b; }
.article-toc a:hover, .article-related a:hover { color: var(--green); text-decoration-color: currentColor; }
.article-related { margin: 42px 0 32px; padding-top: 25px; border-top: 1px solid #ccd6c2; }
.article-related ul { margin: 0; padding: 0; list-style: none; }
.article-related li + li { border-top: 1px solid #e2e7da; }
.markdown-table { max-width: 100%; margin-block: 28px; overflow-x: auto; overscroll-behavior-inline: contain; border-block: 1px solid #cbd6c0; }
.markdown-table table { width: 100%; min-width: 34rem; border-collapse: collapse; background: #fffefa; color: var(--ink); font-size: 16px; line-height: 1.7; }
.markdown-table th, .markdown-table td { min-width: 8rem; padding: 15px 18px; border-bottom: 1px solid #dfe5d7; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.markdown-table th { background: #edf0e4; color: var(--forest); font-weight: 600; }
.markdown-table tbody tr:last-child td { border-bottom: 0; }
.markdown-table a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.privacy-content > .lead { max-width: 62ch; font-size: 17px; line-height: 1.8; }
.privacy-content > .breadcrumbs { margin-top: 0; margin-bottom: 18px; }
.privacy-content > .article-meta { margin: 24px 0 32px; }
.article-hero-image, .custom-page-image { border-radius: 0; }
.blog-filters { gap: 8px 22px; margin-top: 28px; }
.blog-filters button { min-width: 44px; padding: 10px 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; color: #52674b; font-size: 12px; }
.blog-filters button:hover { border-color: #8ea67b; background: transparent; }
.blog-filters button[aria-pressed='true'] { border-color: var(--forest); background: transparent; color: var(--forest); font-weight: 600; }
.contact-grid h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(36px, 3.55vw, 48px); font-weight: 400; line-height: 1.15; }
.contact-grid .lead { font-size: 14px; }
.quote-form { border: 1px solid #ccd6c2; border-radius: 5px; background: #faf9f2; }
.quote-step > legend, .quote-step > h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 27px; font-weight: 400; }
.quote-form input:not([type='radio']):not([type='checkbox']), .quote-form select, .quote-form textarea { font-size: 16px; }
.quote-step > fieldset[data-quote-branch] { margin-top: 28px; padding-top: 24px; border-top: 1px solid #d5ddce; }
.quote-step > fieldset[data-quote-branch] > legend { float: left; width: 100%; margin-bottom: 10px; padding: 0; color: var(--forest); font-family: Georgia, 'Times New Roman', serif; font-size: 23px; line-height: 1.3; }
.quote-step > fieldset[data-quote-branch] > p { clear: both; margin-bottom: 20px; color: var(--muted); font-size: 13px; line-height: 1.8; }

@media (min-width: 1600px) {
  .hero { padding-top: 62px; }
  .hero-copy h1 { font-size: 68px; }
}
@media (max-width: 1100px) {
  .hero-grid { gap: 38px; }
  .hero-copy h1 { font-size: 57px; }
  .hero-actions { gap: 12px; }
  .hero-actions .button { padding-inline: 16px; font-size: 11px; }
  .hero-actions .text-link { font-size: 11px; }
  .protection-list { gap: 0 34px; }
  .protection-featured, .protection-list > .protection-row:first-child { padding: 29px; }
  .about-grid-editorial, .about-grideditorial { gap: 58px; }
  .footer-top { gap: 30px; }
}
@media (max-width: 900px) {
  .header-inner { min-height: 91px; }
  .site-menu { gap: 0; font-size: 13px; background: #faf8f1; }
  .site-menu .button { align-self: flex-start; padding: 12px 0 0; border-left: 0; }
  .hero-grid { gap: 29px; }
  .hero-copy { padding-top: 10px; }
  .hero-copy h1 { font-size: 49px; }
  .hero-copy .lead { font-size: 13px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 7px; }
  #protecoes.section, .about-section, .social-section { padding-block: 75px; }
  .section-heading h2, .about-copy h2, .about-copy h1, .faq-grid h2 { font-size: 38px; }
  .protection-list { gap: 0 26px; }
  .protection-row, .protection-list > a { grid-template-columns: 26px minmax(0, 1fr) 20px; gap: 12px; }
  .protection-featured .protection-body h3, .protection-list > .protection-row:first-child h3 { font-size: 36px; }
  .protection-body h3, .protection-title { font-size: 25px; }
  .about-grid-editorial, .about-grideditorial { gap: 36px; }
  .footer-top { grid-template-columns: 210px minmax(0, 1fr); gap: 20px 35px; }
  .footer-top > .footer-links { grid-column: 1 / -1; }
  .inner-grid { gap: 38px; }
  .detail-grid { grid-template-columns: minmax(0, 1fr) 265px; gap: 38px; }
  .contact-grid h2 { font-size: 38px; }
}
@media (max-width: 760px) {
  .hero { padding-top: 34px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 27px; }
  .hero-copy { padding: 0; }
  .hero-copy h1 { max-width: 17ch; margin-top: 16px; font-size: 53px; }
  .hero-copy .lead { max-width: 51ch; font-size: 14px; }
  .hero-actions { align-items: center; flex-direction: row; gap: 21px; }
  .hero-visual { width: 88%; max-width: 510px; justify-self: end; }
  .protection-list { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .protection-featured, .protection-list > .protection-row:first-child { min-height: 0; }
  .protection-featured .protection-feature-icon { width: 48px; height: 48px; }
  .protection-featured > .protection-arrow, .protection-list > .protection-row:first-child > .protection-arrow { margin-top: 20px; }
  .about-grid-editorial, .about-grideditorial { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .about-section .about-photo { width: 88%; max-width: 450px; }
  .process-section .process-grid { gap: 30px; }
}
@media (max-width: 600px) {
  .hero { padding: 30px 0 39px; }
  .hero-copy h1 { max-width: 16ch; margin-block: 15px 22px; font-size: 43px; line-height: 1.12; }
  .hero-copy .eyebrow, .hero-kicker-line { font-size: 9px; }
  .hero-copy .lead { font-size: 14px; margin-bottom: 22px; }
  .hero-actions { gap: 9px 18px; }
  .hero-actions .button { font-size: 12px; }
  .hero-actions .text-link { font-size: 11px; }
  .hero-note { font-size: 10px; margin-top: 15px; }
  .hero-visual { width: 93%; max-width: 420px; padding: 9px 9px 0; }
  .hero-photo-caption { padding: 13px 1px 14px; }
  .hero-name strong { font-size: 24px; }
  .hero-name span, .hero-photo-caption > small { font-size: 9px; }
  .hero-bottom { margin-top: 28px; }
  #protecoes.section, .about-section, .social-section { padding-block: 57px; }
  .section-heading { gap: 23px; margin-bottom: 27px; }
  .section-heading h2, .about-copy h2, .about-copy h1, .faq-grid h2 { font-size: 35px; }
  .section-heading > p { margin-top: 18px; font-size: 13px; }
  .protection-row, .protection-list > a { padding-block: 25px; }
  .protection-featured, .protection-list > .protection-row:first-child { padding: 27px; }
  .protection-featured .protection-body h3, .protection-list > .protection-row:first-child h3 { font-size: 38px; }
  .protection-body p, .protection-description { font-size: 13px; }
  .about-section .about-photo { width: 91%; padding: 9px; }
  .about-quote-block p { font-size: 26px; }
  .about-copy > p:not(.section-label):not(.eyebrow) { font-size: 14px; }
  .about-points li { font-size: 12px; }
  .process-section .process-grid { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .process-section .process-step { padding: 21px 0 0; }
  .process-section .step-number { position: static; }
  .process-section .process-step h3 { font-size: 25px; }
  .social-post-caption h3 { font-size: 26px; }
  .social-post-caption p { font-size: 14px; }
  .footer-top { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .footer-top > p { max-width: 27ch; margin-top: 0; font-size: 22px; }
  .footer-top > .footer-links { grid-column: auto; }
  .footer-top .footer-signature { padding-top: 0; }
  .footer-bottom { gap: 5px 18px; }
  .inner-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .inner-grid h1, .page-intro h1, .privacy-content > h1 { font-size: 40px; }
  .detail-grid { grid-template-columns: minmax(0, 1fr); gap: 35px; }
  .detail-content h2, .body-copy h2, .privacy-content h2, .article-body h2 { font-size: 28px; }
  .article-toc { padding: 19px 18px; }
  .article-toc h2, .article-related h2 { font-size: 25px; }
  .markdown-table th, .markdown-table td { padding: 13px 15px; }
  .contact-grid h2 { font-size: 35px; }
  .article-card h2, .article-card h3 { font-size: 26px; }
  .article-card > .eyebrow, .article-card > h2, .article-card > h3, .article-card > p, .article-card > .article-meta, .article-card > .text-link { margin-left: 0; margin-right: 0; }
}
@media (max-width: 375px) {
  .hero-copy h1 { font-size: 40px; }
  .hero-copy .lead { font-size: 13px; }
  .hero-actions { gap: 10px 14px; }
  .hero-actions .button { padding-inline: 15px; font-size: 11px; }
  .hero-visual { width: 96%; }
  .hero-caption-line { gap: 7px 13px; }
  .hero-name strong { font-size: 23px; }
  .section-heading h2, .about-copy h2, .about-copy h1, .faq-grid h2 { font-size: 32px; }
}
@keyframes cinema-reveal {
  from { opacity: 0.65; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.cinema-reveal.is-visible { animation: cinema-reveal 600ms cubic-bezier(0.22, 0.61, 0.36, 1); }
.cinema-reveal:focus-within { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .cinema-reveal.is-visible { animation: none; }
}
.hero-photo-window { position: relative; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: #e0e4d8; box-shadow: none; }
.hero-photo-window::after { content: none; }
.hero-photo-window .hero-image { width: 100%; height: 100%; aspect-ratio: auto; }
.hero-portrait-source .hero-photo-window .hero-image,
.about-portrait-source img { position: absolute; top: 0; right: 0; width: 172%; max-width: none; height: 100%; max-height: none; object-fit: cover; object-position: right 20%; border-radius: 0; }
.about-portrait-source { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }

/* Embedded posts keep their readable fallback until the iframe is ready. */
.social-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 1080px; margin-inline: auto; align-items: start; gap: 43px; }
.instagram-card { position: relative; width: 100%; min-width: 0; min-height: 640px; height: auto; aspect-ratio: auto; overflow: visible; background: transparent; }
.instagram-fallback { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; color: white; background: #e7e9df; }
.instagram-fallback img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.instagram-fallback > span { position: absolute; right: 0; bottom: 0; left: 0; padding: 13px 15px; background: #064a34ed; color: #fffefa; font-size: 11px; font-weight: 600; line-height: 1.7; }
.instagram-embed-frame { display: block; position: absolute; inset: 0; opacity: 0; pointer-events: none; width: 100%; max-width: 100%; height: 640px; min-height: 640px; margin: 0; border: 0; background: white; }
.instagram-card.is-embed-ready { min-height: 640px; }
.instagram-card.is-embed-ready > .instagram-fallback { display: none; }
.instagram-card.is-embed-ready > .instagram-embed-frame { position: relative; display: block; opacity: 1; pointer-events: auto; }
.instagram-card.has-embed-error { min-height: 0; }
.instagram-card.has-embed-error > .instagram-fallback { display: block; }
.instagram-card.has-embed-error > .instagram-embed-frame { display: none; }

/* The home page shows a short, compact selection of the insurer directory. */
.insurers-preview { padding-block: 72px; }
.insurers-preview .section-heading { margin-bottom: 28px; }
.insurers-preview .section-heading h2 { font-size: clamp(33px, 3.2vw, 43px); }
.insurers-preview .insurer-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px 18px; }
.insurers-preview .insurer-card { min-height: 150px; gap: 14px; padding: 19px 14px 15px; border-radius: 3px; }
.insurers-preview .insurer-card img { max-width: 150px; height: 66px; }
.insurers-preview .insurer-logo-frame { min-height: 66px; }
.insurers-preview .insurer-original-logo { max-width: 132px; }
.insurers-preview .insurer-card figcaption { font-size: 12px; line-height: 1.5; }
.insurers-preview .section-footnote { margin-top: 20px; font-size: 10px; }
.insurers-preview .container > .text-link { display: flex; width: fit-content; margin: 15px auto 0; font-size: 12px; }

@media (max-width: 1000px) {
  .insurers-preview .insurer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 719px) {
  .social-post-grid { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .instagram-embed-frame { height: 640px; min-height: 640px; }
  .insurer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
  .insurer-card { min-height: 152px; padding: 18px 12px 16px; gap: 14px; }
  .insurer-card img { height: 66px; }
  .insurer-card figcaption { font-size: 12px; }
  .insurers-preview { padding-block: 53px; }
  .insurers-preview .section-heading { margin-bottom: 23px; }
  .insurers-preview .section-heading h2 { font-size: 34px; }
  .insurers-preview .insurer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
  .insurers-preview .insurer-card { min-height: 150px; padding: 18px 10px 15px; }
  .insurers-preview .insurer-card figcaption { font-size: 12px; }
}

@media (max-width: 359px) {
  .social-section .social-post-grid { width: calc(100% + 32px); margin-inline: -16px; }
  .social-post-caption { padding-inline: 16px; }
}
.hero-signature > span:first-child { font: inherit; color: inherit; margin: 0; }
.about-section .about-photo:not(.about-portrait-source) img { width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: contain; }

.instagram-fallback > span { display: inline-flex; align-items: center; gap: 7px; }
.instagram-fallback > span .icon { width: 17px; height: 17px; }
