  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;font-size:18px;line-height:30px;-webkit-font-smoothing:antialiased}
  a{color:var(--scarlet-deep)}
  .wrap{max-width:1040px;margin:0 auto;padding:0 24px}
  .narrow{max-width:680px}
  h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;letter-spacing:-0.01em}
  h1{font-size:clamp(36px,6.4vw,64px);line-height:1.08}
  h2{font-size:clamp(28px,4.4vw,40px);line-height:1.15;margin-bottom:20px}
  h3{font-size:24px;line-height:30px;margin-bottom:8px}
  p{margin:0 0 18px}
  .eyebrow{font-size:12px;line-height:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:16px;display:block}
  .muted{color:var(--ink-muted)}
  section{padding:88px 0;position:relative;overflow-x:clip}
  .band{background:var(--surface-2)}

  /* nav */
  header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px}
  .brand{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--ink);text-decoration:none}
  nav a.link{color:var(--ink);text-decoration:none;font-size:15px;font-weight:600;margin-left:24px}
  nav a.link:hover{color:var(--scarlet-deep)}
  nav .btn{white-space:nowrap}
  @media(max-width:900px){nav a.link{display:none}.brand{font-size:18px;white-space:nowrap}nav .btn{padding:8px 14px!important;font-size:14px!important;margin-left:12px!important}.wrap{padding:0 20px}}

  /* buttons */
  .btn{display:inline-block;background:var(--scarlet-deep);color:var(--on-accent);text-decoration:none;font-weight:600;font-size:17px;padding:16px 28px;border-radius:var(--radius-pill);box-shadow:var(--shadow-soft)}
  .btn:hover{filter:brightness(1.06)}
  .textlink{font-weight:600;margin-left:20px;white-space:nowrap}

  /* hero */
  .hero{padding:72px 0 96px;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
  .hero p.lede{font-size:21px;line-height:33px;max-width:560px;margin:24px 0 32px}
  .art{position:relative}
  .art::before{content:"";position:absolute;inset:6% 4% 4% 8%;background:var(--blush);border-radius:50%;opacity:.7;z-index:0}
  .art img{position:relative;z-index:1;width:100%;height:auto;display:block}
  .photo{position:relative;max-width:420px;margin-left:auto}
  .photo::before{content:"";position:absolute;inset:-14px 14px 14px -14px;background:var(--blush);border-radius:var(--radius-lg);z-index:0}
  .photo img{position:relative;z-index:1;width:100%;height:auto;display:block;border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border:1px solid var(--hairline)}
  @media(max-width:820px){.photo{margin:0 auto 0 14px;max-width:340px;order:-1}}
  .note{font-family:var(--font-hand);font-size:26px;color:var(--teal);margin-top:12px;transform:rotate(-2deg)}
  @media(max-width:820px){.hero-grid{grid-template-columns:1fr}.art{max-width:380px;margin:0 auto;order:-1}section{padding:64px 0}}

  /* belief */
  .belief .big{font-family:var(--font-display);font-style:italic;font-size:clamp(24px,3.6vw,34px);line-height:1.35;max-width:820px}
  .belief .big em{color:var(--scarlet);font-style:italic}

  /* cards */
  .grid{display:grid;gap:20px}
  .g2{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  @media(max-width:820px){.g2,.g3{grid-template-columns:1fr}}
  .card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:32px}
  .band .card{background:var(--surface)}
  .card .who{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:12px;display:block}
  .card p{margin-bottom:0}
  .feature{border-color:var(--scarlet);border-width:2px;grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
  .feature .tag{display:inline-block;background:var(--scarlet-deep);color:var(--on-accent);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 12px;border-radius:var(--radius-pill);margin-bottom:14px}
  .feature ul{margin:0;padding-left:20px}
  .feature li{margin-bottom:8px}
  @media(max-width:820px){.feature{grid-template-columns:1fr}}

  /* method */
  .steps{counter-reset:s;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-top:36px}
  @media(max-width:820px){.steps{grid-template-columns:1fr}}
  .step{border-top:2px solid var(--ink);padding-top:18px}
  .step::before{counter-increment:s;content:"0" counter(s);font-family:var(--font-display);font-size:15px;color:var(--scarlet);display:block;margin-bottom:6px}
  .method-art{position:absolute;right:-40px;top:-28px;width:240px;opacity:.95;pointer-events:none}
  @media(max-width:820px){.method-art{display:none}}

  /* proof */
  .quote{font-family:var(--font-display);font-style:italic;font-size:21px;line-height:32px}
  .quote cite{display:block;font-family:var(--font-sans);font-style:normal;font-size:14px;color:var(--ink-muted);margin-top:14px}
  .todo{border:1.5px dashed var(--marigold);border-radius:var(--radius-md);padding:14px 18px;font-size:15px;line-height:24px;color:var(--ink-muted);background:color-mix(in srgb,var(--marigold) 12%,transparent)}

  /* about */
  .about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
  @media(max-width:820px){.about-grid{grid-template-columns:1fr}}

  /* rest */
  .rest{background:var(--night);color:#F7EEE2}
  .rest .eyebrow{color:#4FB3A9}
  .rest a{color:#F4937D}
  .rest .muted{color:#C9BCCB}

  /* contact */
  .contact{text-align:center;overflow:hidden}
  .contact .flower{width:120px;margin:0 auto 12px;display:block}
  .contact h2{max-width:720px;margin-left:auto;margin-right:auto}
  .contact p{max-width:560px;margin-left:auto;margin-right:auto}
  .doors{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:32px}
  .doors a{border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:10px 20px;text-decoration:none;font-weight:600;font-size:15px;color:var(--ink);background:var(--surface)}
  footer{border-top:1px solid var(--hairline);padding:32px 0;font-size:14px;color:var(--ink-muted)}

  /* multi-page additions */
  nav a.link[aria-current="page"]{color:var(--scarlet-deep);border-bottom:2px solid var(--scarlet);padding-bottom:4px}
  .pagehead{padding:72px 0 48px}
  .pagehead p.lede{font-size:21px;line-height:33px;max-width:640px;margin:20px 0 0}
  .doorcards{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
  @media(max-width:820px){.doorcards{grid-template-columns:1fr}}
  a.doorcard{display:block;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);padding:32px}
  a.doorcard:hover{border-color:var(--scarlet)}
  a.doorcard h3{margin-bottom:10px}
  a.doorcard .go{display:block;margin-top:18px;font-weight:600;color:var(--scarlet-deep)}
  .facts{display:grid;gap:0;border-top:1px solid var(--hairline)}
  .fact{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--hairline)}
  .fact dt{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);padding-top:6px}
  .fact dd{margin:0}
  @media(max-width:700px){.fact{grid-template-columns:1fr;gap:6px}}
  .role{margin-bottom:22px}
  .role:last-child{margin-bottom:0}
  .role h3{font-size:21px;line-height:28px;margin-bottom:2px}
  .role .when{font-size:14px;color:var(--ink-muted);display:block;margin-bottom:6px}
  .pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
  .pills span{border:1px solid var(--hairline);background:var(--surface);border-radius:var(--radius-pill);padding:6px 16px;font-size:15px;font-weight:600}
  .split{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
  @media(max-width:820px){.split{grid-template-columns:1fr;gap:28px}}
  .smallart{max-width:300px}
  .smallart img{width:100%;height:auto;display:block}
  .four{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-top:28px}
  @media(max-width:900px){.four{grid-template-columns:repeat(2,1fr)}}
  .four div{border-top:2px solid var(--teal);padding-top:12px}
  .four strong{font-family:var(--font-display);font-size:20px;font-weight:500;display:block;margin-bottom:4px}
  .four span{font-size:16px;line-height:24px;color:var(--ink-muted)}

/* ===== design pass: St. Brigid's cross as the through-line ===== */
html{scroll-padding-top:84px}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}

/* the small cross: ink or color, takes its color from the element */
.cross{display:inline-block;flex:none;width:30px;height:30px;background:var(--scarlet);
  -webkit-mask:url(img/cross-mark.svg) center/contain no-repeat;mask:url(img/cross-mark.svg) center/contain no-repeat}
.brand{display:inline-flex;align-items:center;gap:10px}
.brand .cross{width:28px;height:28px}
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";flex:none;width:18px;height:18px;background:currentColor;
  -webkit-mask:url(img/cross-mark.svg) center/contain no-repeat;mask:url(img/cross-mark.svg) center/contain no-repeat}

/* display type: one italic word carries the color */
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--scarlet)}
h1{letter-spacing:-0.02em}

section{padding:104px 0}
@media(max-width:820px){section{padding:64px 0}}

/* hero: photo with washes up and to the right, cross wandering in at the corner */
.hero{overflow-x:clip;overflow-y:visible;position:relative;z-index:2;padding:80px 0 112px}
.photo::before{inset:-16px -16px 16px 16px;background:var(--blush);opacity:.85}
.photo::after{content:"";position:absolute;z-index:0;width:46%;aspect-ratio:1;right:-9%;top:-8%;border-radius:50%;background:var(--marigold);opacity:.38}
.photo{margin-right:16px}
@media(max-width:820px){.photo{margin:0 auto;max-width:330px;padding-right:16px}.photo img{max-width:100%}}
.hero-cross{position:absolute;left:max(20px,calc((100vw - 1040px)/2));bottom:-84px;width:190px;height:auto;transform:rotate(-7deg);pointer-events:none;z-index:3}
.hero-note{position:absolute;left:max(190px,calc((100vw - 1040px)/2 + 170px));bottom:-62px;margin:0;transform:rotate(-3deg);font-family:var(--font-hand);font-size:26px;line-height:28px;color:var(--teal);white-space:nowrap}
@media(max-width:820px){.hero-cross{width:120px;left:16px;bottom:-60px}.hero-note{left:140px;bottom:-46px;font-size:23px}.hero{padding-bottom:96px}}

/* the belief band goes to night, with the cross glowing behind it */
.belief{background:var(--night);color:#F7EEE2;padding:128px 0 112px}
.belief .wrap{position:relative;z-index:1}
.belief .eyebrow{color:#7FD0C6}
.belief .big em{color:var(--candle)}
.belief .muted{color:#CDBFCF}
.belief a{color:#F4937D}
.belief::after{content:"";position:absolute;right:-70px;top:50%;width:400px;height:400px;transform:translateY(-50%) rotate(12deg);
  background:var(--candle);opacity:.11;-webkit-mask:url(img/cross-mark.svg) center/contain no-repeat;mask:url(img/cross-mark.svg) center/contain no-repeat;pointer-events:none}
@media(max-width:820px){.belief{padding:88px 0 72px}.belief::after{width:260px;height:260px;right:-90px}}

/* doorways get their own wash, as if tinted by the paintbrush */
a.doorcard{transition:transform .2s ease,border-color .2s ease;display:flex;flex-direction:column}
a.doorcard .go{margin-top:auto;padding-top:18px}
a.doorcard:hover{transform:translateY(-3px)}
.doorcards a.doorcard:nth-child(1){background:color-mix(in srgb,var(--blush) 60%,var(--surface))}
.doorcards a.doorcard:nth-child(2){background:color-mix(in srgb,var(--sage) 26%,var(--surface))}
.doorcards a.doorcard:nth-child(3){background:color-mix(in srgb,var(--marigold) 24%,var(--surface))}
.doorcards a.doorcard h3{font-size:25px;line-height:31px}

/* inner page headers carry a faint cross when they have no drawing */
.pagehead.mark{position:relative;overflow-x:clip}
.pagehead.mark::after{content:"";position:absolute;right:-120px;top:20px;width:320px;height:320px;transform:rotate(10deg);
  background:var(--scarlet);opacity:.09;-webkit-mask:url(img/cross-mark.svg) center/contain no-repeat;mask:url(img/cross-mark.svg) center/contain no-repeat;pointer-events:none}
.pagehead.mark .wrap{position:relative;z-index:1}

/* cards stay flat: hairline edge, no shadow */
.card{border-radius:var(--radius-lg)}
.feature{border-color:var(--scarlet-deep)}

/* footer */
footer{background:var(--night);color:#F7EEE2;border-top:0;padding:64px 0 40px;font-size:15px}
footer a{color:#F4937D}
.foot{display:grid;gap:32px}
.foot-brand{display:flex;gap:16px;align-items:center}
.foot-brand .cross{background:var(--candle);width:44px;height:44px}
.foot-brand strong{display:block;font-family:var(--font-display);font-weight:500;font-size:22px;line-height:28px}
.foot-brand span:not(.cross){color:#CDBFCF}
.foot-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.foot-links a{color:#F7EEE2;text-decoration:none;font-weight:600}
.foot-links a:hover{color:#F4937D}
.fine{margin:0;color:#B9AABD;font-size:14px}
.fine a{color:#F4937D}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:480px){
  .nav{gap:8px}
  .brand{font-size:16px;gap:8px}
  .brand .cross{width:22px;height:22px}
  nav .btn{padding:8px 12px!important;font-size:13px!important;margin-left:0!important}
}

/* Sacred Seasons cross as the logo mark (carries its own gold halo) */
.brand .brand-mark{width:36px;height:36px;flex:none}
.foot-brand .foot-mark{width:60px;height:60px;flex:none}
@media(max-width:480px){.brand .brand-mark{width:30px;height:30px}}

/* secondary header button */
.btn-outline{display:inline-block;margin-left:20px;padding:9px 18px;border:1.5px solid var(--scarlet-deep);border-radius:var(--radius-pill);color:var(--scarlet-deep);font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap;transition:background .2s ease,color .2s ease}
.btn-outline:hover{background:var(--scarlet-deep);color:var(--on-accent)}
nav .btn{margin-left:12px!important}
@media(max-width:1000px){.btn-outline{margin-left:12px;padding:8px 14px;font-size:14px}}
@media(max-width:700px){.btn-outline{display:none}}
.wrap.nav{max-width:1200px}
nav a.link{margin-left:20px}
@media(max-width:1440px){nav a.link{display:none}}

/* credentials line under the doorways */
.proof{margin:36px 0 0;padding-top:20px;border-top:1px solid var(--hairline);font-size:13px;line-height:22px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}

/* paintbrush doorways: one flower per door, washes set up and to the right */
.blooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;margin-top:52px}
@media(max-width:900px){.blooms{grid-template-columns:1fr;gap:64px}}
.bloom{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.bloom .stage{position:relative;height:236px;margin:0 0 30px;display:flex;align-items:flex-end;border-bottom:1.5px solid var(--hairline)}
.bloom .halo{position:absolute;left:64px;bottom:34px;width:176px;height:176px;border-radius:50%;background:var(--h);opacity:var(--o,.55);transition:transform .6s ease}
.bloom img{position:relative;height:226px;width:auto;margin-left:46px;transform-origin:50% 100%;transition:transform .6s ease}
.bloom:nth-child(1) img{transform:rotate(-3deg)}
.bloom:nth-child(2) img{transform:rotate(2deg);height:206px}
.bloom:nth-child(3) img{transform:rotate(-1deg);height:216px}
.bloom:hover img{transform:rotate(1.5deg) scale(1.03)}
.bloom:hover .halo{transform:translate(6px,-6px) scale(1.05)}
.bloom h3{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:26px;line-height:1.28;letter-spacing:-0.005em;margin:0 0 14px}
.bloom p{margin:0 0 18px;color:var(--ink-muted);font-size:16px;line-height:26px}
.bloom .go{margin-top:auto;font-weight:600;color:var(--scarlet-deep)}
.bloom:hover .go{text-decoration:underline;text-underline-offset:4px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bloom .halo{background:#FBF4EA;opacity:.88}}
:root[data-theme="dark"] .bloom .halo{background:#FBF4EA;opacity:.88}
@media(prefers-reduced-motion:reduce){.bloom img,.bloom .halo{transition:none}}

@media(max-width:400px){
  .brand{font-size:15px}
  .brand .brand-mark{width:26px;height:26px}
  nav .btn{padding:7px 10px!important;font-size:12.5px!important}
}

/* the single line lives inside the circle */
.bloom .stage{height:292px}
.bloom .halo{display:flex;align-items:center;justify-content:center;left:auto;right:0;bottom:20px;width:268px;height:268px;opacity:1;background:color-mix(in srgb,var(--h) var(--a,55%),transparent)}
.bloom .halo h3{margin:0;padding:0 28px 0 58px;text-align:center;text-wrap:balance;font-size:19px;line-height:1.32;color:#2E1F2B}
.bloom img{margin-left:0}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bloom .halo{background:#EFE2CE;opacity:1}}
:root[data-theme="dark"] .bloom .halo{background:#EFE2CE;opacity:1}

/* larger type for the paintbrush doorways */
.bloom .stage{height:310px}
.bloom .halo{width:286px;height:286px}
.bloom .halo h3{font-size:22.5px;line-height:1.3;padding:0 24px 0 66px}
.bloom p{font-size:17.5px;line-height:28px}
.bloom .go{font-size:17px}

/* design review pass: one wash color, calmer rhythm, stronger text */
section{padding:92px 0}
@media(max-width:820px){section{padding:60px 0}}
.hero{padding:76px 0 96px}
.hero p.lede{font-size:20px;line-height:32px;color:var(--ink)}
.bloom p{color:var(--ink);font-size:18px;line-height:29px}
.bloom .halo{width:288px;height:288px}
.bloom .halo h3{font-size:23px}
.proof{font-size:13px;letter-spacing:.09em;color:var(--ink);margin-top:48px}
.belief::after{right:40px;width:340px;height:340px;opacity:.10}
.contact .flower{width:84px;margin-bottom:8px}
.contact h2{margin-top:0}
.contact{padding-top:72px}

/* doors section: no rules, larger lead-in */
#looking .eyebrow{font-size:19px;line-height:26px;letter-spacing:.14em;margin-bottom:20px}
#looking .eyebrow::before{width:26px;height:26px}
.bloom .stage{border-bottom:0}
.proof{border-top:0;padding-top:0}

/* with the second heading cut, the lead-in becomes the heading */
#looking .eyebrow{font-family:var(--font-display);font-size:clamp(32px,4.6vw,44px);line-height:1.1;font-weight:500;letter-spacing:-0.01em;text-transform:none;color:var(--ink);margin-bottom:0;align-items:center}
#looking .eyebrow::before{width:34px;height:34px;background:var(--scarlet)}

/* ===== professional pass: fewer decorations, one memorable element ===== */
body{font-size:18px;line-height:29px}
h1{font-weight:400;font-size:clamp(38px,5.2vw,60px);line-height:1.08;letter-spacing:-0.018em}
h2{font-weight:400;font-size:clamp(28px,3.6vw,40px);line-height:1.15;letter-spacing:-0.012em;margin-bottom:24px}
h3{font-weight:500}

/* controls: squared, flat, one weight */
.btn{border-radius:6px;box-shadow:none;font-size:16px;padding:14px 24px}
.btn-outline{border-radius:6px}
nav .btn{border-radius:6px}
.textlink,a.go,.bloom .go{text-decoration:underline;text-underline-offset:4px}
.pills span{border-radius:3px;background:transparent;font-weight:500}
.tag,.doors a{border-radius:3px}

/* hero: the photograph alone */
.photo::before,.photo::after{display:none}
.photo{margin-right:0}
.photo img{border-radius:4px;border:0}

/* cards become open columns under a single rule */
.card{background:transparent;border:0;border-top:1px solid color-mix(in srgb,var(--ink) 45%,transparent);border-radius:0;padding:22px 0 0}
.band .card{background:transparent}
.feature{border-width:0;border-top:2px solid var(--ink)}
.card .who{letter-spacing:.02em;text-transform:none;font-size:14px;font-weight:500;color:var(--ink-muted)}

/* remove ornament */
.belief::after,.pagehead.mark::after{display:none}
.contact .flower{display:none}
.belief .big em{color:inherit;font-style:inherit}
.proof{font-size:16px;line-height:26px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink-muted);margin-top:44px}

/* the one memorable thing: each door sits inside a single drawn ink line */
.bloom .halo{background:transparent;border:1.5px solid var(--ink);border-radius:50% 48% 52% 50% / 49% 51% 49% 51%;opacity:1}
.bloom .halo h3{color:var(--ink)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bloom .halo{background:transparent;opacity:1}}
:root[data-theme="dark"] .bloom .halo{background:transparent;opacity:1}

/* contact: left-aligned and plain */
.contact{text-align:left}
.contact h2,.contact p{margin-left:0;margin-right:0;max-width:640px}
.contact .doors{display:block;margin-top:28px}
.contact .doors a{display:block;border:0;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:0;padding:12px 0;background:transparent;font-size:17px;font-weight:500;max-width:420px}
.contact .doors a:last-child{border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}

/* ===== palette pass: paper white, cream only for bands, indigo for action ===== */
:root{--surface:#FDFBF8;--surface-2:#F8F1E6;--action:#25244F;--on-action:#FFF8EE}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--action:#F4937D;--on-action:#1D1B38}}
:root[data-theme="dark"]{--action:#F4937D;--on-action:#1D1B38}
a{color:var(--action)}
.btn{background:var(--action);color:var(--on-action)}
.btn-outline{border-color:var(--action);color:var(--action)}
.btn-outline:hover{background:var(--action);color:var(--on-action)}
.bloom .go,.textlink{color:var(--action)}
.tag{background:var(--action);color:var(--on-action)}
.step::before{color:var(--ink-muted)}
.feature{border-top-color:var(--action)}
nav a.link[aria-current="page"]{color:var(--action);border-bottom-color:var(--action)}
.belief a,footer a{color:#F4937D}

/* ===== logo colors: Advent blue for action, gold and Lent purple as quiet accents ===== */
:root{--adv:#2E4D69;--gold:#E3A92F;--lent:#6E3F7C;--ordinary:#5F8A52;--action:var(--adv)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--adv:#8FB4D6;--gold:#F2C14E;--lent:#C29BD0;--ordinary:#A3C690;--action:#8FB4D6;--on-action:#1D1B38}}
:root[data-theme="dark"]{--adv:#8FB4D6;--gold:#F2C14E;--lent:#C29BD0;--ordinary:#A3C690;--action:#8FB4D6;--on-action:#1D1B38}
.bloom:nth-child(1) .halo{border-color:var(--adv)}
.bloom:nth-child(2) .halo{border-color:var(--gold)}
.bloom:nth-child(3) .halo{border-color:var(--lent)}
.bloom .halo{border-width:2px}
.step::before{color:var(--lent)}

/* skip link: appears on keyboard focus */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--action);color:var(--on-action);padding:12px 18px;border-radius:6px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}

/* photographs */
.wide{margin:36px 0 8px}
.wide img{width:100%;height:clamp(220px,34vw,380px);object-fit:cover;border-radius:4px;display:block}
.plainphoto{margin:0;max-width:380px}
.plainphoto img{width:100%;height:auto;display:block;border-radius:4px}
.photo img{object-position:50% 18%}

/* ===== front page: one ink line ===== */
.c3 main{position:relative;overflow-x:clip}
.c3 .c3-line{position:absolute;left:0;top:0;z-index:0;pointer-events:none}
.c3 .c3-line path{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round}
.c3 section{position:relative;z-index:1}
.c3 .band{background:transparent}
.c3 .c3-hero{padding:84px 0 100px}
.c3 .c3-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.c3 .c3-actions{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin:0}
.c3 .c3-photo{position:relative;width:min(100%,430px);aspect-ratio:1;margin-left:auto}
.c3 .c3-photo img{width:calc(100% - 28px);height:calc(100% - 28px);max-width:none;margin:14px;border-radius:50%;object-fit:cover;object-position:50% 22%;display:block}
.c3 .c3-ring{position:absolute;inset:0;width:100%;height:100%}
.c3 .c3-ring path{fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1900;stroke-dashoffset:1900;animation:c3draw 2.4s ease-out .3s forwards}
@keyframes c3draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.c3 .c3-ring path{animation:none;stroke-dashoffset:0}}
.c3 .belief-photo{background-color:#25244F;background-image:linear-gradient(rgba(37,36,79,.86),rgba(37,36,79,.86)),url(img/autumn-woods.webp);background-size:cover;background-position:center}
.c3 .contact{background:transparent}
.c3 .contact .flower{display:block;width:72px;margin:0 0 14px}
@media(max-width:900px){.c3 .c3-grid{grid-template-columns:1fr;gap:36px}.c3 .c3-photo{margin:0 auto;width:min(100%,340px)}}
@media(max-width:760px){.c3 .c3-line{display:none}.c3 .c3-hero{padding:48px 0 64px}}

/* woods behind the belief statement: let the photograph show */
.c3 h1{margin-bottom:24px}
.c3 .belief-photo{background-image:linear-gradient(rgba(37,36,79,.62),rgba(37,36,79,.62)),url(img/autumn-woods.webp);background-position:center 45%;border-radius:50% 50% 0 0 / 80px 80px 0 0;padding:150px 0 130px;margin-top:-1px}
.c3 .belief-photo .big{text-shadow:0 1px 14px rgba(20,19,50,.45)}
@media(max-width:760px){.c3 .belief-photo{border-radius:50% 50% 0 0 / 40px 40px 0 0;padding:100px 0 80px}}

/* flower and circle behave as one unit at every width */
.bloom .stage{container-type:inline-size;width:min(100%,330px);height:auto;aspect-ratio:330/292;margin:0 0 30px;align-self:flex-start}
.bloom .halo{width:min(286px,calc(100% - 44px));height:auto;aspect-ratio:1;bottom:6%}
.bloom .halo h3{font-size:clamp(16px,7cqw,22.5px);padding:0 7% 0 24%}
.bloom img{height:78%;width:auto}
.bloom:nth-child(2) img{height:71%}
.bloom:nth-child(3) img{height:75%}

/* flower: positioned inside the unit so its height is always a share of the unit */
.bloom .stage{display:block;position:relative}
.bloom img{position:absolute;left:0;bottom:0;margin:0;width:auto}
/* the scroll line lives only where the page has a side margin */
@media(max-width:1180px){.c3 .c3-line{display:none}}

/* belief band: text sits on a deeper wash, photograph shows toward the right */
.c3 .belief-photo{background-image:linear-gradient(90deg,rgba(37,36,79,.93) 0%,rgba(37,36,79,.88) 52%,rgba(37,36,79,.62) 100%),url(img/autumn-woods.webp)}
.c3 .belief-photo .big{color:#FFF8EE;text-shadow:none}
.c3 .belief-photo .muted{color:#F1E8F0;font-size:18px;line-height:29px}
@media(max-width:760px){.c3 .belief-photo{background-image:linear-gradient(rgba(37,36,79,.9),rgba(37,36,79,.88)),url(img/autumn-woods.webp)}}

/* flower and circle: one fixed arrangement, all sizes from the same unit (cqw = 1% of the unit's width) */
.bloom .stage{position:relative;display:block;width:min(100%,330px);height:auto;aspect-ratio:1/0.94;container-type:inline-size;margin:0 0 30px;align-self:flex-start}
.bloom .halo{position:absolute;left:auto;right:0;bottom:7cqw;width:80cqw;height:80cqw;aspect-ratio:auto}
.bloom .halo h3{font-size:clamp(15px,6.4cqw,22.5px);line-height:1.3;padding:0 7cqw 0 19cqw;text-wrap:balance}
.bloom img,.bloom:nth-child(n) img{position:absolute;left:0;bottom:0;margin:0;width:auto;height:64cqw}
.bloom:nth-child(2) img{height:59cqw}
.bloom:nth-child(3) img{height:62cqw}
.bloom .halo{width:82cqw;height:82cqw;bottom:6cqw}
.bloom .halo h3{padding:0 6cqw 0 18cqw}
.bloom img,.bloom:nth-child(n) img{height:67cqw}
.bloom:nth-child(2) img{height:62cqw}
.bloom:nth-child(3) img{height:65cqw}

/* filled circles in the logo colors, with lettering chosen for contrast */
:root{--on-adv:#FFF8EE;--on-gold:#2E1F2B;--on-lent:#FFF8EE}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--on-adv:#1D1B38;--on-gold:#1D1B38;--on-lent:#1D1B38}}
:root[data-theme="dark"]{--on-adv:#1D1B38;--on-gold:#1D1B38;--on-lent:#1D1B38}
.bloom:nth-child(1) .halo{--fill:var(--adv);--on:var(--on-adv)}
.bloom:nth-child(2) .halo{--fill:var(--gold);--on:var(--on-gold)}
.bloom:nth-child(3) .halo{--fill:var(--lent);--on:var(--on-lent)}
.bloom .halo,.bloom:nth-child(n) .halo{background:var(--fill);border:0;opacity:1}
.bloom .halo h3{color:var(--on);font-weight:500}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bloom .halo{background:var(--fill);opacity:1}}
:root[data-theme="dark"] .bloom .halo{background:var(--fill);opacity:1}

/* lettering sized to fill the circle, centered */
.bloom .halo h3{font-size:clamp(16px,7.7cqw,27px);line-height:1.24;padding:0 7cqw 0 13cqw;text-wrap:balance}

/* ===== Spiritual direction page: a more refined, premium treatment ===== */
.sd h2{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-0.018em}
.sd section{padding:0}
.sd .sd-hero{padding:104px 0 128px;overflow-x:clip}
.sd .sd-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}
.sd .sd-hero h1{font-size:clamp(42px,5.6vw,72px);line-height:1.04;letter-spacing:-0.022em;margin-bottom:28px}
.sd .sd-hero .lede{font-size:21px;line-height:34px;max-width:520px;margin:0}
.sd .sd-actions{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin:36px 0 0}
.sd .sd-photo{position:relative;margin:0 20px 20px 0}
.sd .sd-photo img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;border-radius:2px}
.sd .sd-photo::before{content:"";position:absolute;inset:22px -20px -22px 20px;border:1px solid var(--gold);z-index:0}

.sd .sd-statement{padding:40px 0 150px}
.sd .sd-statement h2{font-size:clamp(34px,5.2vw,64px);line-height:1.05;max-width:880px;margin:0 0 64px}
.sd .sd-cols{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:960px}
.sd .sd-cols p{margin:0 0 22px;font-size:19px;line-height:31px}

.sd .sd-ways{padding:0 0 150px}
.sd .sd-ways .grid{gap:56px}
.sd .sd-ways .card{border-top:1px solid var(--gold);padding-top:28px}
.sd .sd-ways h3{font-size:28px;line-height:1.15;margin:8px 0 16px}
.sd .sd-ways p{font-size:18px;line-height:29px}

.sd .sd-sab{background:var(--night);color:#F7EEE2;padding:140px 0 130px}
.sd .sd-sab h2{color:#FFF8EE;margin-bottom:20px}
.sd .sd-intro{max-width:560px;color:#E7DCE6;font-size:19px;line-height:31px;margin:0 0 48px}
.sd .sd-sab .wide{margin:0 0 72px}
.sd .sd-sab .wide img{height:clamp(240px,36vw,420px);border-radius:2px}
.sd .sd-sab .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 48px;margin:0}
.sd .sd-sab .step{border-top:1px solid rgba(247,238,226,.3);padding-top:22px}
.sd .sd-sab .step::before{color:var(--gold);font-size:22px;margin-bottom:10px}
.sd .sd-sab .step h3{color:#FFF8EE;font-size:25px;line-height:1.2}
.sd .sd-sab .step p{color:#E7DCE6;font-size:17px;line-height:28px}
.sd .sd-close{margin:72px 0 0;font-family:var(--font-display);font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:#FFF8EE}

.sd .sd-who{padding:150px 0}
.sd .sd-two{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.sd .sd-list{list-style:none;margin:0 0 36px;padding:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.sd .sd-list li{padding:16px 0;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent);font-family:var(--font-display);font-size:24px;line-height:1.2}
.sd .sd-who p{font-size:19px;line-height:31px;max-width:560px;margin:0}

.sd .sd-practices{background:var(--surface-2);padding:130px 0}
.sd .sd-practices h2{max-width:700px;margin-bottom:48px}
.sd .sd-practices .grid{gap:56px}
.sd .sd-practices .card{border-top:1px solid var(--gold);padding-top:26px}
.sd .sd-practices p{font-size:19px;line-height:31px}

.sd .sd-quote{padding:140px 0}
.sd .sd-quote .quote{font-size:clamp(24px,3vw,34px);line-height:1.35}

.sd .sd-fees{padding:0 0 150px}
.sd .fees{border-bottom:1px solid color-mix(in srgb,var(--ink) 30%,transparent);margin:0 0 20px}
.sd .fee{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:22px 0;border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.sd .fee span{font-size:19px}
.sd .fee strong{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.4vw,42px);line-height:1;letter-spacing:-0.01em}
.sd .sd-note{margin:0 0 28px;color:var(--ink-muted)}
.sd .facts{margin-top:44px}
.sd .contact{padding:0 0 140px}
.sd .contact h2{font-size:clamp(32px,4.4vw,54px)}
@media(max-width:900px){
  .sd .sd-hero{padding:56px 0 84px}
  .sd .sd-grid,.sd .sd-two,.sd .sd-cols{grid-template-columns:1fr;gap:44px}
  .sd .sd-photo{margin:0 14px 14px 0;max-width:420px}
  .sd .sd-photo::before{inset:14px -14px -14px 14px}
  .sd .sd-statement{padding:20px 0 90px}.sd .sd-ways{padding:0 0 90px}
  .sd .sd-sab{padding:84px 0}.sd .sd-who{padding:90px 0}.sd .sd-practices{padding:84px 0}.sd .sd-quote{padding:84px 0}.sd .sd-fees{padding:0 0 90px}.sd .contact{padding:0 0 90px}
  .sd .sd-sab .steps{grid-template-columns:1fr;gap:36px}
}
.sd .sd-photo img{height:auto}
.sd h1,.sd h2{text-wrap:balance}

/* sentence-case labels in fact lists */
.fact dt{text-transform:none;letter-spacing:0;font-size:15px;font-weight:500;color:var(--ink-muted)}
.sd-actions .textlink,.c3-actions .textlink{margin-left:0}

/* the paintbrush flowers grow up out of the ground when the doors scroll into view */
/* a small ground mark under each stem */
.bloom .stage::after{content:"";position:absolute;left:-8px;bottom:-1px;width:17cqw;height:2px;border-radius:2px;background:var(--ink);opacity:.45}

/* contact choices: clear, clickable options */
.contact .doors.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px}
.contact .doors.choices a{display:block;max-width:none;border:1px solid var(--action);border-radius:6px;padding:16px 18px;background:transparent;text-decoration:none;color:var(--ink);transition:background .2s ease,color .2s ease}
.contact .doors.choices a:last-child{border-bottom:1px solid var(--action)}
.contact .doors.choices strong{display:block;font-family:var(--font-display);font-weight:500;font-size:21px;line-height:1.2;color:var(--action);margin:0 0 4px}
.contact .doors.choices span{display:block;font-size:16px;line-height:24px;color:var(--ink-muted)}
.contact .doors.choices a:hover{background:var(--action)}
.contact .doors.choices a:hover strong,.contact .doors.choices a:hover span{color:var(--on-action)}
@media(max-width:640px){.contact .doors.choices{grid-template-columns:1fr}}
/* a firmer link on the dark band */
.belief a{font-weight:600;text-decoration-thickness:2px;text-underline-offset:4px;color:#FFB9A5}
/* a slightly smaller headline so the left column is not crowded */
.c3 h1{font-size:clamp(38px,4.6vw,58px)}

/* Pull-quote band: her own words beside a real photograph */
.pq{padding:0;align-items:stretch;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--night);color:#F7EEE2;min-height:560px}
.pq-photo{position:relative;overflow:hidden}
.pq-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.pq-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,8vw,120px) clamp(28px,7vw,110px)}
.pq-text blockquote{margin:0;padding:0;border:0}
.pq-text blockquote p{font-family:var(--font-display,"Fraunces",Georgia,serif);font-weight:400;font-size:clamp(38px,5.4vw,80px);line-height:1.04;letter-spacing:-0.02em;color:#FFF8EE;max-width:12ch}
.pq-text blockquote p::before{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-bottom:36px}
.pq-by{margin-top:32px;color:#CDBFCF;font-size:16px}
@media(max-width:760px){.pq{grid-template-columns:1fr}.pq-photo{aspect-ratio:4/3}.pq-photo img{object-position:50% 22%}.pq-text{padding:56px 24px 64px}}

/* Journal: the writing page */
.ed-hero{padding:clamp(72px,10vw,150px) 0 clamp(48px,6vw,80px)}
.ed-line{font-family:var(--font-display,"Fraunces",Georgia,serif);font-weight:400;font-size:clamp(40px,7vw,96px);line-height:1.02;letter-spacing:-0.025em;max-width:14ch;color:var(--ink)}
.ed-sub{margin-top:36px;max-width:34em;font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--muted)}
.ed-actions{margin-top:32px}
.journal-list{padding:0 0 clamp(72px,9vw,130px)}
.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.posts li{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:8px 40px;padding:36px 0;border-bottom:1px solid var(--hairline)}
.posts time{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:15px}
.posts .d{font-family:var(--font-display,"Fraunces",Georgia,serif);font-size:clamp(44px,5vw,64px);line-height:1;color:var(--ink);letter-spacing:-0.02em}
.posts h2{font-size:clamp(24px,2.6vw,34px);line-height:1.15;margin:0 0 10px;max-width:24em}
.posts h2 a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .25s}
.posts h2 a:hover,.posts h2 a:focus-visible{background-size:100% 1px}
.posts p{max-width:36em;color:var(--muted);line-height:1.55}
.journal-more{margin-top:40px}
@media(max-width:640px){.posts li{grid-template-columns:1fr;gap:12px;padding:28px 0}.posts time{flex-direction:row;align-items:baseline;gap:10px}.posts .d{font-size:36px}}

/* Group spiritual direction */
.sd .sd-group{padding:120px 0}
.sd .rhythm{list-style:none;margin:28px 0 20px;padding:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.sd .rhythm li{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:8px 32px;padding:22px 0;border-top:1px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.sd .rhythm strong{font-family:var(--font-display);font-weight:400;font-size:clamp(20px,2vw,24px);line-height:1.2}
.sd .rhythm span{color:var(--muted);line-height:1.55}
@media(max-width:760px){.sd .sd-group{padding:84px 0}.sd .rhythm li{grid-template-columns:1fr}}
.sd .sd-group .sd-intro{color:var(--ink);max-width:none;margin:0}

/* Painted flowers: ink draws up from the stem, then the color soaks in */
.bloom .paint{position:absolute;left:0;bottom:0;margin:0;width:auto;height:67cqw;aspect-ratio:130/370;overflow:visible;transform-origin:50% 100%;transition:transform .6s ease}
.bloom:nth-child(1) .paint{transform:rotate(-3deg)}
.bloom:nth-child(2) .paint{transform:rotate(2deg);height:62cqw}
.bloom:nth-child(3) .paint{transform:rotate(-1deg);height:65cqw}
.bloom:hover .paint{transform:rotate(1.5deg) scale(1.03)}
.bloom .paint .wash{opacity:var(--o)}
@media(prefers-reduced-motion:no-preference){
  .c3anim .c3 .bloom .paint .ink{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}
  .c3anim .c3 .bloom .paint .wash{opacity:0}
  .c3anim .c3 .blooms.grown .bloom .paint .ink{opacity:1;stroke-dashoffset:0;
    transition:opacity 0s calc(var(--bd,0s) + var(--d) * .32s),stroke-dashoffset 1.1s ease-in-out calc(var(--bd,0s) + var(--d) * .32s)}
  .c3anim .c3 .blooms.grown .bloom .paint .wash{opacity:var(--o);
    transition:opacity 1.6s ease calc(var(--bd,0s) + 1.3s + var(--w) * .35s)}
  .c3anim .c3 .blooms .bloom:nth-child(2){--bd:.9s}
  .c3anim .c3 .blooms .bloom:nth-child(3){--bd:1.8s}
}

/* Story section on the front page */
.c3 .c3-story{padding:clamp(72px,9vw,130px) 0 clamp(40px,5vw,72px)}
.c3 .c3-story h2{font-size:clamp(38px,6vw,84px);line-height:1.02;letter-spacing:-0.025em;max-width:12ch;margin:0 0 clamp(36px,5vw,64px)}
.c3 .c3-story-cols{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(32px,6vw,96px);align-items:start}
.c3 .c3-story p{font-size:clamp(18px,1.5vw,20px);line-height:1.62;max-width:34em;margin:0 0 1.1em}
.c3 .c3-story .c3-hurt{font-family:var(--font-display);font-size:clamp(20px,2vw,26px);line-height:1.35;border-top:1px solid var(--hairline);padding-top:1.1em;margin-top:1.6em}
@media(max-width:820px){.c3 .c3-story-cols{grid-template-columns:1fr;gap:0}}

/* New Spiritual direction sections */
.sd .sd-hurt,.sd .sd-know,.sd .sd-scope{padding:110px 0 0}
.sd .sd-hurt p,.sd .sd-know p,.sd .sd-scope p{font-size:19px;line-height:31px;max-width:600px;margin:0 0 1em}
.sd .sd-scope{padding-bottom:80px}
@media(max-width:760px){.sd .sd-hurt,.sd .sd-know,.sd .sd-scope{padding:70px 0 0}}

/* The clearing: a dark forest band where the deer comes out when you hold still */
.c3 .c3-story{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 78% 70%,#2B4437 0%,#1E2F27 55%,#18251F 100%);color:#EFE4D2;padding:clamp(72px,9vw,128px) 0 0}
.c3 .c3-story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:stretch}
.c3 .c3-story-text{padding-bottom:clamp(56px,7vw,110px)}
.c3 .c3-story h2{color:#FFF8EE;font-size:clamp(40px,6vw,84px);line-height:1.02;letter-spacing:-0.025em;max-width:11ch;margin:0 0 clamp(28px,4vw,52px)}
.c3 .c3-story p{color:#EADFCB;font-size:clamp(18px,1.5vw,20px);line-height:1.62;max-width:34em;margin:0 0 1.1em}
.c3 .c3-story .c3-hurt{font-family:var(--font-display);font-size:clamp(20px,2vw,26px);line-height:1.35;color:#FFF8EE;border-top:1px solid rgba(243,230,211,.3);padding-top:1.1em;margin-top:1.6em}
.c3 .c3-deer{width:min(100%,520px);justify-self:end;align-self:stretch;line-height:0}
.c3 .c3-deer-in{position:sticky;top:84px}
.c3 .c3-deer .deer{display:block;width:100%;height:auto;overflow:visible}
.c3 .c3-hint{position:absolute;left:0;right:0;top:6%;text-align:center;font-family:var(--font-display);font-style:italic;font-size:19px;line-height:1.3;color:rgba(243,230,211,.7);margin:0;opacity:0;pointer-events:none}
@media(max-width:820px){.c3 .c3-story-grid{grid-template-columns:1fr;gap:12px}.c3 .c3-deer{justify-self:center;width:min(100%,420px)}.c3 .c3-deer-in{position:static}.c3 .c3-story-text{padding-bottom:20px}}
@media(prefers-reduced-motion:no-preference){
  .c3anim .c3-story .deer .ink{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}
  .c3anim .c3-story .deer .wash,.c3anim .c3-story .deer .eyes{opacity:0}
  .c3anim .c3-story .deer-body{transform:translateY(26px)}
  .c3anim .c3-story .c3-hint{opacity:1;transition:opacity 1.2s ease}
  .c3anim .c3-story.still .c3-hint{opacity:0}
  .c3anim .c3-story.still .deer .ink{opacity:1;stroke-dashoffset:0;transition:opacity 0s calc(var(--d) * .09s),stroke-dashoffset 1.1s ease-in-out calc(var(--d) * .09s)}
  .c3anim .c3-story.still .deer .wash{opacity:var(--o);transition:opacity 1.6s ease calc(1.1s + var(--w) * .13s)}
  .c3anim .c3-story.still .deer .eyes{opacity:1;transition:opacity 1.6s ease 3.2s}
  .c3anim .c3-story.still .deer-body{transform:none;transition:transform 2.6s cubic-bezier(.22,.7,.2,1)}
}

/* Small touches: hand-drawn underlines, paper grain, ferns above the footer, deer prints in the margin */
body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .33 0 0 0 0 .3 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.textlink,a.go,.bloom .go,.c3 .c3-actions .textlink{text-decoration:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' width='120' height='8'%3E%3Cpath d='M1 5 C18 1.5 38 7.5 60 4 S100 1.5 119 5' fill='none' stroke='%232E4D69' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:0 100%;background-size:120px 8px;padding-bottom:6px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .textlink,:root:not([data-theme="light"]) a.go,:root:not([data-theme="light"]) .bloom .go{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' width='120' height='8'%3E%3Cpath d='M1 5 C18 1.5 38 7.5 60 4 S100 1.5 119 5' fill='none' stroke='%238FB4D6' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}}
:root[data-theme="dark"] .textlink,:root[data-theme="dark"] a.go,:root[data-theme="dark"] .bloom .go{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' width='120' height='8'%3E%3Cpath d='M1 5 C18 1.5 38 7.5 60 4 S100 1.5 119 5' fill='none' stroke='%238FB4D6' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
footer{position:relative;margin-top:70px}
footer::before{content:"";position:absolute;left:0;right:0;top:-69px;height:70px;background:url(img/ferns-strip.svg) repeat-x 0 100%/auto 70px;pointer-events:none;opacity:.9}
.tracks{position:absolute;top:0;right:max(10px,calc((100vw - 1240px) / 2 - 34px));width:44px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 120' width='44' height='120'%3E%3Cg fill='%236B5563'%3E%3Cg transform='translate(8 14) rotate(-8)'%3E%3Cpath d='M3 0C0 5 0 11 3 15C6 11 6 5 3 0ZM9 1C6 6 6 12 9 16C12 12 12 6 9 1Z'/%3E%3C/g%3E%3Cg transform='translate(24 72) rotate(8)'%3E%3Cpath d='M3 0C0 5 0 11 3 15C6 11 6 5 3 0ZM9 1C6 6 6 12 9 16C12 12 12 6 9 1Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat-y 0 0/44px 120px;opacity:.34;pointer-events:none;z-index:1;--p:100%;-webkit-mask-image:linear-gradient(#000 var(--p),transparent calc(var(--p) + 6%));mask-image:linear-gradient(#000 var(--p),transparent calc(var(--p) + 6%))}
@media(max-width:1180px){.tracks{display:none}}

/* The woods behind the clearing */
.c3 .c3-story::before{content:"";position:absolute;inset:-12px;background:url(img/autumn-woods.webp) 50% 40%/cover;filter:blur(3px) saturate(.95);opacity:.72;z-index:0}
.c3 .c3-story::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(90% 40% at 72% 100%,rgba(170,200,160,.22),transparent 70%),
    linear-gradient(104deg,transparent 30%,rgba(255,232,176,.10) 36%,transparent 44%),
    linear-gradient(112deg,transparent 52%,rgba(255,232,176,.08) 57%,transparent 63%),
    linear-gradient(96deg,rgba(18,30,24,.93) 8%,rgba(18,30,24,.74) 48%,rgba(18,30,24,.36) 100%)}
.c3 .c3-woods{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.c3 .c3-story .wrap{position:relative;z-index:1}
@media(max-width:820px){.c3 .c3-story::after{background:radial-gradient(90% 30% at 70% 100%,rgba(170,200,160,.2),transparent 70%),linear-gradient(180deg,rgba(18,30,24,.9),rgba(18,30,24,.72))}.c3 .c3-woods{opacity:.7}}

/* Hero: sunlit forest footage behind the headline, fading into the dark clearing below */
.c3 .c3-hero{position:relative;overflow:hidden;padding:clamp(96px,11vw,150px) 0 clamp(110px,12vw,170px);color:#F4EADA;background:#1E2F27}
.c3 .c3-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:0}
.c3 .c3-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(97deg,rgba(14,26,20,.9) 0%,rgba(14,26,20,.72) 46%,rgba(14,26,20,.36) 100%),linear-gradient(180deg,transparent 62%,#1E2F27 100%)}
.c3 .c3-hero .wrap{position:relative;z-index:1}
.c3 .c3-hero h1{color:#FFF8EE}
.c3 .c3-hero .lede{color:#EFE4D2}
.c3 .c3-hero .btn{background:#F7EEE2;color:#1E2F27;box-shadow:none}
.c3 .c3-hero .btn:hover{background:#FFF8EE}
.c3 .c3-hero .textlink,.c3 .c3-actions .textlink{color:#FFE2B8}
.c3 .c3-hero .c3-ring path{stroke:#F3C987}
.c3 .c3-pause{position:absolute;left:max(16px,calc((100vw - 1100px) / 2));bottom:18px;z-index:2;background:rgba(14,26,20,.55);color:#F4EADA;border:1px solid rgba(244,234,218,.45);border-radius:999px;padding:8px 16px;font:500 14px/1 var(--font-sans);cursor:pointer}
.c3 .c3-pause:hover{background:rgba(14,26,20,.8)}
.c3 .c3-pause:focus-visible{outline:3px solid #FFE2B8;outline-offset:3px}
.c3 .c3-hero .textlink,.c3 .c3-hero .c3-actions .textlink{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' width='120' height='8'%3E%3Cpath d='M1 5 C18 1.5 38 7.5 60 4 S100 1.5 119 5' fill='none' stroke='%23FFE2B8' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}

/* One forest behind the hero and the clearing */
.c3 .c3-forest{position:relative;background:#1E2F27}
.c3 .c3-forest > .c3-bg{display:block;position:sticky;top:0;width:100%;height:100vh;height:100svh;margin-bottom:-100vh;margin-bottom:-100svh;object-fit:cover;object-position:50% 40%;z-index:0}
.c3 .c3-hero,.c3 .c3-story{background:transparent}
.c3 .c3-hero::after{background:linear-gradient(97deg,rgba(14,26,20,.9) 0%,rgba(14,26,20,.72) 46%,rgba(14,26,20,.4) 100%)}
.c3 .c3-story::before{display:none}
.c3 .c3-story::after{background:
    radial-gradient(90% 40% at 72% 100%,rgba(170,200,160,.2),transparent 70%),
    linear-gradient(97deg,rgba(14,26,20,.93) 0%,rgba(14,26,20,.78) 46%,rgba(14,26,20,.56) 100%)}
.c3 .c3-pause-wrap{position:sticky;bottom:16px;height:0;z-index:3}
.c3 .c3-pause{position:absolute;left:max(16px,calc((100vw - 1100px) / 2));bottom:0;transform:none}
@media(max-width:820px){.c3 .c3-story::after{background:radial-gradient(90% 30% at 70% 100%,rgba(170,200,160,.2),transparent 70%),linear-gradient(180deg,rgba(14,26,20,.82),rgba(14,26,20,.7))}}
.c3 .c3-pause{left:auto;right:max(16px,calc((100vw - 1100px) / 2))}
.c3 .c3-woods{opacity:.4}

/* Calmer scrolling: nothing sticks to the screen except the small pause button */
.c3 .c3-forest > .c3-bg{position:absolute;inset:0;top:0;height:100%;margin-bottom:0;object-position:50% 30%}
.c3 .c3-deer{align-self:center}
.c3 .c3-deer-in{position:static}
.c3 .c3-deer-in{position:relative}

/* Doors: stronger, easier-to-read words inside the circles */
.bloom .halo h3{font-weight:600;font-size:clamp(17px,8cqw,28px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bloom .halo h3{color:#14122E}}
:root[data-theme="dark"] .bloom .halo h3{color:#14122E}

/* Story text: room to breathe, with the key lines set larger */
.c3 .c3-story{padding-top:clamp(88px,10vw,150px)}
.c3 .c3-story h2{margin-bottom:clamp(44px,6vw,80px)}
.c3 .c3-story-text{max-width:36em}
.c3 .c3-story-text p{font-size:clamp(19px,1.55vw,21px);line-height:1.72;margin:0 0 1.5em}
.c3 .c3-story-text .c3-lead{font-family:var(--font-display);font-size:clamp(26px,2.8vw,38px);line-height:1.22;letter-spacing:-0.012em;color:#FFF8EE;margin-bottom:1em}
.c3 .c3-somes{margin:0 0 clamp(48px,6vw,84px)}
.c3 .c3-somes p{margin:0 0 1.1em}
.c3 .c3-story-text .c3-palmer{font-family:var(--font-display);font-style:italic;font-size:clamp(23px,2.4vw,31px);line-height:1.3;color:#FFE2B8;border-left:3px solid #E3A92F;padding-left:22px;margin:0 0 clamp(36px,4vw,52px)}
.c3 .c3-story-text .c3-hurt{margin-top:clamp(48px,6vw,84px)}

/* Story section: two-line headline where it fits, wider side margin, more space between the "Some" lines */
.c3 .c3-story h2{font-size:clamp(34px,4.9vw,68px);max-width:none;text-wrap:balance}
.c3 .c3-story .wrap{padding-left:max(24px,5vw);padding-right:max(24px,5vw)}
.c3 .c3-somes p{margin:0 0 1.7em}

/* What a first conversation is like */
.c3 .c3-first{padding:clamp(80px,10vw,140px) 0}
.c3 .c3-first h2{font-size:clamp(34px,4.6vw,60px);line-height:1.05;letter-spacing:-0.02em;max-width:14ch;margin:0 0 20px}
.c3 .c3-first-lede{font-size:clamp(19px,1.7vw,22px);line-height:1.55;color:var(--ink-muted);max-width:30em;margin:0 0 clamp(40px,5vw,64px)}
.c3 .c3-first-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);border-top:1px solid var(--ink);padding-top:32px}
.c3 .c3-first-steps .n{display:block;font-family:var(--font-display);font-size:clamp(44px,5vw,64px);line-height:1;color:var(--gold);margin-bottom:14px}
.c3 .c3-first-steps h3{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:0 0 10px}
.c3 .c3-first-steps p{font-size:17px;line-height:1.62;color:var(--ink);margin:0;max-width:26em}
.c3 .c3-first-go{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin:clamp(36px,4vw,56px) 0 0}
@media(max-width:820px){.c3 .c3-first-steps{grid-template-columns:1fr}}
.c3 .belief,.c3 .belief-photo{border-radius:0}

/* Spiritual direction as a story: forest hero, forest band, ferns at the edges */
.sd .sd-hero{position:relative;overflow:hidden;background:#1E2F27;color:#F4EADA;padding:clamp(88px,10vw,130px) 0 clamp(124px,13vw,176px)}
.sd .sd-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:0}
.sd .sd-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(97deg,rgba(14,26,20,.9) 0%,rgba(14,26,20,.72) 46%,rgba(14,26,20,.4) 100%)}
.sd .sd-hero::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:72px;background:url(img/ferns-strip.svg) repeat-x 0 100%/auto 72px;z-index:1;pointer-events:none}
.sd .sd-hero .wrap{position:relative;z-index:2}
.sd .sd-hero h1{color:#FFF8EE}
.sd .sd-hero .lede{color:#EFE4D2}
.sd .sd-hero .btn{background:#F7EEE2;color:#1E2F27;box-shadow:none}
.sd .sd-hero .btn:hover{background:#FFF8EE}
.sd .sd-hero .textlink{color:#FFE2B8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' width='120' height='8'%3E%3Cpath d='M1 5 C18 1.5 38 7.5 60 4 S100 1.5 119 5' fill='none' stroke='%23FFE2B8' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E")}
.sd .sd-pause{position:absolute;right:max(16px,calc((100vw - 1100px) / 2));bottom:84px;z-index:3;background:rgba(14,26,20,.55);color:#F4EADA;border:1px solid rgba(244,234,218,.45);border-radius:999px;padding:8px 16px;font:500 14px/1 var(--font-sans);cursor:pointer}
.sd .sd-pause:hover{background:rgba(14,26,20,.8)}
.sd .sd-pause:focus-visible{outline:3px solid #FFE2B8;outline-offset:3px}

.sd .sd-forest{position:relative;overflow:hidden;background:#1E2F27;color:#EFE4D2;margin-top:60px}
.sd .sd-forest::before{content:"";position:absolute;inset:-12px;background:url(img/autumn-woods.webp) 50% 40%/cover;filter:blur(3px) saturate(.95);opacity:.55;z-index:0}
.sd .sd-forest::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(97deg,rgba(14,26,20,.93) 0%,rgba(14,26,20,.78) 50%,rgba(14,26,20,.55) 100%)}
.sd .sd-forest section{position:relative;z-index:1;background:transparent}
.sd .sd-forest h2{color:#FFF8EE}
.sd .sd-forest p{color:#EADFCB}
.sd .sd-forest .sd-hurt{padding:clamp(80px,9vw,120px) 0 0}
.sd .sd-forest .sd-know{padding:clamp(56px,7vw,90px) 0 clamp(150px,15vw,200px)}
.sd .sd-forest .sd-know::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:72px;background:url(img/ferns-strip.svg) repeat-x 0 100%/auto 72px;pointer-events:none}
.sd .sd-ways h2{margin-bottom:0}

/* Six minutes invitation on the front page */
.c3 .c3-six{background:#1E2F27;color:#EFE4D2;text-align:center;padding:clamp(72px,9vw,120px) 0}
.c3 .c3-six h2{color:#FFF8EE;font-size:clamp(34px,4.6vw,60px);line-height:1.05;letter-spacing:-0.02em;margin:0 0 20px}
.c3 .c3-six p{max-width:30em;margin:0 auto 1.4em;font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:#EADFCB}
.c3 .c3-six .btn{background:#F7EEE2;color:#1E2F27;box-shadow:none}
.c3 .c3-six .btn:hover{background:#fff}

/* Menu for narrow screens */
.menu-btn{display:none;font:600 15px var(--font-sans);color:var(--ink);background:transparent;border:1px solid var(--hairline);border-radius:8px;padding:8px 14px;margin-left:12px;cursor:pointer}
.menu-btn:focus-visible,.menu-panel a:focus-visible{outline:3px solid var(--action);outline-offset:2px}
.menu-panel[hidden]{display:none}
.menu-panel{display:none}
@media(max-width:1440px){
  .menu-btn{display:inline-block}
  .menu-panel{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--surface,#FDFBF8);border-bottom:1px solid var(--hairline);padding:8px 20px 18px;box-shadow:0 14px 24px rgba(30,22,28,.12)}
  .menu-panel[hidden]{display:none}
  .menu-panel a{display:block;color:var(--ink);text-decoration:none;font:600 18px var(--font-sans);padding:14px 4px;border-bottom:1px solid var(--hairline)}
  .menu-panel a[aria-current="page"]{color:var(--action)}
  .menu-panel a.menu-outline{margin-top:12px;text-align:center;border:1px solid var(--action);border-radius:8px;color:var(--action)}
}

.menu-panel a.menu-start{display:none}
@media(max-width:560px){
  header nav .btn{display:none!important}
  .menu-panel a.menu-start{display:block;margin-top:12px;text-align:center;background:var(--action);color:#fff;border-radius:8px;border-bottom:0}
  .menu-btn{margin-left:0}
}
@media(min-width:561px){.menu-panel a.menu-outline{display:none}}

/* The six-minute invitation at the very top of the front page */
.c3 .c3-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px;padding:14px 20px;background:#16231C;color:#EFE4D2;text-align:center}
.c3 .c3-top p{margin:0;font-size:16px;line-height:1.4;max-width:46em}
.c3 .c3-top strong{font-family:var(--font-display);font-weight:400;font-size:21px;color:#FFF8EE;margin-right:8px}
.c3 .c3-top-wave{width:96px;height:24px;flex:none}
.c3 .c3-top .btn{background:#F7EEE2;color:#1E2F27;box-shadow:none;padding:9px 20px;font-size:15px;margin:0}
.c3 .c3-top .btn:hover{background:#fff}
@media(max-width:600px){.c3 .c3-top{padding:12px 16px}.c3 .c3-top-wave{display:none}.c3 .c3-top span{display:block}}
.brand{white-space:nowrap}
header .wrap.nav{max-width:1320px}
header nav{display:flex;align-items:center;white-space:nowrap}
@media(min-width:1441px){nav a.link{margin-left:16px}nav .btn-outline{margin-left:16px}}

.pq-text blockquote p{font-size:clamp(32px,4.2vw,62px);max-width:14ch}

/* The organizational point, set apart under the belief paragraph */
.belief .belief-org{font-family:var(--font-display);font-style:normal;font-weight:400;font-size:clamp(22px,2.6vw,32px);line-height:1.3;color:#FFE2B8;border-left:3px solid #E3A92F;padding-left:22px;margin:clamp(32px,4vw,48px) 0 0;max-width:820px}

/* The work I do: one purpose, for leaders and organizations */
.wk .sd-hero h1{font-size:clamp(32px,4.2vw,54px);line-height:1.1}
.wk .sd-statement{padding:clamp(70px,8vw,110px) 0}
.wk .sd-statement h2{font-size:clamp(32px,4.4vw,56px);margin-bottom:40px}

/* Work page: forest band and numbered path, matching the front page */
.wk .sd-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.05}
.wk .sd-forest{margin-top:0}
.wk .sd-forest .sd-know{padding:clamp(90px,10vw,130px) 0 clamp(150px,15vw,200px)}
.wk .c3-first{padding:clamp(80px,10vw,140px) 0}
.wk .c3-first h2{font-size:clamp(34px,4.6vw,60px);line-height:1.05;letter-spacing:-0.02em;max-width:14ch;margin:0 0 20px}
.wk .c3-first-lede{font-size:clamp(19px,1.7vw,22px);line-height:1.55;color:var(--ink-muted);max-width:30em;margin:0 0 clamp(40px,5vw,64px)}
.wk .c3-first-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px);border-top:1px solid var(--ink);padding-top:32px}
.wk .c3-first-steps .n{display:block;font-family:var(--font-display);font-size:clamp(44px,5vw,64px);line-height:1;color:var(--gold);margin-bottom:14px}
.wk .c3-first-steps h3{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:0 0 10px}
.wk .c3-first-steps p{font-size:17px;line-height:1.62;color:var(--ink);margin:0;max-width:26em}
.wk .c3-first-go{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin:clamp(36px,4vw,56px) 0 0}
@media(max-width:820px){.wk .c3-first-steps{grid-template-columns:1fr}}

h1.ed-line{margin:0}

/* Doors: three equal tinted panels, tighter spacing, circles fill their panels */
.c3 #looking{padding:clamp(56px,6vw,84px) 0 clamp(52px,5vw,72px)}
.c3 #looking h2{margin-bottom:clamp(24px,3vw,36px)}
.c3 .blooms{gap:24px;margin-top:0;align-items:stretch}
.c3 .bloom{--pc:var(--adv);background:color-mix(in srgb,var(--pc) 8%,var(--surface,#FDFBF8));border-radius:14px;padding:26px 26px 28px;transition:background .3s ease,transform .3s ease}
.c3 .bloom:nth-child(2){--pc:var(--gold)}
.c3 .bloom:nth-child(3){--pc:var(--lent)}
.c3 .bloom:nth-child(2){background:color-mix(in srgb,var(--pc) 13%,var(--surface,#FDFBF8))}
.c3 .bloom:hover{background:color-mix(in srgb,var(--pc) 14%,var(--surface,#FDFBF8))}
.c3 .bloom:nth-child(2):hover{background:color-mix(in srgb,var(--pc) 20%,var(--surface,#FDFBF8))}
.c3 .bloom .stage{width:100%;margin:0 0 20px}
.c3 .bloom .stage::after{display:none}
.c3 .bloom p{margin:0 0 20px}
.c3 .bloom .go{margin-top:auto}
.c3 .proof{margin-top:clamp(28px,3.5vw,40px)}
@media(max-width:900px){.c3 .blooms{gap:20px}.c3 .bloom{padding:22px 20px 24px}}

/* Buttons: the top band is an outlined button so it does not compete with the main filled one */
.c3 .c3-top .btn{background:transparent;color:#F7EEE2;border:1px solid rgba(247,238,226,.7)}
.c3 .c3-top .btn:hover{background:rgba(247,238,226,.14);color:#fff}

/* Baked-in blur replaces the CSS filter, which was slow to paint */
.sd .sd-forest::before{background-image:url(img/autumn-woods-soft.webp);filter:none;opacity:.6}

/* Contact form */
.cf-section{padding:0 0 clamp(70px,9vw,120px)}
.cf{max-width:620px}
.cf label{display:block;font-weight:600;margin:22px 0 6px}
.cf input[type=text],.cf input[type=email],.cf select,.cf textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface,#FDFBF8);border:1px solid var(--ink-muted,#6B5563);border-radius:8px;padding:13px 14px}
.cf textarea{min-height:170px;resize:vertical;line-height:1.5}
.cf input:focus-visible,.cf select:focus-visible,.cf textarea:focus-visible{outline:3px solid var(--action);outline-offset:2px}
.cf .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.cf-note{font-size:15px;color:var(--ink-muted);margin:20px 0 22px}
.cf .btn{cursor:pointer}
.cf-msg{margin:18px 0 0;padding:14px 16px;border-left:3px solid var(--scarlet);background:var(--surface-2,#F8F1E6)}
.cf-alt{margin-top:26px;color:var(--ink-muted)}

/* The six-minute invitation band (Spiritual direction page) */
.six-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 24px;padding:14px 20px;background:#16231C;color:#EFE4D2;text-align:center}
.six-band p{margin:0;font-size:16px;line-height:1.4;max-width:46em;color:#EFE4D2}
.six-band strong{font-family:var(--font-display);font-weight:400;font-size:21px;color:#FFF8EE;margin-right:8px}
.six-wave{width:96px;height:24px;flex:none}
.six-band .btn{background:transparent;color:#F7EEE2;border:1px solid rgba(247,238,226,.7);box-shadow:none;padding:9px 20px;font-size:15px;margin:0}
.six-band .btn:hover{background:rgba(247,238,226,.14);color:#fff}
@media(max-width:600px){.six-band{padding:12px 16px}.six-wave{display:none}.six-band span{display:block}}

/* Door two holds two links: the whole panel goes to the Work page, and Sacred Seasons has its own link */
.c3 .bloom-two{position:relative}
.c3 .bloom-two .bloom-links{margin:auto 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.c3 .bloom-two .go{margin-top:0;font-weight:600;color:var(--action)}
.c3 .bloom-two .go.stretch::after{content:"";position:absolute;inset:0;z-index:1;border-radius:14px}
.c3 .bloom-two .go:not(.stretch){position:relative;z-index:2}
.c3 .bloom-two:hover{background:color-mix(in srgb,var(--pc) 20%,var(--surface,#FDFBF8))}

/* Work page: a view of Sacred Seasons beside the Seasons description */
.wk .ss-card{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:clamp(24px,4vw,48px);align-items:center}
.wk .ss-fig{margin:0;background:#FAF2E8;border-radius:16px;padding:14px 10px 6px;justify-self:end;width:250px}
.wk .ss-fig img{display:block;width:100%;height:auto}
@media(max-width:760px){.wk .ss-card{grid-template-columns:1fr}.wk .ss-fig{justify-self:center;width:min(100%,260px)}}

/* Readability pass: nothing under 16px, 44px or larger tap targets, links that look like links */
nav a.link{font-size:17px}
.btn,.btn-outline{font-size:17px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;line-height:1.2}
header .btn{font-size:17px!important;padding:10px 20px!important;min-height:48px;margin-left:16px!important}
header .btn-outline{font-size:16px;min-height:48px;padding:10px 18px}
.menu-btn{font-size:17px;min-height:48px;padding:10px 18px}
.c3-pause,.sd-pause{font-size:16px;min-height:44px;padding:10px 18px}
.six-band .btn,.c3 .c3-top .btn{font-size:16px;min-height:44px;padding:9px 20px}
.who,.when,dt,.fine,.cf-note{font-size:16px}
footer,footer a,footer span{font-size:16px}
.menu-panel a{font-size:19px}
.textlink,a.go{display:inline-block;font-size:17px;padding-top:10px;padding-bottom:9px}
.bloom .go{font-size:17px}
main p a:not(.btn):not(.textlink):not(.go),main dd a,main li a:not(.btn){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
a:focus-visible,button:focus-visible{outline:3px solid var(--action);outline-offset:3px}
/* keep the header tidy on small screens (the outlined Sacred Seasons button lives in the menu there) */
@media(max-width:700px){header .btn-outline{display:none}}
@media(max-width:1000px){header .btn-outline{margin-left:12px;padding:8px 14px}}

/* Questions people ask */
.sd .sd-faq{padding:clamp(70px,9vw,110px) 0 0}
.sd .sd-faq h3{font-family:var(--font-display);font-weight:400;font-size:clamp(21px,2vw,26px);line-height:1.25;margin:0 0 8px}
.sd .sd-faq p{font-size:19px;line-height:31px;max-width:600px;margin:0 0 30px}

/* Work page: a path from the leader, to the people, to the organization */
.wk .path{list-style:none;margin:clamp(36px,4vw,56px) 0 0;padding:0;position:relative}
.wk .path::before{content:"";position:absolute;left:31px;top:20px;bottom:20px;width:2px;background:linear-gradient(var(--gold),color-mix(in srgb,var(--gold) 20%,transparent))}
.wk .path li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:clamp(16px,3vw,36px);padding:0 0 clamp(36px,5vw,60px);position:relative}
.wk .path li:last-child{padding-bottom:0}
.wk .path .n{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--surface,#FDFBF8);border:2px solid var(--gold);font-family:var(--font-display);font-size:30px;line-height:1;color:var(--ink);z-index:1}
.wk .path h3{font-family:var(--font-display);font-weight:400;font-size:clamp(24px,2.6vw,34px);line-height:1.15;margin:8px 0 12px}
.wk .path p{max-width:38em;margin:0 0 1em;font-size:18px;line-height:1.65}
.wk .path .ss-card{grid-column:1 / -1}
.wk .path li > .ss-card{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:clamp(24px,4vw,48px);align-items:start;padding:0;background:none;border:0}
.wk .path li:has(> .ss-card){grid-template-columns:64px minmax(0,1fr)}
.wk .path li > .ss-card{grid-column:2}
.wk .path .ss-fig{margin:0;background:#FAF2E8;border-radius:16px;padding:14px 10px 6px;width:250px}
.wk .path .ss-fig img{display:block;width:100%;height:auto}
.wk .path li:has(> .ss-card) .n{grid-column:1}
@media(max-width:760px){
  .wk .path::before{left:23px}
  .wk .path li{grid-template-columns:48px minmax(0,1fr)}
  .wk .path .n{width:48px;height:48px;font-size:22px}
  .wk .path li > .ss-card{grid-template-columns:1fr}
  .wk .path .ss-fig{width:min(100%,260px)}
}
.wk .path .textlink{margin-left:0}

/* ---- Organizations page: designer pass ---- */
/* one rhythm: every section gets the same breathing room */
.wk .wk-path,.wk #elsewhere,.wk #how,.wk .contact{padding:clamp(72px,9vw,112px) 0}
.wk .wk-path h2,.wk #elsewhere h2,.wk #how h2,.wk .contact h2{font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-0.02em;margin:0 0 20px}
.wk .wk-path>.wrap>.narrow,.wk .c3-first-lede{font-size:19px;line-height:1.6;color:var(--ink);max-width:34em}
.wk #faith.sd-know{padding:clamp(88px,10vw,128px) 0 clamp(130px,13vw,170px)}
.wk .sd-forest{margin-top:0}

/* the path uses the width of the page */
.wk .path p{max-width:44em}
.wk .path .path-note{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--hairline);font-size:17px;color:var(--ink-muted);max-width:38em}

/* the phone: no tile, a little tilt, a soft shadow, and a gold offset frame */
.wk .path li > .ss-card{grid-template-columns:minmax(0,1fr) 290px;align-items:start}
.wk .path .ss-fig{background:none;padding:0;border-radius:0;width:290px;position:relative;margin:6px 0 0;justify-self:end}
.wk .path .ss-fig::before{content:"";position:absolute;left:34px;right:-14px;top:30px;bottom:-14px;border:1px solid var(--gold);z-index:0}
.wk .path .ss-fig img{position:relative;z-index:1;transform:rotate(3deg);filter:drop-shadow(0 22px 26px rgba(46,31,43,.25))}

/* where else I work: calmer, larger rows */
.wk #elsewhere .fact{padding:26px 0}
.wk #elsewhere dt{font-family:var(--font-display);font-weight:400;font-size:22px;color:var(--ink)}
.wk #elsewhere dd{font-size:18px;line-height:1.6}

/* a painted flower beside How we begin */
.wk .how-flower{position:absolute;right:2%;top:-14px;height:230px;width:auto;pointer-events:none}

@media(max-width:760px){
  .wk .wk-path,.wk #elsewhere,.wk #how,.wk .contact{padding:64px 0}
  .wk .how-flower{display:none}
  .wk .path::before{left:19px}
  .wk .path li{grid-template-columns:40px minmax(0,1fr);gap:14px}
  .wk .path .n{width:40px;height:40px;font-size:19px}
  .wk .path li > .ss-card{grid-template-columns:1fr}
  .wk .path .ss-fig{width:min(70%,250px);justify-self:center;margin:24px 0 8px}
  .wk .path .ss-fig::before{left:24px}
}

/* One season, week by week: four Advent candles that light one at a time */
.wk .season{background:#25244F;color:#F4EADA;padding:clamp(80px,10vw,128px) 0;position:relative;overflow:hidden}
.wk .season::before{content:"";position:absolute;left:50%;top:48%;width:min(900px,120%);height:420px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(244,182,63,.16),transparent 72%);pointer-events:none}
.wk .season .wrap{position:relative}
.wk .season h2{color:#FFF8EE;font-size:clamp(34px,4.4vw,56px);line-height:1.06;letter-spacing:-0.02em;margin:0 0 18px}
.wk .season-lede{font-size:19px;line-height:1.6;color:#EADFCB;max-width:36em;margin:0 0 clamp(40px,5vw,64px)}
.wk .candles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px)}
.wk .candles li{text-align:left}
.wk .candle{display:block;width:60px;height:140px;margin:0 0 16px;overflow:visible}
.wk .candle .flame{transform-box:fill-box;transform-origin:50% 100%;opacity:0;transform:scale(.4);transition:opacity 1.2s ease,transform 1.2s ease;transition-delay:calc(var(--i) * .9s)}
.wk .season.lit .candle .flame{opacity:1;transform:scale(1);filter:drop-shadow(0 0 14px rgba(244,182,63,.75))}
.wk .candles .when{margin:0 0 4px;font-size:16px;color:#BFB4C9}
.wk .candles h3{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.1;color:#FFF8EE;margin:0 0 6px}
.wk .candles .theme{margin:0 0 14px;font-size:17px;font-weight:600;color:#FFE2B8}
.wk .candles .prayer{margin:0;font-family:var(--font-display);font-style:italic;font-size:19px;line-height:1.5;color:#F4EADA}
.wk .season-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin-top:clamp(44px,6vw,72px);padding-top:30px;border-top:1px solid rgba(244,234,218,.3)}
.wk .season-facts h4{font-family:var(--font-display);font-weight:400;font-size:22px;color:#FFF8EE;margin:0 0 8px}
.wk .season-facts p{margin:0;font-size:17px;line-height:1.6;color:#EADFCB;max-width:24em}
.wk .season-go{display:flex;flex-wrap:wrap;gap:6px 32px;margin:34px 0 0}
.wk .season .textlink{color:#FFE2B8;margin-left:0}
@media(max-width:1000px){.wk .candles{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px}.wk .season-facts{grid-template-columns:1fr}}
@media(max-width:560px){.wk .candles{grid-template-columns:1fr}.wk .candles li{display:grid;grid-template-columns:60px 1fr;column-gap:20px}.wk .candles li .candle{grid-row:1 / span 4;margin:0}}
@media(prefers-reduced-motion:reduce){.wk .candle .flame{transition:none}}

/* The Brigid cross, used more */
.season-mark{display:block;width:84px;height:84px;margin:0 0 22px}
.mark-wm{position:absolute;right:clamp(-40px,2vw,40px);bottom:clamp(-60px,-2vw,-20px);width:clamp(180px,24vw,320px);height:auto;opacity:.16;pointer-events:none;z-index:0}
.belief,.sd-sab{position:relative;overflow:hidden}
.belief>.wrap,.sd-sab>.wrap{position:relative;z-index:1}
.page-mark{display:block;width:64px;height:64px;margin:0 0 22px}
.foot-mark{width:56px;height:56px}
@media(max-width:760px){.mark-wm{opacity:.12}.season-mark{width:68px;height:68px}}

/* Organizations page: its own world, night indigo with candlelight, not the shared forest */
.wk .sd-hero{background:#25244F}
.wk .sd-hero::after{background:radial-gradient(ellipse 60% 70% at 78% 40%,rgba(244,182,63,.22),transparent 70%),linear-gradient(180deg,rgba(37,36,79,0) 60%,rgba(37,36,79,.6))}
.wk .sd-hero::before{display:none}
/* six-minute band: the question on its own line, the explanation beneath */
.six-band p{flex:1 1 380px;text-align:center}
.six-band strong{display:block;margin:0 0 4px}
.c3 .c3-top strong{display:block;margin:0 0 4px}

/* What I design: headline, subline, five steps */
.wk .path-sub{font-family:var(--font-display);font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.25;color:var(--ink-muted);margin:0 0 clamp(36px,4vw,56px)}

/* Chapter hand-offs: one quiet line pointing to the next page in the story */
.handoff{padding:clamp(48px,6vw,72px) 0;text-align:center}
.handoff p{margin:0 auto;max-width:34em;font-family:var(--font-display);font-style:italic;font-size:clamp(21px,2.4vw,28px);line-height:1.35;color:var(--ink)}
.handoff .textlink{font-family:var(--font-sans);font-style:normal;font-size:18px;display:inline-block;margin-left:10px}
.handoff{padding-bottom:clamp(72px,9vw,110px)}
.handoff .textlink{display:block;margin:16px 0 0}
.sd .handoff,.c3 .handoff,body .handoff{padding:clamp(56px,7vw,88px) 0 clamp(72px,9vw,110px)}

/* Spiritual direction: ways and group, designer pass */
.sd .sd-ways{padding:clamp(88px,10vw,136px) 0 clamp(88px,10vw,136px)}
.sd .sd-ways h2{margin-bottom:clamp(36px,4vw,56px)}
.sd .sd-ways .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto 1fr;gap:0 clamp(20px,2.4vw,32px);margin-top:0!important}
.sd .sd-ways .card{grid-row:span 3;display:grid;grid-template-rows:subgrid;background:#FFFDF8;border:1px solid var(--hairline);border-top:3px solid var(--gold);border-radius:4px;padding:clamp(24px,2.6vw,36px);box-shadow:0 10px 30px rgba(46,31,43,.06)}
.sd .sd-ways .who{align-self:start;font-size:15px}
.sd .sd-ways h3{margin:10px 0 16px}
.sd .sd-ways p{margin:0}
@media(max-width:900px){.sd .sd-ways .grid{grid-template-columns:1fr;grid-template-rows:none;gap:18px}.sd .sd-ways .card{grid-row:auto;display:block}}
.sd .sd-group{background:color-mix(in srgb,var(--marigold) 11%,var(--surface));padding:clamp(88px,10vw,128px) 0}
.sd .sd-group h2{margin-top:0}
.sd .rhythm li{position:relative;padding:24px 0 24px 0}
.sd .rhythm li strong{display:block}
.sd .sd-group .sd-note{background:#FFFDF8;border:1px solid var(--hairline);border-left:3px solid var(--gold);border-radius:0;padding:18px 20px;margin-top:28px}

/* Consolidated pages: expanders, the Work page belief band, fern strip on a lone forest band */
.wk .belief-photo{background-color:#25244F;background-image:linear-gradient(90deg,rgba(37,36,79,.93) 0%,rgba(37,36,79,.88) 52%,rgba(37,36,79,.62) 100%),url(img/autumn-woods.webp);background-size:cover;background-position:center 45%;padding:clamp(88px,10vw,128px) 0;color:#F7EEE2}
.wk .belief-photo .big{font-family:var(--font-display);font-style:italic;font-size:clamp(24px,3.4vw,34px);line-height:1.35;max-width:820px;color:#FFF8EE;margin:0 0 28px}
.wk .belief-photo .belief-org{font-family:var(--font-display);font-style:normal;font-weight:400;font-size:clamp(22px,2.6vw,32px);line-height:1.3;color:#FFE2B8;border-left:3px solid #E3A92F;padding-left:22px;margin:0;max-width:760px}
.wk .belief-photo .muted{color:#F1E8F0;font-size:18px;line-height:29px;margin-top:28px;max-width:640px}
.wk .belief-photo a{color:#FFB9A5;font-weight:600}
.sd .sd-forest .sd-hurt{padding:clamp(80px,9vw,120px) 0 clamp(150px,15vw,200px);position:relative}
.sd .sd-forest .sd-hurt::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:72px;background:url(img/ferns-strip.svg) repeat-x 0 100%/auto 72px;pointer-events:none}
.sd .sd-forest .sd-know{padding:clamp(80px,9vw,120px) 0 clamp(150px,15vw,200px)}
.sd .sd-morelist{margin-top:clamp(36px,4vw,56px);border-bottom:1px solid var(--hairline)}
.sd .sd-more{border-top:1px solid var(--hairline)}
.sd .sd-more summary{cursor:pointer;list-style:none;padding:26px 44px 26px 0;position:relative;font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);line-height:1.2;color:var(--ink)}
.sd .sd-more summary::-webkit-details-marker{display:none}
.sd .sd-more summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--font-sans);font-size:30px;color:var(--ink-muted)}
.sd .sd-more[open] summary::after{content:"\2212"}
.sd .sd-more summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.sd .sd-more-body{padding:6px 0 clamp(36px,4vw,56px);max-width:860px}
.sd .sd-more-body .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;margin:28px 0 0}
.sd .sd-more-body .step{border-top:1px solid var(--hairline);padding-top:16px}
.sd .sd-more-body .step h3{font-size:22px;margin:0 0 8px}
.sd .sd-more-body .step p{font-size:17px;line-height:1.55;margin:0}
.sd .sd-more-body .wide{margin:24px 0 0}
.sd .sd-more-body .wide img{width:100%;height:clamp(200px,28vw,340px);object-fit:cover;border-radius:2px}
.sd .sd-faq{padding:0 0 clamp(72px,8vw,104px)}
.sd .sd-faq-body h3{margin:28px 0 6px;font-size:22px}
.sd .sd-faq-body p{margin:0}
@media(max-width:900px){.sd .sd-more-body .steps{grid-template-columns:1fr}}
.sd .sd-more-body .sd-intro{color:var(--ink);max-width:none;margin:0 0 8px;font-size:19px;line-height:1.6}
.sd .sd-more-body .sd-note{color:var(--ink-muted)}
.sd .sd-more-body .step p{color:var(--ink)}
.sd .sd-more-body .rhythm{margin-top:20px}

/* First conversation: standing in a field of paintbrush flowers */
.c3 .c3-first{position:relative;overflow:hidden;padding-bottom:clamp(200px,24vw,320px)}
.c3 .c3-first .wrap{position:relative;z-index:1}
.c3 .first-field{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(190px,24vw,330px);object-fit:cover;object-position:50% 100%;pointer-events:none;z-index:0}
.c3 .c3-first{padding-bottom:clamp(250px,30vw,430px)}
.c3 .first-field{height:auto;aspect-ratio:1400/440;object-fit:contain;object-position:50% 100%}

/* Footer: a field of paintbrush flowers instead of ferns */
.c3 .c3-first{padding-bottom:clamp(72px,8vw,112px)}
footer{margin-top:clamp(120px,13vw,170px)}
footer::before{top:calc(-1 * clamp(120px,13vw,170px));height:clamp(120px,13vw,170px);background:url(img/paintbrush-field.svg) repeat-x 50% 100%/auto 100%;opacity:1}

/* Work: what could grow when a whole group comes out of hiding (her words) */
.wk .wk-souls{padding:clamp(88px,11vw,150px) 0;text-align:center;background:#FBF4EA}
.wk .souls-q{font-family:var(--font-display);font-style:italic;font-size:clamp(28px,4vw,48px);line-height:1.25;max-width:20em;margin:0 auto clamp(28px,3.4vw,44px);color:var(--ink)}
.wk .souls-a{display:flex;flex-wrap:wrap;justify-content:center;gap:6px clamp(18px,3vw,40px);margin:0;font-family:var(--font-display);font-size:clamp(26px,3.6vw,44px);line-height:1.2}
.wk .souls-a span:nth-child(1){color:#C23A6E}
.wk .souls-a span:nth-child(2){color:#D9402B}
.wk .souls-a span:nth-child(3){color:#B8791F}

.wk .souls-img{display:block;width:min(100%,1180px);height:auto;margin:0 auto clamp(14px,2vw,24px)}
.wk .souls-verse{margin:0 auto clamp(28px,3.4vw,44px);max-width:32em;font-size:17px;line-height:1.5;color:var(--ink-muted);font-style:italic}

/* Work: the souls scene as a woods band with ferns, like the front page (the cartoon animals were dropped) */
.wk .wk-souls{position:relative;overflow:hidden;background:linear-gradient(rgba(14,26,20,.84),rgba(14,26,20,.74)),url(img/autumn-woods.webp) 50% 40%/cover;color:#F4EADA;padding:clamp(88px,11vw,150px) 0 clamp(150px,15vw,200px)}
.wk .wk-souls::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:72px;background:url(img/ferns-strip.svg) repeat-x 0 100%/auto 72px;pointer-events:none}
.wk .souls-q{color:#FFF8EE}
.wk .souls-verse{color:#EADFCB;font-size:18px}
.wk .souls-a span:nth-child(1){color:#F4A3BF}
.wk .souls-a span:nth-child(2){color:#FF9A80}
.wk .souls-a span:nth-child(3){color:#F4C15A}
.wk .sd-faithplain{padding:clamp(72px,8vw,112px) 0}

.wk .souls-img{display:block;width:min(100%,1100px);height:auto;margin:0 auto clamp(14px,2vw,24px)}

.wk .souls-fig{position:relative;margin:0 auto clamp(22px,3vw,36px);width:min(calc(100% - 28px),920px)}
.wk .souls-fig::before{content:"";position:absolute;inset:16px -14px -16px 14px;border:1px solid var(--gold);z-index:0}
.wk .souls-img{position:relative;z-index:1;display:block;width:100%;height:auto;margin:0;border-radius:2px;box-shadow:0 18px 40px rgba(0,0,0,.35)}

/* First conversation: her photo of hands around a mug */
.c3 .first-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.c3 .first-photo{position:relative;margin:0 20px 20px 0}
.c3 .first-photo::before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--gold);z-index:0}
.c3 .first-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;object-position:60% 55%;border-radius:2px;box-shadow:0 18px 40px rgba(46,31,43,.18)}
@media(max-width:860px){.c3 .first-grid{grid-template-columns:1fr}.c3 .first-photo{max-width:520px}}
.wk .season a{color:#FFE2B8;font-weight:600;text-decoration-thickness:2px;text-underline-offset:4px}
.wk .season a:hover{color:#FFF8EE}

/* Larger tap targets for the menu and footer links */
footer .foot-links a{display:inline-block;padding:10px 4px}
@media(min-width:1441px){header nav a.link{display:inline-block;padding:10px 4px}}
footer .fine a,.cf-alt a,.cf-note a{display:inline-block;padding:8px 2px}

/* Privacy choices banner (appears only when analytics is switched on in consent.js) */
.pc-banner{position:fixed;left:16px;bottom:16px;right:16px;max-width:440px;z-index:60;background:#FFFDF8;color:var(--ink);border:1px solid var(--hairline);border-radius:6px;box-shadow:0 18px 40px rgba(46,31,43,.22);padding:18px 20px}
.pc-banner p{margin:0 0 14px;font-size:16px;line-height:1.5}
.pc-row{display:flex;gap:10px;flex-wrap:wrap}
.pc-btn{flex:1 1 140px;min-height:44px;padding:10px 16px;font:600 16px var(--font-sans);border-radius:8px;border:1px solid var(--action,#2E4F6B);background:#fff;color:var(--action,#2E4F6B);cursor:pointer}
.pc-btn:hover{background:#F1F4F7}
.pc-btn:focus-visible,.pc-link:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.pc-link{display:inline-block;margin-top:12px;font-size:15px}

/* About: story with a photo, a timeline, and the full record in expanders */
.about-story .about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start}
.about-story h2{font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:-0.02em;margin:0 0 28px}
.about-story .about-text p{font-size:19px;line-height:1.65;max-width:34em}
.about-photo{position:relative;margin:6px 20px 20px 0}
.about-photo::before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--gold);z-index:0}
.about-photo img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:2px;box-shadow:0 18px 40px rgba(46,31,43,.18)}
.about-photo figcaption{position:relative;z-index:1;margin-top:34px;font-size:17px;line-height:1.55;color:var(--ink-muted)}
.about-photo figcaption strong{display:block;font-family:var(--font-display);font-weight:400;font-size:24px;color:var(--ink);margin-bottom:4px}
@media(max-width:860px){.about-story .about-grid{grid-template-columns:1fr}.about-photo{max-width:420px}}
.about-path{padding:clamp(80px,9vw,120px) 0}
.about-path h2{margin:0 0 clamp(32px,4vw,52px)}
.tl{list-style:none;margin:0;padding:0 0 0 28px;position:relative;max-width:820px}
.tl::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;background:var(--gold)}
.tl li{position:relative;display:grid;grid-template-columns:minmax(0,10.5em) minmax(0,1fr);gap:6px 28px;padding:14px 0}
.tl li::before{content:"";position:absolute;left:-28px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--cream,#FBF4EA);border:3px solid var(--scarlet,#D9402B)}
.tl li:last-child::before{background:var(--scarlet,#D9402B)}
.tl-when{font-size:16px;color:var(--ink-muted);padding-top:3px}
.tl-what{font-family:var(--font-display);font-size:clamp(20px,2.2vw,26px);line-height:1.25;color:var(--ink)}
@media(max-width:640px){.tl li{grid-template-columns:1fr;gap:2px}}
.about-record{padding:0 0 clamp(80px,9vw,120px)}
.about-record h2{margin:0 0 10px}
.about-record>.wrap>.muted{margin:0 0 clamp(24px,3vw,36px)}
.rec{border-top:1px solid var(--hairline)}
.rec:last-of-type{border-bottom:1px solid var(--hairline)}
.rec summary{cursor:pointer;list-style:none;padding:24px 44px 24px 0;position:relative;font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);line-height:1.2;color:var(--ink)}
.rec summary::-webkit-details-marker{display:none}
.rec summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--font-sans);font-size:30px;color:var(--ink-muted)}
.rec[open] summary::after{content:"\2212"}
.rec summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.rec-body{padding:4px 0 clamp(32px,4vw,48px)}

.about-photo::before{display:none}
.about-frame{position:relative}
.about-frame::before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--gold);z-index:0}
.about-story h2{font-size:clamp(30px,3.5vw,46px);line-height:1.12}

/* About: what I bring, in four groups */
.about-skills{padding:clamp(72px,8vw,104px) 0;background:var(--surface-warm,#F7EFE2)}
.about-skills h2{margin:0 0 clamp(28px,3.4vw,44px)}
.skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,52px) clamp(32px,5vw,72px)}
.skill-group h3{font-family:var(--font-sans);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.skill-list{list-style:none;margin:0;padding:0}
.skill-list li{font-family:var(--font-display);font-size:clamp(20px,2vw,24px);line-height:1.3;color:var(--ink);padding:7px 0}
@media(max-width:760px){.skill-groups{grid-template-columns:1fr}}

/* About: the turn, in her words */
.about-turn{padding:clamp(80px,9vw,120px) 0 clamp(40px,5vw,64px)}
.about-turn .turn-kicker{margin:0 0 14px;font-size:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}
.about-turn h2{font-size:clamp(30px,3.8vw,48px);line-height:1.12;letter-spacing:-0.02em;margin:0 0 clamp(24px,3vw,36px)}
.about-turn p{font-size:19px;line-height:1.7;max-width:34em}

/* Pull-out quote in step 3 */
.wk .pull{margin:30px 0 8px;padding:8px 0 8px 26px;border-left:3px solid var(--gold);font-family:var(--font-display);font-style:italic;font-size:clamp(24px,2.8vw,32px);line-height:1.3;color:var(--ink);max-width:22em}

/* Souls scene: the joy quote closes it */
.wk .souls-joy{margin:clamp(36px,4.4vw,56px) auto 0;max-width:24em;font-family:var(--font-display);font-style:italic;font-size:clamp(24px,2.8vw,32px);line-height:1.3;color:#FFF8EE;padding-top:clamp(28px,3.4vw,40px);border-top:1px solid rgba(255,226,184,.4)}

/* Advent banner: slim, quiet, closable */
.adv-banner{position:relative;background:#25244F;color:#F4EADA;padding:10px 52px 10px 20px;text-align:center}
.adv-banner[hidden]{display:none}
.adv-banner p{margin:0;font-size:16px;line-height:1.45}
.adv-banner strong{font-family:var(--font-display);font-weight:400;font-size:18px;color:#FFF8EE}
.adv-banner a{color:#FFE2B8;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;white-space:nowrap}
.adv-banner a:hover{color:#FFF8EE}
.adv-close{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:6px;background:transparent;color:#F4EADA;font-size:28px;line-height:1;cursor:pointer}
.adv-close:hover{background:rgba(244,234,218,.14)}
.adv-close:focus-visible,.adv-banner a:focus-visible{outline:3px solid #FFE2B8;outline-offset:2px}
@media(max-width:640px){.adv-banner{text-align:left;padding:10px 52px 10px 16px}.adv-banner a{white-space:normal}}

/* Batch: phone tops, tap targets, doors, scrims, about details, contact (Nov 2026) */

/* Audio band: one slim row on phones (index uses .c3-top, spiritual direction uses .six-band) */
@media(max-width:600px){
  .six-band,.c3 .c3-top{flex-wrap:nowrap;justify-content:space-between;gap:12px;padding:0 4px 0 16px;min-height:44px}
  .six-band p,.c3 .c3-top p{flex:1 1 auto;text-align:left;font-size:13.5px;line-height:1.2;max-width:none}
  .six-band strong,.c3 .c3-top strong{display:inline;margin:0;font-size:14px;line-height:1.2}
  .six-band .btn,.c3 .c3-top .btn{flex:none;border:0;background:none;box-shadow:none;border-radius:0;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;font-size:15px;color:#FFE2B8;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
  .six-band .btn:hover,.c3 .c3-top .btn:hover{background:none;color:#fff}
}

/* Tap targets: inline text links are at least 44px tall on phones, squiggle kept */
@media(max-width:600px){
  .textlink,a.go{display:inline-flex;align-items:center;min-height:44px;padding-top:0;padding-bottom:0}
  .adv-banner a{display:inline-flex;align-items:center;min-height:44px}
  .cf-alt a,.cf-note a{display:inline-flex;align-items:center;min-height:44px}
}

/* Home hero on phones: shorter intro, button up, the two links share a row */
@media(max-width:600px){
  .c3 .c3-hero{padding:28px 0 40px}
  .c3 .c3-grid{gap:28px}
  .c3 h1{margin-bottom:14px}
  .c3 .c3-hero .lede{font-size:17px;line-height:1.5;margin:0 0 18px}
  .c3 .c3-actions{gap:4px 8px}
  .c3 .c3-actions .btn{flex:1 0 100%;text-align:center}
  .c3 .c3-actions .textlink{flex:1 1 0;justify-content:center;white-space:normal;text-align:center}
}

/* Scrims under text that sits on moving or bright pictures */
.c3 .c3-grid > div:first-child{position:relative}
.c3 .c3-grid > div:first-child::before{content:"";position:absolute;inset:-28px -32px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 40% 50%,rgba(14,26,20,.55) 0%,rgba(14,26,20,.4) 55%,rgba(14,26,20,0) 100%)}

/* Which sounds like you: no tinted cards, hairline rules, capped discs */
.c3 .blooms{gap:0;align-items:start}
.c3 .blooms .bloom,.c3 .blooms .bloom:hover,.c3 .blooms .bloom:nth-child(n),.c3 .blooms .bloom:nth-child(n):hover,.c3 .blooms .bloom-two:hover{background:none;border-radius:0}
.c3 .blooms .bloom{padding:40px 0;border-top:1px solid var(--hairline)}
.c3 .blooms .bloom:first-child{border-top:0;padding-top:8px}
.c3 .blooms .bloom:last-child{padding-bottom:0}
.c3 .bloom .stage{width:min(100%,320px)}
.c3 .bloom-two .go.stretch::after{border-radius:0}
@media(min-width:700px) and (max-width:900px){
  .c3 .blooms .bloom{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);column-gap:36px;align-content:center;grid-auto-rows:min-content}
  .c3 .blooms .bloom .stage{grid-column:1;grid-row:1 / span 3;margin:0}
  .c3 .blooms .bloom > :not(.stage){grid-column:2}
  .c3 .blooms .bloom .go{margin-top:0;justify-self:start}
}
@media(min-width:901px){
  .c3 .blooms{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:0}
  .c3 .blooms .bloom,.c3 .blooms .bloom:first-child,.c3 .blooms .bloom:last-child{border-top:0;padding:8px 36px 0}
  .c3 .blooms .bloom:first-child{padding-left:0}
  .c3 .blooms .bloom:last-child{padding-right:0}
  .c3 .blooms .bloom + .bloom{border-left:1px solid var(--hairline)}
}

/* Work: step 3 keeps the same number column as the other steps on phones */
@media(max-width:760px){.wk .path li:has(> .ss-card){grid-template-columns:48px minmax(0,1fr)}}
@media(max-width:480px){.wk .path li:has(> .ss-card){grid-template-columns:40px minmax(0,1fr)}}

/* About: "What I bring" as open/close groups, first one open */
.about-skills .skill-groups{align-items:start;gap:0 clamp(32px,5vw,72px)}
.about-skills .skill-group{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-top:-1px}
.about-skills .skill-group summary{font-size:clamp(20px,2vw,24px);padding-top:18px;padding-bottom:18px}
.about-skills .skill-group .rec-body{padding-bottom:20px}

/* Contact: line under the form */
.cf-after{margin:18px 0 0;color:var(--ink-muted);font-size:16px}
