/* MicroLiving Midwest — consolidated website. Shared by all three pages.
   Palette retained from both supplied designs. No third-party sponsor artwork
   is used as a MicroLiving brand motif. */
:root {
  --blue:#0974ba; --blue-dark:#07578b; --navy:#082e47; --ink:#102a3a;
  --sky:#c0dcf2; --pale:#edf5fa; --paper:#eceeec; --yellow:#efc64b;
  --muted:#586976; --line:#d8e0e5; --white:#fff; --max:1180px;
  --font:'Inter',Arial,Helvetica,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:105px; }
body { margin:0; color:var(--ink); background:var(--white); font:16px/1.7 var(--font); -webkit-font-smoothing:antialiased; }
body.dialog-open { overflow:hidden; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.55; }
img { display:block; max-width:100%; height:auto; }
svg { display:block; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:750; line-height:1.12; }
h1 { letter-spacing:-3.8px; }
h2 { font-size:clamp(34px,3.4vw,49px); letter-spacing:-2px; }
h3 { font-size:25px; letter-spacing:-.8px; }
p { overflow-wrap:break-word; }
[hidden] { display:none !important; }
::selection { background:var(--yellow); color:var(--navy); }
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.button:focus-visible,.light-link:focus-visible,.model-hero a:focus-visible { outline-color:var(--yellow); }
section[id] { scroll-margin-top:105px; }
.container { width:min(var(--max),calc(100% - 96px)); margin-inline:auto; }
.section { padding:88px 0; }
.blue { color:var(--blue); }
.eyebrow { font-size:11px; font-weight:700; line-height:1.6; letter-spacing:1.6px; text-transform:uppercase; color:var(--blue-dark); }
.section-heading { margin-bottom:39px; }
.section-heading h2 { margin-top:17px; }
.two-col { display:grid; grid-template-columns:1.25fr 1fr; gap:85px; align-items:end; }
.section-intro { max-width:430px; font-size:16px; line-height:1.8; color:var(--muted); padding-bottom:3px; }
.section-bottom { margin-top:30px; }
.section-note { color:var(--muted); font-size:11px; line-height:1.8; margin-top:20px; max-width:1030px; }
.small-note { font-size:12px !important; line-height:1.75 !important; color:var(--muted); }
.icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.icon { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:24px; min-height:53px; border:1px solid transparent; padding:14px 22px; font-size:13px; line-height:1.5; font-weight:650; transition:background .18s,transform .18s; border-radius:0; }
.button .icon { width:19px; height:19px; }
.button:hover { transform:translateY(-2px); }
.button-blue { background:var(--blue); color:var(--white); }
.button-blue:hover { background:var(--blue-dark); }
.button-outline { background:transparent; border-color:var(--blue); color:var(--blue); }
.button-outline:hover { background:var(--pale); }
.button-white { background:var(--white); color:var(--navy); }
.button-white:hover { background:var(--pale); }
.text-link { display:inline-flex; align-items:center; gap:13px; font-size:13px; font-weight:650; line-height:1.7; color:var(--blue-dark); }
.text-link .icon { width:19px; height:19px; transition:transform .18s; }
.text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.text-link:hover .icon { transform:translate(2px,-2px); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:18px; top:-100px; z-index:100; padding:12px 18px; background:var(--yellow); color:var(--navy); font-weight:700; }
.skip-link:focus { top:12px; }
#main:focus { outline:none; }
/* Navigation */
.site-header { position:sticky; top:0; z-index:40; background:rgba(255,255,255,.97); border-bottom:1px solid #e4e9ed; }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:94px; }
.brand { width:190px; flex-shrink:0; }
.primary-nav { display:flex; align-items:center; gap:28px; }
.primary-nav > a:not(.button) { font-size:13px; font-weight:600; padding:13px 0; position:relative; }
.primary-nav > a:not(.button)::after { content:''; position:absolute; height:2px; background:var(--blue); left:0; bottom:6px; width:0; transition:width .18s; }
.primary-nav > a:not(.button):hover::after,.primary-nav > a[aria-current="page"]::after { width:100%; }
.nav-cta { min-height:45px; font-size:12px; padding:11px 18px; margin-left:8px; gap:18px; }
.menu-toggle { display:none; align-items:center; gap:12px; padding:12px 0 12px 12px; border:0; background:transparent; color:var(--ink); min-height:44px; font-size:13px; }
.menu-lines { width:23px; height:15px; border-top:2px solid; border-bottom:2px solid; position:relative; }
.menu-lines::after { content:''; position:absolute; top:5px; left:0; right:0; border-top:2px solid; }
.menu-toggle[aria-expanded="true"] .menu-lines { transform:rotate(45deg); height:0; border-bottom:0; }
.menu-toggle[aria-expanded="true"] .menu-lines::after { top:-2px; transform:rotate(90deg); }
/* Homepage hero */
.hero { display:grid; grid-template-columns:54% 46%; min-height:656px; }
.hero-copy { padding:55px 40px 37px max(48px,calc((100vw - var(--max))/2)); min-width:0; }
.hero-copy > .eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:1.35px; margin-bottom:25px; }
.square { width:7px; height:7px; background:var(--blue); flex-shrink:0; }
.hero h1 { font-size:clamp(46px,5.2vw,77px); line-height:1.03; font-weight:800; letter-spacing:-4px; }
.hero h1 span { color:var(--blue); }
.hero-lead { margin-top:27px; font-size:17px; line-height:1.65; font-weight:600; letter-spacing:-.2px; }
.hero-description { font-size:14px; line-height:1.85; color:var(--muted); max-width:475px; margin-top:13px; }
.hero .actions { margin-top:26px; }
.scroll-note { display:flex; align-items:center; gap:12px; font-size:10px; color:var(--muted); margin-top:29px; letter-spacing:.2px; }
.scroll-note > span { width:27px; height:2px; background:var(--yellow); }
.scroll-note .icon { width:16px; height:16px; }
.hero-visual { position:relative; isolation:isolate; min-width:0; overflow:hidden; background:#d9eaf5; min-height:656px; }
.hero-visual::before { content:''; position:absolute; left:-1px; top:0; bottom:0; width:23px; background:var(--white); z-index:3; clip-path:polygon(0 0,65% 0,52% 3%,84% 6%,45% 10%,75% 14%,47% 18%,77% 22%,42% 26%,81% 30%,56% 34%,77% 38%,35% 42%,78% 46%,51% 50%,80% 54%,43% 58%,76% 62%,52% 66%,80% 70%,49% 74%,77% 78%,44% 82%,81% 86%,47% 90%,77% 94%,52% 98%,69% 100%,0 100%); }
.visual-heading { position:relative; z-index:2; margin:54px 30px 0 44px; }
.visual-heading .eyebrow { font-size:10px; letter-spacing:1.3px; }
.visual-heading > p:last-child { font-size:27px; letter-spacing:-1px; font-weight:600; line-height:1.25; margin-top:12px; }
.hero-cottage { position:absolute; width:110%; max-width:none; right:-6%; top:163px; }
.hero-project-card { position:absolute; bottom:46px; left:38px; right:32px; background:var(--white); display:flex; align-items:center; gap:14px; padding:19px; z-index:4; box-shadow:0 12px 30px #082e470b; transition:transform .18s; }
.hero-project-card:hover { transform:translateY(-3px); }
.project-icon { width:43px; height:43px; background:var(--pale); color:var(--blue); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hero-project-card small { display:block; font-size:9px; letter-spacing:1px; color:var(--muted); text-transform:uppercase; line-height:1.5; margin-bottom:5px; }
.hero-project-card strong { display:block; font-size:13px; font-weight:650; letter-spacing:-.25px; line-height:1.5; }
.hero-project-card > .icon { margin-left:auto; color:var(--blue); width:21px; height:21px; }
.concept-caption { font-size:9px; line-height:1.6; letter-spacing:.15px; color:#34576c; }
.hero-visual > .concept-caption { position:absolute; right:32px; bottom:15px; left:38px; text-align:right; }
.mission-strip { background:var(--blue); color:var(--white); padding:24px 0; }
.mission-strip .container { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.mission-strip span { display:flex; align-items:center; gap:13px; font-size:11px; font-weight:550; letter-spacing:.7px; text-transform:uppercase; }
.mission-strip .icon { color:var(--yellow); width:23px; height:23px; }
/* Assets and approach */
.asset-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:33px; background:var(--paper); padding:35px 38px 30px; position:relative; }
.asset-grid::before,.asset-grid::after { content:''; position:absolute; left:0; right:0; height:16px; background:var(--paper); clip-path:polygon(0 70%,4% 40%,8% 65%,12% 25%,16% 55%,20% 70%,24% 35%,28% 63%,32% 22%,36% 58%,40% 31%,44% 62%,48% 40%,52% 71%,56% 37%,60% 58%,64% 22%,68% 67%,72% 39%,76% 62%,80% 24%,84% 58%,88% 34%,92% 69%,96% 38%,100% 65%,100% 100%,0 100%); }
.asset-grid::before { top:-15px; }
.asset-grid::after { bottom:-15px; transform:rotate(180deg); }
.asset-card { min-width:0; display:flex; flex-direction:column; }
.asset-card + .asset-card { border-left:1px solid #cbd4cf; padding-left:32px; }
.card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.card-top > span { font-size:13px; color:var(--muted); font-weight:600; }
.card-top .number { font-size:47px; letter-spacing:-2px; line-height:1; font-weight:650; color:var(--ink); border-left:3px solid var(--yellow); padding-left:13px; }
.card-top .icon { width:29px; height:29px; color:var(--blue); stroke-width:1.4; }
.asset-card h3 { font-size:28px; }
.asset-card p { color:#4c615f; font-size:13px; line-height:1.85; margin-top:16px; flex:1; }
.card-foot { margin-top:24px; padding-top:15px; border-top:1px solid var(--line); color:var(--blue-dark); font-size:10px; text-transform:uppercase; letter-spacing:.8px; font-weight:600; line-height:1.6; }
.asset-card .card-foot { border-color:#cbd4cf; }
.vision-section { padding-top:50px; padding-bottom:85px; }
.vision-grid { display:grid; grid-template-columns:1.18fr 1fr; gap:100px; align-items:center; padding-top:46px; border-top:1px solid var(--line); }
.vision-grid h2 { margin-top:17px; font-size:clamp(40px,4.2vw,60px); letter-spacing:-2.8px; }
.vision-copy .large-copy { font-size:24px; line-height:1.5; font-weight:500; letter-spacing:-.6px; color:var(--ink); }
.vision-copy p { font-size:15px; line-height:1.85; color:var(--muted); }
.vision-copy p + p { margin-top:20px; }
.vision-copy .text-link { margin-top:23px; }
.approach-section,.how-section { background:#f1f4f3; }
.approach-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:21px; }
.approach-card { min-width:0; background:var(--white); border:1px solid var(--line); border-top:3px solid var(--blue); padding:29px 27px 30px; display:flex; flex-direction:column; }
.approach-card h3 { font-size:28px; line-height:1.15; }
.approach-card p { font-size:13px; line-height:1.85; color:var(--muted); margin-top:18px; }
.approach-card .card-subtitle { color:var(--blue-dark); font-size:13px; font-weight:600; margin-top:18px; min-height:48px; }
.approach-card .card-subtitle + p { margin-top:12px; }
.approach-card .card-foot { margin-top:auto; padding-top:18px; }
.how-section .approach-card p { margin-bottom:24px; }
/* Scale explorer: readable without JavaScript, ARIA tabs when enhanced. */
.scale-options { display:none; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); }
html.js .scale-options { display:grid; }
.scale-option { display:flex; align-items:center; gap:12px; min-height:82px; text-align:left; background:var(--white); color:var(--muted); padding:20px 22px; border:0; border-bottom:3px solid transparent; font-size:14px; font-weight:600; }
.scale-option + .scale-option { border-left:1px solid var(--line); }
.scale-option .scale-step { font-size:10px; font-weight:500; margin-right:4px; color:var(--muted); }
.scale-option > .icon:first-of-type { color:var(--blue); }
.scale-option > .icon:last-child { margin-left:auto; width:18px; }
.scale-option.active { color:var(--blue-dark); background:var(--pale); border-bottom-color:var(--blue); }
.scale-option:hover { background:var(--pale); }
.scale-stage { display:grid; grid-template-columns:1.5fr 1fr; background:var(--pale); border:1px solid var(--line); border-top:0; min-height:300px; }
.scale-art { min-width:0; padding:25px 15px 15px; align-self:center; }
.scale-art img { width:100%; }
.scale-art .concept-caption { text-align:center; margin-top:2px; font-size:9px; }
.scale-panel-wrap { padding:43px 34px 36px 26px; align-self:center; }
.scale-panel { outline-offset:8px; }
.scale-panel + .scale-panel { margin-top:25px; }
.scale-panel .eyebrow { font-size:9px; letter-spacing:1px; }
.scale-panel h3 { margin-top:13px; font-size:28px; }
.scale-panel p:not(.eyebrow) { font-size:13px; line-height:1.85; color:var(--muted); margin-top:15px; }
.scale-panel-wrap > .text-link { margin-top:24px; }
html.js .scale-panel + .scale-panel { margin-top:0; }
/* Projects */
.projects-section { padding-top:10px; }
.project-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:28px; align-items:stretch; }
.project-feature { border:1px solid var(--line); min-width:0; }
.project-feature-art { background:#dcebf4; position:relative; padding:44px 0 8px; overflow:hidden; }
.project-feature-art img { width:100%; }
.project-badge { display:inline-flex; align-items:center; padding:6px 9px; font-size:9px; font-weight:650; text-transform:uppercase; letter-spacing:.8px; color:var(--blue-dark); background:var(--white); line-height:1.5; }
.project-feature-art .project-badge { position:absolute; left:25px; top:21px; }
.project-body { padding:30px; }
.project-body > .eyebrow { font-size:10px; letter-spacing:1.2px; }
.project-body h3 { font-size:31px; letter-spacing:-1px; line-height:1.2; margin-top:14px; }
.project-body > p:not(.eyebrow):not(.address) { font-size:14px; line-height:1.85; color:var(--muted); margin-top:20px; }
.address { display:flex; align-items:center; gap:7px; margin-top:14px; font-size:11px; color:var(--muted); }
.address .icon { width:17px; height:17px; color:var(--blue); }
.project-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.project-facts span { font-size:10px; color:var(--muted); }
.project-facts strong { display:block; color:var(--blue-dark); font-size:14px; line-height:1.5; font-weight:650; margin-bottom:5px; }
.project-body .text-link { margin-top:26px; font-size:12px; }
.project-secondary { background:#f2f4f2; border:1px solid #d6dfd7; display:flex; flex-direction:column; min-width:0; }
.project-secondary-top { position:relative; display:flex; align-items:flex-start; justify-content:space-between; min-height:120px; padding:28px 30px 0; }
.project-secondary-top .project-badge { background:#e3eae2; }
.project-outline .icon { width:97px; height:97px; color:#adbcad; stroke-width:.8; }
.project-secondary .project-body { padding-top:10px; }
.project-secondary .project-body h3 { font-size:32px; }
.homes-number { display:flex; align-items:center; gap:22px; margin-top:27px; padding-bottom:26px; border-bottom:1px solid #d0dcd1; }
.homes-number strong { font-size:84px; line-height:1; font-weight:650; letter-spacing:-5px; color:var(--blue); }
.homes-number span { font-size:13px; line-height:1.6; color:#4c6456; }
/* Differentiation */
.difference-section { background:var(--navy); color:var(--white); }
.difference-section .eyebrow { color:var(--yellow); font-size:10px; }
.difference-section h2 { font-size:clamp(35px,3.7vw,53px); }
.difference-section h2 span { color:#badaf1; }
.difference-section .section-intro { color:#c2d6e4; }
.benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 38px; border-top:1px solid #466478; padding-top:34px; }
.benefits-grid article { min-width:0; }
.benefits-grid article > span { font-size:11px; font-weight:600; color:var(--yellow); letter-spacing:1px; }
.benefits-grid h3 { font-size:22px; letter-spacing:-.6px; line-height:1.3; margin-top:14px; }
.benefits-grid p { font-size:13px; line-height:1.85; color:#c8dae6; margin-top:14px; }
.benefits-grid article:nth-child(n+4) { border-top:1px solid #36586d; padding-top:28px; }
.difference-bottom { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:42px; padding-top:26px; border-top:1px solid #466478; }
.difference-bottom > p { font-size:13px; color:#d1e0e9; }
.light-link { color:var(--white); }
/* Partnerships */
.partner-label { text-transform:uppercase; letter-spacing:1.1px; font-size:9px; color:var(--muted); margin:8px 0 20px; }
.partner-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:21px; padding:23px 0 28px; border-block:1px solid var(--line); }
.partner-logo { display:flex; justify-content:center; align-items:center; height:90px; }
.partner-logo img { width:auto; height:auto; max-width:130px; max-height:73px; }
.partner figcaption { text-align:center; font-size:10px; line-height:1.65; color:var(--muted); margin-top:14px; }
.partnership-footer { display:flex; align-items:center; justify-content:space-between; gap:40px; margin-top:24px; }
.partnership-footer p { max-width:600px; font-size:13px; color:var(--muted); line-height:1.8; }
.partnership-footer .text-link { flex-shrink:0; }
/* Contact */
.contact-section { background:#f6f8f7; }
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; align-items:start; }
.contact-copy { padding-top:15px; }
.contact-copy h2 { margin-top:18px; font-size:clamp(40px,3.8vw,54px); letter-spacing:-2.5px; }
.contact-copy > p:not(.eyebrow) { margin-top:25px; color:var(--muted); font-size:15px; max-width:340px; line-height:1.9; }
.contact-location { display:flex; align-items:flex-start; gap:13px; font-size:13px; line-height:1.8; margin-top:32px; }
.contact-location .icon { color:var(--blue); margin-top:4px; }
.contact-location strong { font-weight:600; }
.contact-rule { width:47px; height:3px; background:var(--yellow); margin-top:39px; }
.contact-copy .contact-small { font-size:12px !important; margin-top:20px !important; line-height:2 !important; }
.inquiry-form { border:1px solid #d6e1e8; padding:31px; background:var(--white); }
.form-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.form-heading h3 { font-size:28px; letter-spacing:-.9px; }
.form-heading .icon { color:var(--blue); }
.required-note { font-size:10px; color:var(--muted); margin:11px 0 25px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { margin-bottom:18px; min-width:0; }
.field label { display:block; font-size:11px; font-weight:600; margin-bottom:7px; line-height:1.6; }
.field label > span { color:var(--blue-dark); }
.field label .optional { color:var(--muted); font-weight:400; font-size:10px; }
.field input,.field select,.field textarea { display:block; width:100%; min-width:0; background:var(--white); border:1px solid #b7c8d4; border-radius:0; padding:11px 12px; font-size:13px; color:var(--ink); line-height:1.7; }
.field input,.field select { min-height:46px; }
.field select { padding-right:24px; }
.field textarea { resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--blue); }
.field textarea::placeholder { color:#687984; font-size:12px; }
.form-notice { font-size:11px; line-height:1.8; color:#536875; padding-left:11px; border-left:2px solid var(--yellow); margin:5px 0 20px; }
.form-notice strong { font-weight:650; }
.form-submit { justify-content:space-between; width:100%; }
.form-status { font-size:12px; line-height:1.8; color:var(--blue-dark); margin-top:13px; }
.form-status:empty { display:none; }
.honeypot { position:absolute; left:-9999px; height:0; width:0; overflow:hidden; }
/* Inner pages */
.page-hero { padding:68px 0 64px; background:var(--pale); }
.page-hero-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:83px; align-items:end; }
.page-hero h1 { font-size:clamp(42px,4.8vw,69px); line-height:1.07; margin-top:23px; }
.page-hero-lead { font-size:24px; line-height:1.5; letter-spacing:-.55px; margin-top:27px; font-weight:500; }
.page-hero-description { font-size:16px; line-height:1.9; color:var(--muted); padding-bottom:5px; max-width:390px; }
.about-hero { border-bottom:1px solid #d9e6ef; }
.story-grid { display:grid; grid-template-columns:.96fr 1.18fr; gap:90px; align-items:center; }
.story-photo { position:relative; padding:25px 24px 53px; background:var(--pale); max-width:460px; }
.story-photo::before { content:''; position:absolute; inset:14px -12px -12px 14px; border:1px solid #c4d8e6; z-index:-1; }
.story-photo img { width:100%; max-width:412px; }
.story-photo figcaption { font-size:9px; line-height:1.8; color:var(--muted); margin-top:11px; }
.photo-note { display:flex; align-items:center; gap:12px; background:var(--blue); color:var(--white); font-size:12px; line-height:1.65; padding:16px 20px; position:relative; margin:20px -36px -39px 23px; max-width:290px; }
.photo-note .icon { color:var(--yellow); }
.photo-note strong { font-weight:600; }
.story-copy h2 { font-size:38px; margin-top:17px; letter-spacing:-1.5px; }
.story-copy > p:not(.eyebrow) { font-size:14px; line-height:1.9; color:var(--muted); margin-top:19px; }
.context-stats { margin-top:75px; padding:30px 0; border-block:1px solid var(--line); display:grid; grid-template-columns:1fr 1fr 1fr; gap:50px; align-items:center; }
.context-heading > p:last-child { font-size:13px; color:var(--muted); margin-top:12px; }
.context-stat strong { font-size:52px; line-height:1.2; letter-spacing:-2.5px; font-weight:650; color:var(--blue); }
.context-stat strong > span { font-size:.7em; }
.context-stat p { font-size:11px; color:var(--muted); line-height:1.8; margin-top:10px; }
.relationship-section { background:#f1f4f3; }
.relationship-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.relationship-card { padding:31px; background:var(--white); border:1px solid var(--line); border-top:4px solid var(--blue); display:flex; flex-direction:column; align-items:flex-start; }
.relationship-card.eys { border-top-color:#719078; }
.role-tag { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.8px; line-height:1.6; margin-bottom:21px; }
.role-logo { width:170px; height:61px; object-fit:contain; object-position:left center; margin-bottom:26px; }
.eys-logo { width:159px; object-fit:scale-down; }
.relationship-card h3 { font-size:27px; line-height:1.25; }
.relationship-card p { font-size:14px; line-height:1.85; color:var(--muted); margin-top:17px; }
.relationship-note { display:flex; align-items:flex-start; gap:17px; margin-top:26px; padding:25px; background:#e4ece8; }
.relationship-note .icon { color:var(--blue-dark); margin-top:2px; }
.relationship-note p { font-size:13px; line-height:1.85; color:#3e5950; }
.relationship-note strong { color:var(--ink); font-weight:650; }
.programs { display:grid; grid-template-columns:1fr 1.2fr; gap:70px; margin-top:48px; padding-top:40px; border-top:1px solid #d1dbd5; }
.programs h3 { font-size:27px; margin-top:15px; line-height:1.3; }
.programs > div > p:not(.eyebrow) { margin-top:16px; font-size:13px; line-height:1.85; color:var(--muted); }
.program-details details,.faq-list details { border-bottom:1px solid #cbd9d0; }
.program-details details:first-child,.faq-list details:first-child { border-top:1px solid #cbd9d0; }
.program-details summary,.faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:28px; font-size:14px; font-weight:600; line-height:1.7; cursor:pointer; list-style:none; padding:19px 0; }
summary::-webkit-details-marker { display:none; }
.program-details summary > span,.faq-list summary > span { color:var(--blue); font-size:21px; font-weight:400; flex-shrink:0; transition:transform .18s; }
details[open] > summary > span { transform:rotate(45deg); }
.program-details details > p,.faq-list details > p { padding:0 25px 22px 0; font-size:13px; line-height:1.85; color:var(--muted); }
.people-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:80px; align-items:start; }
.people-grid h2 { margin-top:17px; font-size:39px; letter-spacing:-1.6px; }
.founder { display:flex; align-items:center; gap:24px; margin-top:31px; }
.founder img { width:110px; height:auto; }
.founder h3 { font-size:22px; line-height:1.4; letter-spacing:-.5px; }
.founder p { font-size:12px; color:var(--muted); margin-top:7px; }
.founder span { display:block; font-size:11px; color:var(--blue-dark); margin-top:5px; }
.sponsor-card { padding:30px; border:1px solid var(--line); background:var(--pale); }
.sponsor-card h3 { font-size:27px; line-height:1.25; margin-top:17px; }
.sponsor-card p:not(.eyebrow) { font-size:13px; color:var(--muted); margin-top:17px; line-height:1.85; }
.sponsor-card .text-link { margin-top:23px; }
.page-cta { background:var(--blue); color:var(--white); padding:56px 0; }
.page-cta .container { display:flex; align-items:center; justify-content:space-between; gap:50px; }
.page-cta .eyebrow { color:var(--white); font-size:10px; }
.page-cta h2 { margin-top:16px; font-size:40px; letter-spacing:-1.6px; }
.page-cta .button { flex-shrink:0; }
/* Our model */
.model-hero { background:var(--navy); color:var(--white); padding:60px 0 66px; position:relative; overflow:hidden; }
.model-hero::after { content:''; position:absolute; width:350px; height:350px; right:-205px; top:110px; border:1px solid #38596f; transform:rotate(45deg); pointer-events:none; }
.model-hero .eyebrow { color:var(--yellow); }
.model-hero .page-hero-grid { align-items:center; }
.model-hero h1 { margin-top:23px; font-size:clamp(43px,4.65vw,67px); }
.model-hero h1 span { color:#badaf1; }
.model-hero-copy { padding-top:22px; position:relative; z-index:1; }
.model-hero-copy > p:first-child { font-size:24px; line-height:1.5; letter-spacing:-.7px; }
.model-hero-copy > p + p { font-size:15px; color:#c7d8e5; line-height:1.9; margin-top:20px; }
.model-hero-copy .actions { gap:25px; margin-top:25px; }
.model-hero-copy .text-link { font-size:12px; }
.model-disciplines { display:grid; grid-template-columns:1fr 1.6fr; gap:65px; border-top:1px solid #c9d7ce; margin-top:43px; padding-top:37px; }
.model-disciplines h3 { margin-top:17px; font-size:28px; line-height:1.3; }
.model-disciplines ul { display:grid; grid-template-columns:1fr 1fr; gap:20px 27px; padding:0; margin:0; list-style:none; }
.model-disciplines li { display:flex; align-items:flex-start; gap:13px; font-size:12px; line-height:1.8; }
.model-disciplines .icon { color:var(--blue); width:23px; height:23px; margin-top:1px; }
.quality-flow { display:grid; grid-template-columns:1fr 35px 1fr 35px 1.08fr; gap:15px; align-items:center; margin-top:46px; }
.quality-intake,.quality-review { align-self:stretch; padding:30px 23px; background:var(--pale); border:1px solid #c9dce9; display:flex; flex-direction:column; justify-content:center; position:relative; }
.flow-number { color:var(--blue-dark); font-size:12px; font-weight:600; margin-bottom:35px; }
.quality-review { background:var(--navy); color:var(--white); border-color:var(--navy); }
.quality-review .flow-number { color:var(--yellow); }
.quality-review > .icon { position:absolute; top:28px; right:24px; color:var(--yellow); width:28px; height:28px; }
.quality-flow h3 { font-size:23px; letter-spacing:-.7px; line-height:1.25; }
.quality-flow p { font-size:12px; line-height:1.85; color:var(--muted); margin-top:16px; }
.quality-review p { color:#c6d8e5; }
.flow-arrow { display:flex; justify-content:center; color:var(--blue); }
.quality-decisions { display:grid; gap:16px; }
.decision { padding:24px; border:1px solid #c2d4c5; background:#edf4ed; }
.decision > span { color:#365e42; font-size:10px; font-weight:700; letter-spacing:1px; }
.decision h3 { font-size:20px; margin-top:11px; }
.decision p { margin-top:12px; color:#526c59; }
.decision.no-go { background:#fbf5e8; border-color:#e4d5b0; }
.decision.no-go > span { color:#725818; }
.decision.no-go p { color:#786542; }
.institutional-section { background:var(--pale); }
.customer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid #c7d9e6; border-top:1px solid #c7d9e6; }
.customer-card { padding:27px 23px; border-right:1px solid #c7d9e6; border-bottom:1px solid #c7d9e6; background:#fff; min-width:0; }
.customer-card > span { font-size:11px; font-weight:600; color:var(--blue); letter-spacing:1px; }
.customer-card h3 { font-size:22px; line-height:1.3; margin-top:23px; letter-spacing:-.7px; }
.customer-card p { font-size:12px; line-height:1.85; color:var(--muted); margin-top:16px; }
.customer-cta { background:var(--blue); color:var(--white); padding:28px 23px; display:flex; flex-direction:column; align-items:flex-start; }
.customer-cta .eyebrow { color:var(--white); }
.customer-cta h3 { font-size:25px; line-height:1.25; margin-top:20px; }
.customer-cta .text-link { font-size:11px; margin-top:auto; padding-top:25px; gap:8px; }
.faq-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; align-items:start; }
.faq-grid h2 { margin-top:17px; font-size:39px; letter-spacing:-1.6px; }
.faq-grid > div > .text-link { margin-top:28px; }
.faq-list details { border-color:var(--line); }
.faq-list summary { font-size:14px; }
/* Footer */
.footer-pattern { height:33px; background:repeating-linear-gradient(125deg,#082e47 0 24px,#07578b 24px 48px,#0974ba 48px 72px,#c0dcf2 72px 96px); }
.footer-content { display:grid; grid-template-columns:1.9fr 1fr 1.1fr; gap:70px; padding:43px 0 36px; }
.footer-about { max-width:370px; }
.footer-brand { display:block; width:177px; }
.footer-about p { font-size:12px; line-height:1.9; color:var(--muted); margin-top:18px; max-width:300px; }
.footer-about > span { display:block; color:var(--muted); font-size:10px; margin-top:16px; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding-top:9px; }
.footer-column h2 { font-size:12px; font-weight:650; line-height:1.5; letter-spacing:0; margin-bottom:9px; }
.footer-column a { font-size:11px; line-height:1.8; color:var(--muted); }
.footer-column a:hover { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.project-notes { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.project-notes summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; padding:15px 0; cursor:pointer; font-size:10px; font-weight:500; color:var(--muted); }
.project-notes summary > span { font-size:20px; color:var(--blue); line-height:1; }
.project-notes > div { padding:0 0 20px; max-width:1010px; }
.project-notes p { font-size:11px; line-height:1.8; color:var(--muted); margin-top:12px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 0 26px; font-size:10px; color:var(--muted); }
.footer-bottom a { display:flex; align-items:center; gap:9px; }
.footer-bottom .icon { width:16px; height:16px; color:var(--blue); }
/* Local inquiry preview */
.inquiry-dialog { width:min(660px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; border:0; color:var(--ink); padding:30px; box-shadow:0 24px 90px #082e4733; }
.inquiry-dialog::backdrop { background:#082e47b8; }
.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:11px; }
.dialog-close { width:44px; height:44px; display:flex; justify-content:center; align-items:center; font-size:29px; background:var(--pale); color:var(--ink); border:0; }
.inquiry-dialog h2 { font-size:32px; letter-spacing:-1.2px; }
.inquiry-dialog > p { font-size:13px; line-height:1.85; color:var(--muted); margin-top:15px; }
.inquiry-dialog textarea { display:block; width:100%; margin:20px 0; padding:16px; min-height:190px; border:1px solid #bcceda; background:#f7fafb; resize:vertical; color:var(--ink); font-size:12px; line-height:1.8; }
.dialog-actions { display:flex; gap:12px; flex-wrap:wrap; }
.dialog-actions .button { min-height:45px; font-size:11px; padding:11px 14px; gap:12px; }
.dialog-status { min-height:18px; font-size:11px !important; color:var(--blue-dark) !important; }
/* Responsive layout */
@media (min-width:1600px) {
 .hero { grid-template-columns:54% 46%; }
 .hero-copy { padding-top:67px; padding-bottom:46px; }
 .hero-visual { min-height:700px; }
 .hero-cottage { width:min(98%,790px); top:130px; right:3%; }
 .visual-heading { margin-top:63px; }
}
@media (max-width:1199px) {
 .container { width:calc(100% - 72px); }
 .hero-copy { padding-left:36px; padding-right:33px; }
 .primary-nav { gap:23px; }
 .brand { width:175px; }
 .hero h1 { letter-spacing:-3.4px; }
 .hero-lead { font-size:16px; }
 .hero-description { font-size:13px; }
 .hero .actions { gap:20px; }
 .hero .button { font-size:12px; padding:13px 16px; gap:14px; }
 .hero .text-link { font-size:12px; }
 .hero-cottage { top:183px; width:113%; right:-8%; }
 .hero-project-card { left:33px; right:25px; padding:17px; gap:11px; }
 .hero-project-card strong { font-size:12px; }
 .two-col { gap:55px; }
 .asset-grid { padding:33px 28px; gap:24px; }
 .asset-card + .asset-card { padding-left:24px; }
 .asset-card h3 { font-size:25px; }
 .vision-grid { gap:65px; }
 .approach-card { padding:27px 23px; }
 .approach-card h3 { font-size:25px; }
 .scale-option { padding:18px; gap:10px; font-size:13px; }
 .scale-option .scale-step { margin:0; }
 .scale-stage { grid-template-columns:1.3fr 1fr; }
 .scale-panel-wrap { padding:35px 26px 30px 12px; }
 .project-body { padding:27px; }
 .project-secondary .project-body h3 { font-size:29px; }
 .benefits-grid { gap:28px 31px; }
 .partner-grid { gap:16px; }
 .partner-logo img { max-width:115px; }
 .contact-grid { gap:62px; }
 .inquiry-form { padding:28px; }
 .form-row { gap:13px; }
 .page-hero-grid { gap:58px; }
 .story-grid { gap:65px; }
 .story-copy h2 { font-size:33px; }
 .people-grid { gap:60px; }
 .people-grid h2,.faq-grid h2 { font-size:35px; }
 .context-stats { gap:35px; }
 .model-disciplines { gap:40px; }
 .quality-flow { grid-template-columns:1fr 23px 1fr 23px 1.1fr; gap:10px; }
 .quality-intake,.quality-review { padding:27px 21px; }
 .quality-flow h3 { font-size:21px; }
 .decision { padding:21px; }
 .decision h3 { font-size:19px; }
 .customer-card { padding:25px 20px; }
 .customer-card h3 { font-size:20px; }
 .customer-cta { padding:25px 20px; }
 .customer-cta h3 { font-size:23px; }
 .footer-content { gap:50px; }
}
@media (max-width:980px) {
 .container { width:calc(100% - 56px); }
 .section { padding:72px 0; }
 .nav-wrap { min-height:85px; gap:20px; }
 .brand { width:162px; }
 .primary-nav { gap:18px; }
 .primary-nav > a:not(.button) { font-size:12px; }
 .nav-cta { padding:11px 13px; gap:11px; margin-left:0; font-size:11px; }
 .hero { min-height:637px; }
 .hero-copy { padding:43px 25px 30px 28px; }
 .hero-copy > .eyebrow { font-size:8px; letter-spacing:1px; gap:8px; }
 .hero h1 { font-size:5.25vw; letter-spacing:-2.8px; }
 .hero-lead { font-size:15px; }
 .hero-description { font-size:13px; }
 .hero .actions { align-items:flex-start; flex-direction:column; gap:18px; margin-top:24px; }
 .scroll-note { font-size:9px; margin-top:24px; }
 .hero-visual { min-height:637px; }
 .visual-heading { margin:45px 25px 0 36px; }
 .visual-heading .eyebrow { font-size:8px; }
 .visual-heading > p:last-child { font-size:24px; }
 .hero-cottage { top:217px; width:120%; right:-14%; }
 .hero-project-card { left:28px; right:20px; gap:9px; padding:16px 13px; }
 .hero-project-card strong { font-size:10px; }
 .hero-project-card small { font-size:8px; }
 .project-icon { width:34px; height:34px; }
 .hero-project-card > .icon { width:18px; height:18px; }
 .hero-visual > .concept-caption { left:28px; right:20px; font-size:8px; }
 .mission-strip span { font-size:9px; gap:10px; letter-spacing:.5px; }
 .mission-strip .icon { width:20px; height:20px; }
 .two-col { gap:40px; }
 .section-intro { font-size:14px; }
 .asset-grid { padding:27px 24px; gap:20px; }
 .asset-card + .asset-card { padding-left:20px; }
 .asset-card h3 { font-size:23px; }
 .asset-card p { font-size:12px; }
 .card-top .number { font-size:42px; }
 .card-foot { font-size:8px; }
 .vision-section { padding-top:25px; }
 .vision-grid { gap:50px; padding-top:36px; }
 .vision-grid h2 { font-size:40px; letter-spacing:-1.7px; }
 .vision-copy .large-copy { font-size:21px; }
 .vision-copy p { font-size:13px; }
 .approach-grid { gap:17px; }
 .approach-card { padding:25px 20px; }
 .approach-card h3 { font-size:23px; }
 .approach-card p,.approach-card .card-subtitle { font-size:12px; }
 .scale-option { font-size:12px; gap:9px; padding:17px 13px; }
 .scale-option > .icon:last-child { display:none; }
 .scale-stage { grid-template-columns:1.2fr 1fr; }
 .scale-panel h3 { font-size:25px; }
 .scale-panel p:not(.eyebrow) { font-size:12px; }
 .scale-panel .eyebrow { font-size:8px; }
 .scale-panel-wrap { padding-right:23px; }
 .projects-section { padding-top:8px; }
 .project-grid { gap:23px; }
 .project-body { padding:23px; }
 .project-body h3,.project-secondary .project-body h3 { font-size:26px; }
 .project-body > p:not(.eyebrow):not(.address) { font-size:13px; }
 .project-body .small-note { font-size:11px !important; }
 .project-facts { gap:13px; }
 .project-facts strong { font-size:12px; }
 .project-facts span { font-size:9px; }
 .project-feature-art .project-badge { left:22px; }
 .project-secondary-top { padding:24px 23px 0; }
 .project-outline .icon { width:78px; height:78px; }
 .homes-number strong { font-size:73px; }
 .homes-number { gap:18px; }
 .benefits-grid h3 { font-size:20px; }
 .benefits-grid p { font-size:12px; }
 .difference-bottom { align-items:flex-start; }
 .difference-bottom > p { max-width:430px; font-size:12px; }
 .difference-bottom .text-link { font-size:11px; flex-shrink:0; }
 .partner-grid { gap:13px; }
 .partner-logo img { max-width:95px; max-height:65px; }
 .partner figcaption { font-size:9px; }
 .partnership-footer p { font-size:12px; }
 .partnership-footer .text-link { font-size:12px; }
 .contact-grid { gap:45px; }
 .contact-copy h2 { font-size:40px; letter-spacing:-1.8px; }
 .contact-copy > p:not(.eyebrow) { font-size:14px; }
 .inquiry-form { padding:24px; }
 .form-row { grid-template-columns:1fr; gap:0; }
 .page-hero { padding:54px 0; }
 .page-hero-grid { gap:44px; }
 .page-hero h1 { font-size:47px; letter-spacing:-2.3px; }
 .page-hero-description { font-size:14px; }
 .page-hero-lead { font-size:22px; }
 .story-grid { gap:48px; }
 .story-copy h2 { font-size:29px; }
 .story-copy > p:not(.eyebrow) { font-size:13px; }
 .story-photo { padding:23px 20px 44px; }
 .photo-note { margin-left:6px; }
 .context-stats { margin-top:55px; gap:30px; }
 .context-stat strong { font-size:44px; }
 .context-heading > p:last-child { font-size:12px; }
 .relationship-card { padding:27px; }
 .relationship-card h3 { font-size:25px; }
 .relationship-card p { font-size:13px; }
 .programs { gap:45px; }
 .programs h3 { font-size:25px; }
 .people-grid { gap:44px; }
 .people-grid h2 { font-size:31px; }
 .sponsor-card { padding:26px; }
 .sponsor-card h3 { font-size:25px; }
 .founder { gap:17px; }
 .founder img { width:95px; }
 .founder h3 { font-size:19px; }
 .model-hero h1 { font-size:47px; }
 .model-hero-copy > p:first-child { font-size:21px; }
 .model-hero-copy > p + p { font-size:13px; }
 .model-hero-copy .actions { gap:15px; }
 .model-disciplines { grid-template-columns:1fr 1.65fr; gap:35px; }
 .model-disciplines h3 { font-size:25px; }
 .model-disciplines ul { gap:19px; }
 .model-disciplines li { font-size:11px; gap:10px; }
 .quality-flow { grid-template-columns:1fr 20px 1fr; gap:18px; }
 .quality-flow > .flow-arrow:nth-child(4) { display:none; }
 .quality-decisions { grid-column:1/-1; grid-template-columns:1fr 1fr; gap:23px; margin-top:7px; }
 .quality-flow h3 { font-size:24px; }
 .decision h3 { font-size:21px; }
 .customer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .customer-card { padding:27px; }
 .customer-card h3 { font-size:23px; }
 .customer-card p { font-size:13px; }
 .customer-cta { padding:27px; }
 .customer-cta h3 { font-size:25px; }
 .faq-grid { gap:47px; }
 .faq-grid h2 { font-size:33px; }
 .faq-list summary { font-size:13px; }
 .page-cta h2 { font-size:35px; }
 .footer-content { gap:37px; grid-template-columns:1.5fr 1fr 1.1fr; }
}
@media (max-width:800px) {
 html { scroll-padding-top:95px; }
 section[id] { scroll-margin-top:95px; }
 .nav-wrap { flex-wrap:wrap; min-height:82px; }
 .primary-nav { width:100%; flex-wrap:wrap; justify-content:space-between; padding-bottom:18px; }
 html.js .menu-toggle { display:flex; }
 html.js .primary-nav { display:none; position:absolute; left:28px; right:28px; top:81px; width:auto; padding:23px; border:1px solid var(--line); box-shadow:0 16px 35px #082e471c; background:var(--white); flex-direction:column; align-items:stretch; gap:0; }
 html.js .primary-nav.is-open { display:flex; }
 html.js .primary-nav > a:not(.button) { padding:13px 0; font-size:13px; }
 html.js .primary-nav > a:not(.button)::after { bottom:8px; width:0; }
 html.js .primary-nav > a[aria-current="page"] { color:var(--blue); }
 .nav-cta { margin-top:12px; font-size:12px; min-height:46px; }
 .hero { grid-template-columns:1fr; min-height:0; }
 .hero-copy { padding:41px 28px 35px; }
 .hero-copy > .eyebrow { font-size:10px; margin-bottom:24px; }
 .hero h1 { font-size:64px; letter-spacing:-3.4px; }
 .hero-lead { font-size:18px; }
 .hero-description { font-size:14px; max-width:535px; }
 .hero .actions { flex-direction:row; align-items:center; gap:24px; }
 .hero .button,.hero .text-link { font-size:13px; }
 .hero-visual { min-height:445px; }
 .hero-visual::before { width:auto; height:17px; inset:-1px -1px auto -1px; clip-path:polygon(0 0,100% 0,100% 65%,96% 38%,92% 69%,88% 34%,84% 58%,80% 24%,76% 62%,72% 39%,68% 67%,64% 22%,60% 58%,56% 37%,52% 71%,48% 40%,44% 62%,40% 31%,36% 58%,32% 22%,28% 63%,24% 35%,20% 70%,16% 55%,12% 25%,8% 65%,4% 40%,0 70%); }
 .visual-heading { margin:37px 30px 0; }
 .visual-heading .eyebrow { font-size:9px; }
 .hero-cottage { width:580px; max-width:85%; right:1%; top:24px; }
 .hero-project-card { left:28px; right:28px; bottom:42px; padding:17px; }
 .hero-project-card strong { font-size:13px; }
 .hero-project-card small { font-size:9px; }
 .project-icon { width:40px; height:40px; }
 .hero-visual > .concept-caption { font-size:9px; bottom:13px; right:28px; }
 .page-hero h1 { font-size:43px; }
 .page-hero-grid { grid-template-columns:1.4fr 1fr; gap:32px; }
 .model-hero h1 { font-size:42px; }
 .model-hero-copy > p:first-child { font-size:19px; }
 .model-hero-copy .actions { flex-direction:column; align-items:flex-start; }
 .partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
 .partner-logo img { max-width:130px; max-height:72px; }
}
@media (max-width:700px) {
 .container { width:calc(100% - 44px); }
 .section { padding:57px 0; }
 h2 { font-size:34px; letter-spacing:-1.4px; }
 .eyebrow { font-size:9px; letter-spacing:1.3px; }
 .section-heading { margin-bottom:31px; }
 .section-heading h2 { margin-top:15px; }
 .two-col { grid-template-columns:1fr; gap:22px; }
 .section-intro { max-width:490px; font-size:14px; line-height:1.85; }
 .nav-wrap { min-height:79px; }
 .brand { width:155px; }
 html.js .primary-nav { top:78px; left:22px; right:22px; }
 .hero-copy { padding:33px 22px 31px; }
 .hero-copy > .eyebrow { font-size:8px; letter-spacing:1px; margin-bottom:22px; }
 .hero h1 { font-size:clamp(37px,10.7vw,62px); letter-spacing:-2.3px; line-height:1.03; }
 .hero-lead { font-size:15px; margin-top:24px; line-height:1.75; }
 .hero-description { font-size:13px; line-height:1.9; margin-top:12px; }
 .hero .actions { gap:19px; margin-top:25px; }
 .hero .button { padding:13px 16px; min-height:49px; font-size:12px; gap:16px; }
 .hero .text-link { font-size:12px; gap:8px; }
 .scroll-note { font-size:9px; margin-top:25px; }
 .hero-visual { min-height:420px; }
 .visual-heading { margin:33px 25px 0; }
 .visual-heading .eyebrow { font-size:8px; letter-spacing:1px; }
 .visual-heading > p:last-child { font-size:23px; margin-top:11px; }
 .hero-cottage { top:81px; width:112%; max-width:540px; right:-7%; }
 .hero-project-card { left:22px; right:22px; bottom:42px; padding:16px; gap:10px; }
 .hero-project-card strong { font-size:11px; }
 .hero-project-card small { font-size:8px; }
 .project-icon { width:35px; height:35px; }
 .hero-project-card > .icon { width:18px; height:18px; }
 .hero-visual > .concept-caption { left:22px; right:22px; bottom:15px; font-size:8px; }
 .mission-strip { padding:22px 0; }
 .mission-strip .container { flex-wrap:wrap; justify-content:center; gap:14px 22px; }
 .mission-strip span { font-size:8px; gap:8px; letter-spacing:.6px; }
 .mission-strip .icon { width:18px; height:18px; }
 .asset-grid { grid-template-columns:1fr; padding:20px 24px; gap:0; margin-top:43px; }
 .asset-card { display:grid; grid-template-columns:58px 1fr; gap:0 18px; padding:22px 0; }
 .asset-card + .asset-card { border-left:0; border-top:1px solid #cbd4cf; padding-left:0; }
 .asset-card .card-top { grid-column:1; grid-row:1/4; flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:18px; margin:0; }
 .asset-card .number { font-size:36px; padding-left:9px; border-left-width:3px; letter-spacing:-1.6px; }
 .asset-card .card-top .icon { width:24px; height:24px; margin-left:13px; }
 .asset-card h3 { grid-column:2; font-size:25px; }
 .asset-card h3 br { display:none; }
 .asset-card p { grid-column:2; font-size:12px; line-height:1.85; margin-top:13px; }
 .asset-card .card-foot { grid-column:2; margin-top:17px; padding:0; border:0; font-size:8px; }
 .vision-section { padding-top:24px; }
 .vision-grid { grid-template-columns:1fr; gap:26px; padding-top:32px; }
 .vision-grid h2 { font-size:39px; letter-spacing:-1.6px; line-height:1.14; }
 .vision-copy .large-copy { font-size:22px; line-height:1.5; max-width:450px; }
 .vision-copy p { font-size:14px; line-height:1.9; }
 .vision-copy p + p { margin-top:16px; }
 .approach-grid { grid-template-columns:1fr; gap:19px; }
 .approach-card { padding:27px; }
 .approach-card .card-top { margin-bottom:22px; }
 .approach-card h3 { font-size:29px; }
 .approach-card h3 br { display:none; }
 .approach-card p { font-size:13px; }
 .approach-card .card-subtitle { font-size:13px; min-height:0; margin-top:16px; }
 .approach-card .card-subtitle + p { margin-top:13px; }
 .section-bottom { margin-top:23px; }
 .scale-options { grid-template-columns:1fr; }
 .scale-option { min-height:61px; font-size:13px; gap:13px; padding:15px 18px; border-bottom:0; border-left:3px solid transparent; }
 .scale-option + .scale-option { border-top:1px solid var(--line); border-left:3px solid transparent; }
 .scale-option.active { border-bottom:0; border-left:3px solid var(--blue); }
 .scale-option .scale-step { font-size:10px; }
 .scale-option > .icon:last-child { display:block; }
 .scale-stage { grid-template-columns:1fr; }
 .scale-art { padding:15px 8px 8px; }
 .scale-art .concept-caption { font-size:8px; margin-top:0; padding-inline:12px; }
 .scale-panel-wrap { padding:23px 25px 28px; border-top:1px solid #d8e5ee; }
 .scale-panel h3 { font-size:29px; margin-top:13px; }
 .scale-panel .eyebrow { font-size:8px; }
 .scale-panel p:not(.eyebrow) { font-size:13px; }
 .scale-panel-wrap > .text-link { margin-top:20px; }
 .projects-section { padding-top:7px; }
 .project-grid { grid-template-columns:1fr; gap:23px; }
 .project-body { padding:25px; }
 .project-body h3 { font-size:29px; }
 .project-body > .eyebrow { font-size:9px; }
 .project-body > p:not(.eyebrow):not(.address) { font-size:13px; }
 .project-feature-art { padding-top:43px; }
 .project-feature-art .project-badge { left:22px; top:18px; font-size:8px; }
 .project-facts strong { font-size:12px; }
 .project-facts span { font-size:9px; }
 .project-body .text-link { font-size:12px; }
 .project-secondary-top { padding:24px 25px 0; min-height:99px; }
 .project-secondary .project-body { padding-top:10px; }
 .project-secondary .project-body h3 { font-size:30px; }
 .project-outline .icon { width:72px; height:72px; }
 .homes-number { margin-top:24px; padding-bottom:23px; }
 .homes-number strong { font-size:79px; }
 .homes-number span { font-size:12px; }
 .section-note { font-size:10px; margin-top:19px; line-height:1.85; }
 .difference-section .eyebrow { font-size:8px; letter-spacing:1.1px; }
 .difference-section h2 { font-size:35px; letter-spacing:-1.5px; }
 .difference-section .section-intro { font-size:13px; }
 .benefits-grid { grid-template-columns:1fr; gap:24px; padding-top:29px; }
 .benefits-grid article { display:grid; grid-template-columns:27px 1fr; gap:0 14px; }
 .benefits-grid article > span { grid-column:1; grid-row:1/3; padding-top:4px; }
 .benefits-grid h3 { grid-column:2; margin-top:0; font-size:23px; }
 .benefits-grid p { grid-column:2; font-size:13px; margin-top:13px; }
 .benefits-grid article:nth-child(n+2) { border-top:1px solid #36586d; padding-top:25px; }
 .difference-bottom { flex-direction:column; align-items:flex-start; gap:19px; margin-top:29px; }
 .difference-bottom > p { font-size:12px; }
 .difference-bottom .text-link { font-size:12px; }
 .partner-label { font-size:8px; letter-spacing:.7px; }
 .partner-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px 15px; padding:22px 0; }
 .partner-logo { height:72px; }
 .partner-logo img { max-width:100%; max-height:61px; }
 .partner figcaption { font-size:8px; line-height:1.8; margin-top:10px; }
 .partnership-footer { flex-direction:column; align-items:flex-start; gap:18px; }
 .partnership-footer p { font-size:12px; }
 .contact-grid { grid-template-columns:1fr; gap:30px; }
 .contact-copy { padding-top:0; }
 .contact-copy h2 { font-size:42px; letter-spacing:-1.8px; }
 .contact-copy > p:not(.eyebrow) { font-size:14px; margin-top:20px; max-width:470px; }
 .contact-location { font-size:12px; margin-top:26px; }
 .contact-rule,.contact-small { display:none; }
 .inquiry-form { padding:23px; }
 .form-heading h3 { font-size:27px; }
 .field label { font-size:12px; }
 .field label .optional { font-size:10px; }
 .field input,.field textarea,.field select { font-size:16px; padding:10px 11px; }
 .field select { min-height:49px; }
 .field { margin-bottom:17px; }
 .field textarea::placeholder { font-size:12px; }
 .form-notice { font-size:10px; }
 .form-submit { font-size:12px; }
 .page-hero { padding:41px 0 44px; }
 .page-hero-grid { grid-template-columns:1fr; gap:25px; }
 .page-hero h1 { font-size:clamp(37px,9.8vw,57px); letter-spacing:-1.9px; margin-top:19px; }
 .page-hero-lead { font-size:22px; margin-top:22px; line-height:1.45; }
 .page-hero-description { font-size:14px; line-height:1.85; max-width:490px; padding:0; }
 .story-grid { grid-template-columns:1fr; gap:48px; }
 .story-photo { max-width:440px; width:calc(100% - 10px); padding:22px 21px 40px; }
 .story-photo::before { inset:12px -10px -10px 12px; }
 .story-photo figcaption { font-size:8px; }
 .photo-note { font-size:12px; margin-left:11px; margin-right:-32px; padding:15px 18px; max-width:265px; }
 .story-copy h2 { font-size:32px; letter-spacing:-1.3px; }
 .story-copy > p:not(.eyebrow) { font-size:13px; line-height:1.9; }
 .context-stats { grid-template-columns:1fr 1fr; gap:24px 20px; padding:24px 0; margin-top:35px; }
 .context-heading { grid-column:1/-1; }
 .context-heading > p:last-child { margin-top:8px; font-size:12px; }
 .context-stat strong { font-size:40px; letter-spacing:-2px; }
 .context-stat p { font-size:10px; }
 .relationship-grid { grid-template-columns:1fr; gap:22px; }
 .relationship-card { padding:27px; }
 .role-tag { font-size:8px; }
 .role-logo { width:165px; margin-bottom:20px; }
 .eys-logo { width:159px; }
 .relationship-card h3 { font-size:26px; }
 .relationship-card p { font-size:13px; }
 .relationship-note { gap:13px; padding:21px; margin-top:23px; }
 .relationship-note p { font-size:12px; }
 .programs { grid-template-columns:1fr; gap:25px; padding-top:29px; margin-top:33px; }
 .programs h3 { font-size:27px; }
 .programs > div > p:not(.eyebrow) { font-size:12px; }
 .program-details summary { font-size:14px; padding:17px 0; }
 .program-details details > p { font-size:12px; }
 .people-grid { grid-template-columns:1fr; gap:31px; }
 .people-grid h2 { font-size:34px; letter-spacing:-1.4px; }
 .founder { margin-top:25px; gap:20px; }
 .founder img { width:99px; }
 .founder h3 { font-size:22px; }
 .sponsor-card { padding:26px; }
 .sponsor-card h3 { font-size:28px; }
 .sponsor-card p:not(.eyebrow) { font-size:13px; }
 .page-cta { padding:44px 0; }
 .page-cta .container { flex-direction:column; align-items:flex-start; gap:27px; }
 .page-cta h2 { font-size:34px; letter-spacing:-1.4px; }
 .page-cta .eyebrow { font-size:8px; }
 .page-cta .button { font-size:12px; }
 .model-hero { padding:40px 0 44px; }
 .model-hero h1 { font-size:clamp(37px,9.8vw,56px); }
 .model-hero .page-hero-grid { gap:26px; }
 .model-hero-copy { padding-top:0; }
 .model-hero-copy > p:first-child { font-size:21px; line-height:1.5; }
 .model-hero-copy > p + p { font-size:13px; margin-top:18px; }
 .model-hero-copy .actions { flex-direction:row; gap:25px; flex-wrap:wrap; }
 .model-hero-copy .text-link { font-size:11px; }
 .how-section .approach-card p { font-size:13px; margin-bottom:23px; }
 .how-section .card-foot { font-size:9px; }
 .model-disciplines { grid-template-columns:1fr; gap:28px; margin-top:31px; padding-top:28px; }
 .model-disciplines h3 { font-size:28px; }
 .model-disciplines li { font-size:11px; gap:9px; }
 .model-disciplines ul { gap:22px 17px; }
 .model-disciplines .icon { width:21px; height:21px; }
 .quality-flow { grid-template-columns:1fr; gap:15px; margin-top:31px; }
 .quality-intake,.quality-review { padding:26px; }
 .flow-number { margin-bottom:22px; }
 .quality-flow h3 { font-size:27px; }
 .quality-flow p { font-size:13px; }
 .flow-arrow .icon { transform:rotate(90deg); }
 .quality-flow > .flow-arrow:nth-child(4) { display:flex; }
 .quality-decisions { grid-template-columns:1fr; gap:16px; margin-top:0; }
 .decision { padding:24px; }
 .decision h3 { font-size:25px; }
 .quality-review > .icon { top:27px; right:26px; }
 .customer-grid { grid-template-columns:1fr; }
 .customer-card { padding:25px; display:grid; grid-template-columns:27px 1fr; gap:0 12px; }
 .customer-card > span { grid-column:1; grid-row:1/3; margin-top:3px; }
 .customer-card h3 { grid-column:2; font-size:24px; margin:0; letter-spacing:-.6px; }
 .customer-card p { grid-column:2; font-size:13px; margin-top:13px; }
 .customer-cta { padding:28px; }
 .customer-cta h3 { font-size:29px; }
 .customer-cta h3 br { display:none; }
 .customer-cta .text-link { font-size:12px; padding-top:0; margin-top:23px; }
 .faq-grid { grid-template-columns:1fr; gap:29px; }
 .faq-grid h2 { font-size:34px; letter-spacing:-1.3px; }
 .faq-grid > div > .text-link { margin-top:24px; }
 .faq-list summary { font-size:13px; gap:18px; }
 .faq-list details > p { font-size:12px; }
 .footer-pattern { height:27px; }
 .footer-content { grid-template-columns:1fr 1fr; gap:28px; padding:34px 0 30px; }
 .footer-about { grid-column:1/-1; max-width:460px; }
 .footer-about p { max-width:360px; }
 .footer-brand { width:165px; }
 .footer-column { padding-top:0; gap:11px; }
 .footer-column h2 { font-size:12px; margin-bottom:7px; }
 .footer-column a { font-size:11px; }
 .project-notes summary { font-size:9px; }
 .project-notes p { font-size:10px; }
 .footer-bottom { font-size:9px; gap:15px; padding:21px 0; }
 .inquiry-dialog { padding:23px; max-height:calc(100dvh - 24px); }
 .inquiry-dialog h2 { font-size:28px; letter-spacing:-1px; }
 .inquiry-dialog > p { font-size:12px; }
 .inquiry-dialog textarea { font-size:12px; padding:13px; }
 .dialog-actions { gap:10px; }
 .dialog-actions .button { font-size:11px; gap:9px; padding:10px 12px; }
}
@media (max-width:380px) {
 .hero h1 { font-size:10.55vw; letter-spacing:-1.8px; }
 .hero-copy > .eyebrow { font-size:7px; }
 .hero .actions { gap:19px; }
 .hero .button { font-size:11px; padding:12px 13px; gap:11px; }
 .hero .text-link { font-size:10px; gap:6px; }
 .hero-visual { min-height:393px; }
 .hero-cottage { top:91px; width:120%; right:-13%; }
 .hero-project-card { padding:14px 12px; gap:9px; }
 .hero-project-card strong { font-size:10px; }
 .hero-project-card small { font-size:7px; }
 .project-icon { width:30px; height:30px; }
 .hero-visual > .concept-caption { font-size:7px; }
 h2,.story-copy h2,.people-grid h2,.faq-grid h2,.page-cta h2 { font-size:31px; }
 .vision-grid h2 { font-size:35px; }
 .difference-section h2 { font-size:32px; }
 .asset-grid { padding-inline:20px; }
 .asset-card { grid-template-columns:47px 1fr; gap:0 14px; }
 .asset-card h3 { font-size:23px; }
 .approach-card { padding:24px; }
 .approach-card h3 { font-size:27px; }
 .inquiry-form { padding:19px; }
 .field select { font-size:14px; }
 .context-stat strong { font-size:35px; }
 .founder h3 { font-size:20px; }
 .relationship-card { padding:24px; }
 .role-tag { font-size:7px; }
 .model-disciplines ul { grid-template-columns:1fr; }
 .footer-bottom { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
 .button:hover,.hero-project-card:hover,.text-link:hover .icon { transform:none; }
}
@media print {
 html { scroll-behavior:auto; }
 body { font-size:11px; }
 .site-header { position:static; }
 .primary-nav,.menu-toggle,.skip-link,.actions,.scroll-note,.contact-section,.inquiry-dialog,.footer-pattern,.footer-bottom a { display:none !important; }
 .section { padding:30px 0; }
 .container { width:94%; }
 .hero { min-height:480px; }
 .hero-copy { padding:30px; }
 .hero-visual { min-height:480px; }
 .hero h1 { font-size:52px; }
 .hero-cottage { top:130px; }
 .mission-strip,.difference-section,.page-cta,.model-hero,.quality-review { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
 .scale-panel[hidden] { display:block !important; margin-top:15px; }
 .scale-options { display:none !important; }
 .approach-card,.asset-card,.customer-card,.relationship-card { break-inside:avoid; }
 .project-notes { display:none; }
}

/* Final visual refinements: keep the concept home above the feature label. */
@media (min-width:1200px) and (max-width:1599px) {
 .hero-cottage { width:92%; right:1%; top:118px; }
}
@media (min-width:981px) and (max-width:1199px) {
 .hero-cottage { width:105%; right:-5%; top:139px; }
}
@media (min-width:801px) and (max-width:980px) {
 .hero-cottage { width:113%; right:-10%; top:169px; }
}
.asset-card > * { min-width:0; }
