:root{--navy:#132a38;--ink:#101522;--gold:#b8965a;--gold-dark:#826228;--ivory:#f7f5f0;--muted:#62666b;--line:#deded9;--white:#fff;--serif:'Libre Caslon Text',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--container:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bc9856;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #a27e42;outline-offset:3px}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(36px,4.1vw,58px);line-height:1.12;letter-spacing:-1.7px}h3{font-size:28px;line-height:1.2}p{color:var(--muted)}button{border:0;background:none}select{cursor:pointer}::selection{background:#eadcc1;color:var(--navy)}[hidden]{display:none!important}.container{width:calc(100% - 160px);max-width:var(--container);margin-inline:auto}.section{padding:100px 0}.section-ivory{background:var(--ivory)}.eyebrow{font:500 12px/1.5 var(--sans);letter-spacing:3.4px;margin-bottom:22px}.gold{color:var(--gold-dark)}.icon{width:22px;height:22px;flex-shrink:0}.icon-white{filter:brightness(0) invert(1)}.icon-gold{filter:invert(61%) sepia(40%) saturate(423%) hue-rotate(0deg) brightness(88%) contrast(92%)}.button{display:inline-flex;min-height:56px;padding:14px 26px;gap:16px;align-items:center;justify-content:center;border-radius:2px;font-size:15px;font-weight:500;line-height:1.4;transition:background .2s,color .2s,transform .2s;white-space:normal}.button:hover{transform:translateY(-2px)}.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:#234454}.button-outline{border:1px solid var(--navy);color:var(--navy)}.button-outline:hover{background:var(--navy);color:#fff}.button-gold{background:var(--gold);color:#102431}.button-gold:hover{background:#d0b176}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.text-link{display:inline-flex;align-items:center;gap:18px;padding:6px 0;color:var(--gold-dark);font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.text-link .icon{width:20px}.text-link:hover{color:var(--navy)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading h2{max-width:770px}.section-intro{max-width:320px;font-size:15px;line-height:1.8;padding-bottom:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:20px;top:-80px;background:var(--navy);color:#fff;padding:12px;z-index:100}.skip-link:focus{top:10px}
.site-header{height:96px;background:#fff;position:relative;z-index:5}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{width:222px;height:auto}.site-header nav{display:flex;align-items:center;gap:33px}.site-header nav>a{font-size:14px;font-weight:500}.site-header nav>a:not(.button):hover{color:var(--gold-dark)}.header-contact{min-height:48px;margin-left:3px;padding:12px 26px}.menu-toggle{display:none}
.hero{height:554px;position:relative;color:white;background:#213648}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero-shade{position:absolute;inset:0;background:rgba(8,22,36,.19)}.hero-copy{position:relative;padding-top:94px;z-index:1}.hero-copy .eyebrow{color:#fff;margin-bottom:18px;letter-spacing:6px;font-size:13px}.hero h1{font-size:clamp(58px,6.05vw,88px);letter-spacing:-1.9px;line-height:.99;margin-left:-3px}.hero-subtitle{font-size:24px;margin-top:22px;color:#fff;line-height:1.5}.search-position{position:absolute;left:0;right:0;bottom:-75px;z-index:3}.property-search{background:#fff;border-radius:3px;color:var(--ink);box-shadow:0 14px 30px rgba(25,35,42,.1);padding:0 28px 20px}.search-tabs{display:flex;gap:25px;border-bottom:1px solid #e1e2e3;height:49px;align-items:stretch}.search-tab{position:relative;padding:9px 18px;font-size:15px;border-bottom:3px solid transparent}.search-tab.active{border-bottom-color:var(--gold);font-weight:600}.search-tab:hover{color:var(--gold-dark)}.search-fields{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;padding-top:19px}.search-field{display:flex;flex-direction:column;gap:1px;padding:0 25px;border-right:1px solid var(--line);min-width:0}.search-field:first-child{padding-left:4px}.search-field>span{font-size:12px;color:#5d6570}.search-field select{border:0;border-radius:0;padding:0 25px 2px 0;background:#fff url('./icons/caret-down.svg') no-repeat right 7px center;background-size:15px;appearance:none;width:100%;font-size:16px;font-weight:600;color:var(--ink);height:29px}.search-submit{margin-left:24px;min-height:59px;font-size:15px;gap:17px}
.portfolio{padding:121px 0 28px}.portfolio-heading{margin-bottom:29px}.portfolio-heading h2{font-size:clamp(37px,4.4vw,62px)}.portfolio-heading .text-link{margin-bottom:7px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}.property-card{min-width:0}.property-photo{position:relative;overflow:hidden;aspect-ratio:1.6;background:#dfdfd8}.property-open{display:block;padding:0;width:100%;height:100%;text-align:left}.property-open img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-open:hover img{transform:scale(1.035)}.property-badge{position:absolute;top:12px;left:13px;padding:5px 14px;border-radius:2px;background:var(--gold);color:#172b35;font-size:13px;font-weight:500;pointer-events:none}.favorite{position:absolute;right:9px;top:7px;background:rgba(16,29,36,.18);width:40px;height:40px}.favorite .icon{filter:brightness(0) invert(1);width:24px;height:24px}.favorite[aria-pressed=true]{background:var(--gold)}.favorite[aria-pressed=true] .icon{filter:none}.property-body{padding-top:13px}.property-title{font:400 25px/1.2 var(--serif);text-align:left;padding:0;letter-spacing:-.25px}.property-title:hover{color:var(--gold-dark)}.property-location{font-size:15px;margin-top:4px}.property-price{font-weight:700;font-size:23px;line-height:1.5;display:block;margin-top:4px;letter-spacing:-.5px}.property-price small{font-size:13px;font-weight:400;color:var(--muted)}.property-specs{font-size:14px;color:#424c54;margin-top:4px;display:flex;gap:13px;align-items:center}.property-specs span+span{border-left:1px solid #c6c7c5;padding-left:13px}.sample-note{font-size:12px;color:#767976;margin-top:29px}.result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:-8px 0 25px;font-size:14px}.result-actions{display:flex;align-items:center;gap:24px}.result-actions select{padding:9px 24px 9px 10px;border:1px solid var(--line);background:#fff;font-size:13px}.empty-state{text-align:center;padding:45px 20px}.empty-state .large-icon{width:44px;margin:0 auto 20px}.empty-state p{margin:14px 0 25px}
.consultation-band{background:var(--navy);color:#fff;padding:42px 0 44px}.consultation-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.consultation-inner h2{font-size:clamp(32px,3.5vw,50px);letter-spacing:-1px}.consultation-inner p{font-size:22px;color:#d6dfe3;margin-top:8px}.consultation-inner .button{min-width:285px;min-height:63px}
.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.region{padding:0;text-align:left;position:relative;overflow:hidden;aspect-ratio:1.13;background:var(--navy);color:#fff}.region>img{width:100%;height:100%;object-fit:cover;transition:transform .6s;opacity:.83}.region:hover>img{transform:scale(1.04);opacity:1}.region-copy{position:absolute;inset:auto 0 0;padding:24px;background:rgba(12,33,47,.76);display:flex;align-items:center;justify-content:space-between;gap:10px}.region-copy small{font-size:9px;letter-spacing:1.8px;display:block;color:#e1d2b8;line-height:1.5;margin-bottom:6px}.region-copy strong{font:400 36px/1.1 var(--serif);letter-spacing:-.5px}.round-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid #83939a;border-radius:50%;flex-shrink:0}
.about-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:90px;align-items:center}.about-image{position:relative;align-self:stretch;min-height:570px}.about-image>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-caption{position:absolute;bottom:30px;left:30px;background:var(--ivory);padding:20px 28px;min-width:260px}.image-caption span{font-size:10px;letter-spacing:2px;color:var(--gold-dark)}.image-caption p{font:32px/1.25 var(--serif);color:var(--navy);margin-top:5px}.about-copy .lead{font-size:19px;line-height:1.5;color:var(--navy);margin:22px 0 14px}.about-copy>p:not(.eyebrow):not(.lead){font-size:15px;line-height:1.8}.service-list{margin:26px 0 22px}.service-row{display:flex;gap:20px;padding:18px 0;border-top:1px solid #dddcd5}.service-icon{width:29px;height:29px;margin-top:3px;filter:invert(45%) sepia(25%) saturate(743%) hue-rotate(0deg) brightness(86%) contrast(91%)}.service-row h3{font:500 16px/1.4 var(--sans)}.service-row p{font-size:13px;margin-top:5px;line-height:1.6}
.project-feature{display:grid;grid-template-columns:1.35fr 1fr;background:var(--ivory)}.project-feature>img{width:100%;height:100%;object-fit:cover;min-height:410px}.project-copy{padding:45px 42px}.project-copy .eyebrow{font-size:10px;color:var(--gold-dark);letter-spacing:2px;margin-bottom:16px}.project-copy h3{font-size:49px;line-height:1.04;letter-spacing:-1.3px}.project-copy>p:not(.eyebrow){margin:21px 0;font-size:15px}.project-tags{display:flex;gap:17px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin:0 0 28px;font-size:12px}.project-tags span{display:flex;align-items:center;gap:6px}.project-tags .icon{width:17px;height:17px}.project-copy .button{font-size:14px}
.center-heading{text-align:center;max-width:800px;margin:0 auto 54px}.center-heading .eyebrow{margin-bottom:14px}.center-heading>p:last-child{margin-top:18px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px}.process-grid>div{position:relative;padding-top:24px;border-top:1px solid #cfc7b7}.step-number{font:400 45px/1 var(--serif);color:var(--gold-dark);display:block;margin-bottom:25px}.process-grid h3{font-size:28px}.process-grid p{font-size:15px;line-height:1.8;margin-top:13px;max-width:310px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-grid>div>p:not(.eyebrow){margin:25px 0 15px;font-size:15px;line-height:1.8}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;font-size:16px;font-weight:500;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{width:21px;transition:transform .2s}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:1.85;padding:0 42px 25px 0}
.contact-section{background:var(--navy);color:#fff}.contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:110px;align-items:center}.contact-copy .eyebrow{color:#d2b47d}.contact-copy h2{font-size:74px;line-height:1.03;letter-spacing:-1.7px}.contact-copy>p:not(.eyebrow){color:#c7d2d8;font-size:17px;line-height:1.8;margin-top:23px;max-width:355px}.contact-details{display:grid;gap:18px;margin-top:34px}.contact-details>div{display:flex;align-items:center;gap:14px;font-size:15px;color:#dce3e6}.contact-note{display:flex;align-items:center;gap:15px;border-top:1px solid #3c4f5b;margin-top:35px;padding-top:26px;font-size:13px;color:#d2b47d}.contact-form{padding:38px;background:#fff;color:var(--ink)}.contact-form h3{font-size:31px;margin-bottom:26px}.contact-form label{display:flex;flex-direction:column;font-size:12px;font-weight:500;gap:7px;margin-bottom:17px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #d7d9d8;padding:12px;color:var(--ink);font-size:14px;width:100%;background:#fff;border-radius:0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#81858b}.contact-form textarea{resize:vertical;min-height:100px}.form-note{font-size:11px;line-height:1.7;margin:0 0 16px}.contact-form .button{width:100%;justify-content:space-between;min-height:53px}
.site-footer{background:var(--navy);color:#fff;padding:64px 0 22px;border-top:1px solid #334956}.footer-main{display:grid;grid-template-columns:2fr 1fr 1.1fr 1.1fr;gap:60px;padding-bottom:56px}.footer-brand img{width:202px;height:auto}.footer-brand p{font-size:13px;color:#c0ccd2;line-height:1.85;margin-top:24px;max-width:290px}.footer-main h3{font:500 13px/1.4 var(--sans);margin-bottom:22px;color:#fff}.footer-main>div>a:not(.text-link){display:block;font-size:13px;margin:9px 0;color:#c0ccd2}.footer-main>div>a:hover{color:#d2b47d}.footer-cta p{font:29px/1.25 var(--serif);color:#fff;margin-bottom:14px}.footer-cta .text-link{color:#d2b47d}.footer-bottom{border-top:1px solid #334956;padding:22px 0 0;display:flex;align-items:center;gap:28px;font-size:11px}.footer-bottom p{color:#bac8ce;margin-right:auto}.footer-legal{color:#bac8ce;font-size:11px;padding:4px 0}.back-top{display:flex;align-items:center;gap:9px;color:#bac8ce}.back-top .icon{width:14px;height:14px}.demo-disclosure{color:#b9c5cb;font-size:10px;margin-top:10px}
.detail-dialog,.info-dialog{border:0;padding:0;width:min(900px,calc(100% - 40px));max-height:calc(100dvh - 50px);color:var(--ink);background:#fff;overflow:auto;box-shadow:0 22px 100px #07131b66}.info-dialog{max-width:580px;padding:44px}.detail-dialog::backdrop,.info-dialog::backdrop{background:rgba(6,20,30,.68)}.dialog-close{position:absolute;right:16px;top:16px;background:#fff;z-index:2;box-shadow:0 2px 10px #14283320}.detail-image{width:100%;height:320px;object-fit:cover}.detail-main{padding:32px 38px}.detail-main h2{font-size:44px;padding-right:35px}.detail-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px}.detail-location{display:flex;align-items:center;gap:7px;font-size:14px;margin:12px 0}.detail-location .icon{width:17px}.detail-price{display:block;font-size:29px;margin:17px 0;color:var(--navy)}.detail-specs{display:flex;gap:30px;border-block:1px solid var(--line);padding:18px 0;margin-bottom:20px;flex-wrap:wrap}.detail-specs span{display:flex;align-items:center;gap:8px;font-size:14px}.detail-main>p{font-size:15px;line-height:1.8}.detail-actions{display:flex;gap:15px;align-items:center;margin-top:25px}.detail-demo{font-size:11px!important;margin-top:20px;color:#73797e}.info-dialog h2{font-size:38px;margin:8px 20px 20px 0}.info-dialog p{font-size:14px;margin-top:12px;line-height:1.8}.info-dialog dl{margin:22px 0;padding:20px;background:var(--ivory);overflow-wrap:anywhere}.info-dialog dt{font-size:11px;color:var(--gold-dark);margin-top:12px}.info-dialog dt:first-child{margin-top:0}.info-dialog dd{margin:3px 0 0;font-size:14px;white-space:pre-wrap}.info-dialog .button{margin-top:22px;width:100%}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 40px);padding:14px 24px;background:var(--navy);color:#fff;z-index:30;border:1px solid #617077;box-shadow:0 6px 30px #0d222329;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;font-size:14px}.toast.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}.noscript{padding:20px;background:#f1ddad;color:#202a30;text-align:center}
@media(min-width:1600px){.hero{height:600px}.hero-copy{padding-top:108px}}
@media(max-width:1250px) and (min-width:961px){.container{width:calc(100% - 132px)}.site-header{height:80px}.brand img{width:184px}.site-header nav{gap:28px}.site-header nav>a{font-size:12px}.header-contact{min-height:40px;padding:9px 23px}.hero{height:456px}.hero-copy{padding-top:77px}.hero h1{font-size:76px}.hero-subtitle{font-size:20px;margin-top:19px}.hero-copy .eyebrow{font-size:11px;letter-spacing:5px;margin-bottom:15px}.search-position{bottom:-63px}.property-search{padding:0 24px 17px}.search-tabs{height:41px}.search-tab{font-size:13px;padding:7px 13px}.search-fields{padding-top:16px}.search-field{padding:0 22px}.search-field>span{font-size:10px}.search-field select{font-size:14px;height:26px}.search-submit{min-height:49px;font-size:13px;margin-left:20px;padding:13px}.portfolio{padding-top:100px;padding-bottom:24px}.portfolio-heading{margin-bottom:23px}.portfolio-heading h2{font-size:52px}.portfolio-heading .text-link{font-size:12px}.property-grid{gap:24px}.property-body{padding-top:11px}.property-title{font-size:21px}.property-location{font-size:13px}.property-price{font-size:20px;margin-top:3px}.property-specs{font-size:12px}.sample-note{font-size:10px;margin-top:24px}.consultation-band{padding:35px 0 36px}.consultation-inner h2{font-size:42px}.consultation-inner p{font-size:19px}.consultation-inner .button{min-height:53px;min-width:240px;font-size:12px}.about-grid{gap:55px}.contact-grid{gap:65px}.footer-main{gap:35px}.project-copy{padding:34px}.project-copy h3{font-size:43px}}
@media(max-width:960px){.container{width:calc(100% - 64px)}.site-header{height:84px}.brand img{width:192px}.site-header nav{gap:18px}.site-header nav>a{font-size:12px}.header-contact{padding:10px 15px;min-height:44px}.hero{height:540px}.hero h1{font-size:73px}.hero-copy{padding-top:86px}.hero-subtitle{font-size:21px}.search-field{padding:0 12px}.search-submit{margin-left:14px;padding:13px;font-size:13px;gap:8px}.search-field select{font-size:14px}.section{padding:76px 0}.property-grid{gap:20px}.property-title{font-size:23px}.property-location{font-size:13px}.property-price{font-size:21px}.consultation-inner h2{font-size:39px}.consultation-inner p{font-size:17px}.consultation-inner .button{min-width:220px}.section-heading{gap:25px}.section-intro{font-size:14px;max-width:260px}.region-grid{gap:20px}.region-copy{padding:20px}.region-copy small{font-size:8px;letter-spacing:1px}.region-copy strong{font-size:31px}.round-arrow{width:34px;height:34px}.about-grid{gap:42px}.about-image{min-height:540px}.about-copy h2{font-size:44px}.image-caption{left:20px;bottom:20px;min-width:0;padding:17px}.project-copy{padding:32px}.project-copy h3{font-size:40px}.project-feature{grid-template-columns:1fr 1fr}.project-copy .button{padding:13px 18px}.process-grid{gap:35px}.faq-grid{gap:45px;grid-template-columns:.9fr 1.1fr}.contact-grid{gap:44px}.contact-copy h2{font-size:62px}.contact-form{padding:28px}.form-pair{grid-template-columns:1fr;gap:0}.footer-main{gap:28px;grid-template-columns:1.6fr 1fr 1fr}.footer-cta{display:none}}
@media(max-width:760px){html{scroll-padding-top:20px}.container{width:calc(100% - 40px)}.site-header{height:78px}.brand img{width:171px}.menu-toggle{display:grid}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 15px 25px #132a3812;align-items:stretch;gap:0}.site-header nav.open{display:flex;flex-direction:column}.site-header nav>a{font-size:16px;padding:13px 10px}.header-contact{margin:12px 0 0}.hero{height:476px}.hero-image{object-position:64% 50%}.hero-shade{background:rgba(8,23,36,.37)}.hero-copy{padding-top:57px}.hero-copy .eyebrow{font-size:10px;letter-spacing:4px;margin-bottom:17px}.hero h1{font-size:58px;line-height:1.03;letter-spacing:-1.6px}.hero-subtitle{font-size:16px;max-width:270px;line-height:1.7;margin-top:18px}.search-position{bottom:-170px}.property-search{padding:0 19px 20px}.search-tabs{height:48px}.search-tab{font-size:14px;padding:11px 16px}.search-fields{grid-template-columns:1fr 1fr;gap:17px 0;padding-top:18px}.search-field{padding:0 12px 0 0;min-height:48px}.search-field:nth-child(2){border-right:0;padding-left:15px;padding-right:0}.search-field:nth-child(3){border-right:1px solid var(--line)}.search-field:first-child{padding-left:0}.search-field>span{font-size:10px}.search-field select{font-size:13px;height:30px;background-position:right 2px center;background-size:13px}.search-submit{margin-left:15px;min-height:50px;padding:10px 8px;gap:7px;font-size:12px}.search-submit .icon{width:18px}.portfolio{padding-top:213px;padding-bottom:28px}.portfolio-heading{display:block;margin-bottom:24px}.portfolio-heading h2{font-size:40px;letter-spacing:-1.2px}.portfolio-heading .text-link{margin-top:9px;margin-bottom:0}.property-grid{grid-template-columns:1fr;gap:33px}.property-photo{aspect-ratio:1.6}.property-title{font-size:27px}.property-body{padding-top:14px}.property-location{font-size:14px}.property-price{font-size:23px}.property-specs{font-size:13px}.property-badge{font-size:12px}.sample-note{margin-top:24px}.consultation-band{padding:34px 0 37px}.consultation-inner{display:block}.consultation-inner h2{font-size:37px;line-height:1.13;max-width:345px}.consultation-inner p{font-size:16px;max-width:300px;margin-top:13px}.consultation-inner .button{margin-top:24px;min-height:54px;min-width:0;width:100%;justify-content:space-between;padding-inline:22px}.section{padding:62px 0}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:40px;line-height:1.12;letter-spacing:-1.1px}.section-heading .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:17px}.section-intro{max-width:100%;font-size:14px;line-height:1.8;margin-top:20px}.region-grid{grid-template-columns:1fr;gap:18px}.region{aspect-ratio:1.36}.region-copy{padding:21px 23px}.region-copy small{font-size:9px;letter-spacing:1.5px}.region-copy strong{font-size:35px}.round-arrow{width:40px;height:40px}.about-grid{display:flex;flex-direction:column;gap:35px;align-items:stretch}.about-image{height:410px;min-height:0}.about-image>img{object-position:50% 60%}.image-caption{padding:16px 24px}.image-caption p{font-size:29px}.about-copy h2{font-size:43px}.about-copy .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:18px}.about-copy .lead{font-size:18px}.service-row{gap:16px;padding-block:19px}.service-row h3{font-size:15px}.service-row p{font-size:13px}.about-copy .text-link{font-size:13px;gap:10px}.project-feature{grid-template-columns:1fr}.project-feature>img{min-height:0;height:270px}.project-copy{padding:30px 25px}.project-copy h3{font-size:43px}.project-copy .button{width:100%;justify-content:space-between}.project-tags{font-size:11px;gap:13px}.center-heading{text-align:left;margin-bottom:34px}.center-heading h2{font-size:40px}.center-heading .eyebrow{font-size:10px;letter-spacing:2px}.center-heading>p:last-child{font-size:15px;line-height:1.8}.process-grid{grid-template-columns:1fr;gap:27px}.process-grid>div{padding-top:20px}.step-number{font-size:38px;margin-bottom:15px}.process-grid h3{font-size:29px}.process-grid p{font-size:14px;max-width:none}.faq-grid{grid-template-columns:1fr;gap:31px}.faq-grid h2{font-size:43px}.faq-grid .eyebrow{font-size:10px;letter-spacing:2px}.faq-grid>div>p:not(.eyebrow){margin:18px 0 10px}.faq-list summary{font-size:15px;padding:21px 0;gap:17px}.faq-list details p{font-size:13px;padding-right:10px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-copy h2{font-size:57px}.contact-copy .eyebrow{font-size:10px;letter-spacing:2px}.contact-copy>p:not(.eyebrow){font-size:15px;margin-top:20px}.contact-details{margin-top:23px;gap:13px}.contact-note{margin-top:24px;padding-top:23px}.contact-form{padding:27px 22px}.contact-form h3{font-size:31px}.contact-form label{font-size:12px}.contact-form input,.contact-form select,.contact-form textarea{font-size:16px}.form-note{font-size:11px}.site-footer{padding:44px 0 24px}.footer-main{grid-template-columns:1fr 1fr;gap:36px 25px;padding-bottom:30px}.footer-brand{grid-column:1/-1}.footer-brand img{width:180px}.footer-brand p{margin-top:17px;font-size:12px}.footer-main h3{margin-bottom:17px}.footer-main>div>a:not(.text-link){font-size:13px}.footer-bottom{display:flex;flex-wrap:wrap;gap:15px 20px;padding-top:23px}.footer-bottom p{width:100%;font-size:10px}.footer-legal,.back-top{font-size:10px}.back-top{margin-left:auto}.demo-disclosure{font-size:9px;line-height:1.8;margin-top:16px}.result-toolbar{display:block;margin:0 0 20px}.result-actions{gap:12px;margin-top:12px;justify-content:space-between}.result-actions select{max-width:195px;font-size:11px}.result-actions .text-link{font-size:11px}.detail-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 30px)}.detail-image{height:235px}.detail-main{padding:25px}.detail-main h2{font-size:35px;padding-right:0}.detail-price{font-size:26px}.detail-specs{gap:17px;font-size:12px}.detail-specs .icon{width:18px}.detail-actions{flex-direction:column;align-items:stretch}.detail-actions .button{width:100%}.detail-main>p{font-size:14px}.info-dialog{padding:35px 24px;width:calc(100% - 30px)}.info-dialog h2{font-size:34px}.toast{font-size:12px;padding:12px 17px;width:max-content;text-align:center}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero h1{font-size:51px}.hero-subtitle{font-size:15px}.search-submit{font-size:11px;gap:5px}.search-submit .icon{width:15px}.portfolio-heading h2{font-size:35px}.contact-form{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Reference-matched type proportions. */
.hero h1{font-size:clamp(56px,5.25vw,76px);line-height:1.08;letter-spacing:-2px}
.portfolio-heading h2{font-size:clamp(34px,3.6vw,52px);letter-spacing:-1.7px}
.property-title{font-size:22px;letter-spacing:-.55px}
.consultation-inner h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-1.6px}
h2{font-size:clamp(34px,3.6vw,52px)}
.region-copy strong{font-size:30px}.about-copy h2{font-size:46px}.image-caption p{font-size:27px}.project-copy h3{font-size:42px}.process-grid h3{font-size:24px}.contact-copy h2{font-size:65px}.contact-form h3{font-size:26px}.footer-cta p{font-size:25px}.detail-main h2{font-size:36px}.info-dialog h2{font-size:32px}
@media(max-width:1250px) and (min-width:961px){.hero h1{font-size:62px;line-height:1.1}.hero-subtitle{margin-top:18px}.portfolio-heading h2{font-size:42px}.property-title{font-size:19px}.consultation-inner h2{font-size:37px}.about-copy h2{font-size:40px}.project-copy h3{font-size:36px}.contact-copy h2{font-size:60px}}
@media(max-width:960px) and (min-width:761px){.hero h1{font-size:65px}.portfolio-heading h2{font-size:43px}.property-title{font-size:19px}.consultation-inner h2{font-size:33px}.about-copy h2{font-size:36px}.project-copy h3{font-size:34px}.contact-copy h2{font-size:55px}.contact-form h3{font-size:24px}}
@media(max-width:760px){.hero h1{font-size:47px;line-height:1.12;letter-spacing:-1.8px}.hero-subtitle{margin-top:18px}.portfolio-heading h2{font-size:33px;letter-spacing:-1.4px}.property-title{font-size:23px}.consultation-inner h2{font-size:31px;letter-spacing:-1px}.section-heading h2,.center-heading h2{font-size:34px;letter-spacing:-1.25px}.region-copy strong{font-size:30px}.about-copy h2,.faq-grid h2{font-size:35px;letter-spacing:-1.3px}.image-caption p{font-size:24px}.project-copy h3{font-size:35px;letter-spacing:-1.2px}.process-grid h3{font-size:24px}.contact-copy h2{font-size:49px}.contact-form h3{font-size:25px}.detail-main h2{font-size:29px;letter-spacing:-1px}.info-dialog h2{font-size:28px;letter-spacing:-1px}}
@media(max-width:360px){.hero h1{font-size:43px}.portfolio-heading h2{font-size:30px}.contact-copy h2{font-size:44px}}

.footer-brand img{mix-blend-mode:lighten}

/* ===================================================================
   hızlıkobi panel additions below this line — the block above is the
   NOVA reference theme's own styles.css, byte-for-byte. Everything
   below adapts it to a real multi-page, multi-tenant, editable site:
   our own logo isn't designed for mix-blend-mode:lighten like the
   reference's own brand mark is, the widget catalog (regions/process/
   faq/stats/testimonials/gallery/video/hours/social/map/projects/
   announcement) is sector-agnostic shared code with its own generic
   class names (not the reference's literal markup), and Canlı Düzenle
   (drag/resize/edit) needs a few structural hooks the static reference
   never had to support.
   =================================================================== */
:root{ --surface:#fff; --surface-2:#f1ede3; --radius-m:4px; --radius-l:8px; --shadow:0 20px 45px -25px rgba(19,42,56,.35); }

/* Icons are inlined SVG (see _icons.html.jinja) rather than <img src>, so
   they can be sized/colored the same way the reference's own .icon class
   is used, just via a different selector name. */
.nova-icon{ width:18px; height:18px; flex:none; display:inline-block; vertical-align:-3px; }
.property-specs .nova-icon,.footer-bottom .nova-icon{ width:15px; height:15px; }

/* Our logo is a full-color mark on an opaque white plate, not a light/
   transparent mark meant to sit directly on a dark footer — so instead
   of the reference's mix-blend trick (which would just wash it out to
   white), give it its own light plate to sit on. */
.footer-brand img{ mix-blend-mode:normal; background:#fff; padding:10px 14px; border-radius:6px; width:auto; height:44px; }
.brand img{ width:auto; height:38px; }

/* Mobile nav toggle (reference ships this behavior via its own
   script.js, which we don't load — we drive real pages, not one
   JS-rendered dataset — so the open/close class toggle lives in a
   small inline script in _base.html.jinja instead). */
.menu-toggle{ border:1px solid var(--line); }

/* `.wrap` is the shared widget partial's own section wrapper
   (_shared/_widgets.html.jinja renders every widget type inside
   <section class="wrap">) — giving it the same width/rhythm as the
   reference's `.container` + `.section` keeps every widget visually
   consistent with the theme-owned sections without having to touch
   shared, cross-theme markup. */
.wrap{ width:calc(100% - 160px); max-width:1280px; margin-inline:auto; padding:70px 0; }
.wrap .head{ max-width:640px; margin-bottom:36px; }
.wrap .head .eyebrow{ color:var(--gold-dark); }
.wrap .head h2{ font-size:clamp(30px,3.4vw,46px); }

/* Listing card favorite — we keep the emoji heart (🤍/❤️), not the
   reference's SVG heart button: the shared _favorites_script.html.jinja
   (used by both themes) sets the button's textContent directly, so an
   <img> icon inside it would just get overwritten. Styled to sit in the
   same spot/shape as the reference's `.favorite` pill instead. */
.fav-heart{ position:absolute; right:9px; top:7px; z-index:6; width:38px; height:38px; border-radius:50%; border:none; background:rgba(16,29,36,.55); color:#fff; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.fav-heart.active{ background:var(--gold); }
.quick-view-btn{ position:absolute; right:53px; top:7px; z-index:6; width:38px; height:38px; border-radius:50%; border:none; background:rgba(16,29,36,.55); color:#fff; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.quick-view-dialog{ border:none; border-radius:var(--radius-l); padding:0; max-width:560px; width:calc(100% - 40px); box-shadow:var(--shadow); }
.quick-view-dialog::backdrop{ background:rgba(19,42,56,.55); }
.quick-view-close{ position:absolute; top:14px; right:14px; z-index:2; width:32px; height:32px; border-radius:50%; border:none; background:#fff; cursor:pointer; font-size:14px; }
.quick-view-photo{ height:240px; background:var(--surface-2); }
.quick-view-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.quick-view-body{ padding:24px; }
.quick-view-body h3{ font:400 22px/1.2 var(--serif); margin-bottom:8px; }
.quick-view-actions{ display:flex; gap:10px; margin-top:18px; flex-wrap:wrap; }
.quick-view-actions .btn{ display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:2px; background:var(--navy); color:#fff; font-size:13.5px; font-weight:500; }
.quick-view-actions .filter-btn{ display:inline-flex; align-items:center; gap:8px; padding:12px 20px; border-radius:2px; background:var(--ivory); color:var(--navy); font-size:13.5px; font-weight:500; border:1px solid var(--line); }
.contact-context-banner{ background:var(--ivory); border:1px solid var(--line); border-radius:var(--radius-m); padding:16px 20px; margin-bottom:24px; }
.contact-context-banner p{ color:var(--navy); font-weight:600; }
#contact-form-status{ margin-bottom:16px; padding:12px 16px; border-radius:var(--radius-m); font-size:14px; font-weight:600; }
#contact-form-status.ok{ background:rgba(46,158,91,.12); color:#1f7a42; }
#contact-form-status.error{ background:rgba(217,68,68,.1); color:#b23a3a; }

/* Listing detail page (a real page, not the reference's JS dialog). */
.breadcrumb{ font-size:13.5px; color:var(--muted); margin-bottom:18px; }
.breadcrumb a:hover{ color:var(--gold-dark); }
.detail-photo{ height:400px; border-radius:var(--radius-m); background:var(--surface-2); margin-bottom:28px; overflow:hidden; }
.detail-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.photo-gallery{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; margin-top:12px; }
.photo-gallery img{ width:100%; height:120px; object-fit:cover; border-radius:var(--radius-m); }
.spec-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:14px; margin:24px 0; }
.spec-grid .spec{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-m); padding:16px; }
.spec-grid .spec b{ display:block; font:400 18px/1.2 var(--serif); color:var(--navy); }
.spec-grid .spec span{ font-size:12.5px; color:var(--muted); }
.page-content{ white-space:pre-wrap; font-size:15.5px; color:var(--ink); }
.listing-badge{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:5px 12px; border-radius:2px; background:var(--gold); color:#172b35; }
.listing-badge.badge-kiralik{ background:var(--navy); color:#fff; }

/* Standalone İletişim page (/iletisim/) — a plain content page, not the
   home page's marketing-styled contact section, so it uses its own
   simple navy panel rather than the reference's two-column layout. */
.contact-band{ background:linear-gradient(135deg,var(--navy),#0c1b24); border-radius:var(--radius-l); padding:48px; color:#fff; }
.contact-band h2{ color:#fff; }
.contact-band .contact-grid{ grid-template-columns:1fr 1fr; gap:32px; margin-top:24px; align-items:start; }
.contact-band .line{ display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:15px; color:#e3d9c4; }
.contact-band .line a{ color:#fff; }
.contact-band iframe{ width:100%; height:220px; border:0; border-radius:var(--radius-m); }

/* Danışmanlar (agents). */
.agent{ display:flex; gap:16px; align-items:flex-start; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-m); padding:22px; }
.agent .avatar{ width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--gold),var(--navy)); flex:none; }
.agent h3{ font-size:19px; }
.agent .role{ font-size:12.5px; color:var(--gold-dark); font-weight:600; letter-spacing:.03em; text-transform:uppercase; margin-top:4px; }
.agent p{ font-size:14px; margin-top:8px; }
.agent .contact-line{ font-size:13.5px; margin-top:8px; color:var(--ink); }
.grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }

/* Sector-agnostic widget catalog — same navy/gold/ivory identity,
   generic class names since _shared/_widgets.html.jinja is theme-blind. */
.widget-map iframe,.widget-video iframe{ width:100%; border:0; border-radius:var(--radius-m); display:block; }
.widget-map iframe{ height:340px; }
.widget-video{ position:relative; padding-top:56.25%; height:0; }
.widget-video iframe{ position:absolute; top:0; left:0; width:100%; height:100%; }
.widget-social{ display:flex; gap:12px; flex-wrap:wrap; }
.social-pill{ display:inline-flex; align-items:center; gap:6px; padding:11px 20px; border-radius:2px; background:var(--surface); border:1px solid var(--line); font-weight:500; font-size:13.5px; }
.social-pill:hover{ border-color:var(--gold); color:var(--gold-dark); }
.widget-faq details{ border-bottom:1px solid var(--line); padding:6px 0; }
.widget-faq details:first-child{ border-top:1px solid var(--line); }
.widget-faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; font-size:16px; font-weight:500; }
.widget-faq summary::-webkit-details-marker{ display:none; }
.widget-faq p{ font-size:14px; line-height:1.8; padding:0 30px 18px 0; color:var(--muted); }
.widget-testimonials{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.testimonial-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-m); padding:26px; }
.testimonial-card p{ font:italic 400 16px/1.6 var(--serif); color:var(--ink); }
.testimonial-name{ margin-top:16px; font-weight:600; font-size:13px; letter-spacing:.03em; text-transform:uppercase; color:var(--navy); }
.testimonial-name span{ color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0; }
.widget-hours{ max-width:420px; }
.hours-row{ display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line); font-size:14.5px; }
.hours-row span:first-child{ font-weight:600; color:var(--ink); }
.widget-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:16px; text-align:center; }
.stat-block b{ display:block; font:400 36px/1.1 var(--serif); color:var(--navy); }
.stat-block span{ font-size:13px; color:var(--muted); }
.announcement-band{ background:var(--gold); color:#172b35; border-radius:var(--radius-m); padding:18px 24px; display:flex; align-items:center; justify-content:center; gap:16px; flex-wrap:wrap; text-align:center; font-weight:500; }
.announcement-band + .announcement-band{ margin-top:12px; }
.announcement-band a{ color:var(--navy); font-weight:700; text-decoration:underline; }
.widget-regions{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.region-card{ position:relative; display:flex; align-items:flex-end; height:180px; border-radius:var(--radius-m); overflow:hidden; background:var(--navy); }
.region-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.85; transition:transform .5s,opacity .3s; }
.region-card:hover img{ transform:scale(1.04); opacity:1; }
.region-card-title{ position:relative; z-index:1; width:100%; padding:16px 18px; background:linear-gradient(0deg,rgba(12,27,36,.82),transparent); color:#fff; font:400 22px/1.15 var(--serif); }
.widget-process{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:32px; }
.process-step{ padding-top:20px; border-top:1px solid var(--line); }
.process-step-num{ display:block; font:400 40px/1 var(--serif); color:var(--gold-dark); margin-bottom:18px; }
.process-step h3{ font-size:22px; margin-bottom:8px; }
.process-step p{ font-size:14.5px; line-height:1.8; }
.widget-projects{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; }
.project-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-m); overflow:hidden; }
.project-card-photo{ height:210px; background:var(--surface-2); }
.project-card-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.project-card-body{ padding:24px; }
.project-card-body h3{ font-size:19px; margin-bottom:8px; }
.project-card-body .btn{ display:inline-block; margin-top:14px; padding:10px 20px; font-size:12.5px; border-radius:2px; background:var(--navy); color:#fff; font-weight:500; }
.whatsapp-float{ position:fixed; bottom:22px; right:22px; width:56px; height:56px; border-radius:50%; background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 10px 25px -8px rgba(0,0,0,.4); z-index:50; text-decoration:none; }

/* /ilanlar/ filter bar — reskinned to sit under a .portfolio.section-ivory
   heading the same way the reference's own result-toolbar does. */
.listing-filters{ margin-bottom:34px; }
.filter-tabs{ display:flex; gap:8px; margin-bottom:16px; }
.filter-tab{ background:var(--surface); border:1px solid var(--line); cursor:pointer; padding:11px 22px; border-radius:2px; font-size:13px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--muted); font-family:var(--sans); }
.filter-tab:hover{ color:var(--gold-dark); border-color:var(--gold); }
.filter-tab.active{ background:var(--navy); color:#fff; border-color:var(--navy); }
.filter-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.filter-row select{ width:auto; max-width:220px; padding:10px 14px; border:1px solid var(--line); border-radius:2px; font-size:13.5px; font-family:var(--sans); background:#fff; }
.filter-result-count{ margin-top:14px; font-size:13px; color:var(--muted); }
.filter-empty{ text-align:center; padding:70px 20px; color:var(--muted); }
.filter-empty p{ margin-bottom:16px; }
.filter-btn{ display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:13px; letter-spacing:.02em; padding:11px 20px; border-radius:2px; background:var(--surface); border:1px solid var(--line); color:var(--muted); cursor:pointer; font-family:var(--sans); white-space:nowrap; text-decoration:none; }
.filter-btn:hover{ color:var(--gold-dark); border-color:var(--gold); }
.filter-btn.active{ background:var(--gold); color:#172b35; border-color:var(--gold); }

/* Canlı Düzenle side-by-side rows. */
.section-row-2,.section-row-3{ display:grid; gap:32px; align-items:start; }
.section-row-2>*,.section-row-3>*{ min-width:0; }
.section-row-2 .wrap,.section-row-3 .wrap{ width:auto; max-width:none; padding:0; }
.section-row-2 section,.section-row-3 section{ padding-block:0; }

@media(max-width:760px){
  .grid,.widget-testimonials{ grid-template-columns:1fr; }
  .section-row-2,.section-row-3{ grid-template-columns:1fr !important; }
  .wrap{ width:calc(100% - 40px); padding:50px 0; }
}
