@charset "UTF-8";
:root{--ink:#17242c;--ink-2:#25343c;--charcoal:#101b22;--gold:#d4a66c;--gold-dark:#af7940;--ivory:#f6f5f1;--paper:#fff;--muted:#667176;--line:#dddeda;--wide:1320px;--pagepad:clamp(22px,4.5vw,76px);--header-h:88px;--font:'Arial', 'Helvetica Neue', sans-serif;}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 15px)}body{margin:0;min-width:320px;background:#fff;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}::selection{background:#d4a66c;color:var(--ink)}.skip-link{position:fixed;top:-70px;left:16px;background:#fff;color:#111;z-index:9999;padding:13px}.skip-link:focus{top:12px}.wrap{width:calc(100% - var(--pagepad)*2);max-width:var(--wide);margin:0 auto}.section{padding:clamp(75px,10vw,144px) 0}.cream{background:var(--ivory)}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.17em;font-weight:800;display:inline-flex;align-items:center;gap:11px;text-transform:uppercase;color:#596268;margin-bottom:29px}.eyebrow i{width:19px;height:1px;background:var(--gold-dark);display:inline-block}.eyebrow-light{color:#dbd6cb}.eyebrow-light:before{content:'';width:19px;height:1px;background:var(--gold);display:inline-block}.section h2{font-size:clamp(38px,4.8vw,72px);letter-spacing:-.057em;line-height:1.08;margin:0;font-weight:700}.section h2 em,.hero h1 em{color:var(--gold-dark);font-weight:400;font-style:normal}.section p{font-size:16px;line-height:1.85;color:#626d71}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:46px;font-size:12px;letter-spacing:.055em;text-transform:uppercase;font-weight:800;white-space:nowrap;padding:22px 24px;min-height:59px;transition:background .25s,color .25s,transform .25s,border-color .25s;border:1px solid transparent}.btn:hover{transform:translateY(-3px)}.btn span{font-size:18px;font-weight:400}.btn-gold{background:var(--gold);color:#152028}.btn-gold:hover{background:#e9bd83}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:#263e4a}.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn-line:hover{background:#fff;color:var(--ink)}.btn-outline{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}.btn-outline:hover{background:#fff;color:var(--ink)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border-bottom:1px solid var(--ink);padding:0 0 13px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.07em;transition:color .2s,gap .2s}.text-link:hover{gap:48px;color:var(--gold-dark)}.text-link span{font-size:18px;font-weight:400}.reveal{transition:opacity .72s ease,transform .72s ease}.js-active .reveal:not(.visible){opacity:0;transform:translateY(25px)}.js-active .reveal.visible{opacity:1;transform:none}
/* Header */
.site-header{height:var(--header-h);position:fixed;left:0;right:0;top:0;z-index:100;background:transparent;color:#fff;transition:background .28s,box-shadow .28s,color .28s}.header-inner{height:100%;display:flex;align-items:center;padding:0 clamp(16px,2vw,34px);gap:32px;position:relative;z-index:2}.site-header.is-scrolled,.site-header.menu-open{background:#fff;box-shadow:0 6px 35px rgba(7,20,31,.06);color:var(--ink)}.logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;line-height:1;color:inherit}.logo-icon{display:inline-flex;width:47px;height:47px;align-items:center;justify-content:center;border:1px solid currentColor;padding:7px}.logo-icon svg{width:100%;height:100%}.logo-type{display:flex;flex-direction:column;min-width:0}.logo-type strong{font-size:22px;letter-spacing:.105em;font-weight:800;white-space:nowrap}.logo-type small{font-size:9px;letter-spacing:.31em;margin-top:8px;white-space:nowrap;font-weight:700}.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,1.65vw,33px)}.nav-link{position:relative;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.07em;opacity:.86;padding:17px 0}.nav-link:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .23s}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link.active{opacity:1}.header-call{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.03em;margin-left:13px}.call-circle{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:18px}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;margin-left:auto;cursor:pointer}.menu-toggle span{height:2px;width:19px;background:currentColor;transition:transform .25s,opacity .25s}.menu-open .menu-toggle span:first-child{transform:translateY(8px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:last-child{transform:translateY(-8px) rotate(-45deg)}.mobile-nav{display:none}
/* Hero */
.hero{height:100vh;height:100svh;min-height:620px;background-color:#293a40;background-position:center center;background-size:cover;background-repeat:no-repeat;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}
.hero:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,27,34,.17),transparent 55%)}
.hero-content{padding-left:var(--pagepad);padding-right:var(--pagepad);max-width:1250px;position:relative;z-index:1;width:100%;margin-top:37px}
.hero h1{font-size:clamp(62px,8.2vw,134px);line-height:.98;letter-spacing:-.068em;font-weight:800;max-width:1200px;margin:0 0 45px}
.hero h1 em{color:#edc28f}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.hero-side-label{position:absolute;z-index:2;right:25px;bottom:35px;letter-spacing:.2em;font-size:10px;writing-mode:vertical-rl}
.hero-services h1,.hero-works h1,.hero-about h1,.hero-contact h1{font-size:clamp(60px,7.2vw,116px);max-width:1100px}
.hero-home{background-image:linear-gradient(90deg,rgba(9,20,25,.88) 0%,rgba(9,20,25,.61) 48%,rgba(9,20,25,.30) 100%),url('../images/hero-home.webp');background-position:center 46%}
.hero-services{background-image:linear-gradient(90deg,rgba(9,20,25,.88) 0%,rgba(9,20,25,.61) 48%,rgba(9,20,25,.30) 100%),url('../images/hero-services.webp');background-position:center 55%}
.hero-works{background-image:linear-gradient(90deg,rgba(9,20,25,.88) 0%,rgba(9,20,25,.61) 48%,rgba(9,20,25,.30) 100%),url('../images/hero-works.webp');background-position:center 49%}
.hero-about{background-image:linear-gradient(90deg,rgba(9,20,25,.88) 0%,rgba(9,20,25,.61) 48%,rgba(9,20,25,.30) 100%),url('../images/hero-about.webp');background-position:center 55%}
.hero-contact{background-image:linear-gradient(90deg,rgba(9,20,25,.88) 0%,rgba(9,20,25,.61) 48%,rgba(9,20,25,.30) 100%),url('../images/hero-contact.webp');background-position:center 55%}
/* Home */
.intro-ribbon{background:var(--ink);color:#fff}.intro-ribbon-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:84px}.intro-ribbon span{font-size:10px;font-weight:800;letter-spacing:.14em;white-space:nowrap}.intro-ribbon span:nth-child(2){color:#d2aa78}.intro-ribbon b{padding:0 17px;color:#fff}.intro-grid{display:grid;grid-template-columns:1.1fr .72fr;gap:clamp(40px,9vw,170px)}.intro-heading h2{max-width:730px}.intro-copy{padding-top:58px}.intro-copy p:first-child{font-size:18px;color:#303f46;line-height:1.8}.intro-copy p{margin-top:0;margin-bottom:21px}.intro-copy .text-link{margin-top:21px}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:54px}.split-heading h2{max-width:780px}.split-heading .text-link{flex-shrink:0;margin-bottom:9px}.split-description{max-width:390px;margin-bottom:0}.service-showcase{display:grid;grid-template-columns:1.2fr .85fr;gap:22px}.featured-service{display:block;min-width:0}.media-cover{overflow:hidden;background:#b1bbb9;height:570px}.media-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.featured-service:hover .media-cover img,.service-mini:hover img,.editorial-card:hover img{transform:scale(1.055)}.featured-service-caption{display:flex;align-items:center;justify-content:space-between;padding:28px 2px}.featured-service-caption span:not(.circle-arrow){font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.12em}.featured-service-caption h3{font-size:26px;letter-spacing:-.04em;margin:11px 0 0}.circle-arrow{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;border:1px solid var(--ink);font-size:22px}.service-stack{display:flex;flex-direction:column;gap:22px}.service-mini{position:relative;flex:1;min-height:304px;overflow:hidden;background:#34414a;color:#fff}.service-mini:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,17,23,.9),transparent 70%)}.service-mini img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .7s}.service-mini-content{position:absolute;z-index:1;left:30px;right:30px;bottom:31px}.service-mini-content>span:first-child{font-size:10px;letter-spacing:.13em;color:#f0cfaa}.service-mini h3{margin:13px 45px 0 0;font-size:25px;letter-spacing:-.03em}.mini-arrow{position:absolute;right:0;bottom:0;font-size:26px}.image-text-grid{display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:clamp(50px,8vw,130px)}.image-text-photo{position:relative;min-height:690px}.image-text-photo img{width:100%;height:690px;object-fit:cover}.photo-index{position:absolute;bottom:0;left:0;background:var(--gold);color:var(--ink);padding:16px 25px;font-size:11px;letter-spacing:.15em;font-weight:800}.image-text-body h2{margin-bottom:34px}.image-text-body>p{margin:0 0 30px}.underlines{margin:35px 0 40px;border-top:1px solid var(--line)}.underlines div{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.underlines b{font-size:12px;color:var(--gold-dark)}.underlines span{font-size:15px;line-height:1.45}.showcase-dark{background:var(--ink);color:#fff}.showcase-heading{text-align:center;max-width:890px;margin:0 auto 57px}.showcase-heading h2{max-width:890px}.showcase-heading p{max-width:680px;margin:26px auto 0;color:#b8c1c5}.showcase-dark h2 em,.cta-section h2 em,.about-photostack h2 em{color:var(--gold)}.editorial-gallery{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:repeat(2,285px);gap:22px;margin-bottom:35px}.editorial-card{position:relative;overflow:hidden;background:#32464d}.editorial-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.editorial-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.68),transparent)}.editorial-card span{position:absolute;left:26px;bottom:24px;z-index:1;font-size:11px;letter-spacing:.12em;font-weight:800}.editorial-tall{grid-row:span 2}.showcase-dark>.wrap>.btn{margin-top:10px}.center-heading{text-align:center;max-width:850px;margin:0 auto 65px}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:37px}.step-number{font-size:48px;color:var(--gold-dark);letter-spacing:-.05em;font-weight:300}.step-line{height:1px;background:var(--line);margin:27px 0 28px;position:relative}.step-line:after{content:'';position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:100%;background:var(--gold-dark)}.step h3{font-size:25px;letter-spacing:-.035em;margin:0 0 15px}.step p{margin:0;max-width:355px}.local-grid{display:grid;grid-template-columns:1fr .65fr;gap:70px;align-items:center}.local-grid>div:first-child{max-width:680px}.local-grid p{margin:30px 0}.local-design{height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e9e5dd;position:relative}.local-design:after{content:'';position:absolute;inset:18px;border:1px solid #c4bbad}.local-design span{font-size:clamp(120px,14vw,250px);line-height:1;font-weight:800;letter-spacing:-.11em;color:#cec5b7}.local-design small{position:absolute;bottom:29px;letter-spacing:.2em;font-weight:800;font-size:10px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px)}.faq-grid h2{max-width:450px}.accordion details{border-bottom:1px solid var(--line)}.accordion details:first-child{border-top:1px solid var(--line)}.accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 0;font-size:16px;font-weight:700;cursor:pointer}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:24px;font-weight:300;color:var(--gold-dark);flex-shrink:0;transition:transform .3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion p{margin:0;padding:0 45px 27px 0;font-size:15px}.cta-section{background:#17242c;color:#fff;position:relative;overflow:hidden}.cta-section:before{content:'B';font-size:550px;line-height:1;font-weight:800;color:rgba(255,255,255,.026);position:absolute;right:-45px;top:-140px;pointer-events:none}.cta-content{display:flex;justify-content:space-between;align-items:end;gap:50px;position:relative}.cta-content h2{font-size:clamp(48px,6vw,92px);line-height:1.02}.cta-content p{max-width:650px;color:#bdc5c6;margin-bottom:0}.cta-content>.btn{margin-bottom:7px;flex-shrink:0}
/* Services */
.lead-section{background:#fff}.two-columns{display:grid;grid-template-columns:.47fr 1fr;gap:55px}.two-columns h2{max-width:900px}.two-columns p{max-width:790px;font-size:18px;margin:30px 0 0}.service-detail{border-top:1px solid var(--line)}.service-detail-grid{display:grid;grid-template-columns:1fr .91fr;gap:clamp(55px,9vw,135px);align-items:center}.service-detail.service-alternate{background:#f8f8f6}.service-alternate .detail-visual{order:2}.service-alternate .detail-info{order:1}.detail-visual{position:relative;min-height:640px}.detail-visual img{width:100%;height:640px;object-fit:cover}.detail-photo-num{position:absolute;top:22px;left:22px;z-index:1;background:#fff;padding:11px 16px;font-size:11px;font-weight:800;letter-spacing:.08em}.detail-info h2{font-size:clamp(38px,4.5vw,66px);margin-bottom:17px}.detail-info h3{font-size:20px;letter-spacing:-.03em;margin:0 0 26px;color:var(--gold-dark);font-weight:500}.detail-info>p{margin:0 0 35px}.detail-list{border-top:1px solid var(--line);margin-bottom:40px}.detail-list span{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:14px;font-weight:700}.detail-list span i{font-size:19px;font-style:normal;font-weight:400;color:var(--gold-dark)}.mini-statement{background:var(--gold);padding:57px 0}.mini-statement>.wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}.mini-statement p{font-size:clamp(22px,2.6vw,35px);font-weight:400;line-height:1.4;max-width:890px;color:var(--ink);margin:0;letter-spacing:-.04em}.mini-statement p strong{font-weight:800}
/* Gallery */
.gallery-intro-grid{display:grid;grid-template-columns:1fr .7fr;gap:65px;align-items:end}.gallery-intro-grid p{margin:0;max-width:510px}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:60px 0 30px}.filter-btn{background:transparent;color:#58636a;border:1px solid var(--line);padding:13px 19px;cursor:pointer;font-size:12px;font-weight:700;transition:background .2s,color .2s}.filter-btn:hover,.filter-btn.is-selected{background:var(--ink);color:#fff;border-color:var(--ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.portfolio-item{display:flex;flex-direction:column;min-width:0;padding:0;border:0;appearance:none;cursor:zoom-in;background:transparent;text-align:left;color:var(--ink)}.portfolio-item[hidden]{display:none}.portfolio-media{display:block;width:100%;height:390px;overflow:hidden;background:#d1d3d1}.portfolio-item:nth-child(3n+2) .portfolio-media{height:475px}.portfolio-item:nth-child(3n+3) .portfolio-media{height:330px}.portfolio-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-footer{display:flex;justify-content:space-between;gap:13px;padding-top:20px}.portfolio-footer b{display:block;font-size:15px;line-height:1.4}.portfolio-footer small{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.portfolio-plus{font-size:24px;font-weight:300}.gallery-caption{margin:52px 0 0!important;border-top:1px solid var(--line);padding-top:20px;font-size:12px!important;color:var(--muted)}.lightbox{position:fixed;max-width:min(1150px,90vw);max-height:92vh;border:0;padding:0;background:#121c21;color:#fff;box-shadow:0 16px 90px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(7,17,20,.9)}.lightbox img{max-height:75vh;max-width:90vw;width:auto;height:auto;object-fit:contain}.lightbox #lightbox-title{padding:17px 25px;font-size:13px}.lightbox-close{position:absolute;right:10px;top:10px;width:43px;height:43px;background:#fff;color:#111;border:0;font-size:29px;cursor:pointer;z-index:2}.works-idea-grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(45px,9vw,135px);align-items:center}.works-idea-grid>div:first-child{max-width:610px}.works-idea-grid p{margin:30px 0 35px}.works-idea-photo img{height:540px;width:100%;object-fit:cover}
/* About */
.about-opening-grid{display:grid;grid-template-columns:1fr .62fr;gap:clamp(55px,10vw,150px)}.about-large h2{max-width:760px}.about-side{padding-top:55px}.about-side p:first-child{font-size:18px;color:#2a3942}.about-side .text-link{margin-top:18px}.about-picture{padding-top:0}.about-picture-main{position:relative}.about-picture-main img{height:670px;width:100%;object-fit:cover;object-position:center 46%}.about-picture-caption{display:flex;justify-content:space-between;background:var(--ivory);color:var(--muted);padding:17px 0;font-size:10px;letter-spacing:.15em;font-weight:800}.principles-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);margin-top:50px}.principle{padding:42px 34px 10px 0}.principle:not(:first-child){border-left:1px solid var(--line);padding-left:34px}.principle span{color:var(--gold-dark);font-size:13px;font-weight:700}.principle h3{font-size:24px;letter-spacing:-.035em;margin:50px 0 15px}.principle p{font-size:15px;line-height:1.75}.dark-block{background:var(--ink);color:#fff}.about-photostack-grid{display:grid;grid-template-columns:.75fr 1.2fr;gap:clamp(55px,9vw,135px);align-items:center}.photostack-text h2{font-size:clamp(40px,4.7vw,70px)}.photostack-text p{color:#bac2c4;margin:35px 0}.photostack-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:center}.photostack-grid img{width:100%;height:490px;object-fit:cover}.photostack-grid img:last-child{height:380px}.territory-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,9vw,130px);align-items:center}.territory-symbol{height:415px;background:var(--ivory);display:flex;align-items:center;justify-content:center;flex-direction:column}.territory-symbol span{font-size:clamp(160px,18vw,300px);font-weight:800;color:#d9d4ca;line-height:1;letter-spacing:-.11em}.territory-symbol small{font-size:11px;letter-spacing:.15em;margin-top:10px}.territory-grid p{margin:27px 0}
/* Contact */
.contact-primary-grid{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(40px,8vw,110px)}.contact-primary-grid>div:first-child{max-width:600px}.contact-primary-grid p{margin-top:28px}.big-contact{background:var(--ivory);padding:clamp(28px,4vw,65px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.big-contact>span:first-child{font-size:11px;letter-spacing:.15em;font-weight:800;color:#586267}.big-contact a{display:flex;align-items:center;gap:15px;border-bottom:1px solid #b4b9b5;padding:22px 0;white-space:nowrap;font-size:clamp(26px,3.1vw,46px);letter-spacing:-.055em;font-weight:800}.big-contact a i{font-style:normal;color:var(--gold-dark);font-size:30px;font-weight:400}.contact-location{margin-top:27px;color:var(--muted);font-size:13px}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.map-heading p{max-width:330px;margin:0}.map-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:22px}.map-frame{height:500px;background:#e1e4e0;overflow:hidden}.map-frame iframe{height:100%;width:100%;border:0;display:block}.map-panel{background:var(--ink);color:#fff;padding:clamp(28px,3.2vw,50px);display:flex;flex-direction:column;justify-content:center}.map-panel-kicker{font-size:10px;letter-spacing:.15em;color:var(--gold)}.map-panel h3{font-size:clamp(26px,2.7vw,42px);line-height:1.16;letter-spacing:-.045em;margin:30px 0 18px}.map-panel p{font-size:15px;color:#c3cccf;margin:0 0 33px}.map-panel .text-link{color:#fff;border-color:#a5b0b3;align-self:flex-start;white-space:nowrap}.contact-guidance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.contact-guidance-grid>div{border-top:1px solid var(--line);padding:28px 12px 0 0}.contact-guidance-grid span{color:var(--gold-dark);font-size:11px;font-weight:800;letter-spacing:.11em}.contact-guidance-grid h3{font-size:25px;margin:35px 0 12px}.contact-guidance-grid p{margin:0}
/* Footer */
.footer{background:#10191e;color:#fff;padding:82px 0 0}.footer-top{display:grid;grid-template-columns:1.6fr .55fr .8fr .75fr;gap:40px;padding-bottom:72px}.footer .logo{color:#fff}.footer-intro p{max-width:370px;color:#a7b0b3;font-size:14px;line-height:1.9;margin-top:31px}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:17px}.footer-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:800;margin-bottom:10px}.footer-col a,.footer-col>span:not(.footer-label){font-size:13px;color:#c5cbd0;line-height:1.35;transition:color .2s}.footer-col a:hover{color:var(--gold)}.footer-col .footer-phone{font-size:20px;font-weight:700;color:#fff;white-space:nowrap}.footer-bottom{border-top:1px solid #324147;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#8a959a;letter-spacing:.02em}.footer-bottom a{color:#d3b58f}.floating-phone{position:fixed;bottom:24px;right:24px;z-index:110;display:grid;place-items:center;height:61px;width:61px;border-radius:50%;background:var(--gold);color:var(--ink);box-shadow:0 5px 25px #0004;transition:transform .2s}.floating-phone:hover{transform:translateY(-4px)}

/* Refined photography, map and responsive details */
.city-map{position:relative;height:410px;background:#e5eae7;overflow:hidden;border:1px solid rgba(23,36,44,.13);box-shadow:0 14px 40px rgba(23,36,44,.055)}
.city-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.16) contrast(.98)}
.city-map-link{position:absolute;right:15px;bottom:16px;z-index:2;padding:13px 18px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;box-shadow:0 6px 22px #0002;transition:background .2s}
.city-map-link:hover{background:var(--gold)}
.city-map-about{height:415px}
.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:48px}
.portfolio-item .portfolio-media,.portfolio-item:nth-child(3n+2) .portfolio-media,.portfolio-item:nth-child(3n+3) .portfolio-media{height:auto;aspect-ratio:1.48 / 1}
.portfolio-item:nth-child(2) .portfolio-media,.portfolio-item:nth-child(3) .portfolio-media{aspect-ratio:1.35/1}.hero h1{text-shadow:0 5px 28px rgba(0,0,0,.20)}
.gallery-caption{max-width:850px}
@media(max-width:1020px){.portfolio-grid{column-gap:20px;row-gap:35px}.city-map,.city-map-about{height:390px}}
@media(max-width:767px){.city-map,.city-map-about{height:345px;width:100%;min-width:0}.portfolio-grid{grid-template-columns:1fr;gap:30px}.portfolio-item .portfolio-media,.portfolio-item:nth-child(2) .portfolio-media,.portfolio-item:nth-child(3) .portfolio-media{aspect-ratio:1.22/1}.city-map-link{right:12px;bottom:12px}.hero-home{background-position:center 58%}}
/* A lightweight schematic map remains visible if a visitor has no connection. */
.city-map,.map-frame{position:relative;isolation:isolate}
.map-fallback{position:absolute;inset:0;z-index:0;background:#e6ebdf;overflow:hidden}
.map-fallback img{display:block;width:100%;height:100%;object-fit:cover}
.embedded-map{position:relative;z-index:1;opacity:0;transition:opacity .3s ease}
.map-loaded .embedded-map{opacity:1}
.city-map-link{z-index:3}
