/* Full-screen mobile House Index. Native dialog isolates the page underneath. */
.mobile-house:not([open]){display:none}
.mobile-house{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;border:0;background:var(--paper,#fff);color:var(--ink,#202020);overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto;overscroll-behavior:contain}
.mobile-house[open]{display:grid;animation:mn-enter .24s cubic-bezier(.22,1,.36,1)}
.mobile-house::backdrop{background:var(--paper,#fff)}
.mobile-house *{box-sizing:border-box}
.mobile-house a{color:inherit;text-decoration:none}
.mobile-house button{cursor:pointer}
.mobile-house a:focus-visible,.mobile-house button:focus-visible{outline:2px solid var(--purple-ink);outline-offset:3px}
.mn-top{display:flex;align-items:center;justify-content:space-between;padding:calc(19px + env(safe-area-inset-top)) 24px 19px;border-bottom:1px solid var(--hairline);gap:16px}
.mobile-house .masthead{display:flex;gap:7px;align-items:center;margin:0}
.mobile-house .masthead img{width:150px;height:auto}
.mobile-house .masthead em{font:italic 600 16px var(--serif);color:var(--purple-ink)}
.mn-close{display:flex;align-items:center;gap:8px;min-height:44px;margin:-10px -5px -10px 0;padding:8px 4px;border:0;background:none;color:inherit;font:500 12px var(--sans)}
.mn-close svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.1}
.mn-body{overflow-y:auto;overscroll-behavior:contain;padding:27px 24px 15px;scrollbar-width:thin;display:flex;align-items:center}
.mn-body nav{width:100%;display:block}
.mn-primary{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:25px;border-bottom:1px solid var(--hairline)}
.mn-primary a{display:flex;align-items:center;justify-content:space-between;font:500 36px/1.2 var(--serif);letter-spacing:-1.3px;min-height:48px}
.mn-primary a span{font:300 20px var(--sans);color:var(--purple-ink);margin-right:4px}
.mn-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 12px;font:500 10px var(--sans);letter-spacing:.16em;text-transform:uppercase}
.mn-heading>a{display:flex;align-items:center;gap:10px;min-height:36px;letter-spacing:.03em;text-transform:none;font-size:12px;color:var(--ink-mid)}
.mn-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--hairline);border-radius:16px;overflow:hidden;background:var(--hairline);gap:1px}
.mobile-house .mn-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:103px;padding:14px 16px 15px;background:var(--mn-tint);font:500 16px/1.3 var(--sans);transition:filter .2s}
.mn-tile-0{--mn-tint:#f3eafc}.mn-tile-1{--mn-tint:#f2f6fa}.mn-tile-2{--mn-tint:#fbf4ed}.mn-tile-3{--mn-tint:#f2f6ef}.mn-tile-4{--mn-tint:#fbf1f5}.mn-tile-5{--mn-tint:#f2f0fa}
.mn-icon{width:35px;height:32px;stroke-width:1.7;color:var(--ink-mid)}
.mn-arrow{position:absolute;right:15px;top:15px;font-size:14px;color:var(--ink-mid)}
.mobile-house .mn-tile:hover,.mobile-house .mn-tile:active{filter:brightness(.96)}
.mobile-house .mn-tile:focus-visible{outline-offset:-4px}
.mn-experience{display:flex;justify-content:space-between;align-items:center;min-height:48px;font:400 12px var(--sans);color:var(--ink-mid)!important;padding:8px 3px}
.mn-bottom{padding:19px 24px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--hairline);background:var(--paper)}
.mn-cta{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper)!important;border-radius:7px;padding:16px 18px;font:500 17px var(--sans);min-height:56px}
.mn-cta svg{width:34px;height:16px;stroke:var(--purple);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.mn-email{display:flex;align-items:center;justify-content:center;min-height:44px;font:400 13px var(--sans)}
.mn-utilities{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mobile-house .mn-theme,.mobile-house .mn-film{display:flex;align-items:center;gap:7px;width:auto;height:auto;min-height:44px;margin:0;padding:6px 0;border:0;background:none;color:var(--ink-mid);font:400 10px var(--sans);letter-spacing:.01em;text-transform:none;border-radius:0}
.mobile-house .mn-theme img{width:15px;height:16px;object-fit:contain}
.mobile-house .mn-film[hidden]{display:none}
html[data-theme=dark] .mn-tile-0{--mn-tint:#2b2131}html[data-theme=dark] .mn-tile-1{--mn-tint:#202830}html[data-theme=dark] .mn-tile-2{--mn-tint:#2b251f}html[data-theme=dark] .mn-tile-3{--mn-tint:#222920}html[data-theme=dark] .mn-tile-4{--mn-tint:#2c2026}html[data-theme=dark] .mn-tile-5{--mn-tint:#242230}
html[data-theme=dark] .mobile-house .masthead img{filter:none}
@media(max-height:720px){.mn-body{display:block;padding-top:18px}.mn-primary{padding-bottom:16px}.mobile-house .mn-tile{min-height:89px}.mn-bottom{padding-top:12px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.mn-top,.mn-body,.mn-bottom{padding-left:18px;padding-right:18px}.mobile-house .masthead img{width:124px}.mn-primary a{font-size:32px}.mobile-house .mn-tile{font-size:14px;padding-left:13px}.mn-utilities{gap:6px}}
@keyframes mn-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-house[open]{animation:none}.mobile-house .mn-tile{transition:none}}
/* Keep global navigation typography from leaking into the mobile composition. */
.mobile-house nav a{text-transform:none;letter-spacing:0;border:0}
.mobile-house .mn-primary a{font-family:var(--serif);font-weight:500;letter-spacing:-1.3px}
.mobile-house .mn-tile{letter-spacing:0;text-transform:none;font-weight:500}
.mobile-house .mn-utilities .mn-theme{position:static;order:0;display:flex;flex-direction:row;flex-wrap:nowrap;white-space:nowrap;width:auto;min-width:0;max-width:none;transform:none}
.mobile-house .mn-utilities .mn-film{position:static;order:1;white-space:nowrap}

/* Secondary destinations: separate outlined tiles beside the project action. */
.mobile-house .mn-bottom .mn-primary{gap:10px;padding:0;margin:0 0 16px;border:0}
.mobile-house .mn-bottom .mn-primary a{position:relative;display:flex;align-items:flex-end;justify-content:space-between;min-height:103px;padding:14px 16px 15px;border:1px solid var(--hairline);border-radius:16px;background:var(--paper);font:500 16px/1.3 var(--sans);letter-spacing:0;text-transform:none;transition:border-color .2s,background .2s}
.mobile-house .mn-bottom .mn-primary a span{position:absolute;right:15px;top:15px;margin:0;font:400 14px var(--sans);color:var(--purple-ink)}
.mobile-house .mn-bottom .mn-primary a:hover{border-color:var(--purple-ink);background:color-mix(in srgb,var(--purple) 5%,var(--paper))}
@media(max-height:720px){.mobile-house .mn-bottom .mn-primary a{min-height:89px}.mobile-house .mn-bottom .mn-primary{margin-bottom:12px}}
@media(max-width:350px){.mobile-house .mn-bottom .mn-primary a{font-size:14px;padding-left:13px}}
@media(max-height:500px){.mobile-house .mn-bottom{max-height:55dvh;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.mobile-house .mn-bottom .mn-primary a{transition:none}}

/* Approved colour refinement: signature purple action and quiet secondary fills. */
.mobile-house .mn-cta{background:#C687FF;color:#201426!important}
.mobile-house .mn-cta svg{stroke:#201426}
.mobile-house .mn-bottom .mn-primary a:first-child{background:#f4effa}
.mobile-house .mn-bottom .mn-primary a:last-child{background:#faf0e8}
.mobile-house .mn-bottom .mn-primary a:first-child:hover{background:#ece2f7}
.mobile-house .mn-bottom .mn-primary a:last-child:hover{background:#f4e5d8}
html[data-theme=dark] .mobile-house .mn-bottom .mn-primary a:first-child{background:#292132}
html[data-theme=dark] .mobile-house .mn-bottom .mn-primary a:last-child{background:#30261f}
