/* Approved review styling. Rule/declaration order is retained; obsolete decorative rules removed. */
:root { --navy:#1d4137;--teal:#2d6351;--ink:#2e443a;--muted:#5d6960;--line:#dcdccb;--paper:#fcf8ee;--rust:#a95c3e;--gold:#b48a3f;--serif:"Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN",serif }
* { box-sizing:border-box }
html { scroll-behavior:smooth;scroll-padding-top:30px }
body { margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans CJK JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased }
a { color:inherit;text-decoration:none }
a:hover { color:var(--teal) }
a:focus-visible { outline:3px solid #b6602e;outline-offset:7px }
img { display:block;max-width:100% }
.container { width:min(1140px,calc(100% - 100px));margin-inline:auto }
.review { text-align:center;padding:4px 12px;background:var(--navy);color:white;font-size:9px;letter-spacing:.15em }
.review span { margin-left:15px;font-size:10px;letter-spacing:.07em }
.skip { position:fixed;z-index:100;left:12px;top:12px;transform:translateY(-180%);padding:12px 18px;background:white }
.skip:focus { transform:none }
.header-inner { height:98px;display:flex;justify-content:space-between;align-items:center;gap:30px }
.brand { display:inline-flex;align-items:center;gap:12px;font-size:23px;font-weight:800;letter-spacing:.06em;white-space:nowrap }
.brand img { width:36px;height:36px;border-radius:50% }
.header nav { display:flex;align-items:center;gap:28px;font-size:12px }
.header nav a { padding:12px 0 }
.nav-contact span { margin-left:12px }
.hero { overflow:hidden }
.hero-grid { position:relative;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;min-height:650px;padding-block:56px 70px;gap:10px }
.hero-copy { z-index:1;position:relative }
.eyebrow { font-size:10px;font-weight:500;letter-spacing:.13em;color:var(--teal);margin:0 0 27px }
.hero .eyebrow { font-size:12px;letter-spacing:.04em }
.hero .eyebrow>span { display:inline-block;width:26px;height:1px;background:var(--teal);vertical-align:middle;margin-right:12px }
h1 { font-family:var(--serif);font-weight:500;font-size:clamp(43px,4.8vw,66px);line-height:1.7;letter-spacing:.07em;color:var(--navy);margin:0 }
.hero-description { font-size:13px;color:var(--muted);line-height:2.2;margin:28px 0 27px;padding-left:4px }
.button { display:inline-flex;align-items:center;gap:24px;font-size:12px;min-height:56px }
.button>span { display:grid;place-items:center;border:1px solid #93aea1;border-radius:50%;width:52px;height:52px;font-size:19px;transition:transform .2s,background .2s }
.button:hover>span { transform:translate(3px,-2px);background:#e2ebe3 }
.hero-bottom { display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding-block:18px 28px;letter-spacing:.07em }
.hero-bottom>span+span { font-size:8px;letter-spacing:.15em }
.hero-bottom>span+span span { margin-left:25px }
.about { padding:100px 0 115px;position:relative }
.about-grid { display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:start }
.about-grid>div:first-child { padding-top:0 }
.about-copy { padding-top:70px }
.about h2 { margin-bottom:24px }
h2 { font-family:var(--serif);font-weight:500;font-size:33px;line-height:1.9;letter-spacing:.05em;margin:0 }
.text-link { display:inline-flex;align-items:center;gap:34px;font-size:11px;padding:10px 0 }
.text-link>span { font-size:19px;line-height:1.2 }
.about-copy>p { font-size:13px;line-height:2.3;margin:0 0 24px }
.policy-links { display:flex;gap:27px;flex-wrap:wrap;font-size:10px;margin-top:32px }
.policy-links span { margin-left:9px }
.services { padding-top:50px;padding-bottom:110px }
.section-heading { display:flex;justify-content:space-between;align-items:end;gap:40px }
.section-heading .eyebrow { margin-bottom:18px }
.section-heading>p { font-size:12px;color:var(--muted);line-height:2.2;margin:0 0 10px }
.service-list { display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:60px;margin-left:13% }
.service-row { display:grid;grid-template-columns:40px 1fr;align-items:baseline;column-gap:16px }
.service-row:nth-child(2) { padding-top:65px }
.service-row>span { font-family:var(--serif);font-size:25px;color:#719284 }
.service-row h3 { font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.04em;margin:0 }
.service-row p { grid-column:2;font-size:12px;color:var(--muted);line-height:2.1;margin:16px 0 0 }
.media { padding-top:24px;padding-bottom:65px;width:min(890px,calc(100% - 100px));margin-left:auto;margin-right:max(50px,calc((100% - 1140px)/2)) }
.media .section-heading { align-items:center;margin-bottom:20px }
.media .eyebrow { font-size:8px;margin-bottom:7px }
.media h2 { font-family:inherit;font-size:18px;font-weight:400;letter-spacing:.05em }
.media .section-heading>p { font-size:10px;margin:0 }
.media-grid { display:grid;grid-template-columns:1fr 1fr;gap:0 45px }
.media-card { display:block }
.card-copy { position:relative;padding:13px 20px 13px 0 }
.card-copy:after { content:'↗';position:absolute;right:0;top:12px;font-size:15px;color:var(--teal) }
.card-copy h3 { font-size:11px;line-height:1.8;font-weight:400;margin:0 }
.small-title { font-size:10px }
.media-foot { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px }
.media-foot p { font-size:9px;color:var(--muted);margin:0 }
.media-foot .text-link { font-size:10px;gap:17px }
.contact { position:relative;isolation:isolate;overflow:hidden;padding:105px 0 100px }
.contact:before { content:'';position:absolute;z-index:-1;inset:0 -12% -70% 17%;background:#e5ece2;border-radius:50% 40% 0 0/70% 70% 0 0;transform:rotate(-5deg) }
.contact-inner { display:flex;justify-content:space-between;align-items:center;gap:35px;padding-left:85px }
.contact .eyebrow { margin-bottom:14px }
.contact h2 { font-size:36px }
.contact p:not(.eyebrow) { font-size:11px;line-height:2.1;color:var(--muted);margin:16px 0 0 }
.contact .button { flex-shrink:0;gap:18px }
.contact .button>span { width:72px;height:72px;border-color:#618476;font-size:22px }
.footer { padding-top:62px }
.footer-main { display:flex;justify-content:space-between;gap:40px;padding-bottom:35px }
.footer .brand { font-size:20px }
.footer .brand img { width:31px;height:31px }
.footer-main p { font-size:10px;color:var(--muted);margin-top:15px }
.footer nav { display:grid;grid-template-columns:repeat(3,auto);align-content:start;gap:16px 28px;font-size:10px;padding-top:8px }
.footer-bottom { display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:21px 0;font-size:9px;color:var(--muted) }
.footer-bottom small { font-size:9px }
.mobile-break { display:none }
@media(min-width:1450px) {
  .hero-grid { min-height:700px;padding-top:65px }
}
@media(max-width:1000px) {
  .container { width:calc(100% - 64px) }
  .header nav { gap:17px;font-size:10px }
  .brand { font-size:21px }
  .hero-grid { min-height:570px;grid-template-columns:1.2fr 1fr;padding-block:45px 50px }
  h1 { font-size:46px }
  .hero .eyebrow { font-size:10px }
  .hero-description { font-size:12px }
  .about-grid { gap:45px }
  h2 { font-size:28px }
  .about-copy>p { font-size:12px }
  .about-copy { padding-top:60px }
  .about { padding-block:75px 90px }
  .service-list { gap:35px;margin-left:8% }
  .service-row h3 { font-size:18px }
  .service-row>span { font-size:22px }
  .service-row { column-gap:8px;grid-template-columns:33px 1fr }
  .service-row p { font-size:11px }
  .services { padding-bottom:80px }
  .media { width:calc(100% - 140px);margin-right:32px }
  .contact-inner { padding-left:35px }
  .contact .button { font-size:10px }
  .contact .button>span { width:56px;height:56px }
  .footer nav { gap:14px 17px }
  .section-heading>p { font-size:11px }
}
@media(max-width:700px) {
  .container { width:calc(100% - 40px) }
  .review { font-size:8px;padding:4px 8px }
  .review span { font-size:9px }
  .header-inner { height:auto;min-height:85px;flex-wrap:wrap;padding-block:18px 8px;gap:10px }
  .brand { font-size:20px }
  .brand img { width:30px;height:30px }
  .header nav { width:100%;justify-content:space-between;gap:10px;font-size:10px }
  .header nav a { padding:8px 0 }
  .header nav a:nth-child(3) { display:none }
  .nav-contact span { margin-left:5px }
  .hero-grid { display:block;min-height:0;padding-block:41px 0 }
  .hero-copy { max-width:100% }
  .hero .eyebrow { font-size:10px;margin-bottom:20px }
  .hero .eyebrow>span { width:20px;margin-right:8px }
  h1 { font-size:37px;line-height:1.8;letter-spacing:.025em }
  .hero-description { font-size:12px;line-height:2.2;margin:22px 0 20px;max-width:290px;padding:0 }
  .desktop-break { display:none }
  .button { font-size:11px;gap:23px;min-height:50px }
  .button>span { width:44px;height:44px }
  .hero-bottom { padding:27px 0 12px;font-size:9px;gap:12px }
  .hero-bottom>span+span { font-size:7px;letter-spacing:.02em }
  .hero-bottom>span+span span { margin-left:7px }
  .about { padding:64px 0 60px }
  .about-grid { display:block }
  .eyebrow { font-size:9px;margin-bottom:19px }
  h2 { font-size:26px;line-height:1.85;letter-spacing:.02em }
  .about h2 { margin-bottom:12px }
  .text-link { font-size:11px }
  .about-copy { padding-top:35px;padding-left:24px }
  .about-copy>p { font-size:12px;line-height:2.25;margin-bottom:21px }
  .policy-links { font-size:10px;gap:20px;margin-top:26px }
  .policy-links span { margin-left:6px }
  .services { padding-top:30px;padding-bottom:61px }
  .section-heading { display:block }
  .section-heading .eyebrow { font-size:9px;margin-bottom:16px }
  .section-heading>p { font-size:11px;margin-top:22px }
  .service-list { display:block;margin:37px 0 0 10px }
  .service-row { grid-template-columns:28px 1fr;gap:5px 13px;max-width:280px }
  .service-row:nth-child(2) { padding-top:38px;margin-left:30px }
  .service-row>span { font-size:21px }
  .service-row h3 { font-size:20px }
  .service-row p { font-size:11px;margin-top:9px }
  .media { width:calc(100% - 64px);margin-right:20px;padding-top:12px;padding-bottom:28px }
  .media .section-heading { margin-bottom:17px }
  .media h2 { font-size:17px }
  .media .eyebrow { font-size:8px;margin-bottom:7px }
  .media .section-heading>p { font-size:10px;margin-top:8px }
  .media-grid { grid-template-columns:1fr;gap:0 }
  .card-copy { padding-block:13px }
  .card-copy h3 { font-size:11px }
  .media-foot { display:block;margin-top:16px }
  .media-foot p { font-size:9px }
  .media-foot .text-link { font-size:10px }
  .contact { padding:75px 0 55px }
  .contact:before { inset:18px -60% -10% 5%;border-radius:55% 40% 0 0/45% 40% 0 0;transform:rotate(-7deg) }
  .contact-inner { display:block;padding-left:20px }
  .contact .eyebrow { font-size:9px;margin-bottom:12px }
  .contact h2 { font-size:29px }
  .contact p:not(.eyebrow) { font-size:11px;margin-top:14px;max-width:265px }
  .contact .button { margin-top:23px;font-size:11px }
  .contact .button>span { width:55px;height:55px }
  .footer { padding-top:38px }
  .footer-main { display:block;padding-bottom:25px }
  .footer nav { grid-template-columns:1fr 1fr;gap:14px;margin-top:23px;font-size:10px }
  .footer-main p { font-size:10px }
  .footer-bottom { font-size:8px;gap:12px }
  .footer-bottom small { font-size:9px }
}
@media(max-width:360px) {
  h1 { font-size:33px }
  .hero .eyebrow { font-size:9px }
  .header nav { font-size:9px }
  .policy-links { gap:14px }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *, *:before, *:after { transition:none!important }
}
.review { background:#244b3e }
.eyebrow { color:var(--rust) }
.hero-grid { grid-template-columns:1.14fr 1fr;gap:34px;min-height:670px;padding-top:30px;padding-bottom:45px }
.hero-photo { margin:0 -30px 0 0;position:relative;align-self:center;transform:rotate(2deg) }
.hero-photo picture { display:block;overflow:hidden;border-radius:45% 46% 7% 31% / 29% 32% 7% 24%;background:#e9dcc4 }
.hero-photo img { display:block;width:100%;height:565px;object-fit:cover;object-position:51% 50%;transform:scale(1.015) }
.hero-photo figcaption { font-size:9px;letter-spacing:.04em;color:var(--muted);margin-top:14px;text-align:right;transform:rotate(-2deg) }
.hero .eyebrow>span { background:var(--gold) }
.button>span { color:#fff;background:var(--teal);border-color:var(--teal) }
.button:hover>span { background:var(--navy);color:#fff }
.about { background:#f4eedf;margin-top:30px;padding-top:100px;padding-bottom:100px }
.about .text-link>span, .policy-links span { color:var(--rust) }
.services { padding-top:95px }
.service-row>span { color:var(--rust) }
.contact:before { background:#e2ead9 }
.contact .button>span { border-color:var(--teal) }
@media(min-width:1450px) {
  .hero-photo img { height:610px }
  .hero-grid { min-height:740px }
}
@media(max-width:1000px) and (min-width:701px) {
  .hero-grid { gap:22px;min-height:590px }
  .hero-photo { margin-right:-8px }
  .hero-photo img { height:465px }
  h1 { font-size:42px }
  .hero-photo figcaption { font-size:8px }
}
@media(max-width:700px) {
  .hero-grid { display:block;min-height:0;padding-top:33px;padding-bottom:0 }
  .hero-photo { width:89%;margin:27px 0 0 auto;transform:rotate(2deg) }
  .hero-photo img { height:318px;object-position:50% 65% }
  .hero-photo figcaption { font-size:8px;margin-top:10px }
  .hero-bottom { padding-top:27px }
  .about { margin-top:12px;padding-top:56px;padding-bottom:58px }
  .services { padding-top:59px }
  .hero .eyebrow { font-size:10px }
}
body { font-size:18px;line-height:1.85 }
.header-inner { height:84px }
.header nav { font-size:15px;gap:23px }
.header nav a { padding-block:10px }
.review, .review span { font-size:12px }
.hero-grid { min-height:0;padding-block:24px 26px;gap:32px }
h1 { font-size:64px;line-height:1.5;letter-spacing:.02em }
.eyebrow, .hero .eyebrow { font-size:14px;margin-bottom:18px }
.hero-description { font-size:18px;line-height:1.9;margin:20px 0 19px;max-width:31em;padding:0 }
.button { font-size:16px;gap:20px;min-height:52px }
.hero-photo img { height:450px }
.hero-photo { margin-right:-12px }
.hero-photo figcaption { font-size:13px;line-height:1.65;margin-top:10px }
.hero-bottom { font-size:14px;padding-block:12px 18px }
.hero-bottom>span+span { font-size:11px }
.about { margin-top:12px;padding-block:64px }
.about-grid { gap:56px }
.about-copy { padding-top:24px }
h2 { font-size:36px;line-height:1.65;letter-spacing:.025em }
.about h2 { margin-bottom:15px }
.text-link { font-size:15px;gap:25px }
.about-copy>p { font-size:18px;line-height:1.9;margin-bottom:18px;max-width:31em }
.policy-links { font-size:14px;gap:23px;margin-top:22px }
.services { padding-block:60px 64px }
.section-heading { gap:36px }
.section-heading .eyebrow { margin-bottom:13px }
.section-heading>p { font-size:17px;line-height:1.85;max-width:28em;margin-bottom:4px }
.service-list { gap:48px;margin-top:32px;margin-left:6% }
.service-row:nth-child(2) { padding-top:25px }
.service-row h3 { font-size:25px;line-height:1.6 }
.service-row>span { font-size:26px }
.service-row p { font-size:17px;line-height:1.85;margin-top:10px }
.media { padding-block:12px 40px;width:min(980px,calc(100% - 100px)) }
.media .section-heading { margin-bottom:15px }
.media .eyebrow { font-size:12px }
.media h2 { font-size:24px }
.media .section-heading>p { font-size:15px }
.card-copy h3 { font-size:15px }
.small-title { font-size:14px }
.card-copy { padding-block:12px }
.card-copy:after { top:12px;font-size:17px }
.media-foot { margin-top:12px }
.media-foot p { font-size:13px }
.media-foot .text-link { font-size:14px }
.contact { padding-block:65px }
.contact-inner { padding-left:35px;gap:32px }
.contact h2 { font-size:36px }
.contact p:not(.eyebrow) { font-size:17px;line-height:1.85;max-width:31em;margin-top:12px }
.contact .button { font-size:15px }
.contact .button>span { width:58px;height:58px }
.footer { padding-top:38px }
.footer-main { padding-bottom:24px }
.footer-main p { font-size:14px;margin-top:12px }
.footer nav { font-size:14px;gap:12px 20px }
.footer-bottom, .footer-bottom small { font-size:12px;padding-block:16px }
.footer-bottom small { padding:0 }
@media(min-width:1450px) {
  .hero-grid { min-height:0;padding-top:24px }
  .hero-photo img { height:470px }
}
@media(max-width:1000px) and (min-width:701px) {
  .header nav { font-size:13px;gap:16px }
  .hero-grid { min-height:0;gap:22px }
  h1 { font-size:43px }
  .hero-description { font-size:17px }
  .hero .eyebrow { font-size:13px }
  .hero-photo img { height:410px }
  .hero-photo figcaption { font-size:12px }
  .desktop-break { display:none }
  .about { padding-block:48px }
  .about-grid { gap:32px }
  h2 { font-size:30px }
  .about-copy>p { font-size:17px }
  .about-copy { padding-top:20px }
  .section-heading { gap:28px }
  .section-heading>p { font-size:16px;max-width:23em }
  .service-list { gap:28px;margin-left:0 }
  .service-row h3 { font-size:22px }
  .service-row p { font-size:16px }
  .media { width:calc(100% - 64px) }
  .media-grid { gap:0 30px }
  .contact-inner { padding-left:0;align-items:start;flex-direction:column;gap:15px }
  .contact p:not(.eyebrow) { max-width:36em }
  .footer-main { gap:30px }
  .footer nav { grid-template-columns:repeat(2,auto);font-size:13px }
  .hero-bottom { font-size:13px }
  .hero-bottom>span+span { font-size:10px }
}
@media(max-width:700px) {
  body { font-size:17px;line-height:1.85 }
  .review, .review span { font-size:11px }
  .header-inner { height:auto;min-height:0;padding-block:15px 5px;gap:9px }
  .header nav { font-size:13px;gap:8px }
  .header nav a { padding-block:9px }
  .hero-grid { padding-block:25px 0;min-height:0 }
  h1 { font-size:39px;line-height:1.55;letter-spacing:0 }
  .hero .eyebrow { font-size:13px;margin-bottom:16px }
  .hero .eyebrow>span { width:16px;margin-right:6px }
  .hero-description { font-size:17px;line-height:1.85;max-width:none;margin:17px 0 }
  .button { font-size:16px;gap:19px;min-height:48px }
  .button>span { width:44px;height:44px }
  .hero-photo { width:92%;margin-top:19px }
  .hero-photo img { height:245px;object-position:50% 64% }
  .hero-photo figcaption { font-size:12px;margin-top:8px }
  .hero-bottom { font-size:12px;padding-block:19px 10px;gap:10px }
  .hero-bottom>span+span { font-size:9px }
  .hero-bottom>span+span span { margin-left:4px }
  .about { margin-top:9px;padding-block:39px }
  .eyebrow, .section-heading .eyebrow { font-size:13px;margin-bottom:13px }
  h2 { font-size:29px;line-height:1.65;letter-spacing:0 }
  .about h2 { margin-bottom:11px }
  .text-link { font-size:15px }
  .about-copy { padding-top:20px;padding-left:0 }
  .about-copy>p { font-size:17px;line-height:1.9;margin-bottom:16px }
  .policy-links { font-size:14px;margin-top:16px;gap:10px 20px }
  .services { padding-block:40px }
  .section-heading>p { font-size:17px;line-height:1.85;margin-top:15px }
  .service-list { margin:25px 0 0 }
  .service-row { grid-template-columns:28px 1fr;max-width:none;gap:4px 12px }
  .service-row:nth-child(2) { padding-top:24px;margin-left:13px }
  .service-row h3 { font-size:24px }
  .service-row>span { font-size:24px }
  .service-row p { font-size:17px;line-height:1.85;margin-top:7px }
  .media { width:calc(100% - 40px);padding-block:9px 25px }
  .media h2 { font-size:23px }
  .media .eyebrow { font-size:12px }
  .media .section-heading>p { font-size:15px;margin-top:7px }
  .card-copy h3 { font-size:15px }
  .small-title { font-size:14px }
  .card-copy { padding-block:12px }
  .media-foot p { font-size:13px }
  .media-foot .text-link { font-size:14px }
  .contact { padding-block:45px }
  .contact-inner { padding-left:5px }
  .contact .eyebrow { font-size:13px }
  .contact h2 { font-size:31px }
  .contact p:not(.eyebrow) { font-size:17px;line-height:1.85;max-width:none;margin-top:11px }
  .contact .button { font-size:15px;margin-top:18px;gap:15px }
  .contact .button>span { width:49px;height:49px }
  .footer { padding-top:29px }
  .footer-main { padding-bottom:20px }
  .footer-main p { font-size:14px }
  .footer nav { font-size:13px;gap:12px;margin-top:18px }
  .footer-bottom, .footer-bottom small { font-size:11px }
  .footer-bottom { padding-block:14px;flex-wrap:wrap;gap:5px 12px }
}
@media(max-width:360px) {
  h1 { font-size:34px }
  .hero .eyebrow { font-size:12px }
  .header nav { font-size:12px }
  .hero-bottom { flex-wrap:wrap;gap:5px }
  .policy-links { font-size:13px }
  .contact .button { font-size:14px;gap:12px }
  .footer nav { font-size:12px }
}
.header nav a[aria-current="page"] { color:var(--teal);text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--gold) }
.policy-page .page-lead { background:#f4eedf;padding:34px 0 32px;margin-bottom:38px }
.policy-page .page-lead__inner { max-width:980px }
.policy-page .section-index { color:var(--rust);font-size:14px;letter-spacing:.12em;margin:0 0 12px }
.policy-page h1 { font-size:48px;line-height:1.5;letter-spacing:.04em;margin:0 0 17px }
.policy-page .page-lead p:last-child { font-size:18px;line-height:1.85;max-width:44em;margin:0 }
.policy-page .policy-layout { max-width:980px }
.policy-page .section-heading { display:block;margin:0 0 28px }
.policy-page .section-heading>span { display:block;font-size:14px;color:var(--rust);margin-bottom:8px }
.policy-page h2 { font-size:30px;line-height:1.65;letter-spacing:.015em;margin:0 0 14px }
.policy-page .section-heading p { font-size:18px;line-height:1.9;max-width:49em;margin:0 }
.policy-page .policy-list { list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:27px 46px }
.policy-page .policy-list li { display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:baseline }
.policy-page .policy-list li>span { font-family:var(--serif);font-size:20px;color:var(--rust) }
.policy-page .policy-list h3 { font-size:22px;font-weight:500;line-height:1.65;margin:0 0 9px }
.policy-page .policy-list p { font-size:18px;line-height:1.9;margin:0 }
.policy-page .policy-aside { padding:22px 0 0;margin:35px 0 32px;border-top:1px solid var(--line);max-width:49em }
.policy-page .policy-aside p { font-size:17px;line-height:1.85;color:var(--muted);margin:0 }
@media(max-width:1000px) and (min-width:701px) {
  .policy-page .policy-list { gap:25px 28px }
  .policy-page .policy-list p, .policy-page .section-heading p { font-size:17px }
  .policy-page .policy-list h3 { font-size:21px }
  .policy-page .policy-list li { grid-template-columns:25px 1fr;gap:9px }
  .policy-page h2 { font-size:28px }
}
@media(max-width:700px) {
  .policy-page .page-lead { padding:27px 0 25px;margin-bottom:28px }
  .policy-page .section-index { font-size:12px }
  .policy-page h1 { font-size:35px;letter-spacing:0;margin-bottom:13px }
  .policy-page .page-lead p:last-child, .policy-page .section-heading p, .policy-page .policy-list p, .policy-page .policy-aside p { font-size:17px;line-height:1.85 }
  .policy-page h2 { font-size:26px }
  .policy-page .section-heading { margin-bottom:25px }
  .policy-page .policy-list { grid-template-columns:1fr;gap:24px }
  .policy-page .policy-list h3 { font-size:22px;margin-bottom:7px }
  .policy-page .policy-list li { grid-template-columns:26px 1fr;gap:10px }
  .policy-page .policy-aside { margin-top:27px;padding-top:19px;margin-bottom:16px }
}
.icon-heading { display:flex;align-items:baseline;gap:12px }
.section-icon { display:inline-block;flex:0 0 27px;width:27px;height:27px;stroke:var(--teal);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;align-self:flex-start;margin-top:.18em }
.about .section-icon { width:32px;height:32px;flex-basis:32px;margin-top:.3em }
.services .section-icon { stroke:var(--rust) }
.contact .section-icon { width:31px;height:31px;flex-basis:31px;margin-top:.3em }
.policy-page .section-icon { width:25px;height:25px;flex-basis:25px;margin-top:.18em }
.policy-page .policy-list li:nth-child(even) .section-icon { stroke:var(--rust) }
.policy-page .icon-heading { gap:10px }
@media(max-width:1000px) {
  .icon-heading { gap:9px }
  .section-icon { width:24px;height:24px;flex-basis:24px }
  .about .section-icon { width:27px;height:27px;flex-basis:27px }
}
@media(max-width:700px) {
  .about .icon-heading { position:relative;padding-top:33px;display:block }
  .about .section-icon { position:absolute;top:0;left:0;margin:0;width:25px;height:25px }
  .policy-page .icon-heading { gap:9px }
  .policy-page .section-icon { width:23px;height:23px;flex-basis:23px }
  .contact .section-icon { width:27px;height:27px;flex-basis:27px }
}
.services .service-list { align-items:start }
.services .service-row { grid-template-rows:minmax(42px,auto) auto }
.services .service-row:nth-child(2) { padding-top:0 }
@media(max-width:700px) {
  .services .service-row { grid-template-rows:auto auto }
  .services .service-row:nth-child(2) { padding-top:24px;margin-left:0 }
}
.contact-page .contact-layout { max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:64px;margin-bottom:35px }
.contact-page .contact-form { position:relative }
.contact-page .form-field { margin-bottom:23px }
.contact-page label { display:block;font-size:17px;font-weight:500;margin-bottom:8px }
.contact-page label>span { color:var(--rust) }
.contact-page input:not([type="checkbox"]), .contact-page select, .contact-page textarea { display:block;width:100%;max-width:100%;border:1px solid #aab8a8;border-radius:5px;background:#fffdf7;color:var(--ink);padding:12px 14px;font:inherit;font-size:18px;line-height:1.6 }
.contact-page textarea { min-height:195px;resize:vertical }
.contact-page input:focus-visible, .contact-page select:focus-visible, .contact-page textarea:focus-visible, .contact-page button:focus-visible { outline:3px solid var(--gold);outline-offset:3px }
.contact-page [aria-invalid="true"] { border-color:#9f422c!important }
.contact-page .contact-form__honeypot { position:absolute;left:-10000px;top:0;width:1px;height:1px;overflow:hidden }
.contact-page .agreement { display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px }
.contact-page .agreement input { width:20px;height:20px;accent-color:var(--teal);flex-shrink:0;margin:5px 0 0 }
.contact-page .agreement label { flex:1;font-size:16px;font-weight:400 }
.contact-page .agreement a { text-decoration:underline;text-underline-offset:4px }
.contact-page .agreement .form-error { flex-basis:100% }
.contact-page button[type="submit"] { border:0;border-radius:6px;background:var(--teal);color:#fff;font:inherit;font-size:17px;padding:13px 25px;gap:24px;margin-top:15px;cursor:pointer;min-height:53px }
.contact-page button[type="submit"]:hover { background:var(--navy) }
.contact-page button[type="submit"]:disabled { opacity:.55;cursor:wait }
.contact-page button .submit-label { display:inline;width:auto;height:auto;background:transparent;border:0;border-radius:0;font-size:inherit;transform:none }
.contact-page .form-error { color:#963d29;font-size:15px;line-height:1.7;margin:8px 0 0 }
.contact-page .form-notice { font-size:16px;line-height:1.85;margin:16px 0 0 }
.contact-page .form-notice--error { color:#963d29 }
.contact-page .form-notice--success { color:var(--teal) }
.contact-page .form-local-note { font-size:15px;color:var(--muted);line-height:1.8;border-left:3px solid var(--gold);padding-left:13px;margin:0 0 23px }
.contact-page .contact-aside { padding-top:5px;color:var(--muted) }
.contact-page .contact-aside>svg { color:var(--rust);margin-bottom:12px }
.contact-page .contact-aside h2 { font-size:23px;color:var(--ink);margin-bottom:12px }
.contact-page .contact-aside p { font-size:17px;line-height:1.9;margin:0 0 14px }
.contact-page .contact-aside a { font-size:15px;gap:12px }
@media(max-width:1000px) {
  .contact-page .contact-layout { grid-template-columns:minmax(0,1fr) 240px;gap:35px }
}
@media(max-width:700px) {
  .contact-page .contact-layout { display:block }
  .contact-page .contact-aside { margin-top:33px;padding-top:22px;border-top:1px solid var(--line) }
  .contact-page input:not([type="checkbox"]), .contact-page select, .contact-page textarea { font-size:17px }
  .contact-page textarea { min-height:180px }
  .contact-page .form-field { margin-bottom:20px }
  .contact-page .contact-aside p { font-size:17px }
  .contact-page .agreement label { font-size:15px }
  .contact-page .form-local-note { font-size:14px }
}
.header .brand img { height:38px;width:auto;aspect-ratio:314 / 401;border-radius:0;object-fit:contain;flex-shrink:0 }
.footer .brand img { height:34px;width:auto;aspect-ratio:314 / 401;border-radius:0;object-fit:contain;flex-shrink:0 }
@media(max-width:700px) {
  .header .brand img { height:36px }
  .footer .brand img { height:32px }
}
