@import url("/_a/fonts.googleapis.com/css2.f59cb2f6.css");

/* ===== Huge Process — clean static rebuild ===== */
:root{
  --bg:#fafafa; --ink:#000; --ink-soft:#1a1a1a;
  --mint:#bce6e4; --blue:#61bce0; --teal:#7cdfcb; --gray:#dcdcdc; --pink:#db8585;
  --paper:#fafafa;
  --maxw:1200px;
  --disp:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --border:6px solid #000;
}
*{box-sizing:border-box}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--serif); font-size:1.075rem; line-height:1.8; letter-spacing:.015em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block; height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp); font-weight:500; line-height:1.12; margin:0; letter-spacing:-.01em}
h1{font-size:clamp(2.4rem,6vw,4.3rem)}
h2{font-size:clamp(2.1rem,5vw,4.3rem)}
h3{font-size:clamp(1.7rem,3.6vw,2.85rem)}
h4{font-size:clamp(1.25rem,2vw,1.6rem)}
p{margin:0 0 1.1em}

.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,40px)}
.section{padding:clamp(48px,8vw,110px) 0}
.center{text-align:center}
.prose{font-family:var(--serif)}
.muted{color:#555}

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:50; background:var(--bg);
  display:flex; align-items:center; justify-content:space-between;
  padding:14px clamp(20px,5vw,40px);
}
.brand{display:inline-flex; align-items:center}
.brand img{height:56px; width:auto}
.nav{display:flex; gap:clamp(18px,3vw,40px); align-items:center}
.nav a{
  font-family:var(--disp); font-weight:500; font-size:1.15rem; text-decoration:none;
  padding:4px 0; border-bottom:2px solid transparent;
}
.nav a:hover{opacity:.7}
.nav a.active{border-bottom-color:#000}
.burger{display:none; background:none; border:0; cursor:pointer; padding:8px}
.burger span{display:block; width:26px; height:2px; background:#000; margin:5px 0; transition:.25s}

@media (max-width:820px){
  .burger{display:block}
  .nav{
    position:absolute; top:100%; right:0; left:0; background:var(--bg);
    flex-direction:column; gap:0; align-items:stretch;
    max-height:0; overflow:hidden; transition:max-height .3s ease;
    box-shadow:0 12px 24px rgba(0,0,0,.08);
  }
  .nav a{padding:16px clamp(20px,5vw,40px); border-bottom:1px solid #eee}
  .nav a.active{border-bottom-color:#eee; font-weight:700}
  html.menu-open .nav{max-height:60vh}
  html.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  html.menu-open .burger span:nth-child(2){opacity:0}
  html.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ===== Hero ===== */
.hero{
  position:relative; min-height:min(88vh,820px);
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:#fff; background:#111 center/cover no-repeat;
  padding:120px clamp(20px,6vw,40px);
}
.hero::after{content:""; position:absolute; inset:0; background:rgba(0,0,0,.28)}
.hero__inner{position:relative; z-index:1; max-width:1000px; text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero h1,.hero h2{color:#fff; margin-bottom:.4em}
.hero p{color:#fff; font-family:var(--disp); font-weight:500; font-size:clamp(1.05rem,1.8vw,1.5rem); line-height:1.4; margin:0 auto; max-width:760px}

/* ===== Big centered statements ===== */
.lead{max-width:1100px; margin:0 auto; text-align:center}
.lead h2,.lead h3{margin-bottom:.6em}
.statement{max-width:900px; margin:0 auto; text-align:center}

/* ===== Title box (e.g. OUR SERVICES) ===== */
.titlebox{
  display:inline-block; background:var(--mint); border:var(--border);
  padding:.35em .9em; font-family:var(--disp); font-weight:500;
  font-size:clamp(1.8rem,4vw,3rem); line-height:1;
}

/* ===== Buttons ===== */
.btn{
  display:inline-block; background:#000; color:var(--paper); text-decoration:none;
  font-family:var(--disp); font-weight:500; font-size:1.05rem;
  padding:13px 26px; border-radius:6px; border:2px solid #000; transition:.2s;
}
.btn:hover{background:#fff; color:#000}

/* ===== Service cards ===== */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:28px}
@media(max-width:900px){.cards{grid-template-columns:1fr}}
.card{
  border:1px solid #d9d9d9; border-radius:8px; background:#fff;
  padding:34px 30px; display:flex; flex-direction:column;
}
.card__title{font-family:var(--disp); font-weight:700; font-size:1.05rem; letter-spacing:.03em; text-align:center; margin-bottom:16px}
.card__desc{text-align:center; font-size:1rem; line-height:1.7; margin-bottom:18px}
.card__price{font-family:var(--disp); font-weight:500; font-size:1.5rem; text-align:center; margin:6px 0 4px}
.card__price small{display:block; font-family:var(--serif); font-size:.85rem; color:#666; font-weight:400}
.card .btn{align-self:center; margin:10px 0 20px}
.card__list{list-style:none; margin:0; padding:18px 0 0; border-top:1px solid #eee; font-size:.98rem}
.card__list li{padding:7px 0 7px 26px; position:relative; line-height:1.5}
.card__list li::before{content:"✓"; position:absolute; left:0; color:var(--teal); font-weight:700}

/* ===== Split (image + text) ===== */
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,64px); align-items:center}
.split.rev .split__media{order:2}
@media(max-width:820px){.split{grid-template-columns:1fr}.split.rev .split__media{order:0}}
.split__media img{width:100%; border-radius:6px; object-fit:cover}

/* ===== Accordion ===== */
.accordion{max-width:900px; margin:24px auto 0; border-top:1px solid #d9d9d9}
.acc-item{border-bottom:1px solid #d9d9d9}
.acc-head{
  width:100%; background:none; border:0; cursor:pointer; text-align:left;
  font-family:var(--disp); font-weight:500; font-size:clamp(1.1rem,2vw,1.4rem);
  padding:22px 44px 22px 4px; position:relative; color:#000;
}
.acc-head::after{content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); font-size:1.6rem; transition:.2s}
.acc-item.open .acc-head::after{content:"–"}
.acc-body{max-height:0; overflow:hidden; transition:max-height .3s ease}
.acc-body__inner{padding:0 4px 24px; font-family:var(--serif); line-height:1.8}
.acc-item.open .acc-body{max-height:600px}

/* ===== Colored boxes ===== */
.box{border:var(--border); padding:34px 30px}
.box--mint{background:var(--mint)} .box--blue{background:var(--blue)} .box--teal{background:var(--teal)}
.box h3,.box h4{margin-bottom:.4em}

/* ===== Locations / contact rows ===== */
.locations{display:grid; gap:22px; margin-top:20px}
.loc{line-height:1.6}
.loc a{color:#000}
.contact-methods{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:30px; align-items:start}
@media(max-width:700px){.contact-methods{grid-template-columns:1fr}}
.contact-methods img{width:170px; margin-top:14px}

/* ===== Footer ===== */
.site-footer{background:var(--bg); border-top:1px solid #eaeaea; padding:clamp(48px,7vw,90px) 0 60px}
.footer-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:clamp(30px,5vw,60px); align-items:start}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr}}
.footer-boxes{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:26px}
@media(max-width:520px){.footer-boxes{grid-template-columns:1fr}}
.footer-office img{width:100%; border-radius:6px}
.footer-links a{color:#000}
.foot-email{font-family:var(--disp); font-weight:500; font-size:1.15rem; margin-top:18px; display:inline-block}

/* small helpers */
.stack>*+*{margin-top:14px}
.price-note{font-family:var(--serif); color:#666; font-size:.9rem}
