/* ============================================================
   SKYLINE HABITAT — brand layer (overrides combined.min.css)
   Minimal architecture practice: ink / paper / warm grey / bronze
   ============================================================ */

@font-face{font-family:blair-itc-regular;src:url('../fonts/blair-itc/ufonts.com_blair_itc_medium_1_-webfont.eot');src:url('../fonts/blair-itc/ufonts.com_blair_itc_medium_1_-webfont.eot') format("embedded-opentype"),url('../fonts/blair-itc/ufonts.com_blair_itc_medium_1_-webfont.woff2') format("woff2"),url('../fonts/blair-itc/ufonts.com_blair_itc_medium_1_-webfont.woff') format("woff"),url('../fonts/blair-itc/ufonts.com_blair_itc_medium_1_-webfont.ttf') format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:proxima-regular;src:url('../fonts/proxima/proximanova-regular-webfont.eot');src:url('../fonts/proxima/proximanova-regular-webfont.eot') format("embedded-opentype"),url('../fonts/proxima/proximanova-regular-webfont.woff2') format("woff2"),url('../fonts/proxima/proximanova-regular-webfont.woff') format("woff"),url('../fonts/proxima/proximanova-regular-webfont.ttf') format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:FontAwesome;src:url('../../components/public/components-font-awesome/fonts/fontawesome-webfont.woff2') format("woff2"),url('../../components/public/components-font-awesome/fonts/fontawesome-webfont.woff') format("woff"),url('../../components/public/components-font-awesome/fonts/fontawesome-webfont.ttf') format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{--sh-ink:#101114;--sh-paper:#ffffff;--sh-mist:#f4f3f1;--sh-line:#e2e0da;--sh-grey:#6f7277;--sh-bronze:#a2815c}
body{font-size:15px;line-height:1.75;color:#3b3e44;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{color:#101114;font-weight:400}
.typography h3{font-size:26px;letter-spacing:.01em}
.typography h4{font-size:19px;margin-top:30px}
.typography p{max-width:52em}
.typography a{color:#101114;text-decoration:none;border-bottom:1px solid #a2815c}
.typography a:hover{color:#a2815c}
.text-primary{color:#101114 !important}
.updated{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#8b8678}

/* ---- brand logo image (white plate for contrast on dark grounds) ---- */
#header #logo a,.menu-wrap .logo a,#footer .logo a{display:inline-flex;align-items:center;padding:0}
.menu-wrap .logo .brand-logo{display:block;height:56px;width:auto}
.menu-wrap .logo{margin:12px 0}
#footer .logo{text-align:left;margin:0}
#footer .logo .brand-logo{display:block;height:56px;width:auto}

/* ---- header navigation: one aligned row ---- */
#header{background:#101114;padding:0;margin:0;z-index:30}
#header .container>.row{display:flex;align-items:center;flex-wrap:nowrap}
#header #logo,#header #navigation{display:flex;align-items:center;float:none;padding-top:0;padding-bottom:0}
#header #logo{margin:0;padding-left:15px;padding-right:15px}
#header #logo a{display:flex;align-items:center}
/* luxury bar treatment (whole header) */
#header{position:relative}
.nav-sheen-wrap{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:7}
.nav-sheen{position:absolute;top:-30%;bottom:-30%;left:0;width:34%;background:linear-gradient(105deg,rgba(255,255,255,0),rgba(255,255,255,.15),rgba(255,255,255,0));filter:blur(2px);transform:skewX(-18deg) translateX(-160%);animation:sh-nav-sheen 7s cubic-bezier(.45,0,.2,1) infinite}
@keyframes sh-nav-sheen{0%,60%{transform:skewX(-18deg) translateX(-160%)}90%,100%{transform:skewX(-18deg) translateX(520%)}}
#header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;z-index:8;pointer-events:none;background:linear-gradient(120deg,#c9a86a,#f3e6cc 25%,#a2815c 50%,#efe0bd 75%,#c9a86a);background-size:220% 100%;animation:sh-foil 6s ease-in-out infinite}
@keyframes sh-foil{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
#wrapper #header #navigation>ul>li>a:hover,#wrapper #header #navigation>ul>li.current>a,#wrapper #header #navigation>ul>li.section>a{border-bottom-color:#d9bd8f}
#header #logo .brand-logo{display:block;height:54px;width:auto}
#header #navigation{justify-content:flex-end}
#header .phone{display:inline-block;float:none;flex:0 0 auto;white-space:nowrap;align-self:center;margin:0;padding:6px 20px;border-left:1px solid rgba(255,255,255,.22);line-height:1.4;letter-spacing:.12em;font-size:11.5px;color:#e8e6df;text-align:left}
@media (max-width:1250px){#header #navigation>ul>li>a{padding:26px 9px 23px;letter-spacing:.12em}#header .phone{padding:6px 12px;font-size:11px}}
#header .phone .text{color:#8b8678;margin-right:8px}
#header #navigation>ul{display:flex;align-items:center;vertical-align:baseline}
#header #navigation>ul>li{float:none;position:relative;margin:0;display:flex;align-items:center}
#wrapper #header #navigation>ul>li>a{display:flex;align-items:center;padding:26px 13px 23px;border-bottom:3px solid transparent;color:#fff;font-family:blair-itc-regular,sans-serif;letter-spacing:.16em;font-size:12.5px;transition:border-color .15s,color .15s}
#wrapper #header #navigation>ul>li>a:hover,#wrapper #header #navigation>ul>li.current>a,#wrapper #header #navigation>ul>li.section>a{padding:26px 13px 23px;border-bottom:3px solid #fff;color:#fff}
#header .hamburger-menu{display:flex;align-items:center}
#header .hamburger-menu .menu-icon{display:flex;align-items:center;padding:0 2px 0 16px;color:#fff;font-family:blair-itc-regular,sans-serif;letter-spacing:.2em}
#header .hamburger-menu .menu-icon .text{font-size:12.5px;margin:0 8px 0 0}
#header .hamburger-menu .menu-icon:hover{color:#a2815c}

/* ---- header dropdown menus (hover) ---- */
#header #navigation>ul>li.has-children>a::after{content:"";display:inline-block;width:0;height:0;margin-left:9px;vertical-align:2px;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:3.5px solid currentColor;opacity:.65}
#header #navigation ul.dropdown-menu{z-index:1100;top:100%;left:0;min-width:300px;margin-top:0;padding:8px 0;background:#fff;border:1px solid #e2e0da;border-radius:0;box-shadow:0 24px 48px rgba(16,17,20,.14)}
#header #navigation ul.dropdown-menu>li+li>a{border-top:1px solid #f2f0eb}
#header #navigation ul.dropdown-menu>li>a{display:block;padding:12px 26px;font-family:blair-itc-regular,sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#101114;line-height:1.5;white-space:normal;border-bottom:0}
#header #navigation ul.dropdown-menu>li>a .dd-title{display:block}
#header #navigation ul.dropdown-menu>li>a .dd-sub{display:block;margin-top:3px;font-family:proxima-regular,sans-serif;font-size:11px;letter-spacing:.05em;text-transform:none;color:#8b8678}
#header #navigation ul.dropdown-menu>li>a:hover{background:#faf9f7;color:#101114;border-bottom:0;padding:12px 26px}
#header #navigation ul.dropdown-menu>li>a:hover .dd-sub{color:#a2815c}

/* ---- full-screen menu overlay ---- */
.menu-wrap{position:fixed;top:0;right:-100%;bottom:0;width:100%;background:#101114}
.show-menu .menu-wrap{right:0}
.menu-wrap .toggle-menu{background:transparent;color:#fff}
.menu-wrap .toggle-menu:hover{color:#a2815c}
.menu-wrap ul li{border-bottom:1px solid rgba(255,255,255,.08)}
.menu-wrap ul li a{color:#c9c7c0}
.menu-wrap ul li a:hover{color:#fff}
.menu-wrap ul li.current>a{color:#fff}
.menu-wrap .menu>ul>li>a{font-family:blair-itc-regular,sans-serif;font-size:19px;letter-spacing:.14em;text-transform:uppercase;padding:20px 0;display:block}
.menu-wrap .children.active{padding:2px 0 18px}
.menu-wrap .children li a{color:#8f8d86;font-size:13.5px;letter-spacing:.1em;padding:8px 0}
.menu-wrap .children li a:hover{color:#a2815c}
.menu-wrap .parent .open-children{background:transparent;color:#77787c;width:56px;transition:color .2s}
.menu-wrap .parent .open-children:hover{color:#fff}
.menu-wrap .parent .open-children.active{color:#fff}

/* ---- hero caption ---- */
.caption .typography h2{color:#fff;font-size:34px;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 2px 18px rgba(0,0,0,.5);margin-bottom:8px}
.caption .typography p{color:#fff;font-size:11px;letter-spacing:.4em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.55);margin:0}

/* ---- shared primitives ---- */
.eyebrow{font-family:blair-itc-regular,sans-serif;font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:#a2815c;margin:0 0 14px}
.section-head{margin:0 0 36px}
.section-head h3{font-size:28px;margin:0}
.btn-line{display:inline-block;padding:14px 36px;border:1px solid #101114;color:#101114;font-family:blair-itc-regular,sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;text-decoration:none;background:transparent;transition:background .25s,color .25s;cursor:pointer}
.btn-line:hover{background:#101114;color:#fff;border-bottom:1px solid #101114}
.btn-line.alt{margin-left:14px}

/* ---- home ---- */
.home-intro{background:#fff;padding:96px 0 80px;text-align:left}
.home-intro .statement{font-size:38px;line-height:1.3;margin:0 0 26px;max-width:24em}
.home-intro .lead{font-size:17px;color:#6f7277;max-width:46em;margin:0 0 34px}
#mainContent{background:#fff}
.divisions{background:#f4f3f1;padding:84px 0 92px}
.division{display:block;padding:26px 0 6px;border-top:1px solid #cfccc4;text-decoration:none;min-height:216px;transition:border-color .25s}
.division:hover{border-top-color:#101114;text-decoration:none}
.division .num{font-family:blair-itc-regular,sans-serif;font-size:12px;letter-spacing:.34em;color:#a2815c}
.division h4{font-size:17px;line-height:1.4;margin:12px 0 10px;color:#101114}
.division p{color:#6f7277;font-size:13.5px;line-height:1.65;margin:0 0 12px}
.division .more{font-family:blair-itc-regular,sans-serif;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#101114}
.division:hover .more{color:#a2815c}
.division:hover,.division:hover h4{text-decoration:none}
.home-works{background:#fff;padding:84px 0 90px}
.all-link{margin-top:38px}

/* ---- image bands ---- */
.img-band{background:#fff;padding:0 0 64px}
.img-band figure{position:relative;overflow:hidden;margin:0 0 10px}
.img-band img{width:100%;height:auto;display:block}
.img-band figcaption{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:#8b8678;padding-top:10px}

/* ---- grids ---- */
.project-pages .item a:hover{text-decoration:none}
.project-pages figcaption.heading{font-family:blair-itc-regular,sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:14px}

/* ---- expertise ---- */
.expertise-item{padding:46px 0;border-top:1px solid #e2e0da}
.expertise-item h3{font-size:24px;margin-bottom:14px}
.exp-img{margin:0}
.exp-img img{width:100%;height:auto;display:block}
.exp-img figcaption{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#8b8678;padding-top:8px}
.scope{list-style:none;padding:0;margin:18px 0 0;border-top:1px solid #e2e0da}
.scope li{padding:10px 0;border-bottom:1px solid #eceae4;font-size:13.5px;color:#3b3e44}
.scope li::before{content:"—";color:#a2815c;margin-right:12px}

/* ---- project pages ---- */
.project-hero{width:100%;height:auto;display:block}
.project-facts{margin:24px 0 0;border-top:1px solid #e2e0da}
.project-facts>div{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid #eceae4}
.project-facts dt{font-family:blair-itc-regular,sans-serif;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#8b8678;margin:0}
.project-facts dd{margin:0;font-size:13px;color:#101114;text-align:right}

/* ---- testimonials ---- */
.testimonial{padding:40px 0;border-top:1px solid #e2e0da}
.testimonial h3{font-size:22px;letter-spacing:.04em;margin-bottom:16px}
.testimonial cite{display:block;font-family:blair-itc-regular,sans-serif;font-style:normal;letter-spacing:.28em;text-transform:uppercase;font-size:11px;color:#101114;margin-top:20px}
.testimonial .view{margin-top:6px}
.testimonial .view a{font-family:blair-itc-regular,sans-serif;font-size:10px;letter-spacing:.3em;text-transform:uppercase;border-bottom:0}

/* ---- footer ---- */
#footer{padding:0;text-align:left}
#footer .footer-main{padding:48px 0 34px}
#footer .est{font-family:blair-itc-regular,sans-serif;font-size:10px;color:#77787c;letter-spacing:.24em;text-transform:uppercase;margin:12px 0 0}
#footer .explore-h{font-family:blair-itc-regular,sans-serif;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#8b8678;margin:4px 0 12px}
#footer ul.explore{list-style:none;margin:0;padding:0;column-count:2;column-gap:30px}
#footer ul.explore a{color:#afb1b4;font-size:12.5px;line-height:2.1;border-bottom:0}
#footer ul.explore a:hover{color:#fff;text-decoration:none}
#footer .contact-details .phone,#footer .contact-details .address,#footer .contact-details .dom,#footer .contact-details .mail{color:#afb1b4;font-size:13px;line-height:2.1}
#footer .contact-details a{color:#afb1b4;text-decoration:none;border-bottom:0}
#footer .contact-details a:hover{color:#fff}
#footer .contact-details .text{color:#8b8678}
#footer .legal{border-top:1px solid #26262a}
#footer .legal .container-fluid{padding:16px 15px}
#footer .copyright{font-size:11px;letter-spacing:.08em;color:#77787c}
#footer .legal-links{text-align:right}
#footer .legal-links a{font-family:blair-itc-regular,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#afb1b4;margin-left:22px;border-bottom:0}
#footer .legal-links a:first-child{margin-left:0}
#footer .legal-links a:hover{color:#fff;text-decoration:none}
.footer-menu .item a{letter-spacing:.22em;text-transform:uppercase;filter:grayscale(1) contrast(1.02)}
.footer-menu .item a:hover{filter:grayscale(1) contrast(1.12)}

/* ---- contact: Google Maps embed ---- */
#map-canvas{background:#101114}
#map-canvas iframe{display:block;width:100%;height:100%;min-height:400px;border:0}
.contact__item__map__info{padding:24px 15px}
.contact__item__map__info__item{text-align:center;font-family:blair-itc-regular,sans-serif;font-size:14px;line-height:1.9;color:#c9c7c0}
.contact__item__map__info__item h5{font-family:blair-itc-regular,sans-serif;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#8b8678;margin-bottom:8px}

/* ---- forms ---- */
.form .field label{font-family:blair-itc-regular,sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#6f7277}
.form .action.btn.btn-primary{background:#101114;border-color:#101114;font-family:blair-itc-regular,sans-serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;padding:14px 40px;border-radius:0}
.form .action.btn.btn-primary:hover{background:#a2815c;border-color:#a2815c}
.form input.text,.form input.email,.form select.dropdown,.form textarea.textarea{border-radius:0;border-color:#d8d5cf}
.form input.text:focus,.form input.email:focus,.form select.dropdown:focus,.form textarea.textarea:focus{border-color:#101114;box-shadow:none}

/* ---- sidebar + prev/next ---- */
.sidebar .navigation .heading{font-family:blair-itc-regular,sans-serif;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#101114}
.sidebar .navigation a.link{letter-spacing:.08em}
.previous-next__item__link{letter-spacing:.2em;text-transform:uppercase;font-size:13px}

/* ---- typography ---- */
.typography img{max-width:100%;height:auto}
.typography ul{max-width:52em}
.typography ul li{margin-bottom:8px}

/* ---- homepage page-deck (flip-through pages) ---- */
body.HomePage .content-wrap{scroll-snap-type:y mandatory}
body.HomePage #header{position:absolute;top:0;left:0;right:0}
@media (prefers-reduced-motion:reduce){body.HomePage .content-wrap{scroll-snap-type:none}}
body.HomePage #slider,body.HomePage .home-intro,body.HomePage .img-band,body.HomePage .divisions,body.HomePage .home-works,body.HomePage .skyline-band{scroll-snap-align:start;min-height:100vh}
body.HomePage .footer-menu,body.HomePage #footer{scroll-snap-align:none;min-height:0}
body.HomePage .skyline-band{padding-top:44px;padding-bottom:26px;justify-content:flex-start}
body.HomePage #slider .item{max-height:none !important;height:100vh}
body.HomePage #slider .owl-item,body.HomePage #slider .owl-item .item,body.HomePage #slider .owl-item img{height:100vh !important;max-height:100vh !important}
body.HomePage #slider .owl-item img{object-fit:cover}
body.HomePage .home-intro,body.HomePage .img-band,body.HomePage .divisions,body.HomePage .home-works,body.HomePage .skyline-band{display:flex;flex-direction:column;justify-content:center}
body.HomePage .home-intro{padding-top:48px;padding-bottom:48px}
body.HomePage .img-band{padding-top:48px}
body.HomePage .divisions{padding-top:56px;padding-bottom:56px}
body.HomePage .home-works{padding-top:56px;padding-bottom:56px}
body.HomePage .skyline-band{padding-top:40px;padding-bottom:40px}
.pg-dots{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:900;display:flex;flex-direction:column;gap:13px;background:rgba(16,17,20,.38);padding:13px 9px;border-radius:22px;backdrop-filter:blur(4px)}
.pg-dots button{width:9px;height:9px;padding:0;border:1px solid rgba(255,255,255,.92);background:transparent;border-radius:50%;cursor:pointer;transition:all .25s ease;display:block}
.pg-dots button.on{background:#c9a86a;border-color:#c9a86a;transform:scale(1.3)}
.pg-dots button:hover{border-color:#c9a86a}
/* ---- premium motion layer ---- */
.content-wrap{animation:sh-page .55s ease both}
@keyframes sh-page{from{opacity:0}to{opacity:1}}
.rv,.rv-group>*{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.in-view,.rv-group.in-view>*{opacity:1;transform:none}
.rv-group.in-view>*:nth-child(2){transition-delay:.07s}
.rv-group.in-view>*:nth-child(3){transition-delay:.14s}
.rv-group.in-view>*:nth-child(4){transition-delay:.21s}
.rv-group.in-view>*:nth-child(5){transition-delay:.28s}
.rv-group.in-view>*:nth-child(6){transition-delay:.35s}
html.no-js .rv,html.no-js .rv-group>*{opacity:1;transform:none}
#header{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease}
#header.header-hidden{transform:translateY(-101%)}
#header.scrolled{box-shadow:0 12px 32px rgba(16,17,20,.16)}
#slider .owl-item.active img{animation:sh-kb 7.5s cubic-bezier(.25,.6,.35,1) both}
@keyframes sh-kb{from{transform:scale(1.02)}to{transform:scale(1.09)}}
.caption .typography h2{opacity:0;transform:translateY(26px);animation:sh-rise .9s .3s cubic-bezier(.2,.7,.2,1) forwards}
.caption .typography p{opacity:0;transform:translateY(18px);animation:sh-rise .8s .55s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes sh-rise{to{opacity:1;transform:none}}
.default-banner .item{position:relative}
.default-banner .item img{filter:brightness(.58) saturate(.92)}
.banner-kicker{position:absolute;left:26px;bottom:8px;margin:0;z-index:6;font-family:blair-itc-regular,sans-serif;font-size:clamp(30px,3.8vw,58px);line-height:1.04;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.94);text-shadow:0 2px 26px rgba(0,0,0,.5);max-width:92%;pointer-events:none}
.banner-kicker::after{content:"";display:block;width:64px;height:2px;background:#a2815c;margin-top:13px}
.skyline-band{background:#fff;padding:56px 15px 30px;overflow:hidden}
.skyline-band span{display:block;font-family:blair-itc-regular,sans-serif;font-size:clamp(44px,7.6vw,112px);line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#f1efea;-webkit-text-stroke:1px #d9d6cf}
.projects.section .project-pages .item .image{overflow:hidden}
.projects.section .project-pages .item img{opacity:1;filter:grayscale(38%) contrast(1.03);transform:scale(1.001);transition:filter .6s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.projects.section .project-pages .item:hover img{filter:grayscale(0) contrast(1);transform:scale(1.055)}
.projects.section .project-pages .item .heading{opacity:0;left:0;right:0;padding:12px 8px;background:rgba(16,17,20,.55);color:#fff;font-size:12.5px;letter-spacing:.2em;transform:translateY(calc(-50% + 16px));transition:opacity .4s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.projects.section .project-pages .item:hover .heading{opacity:1;transform:translateY(-50%)}
.btn-line{position:relative;overflow:hidden;background:transparent;z-index:0}
.btn-line::after{content:"";position:absolute;inset:0;background:#101114;transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1}
.btn-line:hover{background:transparent;color:#fff}
.btn-line:hover::after{transform:scaleX(1)}
.content-wrap::-webkit-scrollbar{width:11px}
.content-wrap::-webkit-scrollbar-thumb{background:#cfcac2;border:3px solid #f4f3f1;border-radius:8px}
.content-wrap::-webkit-scrollbar-thumb:hover{background:#a2815c}
::selection{background:#101114;color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid #a2815c;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}.rv,.rv-group>*{opacity:1 !important;transform:none !important}}
