:root{
  --blue:#5F8FB4;
  --blue-deep:#355F7C;
  --blue-soft:#DCEAF4;
  --green:#5F776A;
  --lilac:#9A82A8;
  --ink:#303532;
  --ink-soft:#4B534E;
  --ink-faint:#6A736E;
  --paper:#FCFAF7;
  --paper-deep:#F4F0E9;
  --rule:#DDD7CE;
  --serif:'Frank Ruhl Libre',Georgia,serif;
  --sans:'Assistant','Helvetica Neue',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:1.1875rem;font-weight:400;line-height:1.82;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%}
p{margin:0 0 1.18em}
strong{font-weight:700;color:var(--ink)}
.wrap{width:min(100% - 3rem,52rem);margin-inline:auto}
.hero-wrap{width:100%;margin-inline:auto}
.ltr{direction:ltr;unicode-bidi:isolate;white-space:nowrap;display:inline-block}

.masthead{padding:0 0 clamp(3.25rem,7vw,5rem)}
.title-card{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(24rem,39vw,31rem);display:grid;place-items:center;
  border:0;border-radius:0;
  background:
    radial-gradient(circle at 18% 12%,rgba(154,130,168,.12),transparent 29%),
    linear-gradient(145deg,#F8FBFD 0%,#FFFCF8 56%,#F8F5F1 100%);
  box-shadow:none;
}
.title-card::after{
  content:'';position:absolute;z-index:-1;inset:auto -8% -18% -8%;height:43%;
  border-radius:50% 58% 0 0/30% 35% 0 0;
  background:linear-gradient(100deg,rgba(220,234,244,.85),rgba(235,241,238,.72));
  transform:rotate(-2deg);
}
.title-copy{position:relative;z-index:2;text-align:center;width:min(64%,48rem);padding:2rem 1rem}
.title-copy h1{
  margin:0;color:var(--blue-deep);font-size:clamp(3rem,6vw,4.5rem);font-weight:500;
  line-height:1.05;letter-spacing:-.02em;white-space:nowrap;
}
.title-rule{display:flex;align-items:center;gap:.7rem;width:min(100%,25rem);margin:1.35rem auto .78rem}
.title-rule::before,.title-rule::after{content:'';height:1px;flex:1;background:rgba(95,143,180,.55)}
.title-rule i{width:.5rem;height:.5rem;border-radius:50%;background:var(--blue);opacity:.75}
.title-copy p{
  margin:0;color:var(--ink-soft);font-family:var(--sans);
  font-size:clamp(1.05rem,2.35vw,1.3rem);line-height:1.5;font-weight:400;
}
.hero-flower{
  position:absolute;z-index:1;inset-inline-start:clamp(.5rem,4vw,3.5rem);bottom:-1.5rem;
  width:clamp(12rem,20vw,15rem);height:auto;opacity:.93;
  filter:drop-shadow(0 9px 14px rgba(53,95,124,.06));
}

.intro-rule{display:none}
.essay{position:relative}
.essay p{
  color:var(--ink-soft);text-align:justify;text-align-last:right;text-justify:inter-word;
}
.essay li{color:var(--ink-soft);text-align:right;text-align-last:right}
.essay .lead{font-size:clamp(1.28rem,2.3vw,1.48rem);line-height:1.72;color:var(--ink);margin-bottom:1.55em}
.beats{margin:0 0 1.85em}
.beats p{margin:0 0 .55em;line-height:1.7}
.section{position:relative;margin:clamp(3.2rem,7vw,5rem) 0}
h2{
  font-size:clamp(1.55rem,3vw,2rem);font-weight:500;color:var(--blue-deep);
  margin:0 0 .85em;line-height:1.35;text-align:right;
}
ul{list-style:none;margin:0 0 1.55em;padding:0}
li{position:relative;padding-inline-start:1.3rem;margin-bottom:.55em;line-height:1.65}
li::before{
  content:'';position:absolute;inset-inline-start:0;top:.7em;width:.38rem;height:.38rem;
  border-radius:50%;background:var(--blue);opacity:.75;
}

.details{
  background:linear-gradient(135deg,rgba(220,234,244,.65),rgba(244,240,233,.82));
  border-inline-start:3px solid rgba(95,143,180,.72);padding:1.5rem 1.75rem;margin:0 0 1.5em;
}
.details p{margin:0 0 .42em;color:var(--ink);text-align:right;text-align-last:right}
.details p:last-child{margin-bottom:0}
.bio{display:grid;grid-template-columns:8rem 1fr;gap:1.6rem;align-items:start;margin-bottom:1.5rem}
.bio img{
  width:8rem;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:50% 18%;
  border:4px solid #fff;box-shadow:0 0 0 1px var(--rule);
}
.bio-copy p{margin-bottom:.65em}
.bio-name{font-size:1.3rem;color:var(--ink);font-weight:400}
.closing{
  margin:clamp(3rem,7vw,5rem) 0 0;padding:clamp(2rem,5vw,3rem) 0 0;
  border-top:1px solid var(--rule);text-align:right;
}
.closing p{color:var(--ink);font-size:clamp(1.14rem,2.4vw,1.35rem);text-align:right;text-align-last:right}
.closing .phone{
  color:var(--blue-deep);font-weight:700;text-decoration:none;border-bottom:1px solid var(--blue);
  direction:ltr;unicode-bidi:isolate;display:inline-block;
}
.wa{
  display:inline-flex;align-items:center;gap:.55rem;padding:.72rem 1.3rem;
  font-family:var(--sans);font-size:1rem;font-weight:600;color:var(--blue-deep);
  text-decoration:none;border:1px solid rgba(95,143,180,.75);border-radius:3px;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.wa:hover,.wa:focus-visible{background:var(--blue-deep);color:#fff;transform:translateY(-1px)}
.wa svg{width:1.15em;height:1.15em}
footer{padding:2.8rem 0 3.4rem;text-align:center;font-family:var(--sans);color:var(--ink-faint)}
.foot-logo{width:4.4rem;height:auto;display:block;margin:0 auto .8rem;opacity:.92}
footer p{margin:0;font-size:.95rem}

@media(max-width:42rem){
  body{font-size:1.125rem;line-height:1.78}
  .wrap{width:min(100% - 2.25rem,52rem)}
  .hero-wrap{width:100%}
  .title-card{min-height:24rem}
  .title-copy{width:88%;padding-inline:.5rem}
  .title-copy h1{font-size:clamp(2.65rem,13vw,3.5rem);white-space:normal}
  .hero-flower{inset-inline-start:-1rem;width:7rem;bottom:-.65rem;opacity:.88}
  .essay p{ text-align:right;text-align-last:right }
  .section{margin-block:3.35rem}
  .bio{grid-template-columns:1fr;text-align:right}
  .bio img{margin-inline-start:0;margin-inline-end:auto}
  .bio-copy p{text-align:right;text-align-last:right}
}
@media(max-width:26rem){
  .wrap{width:min(100% - 1.5rem,52rem)}
  .hero-wrap{width:100%}
  .title-card{min-height:20rem}
  .title-copy{width:90%}
  .title-copy h1{font-size:2.65rem}
  .title-copy p{font-size:1rem}
  .hero-flower{inset-inline-start:-.8rem;width:6rem;bottom:-.55rem}
  .details{padding:1.25rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wa{transition:none}}
