/* Shared final service pages. All additions are scoped to the service main. */
.mc-web-layout .p-top-about__title{font-size:clamp(24px,3vw,43px);line-height:1.65;text-wrap:balance}
.mc-web-layout .p-top-about__text{max-width:36em;font-size:16px;line-height:2}
.mc-web-layout .c-heading__text{max-width:40em;line-height:1.95}
.mc-web-layout .p-top-topics__text{line-height:1.9}
.mc-web-layout .p-top-style__title{min-height:3.2em;font-size:clamp(19px,1.6vw,25px);text-wrap:balance}
.mc-web-layout .p-top-style__text{font-size:14px;line-height:1.95}
.mc-web-layout .p-top-banner__title{font-size:clamp(16px,1.3vw,20px)}
.mc-web-layout .p-top-banner__text{font-size:13px;line-height:1.9}
.mc-web-layout .p-top-recruit__title{font-size:clamp(20px,2vw,30px)}
.mc-web-layout .p-top-recruit__text{font-size:14px;line-height:1.95}
.mc-web-layout .p-top-about .c-heading__text{max-width:35em}
.mc-web-layout .p-top-intro__line{white-space:normal;max-width:100%;overflow-wrap:break-word}
.mc-web-layout .p-top-intro__lead p span::before{height:calc(100% - .3em)}
.mc-web-layout .c-interview-card__decorative--decorative2{display:none}
@media(min-width:768px){
 .mc-web-layout .c-interview-card__image{width:46%;flex-shrink:0}
 .mc-web-layout .c-interview-card__content{margin-left:0;padding-left:32px;min-width:0}
 .mc-web-layout .c-interview-card__title h3 span{font-size:clamp(22px,2.6vw,39px)}
}
.mc-web-layout .mc-anchor{display:block;position:relative;scroll-margin-top:110px}
.mc-web-layout .mc-service-faq-list{display:grid;gap:12px;padding:0;margin:32px 0;list-style:none}
.mc-web-layout .mc-service-faq{border:1px solid #d9dce0;background:white;text-align:left;border-radius:4px}
.mc-web-layout .mc-service-faq summary{position:relative;cursor:pointer;padding:20px 48px 20px 22px;font-size:15px;line-height:1.8;list-style:none;color:#26313b}
.mc-web-layout .mc-service-faq summary::-webkit-details-marker{display:none}
.mc-web-layout .mc-service-faq summary::after{content:'+';position:absolute;right:20px;top:20px;font-size:22px}
.mc-web-layout .mc-service-faq[open] summary::after{content:'−'}
.mc-web-layout .mc-service-faq p{padding:0 22px 22px;font-size:14px;line-height:1.95;color:#434c53;margin:0}
.mc-web-layout .mc-service-question{padding:20px 22px;background:#fff;border:1px solid #d9dce0;font-size:15px;line-height:1.8;text-align:left;margin:0}
.mc-web-layout .mc-service-faq summary:focus-visible{outline:2px solid var(--mc-accent);outline-offset:3px}
.mc-web-layout .mc-native-form{padding:clamp(22px,5vw,64px);background:var(--mc-ink);color:#fff;text-align:left}
.mc-web-layout .mc-native-form section{scroll-margin-top:120px}
.mc-web-layout .mc-native-form h2{font-family:'Shippori Mincho',serif;font-size:clamp(23px,2.5vw,34px);line-height:1.6;margin:12px 0 24px;letter-spacing:.025em}
.mc-web-layout .mc-native-form .mic-heading-chunk{display:inline-block}
.mc-web-layout .mc-native-form p{font-size:15px;line-height:1.95;margin:0 0 20px}
.mc-web-layout .mc-native-form form{display:grid;gap:28px;margin-top:32px}
.mc-web-layout .mc-native-form fieldset{min-width:0;padding:0;border:0;margin:0}
.mc-web-layout .mc-native-form legend{font-size:18px;line-height:1.8;margin-bottom:14px}
.mc-web-layout .mc-native-form small{font-size:12px;margin-left:8px;font-weight:400;display:inline-block}
.mc-web-layout .mc-native-form .bs-choice-grid,.mc-web-layout .mc-native-form .bs-choices,.mc-web-layout .mc-native-form .mg-choices,.mc-web-layout .mc-native-form .booking-plan-options,.mc-web-layout .mc-native-form .bs-field-row,.mc-web-layout .mc-native-form .mg-field-row,.mc-web-layout .mc-native-form .booking-form-row,.mc-web-layout .mc-native-form .booking-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mc-web-layout .mc-native-form .bs-choice,.mc-web-layout .mc-native-form .mg-choice,.mc-web-layout .mc-native-form .booking-plan-option{position:relative;display:block;cursor:pointer}
.mc-web-layout .mc-native-form .bs-choice input,.mc-web-layout .mc-native-form .mg-choice input,.mc-web-layout .mc-native-form .booking-plan-option input{position:absolute;opacity:0;width:1px;height:1px}
.mc-web-layout .mc-native-form .bs-choice span,.mc-web-layout .mc-native-form .mg-choice span,.mc-web-layout .mc-native-form .booking-plan-option span{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #ffffff60;font-size:14px;line-height:1.8;min-height:68px;height:100%}
.mc-web-layout .mc-native-form .bs-choice span::before,.mc-web-layout .mc-native-form .mg-choice span::before,.mc-web-layout .mc-native-form .booking-plan-option span::before{content:'';width:16px;height:16px;flex:0 0 16px;border:1px solid currentColor}
.mc-web-layout .mc-native-form input[type=radio]+span::before{border-radius:50%}
.mc-web-layout .mc-native-form input:checked+span{background:var(--mc-accent);color:var(--mc-ink);border-color:var(--mc-accent)}
.mc-web-layout .mc-native-form input:checked+span::before{background:var(--mc-ink);box-shadow:inset 0 0 0 3px var(--mc-accent)}
.mc-web-layout .mc-native-form input:focus-visible+span{outline:2px solid var(--mc-accent);outline-offset:4px}
.mc-web-layout .mc-native-form :is(.bs-field,.mg-field,.booking-field){display:block;min-width:0}
.mc-web-layout .mc-native-form :is(.bs-field,.mg-field)>label,.mc-web-layout .mc-native-form .booking-label{display:block;font-size:14px;line-height:1.7;margin-bottom:10px}
.mc-web-layout .mc-native-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.mc-web-layout .mc-native-form textarea,.mc-web-layout .mc-native-form select{display:block;width:100%;min-width:0;max-width:100%;min-height:48px;padding:12px;border:1px solid #ffffff70;border-radius:3px;background:#ffffff09;color:white;font:16px/1.6 sans-serif;box-sizing:border-box;color-scheme:dark}
.mc-web-layout .mc-native-form select option{background:var(--mc-ink);color:#fff}
.mc-web-layout .mc-native-form input::placeholder,.mc-web-layout .mc-native-form textarea::placeholder{color:#d3d6df;opacity:1}
.mc-web-layout .mc-native-form textarea{resize:vertical}
.mc-web-layout .mc-native-form :is(.bs-honeypot,.mg-honeypot){position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.mc-web-layout .mc-native-form :is(.bs-optional,.mg-optional){border-block:1px solid #ffffff50;padding:20px 0}
.mc-web-layout .mc-native-form :is(.bs-optional,.mg-optional)>summary{cursor:pointer;font-size:15px;line-height:1.8}
.mc-web-layout .mc-native-form :is(.bs-optional-fields,.mg-optional-fields){display:grid;gap:20px;margin-top:24px}
.mc-web-layout .mc-native-form :is(.bs-consent,.mg-consent){display:flex;align-items:flex-start;gap:14px;font-size:14px;line-height:1.8}
.mc-web-layout .mc-native-form input[type=checkbox]{accent-color:var(--mc-accent);flex-shrink:0;width:18px;height:18px;margin-top:4px}
.mc-web-layout .mc-native-form button[type=submit]{justify-self:start;max-width:100%;border:1px solid var(--mc-accent);background:var(--mc-accent);color:var(--mc-ink);padding:18px 28px;font:inherit;font-size:15px;line-height:1.8;border-radius:32px;cursor:pointer}
.mc-web-layout .mc-native-form a{text-decoration:underline;text-underline-offset:4px;font-size:14px;line-height:1.8}
.mc-web-layout .mc-native-form :is(.bs-form-notice,.mg-form-notice):empty{display:none}
.mc-web-layout .mc-native-form :is(.bs-form-notice,.mg-form-notice):not(:empty),.mc-web-layout .mc-preview-notice,.mc-web-layout .booking-form-error{padding:18px;border:1px solid var(--mc-accent);margin-top:20px}
.mc-web-layout .mc-service-plans{padding:90px max(6vw,24px);background:var(--mc-paper);color:var(--mc-ink);scroll-margin-top:100px}
.mc-web-layout .mc-service-plans>h2{font-family:'Shippori Mincho',serif;font-size:clamp(25px,3vw,42px);line-height:1.65;margin:14px 0 22px}
.mc-web-layout .mc-service-plans>p{max-width:55em;line-height:1.95;font-size:15px}
.mc-web-layout .mc-eyebrow{font-size:12px;letter-spacing:.18em;line-height:1.8}
.mc-web-layout .mc-plan-grid{max-width:1240px;margin:44px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mc-web-layout .mc-plan-grid article{padding:32px;background:white;border:1px solid #ddd9d3;border-radius:6px;display:flex;flex-direction:column;gap:22px}
.mc-web-layout .mc-plan-grid h3{font-family:'Cinzel',serif;font-size:30px;line-height:1.3;margin:0}
.mc-web-layout .mc-plan-grid p{margin:0;font-size:14px;line-height:1.95}
.mc-web-layout .mc-plan-grid .mc-plan-price{font-size:clamp(22px,2vw,30px);font-weight:600;line-height:1.6}
.mc-web-layout .mc-plan-price small{display:inline-block;font-size:13px;font-weight:400;margin-left:8px}
.mc-web-layout .mc-plan-estimate small{display:block;margin-left:0}
.mc-web-layout .mc-plan-grid ul{padding-left:1.2em;font-size:14px;line-height:1.95;margin:0}
.mc-web-layout .mc-plan-link{margin-top:auto;display:block;background:var(--mc-ink);color:white;border-radius:28px;text-align:center;padding:15px;font-size:13px;line-height:1.6}
.mc-web-layout .mc-case-stories{padding:clamp(20px,3vw,46px);margin-top:36px;background:white}
.mc-web-layout .mc-case-stories h3{font-size:24px;line-height:1.6;margin:0 0 24px}
.mc-web-layout .mc-case-stories article{padding:24px 0;border-top:1px solid #ddd}
.mc-web-layout .mc-case-stories h4{font-size:20px;line-height:1.6;margin:0 0 16px}
.mc-web-layout .mc-case-stories p{font-size:14px;line-height:1.95;margin:12px 0}
.mc-web-layout .mc-case-stories .mc-case-note{font-size:12px;color:#555}
@media(max-width:1000px){.mc-web-layout .mc-plan-grid{grid-template-columns:1fr}.mc-web-layout .mc-plan-grid article{gap:18px}.mc-web-layout .p-top-about__text{font-size:14px}}
@media(max-width:767px){
 .mc-web-layout .mc-hero-copy{font-size:clamp(23px,6vw,32px);line-height:1.6}
 .mc-web-layout .c-heading__subtitle{max-width:100%;font-size:13px;line-height:1.9;white-space:normal}
 .mc-web-layout .p-top-style__title{min-height:0;font-size:18px;line-height:1.8}
 .mc-web-layout .p-top-style__text{font-size:13px}
 .mc-web-layout .p-top-about__text{font-size:14px;line-height:1.95}
 .mc-web-layout .mc-native-form{padding:22px 18px}
 .mc-web-layout .mc-native-form .bs-choice-grid,.mc-web-layout .mc-native-form .bs-choices,.mc-web-layout .mc-native-form .mg-choices,.mc-web-layout .mc-native-form .booking-plan-options,.mc-web-layout .mc-native-form .bs-field-row,.mc-web-layout .mc-native-form .mg-field-row,.mc-web-layout .mc-native-form .booking-form-row,.mc-web-layout .mc-native-form .booking-date-fields{grid-template-columns:1fr}
 .mc-web-layout .mc-native-form legend{font-size:16px}
 .mc-web-layout .mc-native-form button[type=submit]{width:100%}
 .mc-web-layout .mc-service-faq summary{padding:16px 40px 16px 16px;font-size:14px}
 .mc-web-layout .mc-service-faq summary::after{right:14px;top:16px}
 .mc-web-layout .mc-service-faq p{padding:0 16px 18px;font-size:13px}
 .mc-web-layout .mc-service-plans{padding:64px 24px}
 .mc-web-layout .mc-plan-grid article{padding:26px}
}
