:root{--cream:#fffaf6;--paper:#fffdf9;--blush:#f8e8e7;--rose:#ebc9c8;--coral:#9c5751;--plum:#553d4e;--ink:#43333b;--muted:#786b71;--gold:#a8895c;--line:#e9d7d2;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Trebuchet MS',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}img{display:block;max-width:100%}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13}h1{font-size:clamp(3.1rem,5vw,6.1rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.035em}h3{font-size:1.65rem}p{margin-bottom:1.1rem}em{font-family:var(--serif)}.skip-link{position:absolute;left:12px;top:-100px;z-index:10;background:#fff;padding:8px 14px}.skip-link:focus{top:12px}.draft-banner{background:#ead4d0;text-align:center;padding:5px 16px;font-size:.72rem;letter-spacing:.055em;color:#533a40}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}.header-inner{max-width:1440px;margin:auto;min-height:84px;padding:0 clamp(24px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{text-decoration:none;font-family:var(--serif);font-size:clamp(1.45rem,2vw,2rem);white-space:nowrap;color:var(--plum);letter-spacing:-.04em}.wordmark em{font-size:.68em;font-style:italic;font-weight:400;color:var(--coral)}.nav{display:flex;align-items:center;gap:clamp(18px,2.1vw,36px)}.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--ink);padding:8px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--coral);border-color:var(--coral)}.menu-toggle{display:none;border:0;background:transparent;color:var(--plum);font:inherit;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.23em;color:var(--coral);margin-bottom:1rem}.lead{font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.7rem);line-height:1.45}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;padding:11px 21px;background:var(--coral);color:#fff;border:1px solid var(--coral);border-radius:3px;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.06em;transition:background .2s,transform .2s}.button:hover{background:#8f4f4b;transform:translateY(-2px)}.button-outline{background:transparent;color:var(--coral)}.button-outline:hover{color:#fff}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid var(--coral);padding-bottom:4px;text-decoration:none;color:var(--coral);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:700}.text-link:hover{color:var(--plum);border-color:var(--plum)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.section-pad{padding:clamp(72px,8vw,130px) clamp(24px,6vw,96px)}.status-note,.asset-note{font-size:.8rem;line-height:1.55;color:#775d67}.status-note{border-left:2px solid var(--gold);padding:7px 0 7px 16px}.asset-note{text-align:center;margin:12px 0 0}
.home-hero{height:650px;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(490px,1.1fr);max-width:1600px;margin:auto;overflow:hidden;background:linear-gradient(110deg,#fff9f5 8%,#f8e8e7 88%)}.hero-copy{padding:50px clamp(30px,5vw,85px);max-width:720px;align-self:center}.hero-copy h1{margin-bottom:22px}.hero-copy h1 i{font-weight:400;color:var(--coral)}.hero-copy>p:not(.eyebrow){max-width:600px}.hero-photo-wrap{height:100%;min-height:0;position:relative;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 16%}.hero-photo-wrap:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f8e8e7 0%,rgba(248,232,231,0) 26%);pointer-events:none}.intro{max-width:1350px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.intro-text{max-width:610px}.signature{font-family:var(--serif);font-style:italic;color:var(--coral);font-size:1.4rem;margin-top:25px}.book-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(42px,8vw,140px);background:var(--blush)}.book-visual{max-width:680px;margin:auto}.cover-pair{display:flex;align-items:center;justify-content:center;padding:15px 35px 25px}.cover-pair img{width:48%;max-width:245px;aspect-ratio:2/3;object-fit:cover;box-shadow:0 15px 32px rgba(67,51,59,.22)}.cover-pair img:first-child{transform:rotate(-5deg) translateX(15px)}.cover-pair img:nth-child(2){transform:rotate(5deg) translateX(-15px)}.book-copy{max-width:590px}.display-title{font-style:italic;font-size:clamp(4.8rem,8vw,8.7rem);letter-spacing:-.065em;margin-bottom:0;color:var(--plum)}.book-subtitle{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.7rem);line-height:1.4;color:var(--coral);max-width:520px}.story-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;max-width:1500px;margin:auto}.story-feature-copy{max-width:540px}.story-feature img{width:100%;max-height:550px;object-fit:cover}.ministry-feature{text-align:center;background:#efe7ed}.ministry-feature p:not(.eyebrow){max-width:690px;margin:0 auto 24px}.ministry-feature h2{max-width:740px;margin:0 auto 24px}.connection-feature{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;max-width:1300px;margin:auto}.connection-feature>div:last-child{max-width:530px}.closing{text-align:center;background:linear-gradient(140deg,#fae7e4,#fff6f1 58%,#f0e8ee)}.closing h2{color:var(--plum)}.closing p:not(.eyebrow){max-width:670px;margin:0 auto 26px}
.page-hero{min-height:550px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7vw;padding:65px clamp(24px,6vw,96px);background:var(--blush)}.page-hero>div:first-child{max-width:640px}.page-hero img{width:100%;max-height:540px;object-fit:cover}.page-hero-photo img{object-position:center 35%}.narrow{max-width:910px;margin:auto}.narrow h2{max-width:790px}.narrow p{font-size:1.06rem}.gianna-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:#f4e7e5}.gianna-section img{width:100%;max-height:650px;object-fit:cover;object-position:center 28%}.gianna-section>div{max-width:550px}.unseen-hero{grid-template-columns:.9fr 1.1fr;background:linear-gradient(115deg,#fff9f4,#f5e7e7)}.unseen-hero .book-visual{width:100%}.unseen-hero .cover-pair img{max-width:280px}.for-you{background:#f2e9ee;display:grid;grid-template-columns:1fr 1fr;gap:7vw}.for-you ul{list-style:none;padding:0;margin:0}.for-you li{padding:14px 0;border-bottom:1px solid #d9c6cf;font-family:var(--serif);font-size:1.25rem}.ministry-hero{background:#eee5ea}.ministry-hero img{aspect-ratio:1.2;object-fit:cover}.pillars{background:#f5eae6;text-align:center}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:44px auto 0;max-width:1320px;text-align:left}.pillar-grid article{background:var(--paper);padding:30px;min-height:260px}.pillar-grid h3{margin:20px 0 10px}.pillar-grid p{font-size:.95rem}.contact-hero{max-width:900px;margin:auto;text-align:center}.contact-hero p:not(.eyebrow){max-width:650px;margin-left:auto;margin-right:auto}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--blush)}.plain-list{padding-left:1.2rem;line-height:2}.contact-card{background:var(--paper);padding:clamp(28px,4vw,58px);box-shadow:0 10px 28px rgba(83,61,78,.06)}.contact-card hr{border:0;border-top:1px solid var(--line);margin:28px 0}
.site-footer{background:#4b3848;color:#fff8f4;padding:65px clamp(24px,6vw,96px) 24px}.footer-inner{max-width:1350px;margin:auto;display:grid;grid-template-columns:1.5fr .6fr 1fr;gap:8vw}.site-footer .wordmark{color:#fff8f4}.site-footer p{color:#e8d9df;font-size:.92rem;max-width:360px}.site-footer .eyebrow{color:#dcbab7}.footer-nav{display:flex;flex-direction:column;gap:7px}.footer-nav a{text-decoration:none;font-size:.87rem}.footer-nav a:hover{text-decoration:underline}.copyright{max-width:1350px;margin:56px auto 0;padding-top:16px;border-top:1px solid #765e70;color:#cbbbc6;font-size:.75rem}
@media(max-width:950px){.header-inner{min-height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 28px 26px;box-shadow:0 12px 18px #553d4e18;flex-direction:column;align-items:flex-start;gap:8px}.nav.nav-open{display:flex}.nav a{width:100%;padding:9px 0}.home-hero{grid-template-columns:1fr 1fr;min-height:580px}.hero-copy{padding:55px 30px}.hero-photo-wrap{min-height:580px}.home-hero h1{font-size:clamp(3rem,6vw,4.8rem)}.pillar-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){body{font-size:15px}.draft-banner{font-size:.65rem}.home-hero,.intro,.book-feature,.story-feature,.connection-feature,.page-hero,.gianna-section,.for-you,.contact-content{grid-template-columns:1fr}.home-hero{display:flex;flex-direction:column-reverse;height:auto}.hero-photo-wrap{min-height:0;height:480px}.hero-photo-wrap:before{background:linear-gradient(0deg,#f8e8e7 0%,rgba(248,232,231,0) 26%)}.hero-copy{padding:45px 24px 70px}.home-hero h1{font-size:clamp(3.3rem,11vw,5.5rem)}.section-pad{padding:72px 24px}.intro,.story-feature,.connection-feature{gap:24px}.story-feature img{max-height:400px}.book-feature{gap:16px}.book-visual{order:2}.book-copy{order:1}.cover-pair{padding:20px 10px}.page-hero{padding:65px 24px;gap:30px}.page-hero img{max-height:430px}.unseen-hero .book-visual{order:2}.for-you{gap:10px}.contact-content{gap:34px}.pillar-grid{grid-template-columns:1fr}.pillar-grid article{min-height:0}.footer-inner{grid-template-columns:1fr 1fr;gap:35px}.site-footer{padding-top:54px}}
@media(max-width:420px){.wordmark{font-size:1.45rem}.hero-photo-wrap{height:380px}.actions{flex-direction:column;align-items:stretch}.actions .button{justify-content:space-between}.footer-inner{grid-template-columns:1fr}.cover-pair img{width:49%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Editorial polish: quiet depth, a clearer reading rhythm, and responsive controls. */
:root{--serif:'Iowan Old Style',Baskerville,Georgia,'Times New Roman',serif}
main section[id]{scroll-margin-top:112px}
.site-header{transition:box-shadow .25s ease,background-color .25s ease}
.site-header.is-scrolled{box-shadow:0 9px 24px rgba(65,42,55,.09)}
.wordmark,.nav a,.menu-toggle,.footer-nav a{transition:color .2s ease,border-color .2s ease}
.wordmark:hover,.wordmark:focus-visible{color:var(--coral)}
.nav a:hover,.nav a:focus-visible{color:var(--coral);border-color:var(--coral)}
.menu-toggle{padding:12px 0;min-height:44px}
.menu-toggle:hover,.menu-toggle:focus-visible{color:var(--coral)}
.button{font-size:.8rem;box-shadow:0 5px 14px rgba(92,51,59,.1);transition:background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}
.button:hover,.button:focus-visible{box-shadow:0 11px 22px rgba(92,51,59,.17);transform:translateY(-2px)}
.button:active{transform:translateY(0) scale(.985);box-shadow:0 3px 8px rgba(92,51,59,.13)}
.text-link{transition:color .22s ease,border-color .22s ease,letter-spacing .22s ease}
.text-link:hover,.text-link:focus-visible{color:var(--plum);border-color:var(--plum);letter-spacing:.13em}
.text-link:active{color:var(--coral)}
.intro .lead{font-size:clamp(1.75rem,2.6vw,2.5rem);line-height:1.28;color:var(--plum)}
.intro-text{border-left:1px solid var(--line);padding-left:clamp(26px,3vw,52px)}
.book-copy .lead{color:var(--plum)}
.story-feature img,.gianna-section img,.page-hero img{box-shadow:0 22px 42px rgba(67,51,59,.11)}
.pillar-grid article{border-top:2px solid var(--gold);box-shadow:0 8px 22px rgba(67,51,59,.05);min-height:225px}
.pillar-grid h3{margin:4px 0 16px;font-size:1.9rem;color:var(--plum)}
.pillar-grid p{margin-bottom:0}
.footer-inner{grid-template-columns:minmax(0,1.6fr) minmax(180px,.4fr);gap:6vw}
.footer-nav a:hover,.footer-nav a:focus-visible{color:#f5ccca}
.copyright{margin-top:44px}
@media(prefers-reduced-motion:no-preference){
  .motion-ready .reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.25,1)}
  .motion-ready .reveal.is-visible{opacity:1;transform:none}
}
@media(max-width:700px){
  .intro-text{border-left:0;padding-left:0}
  .pillar-grid article{min-height:0}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){.footer-inner{grid-template-columns:1fr}}
@media(hover:none){
  .button:hover{transform:none}
  .button:active{transform:scale(.985)}
  .text-link:hover{letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .motion-ready .reveal{opacity:1;transform:none}
}

/* Jamie and Gianna's shared butterfly and heart signature. The art lives behind content. */
.home-hero,.page-hero,.contact-hero,.intro,.gianna-section,.pillars,.closing{
  position:relative;
  isolation:isolate;
}
.home-hero>*,.page-hero>*,.contact-hero>*,.intro>*,.gianna-section>*,.pillars>*,.closing>*{
  position:relative;
  z-index:1;
}
.home-hero::after,.page-hero::after,.contact-hero::after,
.intro::after,.gianna-section::after,.pillars::after,.closing::after{
  content:"";
  position:absolute;
  z-index:0;
  display:block;
  width:clamp(64px,8vw,120px);
  aspect-ratio:120/104;
  background:url("assets/butterfly-line.svg") center/contain no-repeat;
  filter:drop-shadow(0 4px 9px rgba(185,133,127,.27));
  opacity:.28;
  pointer-events:none;
  animation:motif-drift 15s ease-in-out infinite;
}
.home-hero{--sparkle-x:33%;--sparkle-y:5%}
.page-hero{--sparkle-x:46%;--sparkle-y:12%}
.contact-hero{--sparkle-x:83%;--sparkle-y:13%}
.intro{--sparkle-x:47%;--sparkle-y:17%}
.gianna-section{--sparkle-x:86%;--sparkle-y:77%}
.pillars{--sparkle-x:87%;--sparkle-y:9%}
.closing{--sparkle-x:11%;--sparkle-y:23%}
.home-hero::after{width:82px;top:5%;left:33%;opacity:.38;animation-delay:-3s}
.page-hero::after{width:88px;top:12%;left:46%;animation-delay:-7s}
.contact-hero::after{width:76px;top:13%;right:2%;animation-delay:-10s}
.intro::after,.gianna-section::after,.pillars::after,.closing::after,
.unseen-hero::after{
  aspect-ratio:120/108;
  background-image:url("assets/heart-line.svg");
  filter:drop-shadow(0 4px 8px rgba(194,154,122,.25));
  animation-name:motif-breathe;
  animation-duration:18s;
}
.intro::after{width:68px;top:17%;left:47%;opacity:.24;animation-delay:-5s}
.gianna-section::after{width:78px;right:6%;bottom:9%;opacity:.23;animation-delay:-8s}
.pillars::after{width:78px;top:9%;right:7%;opacity:.23;animation-delay:-2s}
.closing::after{width:90px;left:11%;top:23%;opacity:.23;animation-delay:-11s}
.unseen-hero{--sparkle-x:48%;--sparkle-y:9%}
.unseen-hero::after{width:80px;top:9%;left:48%;opacity:.23;animation-delay:-6s}

/* A soft illuminated edge is calmer than rounding the photographs. */
.home-hero{background:radial-gradient(ellipse at 32% 20%,rgba(255,255,255,.85),transparent 53%),linear-gradient(110deg,#fff9f5 8%,#f8e8e7 88%)}
.page-hero{background:radial-gradient(ellipse at 37% 16%,rgba(255,255,255,.7),transparent 57%),var(--blush)}
.unseen-hero{background:radial-gradient(ellipse at 24% 18%,rgba(255,255,255,.85),transparent 57%),linear-gradient(115deg,#fff9f4,#f5e7e7)}
.ministry-hero{background:radial-gradient(ellipse at 28% 16%,rgba(255,255,255,.52),transparent 55%),#eee5ea}
.gianna-section{background:radial-gradient(ellipse at 80% 12%,rgba(255,255,255,.45),transparent 52%),#f4e7e5}
.pillars{background:radial-gradient(ellipse at 80% 5%,rgba(255,255,255,.55),transparent 55%),#f5eae6}
.closing{background:radial-gradient(ellipse at 48% 12%,rgba(255,255,255,.75),transparent 62%),linear-gradient(140deg,#fae7e4,#fff6f1 58%,#f0e8ee)}
.pillar-grid article,.contact-card{background:linear-gradient(145deg,#fffdf9,#fffaf7);box-shadow:0 11px 30px rgba(83,61,78,.065)}
.pillar-grid article{transition:transform .6s ease,box-shadow .6s ease}
.external-aside{margin:24px 0 0}
.ministry-feature p.external-aside:not(.eyebrow){margin:24px auto 0}
.footer-external{display:inline-flex;align-items:center;gap:6px;color:#f5ccca;text-underline-offset:4px;font-size:.88rem;line-height:1.5}
.footer-external:hover,.footer-external:focus-visible{color:#fff}
.footer-bottom{max-width:1350px;margin:48px auto 0;padding-top:18px;border-top:1px solid #765e70;display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-bottom .copyright{margin:0;padding:0;border:0}
.footer-credit{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#e8d9df;font-size:.78rem;line-height:1.3;white-space:nowrap}
.footer-credit img{width:45px;height:48px;object-fit:contain;flex:none}
.footer-credit strong{color:#fff8f4;font-weight:600}
.footer-credit:hover strong,.footer-credit:focus-visible strong{text-decoration:underline;text-underline-offset:3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .pillar-grid article:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(83,61,78,.095)}
}
@keyframes motif-drift{
  0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}
  50%{transform:translate3d(0,-7px,0) rotate(2deg)}
}
@keyframes motif-breathe{
  0%,100%{transform:translate3d(-5px,4px,0) rotate(-3deg)}
  50%{transform:translate3d(7px,-16px,0) rotate(4deg)}
}
/* A few slow rising motes stay close to each butterfly or heart. */
.home-hero::before,.page-hero::before,.contact-hero::before,
.intro::before,.gianna-section::before,.pillars::before,.closing::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.35;
  background:
    radial-gradient(circle at calc(var(--sparkle-x) - 12px) calc(var(--sparkle-y) + 16px),rgba(168,137,92,.58) 0 1px,transparent 2px),
    radial-gradient(circle at calc(var(--sparkle-x) + 19px) calc(var(--sparkle-y) - 11px),rgba(185,133,127,.55) 0 1px,transparent 2px),
    radial-gradient(circle at calc(var(--sparkle-x) + 65px) calc(var(--sparkle-y) + 9px),rgba(255,255,255,.95) 0 1.5px,transparent 3px),
    radial-gradient(circle at calc(var(--sparkle-x) + 42px) calc(var(--sparkle-y) + 76px),rgba(168,137,92,.42) 0 1px,transparent 2px),
    radial-gradient(circle at calc(var(--sparkle-x) - 5px) calc(var(--sparkle-y) + 83px),rgba(255,255,255,.9) 0 1.5px,transparent 3px);
  animation:dust-drift 12s linear infinite;
}
@keyframes dust-drift{
  0%{transform:translate3d(0,12px,0);opacity:0}
  25%,60%{opacity:.65}
  100%{transform:translate3d(5px,-28px,0);opacity:0}
}
@media(max-width:700px){
  .home-hero{--sparkle-x:70%;--sparkle-y:500px}
  .page-hero,.contact-hero{--sparkle-x:73%;--sparkle-y:24px}
  .intro,.pillars{--sparkle-x:74%;--sparkle-y:28px}
  .gianna-section{--sparkle-x:75%;--sparkle-y:82%}
  .closing{--sparkle-x:6%;--sparkle-y:20px}
  .home-hero::after{width:60px;top:calc(480px + 18px);left:auto;right:7%;opacity:.2}
  .page-hero::after{width:56px;top:24px;left:auto;right:8%;opacity:.2}
  .unseen-hero::after{width:54px;top:24px;right:7%;opacity:.18}
  .contact-hero::after{width:55px;top:25px;right:7%;opacity:.19}
  .intro::after,.gianna-section::after,.pillars::after{width:52px;right:6%;left:auto;opacity:.17}
  .intro::after{top:28px}
  .gianna-section::after{bottom:20px}
  .pillars::after{top:28px}
  .closing::after{width:58px;top:20px;left:6%;opacity:.18}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:17px}
}
@media(max-width:420px){.home-hero{--sparkle-y:400px}.home-hero::after{top:calc(380px + 18px)}}
@media(prefers-reduced-motion:reduce){
  .home-hero::after,.page-hero::after,.contact-hero::after,
  .intro::after,.gianna-section::after,.pillars::after,.closing::after{animation:none}
  .home-hero::before,.page-hero::before,.contact-hero::before,
  .intro::before,.gianna-section::before,.pillars::before,.closing::before{animation:none;opacity:.28}
  .pillar-grid article{transition:none}
}

/* One shared plane crosses section boundaries, below every text/photo/card layer. */
main{position:relative;isolation:isolate}
main>section[class]{isolation:auto}
main>section[class]>*{position:relative;z-index:2}
.home-hero::after,.page-hero:not(.unseen-hero)::after,.contact-hero::after,
.home-hero::before,.page-hero:not(.unseen-hero)::before,.contact-hero::before{content:none}
.ambient-world{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.ambient-butterfly{position:absolute;top:0;left:0;width:88px;height:77px;pointer-events:none;color:rgba(163,103,99,.48);filter:drop-shadow(0 3px 7px rgba(185,133,127,.16));will-change:transform}
.ambient-butterfly svg{display:block;width:100%;height:100%;overflow:visible}
.wing{transform-box:view-box;transform-origin:60px 52px;fill:rgba(235,201,200,.2)}
.wing-left{animation:wing-left-flap 3.8s ease-in-out var(--wing-delay,0s) infinite}
.wing-right{animation:wing-right-flap 3.8s ease-in-out var(--wing-delay,0s) infinite}
@keyframes wing-left-flap{0%,100%{transform:scaleX(1) rotate(0deg)}50%{transform:scaleX(.3) rotate(7deg)}}
@keyframes wing-right-flap{0%,100%{transform:scaleX(1) rotate(0deg)}50%{transform:scaleX(.3) rotate(-7deg)}}
.roaming-glint{position:absolute;top:0;left:0;width:var(--size);height:var(--size);border-radius:50%;background:#b48d59;box-shadow:0 0 5px 1px #fff5dc;animation:roaming-glint-rise 4.3s linear forwards}
@keyframes roaming-glint-rise{
  0%{transform:translate3d(var(--x),var(--y),0) scale(.4);opacity:0}
  15%{opacity:.85}
  65%{opacity:.5}
  100%{transform:translate3d(calc(var(--x) + var(--drift)),calc(var(--y) - var(--rise)),0) scale(.5);opacity:0}
}
.motion-toggle{display:block;margin-top:9px;padding:4px 0;background:none;border:0;color:#e8d9df;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.motion-toggle:disabled{cursor:default;text-decoration:none}
[data-ambient-motion=paused] .wing,
[data-ambient-motion=paused] main section::before,
[data-ambient-motion=paused] main section::after{animation:none!important}
[data-ambient-motion=paused] .roaming-glint{display:none}
@media(max-width:700px){.ambient-butterfly{width:64px;height:56px;color:rgba(163,103,99,.42)}}
@media(prefers-reduced-motion:reduce){.wing{animation:none!important}.roaming-glint{display:none}}

/* Connect follows the existing rosewater theme and reading rhythm. */
.connect-hero h1 i{font-weight:400;color:var(--coral)}
.connect-hero img{object-position:center 35%}
.connect-intro h2{color:var(--plum)}
.connect-prayer{background:var(--blush);text-align:center}
.connect-prayer-inner{max-width:780px;margin:auto}
.connect-prayer h2{color:var(--plum)}
.connect-prayer blockquote{margin:32px 0;padding:0 clamp(0px,3vw,40px);font-family:var(--serif);font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.55;color:var(--plum)}
.connect-prayer-note{color:var(--muted);font-size:.9rem}
.connect-next{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;max-width:1350px;margin:auto}
.connect-next-heading{max-width:400px}
.connect-steps{list-style:none;counter-reset:faith-step;margin:0;padding:0}
.connect-steps li{counter-increment:faith-step;position:relative;padding:0 0 28px 58px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.connect-steps li::before{content:counter(faith-step,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--coral);font-family:var(--serif);font-size:1.65rem;line-height:1.13}
.connect-steps h3{color:var(--plum);margin-bottom:14px}
.connect-steps p{margin:0}
.closing-actions{justify-content:center}
@media(max-width:700px){.connect-next{grid-template-columns:1fr;gap:32px}.connect-steps li{padding-left:46px}.connect-hero h1{font-size:clamp(3.1rem,11vw,4.8rem)}}
