
:root{
  --bg:#1a1d24; --fg:#f5f2ec; --card:#232730; --muted-bg:#1f232c; --muted-fg:#a8a89f;
  --border:#353a45; --border-soft:#2b2f38;
  --primary:#e8a94b; --primary-fg:#2a1f0a; --primary-glow:rgba(232,169,75,.45);
  --radius:.375rem;
  --font-body:'Inter',system-ui,sans-serif; --font-display:'Archivo',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border)}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;line-height:1.1}
.container{max-width:80rem;margin:0 auto;padding:0 1.25rem}
@media(min-width:768px){.container{padding:0 2rem}}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(26,29,36,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-soft)}
.header__inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}
@media(min-width:768px){.header__inner{padding:1rem 2rem}}
.brand{display:flex;align-items:center;gap:.625rem}
.brand__logo{display:grid;place-items:center;width:2.25rem;height:2.25rem;background:var(--primary);color:var(--primary-fg);font-family:var(--font-display);font-weight:900;font-size:1.125rem;border-radius:var(--radius);box-shadow:0 10px 40px -12px var(--primary-glow)}
.brand__text{font-family:var(--font-display);font-weight:900;font-size:1.125rem;letter-spacing:-.02em}
.brand__dot{color:var(--primary)}
.nav-desktop{display:none;gap:.25rem;align-items:center}
@media(min-width:1024px){.nav-desktop{display:flex}}
.nav-link{padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--muted-fg);transition:color .2s}
.nav-link:hover{color:var(--fg)}
.nav-link--active{color:var(--fg);font-weight:600}
.nav-cta{display:none}
@media(min-width:768px){.nav-cta{display:inline-flex}}
.menu-toggle{display:inline-flex;padding:.5rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);cursor:pointer}
@media(min-width:1024px){.menu-toggle{display:none}}
.mobile-menu{border-top:1px solid var(--border-soft);background:var(--bg)}
.mobile-menu .container{display:flex;flex-direction:column;padding-top:1rem;padding-bottom:1rem}
.mobile-link{padding:.75rem 0;font-size:1rem;color:var(--muted-fg);border-bottom:1px solid var(--border-soft)}
.mobile-link--active{color:var(--primary);font-weight:600}
.mobile-cta{margin-top:1rem;justify-content:center}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;border-radius:var(--radius);border:1px solid transparent;transition:transform .2s, background .2s;cursor:pointer}
.btn--sm{padding:.625rem 1rem}
.btn--primary{background:var(--primary);color:var(--primary-fg);box-shadow:0 10px 40px -12px var(--primary-glow)}
.btn--primary:hover{transform:translateY(-2px)}
.btn--ghost{background:rgba(26,29,36,.4);border-color:var(--border);color:var(--fg);backdrop-filter:blur(8px)}
.btn--ghost:hover{background:var(--muted-bg)}

/* Icons */
.icon-sm{width:1rem;height:1rem}
.icon-md{width:1.25rem;height:1.25rem}
.icon-lg{width:1.5rem;height:1.5rem}

/* Text utilities */
.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600;color:var(--primary);display:inline-flex;align-items:center;gap:.5rem}
.eyebrow-bar{display:inline-block;width:2rem;height:1px;background:var(--primary)}
.text-muted{color:var(--muted-fg)}
.text-primary{color:var(--primary)}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,29,36,.55) 0%,rgba(26,29,36,.92) 85%)}
.hero__overlay-side{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,29,36,.95) 0%,rgba(26,29,36,.4) 60%,transparent 100%)}
.hero__inner{position:relative;padding:6rem 0}
@media(min-width:768px){.hero__inner{padding:9rem 0}}
@media(min-width:1024px){.hero__inner{padding:11rem 0}}
.hero__content{max-width:48rem}
.hero__title{margin-top:1.25rem;font-size:2.25rem;font-weight:900;line-height:1.05}
@media(min-width:640px){.hero__title{font-size:3rem}}
@media(min-width:768px){.hero__title{font-size:3.75rem}}
@media(min-width:1024px){.hero__title{font-size:4.5rem}}
.hero__sub{margin-top:1.5rem;max-width:36rem;font-size:1rem;color:var(--muted-fg)}
@media(min-width:768px){.hero__sub{font-size:1.125rem}}
.hero__ctas{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}
.hero__rating{margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;font-size:.875rem}
.stars{display:inline-flex;gap:.125rem;color:var(--primary)}
.stars svg{width:1rem;height:1rem}

/* Sections */
.section{padding:5rem 0}
@media(min-width:768px){.section{padding:7rem 0}}
.section--tight{padding:5rem 0 2.5rem}
.section--bordered{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:rgba(35,39,48,.3)}

.section__head{display:flex;flex-direction:column;gap:1.5rem}
@media(min-width:768px){.section__head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.h2{margin-top:.75rem;font-size:1.875rem;font-weight:900}
@media(min-width:768px){.h2{font-size:3rem}}
.h1{margin-top:.75rem;font-size:2.25rem;font-weight:900;line-height:1.1}
@media(min-width:768px){.h1{font-size:3.75rem}}
.lead{margin-top:1rem;color:var(--muted-fg);max-width:42rem}
@media(min-width:768px){.lead{font-size:1.125rem}}

/* Stats */
.stats{display:grid;grid-template-columns:1fr}
@media(min-width:768px){.stats{grid-template-columns:repeat(3,1fr)}}
.stat{padding:2rem 0;border-top:1px solid var(--border-soft)}
.stats > .stat:first-child{border-top:0}
@media(min-width:768px){.stats > .stat{border-top:0;border-left:1px solid var(--border-soft);padding:2.5rem 2rem}.stats > .stat:first-child{border-left:0;padding-left:0}.stats > .stat:last-child{padding-right:0}}
.stat__k{font-family:var(--font-display);font-size:2.25rem;font-weight:900;color:var(--primary)}
@media(min-width:768px){.stat__k{font-size:3rem}}
.stat__v{margin-top:.25rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}

/* Cards grid */
.grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:768px){.grid--2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}
.card{position:relative;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:1.5rem;transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-4px);border-color:rgba(232,169,75,.6)}
.card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius);background:rgba(232,169,75,.1);color:var(--primary)}
.card__title{margin-top:1rem;font-size:1.125rem;font-weight:700}
.card__desc{margin-top:.5rem;font-size:.875rem;color:var(--muted-fg)}
.card__link{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:var(--primary)}
.card--outline{background:var(--bg);border:1px solid var(--border)}
.card--outline .card__icon{background:transparent;border:1px solid rgba(232,169,75,.3)}

.section__link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--primary)}

/* Final CTA */
.final-cta{padding:5rem 0}
@media(min-width:768px){.final-cta{padding:7rem 0}}
.final-cta__box{position:relative;overflow:hidden;border:1px solid var(--border);background:var(--card);border-radius:.5rem;padding:2rem}
@media(min-width:768px){.final-cta__box{padding:3.5rem}}
.final-cta__blob{position:absolute;right:-5rem;top:-5rem;width:18rem;height:18rem;border-radius:9999px;background:rgba(232,169,75,.2);filter:blur(80px)}
.final-cta__grid{position:relative;display:grid;gap:2rem}
@media(min-width:768px){.final-cta__grid{grid-template-columns:1.4fr 1fr;align-items:center}}
.contact-box{border:1px solid var(--border);background:rgba(26,29,36,.6);padding:1.5rem;border-radius:var(--radius);font-size:.875rem}
.contact-box__title{font-family:var(--font-display);font-size:1.125rem;font-weight:700}
.contact-box dl{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;color:var(--muted-fg)}
.contact-box dt{display:inline;color:rgba(245,242,236,.8)}
.contact-box dd{display:inline}

/* Steps */
.step-card{position:relative;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:1.5rem}
.step-card__num{position:absolute;top:-1rem;left:1.5rem;font-family:var(--font-display);font-size:3rem;font-weight:900;color:rgba(232,169,75,.2);line-height:1}
.step-card__body{padding-top:1.5rem}

/* FAQ */
details{border:1px solid var(--border);background:var(--bg);border-radius:var(--radius);padding:1.25rem}
details[open]{border-color:rgba(232,169,75,.4)}
summary{list-style:none;cursor:pointer;font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:space-between}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--primary);font-size:1.5rem;line-height:1;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:.75rem;font-size:.875rem;color:var(--muted-fg)}

/* Reviews */
.review{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);background:var(--card);border-radius:var(--radius);padding:1.75rem}
.review__quote{width:2rem;height:2rem;color:rgba(232,169,75,.3)}
.review__text{margin-top:1rem;flex:1;font-size:1rem;line-height:1.6}
.review__foot{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-soft)}
.review__author{font-family:var(--font-display);font-size:.875rem;font-weight:700}
.review__tag{font-size:.75rem;color:var(--muted-fg)}
.review__stars{margin-top:.5rem;display:inline-flex;gap:.125rem;color:var(--primary)}
.review__stars svg{width:.875rem;height:.875rem}

/* Contact page */
.contact-grid{display:grid;gap:1.5rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.3fr}}
.contact-item{display:flex;align-items:flex-start;gap:1rem;border:1px solid var(--border);background:var(--card);padding:1.25rem;border-radius:var(--radius);transition:border-color .2s}
.contact-item:hover{border-color:rgba(232,169,75,.5)}
.contact-item__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-fg)}
.contact-item__value{margin-top:.25rem;font-family:var(--font-display);font-size:1.125rem;font-weight:700}
.contact-note{border:1px solid rgba(232,169,75,.3);background:rgba(232,169,75,.05);padding:1.25rem;border-radius:var(--radius);font-size:.875rem}
.map-placeholder{min-height:25rem;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:radial-gradient(ellipse at center,#2d323d 0%,#1a1d24 100%);display:grid;place-items:center;text-align:center;padding:2rem}
.map-placeholder__title{margin-top:1rem;font-family:var(--font-display);font-size:1.5rem;font-weight:700}

/* Footer */
.footer{margin-top:6rem;border-top:1px solid var(--border-soft);background:rgba(35,39,48,.4)}
.footer__grid{display:grid;gap:2.5rem;padding:3.5rem 1.25rem}
@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr;padding:3.5rem 2rem}}
.footer__brand .brand{margin-bottom:1rem}
.footer__desc{max-width:22rem;font-size:.875rem;color:var(--muted-fg)}
.footer__title{font-size:.875rem;font-weight:600;color:var(--fg)}
.footer__list{margin-top:.75rem;list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}
.footer__list a{color:var(--muted-fg);transition:color .2s}
.footer__list a:hover{color:var(--primary)}
.footer__list--muted li{color:var(--muted-fg)}
.footer__list--muted span{color:rgba(245,242,236,.8)}
.footer__bar{border-top:1px solid var(--border-soft)}
.footer__bar-inner{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.25rem;font-size:.75rem;color:var(--muted-fg)}
@media(min-width:768px){.footer__bar-inner{flex-direction:row;justify-content:space-between;align-items:center;padding:1.5rem 2rem}}

/* USP */
.section-narrow{max-width:48rem}
.list-inline{margin-top:2.5rem;display:grid;gap:1.25rem;grid-template-columns:1fr}
@media(min-width:768px){.list-inline{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.list-inline{grid-template-columns:repeat(4,1fr)}}

.prose p{margin-top:1.5rem;color:var(--muted-fg)}
@media(min-width:768px){.prose p{font-size:1.125rem}}
