/* ====== Kingswell Strategia — Stile ====== */
:root{
  --oxblood:#3A1418;
  --oxblood-soft:#4d1d22;
  --parchment:#F2EBDD;
  --parchment-deep:#e7dcc6;
  --gold:#B08D4F;
  --gold-bright:#c8a567;
  --ink:#1A1614;
  --sage:#6E7359;
  --line:rgba(176,141,79,.32);
  --shadow:0 18px 50px rgba(26,22,20,.18);
  --serif:'Cormorant Garamond',Georgia,serif;
  --body:'EB Garamond',Georgia,serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  background:var(--parchment);
  color:var(--ink);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* ====== Eyebrow / utility caps ====== */
.eyebrow{
  font-family:var(--body);
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:.72rem;
  color:var(--gold);
  font-weight:600;
  display:inline-block;
}
.divider{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin:0 auto;color:var(--gold);
}
.divider::before,.divider::after{
  content:"";height:1px;width:64px;background:var(--gold);opacity:.5;
}
.stemma{width:30px;height:30px;flex:none}

/* ====== Header ====== */
.site-head{
  position:sticky;top:0;z-index:50;
  background:rgba(58,20,24,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(6px);
}
.site-head .wrap{
  display:flex;align-items:center;justify-content:space-between;
  height:78px;
}
.brand{display:flex;align-items:center;gap:13px;color:var(--parchment)}
.brand svg{width:38px;height:38px;flex:none}
.brand-name{font-family:var(--serif);font-size:1.5rem;font-weight:600;letter-spacing:.03em;line-height:1}
.brand-name small{display:block;font-family:var(--body);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav{display:flex;gap:30px;align-items:center}
.nav a{color:var(--parchment);font-size:.95rem;letter-spacing:.04em;opacity:.85;transition:opacity .2s,color .2s}
.nav a:hover{opacity:1;color:var(--gold-bright)}
.nav .btn-mini{
  border:1px solid var(--gold);color:var(--gold-bright);
  padding:9px 20px;border-radius:2px;letter-spacing:.08em;
  text-transform:uppercase;font-size:.78rem;opacity:1;
}
.nav .btn-mini:hover{background:var(--gold);color:var(--oxblood)}
.nav-toggle{display:none;background:none;border:0;color:var(--parchment);font-size:1.6rem;cursor:pointer}

/* ====== Hero ====== */
.hero{
  position:relative;color:var(--parchment);
  background:linear-gradient(rgba(26,12,14,.74),rgba(26,12,14,.86)),
    url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1800&q=72&auto=format&fit=crop') center/cover;
  padding:118px 0 128px;
  text-align:center;
}
.hero .frame{
  border:1px solid var(--line);
  padding:58px 30px;
  max-width:880px;margin:0 auto;
  position:relative;
}
.hero .frame::before,.hero .frame::after{
  content:"";position:absolute;width:22px;height:22px;border:1px solid var(--gold);
}
.hero .frame::before{top:-2px;left:-2px;border-right:0;border-bottom:0}
.hero .frame::after{bottom:-2px;right:-2px;border-left:0;border-top:0}
.hero h1{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.05;
  margin:22px 0 18px;letter-spacing:.01em;
}
.hero h1 em{font-style:italic;color:var(--gold-bright)}
.hero p{font-size:1.18rem;max-width:560px;margin:0 auto 32px;color:rgba(242,235,221,.86)}
.btn{
  display:inline-block;background:var(--gold);color:var(--oxblood);
  font-family:var(--body);font-weight:600;
  padding:15px 38px;border-radius:2px;border:1px solid var(--gold);
  text-transform:uppercase;letter-spacing:.12em;font-size:.84rem;cursor:pointer;
  transition:background .22s,color .22s,transform .22s;
}
.btn:hover{background:transparent;color:var(--gold-bright);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--parchment);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright)}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ====== Section base ====== */
section{padding:96px 0}
.section-head{text-align:center;max-width:680px;margin:0 auto 58px}
.section-head h2{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.12;margin:16px 0 14px;
}
.section-head p{color:#5a4a44}
.alt{background:var(--oxblood);color:var(--parchment)}
.alt .section-head p{color:rgba(242,235,221,.78)}

/* ====== Pillars / stats strip ====== */
.crest-strip{
  background:var(--ink);color:var(--parchment);
  padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.crest-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.crest-grid div{
  padding:42px 22px;text-align:center;
  border-right:1px solid rgba(176,141,79,.18);
}
.crest-grid div:last-child{border-right:0}
.crest-grid .num{font-family:var(--serif);font-size:2.7rem;color:var(--gold-bright);line-height:1}
.crest-grid .lbl{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,235,221,.7);margin-top:10px}

/* ====== Services ====== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.svc{
  background:var(--parchment);padding:42px 34px;
  transition:background .25s,transform .25s;position:relative;
}
.svc:hover{background:#fff;transform:translateY(-3px)}
.svc .rn{font-family:var(--serif);font-size:1rem;color:var(--gold);letter-spacing:.2em}
.svc h3{font-family:var(--serif);font-size:1.6rem;font-weight:600;margin:14px 0 12px}
.svc p{color:#5a4a44;font-size:1rem}

/* ====== Approach (image + text) ====== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split img{border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}
.steps{list-style:none}
.steps li{padding:20px 0;border-bottom:1px solid var(--line);display:flex;gap:20px}
.steps li:last-child{border-bottom:0}
.steps .sn{font-family:var(--serif);font-size:1.7rem;color:var(--gold);flex:none;width:46px}
.steps h4{font-family:var(--serif);font-size:1.35rem;font-weight:600;margin-bottom:4px}
.steps p{color:#5a4a44;font-size:1rem}

/* ====== Pricing ====== */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.plan{
  background:var(--parchment);border:1px solid var(--line);
  padding:44px 34px;display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s;
}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.plan.featured{background:var(--oxblood);color:var(--parchment);border-color:var(--gold)}
.plan .tier{font-family:var(--body);text-transform:uppercase;letter-spacing:.22em;font-size:.76rem;color:var(--gold)}
.plan h3{font-family:var(--serif);font-size:2rem;font-weight:600;margin:8px 0 16px}
.plan .amt{font-family:var(--serif);font-size:3rem;line-height:1;font-weight:600;color:var(--oxblood)}
.plan.featured .amt{color:var(--parchment)}
.plan .amt span{font-family:var(--body);font-size:1rem;color:#7a685f}
.plan.featured .amt span{color:rgba(242,235,221,.7)}
.plan .per{font-size:.9rem;color:#7a685f;margin:8px 0 22px}
.plan.featured .per{color:rgba(242,235,221,.7)}
.plan ul{list-style:none;margin:0 0 30px;flex:1}
.plan li{padding:9px 0;border-bottom:1px dotted var(--line);font-size:.98rem;display:flex;gap:10px}
.plan li::before{content:"✦";color:var(--gold);flex:none}
.plan .btn{width:100%;text-align:center}
.plan.featured .btn{background:var(--gold);color:var(--oxblood)}
.plan.featured .btn:hover{background:transparent;color:var(--gold-bright)}
.tag{
  align-self:flex-start;background:var(--gold);color:var(--oxblood);
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 12px;border-radius:2px;margin-bottom:14px;font-weight:600;
}
.price-note{text-align:center;color:#7a685f;font-size:.9rem;margin-top:34px}

/* ====== Testimonials ====== */
.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.quote{
  background:rgba(242,235,221,.06);border:1px solid var(--line);
  padding:38px 34px;
}
.quote p{font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.5;color:var(--parchment)}
.quote .who{margin-top:20px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright)}

/* ====== Contact ====== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contact-info h3{font-family:var(--serif);font-size:1.6rem;font-weight:600;margin-bottom:8px}
.contact-info .row{padding:18px 0;border-bottom:1px solid var(--line)}
.contact-info .k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:5px}
.contact-info .v{font-size:1.05rem}
.contact-info .v a:hover{color:var(--gold)}
form .field{margin-bottom:20px}
form label{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);margin-bottom:7px}
form input,form select,form textarea{
  width:100%;padding:13px 15px;border:1px solid var(--line);background:#fff;
  font-family:var(--body);font-size:1rem;color:var(--ink);border-radius:2px;
}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
form textarea{resize:vertical;min-height:120px}
.consent{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:#5a4a44}
.consent input{width:auto;margin-top:5px}
.form-status{margin-top:16px;font-size:.95rem;color:var(--sage);min-height:1.4em}
.form-status.ok{color:#3c6b3c}

/* ====== Footer ====== */
.site-foot{background:var(--ink);color:var(--parchment);padding:64px 0 30px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-grid h5{font-family:var(--body);text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--gold);margin-bottom:16px}
.foot-grid a,.foot-grid p{display:block;color:rgba(242,235,221,.78);font-size:.95rem;padding:5px 0}
.foot-grid a:hover{color:var(--gold-bright)}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.foot-brand svg{width:40px;height:40px}
.foot-brand .brand-name{color:var(--parchment)}
.foot-bottom{border-top:1px solid rgba(176,141,79,.22);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.85rem;color:rgba(242,235,221,.6)}

/* ====== Cookie banner ====== */
.cookie{
  position:fixed;left:24px;right:24px;bottom:24px;z-index:100;
  background:var(--oxblood);border:1px solid var(--gold);
  color:var(--parchment);padding:24px 28px;border-radius:3px;
  box-shadow:var(--shadow);
  display:none;grid-template-columns:1fr auto;gap:24px;align-items:center;
  max-width:960px;margin:0 auto;
}
.cookie.show{display:grid}
.cookie p{font-size:.92rem;color:rgba(242,235,221,.85)}
.cookie p a{color:var(--gold-bright);text-decoration:underline}
.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}
.cookie .btn{padding:11px 24px;font-size:.74rem}

/* ====== Legal pages ====== */
.legal-hero{
  background:var(--oxblood);color:var(--parchment);
  padding:70px 0 56px;text-align:center;border-bottom:1px solid var(--line);
}
.legal-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:600;margin-top:16px}
.legal-body{max-width:820px;margin:0 auto;padding:64px 28px}
.legal-body h2{font-family:var(--serif);font-size:1.7rem;font-weight:600;margin:38px 0 12px;color:var(--oxblood)}
.legal-body h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin:24px 0 8px}
.legal-body p,.legal-body li{color:#3f3631;margin-bottom:12px}
.legal-body ul{margin:0 0 16px 24px}
.legal-body .updated{color:var(--sage);font-size:.9rem;font-style:italic}
.legal-body a{color:var(--gold);text-decoration:underline}
.back-link{display:inline-block;margin-top:30px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}

/* ====== Responsive ====== */
@media(max-width:900px){
  .nav{
    position:absolute;top:78px;left:0;right:0;
    background:var(--oxblood);flex-direction:column;gap:0;
    border-bottom:1px solid var(--line);display:none;padding:10px 0;
  }
  .nav.open{display:flex}
  .nav a{padding:14px 28px;width:100%;border-bottom:1px solid rgba(176,141,79,.12)}
  .nav .btn-mini{margin:12px 28px;text-align:center}
  .nav-toggle{display:block}
  .crest-grid{grid-template-columns:repeat(2,1fr)}
  .crest-grid div:nth-child(2){border-right:0}
  .services-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:36px}
  .split img{aspect-ratio:16/10}
  .price-grid{grid-template-columns:1fr}
  .quote-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .foot-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:520px){
  .crest-grid{grid-template-columns:1fr}
  .crest-grid div{border-right:0}
  .cookie{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
