/* Extend the existing three themes; do not introduce a fourth visual direction. */
.direct-email{margin-top:.8rem;overflow-wrap:anywhere}
.direct-email a{text-decoration:underline;text-underline-offset:.2em}
.kit-logo{display:block;width:280px;max-width:100%;flex-shrink:0}
.kit-logo img{width:100%;height:auto;object-fit:contain}
.design .kit-avatar{object-fit:contain;padding:0;overflow:hidden}
.sky .brand-avatar.kit-avatar{background:#e5f0fb}
.sky .tiny-avatar.kit-avatar{background:#1555a4}
@media(max-width:760px){.kit-logo{width:240px}}
/* Open Sky: evening concept imagery; the real-project gallery is unchanged. */
.sky-hero.evening-hero{position:relative;isolation:isolate;padding:0;display:grid;min-height:clamp(36rem,48vw,52rem);background:#142a3b;color:#fff}
.evening-hero .evening-scene{position:absolute;inset:0;margin:0;z-index:-1}
.evening-hero .evening-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,28,46,.76),rgba(9,28,46,.42) 36%,transparent 68%)}
.sky-hero.evening-hero .hero-image{width:100%;height:100%;object-fit:cover;object-position:center}
.evening-hero .sky-headline{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:4rem 5vw 5rem;gap:1.7rem;max-width:54%;min-width:0}
.evening-hero .sky-headline h1{font-size:clamp(3.75rem,6.8vw,7rem);font-weight:500;line-height:1.04;letter-spacing:-.055em}
.evening-hero .sky-headline h1 span{color:#fff}
.evening-hero .hero-description{align-self:auto;gap:1.7rem}
.evening-hero .hero-description p{font-size:1.125rem;line-height:1.6;text-shadow:0 1px 6px #142a3b}
.evening-hero .button{background:#fff;border-color:#fff;color:#164478;gap:1.5rem}
.evening-hero .button:hover{background:#e5f0fb;color:#164478}
.evening-hero .button:focus-visible{outline:3px solid #fff;outline-offset:5px}
@media(max-width:900px){
 .sky-hero.evening-hero{display:flex;flex-direction:column;min-height:0;background:#fff;color:var(--ink)}
 .evening-hero .evening-scene{position:relative;inset:auto;order:0;z-index:auto;aspect-ratio:16/9}
 .evening-hero .evening-scene::after{display:none}
 .sky-hero.evening-hero .hero-image{position:absolute;inset:0;object-position:center}
 .evening-hero .sky-headline{order:1;max-width:none;padding:2.25rem 6vw 3rem;gap:1.25rem}
 .evening-hero .sky-headline h1{font-size:clamp(3rem,8.5vw,5.5rem)}
 .evening-hero .sky-headline h1 span{color:#5685af}
 .evening-hero .hero-description p{text-shadow:none;font-size:1rem}
 .evening-hero .button{background:var(--accent);border-color:var(--accent);color:#fff}
 .evening-hero .button:hover{background:var(--ink);color:#fff}
 .evening-hero .button:focus-visible{outline-color:var(--ink)}
}
.main-nav{gap:clamp(.7rem,1.6vw,1.7rem);flex-wrap:wrap;justify-content:flex-end}
.site-header>.wordmark{flex-shrink:0}
.layout-review-link{white-space:nowrap;text-decoration:underline;text-underline-offset:.2em}
.social-links,.site-footer .social-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.social-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.55rem;border:1px solid currentColor;color:inherit;gap:.55rem}
.social-links svg{width:22px;height:22px;flex-shrink:0}
.social-links a span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.social-links a:hover{background:var(--soft,#e5f0fb);color:var(--ink,#164478)}
.social-links a:focus-visible,.journey-card:focus-visible,.layout-review-link:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.simple-footer{flex-wrap:wrap}.simple-footer .social-links{margin:0}
.customer-paths{background:var(--soft)}
.customer-paths .section-heading{max-width:52rem;margin-bottom:2.5rem}
.customer-paths .section-heading p:last-child{margin-top:1rem}
.journey-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.journey-card{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:1.75rem 1.4rem;background:var(--paper);border-top:3px solid var(--accent)}
.journey-card h3{font-family:var(--heading);font-size:1.75rem;letter-spacing:-.025em}
.journey-card p{font-size:1rem}.journey-card .text-link{margin-top:auto;padding-top:1rem;font-size:.9375rem}
.journey-card:hover h3{text-decoration:underline;text-underline-offset:.2em}
.field .journey-card{border-top-width:1px}.room .journey-card h3{font-size:2rem;text-transform:uppercase}
.service-lead,.service-planning,.planning-band,.territory{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.service-lead h2{font-size:clamp(2.2rem,4vw,4rem)}
.service-lead p,.service-planning p,.planning-band p,.territory p{margin:1.4rem 0}
.service-lead figure img{width:100%;height:30rem;object-fit:cover}
.service-lead .button{margin-top:.7rem}.service-lead .text-link{display:block;font-size:.9375rem}
.planning-grid,.story-grid,.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;margin:2.5rem 0}
.planning-grid article,.story-grid article,.sitemap-grid article{border-top:1px solid var(--line);padding-top:1.5rem}
.planning-grid h3,.story-grid h3,.sitemap-grid h3{margin-bottom:1rem}
.planning-grid p,.story-grid p,.sitemap-grid p{font-size:1rem}
.evidence-block,.planning-band,.territory{background:var(--soft)}
.evidence-block p{margin-top:1.4rem}
.design .draft-note{font-size:.9375rem;line-height:1.65;padding:1rem 1.2rem;border-left:3px solid var(--accent);background:var(--paper);margin:1.5rem 0;max-width:60rem}
.story-grid .index{font-size:.8125rem;line-height:1.7;display:block;margin-bottom:1rem}
.story-grid dl{margin:1.5rem 0;font-size:.9375rem;line-height:1.6}
.story-grid dt{font-weight:700;margin-top:1rem}.story-grid dd{margin:0}
.planning-faq{max-width:62rem;margin-top:2.5rem}
.planning-faq details{border-top:1px solid var(--line);padding:1.4rem 0}
.planning-faq summary{cursor:pointer;font-size:1.15rem;font-weight:600;line-height:1.5}
.planning-faq p{margin-top:1rem;font-size:1rem}
.process-steps{list-style:none;margin:0;padding:0;max-width:70rem}
.process-steps li{display:grid;grid-template-columns:4rem 1fr;gap:2rem;padding:2rem 0;border-top:1px solid var(--line)}
.process-steps h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:1rem}
.process-steps .index{margin-top:.7rem}
.scope-checklist{display:grid;grid-template-columns:1fr 1fr;gap:0 2rem;max-width:70rem;margin-top:2rem}
.scope-checklist div{border-top:1px solid var(--line);padding:1.2rem 0;font-size:1rem}
.planning-band .text-link,.related-services .text-link{display:block;width:fit-content;margin:1rem 0}
.planning-band .button{margin-top:1.5rem}
.layout-sequence,.launch-list,.sitemap-grid ul{padding-left:1.4rem;line-height:1.7;margin:1.5rem 0;max-width:66rem}
.layout-sequence li,.launch-list li,.sitemap-grid li{padding:.5rem 0}
.sitemap-grid a:not(.text-link),.site-plan p a{text-decoration:underline;text-underline-offset:.2em}
.route-flow{font-size:1.3rem;line-height:1.8;margin:2rem 0}
.migration-table{overflow-x:auto;margin-top:2rem;border:1px solid var(--line)}
.migration-table table{border-collapse:collapse;width:100%;min-width:36rem;text-align:left;font-size:1rem}
.migration-table th,.migration-table td{padding:1rem 1.2rem;border-bottom:1px solid var(--line);vertical-align:top}
.migration-table th{background:var(--soft)}.migration-table td:first-child{overflow-wrap:anywhere;width:40%}
@media(max-width:1100px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{flex-wrap:wrap}.main-nav{justify-content:flex-start}.service-lead,.service-planning,.planning-band,.territory{gap:2.5rem}.story-grid{gap:1.5rem}.reviewbar{flex-wrap:wrap}}
@media(max-width:760px){.journey-grid,.planning-grid,.story-grid,.sitemap-grid,.service-lead,.service-planning,.planning-band,.territory,.scope-checklist{grid-template-columns:1fr}.journey-grid{gap:1rem}.journey-card{padding:1.5rem}.service-lead figure img{height:23rem}.planning-grid,.story-grid,.sitemap-grid{gap:2rem}.process-steps li{grid-template-columns:2rem 1fr;gap:1rem}.reviewbar .layout-review-link{display:inline-block;margin:.4rem 0;font-size:.875rem}.simple-footer .social-links{flex-direction:row}.site-plan .site-header{align-items:flex-start}.site-plan .site-header .text-link{font-size:.9375rem}.migration-table th,.migration-table td{padding:.85rem}}
