*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:#F4F1EC;color:#2C2C2C;line-height:1.6}

/* NAV */
nav{background:#1C1C2E;position:sticky;top:0;z-index:100;border-bottom:2px solid #B8922A}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-links{display:flex;gap:32px;list-style:none}
.nav-links a{color:#F4F1EC;text-decoration:none;font-family:'Cinzel',serif;font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;opacity:0.85;transition:opacity 0.2s,color 0.2s}
.nav-links a:hover{opacity:1;color:#B8922A}
.nav-cta{background:#C0392B;color:#F4F1EC;font-family:'Cinzel',serif;font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;padding:10px 22px;border:none;cursor:pointer;text-decoration:none;transition:background 0.2s}
.nav-cta:hover{background:#a02f23}

/* HERO — SPLIT */
.hero{background:#1C1C2E;max-height:480px;display:flex;overflow:hidden}
.hero-left{flex:1 1 50%;display:flex;flex-direction:column;justify-content:center;padding:56px 56px 56px 64px;position:relative}
.hero-left::after{content:'';position:absolute;right:0;top:10%;bottom:10%;width:2px;background:linear-gradient(to bottom,transparent,#B8922A,transparent)}
.hero-eyebrow{font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:#B8922A;margin-bottom:18px}
.hero-headline{font-family:'Cinzel',serif;font-size:2.5rem;font-weight:700;line-height:1.15;color:#F4F1EC;margin-bottom:16px}
.hero-headline span{color:#C0392B}
.hero-sub{color:#b0a99e;font-size:1rem;line-height:1.65;margin-bottom:32px;max-width:400px;font-weight:300}
.btn-primary{display:inline-block;background:#C0392B;color:#F4F1EC;font-family:'Cinzel',serif;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;padding:14px 32px;text-decoration:none;transition:background 0.2s,transform 0.15s}
.btn-primary:hover{background:#a02f23;transform:translateY(-1px)}
.btn-secondary{display:inline-block;border:1px solid #B8922A;color:#B8922A;font-family:'Cinzel',serif;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;padding:13px 28px;text-decoration:none;margin-left:14px;transition:background 0.2s,color 0.2s}
.btn-secondary:hover{background:#B8922A;color:#1C1C2E}
.hero-right{flex:1 1 50%;position:relative;overflow:hidden;max-height:480px}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:brightness(0.88)}
.hero-right::after{content:'';position:absolute;left:0;top:0;bottom:0;width:80px;background:linear-gradient(to right,#1C1C2E,transparent)}

/* TRUST BAR */
.trust-bar{background:#2C2C2C;padding:14px 24px}
.trust-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:10px;color:#b0a99e;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;font-family:'Cinzel',serif}
.trust-dot{width:6px;height:6px;background:#B8922A;border-radius:50%;flex-shrink:0}

/* FEATURE ROW */
.features{background:#F4F1EC;padding:80px 24px}
.section-label{text-align:center;font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.25em;text-transform:uppercase;color:#B8922A;margin-bottom:12px}
.section-title{text-align:center;font-family:'Cinzel',serif;font-size:2rem;font-weight:700;color:#1C1C2E;margin-bottom:48px;line-height:1.25}
.feature-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.feature-card{background:#fff;border-top:3px solid #B8922A;padding:36px 28px;position:relative}
.feature-num{font-family:'Cinzel',serif;font-size:2.4rem;font-weight:900;color:#F4F1EC;position:absolute;top:20px;right:24px;line-height:1;-webkit-text-stroke:1px #e2ddd6}
.feature-icon{width:40px;height:40px;background:#1C1C2E;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.feature-icon svg{width:20px;height:20px;fill:#B8922A}
.feature-card h3{font-family:'Cinzel',serif;font-size:1.05rem;font-weight:600;color:#1C1C2E;margin-bottom:12px;line-height:1.3}
.feature-card p{font-size:0.88rem;color:#5a5a5a;line-height:1.7}

/* ALTERNATING SECTION */
.alt-section{padding:80px 24px;background:#1C1C2E}
.alt-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.alt-img-wrap{position:relative}
.alt-img-wrap img{width:100%;height:420px;object-fit:cover;object-position:center;display:block}
.alt-img-wrap::before{content:'';position:absolute;top:-12px;left:-12px;right:12px;bottom:12px;border:2px solid #B8922A;z-index:0}
.alt-img-wrap img{position:relative;z-index:1}
.alt-badge{position:absolute;bottom:-16px;right:-16px;background:#C0392B;padding:16px 20px;z-index:2}
.alt-badge p{font-family:'Cinzel',serif;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:#F4F1EC;line-height:1.5}
.alt-badge strong{display:block;font-size:1.1rem;color:#fff}
.alt-text .section-label{text-align:left}
.alt-text h2{font-family:'Cinzel',serif;font-size:2rem;font-weight:700;color:#F4F1EC;margin-bottom:20px;line-height:1.2}
.alt-text p{color:#9e9790;font-size:0.92rem;line-height:1.8;margin-bottom:16px}
.alt-text p:last-of-type{margin-bottom:28px}
.process-steps{list-style:none;margin-bottom:32px}
.process-steps li{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;font-size:0.88rem;color:#b0a99e}
.step-num{flex-shrink:0;width:24px;height:24px;background:#B8922A;color:#1C1C2E;font-family:'Cinzel',serif;font-size:0.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}

/* PRICING TEASER */
.pricing-teaser{background:#F4F1EC;padding:72px 24px}
.pricing-inner{max-width:900px;margin:0 auto;text-align:center}
.pricing-inner h2{font-family:'Cinzel',serif;font-size:2rem;font-weight:700;color:#1C1C2E;margin-bottom:16px}
.pricing-inner p{color:#5a5a5a;font-size:0.95rem;line-height:1.75;margin-bottom:36px;max-width:620px;margin-left:auto;margin-right:auto}
.price-range-row{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.price-pill{border:1px solid #B8922A;padding:14px 28px;font-family:'Cinzel',serif}
.price-pill span{display:block;font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:#B8922A;margin-bottom:4px}
.price-pill strong{font-size:1.2rem;color:#1C1C2E}

/* GALLERY STRIP */
.gallery-strip{background:#2C2C2C;padding:0;display:flex;overflow:hidden;height:220px}
.gallery-strip img{flex:1 1 25%;width:25%;height:100%;object-fit:cover;filter:brightness(0.75);transition:filter 0.3s}
.gallery-strip img:hover{filter:brightness(1)}

/* CONTACT SECTION */
.contact-section{background:#F4F1EC;padding:80px 24px}
.contact-inner{max-width:720px;margin:0 auto}
.contact-inner .section-label{text-align:center}
.contact-inner h2{font-family:'Cinzel',serif;font-size:2rem;font-weight:700;color:#1C1C2E;margin-bottom:16px;text-align:center;line-height:1.25}
.contact-intro{color:#5a5a5a;font-size:0.95rem;line-height:1.75;margin-bottom:36px;text-align:center}
.contact-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-family:'Cinzel',serif;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:#1C1C2E}
.form-group input,
.form-group textarea{background:#fff;border:1px solid #d4cfc8;padding:12px 16px;font-family:'Inter',sans-serif;font-size:0.9rem;color:#2C2C2C;outline:none;transition:border-color 0.2s;resize:vertical}
.form-group input:focus,
.form-group textarea:focus{border-color:#B8922A}
.form-group textarea{min-height:130px}
.contact-submit{background:#C0392B;color:#F4F1EC;font-family:'Cinzel',serif;font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;padding:14px 32px;border:none;cursor:pointer;align-self:flex-start;transition:background 0.2s,transform 0.15s}
.contact-submit:hover{background:#a02f23;transform:translateY(-1px)}
.contact-submit:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.contact-error{color:#C0392B;font-size:0.85rem;margin-top:4px}
.contact-success{background:#1C1C2E;border-left:4px solid #B8922A;padding:24px 28px;font-family:'Cinzel',serif;font-size:0.95rem;color:#F4F1EC;line-height:1.6}

/* FOOTER */
footer{background:#1C1C2E;border-top:3px solid #B8922A;padding:56px 24px 24px}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand img{height:52px;width:auto;margin-bottom:16px}
.footer-brand p{color:#7a7468;font-size:0.83rem;line-height:1.75;max-width:240px}
.footer-col h4{font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:#B8922A;margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{color:#9e9790;text-decoration:none;font-size:0.84rem;transition:color 0.2s}
.footer-col ul li a:hover{color:#F4F1EC}
.footer-col address{font-style:normal;color:#9e9790;font-size:0.84rem;line-height:1.85}
.footer-col address a{color:#9e9790;text-decoration:none}
.footer-col address a:hover{color:#F4F1EC}
.footer-bottom{max-width:1200px;margin:0 auto;padding-top:24px;border-top:1px solid #2e2e42;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-copy{color:#4a4a5e;font-size:0.78rem}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap}
.footer-legal a{color:#4a4a5e;font-size:0.78rem;text-decoration:none;transition:color 0.2s}
.footer-legal a:hover{color:#9e9790}
.footer-sumo{color:#4a4a5e;font-size:0.74rem;text-decoration:none;display:flex;align-items:center;gap:4px}
.footer-sumo:hover{color:#7a7a8e}

/* COOKIE BANNER */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#1C1C2E;border-top:2px solid #B8922A;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;z-index:9999}
.cookie-banner p{color:#b0a99e;font-size:0.84rem;flex:1 1 260px}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.cookie-btn-accept{background:#C0392B;color:#F4F1EC;font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;padding:9px 20px;border:none;cursor:pointer;transition:background 0.2s}
.cookie-btn-accept:hover{background:#a02f23}
.cookie-btn-decline{background:transparent;color:#b0a99e;font-family:'Cinzel',serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;padding:9px 16px;border:1px solid #4a4a5e;cursor:pointer;transition:border-color 0.2s,color 0.2s}
.cookie-btn-decline:hover{border-color:#b0a99e;color:#F4F1EC}

/* RESPONSIVE */
@media(max-width:900px){
  .hero{flex-direction:column;max-height:none}
  .hero-left{padding:40px 28px;max-width:100%}
  .hero-left::after{display:none}
  .hero-right{max-height:260px}
  .feature-grid{grid-template-columns:1fr;gap:24px}
  .alt-inner{grid-template-columns:1fr;gap:40px}
  .alt-img-wrap::before{display:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .gallery-strip{height:140px}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:600px){
  .nav-links{display:none}
  .hero-headline{font-size:1.75rem}
  .btn-secondary{display:none}
  .footer-grid{grid-template-columns:1fr}
  .trust-inner{gap:24px}
  .price-range-row{flex-direction:column;align-items:center}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
  .footer-legal{justify-content:center}
  .cookie-banner{flex-direction:column;align-items:flex-start}
}