:root {
  color-scheme: light;
  --sunflower: #F2C94C;
  --persimmon: #E76F51;
  --petrol: #245B63;
  --soft-sky: #DDECF0;
  --porcelain: #FFFDF7;
  --ink: #302C28;
  --sand: #F1E7D6;
  --muted: #77736D;
  --line: rgba(48,44,40,.18);
  --wrap: 1210px;
  --gutter: clamp(22px, 6vw, 88px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 85px; }
body { margin: 0; background: var(--porcelain); color: var(--ink); font-family: "Heebo", Arial, sans-serif; font-size: 16px; line-height: 1.65; text-align: right; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
figure, h1, h2, h3, p { margin: 0; }
.page-wrap { width: min(100% - var(--gutter) * 2, var(--wrap)); margin-inline: auto; }
.section-pad { padding-block: 108px; }
.skip-link { position: absolute; z-index: 20; inset-block-start: 10px; inset-inline-start: 10px; padding: 10px 16px; background: var(--petrol); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; z-index: 10; inset-block-start: 0; background: var(--porcelain); border-block-end: 1px solid var(--line); }
.header-inner { width: min(100% - var(--gutter) * 2, 1400px); min-height: 82px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand-symbol { position: relative; width: 38px; height: 38px; display: block; background: var(--sunflower); clip-path: polygon(50% 0, 100% 36%, 100% 100%, 0 100%, 0 36%); }
.brand-symbol::before { content: ""; position: absolute; inset: 9px 9px 0; background: var(--porcelain); clip-path: polygon(50% 0, 100% 37%, 100% 100%, 0 100%, 0 37%); }
.brand-symbol i { position: absolute; z-index: 1; bottom: 0; inset-inline-start: 16px; width: 7px; height: 14px; background: var(--petrol); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.15; }
.brand-copy strong { color: var(--petrol); font-family: "Rubik", "Heebo", sans-serif; font-size: 20px; font-weight: 700; }
.brand-copy small { margin-block-start: 5px; color: var(--muted); font-size: 10px; }
.primary-nav { display: flex; align-items: center; gap: clamp(18px, 2.8vw, 38px); margin-inline: auto; }
.primary-nav a, .footer-nav a { font-size: 14px; transition: color .18s ease; }
.primary-nav a:hover, .footer-nav a:hover { color: var(--persimmon); }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 12px 22px; border: 1px solid var(--sunflower); background: var(--sunflower); color: var(--ink); font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { border-color: var(--petrol); background: var(--petrol); color: white; }
.button-header { min-height: 44px; padding: 8px 14px; gap: 11px; font-size: 12px; }
.menu-toggle { display: none; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--persimmon); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.eyebrow-icon { width: 24px; height: 24px; display: inline-grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 10px; }
h1, h2, h3 { font-family: "Rubik", "Heebo", sans-serif; }
.hero { position: relative; min-height: 655px; padding-block: 69px 50px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 38px; }
.hero-copy { position: relative; z-index: 2; padding-block-end: 30px; }
.hero h1 { max-width: 580px; margin-block: 22px 18px; color: var(--petrol); font-size: clamp(47px, 6vw, 76px); font-weight: 700; line-height: 1.14; letter-spacing: -.055em; }
.hero h1 span, .section-heading h2 span, .neighbourhood-copy h2 span, .journey-heading h2 span, .contact-intro h2 span { color: var(--persimmon); }
.hero-intro { max-width: 460px; color: var(--muted); font-size: 16px; line-height: 1.9; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-block-start: 29px; }
.quiet-link { display: inline-flex; align-items: center; gap: 12px; padding-block-end: 5px; border-block-end: 1px solid var(--petrol); color: var(--petrol); font-size: 13px; font-weight: 600; }
.window-scene { position: relative; min-height: 465px; }
.window-yellow { position: absolute; width: 72%; height: 79%; inset-inline-start: 8%; inset-block-start: 6%; background: var(--sunflower); clip-path: polygon(50% 0, 100% 28%, 100% 100%, 0 100%, 0 28%); }
.window-petrol { position: absolute; width: 57%; height: 68%; inset-inline-end: 2%; inset-block-end: 2%; background: var(--petrol); }
.window-image { position: absolute; width: 75%; height: 78%; inset-inline-start: 13%; inset-block-start: 13%; overflow: hidden; border: 12px solid var(--porcelain); }
.window-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.window-mullion { position: absolute; z-index: 1; display: block; background: var(--porcelain); opacity: .88; }
.window-mullion-v { inset-block: 0; inset-inline-start: 52%; width: 7px; }
.window-mullion-h { inset-inline: 0; inset-block-start: 56%; height: 6px; }
.window-sun { position: absolute; width: 73px; aspect-ratio: 1; inset-inline-end: 4%; inset-block-start: 3%; border-radius: 50%; background: var(--persimmon); }
.window-label { position: absolute; z-index: 2; inset-inline-start: 0; inset-block-end: 11%; padding: 13px 17px; background: var(--persimmon); color: white; font-size: 12px; font-weight: 600; line-height: 1.45; }
.window-label b { margin-inline-start: 7px; color: var(--sunflower); font-size: 17px; }
.window-caption { position: absolute; inset-inline-end: 2%; inset-block-start: 47%; writing-mode: vertical-rl; color: var(--porcelain); font-size: 10px; letter-spacing: .12em; }
.hero-footnote { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; padding-block-start: 16px; border-block-start: 1px solid var(--line); color: var(--muted); font-size: 10px; letter-spacing: .04em; }
.footnote-line { width: 40px; height: 1px; background: var(--sunflower); }
.categories { background: var(--soft-sky); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-block-end: 42px; }
.section-heading h2, .neighbourhood-copy h2, .journey-heading h2, .contact-intro h2 { margin-block-start: 14px; color: var(--petrol); font-size: clamp(43px, 5.2vw, 65px); line-height: 1.1; letter-spacing: -.05em; }
.section-heading > p { max-width: 315px; margin-block-end: 6px; color: var(--muted); }
.category-mosaic { display: grid; grid-template-columns: 1.18fr .82fr; grid-template-rows: 285px 285px; gap: 16px; }
.category { position: relative; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; padding: 21px 24px 23px; }
.category-index { position: relative; z-index: 2; font-size: 10px; font-weight: 700; letter-spacing: .09em; }
.category h3 { position: relative; z-index: 2; margin-block-start: auto; margin-block-end: 6px; font-size: 30px; font-weight: 600; line-height: 1.2; }
.category p { position: relative; z-index: 2; max-width: 410px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.category-link { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 12px; margin-block-start: 12px; padding: 0; border: 0; border-block-end: 1px solid currentColor; padding-block-end: 3px; background: transparent; color: var(--petrol); font-size: 12px; font-weight: 700; cursor: pointer; }
.category-link span { transition: transform .18s ease; }
.category-link:hover span { transform: translateX(-4px); }
.category-family { grid-row: span 2; min-height: 586px; background: var(--sunflower); }
.category-family h3 { font-size: 39px; }
.category-family p { max-width: 300px; }
.family-illustration { position: absolute; inset: 12% 9% auto; height: 48%; }
.family-sun { position: absolute; width: 80px; aspect-ratio: 1; inset-inline-end: 7%; inset-block-start: 3%; border-radius: 50%; background: var(--persimmon); }
.family-house { position: absolute; width: 56%; height: 45%; inset-inline-start: 20%; inset-block-end: 2%; background: var(--porcelain); border: 4px solid var(--petrol); }
.family-roof { position: absolute; z-index: 1; width: 67%; height: 52%; inset-inline-start: 14%; inset-block-start: 9%; background: var(--petrol); clip-path: polygon(50% 0, 100% 59%, 94% 67%, 50% 19%, 6% 67%, 0 59%); }
.family-door { position: absolute; z-index: 2; width: 15%; height: 24%; inset-inline-start: 40%; inset-block-end: 2%; background: var(--persimmon); border: 3px solid var(--petrol); }
.family-tree { position: absolute; width: 12%; height: 19%; inset-inline-start: 4%; inset-block-end: 4%; background: var(--petrol); clip-path: polygon(50% 0, 100% 60%, 70% 60%, 70% 100%, 30% 100%, 30% 60%, 0 60%); }
.category-apartment { background: var(--porcelain); }
.category-photo { position: absolute; inset: 0; margin: 0; }
.category-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(36,91,99,.13) 25%,var(--porcelain) 77%); }
.category-photo img { width: 100%; height: 100%; object-fit: cover; }
.apartment-window { position: absolute; z-index: 1; inset-block-start: 18%; inset-inline-end: 12%; width: 37%; height: 29%; border: 5px solid var(--porcelain); }
.apartment-window i { position: absolute; inset-block: 0; inset-inline-start: 50%; width: 3px; background: var(--porcelain); }
.apartment-window i + i { inset-inline-start: 0; inset-inline-end: 0; inset-block: 50%; width: auto; height: 3px; }
.category-apartment .category-index, .category-apartment h3, .category-apartment p, .category-apartment .category-link { color: var(--ink); }
.category-project { background: var(--petrol); color: white; }
.category-project p { color: rgba(255,255,255,.8); }
.category-project .category-link { color: var(--sunflower); }
.project-shapes { position: absolute; inset: 18% 8% auto; height: 42%; display: flex; align-items: end; gap: 6%; }
.project-tower { flex: 1; border: 2px solid rgba(255,253,247,.8); background: repeating-linear-gradient(to bottom,transparent 0 17px,rgba(255,253,247,.68) 18px 20px),repeating-linear-gradient(to left,transparent 0 24px,rgba(255,253,247,.55) 25px 27px); }
.tower-one { height: 71%; }
.tower-two { height: 100%; border-color: var(--sunflower); background-color: rgba(255,255,255,.06); }
.tower-three { height: 82%; }
.project-ground { position: absolute; inset-inline: 0; inset-block-end: 0; height: 5px; background: var(--sunflower); }
.category-personal { background: var(--sand); }
.personal-symbol { position: absolute; inset-inline-start: 9%; inset-block-start: 5%; color: var(--persimmon); font-size: 115px; line-height: 1; }
.category-disclaimer { margin-block-start: 14px; color: var(--muted); font-size: 11px; }
.consultation { overflow: hidden; background: var(--petrol); color: white; }
.consultation-inner { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(45px, 9vw, 125px); }
.eyebrow-light { color: var(--sunflower); }
.consultation-copy { position: relative; z-index: 1; }
.consultation-copy h2 { margin-block: 17px 20px; color: var(--porcelain); font-size: clamp(44px, 5.3vw, 66px); line-height: 1.12; letter-spacing: -.045em; }
.consultation-copy h2 span { color: var(--sunflower); }
.consultation-intro { max-width: 500px; color: rgba(255,253,247,.78); line-height: 1.9; }
.yellow-link { display: inline-flex; align-items: center; gap: 14px; margin-block-start: 26px; padding-block-end: 5px; border-block-end: 1px solid var(--sunflower); color: var(--sunflower); font-size: 13px; font-weight: 600; }
.service-list { position: relative; z-index: 1; }
.service-line { min-height: 65px; display: grid; grid-template-columns: 38px 1fr 24px; align-items: center; gap: 13px; border-block-end: 1px solid rgba(255,253,247,.3); font-size: 14px; }
.service-line:first-child { border-block-start: 1px solid rgba(255,253,247,.3); }
.service-glyph { color: var(--sunflower); font-size: 24px; }
.service-arrow { color: var(--sunflower); opacity: 0; transition: opacity .2s ease; }
.service-line:hover .service-arrow { opacity: 1; }
.consultation-ornament { position: absolute; width: 300px; height: 300px; inset-inline-end: -180px; inset-block-end: -200px; border: 1px solid rgba(242,201,76,.45); border-radius: 50%; box-shadow: 0 0 0 28px rgba(242,201,76,.04),0 0 0 57px rgba(242,201,76,.04); }
.neighbourhood { background: var(--porcelain); }
.neighbourhood-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(50px, 9vw, 125px); }
.neighbourhood-map { position: relative; min-height: 440px; overflow: hidden; background: var(--soft-sky); }
.map-road { position: absolute; z-index: 1; display: block; background: var(--porcelain); }
.road-one { inset-inline: -12%; inset-block-start: 43%; height: 40px; transform: rotate(-17deg); }
.road-two { inset-block: -12%; inset-inline-start: 44%; width: 36px; transform: rotate(21deg); }
.road-three { inset-inline: 12%; inset-block-start: 72%; height: 24px; transform: rotate(13deg); }
.road-four { inset-block: 7%; inset-inline-start: 78%; width: 24px; transform: rotate(15deg); }
.map-block { position: absolute; display: block; background: #C6DDE1; }
.map-block-one { width: 24%; height: 23%; inset-inline-start: 8%; inset-block-start: 9%; }
.map-block-two { width: 19%; height: 18%; inset-inline-start: 54%; inset-block-start: 10%; background: var(--sand); }
.map-block-three { width: 27%; height: 21%; inset-inline-start: 4%; inset-block-start: 55%; background: #CFDFD2; }
.map-block-four { width: 22%; height: 18%; inset-inline-start: 57%; inset-block-start: 66%; background: #CFDFD2; }
.map-pin { position: absolute; z-index: 2; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50% 50% 50% 0; background: var(--persimmon); transform: rotate(-45deg); }
.map-pin i { width: 10px; aspect-ratio: 1; border-radius: 50%; background: var(--porcelain); }
.pin-main { inset-inline-start: 41%; inset-block-start: 35%; }
.pin-small { width: 23px; height: 23px; background: var(--petrol); }
.pin-small i { width: 6px; }
.pin-a { inset-inline-start: 15%; inset-block-start: 42%; }
.pin-b { inset-inline-start: 67%; inset-block-start: 49%; }
.map-compass { position: absolute; z-index: 2; inset-inline-start: 16px; inset-block-start: 14px; color: var(--petrol); font-size: 10px; }
.map-compass b { margin-inline-start: 5px; color: var(--persimmon); font-size: 16px; }
.map-label { position: absolute; z-index: 2; inset-inline-end: 13px; inset-block-end: 13px; padding: 6px 10px; background: var(--petrol); color: white; font-size: 10px; }
.neighbourhood-intro { margin-block: 17px 23px; color: var(--muted); }
.neighbourhood-list { padding: 0; margin: 0; list-style: none; }
.neighbourhood-list li { display: flex; align-items: center; gap: 16px; padding-block: 11px; border-block-start: 1px solid var(--line); color: var(--petrol); font-weight: 500; }
.neighbourhood-list li span { color: var(--persimmon); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.map-disclaimer { margin-block-start: 14px; color: var(--muted); font-size: 10px; }
.journey { background: var(--sand); }
.journey-heading { max-width: 590px; }
.journey-heading > p:last-child { margin-block-start: 13px; color: var(--muted); }
.journey-steps { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; padding: 0; margin: 69px 0 0; list-style: none; }
.journey-steps::before { content: ""; position: absolute; inset-inline: 7%; inset-block-start: 77px; height: 1px; background: var(--petrol); opacity: .4; }
.journey-step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; }
.step-number { color: var(--persimmon); font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.doorway { position: relative; width: 94px; height: 91px; margin-block: 16px 21px; border: 4px solid var(--petrol); border-block-end: 0; }
.doorway::before { content: ""; position: absolute; width: 10px; height: 10px; inset-inline-end: -7px; inset-block-start: 35px; border-radius: 50%; background: var(--persimmon); }
.doorway i { position: absolute; inset-block: 11px 0; inset-inline-start: 12px; width: 1px; background: var(--petrol); opacity: .45; }
.doorway-one { border-color: var(--petrol); }
.doorway-two { width: 78px; height: 75px; margin-inline-start: 16px; border-color: var(--persimmon); }
.doorway-three { width: 103px; height: 101px; border-width: 6px; border-color: var(--petrol); }
.doorway-four { width: 85px; height: 83px; margin-inline-start: 6px; border-color: var(--persimmon); }
.journey-step h3 { margin-block-end: 7px; color: var(--petrol); font-size: 20px; font-weight: 600; }
.journey-step p { max-width: 245px; color: var(--muted); font-size: 12px; line-height: 1.75; }
.contact-section { background: var(--sunflower); }
.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 120px); }
.contact-intro { position: relative; }
.contact-intro h2 { margin-block: 15px 18px; }
.contact-intro > p:not(.eyebrow) { max-width: 360px; color: rgba(48,44,40,.78); }
.contact-email { display: inline-block; margin-block-start: 23px; border-block-end: 1px solid var(--petrol); color: var(--petrol); font-size: 15px; font-weight: 700; }
.consult-link { display: flex; align-items: center; gap: 12px; width: fit-content; margin-block-start: 16px; color: var(--petrol); font-size: 13px; font-weight: 600; }
.consult-link span { color: var(--persimmon); font-size: 18px; }
.contact-doodle { position: absolute; inset-inline-start: 3px; inset-block-end: -108px; color: rgba(36,91,99,.18); font-family: "Rubik", sans-serif; font-size: 155px; line-height: 1; }
.contact-form { position: relative; z-index: 1; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 16px; }
.form-field { display: flex; flex-direction: column; gap: 6px; color: var(--ink); font-size: 12px; font-weight: 700; }
.form-field b { color: var(--persimmon); }
.form-field small { color: var(--muted); font-size: 10px; font-weight: 400; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 46px; padding: 9px 11px; border: 1px solid rgba(48,44,40,.3); border-radius: 0; outline: none; background: var(--porcelain); color: var(--ink); font-weight: 400; }
.form-field textarea { min-height: 86px; resize: vertical; }
.form-field select { text-align: right; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--petrol); box-shadow: 0 0 0 2px rgba(36,91,99,.15); }
.form-field-wide, .form-note, .form-submit, .form-status { grid-column: 1 / -1; }
.form-note { margin-block-start: -4px; color: rgba(48,44,40,.78); font-size: 10px; line-height: 1.6; }
.form-submit { justify-self: start; border-color: var(--petrol); background: var(--petrol); color: white; }
.form-submit:hover { border-color: var(--persimmon); background: var(--persimmon); color: var(--ink); }
.form-status { min-height: 22px; margin-block-start: -10px; color: var(--petrol); font-size: 12px; }
.site-footer { background: var(--ink); color: var(--porcelain); }
.footer-main { min-height: 188px; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.brand-footer .brand-symbol::before { background: var(--ink); }
.brand-footer .brand-copy strong { color: var(--porcelain); }
.brand-footer .brand-copy small { color: rgba(255,253,247,.58); }
.footer-brand > p { max-width: 320px; margin-block-start: 12px; color: rgba(255,253,247,.72); font-size: 11px; }
.footer-nav { display: flex; gap: clamp(14px, 2.3vw, 30px); }
.footer-nav a { color: rgba(255,253,247,.78); font-size: 12px; }
.footer-email { color: var(--sunflower); font-size: 12px; }
.footer-bottom { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-block-start: 1px solid rgba(255,253,247,.18); }
.footer-bottom p, .footer-bottom a { color: rgba(255,253,247,.6); font-size: 10px; }
.footer-bottom a:hover { color: white; }
:focus-visible { outline: 3px solid var(--persimmon); outline-offset: 3px; }

@media (min-width: 1440px) {
  .hero { min-height: 710px; }
}
@media (max-width: 1024px) {
  :root { --gutter: clamp(26px, 5vw, 55px); }
  .header-inner { gap: 18px; }
  .primary-nav { gap: 15px; }
  .primary-nav a { font-size: 12px; }
  .hero { min-height: 590px; grid-template-columns: .92fr 1.08fr; gap: 20px; }
  .hero h1 { font-size: clamp(46px, 6vw, 64px); }
  .window-scene { min-height: 410px; }
  .category-mosaic { grid-template-rows: 265px 265px; }
  .category-family { min-height: 546px; }
  .consultation-inner, .neighbourhood-layout { gap: 55px; }
  .journey-steps { gap: 14px; }
  .contact-layout { gap: 50px; }
  .footer-main { flex-wrap: wrap; padding-block: 30px; }
}
@media (max-width: 767px) {
  :root { --gutter: 22px; }
  html { scroll-padding-top: 72px; }
  .section-pad { padding-block: 73px; }
  .header-inner { min-height: 70px; gap: 12px; }
  .brand-symbol { width: 33px; height: 33px; }
  .brand-symbol::before { inset: 8px 8px 0; }
  .brand-symbol i { inset-inline-start: 14px; width: 6px; height: 12px; }
  .brand-copy strong { font-size: 17px; }
  .brand-copy small { font-size: 9px; }
  .menu-toggle { display: flex; width: 42px; height: 42px; flex: 0 0 42px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; order: 0; border: 1px solid var(--line); background: transparent; cursor: pointer; }
  .menu-toggle span { display: block; width: 18px; height: 2px; background: var(--petrol); transition: transform .18s ease, opacity .18s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .button-header { min-height: 39px; margin-inline-start: auto; padding: 7px 9px; gap: 7px; font-size: 10px; }
  .primary-nav { display: none; position: absolute; inset-block-start: 100%; inset-inline: 0; margin: 0; padding: 10px var(--gutter) 18px; flex-direction: column; align-items: stretch; gap: 0; background: var(--porcelain); border-block-end: 1px solid var(--line); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 11px 0; border-block-end: 1px solid rgba(48,44,40,.1); font-size: 15px; }
  .hero { display: flex; flex-direction: column; align-items: stretch; gap: 22px; padding-block: 48px 27px; }
  .hero-copy { padding: 0; }
  .hero h1 { margin-block: 18px 14px; font-size: clamp(43px, 11vw, 58px); }
  .hero-intro { font-size: 14px; }
  .hero-actions { gap: 17px; margin-block-start: 22px; }
  .hero-actions .button { min-height: 48px; }
  .quiet-link { font-size: 11px; }
  .window-scene { min-height: 345px; margin-block-start: 5px; }
  .window-yellow { width: 76%; height: 79%; inset-inline-start: 6%; }
  .window-petrol { width: 57%; height: 66%; inset-inline-end: 0; }
  .window-image { width: 78%; height: 77%; inset-inline-start: 11%; inset-block-start: 12%; border-width: 8px; }
  .window-sun { width: 54px; }
  .window-label { inset-block-end: 10%; padding: 10px 12px; font-size: 10px; }
  .window-caption { font-size: 8px; }
  .hero-footnote { width: 100%; gap: 9px; font-size: 9px; }
  .footnote-line { width: 22px; }
  .section-heading { display: block; margin-block-end: 30px; }
  .section-heading h2, .neighbourhood-copy h2, .journey-heading h2, .contact-intro h2 { font-size: clamp(41px, 10vw, 56px); }
  .section-heading > p { margin-block-start: 16px; font-size: 14px; }
  .category-mosaic { display: flex; flex-direction: column; gap: 12px; }
  .category { min-height: 280px; padding: 19px 20px 21px; }
  .category-family { min-height: 410px; }
  .family-illustration { inset-block-start: 12%; height: 48%; }
  .family-sun { width: 59px; }
  .category-family h3 { font-size: 34px; }
  .category h3 { font-size: 28px; }
  .category p { max-width: 360px; font-size: 12px; }
  .category-apartment { min-height: 310px; }
  .category-photo::after { background: linear-gradient(180deg,rgba(255,253,247,.05) 5%,var(--porcelain) 73%); }
  .category-project { min-height: 285px; }
  .project-shapes { height: 39%; }
  .category-personal { min-height: 275px; }
  .personal-symbol { font-size: 90px; }
  .consultation-inner { grid-template-columns: 1fr; gap: 37px; }
  .consultation-copy h2 { font-size: clamp(39px, 9.7vw, 55px); }
  .consultation-intro { font-size: 14px; }
  .service-line { min-height: 60px; grid-template-columns: 33px 1fr 18px; gap: 8px; font-size: 12px; }
  .service-glyph { font-size: 21px; }
  .neighbourhood-layout { grid-template-columns: 1fr; gap: 35px; }
  .neighbourhood-map { min-height: 320px; }
  .neighbourhood-copy { padding-inline: 2px; }
  .neighbourhood-intro { font-size: 14px; }
  .journey-steps { grid-template-columns: 1fr 1fr; gap: 36px 17px; margin-block-start: 43px; }
  .journey-steps::before { display: none; }
  .doorway { width: 73px; height: 70px; margin-block: 12px 15px; }
  .doorway-two { width: 64px; height: 61px; }
  .doorway-three { width: 83px; height: 80px; }
  .doorway-four { width: 68px; height: 66px; }
  .journey-step h3 { font-size: 18px; }
  .journey-step p { font-size: 11px; }
  .contact-layout { grid-template-columns: 1fr; gap: 36px; }
  .contact-intro > p:not(.eyebrow) { font-size: 14px; }
  .contact-doodle { inset-block-end: -63px; font-size: 110px; }
  .form-grid { grid-template-columns: 1fr; gap: 14px; }
  .form-field-wide, .form-note, .form-submit, .form-status { grid-column: auto; }
  .form-field input, .form-field select { min-height: 49px; }
  .form-submit { width: 100%; }
  .footer-main { align-items: flex-start; flex-direction: column; gap: 23px; padding-block: 34px; }
  .footer-nav { display: grid; grid-template-columns: repeat(2, auto); gap: 10px 24px; }
  .footer-bottom { min-height: 63px; }
}
@media (max-width: 380px) {
  :root { --gutter: 18px; }
  .header-inner { gap: 8px; }
  .brand-copy strong { font-size: 16px; }
  .button-header { font-size: 9px; }
  .hero h1 { font-size: 41px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .window-scene { min-height: 300px; }
  .window-image { border-width: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
