@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');:root{--navy:#102133;--sage:#798577;--gold:#b58d48;--cream:#f8f5ef;--ink:#26333b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.7 'DM Sans',sans-serif;background:#fff}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.16}h1{font-size:clamp(55px,7vw,105px)}h2{font-size:clamp(38px,4.5vw,66px)}h2 em,h1 em{font-weight:400;color:var(--gold)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;position:relative;z-index:10}.brand img{width:147px;height:82px;object-fit:contain}.topbar nav{display:flex;gap:26px;align-items:center}.topbar nav a{font-size:12px;font-weight:600;white-space:nowrap}.topbar nav a:hover,.textlink:hover{color:var(--gold)}.navright{display:flex;align-items:center;gap:14px}#lang{border:0;background:none;font-weight:700;color:var(--navy)}.navcta{background:var(--navy);color:#fff;padding:12px 18px;font-size:12px;font-weight:700;white-space:nowrap}.navcta span{margin-left:10px;color:#e0b66c}#menu{display:none;border:0;background:none;font-size:24px}.hero{height:min(760px,85vh);min-height:610px;position:relative;color:#fff;overflow:hidden}.heroPhoto{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=85') center/cover}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,34,.83),rgba(7,23,34,.48) 52%,rgba(7,23,34,.07))}.heroInner{position:relative;max-width:850px;padding:115px 5% 50px}.eyebrow{letter-spacing:.23em;font-size:11px;font-weight:700;color:var(--sage);margin-bottom:22px}.eyebrow.light{color:#d5b57d}.hero h1{margin-bottom:24px}.heroSub{font-size:17px;max-width:550px;color:#e9e9e6}.heroActions{display:flex;align-items:center;gap:27px;margin-top:33px;flex-wrap:wrap}.btn{border:0;display:inline-block;padding:17px 24px;font-size:12px;font-weight:700;letter-spacing:.03em}.gold{background:var(--gold);color:#fff}.gold:hover{background:#a07a3c}.textlink{font-size:13px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:7px}.textlink.light{color:#fff}.heroFoot{position:absolute;bottom:0;left:5%;right:5%;padding:20px 0;border-top:1px solid #ffffff55;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em}.section{padding:110px 7%}.sectionTop{max-width:850px;margin:0 auto 62px;text-align:center}.sectionTop h2{margin-bottom:23px}.lead{max-width:570px;margin:auto;color:#6c7576}.servicesGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e8e5de;border-left:1px solid #e8e5de}.service{padding:36px 32px;min-height:250px;border-right:1px solid #e8e5de;border-bottom:1px solid #e8e5de;position:relative}.serviceNo{font-size:10px;color:#a9a49c;position:absolute;right:27px;top:25px}.serviceIcon{font-size:30px;color:var(--gold);margin-bottom:19px}.service h3,.steps h3{font-family:'Playfair Display',serif;font-size:23px;font-weight:400;margin-bottom:10px}.service p,.steps p{font-size:13px;color:#7a8080;line-height:1.8}.service.highlight{background:#f4f3ed}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--cream)}.featureImage{background:url('https://images.unsplash.com/photo-1600566753190-17f0baa2a6c3?auto=format&fit=crop&w=1200&q=85') center/cover}.featureText{padding:95px 11%;align-self:center}.featureText p:not(.eyebrow){max-width:410px;color:#777e7e;margin:24px 0 33px}.narrow{max-width:680px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid #cfc8bb;padding-top:22px}.steps article>span{color:var(--gold);font-family:Georgia,serif;font-size:25px;display:block;margin-bottom:25px}.estimate{background:var(--cream)}.estimateHeading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.estimateHeading>p{max-width:400px;color:#777e7e}.calculator{display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 20px 60px #10213313}.calcInputs{padding:50px;background:#fff}.calcResult{padding:50px;background:var(--navy);color:#fff}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:21px}.field label,.rangeTop label{font-size:12px;font-weight:700;color:#596567}.field input,.field select,.field textarea{border:1px solid #e0e2de;border-radius:0;padding:13px 14px;background:#fff;width:100%;color:#23323c;outline-color:var(--gold)}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rangeField{margin:27px 0}.rangeTop{display:flex;justify-content:space-between;gap:10px;align-items:center}.rangeTop strong{color:var(--navy)}input[type=range]{width:100%;accent-color:var(--gold);margin-top:16px}.disclaimer,.resultNote,.formNote{font-size:11px;line-height:1.7;color:#7e8585}.resultLabel{color:#c9d0ce;font-size:13px;margin:35px 0 3px}.bigMoney{font:clamp(35px,4vw,60px) Georgia,serif;color:#e6c88f;margin-bottom:35px}.calcLine{border-top:1px solid #ffffff35;padding:19px 0;display:flex;justify-content:space-between;gap:15px;font-size:13px}.calcLine.total{font-size:16px}.calcLine.total strong{color:#e6c88f}.resultNote{color:#bbc2c2;margin:25px 0}.wide{width:100%}.about{display:grid;grid-template-columns:1fr 1fr;min-height:540px}.aboutText{padding:95px 13%;align-self:center}.aboutText p:not(.eyebrow){color:#737d7b;max-width:470px}.signature{font:italic 28px Georgia,serif;color:var(--gold);margin-top:32px}.aboutImage{background:url('https://images.unsplash.com/photo-1613490493576-7fde63acd811?auto=format&fit=crop&w=1200&q=85') center/cover}.contact{background:var(--navy);color:white;text-align:center}.contact h2 em{color:#d9b476}.contact>p:not(.eyebrow){color:#d0d4d3;margin-bottom:38px}.contact form{text-align:left;max-width:760px;margin:auto}.contact .field label{color:#e2e6e3}.contact .field input,.contact .field textarea{background:#ffffff0d;color:white;border:1px solid #ffffff4a}.contact .field input::placeholder,.contact textarea::placeholder{color:#bac2c3}.formNote{color:#c7cecd}footer{padding:28px 7%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f8f7f3}footer img{width:125px}footer p{font-size:12px;margin-bottom:4px}footer small{color:#81888a}footer a{font-size:12px;font-weight:700}@media(max-width:950px){.topbar{height:76px}.brand img{height:67px;width:110px}.topbar nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:25px 7%;box-shadow:0 20px 25px #0001;flex-direction:column;align-items:start}.topbar nav.open{display:flex}#menu{display:block}.navcta{display:none}.servicesGrid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.featureText,.aboutText{padding:65px 8%}}@media(max-width:650px){.hero{min-height:660px;height:80vh}.heroInner{padding-top:100px}.heroShade{background:linear-gradient(90deg,#071722d9,#07172277)}.heroSub{font-size:15px}.heroFoot{font-size:9px}.section{padding:75px 6%}.servicesGrid,.feature,.calculator,.about{grid-template-columns:1fr}.featureImage,.aboutImage{min-height:310px}.featureText,.aboutText{padding:65px 7%}.steps{gap:20px}.estimateHeading{display:block}.estimateHeading>p{max-width:none}.calcInputs,.calcResult{padding:30px 24px}.two{gap:10px}footer{flex-wrap:wrap}footer img{width:100px}}

/* Multi-page brand header */
.site-header{position:relative;z-index:20;background:#f8f6f1;box-shadow:0 2px 15px #0e23300c}.brand-banner{min-height:175px;display:flex;justify-content:center;align-items:center;padding:14px 24px;background:#fbfaf7}.brand-banner img{display:block;width:min(390px,80vw);height:155px;object-fit:contain}.nav-strip{display:flex;align-items:center;justify-content:center;gap:22px;padding:14px 22px;border-top:1px solid #dcd8cd;border-bottom:1px solid #dcd8cd;background:#f6f4ef}.nav-strip nav{display:flex;gap:clamp(12px,2.4vw,35px);align-items:center}.nav-strip nav a{color:#17283a;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:650}.nav-strip nav a.active,.nav-strip nav a:hover{color:#a78038}.lang-toggle,.menu-toggle{background:transparent;border:1px solid #b8a786;color:#17283a;padding:9px 12px;cursor:pointer}.menu-toggle{display:none}.page-heading{text-align:center;padding:70px 20px 0;background:#fbfaf7}.page-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,75px);margin:14px 0 0;color:#102133}.teaser{max-width:1120px;margin:auto;text-align:center;padding-top:90px;padding-bottom:105px}.teaser h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(36px,5vw,66px);line-height:1.1}.teaser .lead{max-width:630px;margin:25px auto 40px}.teaser-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.teaser-links a{padding:17px 20px;border:1px solid #c5b79b;color:#142b3a;text-decoration:none;font-size:13px}.teaser-links a:first-child{background:#15283a;color:white}.teaser-links span{margin-left:10px}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;background:#0f2133;color:#f4f0e7;padding:30px 6%;font-size:12px;letter-spacing:.08em}.page-heading+.section{padding-top:65px}.page-heading+.about{margin-top:50px}.page-heading+.contact{margin-top:0}
@media(max-width:760px){.brand-banner{min-height:130px}.brand-banner img{height:115px;width:min(310px,85vw)}.nav-strip{justify-content:space-between}.menu-toggle{display:block}.nav-strip nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f8f6f1;padding:24px;box-shadow:0 12px 15px #0002;flex-direction:column;align-items:flex-start}.nav-strip nav.open{display:flex}.page-heading{padding-top:46px}.site-footer{flex-direction:column}}

/* Keyra Living: wide, editorial tropical masthead */
.brand-banner{min-height:clamp(260px,29vw,460px);padding:28px 20px;background:#faf6ee url('assets/masthead.jpg') center center/cover no-repeat;position:relative}
.brand-banner a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:inherit}
.brand-banner img{width:clamp(320px,35vw,540px);height:clamp(230px,27vw,400px);object-fit:contain;filter:none}
.nav-strip{min-height:76px;background:#fbf8f3;border-color:#d6c4a7;gap:26px}
.nav-strip nav{gap:clamp(14px,2.7vw,45px)}
.nav-strip nav a{font-size:12px;letter-spacing:.14em}
@media(max-width:760px){.brand-banner{min-height:250px;padding:15px 12px;background-position:center}.brand-banner a{min-height:250px}.brand-banner img{width:min(350px,80vw);height:230px}.nav-strip{min-height:66px}}
