:root{
  --ink:#22332f; --paper:#faf7f0; --accent:#1c5e53; --mid:#5c7a72; --blush:#c9a88f;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.8;
  position:relative;
  overflow-x:hidden;
}
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  opacity:0.045; mix-blend-mode:multiply;
}
.wash{
  position:fixed; inset:-14%; z-index:-1; pointer-events:none; filter:blur(11px);
  background:
    radial-gradient(46% 42% at 15% 10%, rgba(233,176,138,0.30), transparent 70%),
    radial-gradient(44% 40% at 85% 16%, rgba(221,148,138,0.28), transparent 72%),
    radial-gradient(52% 48% at 76% 72%, rgba(226,190,148,0.26), transparent 72%),
    radial-gradient(46% 42% at 10% 84%, rgba(210,138,116,0.24), transparent 70%),
    radial-gradient(40% 36% at 48% 46%, rgba(236,206,166,0.20), transparent 72%),
    radial-gradient(38% 34% at 62% 30%, rgba(201,120,112,0.16), transparent 72%);
  animation: drift 28s ease-in-out infinite;
}
@keyframes drift{
  0%   { transform: translate(0,0) scale(1); }
  50%  { transform: translate(1.5%,-1.5%) scale(1.08); }
  100% { transform: translate(0,0) scale(1); }
}
@media (prefers-reduced-motion: reduce){ .wash{ animation:none; } }

header{ text-align:center; padding:2.75rem 1.5rem 0; }
.site-name{
  display:inline-block; text-decoration:none;
  font-style:italic; font-size:1.05rem; letter-spacing:0.28em;
  color:var(--mid); text-transform:lowercase;
}
.site-nav{
  margin-top:1.15rem;
  font-family:system-ui,-apple-system,sans-serif;
  font-size:0.78rem; letter-spacing:0.14em; text-transform:lowercase;
}
.site-nav a{
  color:var(--mid); text-decoration:none; padding:0.4rem 0.55rem;
  display:inline-block; border-bottom:1px solid transparent;
}
.site-nav a:hover, .site-nav a:focus-visible{ color:var(--accent); border-bottom-color:rgba(28,94,83,0.4); }
.site-nav a[aria-current="page"]{ color:var(--ink); border-bottom-color:var(--blush); }

main{ max-width:60rem; margin:0 auto; padding:0 1.5rem; }
section{ padding:5rem 0; }

.hero{ position:relative; text-align:center; padding:4.5rem 0 3rem; }
.hero-ghost{
  position:absolute; top:-2.5rem; left:50%; transform:translateX(-50%);
  width:min(380px,82%); z-index:0; opacity:0.20; filter:blur(1.5px);
  mix-blend-mode:multiply; pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 68% 68% at 50% 44%, #000 42%, transparent 78%);
  mask-image:radial-gradient(ellipse 68% 68% at 50% 44%, #000 42%, transparent 78%);
}
.hero h1{
  position:relative; z-index:1;
  font-style:italic; font-weight:400;
  font-size:clamp(2.2rem,5.5vw,3.9rem); line-height:1.1;
  letter-spacing:0.01em; text-transform:lowercase;
  margin-bottom:1.5rem;
}
.hero p.lede{
  position:relative; z-index:1;
  font-size:1.15rem; color:var(--mid);
  max-width:34rem; margin:0 auto; line-height:1.9;
}

.prose{ text-align:center; }
.prose h2{
  font-style:italic; font-weight:400; font-size:1.05rem;
  letter-spacing:0.18em; color:var(--mid); text-transform:lowercase;
  margin-bottom:1.9rem;
}
.prose p{
  font-size:1.1rem; max-width:35rem; margin:0 auto 1.15rem; color:var(--ink);
}
.prose p:last-child{ margin-bottom:0; }

.credits{
  list-style:none; max-width:35rem; margin:0 auto; text-align:left;
}
.credits li{
  padding:0.85rem 0; border-bottom:1px solid rgba(92,122,114,0.18);
  font-size:1.05rem; line-height:1.7;
}
.credits li:last-child{ border-bottom:none; }
.credits .where{ font-style:italic; color:var(--ink); }
.credits .what{ display:block; font-size:0.95rem; color:var(--mid); }

.steps{ list-style:none; counter-reset:step; max-width:35rem; margin:0 auto; text-align:left; }
.steps li{ counter-increment:step; padding:0 0 1.9rem 2.9rem; position:relative; }
.steps li:last-child{ padding-bottom:0; }
.steps li::before{
  content:counter(step); position:absolute; left:0; top:0.15rem;
  font-style:italic; font-size:1.25rem; color:var(--blush); line-height:1;
}
.steps h3{
  font-style:italic; font-weight:400; font-size:1.25rem;
  color:var(--ink); margin-bottom:0.35rem; line-height:1.3;
}
.steps p{ font-size:1.02rem; color:var(--mid); margin:0; line-height:1.8; }

.rates{ max-width:35rem; margin:0 auto; text-align:left; }
.rate{
  padding:1.15rem 0; border-bottom:1px solid rgba(92,122,114,0.18);
  display:flex; justify-content:space-between; align-items:baseline; gap:1.5rem;
}
.rate:last-of-type{ border-bottom:none; }
.rate .what{ font-style:italic; font-size:1.1rem; color:var(--ink); }
.rate .what span{ display:block; font-style:normal; font-size:0.92rem; color:var(--mid); }
.rate .what a{ color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(28,94,83,0.35); }
.rate .what a:hover, .rate .what a:focus-visible{ border-bottom-color:var(--accent); }
.rate .price{
  font-family:system-ui,-apple-system,sans-serif; font-size:0.95rem;
  letter-spacing:0.04em; color:var(--accent); white-space:nowrap;
}
.rates-note{
  margin-top:1.6rem; font-size:0.95rem; color:var(--mid);
  font-style:italic; text-align:center;
}

.strip{
  display:flex; justify-content:center; align-items:flex-start; gap:1rem;
  margin-top:3rem; position:relative; z-index:1; flex-wrap:wrap;
}
.strip img{
  width:120px; height:auto; mix-blend-mode:multiply;
  -webkit-mask-image:radial-gradient(ellipse 78% 82% at 50% 45%, #000 55%, transparent 100%);
  mask-image:radial-gradient(ellipse 78% 82% at 50% 45%, #000 55%, transparent 100%);
}
.strip img:nth-child(odd){ transform:rotate(-2.5deg); }
.strip img:nth-child(even){ transform:rotate(2.5deg) translateY(8px); }

.faq{ text-align:center; }
.faq > h2{
  font-style:italic; font-weight:400; font-size:1.05rem;
  letter-spacing:0.18em; color:var(--mid); text-transform:lowercase;
  margin-bottom:2.75rem;
}
.faq-item{ max-width:38rem; margin:0 auto 2.4rem; text-align:left; }
.faq-item:last-child{ margin-bottom:0; }
.faq-item h3{
  font-style:italic; font-weight:400; font-size:1.3rem;
  color:var(--ink); margin-bottom:0.55rem; line-height:1.3;
}
.faq-item p{ font-size:1.05rem; color:var(--mid); line-height:1.85; margin:0; }

.cta{ text-align:center; }
.cta h2{
  font-style:italic; font-weight:400; font-size:1.05rem;
  letter-spacing:0.18em; color:var(--mid); text-transform:lowercase;
  margin-bottom:1.5rem;
}
.cta p{ font-size:1.1rem; color:var(--ink); max-width:33rem; margin:0 auto 1.75rem; }
.insta-link{
  display:inline-flex; align-items:center; gap:0.6rem;
  font-family:system-ui,-apple-system,sans-serif; font-size:0.9rem; letter-spacing:0.06em;
  color:var(--accent); background:transparent; text-decoration:none;
  padding:0.65rem 1.4rem; border:1px solid rgba(28,94,83,0.35); border-radius:999px;
  transition:color .3s ease, background .3s ease, border-color .3s ease;
}
.insta-link svg{ width:1.15rem; height:1.15rem; flex-shrink:0; }
.insta-link:hover, .insta-link:focus-visible{ color:var(--paper); background:var(--accent); border-color:var(--accent); }

.also{
  text-align:center; padding-top:0;
  font-family:system-ui,-apple-system,sans-serif;
  font-size:0.82rem; letter-spacing:0.1em; text-transform:lowercase;
}
.also a{ color:var(--accent); text-decoration:none; padding:0 0.5rem; }
.also a:hover{ text-decoration:underline; }

footer{
  text-align:center; padding:3rem 1.5rem;
  font-family:system-ui,-apple-system,sans-serif; font-size:0.78rem;
  letter-spacing:0.15em; color:var(--mid); text-transform:lowercase;
}
footer a{ color:var(--mid); }

@media(max-width:520px){
  section{ padding:3.5rem 0; }
  .strip img{ width:86px; }
  .rate{ flex-direction:column; gap:0.3rem; }
}
