:root{
  --ink:#1d2412;
  --lime:#ddff5c;
  --paper:#fbfbf7;
  --line:rgba(29,36,18,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Manrope", Arial, sans-serif;
}
a{color:inherit}
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:20;
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 28px;
  mix-blend-mode:multiply;
}
.brand,.nav a{
  font-size:14px;text-decoration:none;
}
.nav{display:flex;gap:24px}
.section{
  min-height:100vh;
  padding:8vw 11vw;
  display:flex;
  align-items:center;
}
.hero{
  justify-content:center;
  text-align:center;
  position:relative;
}
.hero>.pill{position:absolute;top:22vh}
.pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--lime);
  border-radius:999px;
  padding:13px 36px;
  text-decoration:none;
}
.pill.small{padding:10px 28px}
.hero h1{
  margin:0;
  font-weight:400;
  line-height:.93;
  letter-spacing:-.055em;
  font-size:clamp(58px,7vw,120px);
}
.hero h1 span,.hero h1 em{display:block}
.hero h1 span{
  font-size:.72em;
  letter-spacing:-.04em;
  margin-bottom:.08em;
}

.hero h1 em{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:400;
  font-style:italic;
}
.hero p{font-size:clamp(17px,1.5vw,24px);margin-top:52px}
.glow-section{
  background:
  radial-gradient(circle at 50% 55%, rgba(221,255,92,.95) 0 4%, rgba(221,255,92,.35) 9%, rgba(221,255,92,0) 28%),
  var(--paper);
}
.services-intro{justify-content:flex-start}
.services-intro h2,.service h2,.policy h2,.contact h2{
  margin:0;
  font-size:clamp(38px,4vw,72px);
  font-weight:400;
  letter-spacing:-.045em;
}
.serif{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-style:italic;
}
.services-intro .serif{
  margin:12px 0 0;
  font-size:clamp(30px,3vw,54px);
}
.split{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:6vw;
}
.service-copy{align-self:center}
.service-kicker{
  font-size:clamp(26px,2.6vw,46px);
  line-height:1;
  margin:12px 0 44px;
}
.price-row{
  display:flex;align-items:center;gap:18px;
  font-size:clamp(18px,1.5vw,26px);
}
.service ul{
  list-style:none;
  padding:0;margin:30px 0 0;
  display:grid;gap:24px;
  font-size:clamp(18px,1.45vw,25px);
}
.service-note{
  max-width:620px;
  margin-top:70px;
  font-size:clamp(17px,1.35vw,23px);
}
.photo-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  align-self:center;
  overflow:hidden;
}
.photo-grid img{
  width:100%;
  aspect-ratio:4 / 5;
  height:auto;
  min-height:0;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .35s ease, opacity .35s ease;
}
.photo-grid img:hover{transform:scale(1.015);opacity:.96}
.faq{
  padding:0;
  display:block;
  min-height:100vh;
}
.faq-heading{
  text-align:center;
  background:var(--lime);
  padding:32px 20px;
  font-size:64px;
  font-style:normal;
}
.faq-list{
  max-width:1100px;
  margin:0 auto;
  padding:44px 22px 90px;
}
.faq-item{
  border-bottom:1px solid var(--line);
  padding:24px 0;
}
.faq-item h3{
  margin:0;
  font-weight:600;
  text-align:center;
  font-size:clamp(20px,1.5vw,28px);
}
.faq-item p{
  text-align:center;
  margin:14px auto 0;
  font-size:clamp(18px,1.45vw,25px);
  max-width:1000px;
}
.policy{justify-content:center;text-align:center}
.policy-card{max-width:1100px}
.policy-card p{
  font-size:clamp(22px,2vw,34px);
  line-height:1.2;
}
.contact{
  background:var(--lime);
  justify-content:center;
}
.contact-wrap{max-width:1000px;width:100%}
.contact h2{font-size:clamp(38px,4vw,68px)}
.contact h2 em{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:400;
}
.contact-copy{
  font-size:clamp(30px,3.2vw,58px);
  line-height:.98;
  letter-spacing:-.045em;
  margin:48px 0 120px;
}
.instagram{
  display:block;
  text-align:center;
  font-size:clamp(22px,1.8vw,30px);
  text-decoration:none;
}
footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px 28px;
  background:#111;
  color:#fff;
  font-size:12px;
}
@media (max-width:900px){
  .site-header{padding:14px 16px;background:rgba(251,251,247,.8);backdrop-filter:blur(8px)}
  .nav{gap:12px}
  .section{padding:100px 22px 70px;min-height:auto}
  .hero{min-height:100svh}
  .hero>.pill{top:17vh}
  .hero h1{font-size:clamp(54px,16vw,86px)}
  .split{grid-template-columns:1fr;gap:42px}
  .photo-grid{height:auto;min-height:0}
  .photo-grid img{min-height:0}
  .service-note{margin-top:42px}
  .contact-copy{margin-bottom:70px}
}
@media (max-width:560px){
  .brand{display:none}
  .nav{margin-left:auto}
  .hero>.pill{top:15vh}
  .hero p{margin-top:30px}
  .photo-grid{grid-template-columns:repeat(2,1fr)}
  .faq-heading{font-size:48px}
  footer{flex-direction:column}
}
