@font-face{font-family:Manrope;src:url('assets/fonts/body.woff2') format('woff2'),url('assets/fonts/body.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Display;src:url('assets/fonts/display.woff2') format('woff2'),url('assets/fonts/display.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Display;src:url('assets/fonts/display-italic.woff2') format('woff2'),url('assets/fonts/display-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--ivory:#fff8ee;--paper:#fffcf7;--teal:#146b70;--ink:#225f63;--muted:#507578;--aqua:#e3f1ee;--peach:#f2c9b5;--line:#c7d9d2;--radius:3px;--gutter:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--ivory);color:var(--ink);font:15px/1.7 Manrope,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:Display,Georgia,serif;font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(60px,6vw,94px)}h2{font-size:clamp(40px,4.4vw,68px)}em{font-weight:400;color:var(--teal)}p{color:var(--muted)}.section{padding:110px var(--gutter);max-width:1680px;margin:auto}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:var(--teal);margin-bottom:26px}.site-header{height:88px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid rgba(34,95,99,.14)}.wordmark{display:flex;flex-direction:column;align-items:center;width:max-content;line-height:1}.wordmark>span{font:30px/1 Display,Georgia,serif;letter-spacing:.12em}.wordmark small{font-size:8px;letter-spacing:.45em;margin-top:8px;padding-left:4px}.site-header nav{display:flex;gap:36px;font-size:12px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;height:1px;background:var(--teal);bottom:-6px;left:0;width:0;transition:width .2s}.site-header nav a:hover:after{width:100%}.header-cta{font-size:12px;border-bottom:1px solid var(--teal);padding-bottom:5px;display:flex;gap:25px}.header-cta span{font-size:20px;line-height:1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 23px;background:var(--teal);color:var(--paper);border:1px solid var(--teal);border-radius:var(--radius);font-size:12px;font-weight:600;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#1d797c;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.text-link{border:0;background:none;padding:0 0 6px;border-bottom:1px solid var(--teal);display:inline-flex;gap:24px;align-items:center;font-size:12px}.text-link:hover{color:#27848a}.story{position:relative}.story-stage{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#eee1cc}.hero-visual{position:absolute;inset:0;transform-origin:70% 60%}.hero-visual img,.hero-visual canvas{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0}.hero-visual canvas{opacity:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,238,.55),rgba(255,248,238,.05) 52%,transparent 75%);pointer-events:none}.hero-content{position:absolute;left:var(--gutter);top:26%;width:48%;max-width:700px}.hero-content .eyebrow{margin-bottom:23px}.hero-content h1{padding-bottom:12px}.hero-content #story-copy>p{max-width:300px;line-height:1.8;font-size:13px;margin-top:18px;color:var(--ink)}.hero-content .button{margin-top:30px}.story-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:36px;display:flex;align-items:center;justify-content:space-between;gap:15px}.story-chapters{display:flex;gap:29px}.story-chapters button{border:0;border-top:1px solid rgba(34,95,99,.25);padding:14px 0 0;background:none;font-size:10px;display:flex;gap:13px;color:var(--muted);min-width:110px;text-align:left}.story-chapters button[aria-current]{border-top:2px solid var(--teal);color:var(--teal)}.story-chapters span{font-size:9px;opacity:.8}.skip-story{font-size:10px}.concept-label{position:absolute;right:var(--gutter);bottom:95px;font-size:9px;color:#476f70}.about{display:grid;grid-template-columns:1.4fr 1fr;gap:9vw;align-items:start;border-bottom:1px solid var(--line)}.about-body{padding-top:40px}.about-body>p{font-size:15px;line-height:1.95;max-width:460px}.about-body>.text-link{margin-top:28px}.about-note{display:flex;align-items:center;gap:20px;margin-top:40px;font-size:11px}.note-rule{height:40px;width:2px;background:var(--peach)}.section-heading{max-width:750px;margin-bottom:45px}.section-heading>p:last-child{margin-top:24px;font-size:13px}.project-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:18px}.filters{display:flex;gap:32px}.filters button{background:none;border:0;border-bottom:2px solid transparent;font-size:12px;padding:15px 0}.filters button.active{border-bottom-color:var(--teal);font-weight:bold}.project-toolbar>span{font-size:11px}.demo-note{font-size:10px;margin-bottom:28px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.project-card .card-image{width:100%;height:390px;overflow:hidden;background:var(--aqua);border-radius:var(--radius)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.project-card:hover img{transform:scale(1.035)}.card-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em;text-transform:uppercase;margin-top:23px;color:var(--muted)}.project-card h3{font:31px/1.2 Display,Georgia,serif;margin-top:11px;letter-spacing:-.02em}.project-card .location{font-size:11px;margin-top:8px}.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.card-actions button{background:none;border:0;padding:0;font-size:11px}.card-actions button:first-child{font-weight:700}.card-actions button:hover{text-decoration:underline}.sample{font-size:9px;color:var(--muted);margin-top:12px}.detail-band{display:grid;grid-template-columns:1.1fr 1fr;padding-top:40px;gap:9vw;align-items:center}.detail-picture{height:610px;position:relative;overflow:hidden}.detail-picture img{height:100%;width:100%;object-fit:cover;object-position:75% center}.detail-picture>span{position:absolute;bottom:14px;left:18px;font-size:9px;color:var(--ink);background:var(--ivory);padding:3px 8px}.detail-copy>p{margin-top:26px;max-width:340px;font-size:13px}.detail-items{margin-top:38px}.detail-items>div{display:flex;gap:22px;padding:19px 0;border-bottom:1px solid var(--line)}.detail-items>div>span{font-size:10px;margin-top:4px}.detail-items h3{font-size:14px;font-weight:500}.detail-items p{font-size:11px;margin-top:4px}.buyers{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;background:var(--aqua);max-width:none}.buyers>div>p{max-width:320px;font-size:13px;margin-top:25px}.faq-list details{border-bottom:1px solid #bad2cc;padding:22px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{list-style:none;cursor:pointer;font-size:13px;display:flex;justify-content:space-between;gap:28px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:20px;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:12px;padding:17px 40px 0 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-copy>p{margin-top:28px;font-size:14px}.contact-copy>.eyebrow{margin-top:0}.contact-details{margin-top:55px}.contact-details p{font-size:12px;margin-top:8px}.form-note{font-size:10px;background:var(--aqua);padding:10px 13px;margin-bottom:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:10px;margin-bottom:18px;letter-spacing:.02em}input,select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #9cbbb6;background:transparent;border-radius:0;padding:10px 0;color:var(--ink);font-size:12px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical}select{cursor:pointer}form>.button{margin-top:5px}.privacy-note{font-size:10px;margin-top:15px;max-width:410px}.site-footer{padding:45px var(--gutter) 25px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px}.footer-links{display:flex;gap:27px;font-size:11px}.footer-links button{background:none;border:0;padding:0;font-size:11px}.site-footer>p{font-size:9px}.site-footer>.footer-note{text-align:right;max-width:500px}.skip-link{position:fixed;top:-80px;left:20px;background:var(--teal);color:var(--ivory);padding:12px 20px;z-index:100}.skip-link:focus{top:10px}dialog{border:1px solid var(--line);border-radius:4px;max-width:840px;width:calc(100% - 32px);max-height:88dvh;padding:40px;background:var(--ivory);color:var(--ink)}dialog::backdrop{background:rgba(20,107,112,.35);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:18px;top:14px;background:var(--ivory);border:1px solid var(--line);border-radius:50%;height:36px;width:36px;font-size:25px;line-height:1;z-index:1}.dialog-hero{height:280px;width:100%;object-fit:cover;margin-bottom:26px}.dialog-body>p{font-size:13px;margin:16px 0}.dialog-body h2{font-size:44px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.specs div{border-top:1px solid var(--line);padding-top:12px}.specs dt{font-size:10px;color:var(--muted)}.specs dd{margin:6px 0 0;font-size:12px}.documents{background:var(--aqua);padding:18px;margin:24px 0}.documents h3{font-size:13px;margin-bottom:8px}.documents p,.documents a{font-size:11px}.documents a{display:inline-block;margin-right:18px;text-decoration:underline}#policy-dialog{max-width:650px;padding:50px}#policy-dialog h2{font-size:38px;margin-bottom:24px}#policy-dialog p{font-size:13px}body.modal-open{overflow:hidden}#enquiry-result{padding:20px;background:var(--aqua);margin-top:20px}#enquiry-result h3{font-size:14px}#enquiry-text{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 Manrope,Arial,sans-serif}.draft-actions{display:flex;gap:25px}#draft-status{font-size:11px;margin-top:10px}.empty-state{padding:40px;background:var(--aqua);grid-column:1/-1}.style-page{max-width:1240px;margin:auto;padding:60px var(--gutter)}.style-page h1{font-size:68px}.style-page h2{font-size:42px;margin-bottom:24px}.style-section{margin-top:60px}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.swatch>div{height:90px;border:1px solid var(--line)}.swatch p{font-size:11px;margin-top:10px}.style-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}.brand-original{max-width:300px}.style-page .button{margin-top:20px}

.project-search{max-width:320px;margin-bottom:8px}.project-search input{font-size:12px;padding:12px 0}.approach{background:#edf3ea;max-width:none}.approach-heading{max-width:900px}.approach-heading>p:last-child{font-size:14px;margin-top:26px;max-width:460px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:65px}.principles article{padding-top:25px;border-top:1px solid #b6cdc2}.principles span{font-size:10px;letter-spacing:.05em}.principles h3{font:30px/1.2 Display,Georgia,serif;margin-top:25px}.principles p{font-size:13px;line-height:1.9;margin-top:18px;max-width:340px}.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;gap:35px;margin:0}.journey-steps li{position:relative;border-top:1px solid var(--line);padding-top:20px}.journey-steps span{font:35px Display,Georgia,serif;color:#80aaa5}.journey-steps h3{font-size:15px;margin-top:20px;font-weight:500}.journey-steps p{font-size:12px;margin-top:10px;max-width:240px}.buyers{border-top:1px solid var(--line)}.site-header nav{gap:28px}.hero-content #story-copy>p{font-size:14px;max-width:330px}.button{font-size:13px}.card-actions button{font-size:12px}.faq-list summary{font-size:14px}.faq-list details p{font-size:13px}.privacy-note,.form-note,.demo-note{font-size:11px}

.logo-frame{display:block;position:relative;width:140px;height:100px;overflow:hidden}.wordmark>.logo-frame{font:inherit;letter-spacing:0}.logo-frame img{position:absolute;width:190px;max-width:none;height:auto;left:-25px;top:-13px}.site-footer .logo-frame{width:140px;height:100px}

/* Responsive system: one spacing scale, predictable media ratios and touch controls. */
:root{--header-height:96px;--gutter:clamp(24px,5vw,80px);--radius:4px;color-scheme:light}
html{scroll-padding-top:calc(var(--header-height) + 24px)}
body{font-size:15px;-webkit-text-size-adjust:100%}
h1,h2{line-height:1.12}h2{font-size:clamp(36px,4.2vw,64px)}
button,a,input,select,textarea{touch-action:manipulation}
button:active,.button:active{transform:translateY(1px)}
.section{padding-block:88px}.section-heading{margin-bottom:32px}
.section-heading>p:last-child,.about-body>p,.detail-copy>p,.buyers>div>p,.approach-heading>p:last-child{font-size:15px;line-height:1.8}
.eyebrow{font-size:11px;margin-bottom:20px}
.site-header{position:fixed;height:var(--header-height);background:var(--ivory);z-index:30;padding-inline:var(--gutter)}
.logo-frame{width:126px;height:90px}.logo-frame img{width:171px;left:-22px;top:-12px}
.site-header nav{gap:28px;font-size:13px}.header-cta{font-size:13px;min-height:44px;align-items:center;padding:0;gap:18px}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:var(--radius);min-height:44px;padding:0 16px;font-size:13px}
.button{min-height:50px;font-size:13px;padding:14px 22px}.text-link{min-height:44px;align-items:center;font-size:13px}
.story-stage{min-height:720px;height:100svh;background:var(--ivory)}
.hero-visual{inset:var(--header-height) 0 88px;overflow:hidden;transform-origin:center}
.hero-visual img{object-fit:cover;object-position:center}
.hero-shade{inset:var(--header-height) 0 88px;background:linear-gradient(90deg,rgba(255,248,238,.98),rgba(255,248,238,.88) 27%,rgba(255,248,238,0) 62%)}
.hero-content{left:var(--gutter);top:29%;width:46%;padding:0}
.hero-content h1{font-size:clamp(54px,5.4vw,84px);line-height:1.1}
.hero-content #story-copy>p{font-size:14px;max-width:340px;line-height:1.8;margin-top:16px}
.story-bottom{bottom:20px}.story-chapters button{min-height:48px;font-size:11px;padding-top:12px}.skip-story{font-size:12px;min-height:44px;display:flex;align-items:center}
.concept-label{bottom:70px;font-size:10px}.mobile-film,.film-control{display:none}
/* A catalogue with a consistent image, status, title and action hierarchy. */
.projects{background:var(--paper);max-width:none}
.projects>.section-heading,.project-discovery,.project-grid{max-width:1440px;margin-inline:auto}
.project-discovery{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:18px 40px;margin-bottom:28px}
.project-search{max-width:none;margin:0;font-size:12px}
.project-search input{border:1px solid var(--line);background:var(--ivory);padding:13px 16px;border-radius:var(--radius);margin-top:8px;font-size:16px;min-height:48px}
.project-toolbar{border:0;margin:0;gap:20px;align-items:flex-end;padding-bottom:0}
.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{font-size:12px;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);white-space:nowrap;background:transparent}
.filters button.active{background:var(--teal);color:var(--paper);border-color:var(--teal);font-weight:500}
.project-toolbar>span{white-space:nowrap;font-size:12px;padding-bottom:12px}
.demo-note{grid-column:1/-1;font-size:11px;margin:0;color:var(--muted)}
.project-grid{gap:28px;align-items:start}.project-card{min-width:0;background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.project-card .card-image{height:auto;aspect-ratio:4/3;border-radius:0;position:relative}
.card-status{position:absolute;top:14px;left:14px;padding:6px 10px;background:var(--ivory);color:var(--teal);font-size:11px;line-height:1.5;border-radius:var(--radius)}
.card-content{padding:22px}.card-meta{margin:0;font-size:10px;letter-spacing:.12em}.project-card h3{font-size:30px;margin-top:8px}.project-card .location{font-size:13px;margin-top:8px}
.card-actions{display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:20px;padding-top:16px}.card-actions button{min-height:44px;font-size:13px;padding:0 4px;text-align:left}.card-actions button:last-child{padding-inline:15px;border:1px solid var(--line);border-radius:var(--radius)}
.sample{font-size:10px;margin-top:12px}.empty-state button{display:block;margin-top:20px}
.detail-picture{height:auto;aspect-ratio:4/5;border-radius:var(--radius)}.detail-items h3{font-size:16px}.detail-items p{font-size:13px;line-height:1.7}
.principles p,.journey-steps p{font-size:14px;line-height:1.8}.principles{gap:40px}.journey-steps{gap:30px}.journey-steps h3{font-size:16px}
.faq-list summary{font-size:15px;min-height:28px}.faq-list details p{font-size:14px;line-height:1.8}
label{font-size:12px;margin-bottom:20px}input,select,textarea{font-size:16px;min-height:48px;padding:12px 0}textarea{min-height:112px}
.form-grid{gap:0 24px}.form-note,.privacy-note{font-size:12px;line-height:1.7}.contact-details p{font-size:14px}
.footer-links{font-size:13px;flex-wrap:wrap;gap:12px 24px}.footer-links a,.footer-links button{min-height:44px;display:inline-flex;align-items:center;font-size:13px}.site-footer>p{font-size:11px}
dialog{padding:32px;overscroll-behavior:contain}.dialog-close{width:44px;height:44px;top:10px;right:10px}.dialog-body>p{font-size:14px}.specs dt{font-size:12px}.specs dd{font-size:14px;overflow-wrap:anywhere}.documents p,.documents a{font-size:13px}.dialog-body>.button{white-space:normal;text-align:left}
@media(hover:none){.project-card:hover img{transform:none}.button:hover{transform:none}}
@media(max-width:1100px){.site-header nav{gap:18px;font-size:12px}.project-discovery{grid-template-columns:1fr}.project-toolbar{align-items:center}.project-toolbar>span{padding:0}.project-grid{gap:20px}.card-content{padding:18px}.principles{gap:28px}.hero-content{width:48%}.hero-content h1{font-size:56px}}
@media(max-width:900px){
 :root{--header-height:80px;--gutter:24px}
 .site-header nav{display:none}.menu-toggle{display:block;margin-left:auto;margin-right:12px}.site-header.menu-open nav{display:flex;position:absolute;top:calc(var(--header-height) - 1px);left:0;right:0;padding:16px var(--gutter) 24px;background:var(--ivory);border-bottom:1px solid var(--line);flex-direction:column;gap:0;font-size:17px;max-height:calc(100dvh - var(--header-height));overflow:auto}
 .site-header.menu-open nav a{display:block;padding:15px 0;border-bottom:1px solid var(--line)}
 .logo-frame{width:100px;height:76px}.logo-frame img{width:140px;left:-20px;top:-10px}.header-cta{font-size:12px;gap:12px}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .about,.contact,.detail-band,.buyers{gap:36px}.about{grid-template-columns:1fr 1fr}.about-body{padding-top:0}
 .section{padding-block:64px}.principles{gap:24px}.principles h3{font-size:25px}.journey-steps{grid-template-columns:repeat(2,1fr)}
 /* The same film in a flowing composition on touch screens: no oversized pinned stage. */
 .story-stage{height:auto;min-height:0;display:flex;flex-direction:column;padding:calc(var(--header-height) + 34px) var(--gutter) 24px;overflow:visible}
 .hero-content{position:static;width:100%;max-width:620px;order:0}.hero-content h1{font-size:clamp(44px,7.5vw,64px)}.hero-content .eyebrow{margin-bottom:14px;font-size:10px}.hero-content #story-copy>p{font-size:14px;max-width:450px;margin-top:12px}.hero-content .button{margin-top:22px}
 .hero-visual{position:relative;inset:auto;width:100%;aspect-ratio:16/10;order:1;margin-top:30px;border-radius:var(--radius);transform:none!important}.hero-visual img{object-position:73% center}.hero-visual canvas{display:none}.hero-shade{display:none}
 .mobile-film{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:73% center;opacity:0}.mobile-film.is-active{opacity:1}
 .film-control{display:flex;order:2;align-items:center;justify-content:space-between;gap:16px;padding-top:10px}.film-control button{background:none;border:0;padding:10px 0;min-height:44px;color:var(--teal);font-size:13px;text-align:left}.film-control>span{font-size:10px;color:var(--muted)}
 .story-bottom,.concept-label{display:none}
 .site-footer{grid-template-columns:1fr;gap:16px}.site-footer>.footer-note{text-align:left}
}
@media(max-width:600px){
 :root{--gutter:20px;--header-height:76px}
 h2{font-size:clamp(34px,8.8vw,43px);letter-spacing:-.03em;line-height:1.15}.section{padding:56px var(--gutter)}.section-heading{margin-bottom:26px}.section-heading>p:last-child{margin-top:18px;font-size:14px}
 .site-header{gap:10px}.menu-toggle{margin-right:0;font-size:12px;padding-inline:12px}.header-cta{display:none}.site-header.menu-open nav:after{content:'SKYLINE INFRATECH';font-size:10px;letter-spacing:.15em;padding-top:24px;color:var(--muted)}
 .hero-content h1{font-size:clamp(42px,11.5vw,54px)}.hero-content #story-copy>p{font-size:14px}.hero-content .button{min-height:48px;padding:12px 18px}.hero-visual{aspect-ratio:4/3;margin-top:26px}
 .about,.contact,.buyers,.detail-band{grid-template-columns:1fr;gap:26px}.about-body>p{font-size:14px}.about-body>.text-link{margin-top:16px}.about-note{margin-top:20px;font-size:12px}
 .project-grid{grid-template-columns:1fr;gap:24px}.project-discovery{gap:14px;margin-bottom:24px}.project-toolbar{display:block}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filters button{width:100%;font-size:13px;min-height:44px;padding:9px 8px}.project-toolbar>span{display:block;margin-top:14px;font-size:12px}.demo-note{font-size:11px;line-height:1.7}
 .card-content{padding:20px}.project-card .card-image{aspect-ratio:4/3}.project-card h3{font-size:30px}.card-meta{font-size:10px}.card-actions{margin-top:18px}.sample{font-size:10px}
 .detail-band{padding-top:0}.detail-picture{aspect-ratio:4/3}.detail-copy>p{margin-top:18px;font-size:14px}.detail-items{margin-top:24px}.detail-items>div{gap:16px;padding:18px 0}
 .principles{grid-template-columns:1fr;gap:28px;margin-top:32px}.principles h3{font-size:28px;margin-top:12px}.principles p{font-size:14px;margin-top:12px;max-width:none}.approach-heading>p:last-child{font-size:14px;margin-top:20px}
 .journey-steps{grid-template-columns:1fr;gap:0}.journey-steps li{display:grid;grid-template-columns:36px 1fr;gap:6px 16px;padding:22px 0}.journey-steps span{grid-row:1/3;font-size:28px}.journey-steps h3{margin:0;font-size:16px}.journey-steps p{margin:0;max-width:none;font-size:14px}
 .faq-list details{padding:20px 0}.faq-list summary{font-size:14px;line-height:1.6;gap:16px}.faq-list details p{padding:14px 0 0;font-size:14px}.buyers>div>p{margin-top:18px;font-size:14px}
 .contact-copy>p{margin-top:18px}.contact-details{margin-top:22px}.form-grid{grid-template-columns:1fr;gap:0}form>.button{width:100%}.form-note{padding:14px}.privacy-note{font-size:11px}.draft-actions{flex-wrap:wrap;gap:12px 24px}
 .site-footer{padding:32px var(--gutter)}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.site-footer .logo-frame{width:116px;height:84px}.site-footer .logo-frame img{width:158px;left:-21px;top:-11px}
 dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px;border-radius:var(--radius)}.dialog-hero{height:auto;aspect-ratio:4/3;margin-bottom:24px}.dialog-body h2{font-size:34px}.specs{grid-template-columns:1fr;gap:16px}.specs div{display:grid;grid-template-columns:105px 1fr;gap:12px}.specs dd{margin:0}.dialog-body>.button{width:100%;gap:16px}#policy-dialog{padding:28px 22px}#policy-dialog h2{font-size:32px;padding-right:24px}
 .style-page{padding:40px 20px}.style-page h1{font-size:44px}.style-columns{grid-template-columns:1fr}.swatches{grid-template-columns:repeat(2,1fr)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.story-chapters{display:none}.hero-visual{transform:none!important}}
.site-header nav .nav-contact{display:none}
@media(max-width:900px){.site-header.menu-open nav .nav-contact{display:block;color:var(--teal)}}
@media(min-width:901px) and (max-height:649px){.story-chapters{display:none}}
/* Mobile scroll story: overlay composition, viewport-sized stage, visible chapters. */
@media(max-width:900px){
 .story-stage{display:block;position:relative;height:100svh;min-height:480px;padding:0;overflow:hidden}
 .hero-visual{position:absolute;inset:var(--header-height) 0 82px;width:auto;aspect-ratio:auto;margin:0;border-radius:0}
 .hero-visual img{object-fit:cover;object-position:70% center}.hero-visual canvas{display:block}
 .hero-shade{display:block;position:absolute;inset:var(--header-height) 0 82px;background:linear-gradient(180deg,rgba(255,248,238,.97) 0%,rgba(255,248,238,.9) 15%,rgba(255,248,238,.57) 36%,rgba(255,248,238,0) 66%)}
 .hero-content{position:absolute;left:var(--gutter);right:var(--gutter);top:calc(var(--header-height) + 26px);width:auto;max-width:500px;z-index:2}
 .hero-content h1{font-size:clamp(42px,7.5vw,60px);line-height:1.08;padding-bottom:4px}.hero-content .eyebrow{margin-bottom:12px}.hero-content #story-copy>p{font-size:13px;line-height:1.65;max-width:310px;margin-top:10px}.hero-content .button{min-height:46px;padding:11px 16px;margin-top:18px;font-size:12px}
 .story-bottom{display:flex;left:var(--gutter);right:var(--gutter);bottom:8px;gap:10px;align-items:flex-end}
 .story-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1}.story-chapters button{min-width:0;min-height:52px;font-size:10px;padding:10px 0 0;gap:4px;display:flex;flex-direction:column;line-height:1.3}.story-chapters span{font-size:9px}
 .skip-story{font-size:10px;min-height:44px;max-width:55px;line-height:1.5;align-self:end}.concept-label{display:block;bottom:66px;font-size:9px;right:var(--gutter)}
}
@media(max-width:600px){.hero-content h1{font-size:clamp(38px,10.5vw,46px)}}
@media(max-width:900px) and (max-height:650px){
 .hero-content{top:calc(var(--header-height) + 16px)}.hero-content h1{font-size:36px}.hero-content .eyebrow{margin-bottom:8px;font-size:9px}.hero-content #story-copy>p{font-size:12px;max-width:280px;margin-top:6px}.hero-content .button{margin-top:12px;min-height:44px}.hero-shade{background:linear-gradient(180deg,rgba(255,248,238,.97),rgba(255,248,238,.82) 23%,rgba(255,248,238,0) 72%)}
}
@media(max-width:900px) and (orientation:landscape){.hero-content{max-width:48%}.hero-content h1{font-size:34px}.hero-content #story-copy>p{font-size:12px}.hero-shade{background:linear-gradient(90deg,rgba(255,248,238,.97),rgba(255,248,238,.75) 34%,transparent 65%)}}
@media(prefers-reduced-motion:reduce){.story-chapters{display:none}}
/* Original Skyline composition, with company > collection > lifestyle > enquiry hierarchy. */
.hero-actions{display:flex;align-items:center;gap:26px;margin-top:28px}.hero-content .hero-actions .button{margin:0}.hero-enquire{display:inline-flex;align-items:center;gap:18px;min-height:48px;font-size:13px;border-bottom:1px solid var(--teal)}
.about{padding-block:72px;gap:8vw}.about-note{margin-top:24px}.about-body{padding-top:0}.about h2{font-size:clamp(38px,4.2vw,62px)}
.projects>.section-heading{max-width:1440px}.projects .section-heading h2{font-size:clamp(38px,4.2vw,62px)}
.lifestyle{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:36px 7vw;align-items:start}
.lifestyle-intro{grid-column:2;grid-row:1}.lifestyle-intro>p:last-child{font-size:15px;line-height:1.8;margin-top:20px;max-width:370px}
.lifestyle-picture{grid-column:1;grid-row:1/3;position:relative;height:100%;min-height:660px;overflow:hidden;border-radius:var(--radius)}.lifestyle-picture img{height:100%;width:100%;object-fit:cover}.lifestyle-picture>span{position:absolute;bottom:16px;left:16px;background:var(--ivory);padding:4px 8px;font-size:10px}
.lifestyle-points{grid-column:2;grid-row:2}.lifestyle-points article{display:grid;grid-template-columns:28px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.lifestyle-points article>span{font-size:11px;color:var(--muted);padding-top:3px}.lifestyle-points h3{font-size:17px;font-weight:500;line-height:1.4}.lifestyle-points p{font-size:14px;margin-top:8px;line-height:1.7;max-width:380px}
.investment{display:grid;grid-template-columns:1.15fr 1fr;gap:8vw;max-width:none;background:var(--aqua);border-block:1px solid var(--line)}
.investment h2{font-size:clamp(38px,4vw,60px)}.investment-intro>p:last-of-type{font-size:15px;line-height:1.8;max-width:430px;margin-top:24px}.investment-intro>.button{margin-top:28px}
.investment-steps{padding:0;margin:0;list-style:none;align-self:center}.investment-steps li{display:grid;grid-template-columns:42px 1fr;gap:20px;padding:24px 0;border-top:1px solid #b5d0c8}.investment-steps li>span{font:30px/1.2 Display,Georgia,serif;color:var(--teal)}.investment-steps h3{font-size:17px;font-weight:500}.investment-steps p{font-size:14px;line-height:1.7;margin-top:8px;max-width:380px}
.buyers{background:var(--ivory);border:0}.contact{background:var(--paper);max-width:none;border-top:1px solid var(--line)}
.site-footer{grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:start;gap:40px;padding-top:52px}.footer-brand>p{font:26px/1.25 Display,Georgia,serif;color:var(--ink);margin-top:20px}.footer-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;margin-top:20px;margin-bottom:16px}.footer-group nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.footer-group a,.footer-group button{display:flex;align-items:center;min-height:40px;background:none;border:0;padding:0;font-size:13px;text-align:left}.footer-group a:hover,.footer-group button:hover{text-decoration:underline}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;font-size:11px}.footer-bottom a{min-height:44px;display:flex;align-items:center}
@media(max-width:1100px){.lifestyle{gap:28px 36px}.lifestyle-picture{min-height:650px}.site-footer{gap:28px}.investment{gap:40px}}
@media(max-width:900px){.hero-actions{margin-top:18px;gap:24px}.hero-enquire{font-size:12px;min-height:46px;gap:12px}.site-footer{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:32px}.footer-brand>p{margin:0}.lifestyle{grid-template-columns:1fr;gap:26px}.lifestyle-intro{grid-column:1;grid-row:1}.lifestyle-picture{grid-column:1;grid-row:2;height:auto;min-height:0;aspect-ratio:16/10}.lifestyle-points{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.investment{grid-template-columns:1fr;gap:32px}.investment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.investment-steps li{grid-template-columns:1fr;gap:14px}.investment-intro>p:last-of-type{max-width:560px}.investment h2{max-width:700px}}
@media(max-width:600px){
 .hero-actions{gap:20px;margin-top:18px}.hero-enquire{font-size:12px;gap:10px}.hero-content .hero-actions .button{font-size:12px;gap:20px;padding:10px 14px;min-height:46px}
 .about{padding-block:44px;gap:20px}.about h2,.projects .section-heading h2{font-size:36px;line-height:1.15}.about-body>.text-link{font-size:13px}.about-note{padding-top:18px;margin-top:12px;border-top:1px solid var(--line)}
 .projects{padding-top:48px;padding-bottom:48px}.projects .section-heading h2{font-size:35px}.project-card{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding-bottom:8px}.project-card .card-image{border-radius:4px;aspect-ratio:5/4}.card-content{padding:18px 0 10px}.card-actions{margin-top:14px;padding-top:12px}.project-grid{gap:30px}.card-meta{font-size:10px}.card-status{top:12px;left:12px;font-size:10px;padding:5px 9px}
 .lifestyle{padding-block:48px;gap:24px}.lifestyle h2{font-size:36px}.lifestyle-intro>p:last-child{font-size:14px;margin-top:16px}.lifestyle-picture{aspect-ratio:5/4}.lifestyle-points{grid-template-columns:1fr;gap:0}.lifestyle-points article{padding:20px 0;gap:14px;grid-template-columns:22px 1fr}.lifestyle-points h3{font-size:16px}.lifestyle-points p{font-size:14px;margin-top:7px}
 .investment{padding-block:48px;gap:28px}.investment h2{font-size:35px;line-height:1.16}.investment-intro>p:last-of-type{font-size:14px;margin-top:18px}.investment-intro>.button{margin-top:22px}.investment-steps{grid-template-columns:1fr;gap:0}.investment-steps li{grid-template-columns:32px 1fr;gap:16px;padding:20px 0}.investment-steps h3{font-size:16px}.investment-steps li>span{font-size:27px}
 .buyers,.contact{padding-block:48px}.buyers h2,.contact h2{font-size:36px}.contact{gap:28px}.contact-details{padding-left:16px;border-left:2px solid var(--peach)}
 .site-footer{grid-template-columns:1fr 1fr;gap:26px 24px;padding-top:32px}.footer-brand{gap:24px;padding-bottom:12px}.footer-brand>p{font-size:24px}.footer-group h3{margin-top:0;margin-bottom:10px;font-size:10px}.footer-group a,.footer-group button{min-height:44px;font-size:13px}.footer-group:last-of-type{grid-column:1/-1}.footer-bottom{font-size:10px;display:block;padding-top:20px}.footer-bottom p{margin-bottom:8px}.footer-bottom a{margin-top:8px}
}

@media(max-width:900px) and (max-height:480px) and (orientation:landscape){
 .story-stage{height:100svh;min-height:0}.hero-content{top:calc(var(--header-height) + 8px);max-width:48%}.hero-content .eyebrow{display:none}.hero-content h1{font-size:28px;line-height:1.08}.hero-content #story-copy>p{font-size:11px;line-height:1.4;margin-top:6px;max-width:330px}.hero-actions{margin-top:10px}.hero-content .hero-actions .button,.hero-enquire{min-height:40px;font-size:11px}.hero-visual,.hero-shade{bottom:68px}.concept-label{bottom:55px}.story-chapters button{min-height:42px}.story-bottom{bottom:4px}
}
/* Keep the mobile story copy in the lower part of the scene. */
@media(max-width:900px) and (orientation:portrait){
 .hero-content{top:auto;bottom:96px}
 .hero-shade{background:linear-gradient(180deg,rgba(255,248,238,0) 0%,rgba(255,248,238,.04) 25%,rgba(255,248,238,.64) 48%,rgba(255,248,238,.96) 76%,rgba(255,248,238,.92) 100%)}
}
@media(max-width:900px) and (orientation:portrait) and (max-height:650px){
 .hero-content{top:auto;bottom:92px}
 .hero-shade{background:linear-gradient(180deg,rgba(255,248,238,0) 0%,rgba(255,248,238,.18) 20%,rgba(255,248,238,.9) 48%,rgba(255,248,238,.97) 100%)}
}

/* A stable native sticky stage, independent of mobile browser toolbar resizing. */
@media(max-width:900px){
 .story.native-story{height:300svh}
 .story.native-story.still-story{height:200svh}
 .native-story .story-stage{position:sticky;top:0;height:100svh;min-height:0}
 .hero-content #story-copy{contain:layout}
 .story-chapters button{border-top-width:2px}
}
@media(max-width:900px) and (orientation:portrait){
 .hero-content{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .story-bottom{bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 .concept-label{bottom:calc(66px + env(safe-area-inset-bottom,0px))}
 .hero-shade{background:linear-gradient(180deg,transparent 28%,rgba(255,248,238,.15) 43%,rgba(255,248,238,.85) 64%,rgba(255,248,238,.97) 85%)}
}
@media(max-width:900px) and (orientation:portrait) and (max-height:650px){
 .hero-shade{background:linear-gradient(180deg,transparent 10%,rgba(255,248,238,.25) 25%,rgba(255,248,238,.9) 49%,rgba(255,248,238,.98) 85%)}
}

/* Mobile editorial rhythm: one headline, one message, one clear next step. */
@media(max-width:600px){
 .hero-content .eyebrow,.hero-content #story-copy>p{display:none}
 .hero-content h1{font-size:clamp(36px,10.5vw,44px);line-height:1.1;padding:0}
 .hero-actions{margin-top:22px}
 .hero-shade{background:linear-gradient(180deg,transparent 42%,rgba(255,248,238,.2) 55%,rgba(255,248,238,.88) 76%,rgba(255,248,238,.97) 100%)}
 .section{padding-block:56px}
 .section .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:16px}
 .about{gap:24px}.about-body>p{font-size:14px;line-height:1.75;max-width:32ch}
 .about-note,.projects .section-heading>p:last-child,.card-meta,.lifestyle-intro>p:last-child,.buyers>div>p:last-child,.contact-copy>p:not(.eyebrow),.footer-brand>p{display:none}
 .section-heading{margin-bottom:28px}
 .project-grid{gap:40px}.card-content{padding-top:16px}.project-card h3{margin-top:0;font-size:28px}.card-actions{margin-top:12px}
 .lifestyle{gap:28px}.lifestyle-points{grid-template-columns:1fr 1fr;gap:20px}
 .lifestyle-points article{display:block;padding:16px 0 0}.lifestyle-points article>span{display:none}
 .lifestyle-points h3{font-size:15px;line-height:1.5}.lifestyle-points p{display:none}
 .investment-steps{gap:0}.investment-steps li{padding:16px 0;align-items:center}.investment-steps p{display:none}.investment-steps h3{font-size:15px}.investment-steps li>span{font-size:23px}
 .contact-details{margin-top:24px}.contact-details p{font-size:12px}
 .footer-brand{padding-bottom:0}.site-footer{gap:22px}.footer-group a,.footer-group button{font-size:12px}
}
@media(max-width:600px){
 .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .filters button{font-size:10px;padding:10px 3px;min-height:44px;white-space:nowrap}
}

.site-footer address{font-style:normal;font-size:12px;line-height:1.8;max-width:30ch;margin-bottom:16px;color:var(--muted)}

/* Contact-led footer with clearly separated navigation groups. */
.site-footer{display:grid;grid-template-columns:1.65fr 1fr 1fr 1fr;gap:40px 6%;padding:68px var(--gutter) 24px;background:#e3eeea;border-top:2px solid #bc9a60;align-items:start}
.site-footer h3{font:22px/1.2 Display,Georgia,serif;letter-spacing:0;text-transform:none;color:var(--teal);margin:0 0 22px}
.footer-company{font-size:14px;font-weight:700;letter-spacing:.035em;display:inline-block}
.footer-tagline{font-size:13px;margin-top:8px}
.footer-office{margin-top:28px}.footer-office h4{font-size:12px;margin:0 0 6px;font-weight:700}
.site-footer address{font-size:13px;line-height:1.85;max-width:30ch;margin:0}
.footer-enquiry{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;margin-top:22px;font-size:13px;font-weight:600;border-bottom:1px solid #a4bcb3}
.site-footer .footer-group nav{gap:8px}.site-footer .footer-group a,.site-footer .footer-group button{font-size:13px;min-height:42px;font-weight:500;line-height:1.6}
.site-footer .footer-bottom{display:flex;grid-column:1/-1;justify-content:space-between;align-items:center;border-top:1px solid #b8cbc3;margin-top:20px;padding-top:18px;gap:16px;font-size:11px}
.site-footer .footer-bottom p,.site-footer .footer-bottom a{margin:0}.footer-bottom a{gap:16px}
@media(max-width:900px){.site-footer{grid-template-columns:1.4fr 1fr;gap:40px}.site-footer .footer-group:last-of-type{grid-column:auto}}
@media(max-width:600px){
 .site-footer{grid-template-columns:1fr 1fr;gap:32px 24px;padding:40px var(--gutter) 20px}
 .footer-reach{grid-column:1/-1;padding-bottom:28px;border-bottom:1px solid #b8cbc3}
 .site-footer h3{font-size:21px;margin-bottom:16px}.footer-office{margin-top:22px}.site-footer address{max-width:34ch}
 .site-footer .footer-group nav{gap:2px}.site-footer .footer-group a,.site-footer .footer-group button{font-size:12px;min-height:44px}
 .site-footer .footer-group:last-of-type{grid-column:1/-1}.site-footer .footer-group:last-of-type nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 24px}
 .site-footer .footer-bottom{margin-top:0;display:flex;align-items:flex-start;flex-direction:column;gap:4px;font-size:10px}
}

/* The Skyline Story: restrained editorial architecture. */
.skyline-story{display:grid;grid-template-columns:1.22fr 1fr;gap:clamp(36px,5vw,80px);align-items:center;padding-block:100px;border-bottom:1px solid #c5b998;background:var(--ivory)}
.skyline-story .about-heading{max-width:610px}.skyline-story .eyebrow{margin-bottom:26px}
.skyline-story h2{font-size:clamp(38px,4.15vw,62px);line-height:1.12;letter-spacing:-.035em}
.skyline-story #about-text{font-size:14px;line-height:1.85;max-width:45ch;margin-top:28px}
.story-discover{margin-top:28px;gap:28px;font-size:13px;padding-bottom:8px;border-color:#a9bbb0}.story-discover span{transition:transform .25s}.story-discover:hover span{transform:translate(3px,-3px)}
.story-architecture{position:relative;margin:0;padding-bottom:52px}.story-architecture>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;max-height:530px}
.story-experience{position:absolute;bottom:0;left:-28px;display:flex;align-items:center;gap:18px;padding:20px 28px 4px 0;background:var(--ivory)}
.experience-number{font:88px/.95 Display,Georgia,serif;letter-spacing:-.06em;color:#9b8351}.experience-number>span{font-size:48px;vertical-align:top;line-height:1.1;margin-left:3px}
.experience-caption{display:flex;flex-direction:column;gap:7px}.experience-caption strong{font-size:11px;letter-spacing:.18em;font-weight:500}.experience-caption>span{font-size:12px;line-height:1.5;color:var(--muted)}
.story-reveal-ready .about-heading,.story-reveal-ready .story-architecture{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.story-revealed .about-heading,.story-revealed .story-architecture{opacity:1;transform:none}.story-revealed .story-architecture{transition-delay:.12s}
#story-dialog{max-width:720px;padding:48px}#story-dialog h2{font-size:42px}#story-dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;margin-top:24px}#story-dialog>.text-link{margin-top:28px}
@media(max-width:700px){
 .skyline-story{grid-template-columns:1fr;padding-block:56px;gap:36px}.skyline-story .eyebrow{margin-bottom:20px}.skyline-story h2{font-size:clamp(34px,8.8vw,46px);line-height:1.15}.skyline-story #about-text{font-size:14px;line-height:1.8;margin-top:22px;max-width:40ch}.story-discover{margin-top:20px}
 .story-architecture{padding-bottom:40px}.story-architecture>img{aspect-ratio:5/4;max-height:none}.story-experience{left:0;padding-top:16px;gap:14px}.experience-number{font-size:72px}.experience-number>span{font-size:38px}.experience-caption>span{font-size:11px}#story-dialog{padding:40px 24px}#story-dialog h2{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.story-reveal-ready .about-heading,.story-reveal-ready .story-architecture{opacity:1;transform:none;transition:none}.story-discover span{transition:none}}
@media(min-width:701px){
 .skyline-story{padding-block:64px}
 .story-architecture>img{height:380px;max-height:380px;aspect-ratio:auto;object-position:center 45%}
 .story-architecture{padding-bottom:40px}
 .story-experience{padding-top:16px}
}

/* A quieter headline scale over the construction film. */
@media(min-width:901px){.hero-content h1{font-size:clamp(42px,3.8vw,60px);line-height:1.12}}

/* Shared spacing rhythm and restrained, one-time scroll reveals. */
:root{--section-space:88px}
main>.section{padding-block:var(--section-space)}
main>.section+.section{border-top:1px solid rgba(155,131,81,.16)}
.site-footer{padding-top:64px}
.reveal-block{opacity:0;translate:0 16px;transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.reveal-block.is-revealed{opacity:1;translate:0 0}
@media(max-width:900px){:root{--section-space:64px}}
@media(max-width:600px){:root{--section-space:56px}.site-footer{padding-top:40px}.reveal-block{translate:0 10px;transition-duration:.5s}}
@media(prefers-reduced-motion:reduce){.reveal-block{opacity:1;translate:none;transition:none}}
@media print{.reveal-block{opacity:1;translate:none}}

/* One continuous hero track: no synthetic pin spacer or fixed-position handoff. */
@media(min-width:901px){
 .story.native-story{height:calc(4 * max(720px,100svh))}
 .story.native-story.still-story{height:calc(2 * max(720px,100svh))}
 .native-story .story-stage{position:sticky;top:0;height:100svh;min-height:720px}
}
/* Connect the story introduction to its editorial headline. */
.skyline-story .about-heading{max-width:610px}
.skyline-story h2{font-size:clamp(38px,3.65vw,56px);line-height:1.13}
.skyline-story #about-text{max-width:54ch;font-size:15px;line-height:1.8;margin-top:22px;color:#426c68;text-wrap:pretty}
.skyline-story #about-text strong{font-weight:600;color:var(--ink)}
.skyline-story .story-discover{margin-top:22px}
@media(max-width:700px){
 .skyline-story h2{font-size:clamp(34px,8.8vw,46px)}
 .skyline-story #about-text{font-size:14px;line-height:1.8;max-width:40ch;margin-top:20px}
}

.footer-phone{display:block;width:fit-content;min-height:44px;align-content:center;margin-top:18px;font-size:14px;font-weight:600}.footer-phone+.footer-enquiry{margin-top:8px}
/* Mobile portfolio: quiet controls, generous photography, clear card hierarchy. */
@media(max-width:600px){
 #projects .section-heading{margin-bottom:26px}
 #projects .section-heading h2{font-size:36px;line-height:1.12;max-width:13ch}
 #projects .project-discovery{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:0;border:0;background:transparent}
 #projects .project-search{margin:0;max-width:none;width:100%;font-size:0;letter-spacing:0}
 #projects .project-search input{font-size:14px;min-height:48px;padding:12px 14px;border:1px solid #cfdbd4;border-radius:3px;background:var(--ivory);margin:0}
 #projects .project-search input::placeholder{color:#64817a}
 #projects .project-toolbar{margin:0;border:0;padding:0;display:block}
 #projects .filters{display:flex;gap:0;justify-content:space-between;width:100%;border-bottom:1px solid var(--line)}
 #projects .filters button{width:auto;flex:0 1 auto;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);min-height:44px;padding:10px 4px;font-size:11px;font-weight:400;margin-bottom:-1px;white-space:nowrap}
 #projects .filters button.active{background:none;color:var(--teal);border-bottom-color:var(--teal);font-weight:600}
 #projects #project-count{font-size:10px;margin-top:14px;color:var(--muted)}
 #projects .project-grid{gap:36px}
 #projects .project-card{border:0;padding:0;background:transparent;border-radius:0;overflow:visible}
 #projects .project-card .card-image{height:auto;aspect-ratio:3/2;border-radius:4px;position:relative}
 #projects .card-status{top:12px;left:12px;padding:5px 9px;background:var(--ivory);font-size:9px;letter-spacing:.025em;border:0;border-radius:2px}
 #projects .card-content{padding:17px 0 0}
 #projects .project-card h3{font-size:29px;line-height:1.15;margin:0}
 #projects .project-card .location{font-size:12px;line-height:1.5;margin-top:7px;color:var(--muted)}
 #projects .card-actions{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;border:0;margin-top:16px;padding:0 0 24px;border-bottom:1px solid var(--line)}
 #projects .card-actions button{min-height:44px;font-size:12px;padding:10px 14px;text-align:center}
 #projects .card-actions button:first-child{background:var(--teal);color:var(--ivory);border:1px solid var(--teal);border-radius:3px;font-weight:500}
 #projects .card-actions button:last-child{background:none;padding-inline:6px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#acbfb5}
 #projects .project-card:last-child .card-actions{border-bottom:0;padding-bottom:0}
}
@media(max-width:600px){#projects .card-actions button:last-child{border:0;border-radius:0}}

/* Editorial rhythm: display headlines, italic accents, quiet utility type. */
main>.section{padding-block:96px}
.section h2{text-wrap:balance}
.section .eyebrow{font:500 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.18em;margin-bottom:22px}
.section-heading>p:last-child,.investment-intro>p:last-of-type{max-width:44ch}
.about-heading .story-discover{margin-top:26px}
@media(max-width:900px){main>.section{padding-block:72px}}
@media(max-width:600px){
 main>.section{padding-block:64px}
 .section .eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:18px}
 .section h2,.skyline-story h2,#projects .section-heading h2{font-size:34px;line-height:1.16;letter-spacing:-.025em}
 .skyline-story #about-text{font-size:14px;line-height:1.85;margin-top:24px;max-width:36ch}
 .skyline-story{gap:40px}.story-architecture{margin-top:2px}
 #projects .project-grid{gap:42px}#projects .card-content{padding-top:20px}
 #projects .project-card h3{font-size:28px}
 .lifestyle{gap:30px}.lifestyle-points{gap:24px}.lifestyle-points h3{font:400 20px/1.25 Display,Georgia,serif;letter-spacing:-.01em}
 .investment-steps h3{font-size:14px}.investment-steps li{padding-block:20px}
 .buyers{gap:30px}.faq-list summary{font-size:13px;line-height:1.6}.faq-list details{padding-block:24px}
 .contact{gap:32px}.form-note{font-size:11px;line-height:1.7;padding:12px 14px}.privacy-note{line-height:1.7}
}

/* Clear, consistent section labels across screen sizes. */
main > .section .eyebrow{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:.08em;margin-bottom:24px}
@media(max-width:600px){main > .section .eyebrow{font-size:16px;letter-spacing:.07em;margin-bottom:20px}}



/* One lifestyle image balanced with four concise brand values. */
#lifestyle.living-balanced{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto 1fr;gap:32px 7%;background:#f4f3ec;align-items:center}
.living-balanced .living-heading{grid-column:2;grid-row:1}
.living-balanced .living-heading h2{font-size:clamp(34px,3.5vw,50px);line-height:1.2;letter-spacing:-.025em}
.living-photo{grid-column:1;grid-row:1/3;margin:0;align-self:stretch;min-height:460px;overflow:hidden;border-radius:4px}
.living-photo img{height:100%;width:100%;object-fit:cover;object-position:55% center}
.living-values{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:32px 24px;align-self:start}
.living-values article{min-width:0}
.living-values article>img{display:block;width:32px;height:32px;margin-bottom:14px}
.living-values h3{font:600 15px/1.45 Manrope,Arial,sans-serif;letter-spacing:-.015em}
.living-values p{font-size:13px;line-height:1.6;margin-top:7px;color:var(--muted)}
@media(max-width:900px){#lifestyle.living-balanced{grid-template-columns:1fr;gap:28px}.living-balanced .living-heading{grid-column:1;grid-row:1}.living-photo{grid-column:1;grid-row:2;min-height:0;aspect-ratio:16/10}.living-values{grid-column:1;grid-row:3;grid-template-columns:repeat(4,1fr);gap:24px 18px}}
@media(max-width:600px){
 #lifestyle.living-balanced{gap:28px}
 .living-balanced .living-heading h2{font-size:32px;line-height:1.2}
 .living-balanced .living-heading .eyebrow{margin-bottom:18px}
 .living-photo{aspect-ratio:3/2}
 .living-values{grid-template-columns:1fr 1fr;gap:30px 20px;padding-top:2px}
 .living-values article>img{width:29px;height:29px;margin-bottom:12px}
 .living-values h3{font-size:13px;line-height:1.5}
 .living-values p{font-size:12px;margin-top:5px;line-height:1.55}
}

/* Refine the approved image-and-icon composition. */
#lifestyle.living-balanced{background:#f6f4ed;column-gap:6%}
.living-balanced .living-heading h2{padding-bottom:4px}
.living-photo{position:relative}
.living-photo img{object-position:52% center}
.living-values{gap:34px 28px}
.living-values article{border-top:1px solid #d6d8c9;padding-top:20px}
.living-values article>img{width:30px;height:30px;margin-bottom:15px}
.living-values h3{font-weight:700;color:var(--ink)}
.living-values p{max-width:24ch;line-height:1.7}
@media(max-width:900px){.living-values{gap:28px 20px}}
@media(max-width:600px){
 #lifestyle.living-balanced{row-gap:30px}
 .living-balanced .living-heading h2{font-size:32px;line-height:1.22}
 .living-photo{aspect-ratio:1.5;border-radius:4px}
 .living-values{gap:26px 24px;padding-top:0}
 .living-values article{padding-top:18px}
 .living-values article>img{width:30px;height:30px;margin-bottom:13px}
 .living-values h3{font-size:14px;line-height:1.45;letter-spacing:-.02em}
 .living-values p{font-size:12px;line-height:1.65;margin-top:7px}
}

/* Connect the heading and photograph with a soft tonal transition. */
#lifestyle.living-balanced{align-items:start}
.living-balanced .living-heading{align-self:start}
.living-balanced .living-photo{border-radius:0}
@media(min-width:901px){
 .living-balanced .living-photo{min-height:0;height:100%;position:relative}
 .living-balanced .living-photo img{position:absolute;inset:0;mask-image:linear-gradient(to right,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,#000 90%,transparent)}
}
@media(max-width:900px){
 #lifestyle.living-balanced{row-gap:0}
 .living-balanced .living-heading{position:relative;z-index:1;margin-bottom:12px}
 .living-balanced .living-photo{mask-image:linear-gradient(to bottom,transparent,#000 18%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%)}
 .living-balanced .living-values{margin-top:32px}
}

/* Brand signature and clear contact information form the closing composition. */
.site-footer.skyline-footer{grid-template-columns:1.5fr 1fr 1fr;gap:44px 10%;padding:56px var(--gutter) 22px;background:#edf1e8;border-top:1px solid #bda36c;max-width:none}
.skyline-footer .footer-signature{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px;padding-bottom:36px;border-bottom:1px solid #ccd4c5}
.skyline-footer .footer-logo{display:block;width:140px;mix-blend-mode:multiply}
.skyline-footer .logo-frame{width:140px;height:110px}
.skyline-footer .logo-frame img{width:190px;left:-25px;top:-9px}
.skyline-footer .footer-statement{font:400 36px/1.18 Display,Georgia,serif;letter-spacing:-.025em;color:var(--ink)}
.skyline-footer .footer-call>p{font-size:10px;letter-spacing:.12em;font-weight:700;margin-bottom:12px}
.skyline-footer .footer-call>a{display:flex;gap:28px;align-items:center;font-size:24px;letter-spacing:-.035em;line-height:1.5;min-height:44px;color:var(--teal)}
.skyline-footer .footer-call>a>span{font-size:26px;color:#8b774a;transition:translate .2s}
.skyline-footer .footer-call>a:hover>span{translate:3px -3px}
.skyline-footer h3{font:700 12px/1.5 Manrope,Arial,sans-serif;margin:0 0 18px;letter-spacing:.035em;color:var(--ink)}
.skyline-footer address{font-size:13px;line-height:1.9;max-width:none;margin:0}
.skyline-footer .footer-direction{display:inline-flex;min-height:44px;align-items:center;gap:22px;font-size:12px;margin-top:12px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b1bcaa}
.skyline-footer .footer-group nav{display:flex;flex-direction:column;gap:0}
.skyline-footer .footer-group a,.skyline-footer .footer-group button{font-size:13px;line-height:1.6;min-height:40px;font-weight:400}
.skyline-footer .footer-group:last-of-type{grid-column:auto}
.skyline-footer .footer-view-all{gap:22px;margin-top:8px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b1bcaa}
.skyline-footer .footer-bottom{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:28px;padding-top:18px;margin-top:0;border-color:#ccd4c5;font-size:11px}
.skyline-footer .footer-bottom>p{margin-right:auto;font-size:11px}
.skyline-footer .footer-bottom>button{border:0;background:none;font:inherit;color:var(--muted);padding:8px 0;min-height:44px}
.skyline-footer .footer-top{gap:14px}
.skyline-footer .footer-top>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #b9c5b4;border-radius:50%;font-size:18px}
.skyline-footer a:hover,.skyline-footer button:hover{color:#0d5256}
@media(min-width:1680px){.site-footer.skyline-footer{padding-inline:max(var(--gutter),calc((100vw - 1504px)/2))}}
@media(max-width:900px){.site-footer.skyline-footer{gap:36px 6%}.skyline-footer .footer-signature{gap:24px;grid-template-columns:auto 1fr}.skyline-footer .footer-call{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.skyline-footer .footer-call>p{margin:0}}
@media(max-width:600px){
 .site-footer.skyline-footer{padding:36px var(--gutter) 18px;grid-template-columns:1fr 1fr;gap:30px 24px}
 .skyline-footer .footer-signature{gap:24px 22px;padding-bottom:26px}
 .skyline-footer .footer-logo{width:112px}
 .skyline-footer .logo-frame{width:112px;height:88px}
 .skyline-footer .logo-frame img{width:154px;left:-21px;top:-8px}
 .skyline-footer .footer-statement{font-size:27px;line-height:1.2}
 .skyline-footer .footer-call{display:block}
 .skyline-footer .footer-call>p{font-size:9px;letter-spacing:.1em;margin-bottom:5px}
 .skyline-footer .footer-call>a{font-size:25px;justify-content:space-between}
 .skyline-footer .footer-office-block{grid-column:1/-1}
 .skyline-footer h3{font-size:12px;margin-bottom:12px}
 .skyline-footer address{font-size:12px;line-height:1.85}
 .skyline-footer .footer-direction{margin-top:8px}
 .skyline-footer .footer-group a,.skyline-footer .footer-group button{font-size:12px;min-height:44px}
 .skyline-footer .footer-group:last-of-type nav{flex-direction:column;gap:0}
 .skyline-footer .footer-view-all{margin-top:0;gap:12px}
 .skyline-footer .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:0 20px;padding-top:18px}
 .skyline-footer .footer-bottom>p{grid-column:1/-1;font-size:10px;line-height:1.8;margin:0 0 8px}
 .skyline-footer .footer-bottom>button{justify-self:start;font-size:11px}
 .skyline-footer .footer-top{font-size:11px;margin:0}
}
@media(prefers-reduced-motion:reduce){.skyline-footer .footer-call>a>span{transition:none}}
.skyline-footer .footer-signature{background:#edf1e8}
.skyline-footer address{max-width:36ch}
.skyline-footer .footer-logo img{mix-blend-mode:multiply}

.skyline-footer .footer-signature{grid-template-columns:auto 1fr}
.skyline-footer .footer-logo,.skyline-footer .footer-logo img{mix-blend-mode:normal}
.skyline-footer .logo-frame img{width:168px;left:-14px;top:-1px}
@media(max-width:600px){.skyline-footer .logo-frame img{width:134px;left:-11px;top:0}}

/* Skyline navigation: compact desktop bar and an accessible mobile panel. */
:root{--header-height:88px}
.site-header.skyline-header{display:grid;grid-template-columns:128px 1fr auto;gap:28px;height:var(--header-height);padding:0 var(--gutter);background:var(--ivory);border-bottom:1px solid #d4c7a9;z-index:50;align-items:center}
.skyline-header .wordmark{display:block;width:120px;line-height:1}
.skyline-header .header-logo{display:block;position:relative;width:120px;height:80px;overflow:hidden;font:inherit;letter-spacing:0}
.skyline-header .header-logo img{position:absolute;width:145px;max-width:none;height:auto;left:-12px;top:-7px}
.site-header.skyline-header nav{display:block;position:static;width:auto;padding:0;border:0;background:none;max-height:none;overflow:visible}
.skyline-header .nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(24px,2.5vw,40px)}
.site-header.skyline-header .nav-links a{display:flex;align-items:center;min-height:44px;padding:0;border:0;font:500 13px/1.5 Manrope,Arial,sans-serif;white-space:nowrap}
.site-header.skyline-header .nav-links a:after{bottom:6px;background:#b39863;height:1px}
.skyline-header .nav-eyebrow,.skyline-header .nav-reach{display:none}
.skyline-header .header-actions{display:flex;align-items:center;gap:22px}
.skyline-header .header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;gap:20px;background:var(--teal);color:var(--ivory);border:1px solid var(--teal);border-radius:3px;font:500 13px/1.4 Manrope,Arial,sans-serif;white-space:nowrap;transition:background .2s}
.skyline-header .header-cta:hover{background:#225f63}
.skyline-header .header-cta span{font-size:20px;font-weight:400;line-height:1}
.skyline-header .menu-toggle{display:none;margin:0;padding:0;min-height:44px;border:0;background:transparent;border-radius:0;align-items:center;gap:12px;color:var(--teal);font-size:13px}
.skyline-header .menu-lines{display:block;position:relative;width:22px;height:20px}
.skyline-header .menu-lines:before,.skyline-header .menu-lines:after{content:'';position:absolute;width:22px;height:1.5px;background:currentColor;left:0;transition:transform .2s,top .2s;transform-origin:center}
.skyline-header .menu-lines:before{top:6px}.skyline-header .menu-lines:after{top:13px}
.skyline-header.menu-open .menu-lines:before{top:9px;transform:rotate(45deg)}
.skyline-header.menu-open .menu-lines:after{top:9px;transform:rotate(-45deg)}
@media(max-width:1023px){
 :root{--header-height:80px}
 .site-header.skyline-header{display:flex;justify-content:space-between;gap:16px}
 .skyline-header .wordmark{width:110px}
 .skyline-header .header-logo{width:110px;height:74px}
 .skyline-header .header-logo img{width:134px;left:-12px;top:-6px}
 .skyline-header .header-actions{gap:24px}
 .skyline-header .menu-toggle{display:flex}
 .site-header.skyline-header nav{display:none}
 .site-header.skyline-header.menu-open nav{display:flex;flex-direction:column;position:fixed;inset:var(--header-height) 0 0;max-height:none;width:auto;overflow-y:auto;overscroll-behavior:contain;background:var(--ivory);padding:40px max(var(--gutter),calc((100vw - 620px)/2)) max(32px,env(safe-area-inset-bottom));border:0;animation:skyline-menu-in .22s ease-out}
 .site-header.skyline-header.menu-open nav:after{content:none}
 .skyline-header .nav-eyebrow{display:block;font-size:10px;line-height:1.6;font-weight:600;letter-spacing:.17em;color:#8b774a;margin-bottom:22px}
 .skyline-header .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header.skyline-header .nav-links a{display:block;min-height:68px;padding:16px 0;border-bottom:1px solid #dacfb8;font:400 clamp(27px,4.2vw,38px)/1.2 Display,Georgia,serif;letter-spacing:-.02em;white-space:normal}
 .site-header.skyline-header .nav-links a:last-child{border-bottom:0}
 .site-header.skyline-header .nav-links a:after{content:none}
 .skyline-header .nav-links a:hover{color:#997a43}
 .skyline-header .nav-reach{display:block;margin-top:auto;padding-top:48px}
 .skyline-header .nav-reach>p{font-size:10px;letter-spacing:.14em;color:#8b774a;margin-bottom:12px}
 .site-header.skyline-header .nav-reach>a{display:inline-flex;align-items:center;min-height:44px;border:0;border-bottom:1px solid #b3a17c;padding:0;font:400 25px/1.4 Display,Georgia,serif;letter-spacing:0}
 .site-header.skyline-header .nav-reach>a:after{content:none}
 body.nav-open{overflow:hidden;overscroll-behavior:none}
}
@media(max-width:600px){
 :root{--header-height:76px}
 .skyline-header .wordmark{width:100px}
 .skyline-header .header-logo{width:100px;height:70px}
 .skyline-header .header-logo img{width:126px;left:-13px;top:-6px}
 .skyline-header .header-actions{gap:18px}
 .skyline-header .header-cta{min-height:40px;padding:0 13px;gap:12px;font-size:12px}
 .skyline-header .header-cta span{font-size:17px}
 .skyline-header .menu-toggle{font-size:12px;gap:10px}
 .site-header.skyline-header.menu-open nav{padding:32px 24px max(28px,env(safe-area-inset-bottom))}
 .skyline-header .nav-eyebrow{margin-bottom:18px}
 .site-header.skyline-header .nav-links a{font-size:30px;min-height:67px;padding:16px 0}
}
@media(max-width:359px){.site-header.skyline-header{padding-inline:16px;gap:8px}.skyline-header .header-actions{gap:12px}.skyline-header .wordmark,.skyline-header .header-logo{width:88px}.skyline-header .header-logo img{width:118px;left:-15px;top:-3px}.skyline-header .header-cta{padding-inline:10px;gap:8px}.skyline-header .menu-toggle{gap:7px}.site-header.skyline-header .nav-links a{font-size:27px}}
@media(max-height:560px) and (max-width:1023px){.site-header.skyline-header.menu-open nav{padding-top:18px}.skyline-header .nav-eyebrow{margin-bottom:8px}.site-header.skyline-header .nav-links a{font-size:25px;min-height:48px;padding:10px 0}.skyline-header .nav-reach{padding-top:24px}}
@keyframes skyline-menu-in{from{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.site-header.skyline-header.menu-open nav{animation:none}.skyline-header .menu-lines:before,.skyline-header .menu-lines:after,.skyline-header .header-cta{transition:none}}

/* A small navigation panel, with comfortable targets and no empty full-screen area. */
.skyline-header .header-logo img{width:128px;left:-4px;top:-2px}
@media(max-width:1023px){
 .skyline-header .header-logo img{width:116px;left:-3px;top:-1px}
 .site-header.skyline-header.menu-open nav{inset:calc(var(--header-height) + 8px) var(--gutter) auto auto;width:min(340px,calc(100vw - 2 * var(--gutter)));max-height:calc(100dvh - var(--header-height) - 24px);padding:18px 22px 14px;border:1px solid #d4c7a9;border-radius:4px;box-shadow:0 12px 28px rgba(34,95,99,.12)}
 .skyline-header .nav-eyebrow{font-size:9px;margin-bottom:8px}
 .site-header.skyline-header .nav-links a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 0;font-size:22px;line-height:1.2;border-color:#e3dcca}
 .site-header.skyline-header .nav-links a:after{content:'↗\FE0E';position:static;display:block;width:auto;height:auto;background:none;color:#a18c5d;font:16px/1 Manrope,Arial,sans-serif}
 .skyline-header .nav-reach{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #d4c7a9}
 .skyline-header .nav-reach>p{font-size:9px;letter-spacing:.08em;margin:0}
 .site-header.skyline-header .nav-reach>a{min-height:40px;border:0;font:500 13px/1.4 Manrope,Arial,sans-serif}
}
@media(max-width:600px){.skyline-header .header-logo img{width:110px;left:-5px;top:-1px}}
@media(max-width:359px){.skyline-header .header-logo img{width:108px;left:-10px;top:0}.site-header.skyline-header.menu-open nav{right:16px;width:calc(100vw - 32px);padding-inline:18px}.site-header.skyline-header .nav-links a{font-size:21px}}

/* A more concise footer: related information shares the same row on desktop. */
.site-footer.skyline-footer{grid-template-columns:1.15fr 1.4fr .9fr .9fr;gap:24px 5%;padding:36px var(--gutter) 14px}
.skyline-footer .footer-signature{grid-column:auto;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0;border:0}
.skyline-footer .footer-logo,.skyline-footer .logo-frame{width:112px}
.skyline-footer .logo-frame{height:78px}
.skyline-footer .logo-frame img{width:128px;left:-8px;top:-2px}
.skyline-footer .footer-statement{font-size:26px;line-height:1.18}
.skyline-footer h3{margin-bottom:10px}
.skyline-footer address{line-height:1.7}
.skyline-footer .footer-direction{margin-top:6px}
.skyline-footer .footer-group a,.skyline-footer .footer-group button{min-height:36px}
.skyline-footer .footer-view-all{margin-top:0}
.skyline-footer .footer-bottom{padding-top:10px;gap:24px}
@media(min-width:1680px){.site-footer.skyline-footer{padding-inline:max(var(--gutter),calc((100vw - 1504px)/2))}}
@media(min-width:601px) and (max-width:900px){
 .site-footer.skyline-footer{grid-template-columns:1.4fr 1fr 1fr;gap:22px 5%;padding-top:28px}
 .skyline-footer .footer-signature{grid-column:1/-1;flex-direction:row;align-items:center;gap:24px;padding-bottom:18px;border-bottom:1px solid #ccd4c5}
 .skyline-footer .footer-statement{font-size:28px}
}
@media(max-width:600px){
 .site-footer.skyline-footer{grid-template-columns:1fr 1fr;gap:18px 24px;padding:24px var(--gutter) 12px}
 .skyline-footer .footer-signature{grid-column:1/-1;flex-direction:row;align-items:center;gap:20px;padding-bottom:18px;border-bottom:1px solid #ccd4c5}
 .skyline-footer .footer-logo,.skyline-footer .logo-frame{width:92px}
 .skyline-footer .logo-frame{height:70px}
 .skyline-footer .logo-frame img{width:108px;left:-7px;top:0}
 .skyline-footer .footer-statement{font-size:25px}
 .skyline-footer h3{margin-bottom:6px}
 .skyline-footer address{max-width:40ch;font-size:12px;line-height:1.7}
 .skyline-footer .footer-direction{margin-top:2px;min-height:40px}
 .skyline-footer .footer-group a,.skyline-footer .footer-group button{min-height:40px}
 .skyline-footer .footer-bottom{padding-top:10px;gap:0 16px}
 .skyline-footer .footer-bottom>p{margin-bottom:2px}
 .skyline-footer .footer-top>span{width:30px;height:30px}
}

/* A quiet contact shortcut that enters only after the hero. */
.whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:82px;z-index:40;display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#168b61;color:#fff;box-shadow:0 4px 16px rgba(34,95,99,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s,background .2s}
.whatsapp-float.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.whatsapp-float:hover{background:#117450;transform:translateY(-2px)}
body.nav-open .whatsapp-float,body.modal-open .whatsapp-float{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:600px){.whatsapp-float{width:48px;height:48px;right:max(16px,env(safe-area-inset-right));bottom:calc(80px + env(safe-area-inset-bottom,0px))}.whatsapp-float svg{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none;transform:none}.whatsapp-float:hover{transform:none}}

/* Page navigation uses native links so detail URLs can be shared and opened directly. */
.card-actions>a{display:flex;align-items:center;min-height:44px;font-size:13px;padding:0 4px;text-align:left}
.card-price{font-size:16px;color:var(--ink);margin-top:14px;font-weight:600}.card-price span{display:block;font-size:13px;font-weight:400;color:var(--muted)}

.project-card .card-description{font-size:15px;line-height:1.7;color:var(--muted);margin-top:14px;font-weight:400}

/* Hero story chapter cross-dissolve. The copy box keeps a reserved min-height
   (set in app.js from the tallest chapter), so nothing below it moves. */
#story-copy{transition:opacity .34s cubic-bezier(.4,0,.2,1),transform .34s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}
#story-copy.is-turning{opacity:0;transform:translateY(-8px)}
#story-copy.is-entering{opacity:0;transform:translateY(10px);transition:none}
@media(prefers-reduced-motion:reduce){
 #story-copy{transition:none;will-change:auto}
 #story-copy.is-turning,#story-copy.is-entering{opacity:1;transform:none}
}

/* Available to screen readers and the document outline, never rendered. */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Project cards share one row height, while their actions stay aligned. */
#projects .project-grid{align-items:stretch}
#projects .project-card{display:flex;flex-direction:column;height:100%}
#projects .card-content{display:flex;flex:1;min-height:0;flex-direction:column}
#projects .card-actions{margin-top:auto}
@media(min-width:701px){#projects .project-grid{grid-auto-rows:1fr}}

/* The whole project card is the link. The "View project" anchor stretches an
   invisible overlay across the card, so the accessibility tree still holds
   exactly one link per card and middle-click / open-in-new-tab keep working —
   which a JS click handler on the <article> would not give us.
   Enquire is lifted above the overlay so it keeps its own click. */
#projects .project-card{position:relative}
#projects .card-actions>a::after{content:'';position:absolute;inset:0;z-index:1}
#projects .card-actions button{position:relative;z-index:2}
/* Focus stays on the anchor, but reads as the whole card being selected. */
#projects .card-actions>a:focus-visible{outline:none}
#projects .card-actions>a:focus-visible::after{outline:2px solid var(--teal);outline-offset:-3px;border-radius:var(--radius)}
@media(hover:hover){#projects .project-card:hover .card-actions>a{text-decoration:underline;text-underline-offset:4px}}

/* Legal links share the footer's closing row. */
.footer-legal{display:flex;flex-wrap:wrap;align-items:center;gap:0 24px}
.skyline-footer .footer-legal a{color:var(--muted)}
.skyline-footer .footer-legal a[aria-current="page"]{color:var(--teal);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#b1bcaa}
.privacy-note a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#a9bbb0}
@media(max-width:600px){.footer-legal{gap:0 18px}}

/* Four projects share one row on wide screens and two even rows below that, never three plus one. */
@media(min-width:1200px){#projects .project-grid:has(>.project-card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}#projects .project-grid:has(>.project-card:nth-child(4):last-child) .project-card h3{font-size:26px}#projects .project-grid:has(>.project-card:nth-child(4):last-child) .card-content{padding:20px}}
@media(min-width:701px) and (max-width:1199px){#projects .project-grid:has(>.project-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Let’s connect: a deep panel of direct routes beside a calm enquiry card, read as one piece. */
#contact{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;align-items:stretch;background:var(--ivory);padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}
.contact-panel{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:56px;padding:clamp(40px,4.5vw,72px);background:#173d3e;border-radius:var(--radius) 0 0 var(--radius)}
.contact-panel-image{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:right center}
/* The night photograph shows in full colour; a tint on the text side keeps every line legible. */
.contact-panel::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,61,62,.94) 0%,rgba(23,61,62,.78) 42%,rgba(23,61,62,.2) 100%)}
#contact .contact-panel .eyebrow{color:#c7b68e}
#contact .contact-panel h2{font-size:clamp(38px,3.8vw,58px);line-height:1.1;color:var(--ivory)}
#contact .contact-panel h2 em{color:var(--peach)}
#contact .contact-copy>p:not(.eyebrow){margin-top:22px;max-width:40ch;font-size:15px;line-height:1.8;color:rgba(255,248,238,.78)}
.contact-channels{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(255,248,238,.16)}
.contact-channels li{border-top:1px solid rgba(255,248,238,.16)}
.contact-channels a{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:74px;padding:14px 0;color:var(--ivory)}
.channel-label{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#c7b68e}
.channel-value{font:400 clamp(20px,1.8vw,26px)/1.2 Display,Georgia,serif;letter-spacing:-.015em;transition:color .2s}
.channel-arrow{font-size:20px;line-height:1;color:var(--peach);transition:translate .2s}
#contact .contact-panel :focus-visible{outline-color:var(--ivory)}
.contact-form{display:flex;flex-direction:column;min-width:0;padding:clamp(36px,4vw,64px);background:var(--paper);border:1px solid #e3dcca;border-left:0;border-radius:0 var(--radius) var(--radius) 0}
.contact-form-head{margin-bottom:30px}
.contact-form-head h3{font:400 clamp(26px,2.2vw,32px)/1.15 Display,Georgia,serif;letter-spacing:-.02em;color:var(--ink)}
#contact .form-note{margin:12px 0 0;padding:0 0 0 12px;background:none;border-left:2px solid #b5a379;font-size:12px;line-height:1.65;color:var(--muted)}
#contact .form-grid{gap:0 28px}
#contact label{font-size:12px;font-weight:600;color:var(--ink)}
#contact input,#contact select,#contact textarea{border-bottom-color:#c9d1c0;font-weight:400}
#contact input:focus,#contact select:focus,#contact textarea:focus{border-bottom-color:var(--teal)}
.intent-options{min-width:0;margin:4px 0 24px;padding:0;border:0}
.intent-options legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--ink)}
.intent-options>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#contact .intent-option{position:relative;margin:0}
#contact .intent-option input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.intent-option span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ivory);font-size:12px;font-weight:500;line-height:1.3;text-align:center;color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.intent-option input:checked+span{background:var(--teal);border-color:var(--teal);color:var(--paper)}
.intent-option input:focus-visible+span{outline:2px solid var(--teal);outline-offset:3px}
#contact .contact-form>.button{align-self:flex-start;margin-top:6px}
@media(max-width:1100px){.intent-options>div{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-channels a{grid-template-columns:110px minmax(0,1fr) auto}}
@media(max-width:900px){
 #contact{grid-template-columns:minmax(0,1fr)}
 .contact-panel{gap:40px;border-radius:var(--radius) var(--radius) 0 0}
 .contact-form{border-left:1px solid #e3dcca;border-top:0;border-radius:0 0 var(--radius) var(--radius)}
}
@media(prefers-reduced-motion:reduce){.channel-arrow,.channel-value,.intent-option span{transition:none}}

/* Where we build: the collection’s cities as one quiet row, each opening the filtered list. */
#footprint{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(32px,5vw,80px);align-items:end;padding-block:clamp(56px,6vw,80px)}
#footprint h2{font-size:clamp(34px,3.2vw,48px);line-height:1.12}
.footprint-list{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-block:1px solid var(--line)}
.footprint-list>li{min-width:0}
.footprint-list>li+li{border-left:1px solid var(--line)}
.footprint-total{display:flex;align-items:center;gap:14px;padding:22px 20px 22px 0}
.footprint-total strong{font:400 clamp(52px,4.6vw,68px)/.9 Display,Georgia,serif;letter-spacing:-.05em;color:#9b8351}
.footprint-total span{font-size:12px;line-height:1.5;color:var(--muted)}
.footprint-list button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;height:100%;min-height:96px;padding:22px 40px 22px clamp(16px,2vw,28px);border:0;background:none;text-align:left;transition:background .2s}
.footprint-city{font:400 clamp(24px,2.1vw,32px)/1.1 Display,Georgia,serif;letter-spacing:-.02em;color:var(--ink)}
.footprint-meta{font-size:12px;line-height:1.5;color:var(--muted)}
.footprint-arrow{position:absolute;top:24px;right:14px;font-size:18px;color:#a18c5d;transition:translate .2s}
.footprint-list button:focus-visible{outline-offset:-2px}

/* Project collection: slim status tabs, a price on every card and a wide card for the newest launch. */
#projects .project-discovery{display:block;margin-bottom:32px}
#projects .project-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0;border-bottom:1px solid var(--line)}
#projects .filters{display:flex;gap:clamp(20px,2.4vw,36px)}
#projects .filters button{min-height:48px;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;background:none;color:var(--muted);font-size:13px;font-weight:400}
#projects .filters button.active{background:none;border-bottom-color:var(--teal);color:var(--teal);font-weight:600}
.project-toolbar-end{display:flex;align-items:center;gap:16px;padding-bottom:13px}
.city-filter{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px;border:1px solid var(--teal);border-radius:var(--radius);background:var(--aqua);font-size:12px;font-weight:600;color:var(--teal)}
.city-filter span{font-size:16px;line-height:1}
.city-filter[hidden]{display:none}
#projects .card-price{margin-top:14px;font:400 22px/1.2 Display,Georgia,serif;letter-spacing:-.01em;color:var(--teal)}
#projects .card-price span{display:block;margin-bottom:4px;font:600 10px/1.5 Manrope,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.card-kicker{margin-bottom:12px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#8b774a}
@media(min-width:701px){
 #projects .project-grid:has(>.is-featured){grid-auto-rows:auto}
 #projects .project-card.is-featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);height:auto}
 #projects .project-card.is-featured .card-image{height:auto;min-height:clamp(360px,34vw,480px);aspect-ratio:auto}
 #projects .project-card.is-featured .card-image img{position:absolute;inset:0}
 #projects .project-card.is-featured .card-content{justify-content:center;padding:clamp(28px,3.6vw,56px)}
 #projects .project-card.is-featured h3{font-size:clamp(36px,3.4vw,52px);line-height:1.05}
 #projects .project-card.is-featured .card-price{font-size:26px}
 #projects .project-card.is-featured .card-actions{margin-top:28px}
}
@media(min-width:1200px){
 #projects .project-grid:has(>.is-featured){grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
 #projects .project-grid:has(>.is-featured) .project-card:not(.is-featured) h3{font-size:26px}
 #projects .project-grid:has(>.is-featured) .project-card:not(.is-featured) .card-content{padding:20px}
}
@media(min-width:701px) and (max-width:1199px){#projects .project-grid:has(>.is-featured){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){#footprint{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(prefers-reduced-motion:reduce){.footprint-list button,.footprint-arrow{transition:none}}

/* Keep arrow glyphs such as ↗ as text on phones that would otherwise draw them as colour emoji. */
body{font-variant-emoji:text}

/* The site’s own glyphs: a drawn ↗ inside every face, so no phone swaps in a colour emoji,
   and Manrope’s ₹ and ← ↑ → ↓ for the Display face, which does not include them. */
@font-face{font-family:Manrope;src:url('assets/fonts/skyline-glyphs.woff2') format('woff2');font-weight:100 900;unicode-range:U+2197,U+FE0E;font-display:swap}
@font-face{font-family:Display;src:url('assets/fonts/skyline-glyphs.woff2') format('woff2');font-weight:100 900;unicode-range:U+2197,U+FE0E;font-display:swap}
@font-face{font-family:Display;src:url('assets/fonts/skyline-glyphs.woff2') format('woff2');font-style:italic;font-weight:100 900;unicode-range:U+2197,U+FE0E;font-display:swap}
@font-face{font-family:Display;src:url('assets/fonts/body.woff2') format('woff2');font-weight:400;unicode-range:U+20B9,U+2190-2193;font-display:swap}
@font-face{font-family:Display;src:url('assets/fonts/body.woff2') format('woff2');font-style:italic;font-weight:400;unicode-range:U+20B9,U+2190-2193;font-display:swap}

/* Hover states only where there is a real pointer; on touch they stick after a tap and read as a second selection. */
@media(hover:hover){
 .contact-channels a:hover .channel-value{color:#fff}
 .contact-channels a:hover .channel-arrow{translate:3px -3px}
 .intent-option:hover span{border-color:var(--teal)}
 .footprint-list button:hover{background:rgba(227,241,238,.45)}
 .footprint-list button:hover .footprint-arrow{translate:3px -3px}
 #projects .filters button:hover{color:var(--teal)}
}

/* On touch screens a tapped control keeps its hover look; hold buttons at their resting colour instead. */
@media(hover:none){.button:hover{background:var(--teal)}.skyline-header .header-cta:hover{background:var(--teal)}.whatsapp-float:hover{background:#168b61;transform:none}.story-discover:hover span{transform:none}.skyline-footer .footer-call>a:hover>span{translate:none}}

/* Form controls look the same on every device: no native iOS shading, rounded select pill or grey chevron. */
#contact input,#contact select,#contact textarea{-webkit-appearance:none;appearance:none;border-radius:0;box-shadow:none}
#contact #enquiry-project{padding-right:30px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23146b70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 4px center/14px 14px}
#contact #enquiry-project:invalid{color:var(--muted)}
#contact #enquiry-project option{color:var(--ink)}

/* The inline privacy link under the enquiry button gets a thumb-sized tap area without moving the text. */
.privacy-note a{padding-block:13px}
