:root{--ink:#213d35;--paper:#f4f1e8;--pop:#f38458;--tree:#3f6b4d;--heading:'Libre Caslon Text';--body:'Source Sans 3';--on-pop:#213d35;--line:color-mix(in srgb,var(--ink) 25%,var(--paper));--gutter:clamp(24px,5.5vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.6 var(--body),sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:6px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid currentColor;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading),serif;font-weight:400}button{color:inherit}img,svg{max-width:100%}.skip-link{position:fixed;top:0;left:20px;padding:12px;background:var(--ink);color:var(--paper);transform:translateY(-150%);z-index:100}.skip-link:focus{transform:translateY(0)}.prototype-note{display:flex;align-items:center;gap:20px;min-height:35px;padding:5px var(--gutter);background:#e7e9df;color:#293b32;font:12px/1.5 'Source Sans 3',sans-serif}.prototype-note span{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;white-space:nowrap}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 var(--gutter);border-bottom:1px solid var(--line)}.brand-wordmark{display:inline-flex;align-items:center;width:230px;height:54px;flex:none;font-family:'Libre Caslon Text',serif;font-size:25px}.brand-wordmark svg{height:100%;width:100%;display:block;overflow:visible}.site-header nav{display:flex;align-items:center;gap:36px;font-size:15px}.site-header nav>a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.contact-link{border:0;border-bottom:1px solid var(--ink);background:none;padding:4px 0;font-size:15px}.contact-link span{margin-left:18px}.menu-toggle{display:none}.hero{position:relative;min-height:650px;height:calc(100svh - 115px);max-height:850px;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:3;padding:clamp(65px,9vh,110px) 0 70px var(--gutter);width:43%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.13em;line-height:1.6;font-weight:600}.hero h1{font-size:clamp(62px,6.5vw,104px);line-height:1.04;letter-spacing:-.045em;margin-top:34px}.hero-description{margin-top:28px;max-width:290px;font-size:18px;line-height:1.6}.text-link{display:inline-flex;align-items:center;gap:25px;padding-bottom:7px;border-bottom:1px solid currentColor;font-size:14px}.hero .text-link{margin-top:32px}.hero-picture{position:absolute;top:0;right:0;width:57%;height:100%;background:var(--paper);z-index:0}.hero-picture>img{position:absolute;left:8%;top:9%;width:86%;height:82%;object-fit:cover;object-position:52% 45%}.hero-solid{position:absolute;right:0;bottom:0;width:24%;height:32%;background:var(--ink)}.photo-caption{position:absolute;bottom:3.5%;left:8%;font-size:10px;letter-spacing:.035em;max-width:70%}.hero-foreground{position:absolute;inset:0;pointer-events:none;z-index:2}.hero-foreground>svg{width:100%;height:100%;display:block}.hero-accent{position:absolute;left:40.8%;top:13%;width:7px;height:86px;background:var(--pop);z-index:1}.section-shell{padding:115px var(--gutter)}.intro-section{display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;border-top:1px solid var(--line)}h2{font-size:clamp(34px,3.7vw,56px);line-height:1.17;letter-spacing:-.03em}.intro-heading h2{margin-top:25px}.intro-copy{max-width:450px;padding-top:32px}.intro-copy p+p{margin-top:20px}.intro-copy a{margin-top:30px}.neighbourhood-scene{height:490px;position:relative;background:var(--ink);color:var(--paper);overflow:hidden}.scene-label{position:absolute;left:var(--gutter);top:60px;z-index:3}.scene-label>p{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:24px}.scene-label h2{font-size:60px}.painted-building{position:absolute;right:7%;bottom:-3%;width:64%;height:100%}.secondary-foliage{position:absolute;right:-6%;bottom:-20%;width:47%;height:110%}.painted-building svg,.secondary-foliage svg{width:100%;height:100%}.scene-caption{position:absolute;left:var(--gutter);bottom:35px;font-size:11px}.audience-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:12vw}.audience-links a{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);gap:24px}.audience-links a:first-child{border-top:1px solid var(--line)}.audience-links a>span{font-size:32px}.audience-links div>span{font-size:12px}.audience-links h3{font-size:26px;margin-top:12px}.site-footer{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr .6fr 1fr;gap:60px;padding:60px var(--gutter) 75px}.site-footer>div>p{margin-top:20px;font-size:14px}.site-footer nav{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:14px}.site-footer button{padding:0;background:none;border:0;font-size:14px}.footer-note{font-size:11px;justify-self:end;max-width:260px}.studio-toggle{position:fixed;bottom:22px;right:24px;z-index:20;background:#f5f6ef;color:#233c31;border:1px solid #708274;padding:12px 18px;font:13px 'Source Sans 3',sans-serif;display:flex;gap:24px;align-items:center}.studio-toggle:hover{background:#e5ebdf}dialog{border:1px solid #788777;border-radius:0;background:#f5f6ef;color:#233c31;padding:30px;width:min(560px,calc(100vw - 32px));max-height:90svh;overflow:auto;font:16px/1.5 'Source Sans 3',sans-serif}dialog::backdrop{background:#10251b99}dialog h2,dialog h3{font-family:'Libre Caslon Text',serif}dialog h2{font-size:27px}dialog h3{font-size:23px;margin-top:24px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-heading button{border:0;background:none;font:28px/1 sans-serif;min-width:32px;min-height:32px}dialog p{margin-top:16px}.pending-note{font-size:14px;padding:18px;border-left:3px solid #6c846f;background:#e7ecdf}.studio-intro{font-size:14px}.studio-pair,.studio-colours{display:grid;grid-template-columns:1fr 1fr;gap:14px}.studio-colours{grid-template-columns:repeat(4,1fr)}#studio-form>label,#studio-form>div{margin-top:20px}#studio-form label{display:block;font-size:12px;font-weight:600}#studio-form select{width:100%;min-width:0;display:block;margin-top:7px;background:#f5f6ef;border:1px solid #7a8b7b;color:#233c31;padding:10px;font-size:13px}#studio-form input[type=color]{display:block;width:100%;height:38px;margin-top:7px;background:none;border:1px solid #7a8b7b;padding:2px}#studio-form input[type=range]{display:block;width:100%;margin:10px 0;accent-color:#365e46}#studio-form output{float:right}#contrast-note{font-size:12px}.studio-actions{display:flex;flex-wrap:wrap;gap:10px}.studio-actions button,.file-button{border:1px solid #7a8b7b;color:#233c31;background:transparent;padding:10px;font:12px 'Source Sans 3',sans-serif;font-weight:400!important;cursor:pointer}.file-button input{display:block;margin-top:7px;max-width:100%;font-size:11px}#studio-status{font-size:13px}body:has(dialog[open]){overflow:hidden}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--ink);color:var(--paper);padding:14px 22px;border:1px solid var(--ink);font-size:15px}.button:hover{text-decoration:underline;text-underline-offset:5px}dialog .button{margin-top:25px;background:#233c31;color:#f5f6ef}.hero-approach{height:650px}.hero-residents{height:620px}.hero-approach .hero-picture>img{object-position:20% 55%}.hero-residents .hero-picture>img{object-position:80% 50%}.approach-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px 12vw}.approach-intro .eyebrow{grid-column:1/-1}.large-copy{font-size:23px;line-height:1.6}.approach-rows{padding-top:0}.approach-rows article{display:grid;grid-template-columns:1fr 1fr;gap:12vw;padding:34px 0;border-top:1px solid var(--line)}.approach-rows h3{font-size:30px}.approach-rows p{max-width:500px}.approach-image{position:relative;height:600px;margin:0 var(--gutter);background:var(--ink)}.approach-image>img{position:absolute;left:10%;top:0;width:75%;height:90%;object-fit:cover;object-position:50% 70%}.approach-foreground{position:absolute;left:-8%;top:-10%;width:58%;height:110%;pointer-events:none}.approach-foreground svg{width:100%;height:100%}.approach-image>span{position:absolute;bottom:15px;right:3%;font-size:10px;color:var(--paper)}.closing-section{text-align:left;max-width:900px}.closing-section p{margin:25px 0;max-width:480px}.resident-section{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}.resident-section h2{margin:24px 0}.resident-section>div>p:last-child{max-width:410px;font-size:16px}.resident-utility [role=tablist]{display:flex;border-bottom:1px solid var(--line);gap:10px}.resident-utility [role=tab]{flex:1;border:0;background:none;padding:15px 10px;border-bottom:3px solid transparent;font-size:14px}.resident-utility [aria-selected=true]{border-bottom-color:var(--ink);font-weight:600}.resident-utility [role=tabpanel]{padding:30px 0}.resource-label{font-size:12px}.resident-utility h3{font-size:34px;margin:16px 0}.resident-utility p+p{margin-top:20px}.resident-utility .pending-note{background:color-mix(in srgb,var(--ink) 6%,var(--paper));border-color:var(--ink);font-size:14px}.resident-notice{padding-top:30px}.accent-rule{display:block;width:70px;height:6px;background:var(--pop);margin-bottom:32px}.resident-notice p{margin-top:25px;max-width:480px}
@media(min-width:1700px){body{max-width:2000px;margin:auto}.hero h1{font-size:112px}}
@media(max-width:1050px){:root{--gutter:35px}.site-header nav{gap:24px}.hero-copy{width:45%;padding-top:85px}.hero h1{font-size:70px}.hero-description{max-width:245px;font-size:16px}.hero-picture{width:55%}.intro-section{gap:6vw}.section-shell{padding-top:80px;padding-bottom:80px}.site-footer{gap:25px}.scene-label h2{font-size:50px}.resident-section{gap:5vw}}
@media(max-width:760px){:root{--gutter:24px}.prototype-note{gap:12px;align-items:start;padding:8px var(--gutter)}.prototype-note p{font-size:10px;max-width:230px}.site-header{height:76px}.brand-wordmark{width:190px;height:46px}.menu-toggle{display:block;background:none;border:0;padding:10px 0;font-size:14px}.site-header nav{display:none;position:absolute;top:122px;left:0;right:0;background:var(--paper);padding:25px var(--gutter);z-index:15;border-bottom:1px solid var(--line);flex-direction:column;align-items:start;gap:24px}.site-header nav.open{display:flex}.hero,.hero-approach,.hero-residents{height:auto;min-height:0;padding-bottom:0}.hero-copy{width:100%;padding:48px var(--gutter) 50px;min-height:410px}.eyebrow{font-size:10px;max-width:95%}.hero h1{font-size:clamp(54px,13.5vw,82px);margin-top:24px;max-width:95%;line-height:1.06}.hero-description{font-size:16px;max-width:290px;margin-top:24px}.hero .text-link{margin-top:24px}.hero-picture{position:relative;right:auto;top:auto;width:100%;height:420px}.hero-picture>img{left:8%;top:0;width:84%;height:88%}.hero-solid{height:28%;width:30%}.photo-caption{bottom:3%;max-width:65%;font-size:9px}.hero-accent{left:auto;right:18px;top:450px;width:5px;height:65px}.hero-foreground{top:410px;height:420px;bottom:auto}.section-shell{padding:65px var(--gutter)}.intro-section,.audience-section,.approach-intro,.resident-section{grid-template-columns:1fr;gap:30px}.intro-copy{padding-top:0;max-width:100%}.intro-section h2{font-size:36px}.neighbourhood-scene{height:400px}.scene-label{top:35px}.scene-label h2{font-size:40px}.painted-building{width:100%;right:-17%;height:85%;bottom:-10%}.secondary-foliage{width:70%;height:100%;right:-15%;bottom:-23%}.scene-label>p{margin-bottom:16px}.scene-caption{font-size:9px;max-width:150px;bottom:20px}.audience-links h3{font-size:24px}.site-footer{grid-template-columns:1fr 1fr;gap:35px;padding:45px var(--gutter) 90px}.footer-note{grid-column:1/-1;justify-self:start;max-width:100%}.site-footer nav{justify-self:end}.studio-toggle{bottom:14px;right:14px;padding:10px 14px}.approach-intro .large-copy{font-size:21px}.approach-rows{padding-top:0}.approach-rows article{grid-template-columns:1fr;gap:15px}.approach-image{height:400px;margin:0}.approach-image>img{left:7%;width:86%;height:87%}.approach-foreground{left:-15%;width:85%;height:95%;top:-5%}.approach-image>span{right:6%;font-size:9px}.resident-section{gap:35px}.resident-utility [role=tab]{padding:12px 5px;font-size:13px}.resident-notice{padding-top:0}dialog{padding:23px}.dialog-heading h2{font-size:24px}.studio-pair{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:760px){.hero-foreground{top:var(--hero-copy-height,430px)}.hero-accent{top:calc(var(--hero-copy-height,430px) + 25px)}}

.scene-caption{background:var(--ink);padding:3px 8px;margin-left:-8px}
.site-header{position:relative;z-index:10}@media(max-width:760px){.site-header nav{top:100%}}
#studio{position:fixed;inset:18px 18px 18px auto;margin:0;width:410px;max-height:none}#studio::backdrop{background:transparent}@media(max-width:760px){.hero h1{font-size:clamp(48px,13vw,80px)}.hero-approach h1,.hero-residents h1{font-size:clamp(40px,10.4vw,64px)}#studio{inset:12px 12px 12px auto;width:calc(100vw - 24px)}}
#studio{height:calc(100svh - 36px);max-height:calc(100svh - 36px)}@media(max-width:760px){#studio{height:calc(100svh - 24px);max-height:calc(100svh - 24px)}}
/* Refinement: quieter scale, stronger spatial rhythm and purposeful navigation. */
[hidden]{display:none!important}html{scroll-padding-top:105px}.site-header{position:sticky;top:0;background:var(--paper);z-index:30}.hero{max-height:770px;height:min(770px,calc(100svh - 115px))}.hero h1{font-size:clamp(62px,6vw,96px);line-height:1.07;letter-spacing:-.035em}.hero-description{max-width:310px}.hero-picture>img{transition:transform 180ms ease-out;transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(1.012)}.hero-foreground>svg{transition:transform 180ms ease-out;transform:translate(var(--art-x,0px),var(--art-y,0px))}.intro-section{gap:10vw}.intro-copy{max-width:440px;padding-top:30px}.scene-label h2{font-size:57px}.approach-image{height:520px}.approach-image>img{left:12%;width:80%;height:90%;object-position:30% 60%}.approach-foreground{left:-7%;width:50%;height:105%;top:-4%}.resident-navigation{position:relative;display:flex;align-items:center;gap:5px}.submenu-toggle{background:none;border:0;padding:8px 5px;min-width:28px;font-size:18px;line-height:1}.submenu-toggle span{display:block;transition:transform 140ms ease}.submenu-toggle[aria-expanded=true] span{transform:rotate(180deg)}.resident-submenu{position:absolute;right:-10px;top:calc(100% + 18px);width:315px;padding:23px;background:var(--paper);border:1px solid var(--line)}.resident-submenu>p{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.resident-submenu>a{display:block;padding:12px 0;text-decoration:none}.resident-submenu>a:hover strong{text-decoration:underline;text-underline-offset:4px}.resident-submenu strong{display:block;font-size:16px;font-weight:500}.resident-submenu a>span{display:block;font-size:12px;line-height:1.5;margin-top:4px}.menu-lines{display:inline-block;width:18px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;margin-left:9px}.back-to-top{margin-top:8px}.preview-tabs{display:flex;border-bottom:1px solid #9ba99a;gap:12px}.preview-tabs button{flex:1;white-space:nowrap;padding:12px 0;background:none;border:0;border-bottom:2px solid transparent;font:12px 'Source Sans 3',sans-serif}.preview-tabs button[aria-selected=true]{border-bottom-color:#233c31;font-weight:600}.preview-panel-note{font-size:13px;margin:18px 0!important}#studio-form [role=tabpanel]>label,#studio-form [role=tabpanel]>.studio-colours,#studio-form [role=tabpanel]>.studio-pair{margin-top:22px}#studio-form .studio-pair label{min-width:0}#studio{width:420px}#studio-form>#studio-status{margin:18px 0 0}.studio-intro{font-size:13px}#mobile-menu{background:var(--paper);color:var(--ink);inset:0 0 0 auto;margin:0;width:min(480px,100vw);height:100svh;max-height:100svh;padding:30px 28px;border:0;border-left:1px solid var(--line)}#mobile-menu::backdrop{background:#172b224d}.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:27px;border-bottom:1px solid var(--line)}#mobile-menu-title{font-family:var(--heading),serif;font-size:23px}.mobile-menu-close{border:0;background:none;font:30px/1 sans-serif;padding:5px;min-width:40px;min-height:40px}#mobile-menu nav{display:flex;flex-direction:column;align-items:start;padding-top:27px;gap:22px}#mobile-menu nav>a,#mobile-menu nav>button{font:30px/1.2 var(--heading),serif;background:none;border:0;padding:0;color:var(--ink)}#mobile-menu a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.mobile-quick-links{display:flex;flex-direction:column;align-items:start;gap:12px;padding:9px 0 8px}.mobile-quick-links>span{font:11px var(--body),sans-serif;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}.mobile-quick-links>a{font:16px var(--body),sans-serif}.mobile-menu-caption{font:13px/1.6 var(--body),sans-serif;margin-top:45px!important}.arrived{animation:arrive 600ms cubic-bezier(.2,.7,.3,1) both}@keyframes arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
@media(max-width:1050px){.hero h1{font-size:66px}.scene-label h2{font-size:48px}}
@media(max-width:760px){html{scroll-padding-top:95px}.hero,.hero-approach,.hero-residents{height:auto;max-height:none}.hero-copy{padding-top:42px;padding-bottom:42px;min-height:390px}.hero h1{font-size:clamp(48px,13vw,80px)}.hero-approach h1,.hero-residents h1{font-size:clamp(40px,10.4vw,64px)}.site-header nav{display:none!important}.menu-toggle{display:flex;align-items:center}.hero-picture{height:400px}.hero-foreground{height:400px}.hero-description{max-width:295px}.intro-copy{padding-top:0}.intro-section{gap:26px}.scene-label h2{font-size:39px}.approach-image{height:380px}.approach-image>img{left:8%;width:84%;height:88%}.approach-foreground{left:-15%;width:72%;height:100%;top:0}#studio{width:calc(100vw - 24px)}.preview-tabs{gap:10px}#mobile-menu nav>button{font-size:26px;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.arrived{animation:none}.hero-picture>img,.hero-foreground>svg{transition:none;transform:none!important}}
.preview-footer{border-top:1px solid #a1afa1;padding-top:16px;display:flex;justify-content:flex-end}.preview-footer button{font:12px 'Source Sans 3',sans-serif;border:0;border-bottom:1px solid currentColor;background:none;padding:4px 0;color:#233c31}
.hero-copy{pointer-events:auto}

/* The accent is an image-linked corner, spanning paper and photograph. */
.hero-picture>.hero-accent{left:calc(8% - 24px);right:auto;top:calc(9% + 32px);width:100px;height:5px;background:var(--pop);z-index:1;pointer-events:none}.hero-picture>.hero-accent::after{content:"";position:absolute;left:0;top:0;width:5px;height:36px;background:inherit}@media(max-width:760px){.hero-picture>.hero-accent{left:calc(8% - 14px);right:auto;top:24px;width:80px;height:4px}.hero-picture>.hero-accent::after{width:4px;height:30px}}
/* Independent accent studies: geometry is anchored to actual text and photo bounds. */
.hero>.hero-accent{position:absolute;inset:0;width:100%;height:100%;background:none;z-index:1;pointer-events:none}.hero>.hero-accent::after{content:none}.hero>.hero-accent>svg{display:block;width:100%;height:100%;overflow:visible}.accent-option-field{margin:22px 0 26px;padding:0;border:0;min-width:0}.accent-option-field legend{font-size:12px;font-weight:600;margin-bottom:10px}.accent-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.accent-choice-grid button{min-width:0;padding:8px 5px;background:#f5f6ef;color:#233c31;border:1px solid #a0ae9f;font:11px 'Source Sans 3',sans-serif}.accent-choice-grid button[aria-checked=true]{background:#e4ebdf;border-color:#233c31}.accent-choice-grid button>svg{display:block;width:100%;height:40px;margin-bottom:4px}.accent-diagram-copy{fill:none;stroke:#637866;stroke-width:1.3}.accent-diagram-photo{fill:#c3cebb}.accent-diagram-line{fill:none;stroke:var(--pop);stroke-width:3;stroke-linejoin:miter}.accent-diagram-tab{stroke-width:8}.accent-option-field #accent-connection-note{font-size:12px;line-height:1.5;margin:11px 0 0!important}
.accent-adjustments{border:0;border-top:1px solid #a1afa1;padding:18px 0 0;margin:18px 0 0;min-width:0}.accent-adjustments legend{font:600 12px 'Source Sans 3',sans-serif;padding:0 10px 0 0}.accent-adjustments label{margin-top:17px}#reset-accent{font:12px 'Source Sans 3',sans-serif;background:none;border:0;border-bottom:1px solid currentColor;padding:5px 0;color:#233c31;margin-top:8px}.accent-adjustments:disabled{opacity:.55}.website-favourites h3,.transfer-title{font:22px/1.25 'Libre Caslon Text',serif;margin:24px 0 16px}.website-favourites label{margin:17px 0 8px}#favourite-name{display:block;width:100%;margin-top:7px;padding:11px;background:#f5f6ef;color:#233c31;border:1px solid #7a8b7b;font:14px 'Source Sans 3',sans-serif}.website-favourites .studio-actions{margin-top:12px}.website-favourites button:disabled{opacity:.5;cursor:default}.transfer-title{border-top:1px solid #a1afa1;padding-top:24px}.preview-footer{justify-content:space-between;gap:12px;flex-wrap:wrap}.preview-footer #manage-website-favourites{font-weight:600}
.compare-favourites-link{font:12px 'Source Sans 3',sans-serif;border:1px solid #7a8b7b;padding:10px;color:#233c31;display:inline-block}.comparison-preview .prototype-note,.comparison-preview .studio-toggle,.comparison-preview dialog{display:none!important}.comparison-preview html{scroll-behavior:auto}.comparison-preview *, .comparison-preview *::before,.comparison-preview *::after{animation:none!important;transition:none!important}.comparison-preview .hero-picture>img,.comparison-preview .hero-foreground>svg{transform:none!important}
/* Quiet editorial resource notes; colour belongs to navigation and imagery. */
.pending-note,.resident-utility .pending-note{background:none;border:0;padding:0;font-size:14px;line-height:1.65;margin-top:24px}.resident-utility .resource-label{display:none}.site-header nav a[aria-current=page],#mobile-menu a[aria-current=page]{text-decoration-line:underline;text-decoration-color:var(--pop);text-decoration-thickness:2px;text-underline-offset:8px}.site-header .contact-link{border-bottom-color:var(--pop)}
.site-header nav a[aria-current=page],#mobile-menu a[aria-current=page]{font-weight:600}

/* Resident information is a plain reference, without tabs or callout panels. */
.resident-reference{max-width:1000px;margin:0 auto;padding-top:84px;padding-bottom:100px}.resident-reference h2{font-size:clamp(29px,3.2vw,40px);line-height:1.2;margin:0 0 48px}.resident-reference-copy{max-width:620px}.resident-reference-copy section{margin:0 0 34px;scroll-margin-top:130px}.resident-reference-copy h3{font-family:var(--body),sans-serif;font-size:17px;font-weight:600;line-height:1.45;margin:0 0 8px}.resident-reference-copy p{font-size:17px;line-height:1.65;margin:0;max-width:60ch}.resident-reference-copy section:last-child{margin-bottom:0}@media(max-width:760px){.resident-reference{padding-top:52px;padding-bottom:64px}.resident-reference h2{margin-bottom:32px}.resident-reference-copy p{font-size:16px}.resident-reference-copy section{scroll-margin-top:100px}}

/* Public-page finish: quieter copy, controlled spacing and a clear contact route. */
.hero{height:clamp(610px,calc(100svh - 80px),760px);min-height:610px;max-height:760px}
.hero-copy{padding-top:clamp(62px,9vh,92px);padding-bottom:58px;width:44%}
.hero h1{font-size:clamp(60px,5.8vw,88px);line-height:1.07;letter-spacing:-.035em;margin-top:28px}
.hero-description{font-size:18px;line-height:1.55;max-width:32ch}
.hero-picture{width:56%}.hero-picture>img{top:8%;height:86%}
.hero-approach{height:640px;min-height:610px}.hero-residents{height:530px;min-height:530px}
.hero-residents .hero-copy{padding-top:75px}.hero-residents h1{margin-top:0}
.hero-residents .hero-picture>img{object-position:65% 50%}
.site-header nav a,.menu-toggle,.submenu-toggle{min-height:44px;display:inline-flex;align-items:center}
.site-header nav .resident-submenu a{display:block}.site-header .contact-link{border-bottom-color:var(--ink);white-space:nowrap}
.menu-toggle{display:none}.submenu-toggle{min-width:36px;justify-content:center}
.section-shell{padding-top:90px;padding-bottom:90px}
.intro-section{border-top:0;align-items:start;gap:10vw}.intro-heading h2{margin-top:0}.intro-copy{padding-top:0}
.intro-copy p{max-width:44ch}.intro-copy p+p{margin-top:18px}
.neighbourhood-scene{height:440px}.scene-label{top:55px}.scene-label h2{font-size:clamp(42px,4.4vw,60px)}
.approach-editorial{max-width:1000px;margin:auto;padding-top:88px;padding-bottom:80px}
.approach-editorial h2{font-size:clamp(31px,3.5vw,48px);line-height:1.22;margin-bottom:34px}
.approach-editorial-copy{max-width:650px;font-size:19px;line-height:1.7}.approach-editorial-copy p+p{margin-top:22px}
.approach-image{height:480px;max-width:1300px;margin:0 auto;background:color-mix(in srgb,var(--ink) 6%,var(--paper));overflow:hidden;isolation:isolate}
.approach-detail-art{position:absolute;inset:20px 12% 0 24%}.approach-detail-art svg{width:100%;height:100%;display:block}
.approach-foreground{left:-4%;top:5%;width:48%;height:110%;z-index:1}
.enquiries-section{max-width:none;margin:0}.enquiries-section h2{font-size:clamp(32px,3.4vw,46px);margin-bottom:28px}
.enquiry-email{font-family:var(--heading),serif;font-size:clamp(24px,3vw,40px);line-height:1.3;display:inline-flex;align-items:center;gap:28px;padding:4px 0 10px;border-bottom:1px solid var(--ink);max-width:100%;overflow-wrap:anywhere;min-height:44px}
.enquiry-email span{font:24px var(--body),sans-serif;flex:none}.enquiries-section>p{font-size:15px;max-width:55ch;margin-top:26px}.resident-enquiry-link{margin-top:24px;min-height:44px}
.resident-reference{max-width:1000px;padding-top:65px;padding-bottom:85px}.resident-reference h2{font-size:clamp(28px,3.1vw,38px);margin-bottom:38px}
.resident-reference-copy section{margin-bottom:30px}.resident-reference-copy a{text-decoration:underline;text-underline-offset:4px}.resident-reference-copy .resident-channel-note{font-size:14px;margin-top:35px;max-width:55ch}
.site-footer{padding-top:50px;padding-bottom:45px;grid-template-columns:1fr .8fr 1fr;gap:35px}
.site-footer nav a,.site-footer nav button{min-height:32px;display:inline-flex;align-items:center;text-align:left}
.footer-meta{justify-self:end;display:flex;flex-direction:column;align-items:start;gap:20px;font-size:14px;min-width:0}.footer-meta>a{overflow-wrap:anywhere;max-width:100%}.footer-note{justify-self:auto;font-size:12px}
.studio-toggle{position:static;display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid currentColor;padding:5px 0;min-height:36px;font:13px var(--body),sans-serif;z-index:auto}.studio-toggle:hover{background:none}
.studio-imagery-note{font-size:12px;line-height:1.5}.wordmark-divider-adjustment{margin-top:18px!important}
#mobile-menu nav>a,#mobile-menu nav>button,#mobile-menu .mobile-quick-links>a{min-height:44px;display:inline-flex;align-items:center}#mobile-menu .mobile-quick-links{gap:2px}
.dialog-heading button{min-width:44px;min-height:44px}.site-footer button:hover{text-decoration:underline;text-underline-offset:5px}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(min-width:761px) and (max-width:1050px){.hero h1{font-size:clamp(50px,6.6vw,66px)}.hero-copy{width:45%;padding-top:65px}.hero-picture{width:55%}.hero-description{font-size:17px;max-width:28ch}.site-header nav{gap:20px}.brand-wordmark{width:220px}}
@media(max-width:760px){
 .site-header{height:76px}.menu-toggle{display:inline-flex}.hero,.hero-approach,.hero-residents{height:auto;min-height:0;max-height:none}
 .hero-copy,.hero-residents .hero-copy{width:100%;padding:44px var(--gutter) 36px;min-height:0}
 .hero h1{font-size:clamp(46px,12.5vw,74px);margin-top:23px;max-width:100%}.hero-residents h1{margin-top:0}.hero-residents h1 br{display:none}.hero-residents h1{font-size:clamp(38px,10vw,60px)}
 .hero-description{font-size:16px;max-width:31ch;margin-top:23px}.hero .text-link{margin-top:22px;min-height:44px}
 .hero-picture{width:100%;height:340px}.hero-picture>img{top:6%;height:88%}.hero-foreground{height:340px}.hero-solid{height:25%;width:24%}
 .hero-residents .hero-picture{height:280px}.hero-residents .hero-foreground{height:280px}
 .section-shell{padding-top:58px;padding-bottom:58px}.intro-section{gap:25px}.intro-section h2{font-size:34px}.intro-copy{padding-top:0;font-size:17px}
 .neighbourhood-scene{height:350px}.scene-label{top:30px}.scene-label h2{font-size:36px}.painted-building{right:-12%;height:83%;bottom:-3%}.secondary-foliage{height:100%;bottom:-19%}
 .approach-editorial h2{font-size:30px;margin-bottom:26px}.approach-editorial-copy{font-size:17px;line-height:1.65}.approach-image{height:340px;margin:0 var(--gutter)}.approach-detail-art{inset:20px -9% 0 7%}.approach-foreground{width:72%;left:-19%;top:5%;height:110%}
 .enquiry-email{font-size:clamp(22px,5.7vw,32px);gap:14px}.enquiry-email span{font-size:21px}.enquiries-section h2{margin-bottom:22px}.enquiries-section>p{font-size:15px}
 .resident-reference h2{font-size:29px;margin-bottom:31px}.resident-reference-copy h3{font-size:17px}.resident-reference-copy p{font-size:16px}
 .site-footer{grid-template-columns:1fr;gap:28px;padding:36px var(--gutter) 32px}.site-footer nav{justify-self:start;flex-direction:row;flex-wrap:wrap;gap:4px 24px;max-width:100%}.site-footer nav a,.site-footer nav button{min-height:40px}.site-footer .back-to-top{margin:0}.footer-meta{justify-self:start;gap:15px}.footer-note{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-picture>img,.hero-foreground>svg{transform:none!important}}

.replay-paint-reveal{background:none;border:0;border-bottom:1px solid currentColor;color:#233c31;padding:6px 0;min-height:40px;font:12px 'Source Sans 3',sans-serif;margin-top:10px}@media(prefers-reduced-motion:reduce){.hero-foreground,.secondary-foliage,.approach-foreground,.painted-building,.approach-detail-art{visibility:visible!important}}

/* A single moving frame keeps photographic and painted architecture in register. */
.photo-registration{position:absolute;left:8%;top:8%;width:86%;height:86%;overflow:hidden;transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(1.012);transition:transform 180ms ease-out}
.photo-registration>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 45%;max-width:none}
.hero-approach .photo-registration>img{object-position:20% 55%}.hero-residents .photo-registration>img{object-position:65% 50%}
.registered-paint{position:absolute;inset:0;pointer-events:none;z-index:1}.registered-paint>svg{display:block;width:100%;height:100%}
.registered-paint-controls{min-width:0;margin:24px 0;border:0;border-top:1px solid #a1afa1;padding:18px 0 0}.registered-paint-controls legend{font:600 12px 'Source Sans 3',sans-serif;padding-right:10px}.registered-paint-controls label{margin-top:17px!important}
.comparison-preview .photo-registration{transform:none!important;transition:none!important}
@media(max-width:760px){.photo-registration{left:8%;top:6%;width:84%;height:88%}}
@media(prefers-reduced-motion:reduce){.photo-registration{transform:none!important;transition:none!important}.registered-paint{visibility:visible!important}}

/* Mixed media: warm architectural pigment, a photographic fragment and opaque foreground. */
.mixed-media-controls{min-width:0;border:0;border-top:1px solid #a1afa1;margin:24px 0;padding:18px 0 0}.mixed-media-controls legend{font:600 12px 'Source Sans 3',sans-serif;padding-right:10px}.mixed-media-controls label,.paint-duration-control{margin-top:18px!important}
.approach-photo-fragment,.approach-paper-fragment{display:none}
body[data-media-style=collage] .photo-registration{overflow:visible}
body[data-media-style=collage] .registered-paint{clip-path:inset(calc(-1 * var(--media-bleed,18px)))}
body[data-media-style=collage] .registered-paint>svg{overflow:visible}
body[data-media-style=collage] .approach-image{background:var(--paper);height:530px;overflow:hidden}
body[data-media-style=collage] .approach-photo-fragment{display:block;position:absolute;right:5%;top:10%;width:43%;height:83%;z-index:0;overflow:hidden}
.approach-photo-fragment img{display:block;width:100%;height:100%;object-fit:cover;object-position:78% 50%}
body[data-media-style=collage] .approach-paper-fragment{display:block;position:absolute;left:11%;top:3%;width:64%;height:95%;background:var(--paper);z-index:1;transform:rotate(calc(-1.4deg * var(--media-depth,.65)));clip-path:polygon(1% 0,97% 1%,100% 5%,99% 23%,100% 43%,98% 65%,100% 83%,98% 98%,76% 100%,53% 98%,29% 100%,0 98%,1% 77%,0 56%,1% 32%,0 9%)}
body[data-media-style=collage] .approach-detail-art{inset:4px 20% 0 7%;z-index:2}
body[data-media-style=collage] .approach-foreground{left:-8%;top:4%;width:53%;height:111%;z-index:4}
body[data-media-style=colour] .approach-image{background:color-mix(in srgb,var(--pop) 7%,var(--paper))}
@media(max-width:760px){
 body[data-media-style=collage] .registered-paint{clip-path:inset(calc(-.6 * var(--media-bleed,18px)))}
 body[data-media-style=collage] .approach-image{height:370px;margin-left:0;margin-right:0}
 body[data-media-style=collage] .approach-photo-fragment{right:0;top:8%;width:46%;height:82%}
 body[data-media-style=collage] .approach-paper-fragment{left:1%;top:5%;width:74%;height:93%}
 body[data-media-style=collage] .approach-detail-art{inset:0 9% 0 -15%}
 body[data-media-style=collage] .approach-foreground{left:-21%;top:7%;width:86%;height:106%}
}

/* The photographic and painted bay window share one frame, scale and source image. */
.bay-window-composite{display:none;position:absolute;inset:22px 5%;z-index:2}
.bay-window-composite>.bay-photo,.bay-window-paint,.bay-window-paint>svg{position:absolute;inset:0;display:block;width:100%;height:100%}.bay-window-paint{pointer-events:none}
body[data-media-style=collage] .bay-window-composite{display:block}
body[data-media-style=collage] .approach-detail-art{display:none}
body[data-media-style=collage] .approach-image{height:clamp(480px,48vw,640px)}
body[data-media-style=collage] .approach-foreground{left:-7%;top:16%;width:48%;height:105%;z-index:4}
@media(max-width:760px){body[data-media-style=collage] .approach-image{height:340px}.bay-window-composite{inset:12px 0}body[data-media-style=collage] .approach-foreground{left:-20%;top:18%;width:76%;height:104%}}
@media(prefers-reduced-motion:reduce){.bay-window-paint{visibility:visible!important}}

/* Restored original painted master, with photographic brickwork behind the whole scene. */
.approach-brick-backdrop{display:none;position:absolute;inset:7% 6%;z-index:0;overflow:hidden}
.approach-brick-backdrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
body[data-media-style=collage] .approach-brick-backdrop{display:block}
body[data-media-style=collage] .approach-detail-art{display:block;inset:0 11% 0 9%;z-index:2}
body[data-media-style=collage] .approach-image{height:clamp(470px,47vw,620px);background:var(--paper)}
body[data-media-style=collage] .approach-foreground{left:-7%;top:13%;width:49%;height:108%;z-index:4}
/* The approach hero uses a wider paper field and fuller, readable typography. */
.hero-approach{height:min(760px,calc(100svh - 80px));min-height:700px;max-height:760px}
.hero-approach .hero-copy{width:49%;padding-top:66px;padding-right:28px}
.hero-approach .hero-picture{width:51%}
.hero-approach h1{font-size:clamp(68px,8.7vw,126px);margin-top:24px;line-height:1.04}
.hero-approach .hero-description{font-size:20px;line-height:1.55;max-width:36ch;margin-top:26px}
.hero-support{font-size:17px;line-height:1.6;max-width:39ch;margin-top:20px}
.hero-approach .text-link{margin-top:27px}
.hero-approach .photo-registration{top:10%;height:80%}
@media(min-width:761px) and (max-width:1050px){.hero-approach h1{font-size:clamp(64px,8.7vw,96px)}.hero-approach .hero-copy{padding-top:60px;padding-right:24px}.hero-approach .hero-description{font-size:19px}.hero-support{font-size:17px}}
@media(max-width:760px){
 .hero-approach{height:auto;min-height:0;max-height:none}.hero-approach .hero-copy{width:100%;padding:40px var(--gutter) 34px}.hero-approach .hero-picture{width:100%}
 .hero-approach h1{font-size:clamp(48px,12.8vw,76px);margin-top:22px}.hero-approach .hero-description{font-size:17px;max-width:38ch;margin-top:23px}.hero-support{font-size:16px;max-width:39ch;margin-top:17px}.hero-approach .text-link{margin-top:23px}.hero-approach .photo-registration{top:6%;height:88%}
 body[data-media-style=collage] .approach-image{height:350px}.approach-brick-backdrop{inset:7% 0}body[data-media-style=collage] .approach-detail-art{inset:0 -7% 0 -7%}body[data-media-style=collage] .approach-foreground{left:-20%;top:16%;width:79%;height:108%}
}

/* A full-width, lightly tinted editorial bridge from the hero into the brick scene. */
.approach-editorial{max-width:none;width:100%;margin:0;background:color-mix(in srgb,var(--tree) 12%,var(--paper));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(42px,8vw,140px);align-items:start;padding:90px var(--gutter)}
.approach-editorial h2{margin:0;font-size:clamp(32px,3.5vw,50px);line-height:1.22;max-width:22ch}
.approach-editorial-copy{max-width:58ch;font-size:19px;line-height:1.7}
@media(max-width:760px){.approach-editorial{grid-template-columns:1fr;gap:27px;padding:58px var(--gutter)}.approach-editorial h2{font-size:30px;max-width:100%}.approach-editorial-copy{font-size:17px;line-height:1.65}}

/* Mid-width stacked layouts use their horizontal room instead of phone-sized text measures. */
@media(min-width:560px) and (max-width:760px){
 .hero-copy,.hero-approach .hero-copy{padding-top:34px;padding-bottom:30px;min-height:0}
 .hero-description,.hero-approach .hero-description,.hero-support{max-width:none}
 .hero-approach h1{font-size:clamp(60px,11vw,84px);line-height:1.06;max-width:100%}
 .hero-approach h1 br{display:none}
 .hero-approach .hero-description{font-size:17px;line-height:1.45;max-width:none;margin-top:18px}
 .hero-support{font-size:17px;margin-top:16px}
 .hero-approach .text-link{margin-top:20px}
}
/* Keep short desktop windows composed without pushing the reading block out of its hero. */
@media(min-width:761px) and (max-height:740px){
 .hero-approach{height:max(540px,calc(100svh - 80px));min-height:540px;max-height:640px}
 .hero-approach .hero-copy{padding-top:24px;padding-bottom:24px}
 .hero-approach h1{font-size:clamp(52px,5.5vw,76px);margin-top:18px}
 .hero-approach .hero-description{font-size:17px;line-height:1.45;max-width:none;margin-top:18px}
 .hero-support{font-size:15px;line-height:1.5;max-width:none;margin-top:12px}
 .hero-approach .text-link{margin-top:18px}
}
/* The wall ends at the green band's boundary; only the painted architecture crosses it. */
.approach-editorial{position:relative;z-index:0}
body[data-media-style=collage] .approach-image{--window-overlap:clamp(48px,6vw,72px);max-width:none;width:100%;margin:0;overflow:visible;position:relative;z-index:1;isolation:isolate}
body[data-media-style=collage] .approach-brick-backdrop{inset:0}
body[data-media-style=collage] .approach-detail-art{inset:calc(-1 * var(--window-overlap)) 11% 0 9%;pointer-events:none}
body[data-media-style=collage] .approach-foreground{pointer-events:none}
@media(max-width:760px){body[data-media-style=collage] .approach-detail-art{inset:calc(-1 * var(--window-overlap)) -7% 0 -7%}}
/* Clip only horizontal overspill; the painted window can still cross the section above. */
#main{overflow-x:clip}

/* Signature brushstroke: vector pigment, sized to the last rendered title line. */
.heading-brush-rule{display:block;height:14px;margin-top:6px;max-width:100%;color:var(--pop);pointer-events:none}
.heading-brush-rule svg{display:block;width:100%;height:100%;overflow:visible}
.hero-garden{position:absolute;z-index:2;pointer-events:none}
.hero-garden>svg{display:block;width:100%;height:100%}
@media(max-width:760px){.heading-brush-rule{height:11px;margin-top:5px}}
@media(min-width:761px) and (max-height:740px){.heading-brush-rule{height:10px;margin-top:3px}}
@media(prefers-reduced-motion:reduce){.hero-garden{visibility:visible!important}}
.heading-brush-rule[hidden],.hero-garden[hidden]{display:none}

/* Pigment and paper breaks need enough height to remain tactile at small widths. */
.heading-brush-rule{height:20px;margin-top:3px}
@media(max-width:760px){.heading-brush-rule{height:16px;margin-top:3px}}
@media(min-width:761px) and (max-height:740px){.heading-brush-rule{height:13px;margin-top:2px}}

/* Independent panel foliage prevents the full-hero crop from losing the lower branch. */
.hero-panel-foliage{position:absolute;inset:-15% -12% -8% -20%;pointer-events:none;z-index:3}
.hero-panel-foliage>svg{display:block;width:100%;height:100%;overflow:visible}

/* Shared editorial grammar: green reading field, real masonry, crossing pigment layers. */
body[data-page=home] .intro-section{max-width:none;background:color-mix(in srgb,var(--tree) 12%,var(--paper));position:relative;z-index:0;padding-bottom:clamp(110px,10vw,160px)}
.home-architecture{isolation:isolate;z-index:1;overflow:visible;margin:0;width:100%;max-width:none;height:clamp(400px,46vw,680px);background:var(--paper)}
.home-architecture .approach-brick-backdrop{position:absolute;inset:0;overflow:hidden;z-index:0}
.home-architecture .approach-brick-backdrop img{width:100%;height:100%;object-fit:cover}
.home-architecture .painted-building{position:absolute;inset:-70px 10% 0 15%;width:auto;height:auto;z-index:1}
.home-architecture .painted-building>svg{width:100%;height:100%;overflow:visible}
.home-architecture .approach-foreground{top:auto;bottom:-95px;right:-6%;left:auto;width:42%;height:80%;z-index:2}
body[data-page=home] .enquiries-section{position:relative;padding-top:150px}
@media(max-width:760px){.home-architecture .painted-building{inset:-50px -8% 0 -8%}.home-architecture .approach-foreground{width:58%;height:70%;bottom:-65px;right:-12%}body[data-page=home] .enquiries-section{padding-top:110px}}
body[data-page=home] .home-architecture .approach-foreground{top:auto;bottom:-95px;right:-6%;left:auto;width:42%;height:80%}
@media(max-width:760px){body[data-page=home] .home-architecture .approach-foreground{width:58%;height:70%;bottom:-65px;right:-12%}}
@media(min-width:560px) and (max-width:760px){
 .hero-home .hero-copy{min-height:0;padding-top:30px;padding-bottom:30px}
 .hero-home h1{font-size:clamp(48px,8.1vw,62px);max-width:none;line-height:1.08;margin-top:20px}
 .hero-home h1 br{display:none}
 .hero-home .hero-description{max-width:none;font-size:17px;margin-top:18px}
 .hero-home .text-link{margin-top:18px}
}

/* Review: clear reading fields and page-specific density. */
body[data-page=approach] .approach-image + .enquiries-section{padding-top:clamp(140px,12vw,195px)}
.resident-reference{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(35px,8vw,135px);align-items:start}
.resident-reference h2{margin:0;max-width:15ch}
.resident-reference-copy{max-width:60ch}
@media(max-width:760px){.resident-reference{grid-template-columns:1fr;gap:28px}.resident-reference h2{max-width:none}body[data-page=approach] .approach-image + .enquiries-section{padding-top:130px}}
@media(min-width:560px) and (max-width:760px){.hero-residents h1 br{display:none}.hero-residents h1{font-size:clamp(50px,8.5vw,65px);max-width:none}.hero-residents .hero-description{max-width:none}}

/* Water moves within the illustration; stone, paper and type remain steady. */
.fountain-ripple{transform-box:fill-box;transform-origin:center;animation:fountain-ripple 2.8s linear infinite;opacity:0}
.fountain-ripple.second{animation-delay:-1.4s}
@keyframes fountain-ripple{0%{transform:scale(.35);opacity:0}18%{opacity:.65}100%{transform:scale(1.15);opacity:0}}
@media(prefers-reduced-motion:reduce){.fountain-water{display:none}}
.comparison-preview .fountain-water{display:none}
/* Painting provides the entrance; whole reading sections do not need a second movement. */
.arrived{animation:none}

.water-paused .fountain-ripple{animation-play-state:paused}

/* One developed hero system, shared by every page. */
:is(.hero-home,.hero-approach,.hero-residents){height:clamp(700px,calc(100svh - 80px),760px);min-height:700px;max-height:760px;overflow:visible;z-index:2}
:is(.hero-home,.hero-approach,.hero-residents) .hero-copy{width:49%;padding:clamp(48px,5vw,70px) var(--gutter) 40px}
:is(.hero-home,.hero-approach,.hero-residents) .hero-picture{width:51%}
:is(.hero-home,.hero-approach,.hero-residents) .photo-registration{top:10%;height:80%}
:is(.hero-home,.hero-approach,.hero-residents) .photo-registration>img{object-position:20% 55%}
:is(.hero-home,.hero-approach,.hero-residents) h1{font-size:clamp(64px,7.5vw,116px);margin-top:24px;line-height:1.04;max-width:100%}
:is(.hero-home,.hero-approach,.hero-residents) .hero-description{font-size:20px;line-height:1.55;max-width:36ch;margin-top:26px}
:is(.hero-home,.hero-approach,.hero-residents) .hero-support{font-size:17px;line-height:1.6;max-width:39ch;margin-top:20px}
:is(.hero-home,.hero-approach,.hero-residents) .text-link{margin-top:27px}
.hero-panel-foliage{bottom:-50%}
body[data-hero-system=quiet] .hero-foreground,body[data-hero-system=quiet] .hero-garden,body[data-hero-system=quiet] .hero-solid{display:none}
body[data-hero-system=layered] .hero+section{padding-top:clamp(140px,11vw,185px)}
.approach-editorial{padding-bottom:140px}
body[data-media-style=collage] .approach-image{--window-overlap:clamp(72px,8vw,112px)}
.home-architecture .painted-building{top:-100px}
@media(max-width:760px){
 :is(.hero-home,.hero-approach,.hero-residents){height:auto;min-height:0;max-height:none}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-copy{width:100%;padding:40px var(--gutter) 34px}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-picture{width:100%;height:340px}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-foreground{height:340px}
 :is(.hero-home,.hero-approach,.hero-residents) .photo-registration{top:6%;height:88%}
 :is(.hero-home,.hero-approach,.hero-residents) h1{font-size:clamp(48px,12.8vw,76px);margin-top:22px}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-description{font-size:17px;line-height:1.55;margin-top:23px;max-width:38ch}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-support{font-size:16px;max-width:39ch;margin-top:17px}
 :is(.hero-home,.hero-approach,.hero-residents) .text-link{margin-top:23px}
 .home-architecture .painted-building{top:-80px}
 .approach-editorial{padding-bottom:115px}
 body[data-hero-system=layered] .hero+section{padding-top:110px}
}
@media(min-width:560px) and (max-width:760px){
 :is(.hero-home,.hero-approach,.hero-residents) .hero-copy{padding-top:30px;padding-bottom:30px}
 :is(.hero-home,.hero-approach,.hero-residents) h1{font-size:clamp(50px,8vw,62px)}
 :is(.hero-home,.hero-approach,.hero-residents) h1 br{display:none}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-description,:is(.hero-home,.hero-approach,.hero-residents) .hero-support{max-width:none}
}
@media(min-width:761px) and (max-height:740px){
 :is(.hero-home,.hero-approach,.hero-residents){height:max(540px,calc(100svh - 80px));min-height:540px;max-height:640px}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-copy{padding-top:24px;padding-bottom:24px}
 :is(.hero-home,.hero-approach,.hero-residents) h1{font-size:clamp(52px,5.5vw,76px);margin-top:18px}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-description{font-size:17px;line-height:1.45;max-width:none;margin-top:18px}
 :is(.hero-home,.hero-approach,.hero-residents) .hero-support{font-size:15px;line-height:1.5;max-width:none;margin-top:12px}
 :is(.hero-home,.hero-approach,.hero-residents) .text-link{margin-top:18px}
}

/* Navigation has one restrained active rule; the email link is not a second competing rule. */
.site-header nav{gap:30px;font-size:16px}
.site-header nav>a,.site-header .resident-navigation>a{position:relative;min-height:44px;padding:0;line-height:1.2;text-decoration:none!important;border:0}
.site-header nav>a::after,.site-header .resident-navigation>a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--ink);opacity:0;transform:scaleX(.8);transition:opacity 160ms ease-out,transform 160ms ease-out}
.site-header nav a[aria-current=page]::after{height:2px;background:var(--pop);opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.site-header nav>a:hover::after,.site-header .resident-navigation>a:hover::after{opacity:1;transform:none}}
.site-header nav>a:focus-visible::after,.site-header .resident-navigation>a:focus-visible::after{opacity:1;transform:none}
.site-header .contact-link{border:0!important}
.site-footer nav{gap:4px;line-height:1.35}
.site-footer nav a,.site-footer nav button{min-height:28px}
.site-footer nav .back-to-top{margin-top:4px}
.footer-meta{gap:8px;line-height:1.4}
.footer-meta>a,.footer-meta>button{min-height:28px;display:inline-flex;align-items:center}
.site-footer .footer-meta>p{margin:8px 0 0}
body[data-page=approach] .approach-image>.approach-foreground{transform:translateY(-36px)}
body[data-page=approach] .approach-image+.enquiries-section{padding-top:clamp(130px,10vw,165px)}
@media(max-width:760px){
 .hero-foreground{clip-path:inset(-65px -50vw -140px -50vw)}
 .hero-foreground>svg{overflow:visible}
 .site-footer nav{gap:0 20px}
 .site-footer nav a,.site-footer nav button,.footer-meta>a,.footer-meta>button{min-height:40px}
 body[data-page=approach] .approach-image>.approach-foreground{transform:translateY(-24px)}
 body[data-page=approach] .approach-image+.enquiries-section{padding-top:130px}
}

/* A brush gesture accents a word rather than mechanically tracing a text box. */
.heading-brush-rule{height:14px;margin-top:0;transform:rotate(-.8deg);transform-origin:left center}
@media(max-width:760px){.heading-brush-rule{height:12px;margin-top:0}}
@media(min-width:560px) and (max-width:760px){body[data-composition=top-right] .hero-panel-foliage{inset:-25% -12% -38% -20%}}

/* Keep the entrance in view when the photo becomes a tall crop. */
:is(.hero-home,.hero-approach,.hero-residents) .photo-registration>img{object-position:70% 55%}

/* House and garden share one ground line: neither layer is vertically free-floating. */
.home-architecture{height:clamp(250px,calc(52.5vw - 80px),680px)}
.home-architecture .approach-brick-backdrop img{object-position:50% 100%}
@media(max-width:760px){.home-architecture{height:clamp(240px,calc(81.2vw - 60px),560px)}}
body[data-page=home] .home-architecture{height:clamp(250px,calc(52.5vw - 80px),680px)}
@media(max-width:760px){body[data-page=home] .home-architecture{height:clamp(240px,calc(81.2vw - 60px),560px)}}

/* Text changes while the photographic hero remains mounted. */
.heading-brush-rule{position:relative}
.heading-ink-cover{position:absolute;inset:-3px;background:var(--paper);transform-origin:right center;pointer-events:none}
@media(prefers-reduced-motion:reduce){.heading-ink-cover{display:none}}
