@media(min-width:1600px) {
.container {
    width:min(calc(100% - 160px),1440px)
  }
.hero-photo {
    min-height:600px
  }
.hero-copy .lead {
    max-inline-size:500px
  }
}
@media(max-width:1199px) {
.container {
    width:calc(100% - 64px)
  }
.hero-grid {
    gap:24px
  }
.hero-photo {
    min-height:490px
  }
.hero h1 {
    font-size:4rem
  }
.story-grid {
    gap:48px
  }
.content-layout {
    gap:44px
  }
.contact-layout {
    gap:45px
  }
.grid-4 {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:999px) {
.hero h1 {
    font-size:3.4rem
  }
.hero-photo {
    min-height:460px
  }
.hero-note {
    max-width:260px
  }
.quick-paths a {
    padding:20px 12px;
    grid-template-columns:25px 1fr;
    gap:7px
  }
.quick-paths .arrow {
    display:none
  }
.section {
    padding-block:65px
  }
.story-grid {
    gap:36px
  }
.story-image {
    padding-inline-end:25px
  }
.story-image .story-caption {
    font-size:1.35rem;
    padding:22px
  }
.content-layout {
    grid-template-columns:minmax(0,1fr) 270px;
    gap:32px
  }
.inquiry-card {
    padding:24px
  }
.contact-layout {
    grid-template-columns:1fr 1.25fr;
    gap:32px
  }
.contact-form {
    padding:24px
  }
.form-grid {
    grid-template-columns:1fr
  }
.article-hero {
    gap:32px
  }
.legal-layout {
    grid-template-columns:190px 1fr;
    gap:40px
  }
}
@media(max-width:699px) {
.container {
    width:calc(100% - 40px)
  }
.logo {
    width:132px;
    height:38px
  }
.icon-button {
    width:42px;
    height:42px
  }
.hero {
    padding-block-start:22px
  }
.hero-grid {
    grid-template-columns:1fr;
    gap:10px
  }
.hero-copy {
    padding-block:20px
  }
.hero h1 {
    font-size:3.4rem;
    max-width:450px
  }
.hero-copy .lead {
    margin-block:22px;
    max-width:500px
  }
.hero-photo {
    height:310px;
    min-height:0
  }
.hero-photo>img {
    object-position:center
  }
.hero-note {
    max-width:none;
    margin-block-start:22px
  }
.quick-paths {
    grid-template-columns:1fr;
    margin-block-start:24px
  }
.quick-paths a {
    grid-template-columns:30px 1fr 20px;
    padding:17px 5px
  }
.quick-paths a+a {
    border-inline-start:0;
    border-block-start:1px solid var(--line)
  }
.quick-paths .arrow {
    display:block
  }
.quick-paths small {
    display:block
  }
.section {
    padding-block:55px
  }
.section-head {
    display:block;
    margin-block-end:30px
  }
.section-head>.text-link {
    margin-block-start:20px
  }
.grid-2,.grid-3,.story-grid,.about-mast,.article-hero,.contact-layout,.legal-layout,.content-layout {
    grid-template-columns:1fr;
    gap:32px
  }
.grid-4 {
    gap:28px 16px
  }
.service-card .card-heading {
    gap:8px;
    margin-block:14px 8px
  }
.service-card h3 {
    font-size:1.05rem
  }
.service-card p {
    font-size:.82rem
  }
.service-card .card-heading .arrow {
    font-size:1rem
  }
.more-services {
    align-items:start;
    flex-direction:column;
    gap:12px
  }
.story-image {
    max-width:480px
  }
.story-copy p {
    margin-block:18px
  }
.steps {
    grid-template-columns:1fr;
    gap:30px
  }
.step {
    display:grid;
    grid-template-columns:44px 1fr;
    gap:0 20px
  }
.step h3 {
    margin-block:2px 12px
  }
.step p {
    grid-column:2
  }
.page-intro {
    padding-block:20px 35px
  }
.page-intro h1 {
    font-size:2.7rem;
    overflow-wrap:break-word
  }
.page-intro .lead {
    font-size:1rem
  }
.breadcrumb {
    padding-block:18px;
    font-size:.7rem;
    gap:8px
  }
.service-toolbar {
    grid-template-columns:1fr;
    gap:16px;
    padding:20px
  }
.content-layout aside,.legal-nav {
    position:static
  }
.detail-banner {
    aspect-ratio:1.55;
    margin-block-end:30px
  }
.about-mast h1 {
    font-size:2.7rem
  }
.about-note {
    grid-template-columns:1fr;
    gap:12px;
    padding:25px;
    margin-block-start:38px
  }
.contact-form {
    padding:22px
  }
.contact-layout {
    gap:36px
  }
.article-hero {
    padding-block:18px 35px
  }
.article-hero h1 {
    font-size:2.6rem
  }
.article-hero img {
    aspect-ratio:1.5
  }
.legal-nav {
    display:flex;
    flex-wrap:wrap;
    gap:20px
  }
.journal-card {
    margin-block-end:12px
  }
.journal-card h3 {
    font-size:1.6rem
  }
.photo-label {
    inset-inline:18px;
    inset-block-end:16px
  }
.lead {
    font-size:1rem
  }
}
@media(max-width:374px) {
.container {
    width:calc(100% - 32px)
  }
.logo {
    width:110px
  }
.hero h1 {
    font-size:2.9rem
  }
.hero .actions {
    align-items:stretch;
    flex-direction:column;
    gap:8px
  }
.hero .text-link {
    align-self:start
  }
.grid-4 {
    grid-template-columns:1fr
  }
.hero-photo {
    height:250px
  }
.contact-form {
    padding:18px
  }
.button {
    padding-inline:18px
  }
}
@media(prefers-reduced-motion:reduce) {
html {
    scroll-behavior:auto
  }
*,*::before,*::after {
    animation:none!important;
    transition:none!important
  }
}
@media print {
aside,.actions,.breadcrumb {
    display:none
  }
body {
    background:white;
    color:black
  }
.container {
    width:100%
  }
.content-layout,.legal-layout {
    display:block
  }
}

