
:root{
 --navy:#0B1F4D; --gold:#C49A45; --ivory:#F8F6F0; --white:#FFFFFF; --ink:#0B1F4D; --muted:rgba(11,31,77,.66);
 --shadow:0 18px 55px rgba(11,31,77,.12); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Open Sans",Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.72} a{text-decoration:none;color:inherit} img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:92px 0}.section-sm{padding:60px 0}.ivory{background:var(--ivory)}
.topbar{background:var(--navy);color:#F8F6F0;font-size:13px}.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:42px}.topbar a:hover{color:var(--gold)}
.navbar{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,31,77,.08)}.nav-wrap{height:92px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:260px}.brand img{width:68px;height:68px;object-fit:contain;border-radius:50%;background:var(--white)}.brand-name{font:700 21px/1.12 Georgia,serif;color:var(--navy)}.brand-name small{display:block;font:600 10px/1.4 "Open Sans";letter-spacing:1.6px;color:var(--gold);text-transform:uppercase;margin-top:4px}.navlinks{display:flex;gap:24px;align-items:center;font-weight:700;font-size:14px;color:var(--navy)}.navlinks a{position:relative;padding:30px 0}.navlinks a:after{content:"";position:absolute;left:0;bottom:23px;width:0;height:2px;background:var(--gold);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{width:100%}.nav-cta{padding:12px 19px!important;border-radius:999px;background:var(--navy);color:var(--white)!important;border:1px solid var(--gold)}.nav-cta:after{display:none}.menu-btn{display:none;background:none;border:0;font-size:24px;color:var(--navy)}
.hero{position:relative;min-height:690px;overflow:hidden;background:var(--navy)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.64)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,31,77,.84),rgba(11,31,77,.48) 55%,rgba(11,31,77,.16))}.hero-content{position:relative;z-index:3;min-height:690px;display:flex;flex-direction:column;justify-content:center;max-width:830px;color:var(--white)}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2.4px;font-weight:800;font-size:12px;color:var(--gold)}.eyebrow:before{content:"";width:38px;height:1px;background:var(--gold)}h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;color:var(--navy);line-height:1.15;margin-top:0}.hero h1{font-size:clamp(48px,7vw,86px);color:var(--white);margin:16px 0 22px;max-width:820px}.hero p{font-size:19px;max-width:690px;margin:0 0 30px;color:#F8F6F0}.button-row{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:999px;font-weight:800;font-size:13px;letter-spacing:.4px;border:1px solid transparent;transition:.25s}.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}.btn-gold:hover{background:#C49A45;transform:translateY(-2px)}.btn-outline{border-color:rgba(255,255,255,.72);color:var(--white)}.btn-outline:hover{background:var(--white);color:var(--navy)}.btn-navy{background:var(--navy);color:var(--white);border-color:var(--navy)}.btn-navy:hover{background:#0B1F4D;transform:translateY(-2px)}.btn-light{background:var(--white);color:var(--navy);border-color:rgba(11,31,77,.12)}.btn-light:hover{border-color:var(--gold)}
.hero-dots{position:absolute;z-index:4;bottom:32px;left:50%;transform:translateX(-50%);display:flex;gap:9px}.hero-dot{width:30px;height:3px;background:rgba(255,255,255,.45);border:0;padding:0}.hero-dot.active{background:var(--gold)}
.section-head{max-width:760px;margin-bottom:42px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{font-size:clamp(36px,4.8vw,56px);margin:10px 0 18px}.section-head p{color:var(--muted);font-size:17px}.gold-rule{width:72px;height:2px;background:var(--gold);margin:18px 0}.center .gold-rule{margin:18px auto}
.intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:62px;align-items:center}.photo-stack{position:relative;padding:0 48px 48px 0}.photo-stack img:first-child{width:82%;height:500px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.photo-stack img:last-child{position:absolute;right:0;bottom:0;width:55%;height:280px;object-fit:cover;border:8px solid var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}.lead{font-size:18px;color:rgba(11,31,77,.78)}.quote-card{margin-top:28px;border-left:3px solid var(--gold);padding:18px 22px;background:var(--ivory);color:var(--navy);font-family:Georgia,serif;font-size:20px}
.services{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.service-card{background:var(--white);padding:30px 22px;border-radius:16px;border:1px solid rgba(11,31,77,.08);box-shadow:0 8px 28px rgba(11,31,77,.06);transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(196,154,69,.55)}.service-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--gold);font-size:22px;margin-bottom:18px}.service-card h3{font-size:20px;margin-bottom:10px}.service-card p{font-size:14px;color:var(--muted);margin:0}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.why-list{display:grid;gap:16px}.why-item{display:flex;gap:14px;align-items:flex-start}.why-check{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font-weight:900}.why-item strong{display:block;color:var(--navy);margin-bottom:3px}.why-item span{color:var(--muted)}.feature-photo{border-radius:var(--radius);min-height:520px;object-fit:cover;box-shadow:var(--shadow)}
.property-card{display:grid;grid-template-columns:1.08fr .92fr;background:var(--white);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(11,31,77,.08)}.property-card>img{width:100%;height:100%;min-height:520px;object-fit:cover}.property-info{padding:48px}.property-info h2{font-size:43px;margin:12px 0}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.spec{padding:14px;border:1px solid rgba(11,31,77,.12);border-radius:12px;background:var(--white)}.spec span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px}.spec strong{color:var(--navy)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:250px;gap:12px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:14px}.gallery figure:first-child{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.45s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;left:14px;bottom:12px;padding:7px 10px;background:rgba(11,31,77,.82);color:var(--white);border-radius:8px;font-size:12px}
.room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.room-card{border:1px solid rgba(11,31,77,.12);border-radius:16px;overflow:hidden;background:var(--white)}.room-card img{width:100%;height:300px;object-fit:cover}.room-card .copy{padding:26px}.room-card h3{font-size:25px;margin-bottom:9px}.room-card p{color:var(--muted);margin:0}.room-card.text-only{padding:30px;background:linear-gradient(145deg,#FFFFFF,var(--ivory));border-top:3px solid var(--gold)}
.experience{background:var(--navy);color:var(--white);position:relative;overflow:hidden}.experience:after{content:"O";position:absolute;right:-35px;top:-150px;font:700 480px/1 Georgia;color:rgba(196,154,69,.07)}.experience .section-head h2,.experience h3{color:var(--white)}.experience .section-head p{color:rgba(248,246,240,.82)}.experience-copy{position:relative;z-index:2;max-width:880px}.experience-copy p{font-size:18px;color:rgba(248,246,240,.90)}.slogan{font:italic 34px Georgia,serif;color:var(--gold);margin-top:28px}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.listing{border-radius:16px;overflow:hidden;border:1px solid rgba(11,31,77,.12);background:var(--white);box-shadow:0 10px 30px rgba(11,31,77,.08)}.listing img{width:100%;height:270px;object-fit:cover}.listing-copy{padding:24px}.listing-copy h3{font-size:25px;margin:8px 0}.listing-copy p{color:var(--muted)}.location{color:var(--gold);text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:800}.future-card{border:1px dashed rgba(11,31,77,.25);background:var(--ivory);display:grid;place-items:center;text-align:center;min-height:430px;padding:32px;border-radius:16px}.future-mark{font:700 70px Georgia;color:rgba(196,154,69,.55)}
.page-hero{background:linear-gradient(90deg,rgba(11,31,77,.96),rgba(11,31,77,.76)),url('../img/living-room.jpeg') center/cover;min-height:390px;display:flex;align-items:center;color:var(--white)}.page-hero h1{color:var(--white);font-size:clamp(44px,6vw,70px);margin:14px 0}.page-hero p{max-width:720px;color:#F8F6F0;font-size:18px}.crumbs{font-size:13px;color:rgba(248,246,240,.82)}.crumbs a{color:var(--gold)}
.faq{max-width:900px;margin:auto}.faq details{border-bottom:1px solid rgba(11,31,77,.12);padding:20px 0}.faq summary{cursor:pointer;list-style:none;font:700 20px Georgia,serif;color:var(--navy);display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 26px Arial;color:var(--gold)}.faq details[open] summary:after{content:"–"}.faq p{color:var(--muted);padding-right:40px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px}.contact-panel{background:var(--navy);color:var(--white);padding:42px;border-radius:18px}.contact-panel h2{color:var(--white);font-size:38px}.contact-panel a{color:var(--white)}.contact-row{display:flex;gap:14px;margin:24px 0}.contact-row i{color:var(--gold);margin-top:5px}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25)}.socials a:hover{background:var(--gold);color:var(--navy)}.form-card{padding:42px;border:1px solid rgba(11,31,77,.12);border-radius:18px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--navy);font-weight:800}.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid rgba(11,31,77,.20);border-radius:10px;font:inherit}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(196,154,69,.28);border-color:var(--gold)}
.cta{background:var(--ivory);border-top:1px solid rgba(196,154,69,.2);border-bottom:1px solid rgba(196,154,69,.2)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:38px;margin-bottom:8px}.cta p{margin:0;color:var(--muted)}
.footer{background:var(--navy);color:rgba(248,246,240,.82);padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.25fr;gap:35px}.footer h3{color:var(--white);font-size:18px}.footer a{display:block;margin:9px 0;color:rgba(248,246,240,.88)}.footer a:hover{color:var(--gold)}.footer .brand-name{color:var(--white)}.footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;font-size:12px}.tiny{font-size:12px;color:rgba(11,31,77,.55)}.notice{padding:14px 16px;background:var(--ivory);border:1px solid rgba(196,154,69,.3);border-radius:12px;color:rgba(11,31,77,.78);font-size:13px;margin-top:18px}
.quick-actions{padding:28px 0;background:var(--ivory);border-bottom:1px solid rgba(196,154,69,.28)}
.quick-actions .button-row{justify-content:center}
.text-link{color:var(--gold);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.footer .brand img{width:96px;height:96px;background:var(--white);border-radius:50%;padding:3px}
@media(max-width:1050px){.navlinks{gap:15px}.services{grid-template-columns:repeat(3,1fr)}.intro-grid,.why-grid,.property-card,.contact-grid{grid-template-columns:1fr}.feature-photo{min-height:420px}.portfolio-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.property-card>img{max-height:560px}}
@media(max-width:820px){.topbar{display:none}.nav-wrap{height:78px}.brand{min-width:0}.brand img{width:52px;height:52px}.brand-name{font-size:17px}.menu-btn{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:78px;flex-direction:column;align-items:stretch;background:var(--white);padding:15px 24px 26px;border-top:1px solid rgba(11,31,77,.10);box-shadow:0 20px 35px rgba(11,31,77,.12)}.navlinks.open{display:flex}.navlinks a{padding:10px 0}.navlinks a:after{bottom:4px}.nav-cta{text-align:center;margin-top:8px}.hero,.hero-content{min-height:620px}.hero h1{font-size:52px}.section{padding:72px 0}.services{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 220px 220px}.gallery figure:first-child{grid-column:1/-1;grid-row:auto}.room-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.brand-name small{display:none}.hero h1{font-size:43px}.hero p{font-size:16px}.services{grid-template-columns:1fr}.photo-stack{padding:0}.photo-stack img:first-child{width:100%;height:390px}.photo-stack img:last-child{position:relative;width:78%;height:220px;margin:-70px 0 0 auto;border-width:6px}.gallery{display:block}.gallery figure{height:260px;margin-bottom:10px}.gallery figure:first-child{height:330px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.property-info{padding:28px}.spec-grid{grid-template-columns:1fr}.contact-panel,.form-card{padding:28px}.page-hero{min-height:330px}}
