/* v2: clearer navigation, responsive images and a recoverable consultation flow. */
:root{--error:#9b3532;--focus:#b37b13;--focus-offset:4px}
::selection{background:#c5e3d7;color:#103d51}
input,textarea{caret-color:var(--green)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.preview-notice{font-size:11px;height:auto;min-height:32px;padding:6px 12px;line-height:1.6}
.brand-name small,.menu-label,.footer-brand small,.field label>span{font-size:11px}
.hero h1,.about-stamp{text-shadow:0 2px 8px rgba(0,0,0,.35)}
.footer-bottom,.footer-bottom small{font-size:10px}
.scroll-link,.hero-bottom-name{font-size:11px}
html{scrollbar-color:#97b0b3 #f0f5f5}
a{text-underline-offset:5px}
.ui-icon,.expand-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hero-picture{position:absolute;inset:0;z-index:-3}
.hero-image{position:static;width:100%;height:100%}
.hero-content{padding-bottom:5px}
.hero h1{text-wrap:balance}
.hero-description{font-size:16px;letter-spacing:.07em}
.hero-actions{display:flex;align-items:center;gap:32px;margin-top:34px}
.hero-actions .hero-link{margin-top:0;min-height:52px;font-size:14px}
.hero-primary{background:white;color:var(--navy);min-width:225px;min-height:58px}
.hero-primary:hover{background:#e1eee9}
.hero-primary:active{background:#cbdfd6}
.arrow-circle{width:44px;height:44px}
.arrow-circle svg{width:20px;height:20px}
.preparation-strip{display:grid;grid-template-columns:auto 1fr auto;column-gap:28px;align-items:center;border-bottom:1px solid var(--line);padding-block:26px}
.preparation-strip h2{font-size:18px;line-height:1.5;letter-spacing:.04em}
.preparation-strip>p{grid-column:1;font-size:11px;color:var(--muted);margin-top:5px;grid-row:2}
.preparation-strip ul{grid-column:2;grid-row:1/3;display:flex;list-style:none;gap:23px;padding:0;margin:0;font-size:13px}
.preparation-strip li{display:flex;align-items:center;gap:9px}
.preparation-strip li:before{content:"";height:7px;width:7px;background:#26745e;border-radius:50%;flex-shrink:0}
.preparation-link{grid-column:3;grid-row:1/3;display:flex;align-items:center;gap:18px;font-size:12px;font-weight:700;min-height:44px}
.preparation-link:hover{color:var(--green)}
.section-lead{font-size:18px;line-height:1.9;margin-top:13px;font-weight:700;letter-spacing:.03em}
.company-intro .section-lead{font-size:18px!important;font-weight:700;margin-top:13px!important}
.contact-layout .contact-lead{font-size:21px!important;margin-top:15px!important;font-weight:700}
.about-visual>picture{display:block}
.about-visual>picture>img{width:100%;height:430px;object-fit:cover;object-position:27% 45%}
.about-visual:before{inset:24px -24px 34px 24px}
.about-visual figcaption{font-size:11px;line-height:1.8;margin-top:10px}
.business-body>p{font-size:14px;line-height:2}
.business-body summary{font-size:13px;min-height:52px}
.business-body details[open] .expand-icon,.optional-details[open] summary .expand-icon{transform:rotate(45deg)}
.detail-body{font-size:13px}
.business-note,.flow-note{font-size:12px}
.company-table dd small{font-size:12px}
.pending-value{font-size:13px}
.contact-note{font-size:12px!important;opacity:1;color:#c4dce3}
.dialog-close{display:grid;place-items:center}
.dialog-header h2{line-height:1.5}
.form-progress{display:flex;padding:0;margin:23px 0 0;list-style:none;border-bottom:1px solid var(--line);gap:20px}
.form-progress li{font-size:13px;color:var(--muted);padding-bottom:10px;border-bottom:2px solid transparent;margin-bottom:-1px}
.form-progress li[aria-current="step"]{color:var(--green);border-color:var(--green);font-weight:700}
.dialog-notice{font-size:13px;margin-top:18px}
.form-grid{grid-template-columns:1fr}
.field input,.field select,.field textarea{font-size:16px}
.field label{font-size:14px}
.field>small{font-size:12px}
.field-error{font-size:12px;color:var(--error);margin-top:7px;line-height:1.8}
.field [aria-invalid="true"]{border:2px solid var(--error)}
.form-error{font-size:13px;color:var(--error);background:#fcf3f2;padding:12px 16px;margin-bottom:22px;line-height:1.8}
.optional-details{border-top:1px solid var(--line);margin-bottom:25px}
.optional-details summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:57px;font-size:13px;font-weight:700}
.optional-details summary::-webkit-details-marker{display:none}
.optional-details summary>span{font-size:11px;color:var(--muted);font-weight:400}
.optional-details summary .expand-icon{margin-left:auto}
.optional-details .form-grid{padding-top:12px}
.review-details dd{font-size:15px;line-height:1.9}
.review-details>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:20px;padding-block:18px}
.review-details dt{font-size:12px;padding-top:4px}
.review-details dd{margin:0}
.review-note,.save-status{font-size:13px}
.mobile-shortcuts{display:none}
.image-note{font-size:11px}
.footer-links>a,.footer-links>.plain-button{min-height:44px;display:flex;align-items:center;font-size:12px}
.button:active{transform:translateY(1px)}
@media(max-width:1150px){.preparation-strip{column-gap:20px}.preparation-strip ul{gap:16px;font-size:12px}.about-visual>picture>img{height:400px}}
@media(max-width:980px){.preparation-strip{grid-template-columns:1fr auto;row-gap:7px}.preparation-strip ul{grid-column:1;grid-row:3}.preparation-link{grid-column:2;grid-row:1/4}.about-visual>picture>img{height:390px}.business-body>p{font-size:13px}.business-body summary{font-size:12px}}
@media(max-width:700px){
  .hero-content{padding-top:75px;padding-bottom:78px}
  .hero-description{font-size:13px;letter-spacing:.025em}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:12px;margin-top:27px}
  .hero-primary{font-size:13px;min-height:52px;min-width:210px;padding:14px 20px}
  .hero-actions .hero-link{font-size:12px;min-height:44px;gap:24px}
  .hero-link .arrow-circle{width:34px;height:34px}
  .hero-link .arrow-circle svg{width:18px;height:18px}
  .preparation-strip{grid-template-columns:1fr;row-gap:0;padding-block:25px}
  .preparation-strip h2{font-size:17px}
  .preparation-strip>p{font-size:12px}
  .preparation-strip ul{margin-block:16px 8px;flex-wrap:wrap;gap:9px 18px;font-size:12px;grid-column:1;grid-row:3}
  .preparation-link{grid-column:1;grid-row:4;font-size:12px;justify-self:start}
  .section-lead,.company-intro .section-lead{font-size:16px!important;line-height:1.9}
  .contact-layout .contact-lead{font-size:18px!important}
  .about-visual>picture>img{height:330px}
  .about-copy>p:not(.section-kicker){font-size:14px;line-height:2.15}
  .about-visual figcaption{font-size:11px}
  .business-card{grid-template-columns:78px minmax(0,1fr)}
  .business-art svg{width:72px}
  .business-body{padding-inline:18px}
  .business-body>p{font-size:14px;line-height:1.9}
  .business-body h3{font-size:16px}
  .business-body summary{font-size:12px;min-height:53px}
  .detail-body{font-size:13px;line-height:1.9}
  .business-note,.flow-note{font-size:12px;line-height:1.9}
  .flow-list p{font-size:14px;line-height:1.9}
  .intro-description{font-size:14px;line-height:2}
  .intro-description small{font-size:12px}
  .company-intro>p:not(.section-kicker){font-size:14px}
  .company-table>div{font-size:13px}
  .company-table dd small{font-size:12px}
  .pending-value{font-size:12px}
  .contact-layout>div>p:not(.section-kicker),.contact-action>p{font-size:14px!important}
  .contact-action .contact-note{font-size:12px!important}
  .image-note{font-size:11px;margin-left:0;margin-right:auto}
  .hero-bottom-name{display:none}
  .dialog-header h2{font-size:23px}
  .preview-notice{font-size:11px}
  .review-details>div{grid-template-columns:1fr;gap:5px}
  .dialog-notice{font-size:12px}
  .field label{font-size:13px}
  .field>small{font-size:12px}
  .mobile-shortcuts{position:fixed;z-index:25;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:10px 18px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.4fr;gap:12px;box-shadow:0 -4px 20px #163c4812}
  .mobile-shortcuts a{display:flex;align-items:center;justify-content:center;gap:15px;min-height:48px;font-size:13px;font-weight:700;border:1px solid var(--navy)}
  .mobile-shortcuts a:last-child{background:var(--navy);color:white}
  .mobile-shortcuts .ui-icon{width:19px;height:19px}
  body.dialog-open .mobile-shortcuts{display:none}
  .footer-links{gap:5px 22px}
  .site-footer{padding-bottom:95px}
}
@media(max-width:359px){.hero-content{padding-top:57px}.hero h1{font-size:29px}.hero-description{font-size:12px}.hero-primary{min-width:195px}.business-card{grid-template-columns:65px minmax(0,1fr)}.business-art svg{width:62px}.business-body{padding-inline:14px}.business-body h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){.button:active{transform:none}}
@media print{.mobile-shortcuts{display:none}}
