/* Editorial refinement. Outfit and Graphite & Ember remain the core system.
   MRT identifiers explicitly retain LTA colours at the user's request. */
:root{--shadow:0 1px 2px rgba(27,29,34,.04),0 8px 24px rgba(27,29,34,.05);--rhythm:88px}
body{font-size:17px;-webkit-font-smoothing:antialiased}
.wrap{max-width:1440px;padding-inline:64px}
header{max-width:1440px;padding:25px 64px;gap:24px}
header nav{gap:25px;font-size:14px}
header nav a{position:relative}
header nav a[aria-current]::after{content:'';position:absolute;bottom:2px;left:0;width:18px;height:2px;background:var(--deep);border-radius:1px}
.header-contact{min-height:46px;display:inline-flex;align-items:center;padding-inline:23px}
.section,.hub-section{padding-top:var(--rhythm);padding-bottom:24px}
h1,h2{text-wrap:balance}h3{letter-spacing:-.025em}
.section-top,.hub-section-heading{margin-bottom:34px}
.section-top h2,.hub-section-heading h2{font-size:clamp(34px,3.6vw,52px);line-height:1.12}
.section-top .eyebrow{margin-bottom:16px}
.button{background:var(--deep);padding:15px 25px;min-height:54px}
.button:hover{background:#4E1310;transform:translateY(-1px)}
.button.secondary{background:#FFF;color:var(--ink)}
.personal-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:8%;align-items:center;padding-top:28px;padding-bottom:46px}
.personal-hero-copy{min-width:0}
.personal-hero .eyebrow{font-size:14px;margin-bottom:28px}
.personal-hero h1{font-size:clamp(54px,5.2vw,76px);line-height:1.08;letter-spacing:-.04em;margin:0 0 32px}
.personal-hero h1 span{color:var(--muted)}
.hero-summary{max-width:590px;margin-bottom:31px}
.hero-summary p{font-size:18px;line-height:1.65;margin:0}
.personal-hero-portrait{margin:0;max-width:330px;width:100%;justify-self:center}
.personal-hero-portrait img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:22px}
.personal-hero-portrait figcaption{padding-top:16px;line-height:1.5}
.personal-hero-portrait figcaption strong{display:block;font-size:17px;font-weight:500}
.personal-hero-portrait figcaption span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.feature-editorial{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);gap:42px;align-items:center}
.feature-editorial-image{height:180px;position:relative;border-radius:22px;overflow:hidden;background:#E6E7E9}
.feature-editorial-image>img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.feature-editorial .eyebrow{margin-bottom:18px}
.feature-editorial h2{font-size:clamp(32px,3.5vw,48px);margin-bottom:17px}
.feature-editorial p{font-size:15px;line-height:1.6;margin:0}

.feature-editorial:hover img{transform:scale(1.025)}
.project-grid{gap:30px}
.project-card{box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease}
.project-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(27,29,34,.09)}
.project-image{height:auto;aspect-ratio:1.55}
.project-copy{padding:25px 26px 22px}
.project-copy h3{font-size:25px;line-height:1.18;margin:12px 0}
.project-copy p{line-height:1.6}
.project-bottom{border:0;background:#F7F7F8;margin:20px -26px -22px;padding:17px 26px;gap:20px;font-size:13px}
.discovery-grid{gap:22px}
.discovery-grid>a{padding:28px 30px;min-height:190px;box-shadow:var(--shadow)}
.discovery-grid h3{max-width:250px;font-size:28px;font-weight:300;margin-top:22px}
.service-panel{gap:8%;padding:42px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}
.service-panel>img{width:100%;height:auto;max-height:480px;object-fit:contain;background:#F7F7F8}
.service-panel h3{font-size:42px}
.page-head{padding-top:62px;padding-bottom:44px}
.page-head h1{font-size:clamp(48px,5.4vw,76px);max-width:1050px}
.page-head .lead{max-width:760px;font-size:21px}
.launch-hub-head{padding-top:58px;padding-bottom:0}
.launch-hub-head h1{font-size:clamp(48px,5.4vw,76px);margin-bottom:30px}
.hub-search{max-width:760px}
.hub-intro{max-width:760px;font-size:18px;line-height:1.7}
.hub-note{font-size:13px;line-height:1.65}
.hub-section-heading p{max-width:730px;font-size:16px;line-height:1.65}
.year-grid{gap:20px}.year-card{padding:26px;min-height:270px;box-shadow:var(--shadow)}
.year-card h3{font-size:43px;font-weight:300}
.property-type-grid{gap:24px}.property-type-card{padding:34px;min-height:315px;box-shadow:var(--shadow)}
.property-type-card h3{font-size:38px;font-weight:300}
/* A fixed logo track cannot shrink into the title. Horizontal mastheads and
   portrait crests are contained at their natural proportions, never cropped. */
.school-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;align-items:stretch}
.school-grid .school-option{display:grid;grid-template-rows:112px 1fr auto;align-content:start;justify-content:initial;gap:22px;padding:25px 21px;min-height:322px;height:auto;min-width:0;box-shadow:var(--shadow)}
.school-grid .school-logo{display:flex;align-items:center;justify-content:center;width:100%;height:112px;min-height:112px;margin:0;overflow:hidden;min-width:0}
.school-grid .school-logo img{display:block;position:static;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:0;flex:0 1 auto;min-width:0}
.school-grid .school-option h3{font-size:19px;font-weight:400;line-height:1.35;margin:0;min-width:0;overflow-wrap:normal;word-break:normal;align-self:start}
.school-grid .school-option>span{font-size:12px;line-height:1.5;align-self:end;position:static}
.line-grid{gap:20px}.line-option{gap:20px;padding:28px;box-shadow:var(--shadow)}
.line-option>div{min-width:0}.line-option h3{font-size:24px;line-height:1.25;margin-bottom:11px}
.line-code{display:inline-flex;align-items:center;justify-content:center;flex:0 0 54px;width:54px;min-width:54px;min-height:34px;padding:7px 10px;font-size:13px;line-height:1.2;font-weight:500;border-radius:999px}
.line-option[data-line="NSL"] .line-code{background:#E1261C;color:#FFF}
.line-option[data-line="EWL"] .line-code{background:#00953B;color:#000}
.line-option[data-line="NEL"] .line-code{background:#9E28B5;color:#FFF}
.line-option[data-line="CCL"] .line-code{background:#FF9F19;color:#1B1D22}
.line-option[data-line="DTL"] .line-code{background:#0056B8;color:#FFF}
.line-option[data-line="TEL"] .line-code{background:#9D5A18;color:#FFF}
.line-option[data-line="JRL"] .line-code{background:#00B0BE;color:#1B1D22}
.line-option[data-line="CRL"] .line-code{background:#94C83D;color:#1B1D22}
.about-story{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);column-gap:10%;row-gap:48px;padding-top:45px;padding-bottom:30px}
.about-opening{align-self:center}
.about-opening h1{font-size:clamp(52px,5.5vw,80px);margin:0 0 32px}
.about-opening .lead{font-size:27px;line-height:1.5;font-weight:300;max-width:630px;margin-bottom:28px}
.about-opening>p:not(.lead),.about-story .about-biography>p{font-size:18px;line-height:1.85;max-width:670px}
.about-portrait{margin:0;max-width:385px;width:100%;justify-self:center}
.about-portrait img{width:100%;height:auto;aspect-ratio:2/3;border-radius:22px;object-fit:contain}
.about-story .profile-details{padding-top:5px}
.profile-details .profile-credentials{margin:0 0 28px;padding:0}
.profile-details .profile-credentials strong{font-size:18px;font-weight:500}
.profile-details .profile-credentials p{font-size:15px;line-height:1.75;margin:12px 0 0}
.profile-contact-links a{padding:13px 20px;font-size:14px;background:#FFF;box-shadow:var(--shadow)}
.portfolio-section{margin-top:20px;padding-top:55px}
.portfolio-section>h2{font-size:48px;font-weight:300}
.portfolio-section>p{font-size:18px;line-height:1.7;max-width:760px}
.portfolio-section .portfolio-index{gap:10px 26px}
.portfolio-index a,.portfolio-index span{font-size:15px;line-height:1.5;padding:13px 0}
.portfolio-section .portfolio-tours .video-grid{gap:23px}
.portfolio-section .video-grid .cover-topic h3{font-size:26px}
.video-grid{gap:26px}
.video-cover{box-shadow:var(--shadow)}
.video-card a .video-cover img{transition:transform .45s ease}
.video-card a:hover .video-cover img{transform:scale(1.02)}
.video-card-copy p{line-height:1.7}
.cover-subtitle{font-size:14px;line-height:1.45}
.related-reading,.instagram-note{padding-top:56px}
.reading-links a{border:0;padding:18px 0}
.project-hero{gap:7%;padding-top:45px;padding-bottom:44px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.project-hero h1{font-size:clamp(48px,4.8vw,72px);line-height:1.08}
.project-hero-image{height:440px}
.fact-strip{gap:16px;padding-top:16px;padding-bottom:36px}
.fact-strip>div{padding:23px 20px;box-shadow:var(--shadow)}
.fact-strip strong{font-size:21px}.fact-strip span{line-height:1.5}
.project-layout,.article-layout{grid-template-columns:185px minmax(0,1fr);gap:65px}
.project-layout>div>section,.article-layout article>section{margin-bottom:76px}
.project-layout h2,.article-layout h2{font-size:39px;line-height:1.15}
.amenity-card,.sources,.steps article{box-shadow:var(--shadow)}
.faq-category{max-width:1160px;padding-top:38px}
.faq-category h2{font-size:36px;margin-bottom:26px}
.faq-category .faq-list{display:grid;gap:15px}
.faq-category .faq-list details{margin:0;padding:25px 28px;box-shadow:var(--shadow)}
.faq-category summary{font-size:21px;font-weight:400;line-height:1.45;padding-right:24px}
.faq-answer{padding-top:15px;max-width:830px}
.faq-answer p{font-size:17px;line-height:1.8}
footer{margin-top:88px;border:0;background:#E6E7E9;padding-top:48px;padding-bottom:85px;border-radius:22px 22px 0 0}
footer p{line-height:1.75}
@media(min-width:1600px){.personal-hero{padding-top:46px;padding-bottom:58px}.personal-hero-portrait{max-width:360px}}
@media(max-width:1150px){.wrap{padding-inline:40px}header{padding-inline:40px}header nav{gap:16px;font-size:13px}.brand{font-size:27px}.personal-hero{gap:6%;grid-template-columns:1.4fr .8fr}.personal-hero h1{font-size:58px}.personal-hero-portrait{max-width:290px}.hero-summary p{font-size:17px}.feature-editorial{gap:30px;grid-template-columns:.8fr 1fr}.school-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.school-grid .school-option{min-height:302px}.about-story{column-gap:7%;grid-template-columns:1.3fr .8fr}.about-opening .lead{font-size:24px}.project-hero-image{height:370px}.project-layout,.article-layout{grid-template-columns:160px minmax(0,1fr);gap:40px}.fact-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.header-contact{display:none}:root{--rhythm:65px}.personal-hero h1{font-size:49px}.personal-hero .eyebrow{font-size:12px}.personal-hero-portrait{max-width:250px}.feature-editorial{grid-template-columns:1fr 1.2fr;gap:25px}.feature-editorial h2{font-size:35px}.feature-editorial-image{height:170px}.about-opening .lead{font-size:21px}.about-opening>p:not(.lead){font-size:16px}.about-story{grid-template-columns:1.2fr .85fr}.about-opening h1{font-size:53px}.service-panel{gap:30px;padding:30px}.school-grid{gap:16px}.project-hero{gap:35px}.project-hero h1{font-size:49px}.project-hero-image{height:350px}.project-layout,.article-layout{display:block}.project-index{position:static;display:flex;gap:18px;overflow:auto;margin-bottom:30px}.project-index a{white-space:nowrap}}
@media(max-width:700px){.wrap{padding-inline:24px}header{padding:21px 24px}.review-strip{font-size:10px;line-height:1.5;padding:6px 10px}.personal-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:28px 23px;padding-top:26px;padding-bottom:44px;align-items:start}.personal-hero-copy{display:contents}.hero-heading{grid-column:1/-1;grid-row:1}.personal-hero .eyebrow{font-size:12px;margin-bottom:22px}.personal-hero h1{font-size:clamp(41px,11.2vw,65px);line-height:1.11;margin:0;letter-spacing:-.04em}.hero-summary{grid-column:2;grid-row:2;margin:0;padding-top:0}.hero-summary p{font-size:16px;line-height:1.5}.personal-hero-portrait{grid-column:1;grid-row:2;max-width:none;align-self:start}.personal-hero-portrait figcaption{padding-top:13px}.personal-hero-portrait figcaption strong{font-size:15px}.personal-hero-portrait figcaption span{font-size:10px;line-height:1.5}.personal-hero-copy>.button{grid-column:1/-1;grid-row:3;justify-self:start;margin-top:0}.feature-editorial{display:flex;flex-direction:column;align-items:stretch;gap:22px}.feature-editorial-copy{order:0}.feature-editorial-image{order:1;height:190px}.feature-editorial .eyebrow{margin-bottom:17px;font-size:12px}.feature-editorial h2{font-size:36px}.feature-editorial p{font-size:15px}.feature-editorial .image-credit{font-size:9px}.section,.hub-section{padding-bottom:12px}.section-top,.hub-section-heading{gap:20px;align-items:start}.section-top h2,.hub-section-heading h2{font-size:34px}.section-top .text-link{white-space:normal;min-width:90px;font-size:12px}.project-grid{gap:24px}.project-copy{padding:22px}.project-copy h3{font-size:25px}.project-bottom{margin:18px -22px -22px;padding:16px 22px}.discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.discovery-grid>a{padding:24px 20px;min-height:170px}.discovery-grid h3{font-size:24px}.discovery-grid>a>span:first-child{font-size:12px}.service-panel{grid-template-columns:1fr;padding:26px;gap:25px}.service-panel>img{max-height:430px}.service-panel>div{padding:0}.service-panel h3{font-size:34px}.page-head,.launch-hub-head{padding-top:40px;padding-bottom:25px}.page-head h1,.launch-hub-head h1{font-size:48px}.page-head .lead{font-size:18px}.hub-intro{font-size:17px}.school-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.school-grid .school-option{grid-template-rows:94px 1fr auto;gap:19px;padding:22px 17px;min-height:310px}.school-grid .school-logo{height:94px;min-height:94px}.school-grid .school-option h3{font-size:17px;line-height:1.4}.school-grid .school-option>span{font-size:11px;line-height:1.5}.line-option{padding:25px 22px;gap:19px}.line-option h3{font-size:23px}.about-story{display:grid;grid-template-columns:1fr;row-gap:30px;padding-top:35px}.about-opening{order:0}.about-opening h1{font-size:52px;margin-bottom:27px}.about-opening .lead{font-size:23px;line-height:1.5}.about-opening>p:not(.lead),.about-story .about-biography>p{font-size:17px;line-height:1.8}.about-portrait{order:1;max-width:320px;justify-self:start}.about-biography{order:3}.profile-details{order:2}.profile-contact-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-contact-links a{font-size:12px;line-height:1.5;display:flex;align-items:center;padding:12px 15px}.portfolio-section{padding-top:36px}.portfolio-section>h2{font-size:36px}.portfolio-section>p{font-size:17px}.portfolio-section .portfolio-tours .video-grid{gap:24px 14px}.portfolio-section .video-grid .cover-topic h3{font-size:22px}.portfolio-index a,.portfolio-index span{font-size:14px;line-height:1.5}.project-hero{grid-template-columns:1fr;padding-top:30px;gap:24px}.project-hero h1{font-size:49px}.project-hero-image{height:310px}.fact-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact-strip>div{padding:21px 18px}.fact-strip strong{font-size:21px}.project-layout h2,.article-layout h2{font-size:33px}.faq-category .faq-list details{padding:23px 21px}.faq-category summary{font-size:19px}.faq-answer p{font-size:16px}.faq-category h2{font-size:33px}.video-grid{gap:25px 15px}.cover-subtitle{font-size:12px}.year-grid{gap:14px}.year-card{padding:23px 19px}.year-card h3{font-size:36px}.property-type-card{padding:28px}.property-type-card h3{font-size:34px}footer{margin-top:60px;padding-top:35px;padding-bottom:85px}.floating-contact{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px 18px}}
@media(max-width:360px){.personal-hero{gap:24px 16px}.hero-summary p{font-size:15px;line-height:1.55}.personal-hero h1{font-size:39px}.school-grid{grid-template-columns:1fr}.school-grid .school-option{grid-template-columns:90px minmax(0,1fr);grid-template-rows:auto auto;min-height:168px;gap:12px 20px}.school-grid .school-logo{grid-row:1/3;height:100px;min-height:100px}.school-grid .school-option>span{grid-column:2}.school-grid .school-option h3{align-self:end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.project-card,.feature-editorial-image>img,.video-card a .video-cover img{transition:none}.button:hover,.project-card:hover,.feature-editorial:hover img,.video-card a:hover .video-cover img{transform:none}}
/* Responsive original-source posters retain the full portrait frame. */
.video-cover>picture{display:block;position:absolute;inset:0;width:100%;height:100%}

/* Links stay in place; brand highlights work with mouse, keyboard and touch. */
:root{--feedback-bg:#F3E8E6;--feedback-pressed:#EAD4D0;--feedback-ring:rgba(142,33,24,.35)}
a,button,summary{-webkit-tap-highlight-color:rgba(142,33,24,.18)}
a{transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--deep);outline-offset:4px}
.project-card>a,.video-card>a{display:block;border-radius:22px}
.project-card:focus-within{outline:3px solid var(--deep);outline-offset:4px}
.button:hover,.project-card:hover,.feature-editorial:hover img,.hero-feature:hover>img,.video-card a:hover .video-cover img{transform:none}
.project-card:hover{box-shadow:var(--shadow)}
a:active,button:active,summary:active{background-color:var(--feedback-pressed);color:var(--deep)}
.button:active,.menu-toggle:active{background:#4E1310;color:#fff}
.button.secondary:active{background:var(--feedback-pressed);color:var(--deep)}
.insight-feature:active{background:#303238;color:#fff}
.insight-feature.pale:active{background:var(--feedback-pressed);color:var(--ink)}
.area-pills a:active,.faq-categories a:active{background:#4E1310;color:#fff}
.project-card>a:active,.video-card>a:active,.feature-editorial:active,.discovery-grid>a:active,.plan-card:active,.site-plan:active,.year-card:active,.property-type-card:active,.school-option:active,.line-option:active,.insight-feature:active{box-shadow:inset 0 0 0 2px var(--deep),var(--shadow)}
@media(hover:hover){
 a:hover,button:hover,summary:hover{background-color:var(--feedback-bg);color:var(--deep)}
 .button:hover,.menu-toggle:hover{background:#4E1310;color:#fff}
 .button.secondary:hover{background:var(--feedback-bg);color:var(--deep)}
 .insight-feature:hover{background:#303238;color:#fff}
 .insight-feature.pale:hover{background:var(--feedback-bg);color:var(--ink)}
 .area-pills a:hover,.faq-categories a:hover{background:var(--deep);color:#fff}
 .project-card>a:hover,.video-card>a:hover,.feature-editorial:hover,.discovery-grid>a:hover,.plan-card:hover,.site-plan:hover,.year-card:hover,.property-type-card:hover,.school-option:hover,.line-option:hover,.insight-feature:hover{box-shadow:inset 0 0 0 2px var(--feedback-ring),var(--shadow)}
}
/* Keep native disclosure behaviour with visible plus/minus states. */
summary{position:relative;list-style:none;padding-right:40px}
summary::-webkit-details-marker{display:none}
summary::marker{content:""}
summary::before,summary::after{content:"";position:absolute;background:var(--deep);top:50%;transform:translateY(-50%)}
summary::before{width:12px;height:2px;right:14px}
summary::after{width:2px;height:12px;right:19px}
details[open]>summary::after{display:none}
.faq-category summary,.location-filters summary,.plan-group summary{padding-right:40px}
@media(prefers-reduced-motion:reduce){a{transition:none}}
