@font-face {
    font-family:Maison Sans;
    src:url('../fonts/dm-sans-regular.ttf') format('truetype');
    font-weight:400;
    font-display:swap
}
@font-face {
    font-family:Maison Sans;
    src:url('../fonts/dm-sans-semibold.ttf') format('truetype');
    font-weight:600 800;
    font-display:swap
}
@font-face {
    font-family:Maison Serif;
    src:url('../fonts/dm-serif-display.ttf') format('truetype');
    font-weight:400;
    font-display:swap
}
@font-face {
    font-family:Maison Serif;
    src:url('../fonts/dm-serif-display-italic.ttf') format('truetype');
    font-style:italic;
    font-weight:400;
    font-display:swap
}
:root {
    --ma-paper:#f3f1ed;
    --ma-white:#fffefa;
    --ma-ink:#202c32;
    --ma-muted:#5e6668;
    --ma-copper:#946747;
    --ma-line:#d7d7d0;
    --ma-slate:#d9dfdc
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:130px
}
body.maison-site {
    margin:0;
    background:var(--ma-paper);
    color:var(--ma-ink);
    font-family:Maison Sans,Arial,sans-serif;
    font-size:17px;
    line-height:1.7
}
a {
    color:inherit;
    text-decoration:none
}
button,input,select,textarea {
    font:inherit
}
button,a,input,select,textarea,summary {
    -webkit-tap-highlight-color:transparent
}
button {
    cursor:pointer
}
img {
    display:block;
    max-width:100%;
    height:auto
}
p {
    margin:0 0 22px
}
h1,h2,h3,h4 {
    font-family:Maison Serif,Georgia,serif;
    font-weight:400;
    line-height:1.1;
    margin:0 0 24px;
    letter-spacing:-.035em
}
h1 {
    font-size:clamp(52px,6.5vw,90px)
}
h2 {
    font-size:clamp(36px,4vw,56px)
}
h3 {
    font-size:32px
}
em {
    font-family:Maison Serif,Georgia,serif;
    font-weight:400;
    color:var(--ma-copper)
}
strong {
    font-weight:600
}
button:disabled {
    cursor:not-allowed;
    opacity:.5
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
    outline:3px solid var(--ma-copper);
    outline-offset:5px
}
[hidden] {
    display:none!important
}
.ma-container {
    width:min(1300px,calc(100% - 112px));
    margin-inline:auto
}
.ma-section {
    padding-block:100px
}
.ma-section-tight {
    padding-top:18px
}
.ma-tinted {
    background:#e8eae4
}
.ma-eyebrow {
    font-size:12px;
    line-height:1.6;
    letter-spacing:.15em;
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:22px
}
.ma-lede {
    font-size:20px;
    line-height:1.7;
    color:var(--ma-muted);
    max-width:610px
}
.ma-small,.ma-note {
    font-size:13px;
    line-height:1.7;
    color:var(--ma-muted)
}
.ma-note {
    margin:20px 0
}
.ma-copper {
    color:var(--ma-copper)
}
.ma-rule {
    width:28px;
    height:1px;
    display:inline-block;
    background:var(--ma-copper);
    vertical-align:middle;
    margin-right:10px
}
.ma-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:26px;
    background:var(--ma-ink);
    color:var(--ma-white);
    border:1px solid var(--ma-ink);
    padding:18px 25px;
    min-height:58px;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
    transition:background .2s,transform .2s;
    text-align:center
}
.ma-btn:hover {
    background:#3c4c51;
    transform:translateY(-2px)
}
.ma-btn-small {
    padding:15px 20px;
    min-height:52px;
    font-size:14px;
    gap:20px
}
.ma-btn-light {
    background:var(--ma-paper);
    border-color:var(--ma-paper);
    color:var(--ma-ink)
}
.ma-btn-light:hover {
    background:#fff
}
.ma-btn-outline {
    background:transparent;
    color:var(--ma-ink);
    border-color:var(--ma-line)
}
.ma-btn-outline:hover {
    background:var(--ma-slate)
}
.ma-text-link {
    display:inline-flex;
    gap:20px;
    border-bottom:1px solid var(--ma-copper);
    padding-bottom:6px;
    font-size:15px;
    font-weight:600;
    line-height:1.5
}
.ma-text-link:hover {
    color:var(--ma-copper)
}
.ma-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:26px
}
.ma-skip {
    position:fixed;
    top:10px;
    left:10px;
    z-index:200;
    background:var(--ma-white);
    padding:14px;
    transform:translateY(-180%)
}
.ma-skip:focus {
    transform:none
}
.ma-sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.ma-concept-bar {
    background:var(--ma-ink);
    color:#edece6;
    padding:9px 56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:12px;
    line-height:1.5
}
.ma-concept-bar a {
    text-decoration:underline;
    text-underline-offset:3px
}
.ma-header {
    position:sticky;
    top:0;
    z-index:60;
    background:rgba(243,241,237,.98);
    border-bottom:1px solid var(--ma-line)
}
.ma-header-inner {
    min-height:106px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px
}
.ma-brand {
    display:inline-flex;
    flex-direction:column;
    line-height:1;
    flex-shrink:0
}
.ma-brand>span {
    font-family:Maison Serif,Georgia,serif;
    font-size:41px;
    letter-spacing:.085em
}
.ma-brand-dot {
    color:var(--ma-copper)
}
.ma-brand small {
    font-size:12px;
    letter-spacing:.22em;
    margin-top:10px
}
.ma-navigation {
    display:flex;
    align-items:center;
    gap:28px;
    font-size:14px;
    font-weight:600
}
.ma-navigation>a:not(.ma-btn) {
    padding:15px 0;
    border-bottom:1px solid transparent
}
.ma-navigation>a:not(.ma-btn):hover {
    border-color:var(--ma-copper)
}
.ma-menu-toggle {
    display:none;
    border:1px solid var(--ma-line);
    background:transparent;
    padding:10px 14px;
    font-size:14px;
    align-items:center;
    gap:12px;
    min-height:46px
}
.ma-menu-toggle i {
    display:block;
    width:18px;
    height:10px;
    border-top:1px solid currentColor;
    border-bottom:1px solid currentColor
}
.ma-menu-toggle[aria-expanded=true] i {
    height:1px;
    transform:rotate(45deg)
}
.ma-mobile-action {
    display:none
}
/* The homepage is an architectural composition, with generous type and hard edges. */
.ma-hero {
    display:grid;
    grid-template-columns:1.04fr 1fr;
    gap:76px;
    padding-top:52px;
    padding-bottom:42px;
    align-items:center
}
.ma-hero h1 {
    font-size:clamp(64px,6.7vw,100px);
    line-height:1;
    letter-spacing:-.045em;
    margin-bottom:30px
}
.ma-hero-copy>.ma-lede {
    font-size:18px;
    max-width:485px;
    margin-bottom:32px
}
.ma-hero-copy>.ma-eyebrow {
    margin-bottom:28px
}
.ma-hero-footnote {
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid var(--ma-line);
    margin-top:52px;
    padding-top:20px;
    font-size:12px;
    letter-spacing:.07em;
    line-height:1.6
}
.ma-hero-footnote>span+span {
    text-align:right;
    letter-spacing:0;
    color:var(--ma-muted)
}
.ma-portrait-frame {
    height:630px;
    position:relative;
    background:#d4d0ca;
    margin:0 0 16px;
    border:1px solid #d9d2c8
}
.ma-portrait-frame>img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 36%
}
.ma-portrait-frame:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(transparent 52%,rgba(28,33,34,.6))
}
.ma-image-label {
    position:absolute;
    z-index:1;
    bottom:34px;
    left:32px;
    right:25px;
    color:white
}
.ma-image-label>span {
    font-size:12px;
    letter-spacing:.16em;
    display:block;
    margin-bottom:14px
}
.ma-image-label strong {
    font-family:Maison Serif,Georgia,serif;
    font-size:29px;
    font-weight:400;
    line-height:1.2
}
.ma-image-label em {
    color:#f0e5d9
}
.ma-image-caption {
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:12px;
    line-height:1.5;
    color:var(--ma-muted)
}
.ma-image-caption span:first-child {
    letter-spacing:.09em
}
.ma-intro-band {
    border-block:1px solid var(--ma-line);
    margin-top:24px
}
.ma-intro-grid {
    padding-block:38px;
    display:grid;
    grid-template-columns:.65fr 2fr 60px;
    align-items:center;
    gap:48px
}
.ma-intro-grid p {
    margin:0
}
.ma-intro-grid>p:nth-child(2) {
    font-size:20px;
    max-width:730px
}
.ma-circle-link {
    width:56px;
    height:56px;
    border:1px solid var(--ma-copper);
    border-radius:50%;
    display:grid;
    place-items:center;
    font-size:23px
}
.ma-circle-link:hover {
    background:var(--ma-slate)
}
.ma-section-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:60px;
    margin-bottom:44px
}
.ma-section-heading h2 {
    margin-bottom:0
}
.ma-section-heading>p {
    max-width:340px;
    margin:0;
    color:var(--ma-muted)
}
.ma-section-heading>.ma-text-link {
    flex-shrink:0;
    margin-bottom:7px
}
.ma-category-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid var(--ma-line);
    border-left:1px solid var(--ma-line)
}
.ma-category-card {
    border-right:1px solid var(--ma-line);
    border-bottom:1px solid var(--ma-line)
}
.ma-category-art {
    height:245px;
    overflow:hidden;
    position:relative;
    border-bottom:1px solid var(--ma-line);
    background:#deded4
}
.ma-category-art span,.ma-category-art i {
    display:block;
    position:absolute;
    border:1px solid rgba(66,78,77,.38)
}
.ma-art-face {
    background:#dee2dd
}
.ma-art-face span {
    height:290px;
    width:160px;
    border-radius:45% 60% 60% 30%;
    transform:rotate(-18deg);
    top:24px;
    left:calc(50% - 80px)
}
.ma-art-face i {
    height:280px;
    width:160px;
    border-radius:45% 60% 60% 30%;
    transform:rotate(-18deg);
    top:22px;
    left:calc(50% - 57px)
}
.ma-art-Breast,.ma-art-breast {
    background:#e9ddd0
}
.ma-art-breast span {
    height:235px;
    width:215px;
    border-radius:50%;
    top:76px;
    left:calc(50% - 180px)
}
.ma-art-breast i {
    height:235px;
    width:215px;
    border-radius:50%;
    top:76px;
    left:calc(50% - 25px)
}
.ma-art-body {
    background:#d5d9d8
}
.ma-art-body span {
    height:380px;
    width:225px;
    border-radius:55% 25% 60% 25%;
    transform:rotate(21deg);
    top:-44px;
    left:calc(50% - 125px)
}
.ma-art-body i {
    height:380px;
    width:225px;
    border-radius:55% 25% 60% 25%;
    transform:rotate(21deg);
    top:-44px;
    left:calc(50% - 94px)
}
.ma-category-copy {
    padding:34px
}
.ma-category-copy .ma-eyebrow {
    margin-bottom:16px
}
.ma-category-copy h3 {
    font-size:32px;
    margin-bottom:18px
}
.ma-category-copy>p {
    font-size:16px;
    min-height:82px;
    color:var(--ma-muted)
}
.ma-category-links {
    border-top:1px solid var(--ma-line);
    margin-top:28px
}
.ma-category-links a {
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:13px 0;
    border-bottom:1px solid var(--ma-line);
    font-size:15px
}
.ma-category-links a:hover {
    color:var(--ma-copper)
}
.ma-studio-section {
    background:#e6e8e1
}
.ma-studio-grid {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    align-items:center;
    gap:80px
}
.ma-studio-image {
    position:relative;
    height:620px
}
.ma-studio-image img {
    width:100%;
    height:100%;
    object-fit:cover
}
.ma-photo-note {
    position:absolute;
    bottom:15px;
    left:15px;
    padding:7px 12px;
    font-size:12px;
    background:rgba(243,241,237,.94);
    color:var(--ma-muted)
}
.ma-studio-copy>p:not(.ma-eyebrow) {
    color:var(--ma-muted)
}
.ma-number-list {
    list-style:none;
    margin:32px 0;
    padding:0
}
.ma-number-list li {
    display:flex;
    gap:24px;
    padding:17px 0;
    border-top:1px solid #cbd0c8
}
.ma-number-list li>span {
    font-size:13px;
    color:var(--ma-copper);
    padding-top:3px
}
.ma-number-list li p {
    font-size:15px;
    color:var(--ma-muted);
    margin:6px 0 0
}
.ma-planning-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border:1px solid var(--ma-line)
}
.ma-planning-grid>a {
    padding:38px;
    border-right:1px solid var(--ma-line);
    transition:background .2s
}
.ma-planning-grid>a:last-child {
    border-right:0
}
.ma-planning-grid>a:hover {
    background:#e9e9e1
}
.ma-planning-grid h3 {
    font-size:34px
}
.ma-planning-grid p:not(.ma-eyebrow) {
    font-size:16px;
    color:var(--ma-muted);
    margin-bottom:32px
}
.ma-planning-grid .ma-eyebrow {
    display:block;
    margin-bottom:30px
}
.ma-consult-banner {
    background:var(--ma-ink);
    color:var(--ma-paper);
    padding:88px 0;
    overflow:hidden
}
.ma-consult-banner>.ma-container {
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:100px;
    align-items:center
}
.ma-consult-banner em {
    color:#cda784
}
.ma-consult-banner p:not(.ma-eyebrow) {
    color:#d0d5d3;
    max-width:570px
}
.ma-consult-banner .ma-small {
    display:block;
    color:#bdc7c5;
    margin-top:20px
}
.ma-consult-monogram {
    font-family:Maison Serif,Georgia,serif;
    font-size:340px;
    line-height:.8;
    text-align:center;
    font-weight:400;
    color:transparent;
    -webkit-text-stroke:1px #6c7777;
    position:relative
}
.ma-consult-monogram span {
    display:block;
    font-family:Maison Sans,Arial,sans-serif;
    font-size:14px;
    letter-spacing:.6em;
    color:#d0bcaa;
    -webkit-text-stroke:0;
    margin-top:30px
}
.ma-home-faq {
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:90px
}
.ma-faq-list {
    border-top:1px solid var(--ma-line)
}
.ma-faq-list details {
    border-bottom:1px solid var(--ma-line)
}
.ma-faq-list summary {
    list-style:none;
    cursor:pointer;
    padding:22px 38px 22px 0;
    font-size:18px;
    line-height:1.5;
    font-weight:600;
    position:relative
}
.ma-faq-list summary::-webkit-details-marker {
    display:none
}
.ma-faq-list summary:after {
    content:"+";
    position:absolute;
    right:4px;
    top:21px;
    font-size:24px;
    color:var(--ma-copper);
    font-weight:400
}
.ma-faq-list details[open] summary:after {
    content:"−"
}
.ma-faq-list details p {
    color:var(--ma-muted);
    font-size:16px;
    padding-right:20px
}
.ma-footer {
    background:#e7e7df;
    padding-top:66px
}
.ma-footer-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding-bottom:52px;
    border-bottom:1px solid #cbd0c8
}
.ma-footer-top h2 {
    font-size:44px;
    margin:0
}
.ma-footer-top .ma-eyebrow {
    margin-bottom:18px
}
.ma-footer-grid {
    display:grid;
    grid-template-columns:1.8fr 1fr 1fr 1fr;
    gap:46px;
    padding:54px 0
}
.ma-footer-grid h3 {
    font-family:Maison Sans,Arial,sans-serif;
    font-size:14px;
    letter-spacing:.03em;
    font-weight:600;
    margin:4px 0 20px
}
.ma-footer-grid>div>a:not(.ma-brand) {
    display:block;
    font-size:14px;
    margin:12px 0
}
.ma-footer-grid>div>a:not(.ma-brand):hover {
    color:var(--ma-copper);
    text-decoration:underline
}
.ma-footer-grid p {
    font-size:14px;
    margin:24px 0 0;
    color:var(--ma-muted)
}
.ma-footer-grid p.ma-small {
    font-size:13px
}
.ma-footer-bottom {
    border-top:1px solid #cbd0c8;
    padding:24px 0 30px;
    display:flex;
    justify-content:space-between;
    gap:50px;
    font-size:12px;
    color:var(--ma-muted)
}
.ma-footer-bottom p {
    max-width:760px;
    margin:0
}
.ma-footer-bottom>div {
    display:flex;
    gap:24px;
    flex-shrink:0
}
.ma-footer-bottom a {
    text-decoration:underline;
    text-underline-offset:3px
}
/* Shared editorial pages, catalog, and practical planning. */
.ma-page-hero {
    padding-top:70px;
    padding-bottom:62px
}
.ma-page-hero h1 {
    max-width:1000px
}
.ma-page-hero .ma-lede {
    max-width:750px
}
.ma-breadcrumb {
    font-size:14px;
    display:inline-block;
    margin-bottom:38px;
    color:var(--ma-muted)
}
.ma-page-hero .ma-actions {
    margin-top:32px
}
.ma-filter-bar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border-bottom:1px solid var(--ma-line);
    padding-bottom:24px;
    margin-bottom:28px
}
.ma-filter-buttons {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
.ma-filter-buttons button {
    padding:12px 18px;
    background:transparent;
    border:1px solid var(--ma-line);
    font-size:14px;
    min-height:46px
}
.ma-filter-buttons button[aria-pressed=true] {
    background:var(--ma-ink);
    color:white;
    border-color:var(--ma-ink)
}
.ma-filter-buttons button span {
    margin-left:4px
}
.ma-filter-bar>p {
    font-size:13px;
    color:var(--ma-muted);
    margin:0;
    flex-shrink:0
}
.ma-procedure-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
}
.ma-procedure-card {
    background:var(--ma-white);
    border:1px solid var(--ma-line);
    padding:36px
}
.ma-procedure-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:36px
}
.ma-procedure-top>.ma-eyebrow {
    margin:0
}
.ma-save {
    border:1px solid var(--ma-line);
    padding:7px 12px;
    background:transparent;
    font-size:13px;
    min-height:40px
}
.ma-save[aria-pressed=true] {
    background:var(--ma-slate)
}
.ma-procedure-card h2 {
    font-size:37px;
    letter-spacing:-.025em
}
.ma-procedure-card>p {
    font-size:17px;
    color:var(--ma-muted);
    max-width:470px;
    min-height:60px
}
.ma-empty {
    padding:40px;
    background:var(--ma-white);
    border:1px solid var(--ma-line);
    text-align:center
}
.ma-callout {
    padding:40px;
    background:#e3e6de;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:34px;
    margin-top:52px
}
.ma-callout h2 {
    font-size:36px;
    margin:0 0 14px
}
.ma-callout p {
    margin:0;
    color:var(--ma-muted)
}
.ma-callout .ma-btn {
    flex-shrink:0
}
.ma-detail-layout {
    display:grid;
    grid-template-columns:1.7fr 1fr;
    gap:90px;
    align-items:start
}
.ma-prose h3 {
    font-size:30px;
    margin-top:40px;
    margin-bottom:20px
}
.ma-prose>p,.ma-prose li {
    color:var(--ma-muted)
}
.ma-question-list {
    list-style:none;
    padding:0;
    margin:0 0 34px
}
.ma-question-list li {
    padding:16px 0 16px 27px;
    border-top:1px solid var(--ma-line);
    position:relative
}
.ma-question-list li:before {
    content:"↗";
    position:absolute;
    left:0;
    color:var(--ma-copper)
}
.ma-detail-aside {
    background:#e7e9e2;
    border-top:3px solid var(--ma-copper);
    padding:34px;
    position:sticky;
    top:140px
}
.ma-detail-aside h2 {
    font-size:38px
}
.ma-detail-aside>p:not(.ma-eyebrow) {
    font-size:16px;
    color:var(--ma-muted)
}
.ma-detail-aside dl {
    margin:30px 0
}
.ma-detail-aside dl>div {
    border-top:1px solid #c9cfc6;
    padding:13px 0;
    font-size:14px;
    display:flex;
    justify-content:space-between;
    gap:16px
}
.ma-detail-aside dt {
    color:var(--ma-muted)
}
.ma-detail-aside dd {
    margin:0;
    text-align:right
}
.ma-detail-aside>.ma-btn {
    display:flex;
    gap:18px
}
.ma-detail-aside>a:not(.ma-btn) {
    display:block;
    font-size:14px;
    margin:18px 0;
    text-decoration:underline;
    text-underline-offset:4px
}
.ma-related-grid,.ma-three-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px
}
.ma-simple-card {
    background:var(--ma-white);
    padding:32px;
    border:1px solid var(--ma-line)
}
.ma-simple-card h3 {
    font-size:28px
}
.ma-simple-card p {
    font-size:16px;
    color:var(--ma-muted);
    margin-bottom:0
}
.ma-simple-card .ma-eyebrow {
    font-size:12px;
    margin-bottom:26px
}
.ma-split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:start
}
.ma-split-image {
    height:570px;
    object-fit:cover;
    width:100%
}
.ma-step-card {
    border-top:1px solid var(--ma-line);
    padding:28px 0
}
.ma-step-card>span {
    font-size:13px;
    color:var(--ma-copper);
    display:block;
    margin-bottom:24px
}
.ma-step-card h3 {
    font-size:29px
}
.ma-step-card p {
    color:var(--ma-muted);
    font-size:16px
}
.ma-resource-list a {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:18px 0;
    border-bottom:1px solid var(--ma-line);
    font-size:16px
}
.ma-checklist {
    padding:30px;
    background:var(--ma-white);
    border:1px solid var(--ma-line)
}
.ma-checklist h3 {
    font-size:30px
}
.ma-checklist label {
    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:17px 0;
    border-top:1px solid var(--ma-line);
    cursor:pointer;
    font-size:16px
}
.ma-checklist input {
    flex-shrink:0;
    width:21px;
    height:21px;
    accent-color:var(--ma-ink);
    margin:3px 0
}
.ma-checklist label:has(input:checked) {
    color:#727771
}
.ma-checklist label:has(input:checked) span {
    text-decoration:line-through
}
.ma-checklist-progress {
    font-size:14px;
    color:var(--ma-copper);
    margin-top:22px
}
.ma-utility-actions {
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:25px
}
.ma-text-button {
    background:transparent;
    border:0;
    border-bottom:1px solid var(--ma-copper);
    padding:8px 0;
    font-size:14px;
    color:var(--ma-ink)
}
.ma-field {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:22px;
    min-width:0
}
.ma-field label,.ma-field>span {
    font-size:14px;
    font-weight:600
}
.ma-field input,.ma-field select,.ma-field textarea {
    width:100%;
    min-width:0;
    border:1px solid #afb8b3;
    background:var(--ma-white);
    color:var(--ma-ink);
    padding:14px 16px;
    min-height:54px;
    border-radius:0;
    font-size:16px
}
.ma-field textarea {
    min-height:145px;
    resize:vertical
}
.ma-field small {
    font-size:12px;
    color:var(--ma-muted)
}
.ma-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 24px
}
.ma-form-card {
    background:var(--ma-white);
    border:1px solid var(--ma-line);
    padding:38px
}
.ma-error {
    background:#f5e7e0;
    color:#852c23;
    padding:15px 20px;
    border-left:3px solid #a34b3d;
    font-size:15px
}
.ma-success {
    background:#e5ecdf;
    padding:30px;
    border:1px solid #c3d1ba
}
.ma-success h2 {
    font-size:34px
}
.ma-success p {
    font-size:16px;
    margin:0
}
.ma-cost-rows {
    border-top:1px solid var(--ma-line)
}
.ma-cost-rows>div {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:40px;
    padding:25px 0;
    border-bottom:1px solid var(--ma-line)
}
.ma-cost-rows h3 {
    font-size:25px;
    margin:0
}
.ma-cost-rows p {
    font-size:16px;
    color:var(--ma-muted);
    margin:0
}
.ma-disclosure {
    padding:26px;
    border:1px solid var(--ma-line);
    font-size:15px;
    color:var(--ma-muted);
    margin-top:32px
}
.ma-disclosure a {
    text-decoration:underline
}
.ma-legal {
    max-width:850px
}
.ma-legal h2 {
    font-size:31px;
    margin-top:38px
}
.ma-legal p,.ma-legal li {
    color:var(--ma-muted)
}
.ma-faq-search {
    max-width:650px;
    margin-bottom:36px
}
.ma-faq-search label {
    font-size:16px
}
.ma-faq-count {
    font-size:13px;
    color:var(--ma-muted)
}
.ma-expectation-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:28px
}
.ma-expectation-tabs button {
    border:1px solid var(--ma-line);
    background:transparent;
    padding:13px 18px;
    min-height:48px;
    font-size:14px
}
.ma-expectation-tabs button[aria-selected=true] {
    background:var(--ma-ink);
    color:white
}
.ma-expectation-panel {
    border:1px solid var(--ma-line);
    padding:40px;
    background:var(--ma-white)
}
.ma-expectation-panel h3 {
    font-size:32px
}
.ma-expectation-panel p {
    color:var(--ma-muted)
}
.ma-expectation-panel li {
    margin:13px 0;
    color:var(--ma-muted)
}
/* Consultation demonstration. */
.ma-book-layout {
    display:grid;
    grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);
    gap:44px;
    align-items:start
}
.ma-book-main {
    border:1px solid var(--ma-line);
    background:var(--ma-white);
    padding:38px
}
.ma-book-progress {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    list-style:none;
    padding:0 0 26px;
    margin:0 0 40px;
    border-bottom:1px solid var(--ma-line)
}
.ma-book-progress li {
    font-size:12px;
    line-height:1.4;
    color:var(--ma-muted)
}
.ma-book-progress span {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid var(--ma-line);
    margin-bottom:10px;
    font-size:12px
}
.ma-book-progress [aria-current=step] {
    color:var(--ma-ink);
    font-weight:600
}
.ma-book-progress [aria-current=step] span,.ma-book-progress .is-complete span {
    background:var(--ma-ink);
    border-color:var(--ma-ink);
    color:white
}
.ma-book-step {
    scroll-margin-top:140px
}
.ma-book-step h2 {
    font-size:44px
}
.ma-book-step>p:not(.ma-eyebrow) {
    font-size:16px;
    color:var(--ma-muted)
}
.ma-choice-list {
    border:0;
    padding:0;
    margin:30px 0
}
.ma-service-option {
    display:flex;
    align-items:center;
    gap:17px;
    padding:16px 18px;
    border:1px solid var(--ma-line);
    margin:10px 0;
    cursor:pointer
}
.ma-service-option:has(input:checked) {
    border-color:var(--ma-ink);
    background:#eff0ea
}
.ma-service-option input {
    width:19px;
    height:19px;
    accent-color:var(--ma-ink);
    flex-shrink:0
}
.ma-service-option strong {
    font-size:16px;
    display:block;
    line-height:1.5
}
.ma-service-option small {
    font-size:13px;
    color:var(--ma-muted);
    line-height:1.5;
    display:block;
    margin-top:3px
}
.ma-book-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:30px
}
.ma-book-actions>.ma-btn:only-child {
    margin-left:auto
}
.ma-time-options {
    border:0;
    padding:0;
    margin:28px 0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.ma-time-options legend {
    font-size:14px;
    font-weight:600;
    padding:0 0 14px
}
.ma-time-options label {
    position:relative;
    cursor:pointer
}
.ma-time-options input {
    position:absolute;
    opacity:0;
    width:100%;
    height:100%;
    margin:0
}
.ma-time-options span {
    display:block;
    text-align:center;
    border:1px solid var(--ma-line);
    padding:12px 5px;
    font-size:14px
}
.ma-time-options input:checked+span {
    background:var(--ma-ink);
    border-color:var(--ma-ink);
    color:white
}
.ma-time-options input:focus-visible+span {
    outline:3px solid var(--ma-copper);
    outline-offset:3px
}
.ma-location-note {
    padding:22px;
    background:#f0f0e9;
    border-left:2px solid var(--ma-copper);
    font-size:15px
}
.ma-location-note p {
    font-size:14px;
    color:var(--ma-muted);
    margin:7px 0 0
}
.ma-book-summary {
    padding:33px;
    background:#e6e9e2;
    border-top:3px solid var(--ma-copper);
    position:sticky;
    top:140px
}
.ma-book-summary>img {
    margin-bottom:26px
}
.ma-book-summary h2 {
    font-size:34px
}
.ma-summary-line {
    padding:17px 0;
    border-top:1px solid #c8d0c4;
    font-size:14px
}
.ma-summary-line span,.ma-summary-line small {
    display:block;
    font-size:12px;
    color:var(--ma-muted);
    margin-bottom:5px
}
.ma-summary-line strong {
    font-size:15px;
    line-height:1.6
}
.ma-summary-total {
    display:flex;
    gap:20px;
    align-items:center;
    justify-content:space-between;
    border-top:1px solid #c8d0c4;
    padding-top:20px;
    font-size:14px
}
.ma-summary-total strong {
    font-family:Maison Serif,Georgia,serif;
    font-size:32px
}
.ma-book-summary>.ma-text-link {
    font-size:13px
}
.ma-book-review {
    border-top:1px solid var(--ma-line);
    margin:28px 0
}
.ma-book-review>div {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px;
    border-bottom:1px solid var(--ma-line);
    padding:15px 0;
    font-size:14px
}
.ma-book-review span {
    color:var(--ma-muted)
}
.ma-book-review strong {
    text-align:right;
    max-width:65%;
    overflow-wrap:anywhere
}
.ma-confirmation-actions {
    display:flex;
    gap:16px;
    align-items:center;
    flex-wrap:wrap
}
.ma-confirm-mark {
    display:grid;
    place-items:center;
    width:56px;
    height:56px;
    background:var(--ma-ink);
    color:white;
    margin-bottom:28px;
    font-size:24px
}
.ma-book-confirmation h2,.ma-book-cancelled h2 {
    font-size:44px
}
.ma-book-confirmation,.ma-book-cancelled {
    scroll-margin-top:140px
}
.ma-book-confirmation>p:not(.ma-eyebrow),.ma-book-cancelled>p {
    font-size:16px;
    color:var(--ma-muted)
}
@media(min-width:1500px) {
    .ma-hero {
        padding-top:66px
    }
    .ma-portrait-frame {
        height:670px
    }
}
@media(max-width:1250px) {
    .ma-container {
        width:calc(100% - 80px)
    }
    .ma-navigation {
        gap:20px;
        font-size:13px
    }
    .ma-navigation .ma-btn {
        font-size:13px;
        padding:13px 16px;
        gap:14px
    }
    .ma-hero {
        gap:50px
    }
    .ma-hero h1 {
        font-size:82px
    }
    .ma-portrait-frame {
        height:600px
    }
    .ma-studio-grid {
        gap:50px
    }
    .ma-category-copy {
        padding:26px
    }
    .ma-category-copy h3 {
        font-size:28px
    }
    .ma-planning-grid>a {
        padding:28px
    }
    .ma-planning-grid h3 {
        font-size:30px
    }
    .ma-detail-layout {
        gap:55px
    }
    .ma-footer-grid {
        gap:28px
    }
    .ma-book-main {
        padding:28px
    }
}
@media(max-width:1080px) {
    .ma-header-inner {
        min-height:92px
    }
    .ma-menu-toggle {
        display:flex
    }
    .ma-navigation {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        padding:24px 40px;
        background:var(--ma-paper);
        border-bottom:1px solid var(--ma-line);
        box-shadow:0 10px 18px #202c3214;
        flex-direction:column;
        align-items:stretch;
        gap:2px;
        font-size:16px;
        max-height:calc(100dvh - 92px);
        overflow-y:auto
    }
    .ma-navigation.is-open {
        display:flex
    }
    .ma-navigation .ma-btn {
        font-size:15px;
        margin-top:10px;
        min-height:54px
    }
    .ma-hero {
        gap:38px
    }
    .ma-hero h1 {
        font-size:72px
    }
    .ma-hero-copy>.ma-lede {
        font-size:17px
    }
    .ma-hero .ma-actions {
        gap:17px
    }
    .ma-hero .ma-btn {
        font-size:14px;
        padding:16px 20px;
        gap:16px
    }
    .ma-portrait-frame {
        height:550px
    }
    .ma-image-label {
        left:24px;
        bottom:25px
    }
    .ma-image-label strong {
        font-size:25px
    }
    .ma-image-caption {
        flex-direction:column;
        gap:5px
    }
    .ma-intro-grid {
        grid-template-columns:.7fr 2fr 50px;
        gap:25px
    }
    .ma-intro-grid>p:nth-child(2) {
        font-size:18px
    }
    .ma-section-heading {
        gap:35px
    }
    .ma-section-heading>.ma-text-link {
        max-width:220px;
        flex-shrink:1
    }
    .ma-category-copy>p {
        min-height:110px
    }
    .ma-category-copy h3 {
        font-size:26px
    }
    .ma-category-art {
        height:200px
    }
    .ma-studio-grid {
        gap:40px
    }
    .ma-studio-image {
        height:610px
    }
    .ma-consult-banner>.ma-container {
        gap:50px
    }
    .ma-consult-monogram {
        font-size:280px
    }
    .ma-home-faq {
        gap:45px
    }
    .ma-footer-grid {
        grid-template-columns:1.5fr 1fr 1fr
    }
    .ma-footer-grid>div:first-child {
        grid-column:1/-1;
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:30px;
        align-items:center
    }
    .ma-footer-grid p {
        margin:0
    }
    .ma-detail-layout {
        grid-template-columns:1.4fr 1fr;
        gap:35px
    }
    .ma-detail-aside {
        padding:26px
    }
    .ma-detail-aside h2 {
        font-size:32px
    }
    .ma-split {
        gap:45px
    }
    .ma-book-layout {
        grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);
        gap:24px
    }
    .ma-book-summary {
        padding:25px
    }
    .ma-book-step h2 {
        font-size:38px
    }
    .ma-book-actions .ma-btn {
        font-size:14px;
        padding:16px 18px;
        gap:12px
    }
}
@media(max-width:800px) {
    html {
        scroll-padding-top:100px
    }
    .ma-container {
        width:calc(100% - 48px)
    }
    .ma-section {
        padding-block:68px
    }
    .ma-section-tight {
        padding-top:10px
    }
    .ma-concept-bar {
        padding:9px 24px;
        font-size:12px
    }
    .ma-concept-bar>span {
        max-width:235px
    }
    .ma-concept-bar a {
        white-space:nowrap
    }
    .ma-header-inner {
        min-height:84px
    }
    .ma-brand>span {
        font-size:33px
    }
    .ma-brand small {
        font-size:12px;
        letter-spacing:.13em;
        margin-top:8px
    }
    .ma-hero {
        grid-template-columns:1fr;
        gap:34px;
        padding-top:40px;
        padding-bottom:36px
    }
    .ma-hero h1 {
        font-size:clamp(66px,10vw,88px)
    }
    .ma-hero-copy>.ma-lede {
        font-size:19px;
        max-width:580px
    }
    .ma-hero h1 br:nth-child(2) {
        display:none
    }
    .ma-hero h1 em {
        display:block
    }
    .ma-hero-footnote {
        margin-top:32px
    }
    .ma-hero-visual {
        max-width:100%;
        width:100%
    }
    .ma-portrait-frame {
        height:610px
    }
    .ma-portrait-frame>img {
        object-position:center 28%
    }
    .ma-image-caption {
        flex-direction:row
    }
    .ma-image-label strong {
        font-size:32px
    }
    .ma-intro-band {
        margin-top:0
    }
    .ma-intro-grid {
        grid-template-columns:1fr 56px;
        padding-block:30px;
        gap:15px 24px
    }
    .ma-intro-grid>.ma-eyebrow {
        grid-column:1/-1
    }
    .ma-intro-grid>.ma-eyebrow br {
        display:none
    }
    .ma-intro-grid>p:nth-child(2) {
        font-size:18px
    }
    .ma-section-heading {
        flex-direction:column;
        align-items:flex-start;
        gap:25px;
        margin-bottom:34px
    }
    .ma-section-heading>.ma-text-link {
        max-width:none
    }
    .ma-section-heading>p {
        max-width:550px
    }
    .ma-category-grid {
        grid-template-columns:1fr
    }
    .ma-category-card {
        display:grid;
        grid-template-columns:.75fr 1fr
    }
    .ma-category-art {
        height:100%;
        min-height:325px;
        border-right:1px solid var(--ma-line);
        border-bottom:0
    }
    .ma-category-copy>p {
        min-height:0
    }
    .ma-category-copy h3 {
        font-size:32px
    }
    .ma-category-links {
        margin-top:20px
    }
    .ma-category-art span,.ma-category-art i {
        top:70px
    }
    .ma-studio-grid {
        grid-template-columns:1fr;
        gap:36px
    }
    .ma-studio-image {
        height:450px
    }
    .ma-studio-copy {
        max-width:600px
    }
    .ma-planning-grid {
        grid-template-columns:1fr
    }
    .ma-planning-grid>a {
        border-right:0;
        border-bottom:1px solid var(--ma-line);
        padding:30px
    }
    .ma-planning-grid>a:last-child {
        border-bottom:0
    }
    .ma-planning-grid h3 br {
        display:none
    }
    .ma-planning-grid h3 {
        font-size:34px
    }
    .ma-planning-grid p:not(.ma-eyebrow) {
        max-width:600px;
        margin-bottom:25px
    }
    .ma-planning-grid .ma-eyebrow {
        margin-bottom:20px
    }
    .ma-consult-banner {
        padding:65px 0
    }
    .ma-consult-banner>.ma-container {
        grid-template-columns:1fr
    }
    .ma-consult-monogram {
        display:none
    }
    .ma-home-faq {
        grid-template-columns:1fr;
        gap:38px
    }
    .ma-footer {
        padding-top:50px;
        padding-bottom:80px
    }
    .ma-footer-top {
        flex-direction:column;
        align-items:flex-start;
        gap:30px;
        padding-bottom:40px
    }
    .ma-footer-top h2 {
        font-size:39px
    }
    .ma-footer-grid {
        grid-template-columns:repeat(3,1fr);
        gap:25px;
        padding-block:36px
    }
    .ma-footer-grid>div:first-child {
        display:block
    }
    .ma-footer-grid>div:first-child p {
        margin-top:22px
    }
    .ma-footer-bottom {
        flex-direction:column;
        gap:22px
    }
    .ma-mobile-action {
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:16px;
        position:fixed;
        z-index:65;
        bottom:0;
        left:0;
        right:0;
        background:var(--ma-paper);
        padding:10px 20px calc(10px + env(safe-area-inset-bottom));
        border-top:1px solid var(--ma-line);
        box-shadow:0 -5px 15px #202c3210
    }
    .ma-mobile-action>a:first-child {
        font-size:14px;
        font-weight:600
    }
    .ma-mobile-action .ma-btn {
        font-size:14px;
        min-height:46px;
        padding:13px 18px
    }
    .ma-page-hero {
        padding-top:45px;
        padding-bottom:45px
    }
    .ma-page-hero h1 {
        font-size:62px
    }
    .ma-page-hero .ma-lede {
        font-size:18px
    }
    .ma-filter-bar {
        align-items:flex-start;
        flex-direction:column;
        gap:16px
    }
    .ma-procedure-card {
        padding:25px
    }
    .ma-procedure-card h2 {
        font-size:30px
    }
    .ma-procedure-card>p {
        font-size:16px;
        min-height:108px
    }
    .ma-procedure-top {
        gap:12px
    }
    .ma-procedure-top .ma-eyebrow {
        font-size:12px;
        letter-spacing:.08em
    }
    .ma-callout {
        flex-direction:column;
        align-items:flex-start;
        padding:30px;
        margin-top:35px
    }
    .ma-detail-layout {
        grid-template-columns:1fr;
        gap:38px
    }
    .ma-detail-aside {
        position:static;
        padding:30px
    }
    .ma-detail-aside h2 {
        font-size:38px
    }
    .ma-related-grid,.ma-three-grid {
        grid-template-columns:1fr
    }
    .ma-split {
        grid-template-columns:1fr;
        gap:38px
    }
    .ma-split-image {
        height:450px
    }
    .ma-cost-rows>div {
        gap:25px
    }
    .ma-book-layout {
        grid-template-columns:1fr
    }
    .ma-book-summary {
        position:static;
        display:none
    }
    .ma-book-main {
        padding:30px
    }
    .ma-book-step h2 {
        font-size:42px
    }
    .ma-book-progress {
        margin-bottom:28px
    }
    .ma-book-actions .ma-btn {
        font-size:15px;
        padding:17px 22px
    }
    .ma-book-hero {
        padding-bottom:30px
    }
    .ma-book-hero h1 {
        font-size:58px
    }
    .ma-expectation-panel {
        padding:30px
    }
}
@media(max-width:500px) {
    body.maison-site {
        font-size:16px
    }
    .ma-container {
        width:calc(100% - 40px)
    }
    .ma-concept-bar {
        padding:8px 20px;
        gap:15px
    }
    .ma-concept-bar>span {
        max-width:190px;
        font-size:12px
    }
    .ma-concept-bar>a {
        font-size:12px;
        max-width:110px;
        text-align:right;
        white-space:normal
    }
    .ma-header-inner {
        gap:16px
    }
    .ma-navigation {
        padding:16px 20px 25px
    }
    .ma-brand>span {
        font-size:30px
    }
    .ma-brand small {
        font-size:12px;
        letter-spacing:.09em
    }
    .ma-menu-toggle {
        padding:10px 12px
    }
    .ma-hero h1 {
        font-size:clamp(54px,13.6vw,68px)
    }
    .ma-hero h1 br:nth-child(2) {
        display:block
    }
    .ma-hero h1 em {
        display:inline
    }
    .ma-hero-copy>.ma-lede {
        font-size:17px
    }
    .ma-hero .ma-actions {
        align-items:stretch;
        flex-direction:column;
        gap:22px
    }
    .ma-hero .ma-text-link {
        align-self:flex-start
    }
    .ma-hero .ma-btn {
        font-size:15px
    }
    .ma-hero-copy>.ma-eyebrow {
        font-size:12px;
        letter-spacing:.1em
    }
    .ma-rule {
        width:20px;
        margin-right:7px
    }
    .ma-hero-footnote {
        gap:15px
    }
    .ma-portrait-frame {
        height:450px
    }
    .ma-image-label {
        left:24px;
        bottom:25px
    }
    .ma-image-label strong {
        font-size:27px
    }
    .ma-image-label>span {
        font-size:12px;
        letter-spacing:.1em
    }
    .ma-image-caption {
        flex-direction:column;
        gap:5px
    }
    .ma-intro-grid>p:nth-child(2) {
        font-size:17px
    }
    .ma-circle-link {
        width:46px;
        height:46px
    }
    .ma-section {
        padding-block:54px
    }
    .ma-section-tight {
        padding-top:8px
    }
    h2 {
        font-size:37px
    }
    .ma-category-card {
        grid-template-columns:1fr
    }
    .ma-category-art {
        height:180px;
        min-height:0;
        border-right:0;
        border-bottom:1px solid var(--ma-line)
    }
    .ma-category-art span,.ma-category-art i {
        top:20px
    }
    .ma-category-copy {
        padding:27px
    }
    .ma-category-copy h3 {
        font-size:33px
    }
    .ma-studio-image {
        height:330px
    }
    .ma-planning-grid>a {
        padding:28px 24px
    }
    .ma-planning-grid h3 {
        font-size:32px
    }
    .ma-consult-banner {
        padding:55px 0
    }
    .ma-consult-banner h2 {
        font-size:40px
    }
    .ma-home-faq {
        gap:30px
    }
    .ma-faq-list summary {
        font-size:17px;
        padding-block:21px
    }
    .ma-faq-list details p {
        font-size:16px
    }
    .ma-footer-grid {
        grid-template-columns:1fr 1fr;
        gap:28px
    }
    .ma-footer-grid>div:last-child {
        grid-column:1/-1
    }
    .ma-footer-top h2 {
        font-size:34px
    }
    .ma-footer-bottom>div {
        flex-wrap:wrap;
        gap:18px
    }
    .ma-mobile-action {
        padding-inline:14px;
        gap:9px
    }
    .ma-mobile-action>a:first-child {
        font-size:13px
    }
    .ma-mobile-action .ma-btn {
        font-size:13px;
        padding-inline:13px
    }
    .ma-page-hero h1 {
        font-size:clamp(46px,12vw,60px)
    }
    .ma-page-hero .ma-lede {
        font-size:17px
    }
    .ma-page-hero .ma-actions {
        align-items:flex-start;
        gap:24px
    }
    .ma-page-hero .ma-btn {
        font-size:14px;
        gap:16px
    }
    .ma-filter-buttons {
        gap:7px
    }
    .ma-filter-buttons button {
        font-size:13px;
        padding:10px 13px
    }
    .ma-procedure-grid {
        grid-template-columns:1fr;
        gap:18px
    }
    .ma-procedure-card {
        padding:25px
    }
    .ma-procedure-card h2 {
        font-size:33px
    }
    .ma-procedure-card>p {
        min-height:0
    }
    .ma-procedure-top {
        margin-bottom:27px
    }
    .ma-callout {
        padding:27px 24px
    }
    .ma-callout .ma-btn {
        width:100%;
        font-size:14px;
        padding:17px 18px;
        gap:12px
    }
    .ma-callout h2 {
        font-size:32px
    }
    .ma-detail-aside {
        padding:27px
    }
    .ma-detail-aside h2 {
        font-size:34px
    }
    .ma-detail-aside dl>div {
        flex-direction:column;
        gap:3px
    }
    .ma-detail-aside dd {
        text-align:left
    }
    .ma-prose h3 {
        font-size:28px
    }
    .ma-simple-card {
        padding:27px
    }
    .ma-split-image {
        height:360px
    }
    .ma-cost-rows>div {
        grid-template-columns:1fr;
        gap:14px;
        padding:25px 0
    }
    .ma-checklist {
        padding:25px
    }
    .ma-checklist label {
        font-size:15px
    }
    .ma-form-card {
        padding:25px
    }
    .ma-form-grid {
        grid-template-columns:1fr;
        gap:0
    }
    .ma-expectation-panel {
        padding:25px
    }
    .ma-expectation-panel h3 {
        font-size:29px
    }
    .ma-expectation-panel ul {
        padding-left:22px
    }
    .ma-book-main {
        padding:22px
    }
    .ma-book-progress {
        gap:7px;
        padding-bottom:22px;
        margin-bottom:26px
    }
    .ma-book-progress li {
        font-size:12px
    }
    .ma-book-progress span {
        width:27px;
        height:27px
    }
    .ma-book-step h2 {
        font-size:36px
    }
    .ma-service-option {
        padding:14px 12px;
        gap:12px
    }
    .ma-service-option strong {
        font-size:15px
    }
    .ma-service-option small {
        font-size:12px
    }
    .ma-book-actions {
        gap:18px;
        flex-wrap:wrap
    }
    .ma-book-actions .ma-btn {
        font-size:14px;
        padding:16px 18px;
        width:100%;
        order:0
    }
    .ma-book-actions .ma-text-button {
        order:1
    }
    .ma-time-options {
        gap:8px;
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .ma-time-options span {
        font-size:14px
    }
    .ma-book-review>div {
        flex-direction:column;
        gap:5px
    }
    .ma-book-review strong {
        text-align:left;
        max-width:100%
    }
    .ma-confirmation-actions>.ma-btn {
        width:100%;
        font-size:14px
    }
    .ma-book-confirmation h2,.ma-book-cancelled h2 {
        font-size:36px
    }
    .ma-book-hero h1 {
        font-size:48px
    }
    .ma-book-hero .ma-lede {
        font-size:17px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        animation:none!important;
        transition:none!important
    }
}
@media print {
    .ma-concept-bar,.ma-header,.ma-footer,.ma-mobile-action,.ma-utility-actions,.ma-btn {
        display:none!important
    }
    .ma-container {
        width:100%
    }
    .ma-section,.ma-page-hero {
        padding:20px 0
    }
    body.maison-site {
        background:white
    }
    .ma-checklist {
        break-inside:avoid
    }
    .ma-split {
        display:block
    }
}

