*{box-sizing:border-box;margin:0;padding:0}

:root{
  --bg:#faf9f7;
  --ink:#141414;
  --muted:#6a6a6a;
  --line:rgba(0,0,0,.1);
}

body{
  font-family:"Inter",system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.65;
}

a{color:inherit;text-decoration:none}

/* Topbar */
.topbar{
  position:sticky;
  top:0;
  background:rgba(250,249,247,.95);
  border-bottom:1px solid var(--line);
}
.topbar-inner{
  max-width:1100px;
  margin:auto;
  padding:16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.logo{
  font-family:"Playfair Display",serif;
  letter-spacing:.08em;
}
.icons svg{
  width:20px;height:20px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.6;
}

/* Layout */
.container{
  max-width:1100px;
  margin:56px auto;
  padding:0 16px;
}
.block{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:52px;
  margin-bottom:120px;
}

/* Intro */
.intro{
  margin:80px 0 140px;
  max-width:720px;
}
.intro-kicker{
  letter-spacing:.14em;
  font-size:.75rem;
  text-transform:uppercase;
  color:rgba(0,0,0,.55);
}
.intro h1{
  font-family:"Playfair Display",serif;
  font-size:3.2rem;
  margin-top:8px;
}
.intro-text{
  margin-top:20px;
  font-size:1.05rem;
  color:#333;
}

/* Text */
.kicker{
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(0,0,0,.55);
}
.text h2{
  font-family:"Playfair Display",serif;
  font-size:2.3rem;
  margin-top:8px;
}
.lead{
  margin-top:16px;
  padding:16px 18px;
  background:rgba(255,255,255,.85);
  border:1px solid var(--line);
  border-radius:18px;
}

/* Image */
.image img{
  width:100%;
  height:320px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid var(--line);
}

/* Accordion */
.accordion{
  margin-top:26px;
  border-top:1px solid var(--line);
}
.accordion button{
  width:100%;
  background:none;
  border:none;
  text-align:left;
  padding:16px 0;
  font-size:1rem;
  cursor:pointer;
  border-bottom:1px solid var(--line);
}
.accordion button::after{
  content:"+";
  float:right;
}
.accordion button.open::after{
  content:"–";
}
.panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}
.panel p{
  padding:0 0 16px;
  color:#333;
}

/* Ending */
.outro{
  margin:180px 0 140px;
  text-align:center;
}
.outro-line{
  width:48px;
  height:1px;
  background:rgba(0,0,0,.35);
  margin:0 auto 40px;
}
.thanks{
  font-family:"Playfair Display",serif;
  font-style:italic;
  font-size:clamp(3.4rem,6vw,5.6rem);
  letter-spacing:.04em;
}
.signature{
  margin-top:16px;
  font-family:"Playfair Display",serif;
  font-size:1rem;
  letter-spacing:.12em;
  color:rgba(0,0,0,.55);
}

@media(max-width:820px){
  .block{
    grid-template-columns:1fr;
    gap:28px;
  }
}
/* =========================
   Kill all blue links (Safari proof)
   ========================= */

/* All states */
a,
a:visited,
a:hover,
a:active,
a:focus {
  color: #141414 !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* iOS Safari auto-link fix */
a[x-apple-data-detectors],
span[x-apple-data-detectors],
a[href^="mailto:"],
a[href^="tel:"] {
  color: #141414 !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}

/* Accordion buttons (extra safety) */
.accordion button {
  color: #141414 !important;
}