*,
*::before,
*::after { box-sizing: border-box; }

:root{
    --bg:#f6f4ef;
    --bg-soft:#fbfaf7;
    --surface:#ffffff;
    --surface-2:#f7f4ec;
    --text:#182035;
    --muted:#5f6679;
    --line:rgba(24,32,53,.10);
    --brand:#5e4dd6;
    --brand-deep:#2e246f;
    --gold:#d4b368;
    --gold-soft:#efe1ba;
    --shadow:0 20px 48px rgba(31,37,68,.10);
    --shadow-soft:0 12px 28px rgba(31,37,68,.07);
    --radius:24px;
    --container:1200px;
}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--text);
    line-height:1.65;
    background:
      radial-gradient(circle at top left, rgba(212,179,104,.10), transparent 26%),
      radial-gradient(circle at top right, rgba(94,77,214,.09), transparent 28%),
      linear-gradient(180deg,#faf8f2 0%, #f6f4ef 100%);
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{width:min(calc(100% - 2rem), var(--container));margin-inline:auto;}

.announcement-bar{
    background:linear-gradient(90deg,var(--brand-deep),#4637af);
    color:#fff;
    font-size:.93rem;
}
.announcement-inner{
    padding:.72rem 0;
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:center;
}
.announcement-inner a{color:#f7e8bb;font-weight:700;}

.site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,248,242,.78);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(24,32,53,.06);
}
.nav-wrap{
    display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;
}
.brand-logo{height:62px;width:auto;}
.site-nav{display:flex;align-items:center;gap:1.15rem;}
.site-nav a{color:var(--muted);font-weight:700;}
.site-nav a.active,.site-nav a:hover{color:var(--brand-deep);}

.button{
    display:inline-flex;align-items:center;justify-content:center;
    padding:.96rem 1.35rem;border-radius:999px;border:0;cursor:pointer;
    color:#fff !important;font-weight:800;
    background:linear-gradient(135deg,var(--brand),var(--brand-deep));
    box-shadow:0 16px 30px rgba(46,36,111,.22);
}
.button:hover{transform:translateY(-1px);}
.button-small{padding:.85rem 1.15rem;}
.button-secondary{
    color:var(--brand-deep)!important;
    background:rgba(94,77,214,.10); box-shadow:none;
}
.button-light{
    background:#fff; color:var(--brand-deep)!important; box-shadow:none;
}

.hero,.page-hero{padding:5rem 0 4rem;}
.hero-luxury{
    position:relative;
}
.hero-luxury::before{
    content:"";
    position:absolute; inset:0;
    background:
      linear-gradient(120deg, rgba(255,255,255,.28), transparent 40%),
      radial-gradient(circle at 75% 25%, rgba(212,179,104,.16), transparent 18%);
    pointer-events:none;
}
.hero-grid,.split,.contact-grid{
    display:grid;gap:2rem;align-items:center;
}
.luxury-grid{grid-template-columns:1.1fr .9fr;}
.hero-copy h1,.page-hero h1{
    margin:.5rem 0 1rem;
    font-size:clamp(2.8rem,5vw,5rem);
    line-height:1.05;
    font-family:'Cormorant Garamond', serif;
    font-weight:700;
}
.page-hero{
    background:
      linear-gradient(135deg, rgba(46,36,111,.97), rgba(94,77,214,.88)),
      radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 22%);
    color:#fff;
}
.page-hero p{color:rgba(255,255,255,.83); max-width:70ch;}
.hero-copy p{max-width:62ch;color:var(--muted);font-size:1.05rem;}

.eyebrow{
    display:inline-block;
    padding:.42rem .85rem;border-radius:999px;
    background:rgba(212,179,104,.18); color:#8d6b20;
    font-weight:800; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
}
.eyebrow.light{background:rgba(255,255,255,.14);color:#fff;}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1.8rem 0 2rem;}

.stats-row{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
}
.stats-row div,.point-card,.service-lux-card,.info-card,.choice-card,.testimonial-card,.value-card,.service-panel,.contact-card,.form-card,.showcase-card{
    background:rgba(255,255,255,.88);
    border:1px solid rgba(24,32,53,.08);
    box-shadow:var(--shadow);
    border-radius:var(--radius);
}
.stats-row div{padding:1rem;}
.stats-row strong{display:block;margin-bottom:.25rem;}
.stats-row span,.section-heading p,.info-card p,.choice-card p,.testimonial-card p,.value-card span,.service-panel p,.contact-card p,.form-card p,.service-lux-card p,.point-card span{color:var(--muted);}

.hero-showcase{
    display:grid;gap:1rem;
}
.showcase-card{
    padding:1.8rem;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,247,239,.86));
}
.showcase-card.main{
    min-height:300px;
}
.showcase-card.accent{
    background:linear-gradient(135deg, rgba(212,179,104,.16), rgba(94,77,214,.08));
}
.mini-tag{
    display:inline-block;padding:.34rem .7rem;border-radius:999px;
    background:rgba(94,77,214,.08);color:var(--brand-deep);font-weight:800;font-size:.8rem;
}

.section{padding:4.8rem 0;}
.section-soft{background:linear-gradient(180deg, rgba(255,255,255,.36), rgba(247,244,236,.94));}
.section-heading{margin-bottom:2rem;}
.section-heading.centered{max-width:780px;text-align:center;margin:0 auto 2rem;}
.section-heading h2,.split h2,.cta-band h2,.contact-card h2,.form-card h2{margin:.2rem 0 .8rem;}

.intro-panel{
    display:grid;grid-template-columns:1fr 1fr;gap:2rem;
    padding:2rem;border-radius:28px;
    background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,244,234,.92));
    border:1px solid rgba(24,32,53,.08);
    box-shadow:var(--shadow-soft);
}
.intro-points{display:grid;grid-template-columns:1fr;gap:1rem;}
.point-card{padding:1.25rem 1.35rem;}

.card-grid{display:grid;gap:1.3rem;}
.card-grid.three,.values-grid,.testimonial-grid{grid-template-columns:repeat(3,1fr);}
.info-card,.choice-card,.testimonial-card,.value-card{padding:1.7rem;}
.luxury-card{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,234,.9));}

.service-lux-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.3rem;
}
.service-lux-card{
    padding:1.6rem;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,234,.88));
}
.service-pill{
    display:inline-grid;place-items:center;
    width:48px;height:48px;border-radius:16px;
    background:linear-gradient(135deg,var(--gold),#c79f3a);
    color:#fff;font-weight:800;margin-bottom:1rem;
}

.split{grid-template-columns:1fr 1fr;}
.align-start{align-items:start;}

.glass-card{
    padding:2rem;border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,244,234,.88));
    border:1px solid rgba(255,255,255,.7);
    box-shadow:var(--shadow);
}
.feature-list,.footer-links,.service-panel ul{margin:1rem 0 0; padding-left:1.1rem;}

.values-grid{display:grid;gap:1.2rem;}
.value-card{display:flex;flex-direction:column;gap:.55rem;}

.service-stack{display:grid;gap:1.3rem;}
.service-panel{
    display:grid;grid-template-columns:90px 1fr;gap:1.35rem;
    padding:1.6rem;
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,234,.88));
}
.service-number{
    width:70px;height:70px;border-radius:22px;
    display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.2rem;
    background:linear-gradient(135deg,var(--brand),var(--brand-deep));
}

.testimonial-section{
    background:
      radial-gradient(circle at bottom left, rgba(212,179,104,.10), transparent 18%),
      linear-gradient(180deg, rgba(255,255,255,.26), rgba(247,244,236,.76));
}
.testimonial-card{
    position:relative;
    padding:1.7rem;
}
.testimonial-card::before{
    content:"“";
    position:absolute; top:14px; left:18px;
    font-size:3rem; line-height:1; color:rgba(212,179,104,.55);
    font-family:'Cormorant Garamond', serif;
}
.testimonial-card p{padding-top:1.6rem;}

.contact-grid{grid-template-columns:.9fr 1.1fr;align-items:start;}
.contact-card,.form-card{padding:1.7rem;}
.contact-lines p{margin:.25rem 0;}
.map-placeholder{
    min-height:230px;margin-top:1.5rem;border-radius:24px;
    display:grid;place-items:center;font-weight:800;color:var(--brand-deep);
    background:
      linear-gradient(135deg, rgba(94,77,214,.10), rgba(212,179,104,.14)),
      repeating-linear-gradient(45deg, rgba(255,255,255,.34), rgba(255,255,255,.34) 12px, rgba(255,255,255,.58) 12px, rgba(255,255,255,.58) 24px);
}
.contact-form{display:grid;gap:1rem;margin-top:1rem;}
.contact-form label{display:grid;gap:.5rem;font-weight:700;}
.contact-form input,.contact-form textarea{
    width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid var(--line);
    background:#fff;font:inherit;color:var(--text);
}
.contact-form input:focus,.contact-form textarea:focus{
    outline:2px solid rgba(94,77,214,.20);border-color:rgba(94,77,214,.36);
}
.form-status{padding:.95rem 1rem;border-radius:16px;margin-top:1rem;font-weight:700;}
.form-status.success{background:rgba(53,172,108,.12);color:#14653c;}
.form-status.error{background:rgba(206,67,67,.10);color:#7e2424;}

.cta-band{
    padding:3.5rem 0;color:#fff;
    background:linear-gradient(135deg, #2b215f 0%, #5e4dd6 100%);
}
.cta-band-inner{
    display:flex;justify-content:space-between;align-items:center;gap:1rem;
}

.site-footer{
    background:#141a2b;color:rgba(255,255,255,.86);padding-top:3rem;
}
.footer-grid{
    display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2rem;
}
.footer-logo{height:72px;width:auto;margin-bottom:.8rem;filter:brightness(1.05);}
.footer-copy{color:rgba(255,255,255,.72);}
.footer-links{list-style:none;padding-left:0;}
.footer-links li{margin-bottom:.55rem;color:rgba(255,255,255,.72);}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding:1rem 0 1.2rem;color:rgba(255,255,255,.64);font-size:.94rem;
}

.menu-toggle{display:none;border:0;background:transparent;width:46px;height:46px;padding:0;cursor:pointer;}
.menu-toggle span{display:block;height:2px;width:24px;margin:5px auto;background:var(--text);}

@media (max-width:1024px){
    .luxury-grid,.split,.contact-grid,.intro-panel,.footer-grid,.service-lux-grid,.card-grid.three,.values-grid,.testimonial-grid{
        grid-template-columns:1fr;
    }
    .stats-row{grid-template-columns:1fr;}
    .cta-band-inner{flex-direction:column;align-items:start;}
    .site-nav{
        position:absolute; right:1rem; top:calc(100% + 8px);
        width:min(92vw,360px); padding:1rem; border-radius:24px;
        background:rgba(255,255,255,.97); border:1px solid rgba(24,32,53,.08);
        box-shadow:var(--shadow); flex-direction:column; align-items:stretch; display:none;
    }
    .site-nav.open{display:flex;}
    .menu-toggle{display:block;}
}
@media (max-width:640px){
    .hero,.page-hero{padding:4rem 0 3rem;}
    .section{padding:3.8rem 0;}
    .announcement-inner{flex-direction:column;align-items:start;}
    .service-panel{grid-template-columns:1fr;}
    .brand-logo{height:54px;}
}
