/* Shared inner-page layouts for the main2 visual system. */
.m2-content-page{--m2-page-gutter:clamp(72px,9vw,132px)}
.m2-content-page .m2-header{position:fixed}
.m2-content-page .m2-nav a[aria-current=page]:after{right:0}
.m2-page-hero{padding:calc(88px + var(--m2-page-gutter)) 0 var(--m2-page-gutter);border-bottom:1px solid var(--m2-line)}
.m2-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);align-items:end;gap:clamp(48px,8vw,120px)}
.m2-page-hero h1{margin:0;font:500 clamp(52px,6vw,88px)/.98 Manrope,Arial,sans-serif;letter-spacing:-.06em}
.m2-page-hero h1 em{color:#b52c29;font-style:normal}
.m2-page-hero__intro{padding-bottom:5px}
.m2-page-hero__intro>p{margin:0 0 28px;color:var(--m2-muted);font-size:18px;line-height:1.7}

.m2-faq-directory{padding:96px 0 120px;background:var(--m2-white)}
.m2-faq-directory__layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:clamp(60px,9vw,140px)}
.m2-faq-index{position:sticky;top:120px}
.m2-faq-index>p{margin:0 0 22px;color:var(--m2-muted);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.m2-faq-index ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--m2-line)}
.m2-faq-index li{border-bottom:1px solid var(--m2-line)}
.m2-faq-index a{display:flex;align-items:center;gap:14px;min-height:53px;color:var(--m2-muted);font-size:14px;font-weight:600;transition:color .2s,padding .2s}
.m2-faq-index a:hover{padding-left:6px;color:var(--m2-ink)}
.m2-faq-index span{color:#b52c29;font-size:11px}
.m2-faq-groups{min-width:0}
.m2-faq-group{display:grid;grid-template-columns:48px minmax(0,1fr);gap:24px;padding:0 0 80px;scroll-margin-top:120px}
.m2-faq-group:last-child{padding-bottom:0}
.m2-faq-group__number{margin:9px 0 0;color:#b52c29;font-size:12px;font-weight:700}
.m2-faq-group h2{margin:0 0 26px;font:500 clamp(31px,3vw,42px)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.m2-faq-group .m2-faq__list{border-top:1px solid var(--m2-line)}
.m2-faq-group details{border-bottom:1px solid var(--m2-line)}
.m2-faq-group summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:20px 0;list-style:none;font-size:16px;font-weight:600;cursor:pointer}
.m2-faq-group summary::-webkit-details-marker{display:none}
.m2-faq-group summary:after{content:'+';flex-shrink:0;color:#b52c29;font-size:24px;font-weight:400}
.m2-faq-group details[open] summary:after{content:'−'}
.m2-faq-group details>div{max-width:760px;padding:0 42px 22px 0;color:var(--m2-muted);line-height:1.75}
.m2-faq-group details p{margin:0}
.m2-faq-group details a{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--m2-ink);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}

.m2-contact-main{padding:96px 0;background:var(--m2-white)}
.m2-contact-main__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.05fr);gap:clamp(70px,10vw,150px);align-items:start}
.m2-contact-details>.m2-eyebrow,.m2-contact-form-card>.m2-eyebrow{margin-bottom:28px}
.m2-contact-list{border-top:1px solid var(--m2-line)}
.m2-contact-list>div{padding:24px 0;border-bottom:1px solid var(--m2-line)}
.m2-contact-list span{display:block;margin-bottom:7px;color:var(--m2-muted);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.m2-contact-list a,.m2-contact-list address{margin:0;font:500 20px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.025em}
.m2-contact-list a{display:inline-block}
.m2-contact-list a:hover{color:#b52c29}
.m2-contact-list address{font-size:17px;font-style:normal}
.m2-contact-list p{margin:6px 0 0;color:var(--m2-muted);font-size:13px}
.m2-contact-note{margin-top:34px;padding:25px;border-left:3px solid #b52c29;background:var(--m2-paper)}
.m2-contact-note b{font:600 17px Manrope,Arial,sans-serif}
.m2-contact-note p{margin:9px 0 12px;color:var(--m2-muted);font-size:14px;line-height:1.65}
.m2-contact-note a{font-size:13px;font-weight:700}
.m2-contact-note a span{color:#b52c29}
.m2-contact-form-card{padding:clamp(28px,4vw,48px);background:var(--m2-paper);border:1px solid var(--m2-line);border-radius:12px}
.m2-contact-form-card h2{margin:0 0 34px;font:500 clamp(32px,3vw,44px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.m2-contact-form__row{margin-bottom:20px}
.m2-contact-form label{display:block;margin-bottom:8px;color:var(--m2-muted);font-size:13px;font-weight:600}
.m2-contact-form label span{color:#b52c29}
.m2-contact-form :is(input,textarea){display:block;width:100%;border:1px solid var(--m2-line);border-radius:8px;background:var(--m2-white);color:var(--m2-ink);font:inherit;outline:0;transition:border-color .2s,box-shadow .2s}
.m2-contact-form input{height:54px;padding:0 15px}
.m2-contact-form textarea{min-height:150px;padding:14px 15px;resize:vertical}
.m2-contact-form :is(input,textarea):focus{border-color:#b52c29;box-shadow:0 0 0 3px rgba(181,44,41,.1)}
.m2-contact-submit{width:100%;margin-top:6px}
.m2-contact-form :is(.m2-form-feedback,.prestige-success,.prestige-error){margin-top:16px;font-size:14px;line-height:1.5}
.m2-contact-form .prestige-success{color:#277348}
.m2-contact-form .prestige-error{color:#a02724}
.m2-contact-location{padding:96px 0 120px}
.m2-contact-location__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-bottom:42px}
.m2-contact-location h2{margin:0;font:500 clamp(38px,4vw,56px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.045em}
.m2-contact-location__head>p{max-width:480px;margin:0;color:var(--m2-muted);line-height:1.7}
.m2-map-wrap{height:460px;overflow:hidden;border-radius:12px;background:var(--m2-line)}
.m2-map-wrap iframe{width:100%;height:100%;border:0;filter:saturate(.72) contrast(.96)}

.m2-story{padding:96px 0 0;background:var(--m2-white)}
.m2-story__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:clamp(50px,8vw,110px);align-items:center}
.m2-story__image,.m2-service-overview__image{position:relative;margin:0;overflow:hidden;border-radius:12px}
.m2-story__image{aspect-ratio:1.22}
.m2-story__image img,.m2-service-overview__image img{width:100%;height:100%;object-fit:cover}
.m2-story__image figcaption,.m2-service-overview__image figcaption{position:absolute;left:24px;bottom:22px;max-width:calc(100% - 48px);color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 12px #000}
.m2-story__copy h2,.m2-service-overview__copy h2{margin:0;font:500 clamp(36px,4vw,54px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.045em}
.m2-story__copy>p:not(.m2-eyebrow),.m2-service-overview__copy>p:not(.m2-eyebrow){margin:20px 0 0;color:var(--m2-muted);line-height:1.75}
.m2-story__copy .m2-button{margin-top:28px}
.m2-stat-row{display:grid;grid-template-columns:repeat(3,1fr);margin-top:86px;border-top:1px solid var(--m2-line);border-bottom:1px solid var(--m2-line)}
.m2-stat-row>div{padding:34px 28px;border-right:1px solid var(--m2-line)}
.m2-stat-row>div:first-child{padding-left:0}
.m2-stat-row>div:last-child{border-right:0}
.m2-stat-row strong{display:block;font:500 clamp(29px,3vw,40px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.m2-stat-row span{display:block;margin-top:8px;color:var(--m2-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.m2-principles,.m2-service-cards{padding:110px 0;background:var(--m2-white)}
.m2-content-heading{display:grid;grid-template-columns:1.15fr .65fr;align-items:end;gap:clamp(48px,8vw,110px);margin-bottom:48px}
.m2-content-heading h2{max-width:720px;margin:0;font:500 clamp(38px,4.5vw,60px)/1.05 Manrope,Arial,sans-serif;letter-spacing:-.05em}
.m2-content-heading>p{max-width:440px;margin:0;color:var(--m2-muted);line-height:1.7}
.m2-principles__grid,.m2-service-cards__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--m2-line)}
.m2-principles article,.m2-service-cards article{padding:36px 32px 10px 0;border-right:1px solid var(--m2-line)}
.m2-principles article+article,.m2-service-cards article+article{padding-left:32px}
.m2-principles article:last-child,.m2-service-cards article:last-child{border-right:0}
.m2-principles article>span,.m2-service-cards article>span{color:#b52c29;font-size:11px;font-weight:700}
.m2-principles h3,.m2-service-cards h3{margin:22px 0 12px;font:600 22px/1.25 Manrope,Arial,sans-serif;letter-spacing:-.025em}
.m2-principles article>p,.m2-service-cards article>p{margin:0;color:var(--m2-muted);line-height:1.7}
.m2-location-band{padding:86px 0;background:var(--m2-dark);color:#fff}
.m2-location-band__layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);gap:clamp(65px,10vw,150px);align-items:center}
.m2-location-band h2{max-width:560px;margin:0;font:500 clamp(37px,4vw,54px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.045em}
.m2-location-band__list{border-top:1px solid #ffffff25}
.m2-location-band__list a{display:grid;grid-template-columns:64px 1fr 28px;align-items:center;gap:20px;min-height:68px;border-bottom:1px solid #ffffff25;transition:padding .2s,background .2s}
.m2-location-band__list a:hover{padding-inline:12px;background:#ffffff0b}
.m2-location-band__list span{color:#ffaaa3;font-size:12px;font-weight:700}
.m2-location-band__list b{font:500 18px Manrope,Arial,sans-serif}
.m2-location-band__list i{color:#ffaaa3;font-style:normal;font-size:20px}

.m2-service-overview{padding:96px 0;background:var(--m2-white)}
.m2-service-overview__grid{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,110px);align-items:center}
.m2-service-overview__image{aspect-ratio:1.32;grid-column:2;grid-row:1}
.m2-service-overview__copy{grid-column:1;grid-row:1}
.m2-service-cards{padding-top:20px}
.m2-service-cards article{display:flex;min-height:330px;flex-direction:column;padding-bottom:0}
.m2-service-cards article>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;margin-top:auto;padding-top:20px;border-top:1px solid var(--m2-line);font-size:13px;font-weight:700}
.m2-service-cards article>a b{color:#b52c29;font-size:20px;font-weight:400}
.m2-service-steps{padding:90px 0;background:var(--m2-dark);color:#fff}
.m2-service-steps h2{max-width:680px;margin:0;font:500 clamp(38px,4.5vw,58px)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.05em}
.m2-service-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:52px 0 0;padding:0;list-style:none;border-top:1px solid #ffffff25}
.m2-service-steps li{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:30px 28px 0 0;border-right:1px solid #ffffff25}
.m2-service-steps li+li{padding-left:28px}
.m2-service-steps li:last-child{border-right:0}
.m2-service-steps li>span{color:#ffaaa3;font-size:11px;font-weight:700}
.m2-service-steps h3{margin:0 0 10px;font:600 19px/1.3 Manrope,Arial,sans-serif}
.m2-service-steps li p{margin:0;color:#b4beb8;font-size:14px;line-height:1.7}

.m2-legal-body{padding:96px 0 120px;background:var(--m2-white)}
.m2-legal-layout{display:grid;grid-template-columns:260px minmax(0,820px);justify-content:space-between;align-items:start;gap:clamp(60px,9vw,140px)}
.m2-legal-index{position:sticky;top:120px}
.m2-legal-index>p{margin:0 0 22px;color:var(--m2-muted);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.m2-legal-index ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--m2-line)}
.m2-legal-index li{border-bottom:1px solid var(--m2-line)}
.m2-legal-index li a{display:grid;grid-template-columns:30px 1fr;align-items:center;min-height:55px;color:var(--m2-muted);font-size:14px;font-weight:600;transition:color .2s,padding .2s}
.m2-legal-index li a:hover{padding-left:6px;color:var(--m2-ink)}
.m2-legal-index li span{color:#b52c29;font-size:10px;font-weight:700}
.m2-legal-index__policy{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;color:var(--m2-ink);font-size:13px;font-weight:700}
.m2-legal-index__policy span{color:#b52c29;font-size:18px;font-weight:400}
.m2-legal-copy{min-width:0}
.m2-legal-lead{margin:0 0 70px;font:500 clamp(25px,2.7vw,36px)/1.42 Manrope,Arial,sans-serif;letter-spacing:-.035em}
.m2-legal-section{padding:0 0 64px;scroll-margin-top:120px}
.m2-legal-section+.m2-legal-section{padding-top:54px;border-top:1px solid var(--m2-line)}
.m2-legal-section header{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:22px;margin-bottom:30px}
.m2-legal-section header>span{margin-top:9px;color:#b52c29;font-size:11px;font-weight:700}
.m2-legal-section h2{margin:0;font:500 clamp(30px,3.3vw,43px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.m2-legal-section h3{margin:32px 0 10px;font:600 18px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.02em}
.m2-legal-section p{margin:0 0 18px;color:var(--m2-muted);font-size:16px;line-height:1.8}
.m2-legal-section a{color:var(--m2-ink);font-weight:600;text-decoration:underline;text-decoration-color:#b52c29;text-underline-offset:4px}
.m2-legal-section ul{display:grid;gap:13px;margin:24px 0 25px;padding:0;list-style:none}
.m2-legal-section li{position:relative;padding-left:26px;color:var(--m2-muted);font-size:16px;line-height:1.7}
.m2-legal-section li:before{content:'—';position:absolute;left:0;color:#b52c29;font-weight:700}
.m2-legal-contact{margin-top:6px;padding:clamp(30px,5vw,52px);border-radius:12px;background:var(--m2-dark);color:#fff}
.m2-legal-contact .m2-eyebrow{margin-bottom:18px;color:#b4beb8}
.m2-legal-contact h2{max-width:570px;margin:0;font:500 clamp(31px,3.8vw,48px)/1.12 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.m2-legal-contact>p:not(.m2-eyebrow){max-width:590px;margin:16px 0 30px;color:#b4beb8;line-height:1.7}
.m2-legal-contact>div{display:flex;flex-wrap:wrap;gap:14px 34px;padding-top:22px;border-top:1px solid #ffffff25}
.m2-legal-contact a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:230px;color:#fff;font-size:13px;font-weight:700}
.m2-legal-contact a span{color:#ffaaa3;font-size:18px;font-weight:400}

html[data-theme=dark] .m2-page-hero h1 em,
html[data-theme=dark] :is(.m2-faq-index span,.m2-faq-group__number,.m2-faq-group summary:after,.m2-contact-form label span,.m2-contact-note a span){color:#ffaaa3}
html[data-theme=dark] .m2-contact-note{border-left-color:#ff8780}
html[data-theme=dark] .m2-map-wrap iframe{filter:saturate(.65) contrast(.9) brightness(.78)}
html[data-theme=dark] .m2-contact-form .prestige-success{color:#8dd7aa}
html[data-theme=dark] .m2-contact-form .prestige-error{color:#ffaaa3}
html[data-theme=dark] :is(.m2-principles article>span,.m2-service-cards article>span,.m2-service-cards article>a b){color:#ffaaa3}
html[data-theme=dark] :is(.m2-legal-index li span,.m2-legal-index__policy span,.m2-legal-section header>span,.m2-legal-section li:before){color:#ffaaa3}
html[data-theme=dark] .m2-legal-section a{text-decoration-color:#ff8780}

@media(max-width:1000px){
  .m2-page-hero{padding-top:calc(74px + var(--m2-page-gutter))}
  .m2-page-hero__grid{grid-template-columns:1fr;gap:34px}
  .m2-page-hero__intro{max-width:670px}
  .m2-faq-directory__layout{grid-template-columns:210px minmax(0,1fr);gap:54px}
  .m2-contact-main__grid{grid-template-columns:minmax(0,.8fr) minmax(380px,1fr);gap:48px}
  .m2-story__grid,.m2-service-overview__grid{grid-template-columns:1fr 1fr;gap:42px}
  .m2-location-band__layout{grid-template-columns:1fr 1fr;gap:54px}
}
@media(max-width:820px){
  .m2-content-page{--m2-page-gutter:64px}
  .m2-page-hero h1{font-size:clamp(45px,10vw,68px)}
  .m2-page-hero__intro>p{font-size:17px}
  .m2-faq-directory,.m2-contact-main,.m2-contact-location{padding-block:64px}
  .m2-faq-directory__layout{grid-template-columns:1fr;gap:54px}
  .m2-faq-index{position:static}
  .m2-faq-index ol{display:grid;grid-template-columns:1fr 1fr}
  .m2-faq-index li:nth-child(odd){border-right:1px solid var(--m2-line)}
  .m2-faq-index a{padding-right:14px}
  .m2-contact-main__grid{grid-template-columns:1fr;gap:56px}
  .m2-contact-location__head{grid-template-columns:1fr;gap:20px}
  .m2-map-wrap{height:380px}
  .m2-story,.m2-principles,.m2-service-overview,.m2-service-cards,.m2-service-steps,.m2-location-band{padding-block:64px}
  .m2-story__grid,.m2-service-overview__grid{grid-template-columns:1fr;gap:34px}
  .m2-story__image,.m2-service-overview__image{grid-column:1;grid-row:auto;aspect-ratio:1.55}
  .m2-story__copy,.m2-service-overview__copy{grid-column:1;grid-row:1}
  .m2-stat-row{margin-top:58px}
  .m2-content-heading{grid-template-columns:1fr;gap:22px;margin-bottom:38px}
  .m2-principles__grid,.m2-service-cards__grid{grid-template-columns:1fr;border-top:0}
  .m2-principles article,.m2-service-cards article,.m2-principles article+article,.m2-service-cards article+article{min-height:0;padding:28px 0;border-top:1px solid var(--m2-line);border-right:0}
  .m2-service-cards article>a{margin-top:22px}
  .m2-location-band__layout{grid-template-columns:1fr;gap:38px}
  .m2-service-steps ol{grid-template-columns:1fr}
  .m2-service-steps li,.m2-service-steps li+li{padding:27px 0;border-right:0;border-bottom:1px solid #ffffff25}
  .m2-service-steps li:last-child{border-bottom:0}
  .m2-legal-body{padding-block:68px}
  .m2-legal-layout{grid-template-columns:1fr;gap:58px}
  .m2-legal-index{position:static}
  .m2-legal-index ol{display:grid;grid-template-columns:1fr 1fr}
  .m2-legal-index li:nth-child(odd){border-right:1px solid var(--m2-line)}
  .m2-legal-index li a{padding-right:16px}
  .m2-legal-index li:nth-child(even) a{padding-left:16px}
  .m2-legal-lead{margin-bottom:58px}
}
@media(max-width:560px){
  .m2-content-page{--m2-page-gutter:48px}
  .m2-page-hero{padding-bottom:54px}
  .m2-page-hero__grid{gap:26px}
  .m2-page-hero h1{font-size:clamp(40px,13vw,58px)}
  .m2-page-hero__intro>p{font-size:16px;margin-bottom:22px}
  .m2-faq-index ol{grid-template-columns:1fr}
  .m2-faq-index li:nth-child(odd){border-right:0}
  .m2-faq-group{grid-template-columns:1fr;gap:8px;padding-bottom:62px}
  .m2-faq-group__number{margin:0}
  .m2-faq-group h2{font-size:30px;margin-bottom:20px}
  .m2-faq-group summary{min-height:64px;padding:17px 0;font-size:15px}
  .m2-faq-group details>div{padding-right:28px}
  .m2-contact-form-card{margin-inline:-4px;padding:25px 20px}
  .m2-contact-list a{font-size:18px;overflow-wrap:anywhere}
  .m2-map-wrap{height:320px;border-radius:8px}
  .m2-story__image,.m2-service-overview__image{aspect-ratio:1.22}
  .m2-story__copy h2,.m2-service-overview__copy h2{font-size:34px}
  .m2-stat-row{grid-template-columns:1fr;margin-top:48px}
  .m2-stat-row>div,.m2-stat-row>div:first-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--m2-line)}
  .m2-stat-row>div:last-child{border-bottom:0}
  .m2-content-heading h2{font-size:36px}
  .m2-location-band h2,.m2-service-steps h2{font-size:35px}
  .m2-legal-index ol{grid-template-columns:1fr}
  .m2-legal-index li:nth-child(odd){border-right:0}
  .m2-legal-index li:nth-child(even) a{padding-left:0}
  .m2-legal-section{padding-bottom:48px}
  .m2-legal-section+.m2-legal-section{padding-top:44px}
  .m2-legal-section header{grid-template-columns:1fr;gap:8px;margin-bottom:24px}
  .m2-legal-section header>span{margin-top:0}
  .m2-legal-section p,.m2-legal-section li{font-size:15px}
  .m2-legal-contact{padding:28px 22px}
  .m2-legal-contact a{min-width:0;width:100%;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.m2-faq-index a{transition:none}}
