:root{color-scheme:dark;--bg:#111613;--surface:#1a211c;--text:#f0eee5;--muted:#abb0a5;--gold:#d2bd8e;--line:#354035;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.rose-builder{margin:22px 0 16px}.builder-count{font-size:12px;letter-spacing:.07em;color:var(--muted);margin-bottom:10px;font-variant-numeric:tabular-nums}.builder-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.reset-button{background:none;border:0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;min-height:44px;padding:8px 0}.reset-button:hover:not(:disabled){color:var(--gold)}.reset-button:disabled{cursor:default}.rose-builder .primary-button{min-width:170px}.chapter-copy .chapter-more{font-size:14px;text-align:left;margin-top:22px;max-width:370px}.chapter-more>p{font-size:14px;line-height:1.7;margin:12px 0;color:var(--muted)}.chapter-more>a{font-size:13px;color:var(--gold);text-underline-offset:4px}.chapter-more .control-block{margin:17px 0 6px}.new-circle{animation:reveal-circle .4s ease-out both}@keyframes reveal-circle{from{opacity:.15}to{opacity:1}}@media(max-width:720px){.rose-builder .primary-button{width:auto;flex:1}.chapter-copy .chapter-more{max-width:none}}
.music-player{display:flex;align-items:center;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;padding:17px 0;border-bottom:1px solid var(--line)}.music-title{display:flex;align-items:center;gap:13px}.music-symbol{font-size:27px;color:var(--gold)}.music-title strong{display:block;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.4}.music-title span:not(.music-symbol){display:block;color:var(--muted);font-size:12px;margin-top:2px}.music-player audio{display:block;width:320px;max-width:100%;height:42px;min-width:0}.music-player>p{flex-basis:100%;font-size:14px;color:var(--gold);margin:0}@media(max-width:720px){.music-player{gap:12px;padding:15px 0}.music-player audio{width:100%;height:44px}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}.site-shell{max-width:1360px;margin:auto;padding:0 56px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:29px 0 25px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:15px;align-items:center;flex-shrink:0;text-decoration:none}.brand-symbol{display:block;width:56px;height:56px;object-fit:contain;flex-shrink:0}.brand-name{font-family:var(--serif);font-size:17px;letter-spacing:.13em;line-height:1.25;font-weight:400}.header-note{font-size:13px;letter-spacing:.025em;color:var(--muted)}.chapter-nav{display:flex;gap:36px;justify-content:center;padding:25px 0 24px}.chapter-nav [role=tab]{position:relative;background:none;border:none;color:var(--muted);padding:7px 0;font-size:14px}.chapter-nav [role=tab] span{color:var(--gold);font-size:12px;margin-right:7px;font-variant-numeric:tabular-nums}.chapter-nav [role=tab][aria-selected=true]{color:var(--text)}.chapter-nav [role=tab][aria-selected=true]:after{content:'';position:absolute;height:1px;background:var(--gold);bottom:0;left:0;right:0}.experience{display:grid;grid-template-columns:1.13fr 1fr;gap:76px;align-items:center}.visual{position:relative;isolation:isolate;min-width:0;overflow:hidden;aspect-ratio:1/1.07;background:#252a22;border-radius:160px 160px 5px 5px}.church-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.68}.visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,21,16,.58),rgba(13,21,16,.22) 40%,rgba(13,21,16,.35) 65%,rgba(13,21,16,.94))}.visual:after{content:'';position:absolute;inset:14px;border:1px solid rgba(215,199,159,.2);border-radius:147px 147px 1px 1px;pointer-events:none}.visual-top{position:absolute;top:56px;left:30px;right:30px;text-align:center;display:flex;flex-direction:column;gap:8px;font-size:12px;letter-spacing:.13em;color:#e6d8b6;z-index:2}.visual-number{font-size:12px;letter-spacing:.1em;opacity:.7}.visual-bottom{position:absolute;bottom:31px;left:24px;right:24px;display:flex;flex-direction:column;gap:5px;text-align:center;z-index:2;font-family:var(--serif);font-size:18px}.visual-bottom .small-note{font-family:var(--sans);font-size:12px;letter-spacing:.035em;color:#bcbcad}#drawing{position:absolute;inset:10% 0 8%;width:100%;height:82%;overflow:visible}.diagram-line{stroke:#efddb0;stroke-width:1.4;fill:none;vector-effect:non-scaling-stroke}.diagram-faint{stroke:#e8dfca;stroke-opacity:.25;stroke-width:.8;fill:none;vector-effect:non-scaling-stroke}.diagram-fill{fill:#e1c48c;fill-opacity:.04;stroke:none}.diagram-glow{filter:drop-shadow(0 0 6px rgba(226,197,137,.3))}.chapter-copy{padding:24px 0;min-width:0}.eyebrow{margin:0 0 21px;font-size:12px;font-weight:500;letter-spacing:.13em;color:var(--gold)}.chapter-heading{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.5vw,63px);line-height:1.08;letter-spacing:-.045em;margin:0 0 23px}.chapter-heading em{font-weight:400;color:var(--gold)}.intro{font-size:17px;line-height:1.75;color:var(--muted);max-width:360px;margin:0 0 30px}.form-choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:27px}.choice{font-size:14px;padding:9px 14px;border-radius:5px;border:1px solid var(--line);background:transparent;color:var(--muted);transition:border-color .2s,background .2s,color .2s}.choice:hover{color:var(--text);border-color:#73816d}.choice.active{color:var(--text);background:#2a3228;border-color:#798366}.control-block{max-width:345px;margin-top:22px}.control-label{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:10px;color:var(--text)}output{color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:24px;margin:0;accent-color:var(--gold);cursor:pointer}.form-detail{font-size:14px;color:var(--muted);margin-top:14px;max-width:350px}.next-link{display:flex;align-items:center;gap:18px;background:none;border:0;border-bottom:1px solid var(--line);padding:7px 0 10px;margin-top:39px;color:var(--gold);font-size:14px;text-align:left}.next-link:hover{color:var(--text);border-color:var(--gold)}.next-link span{font-size:19px}.primary-button{display:flex;align-items:center;justify-content:center;gap:13px;background:var(--gold);color:#172016;font-size:14px;font-weight:500;padding:14px 21px;min-height:51px;border:1px solid var(--gold);border-radius:5px;transition:background .2s}.primary-button:hover{background:#e5d2ab}.play-icon{font-size:12px}.small-note{font-size:12px;color:var(--muted)}.audio-note{margin:11px 0 0;max-width:350px}.volume-block{margin-top:24px}.status{font-size:14px;color:var(--gold);max-width:350px;margin-bottom:0}.status:empty{display:none}.stillness-prompt{display:flex;align-items:center;gap:18px;margin:29px 0;color:var(--muted);font-size:14px}.minute-mark{font-family:var(--serif);font-size:32px;color:var(--gold);font-variant-numeric:tabular-nums;min-width:75px}footer{margin-top:36px;padding:19px 0 27px;border-top:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:30px;position:relative}footer>p{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:15px;margin:0}details{font-size:12px;color:var(--muted);text-align:right;max-width:510px}summary{cursor:pointer;color:var(--muted);white-space:nowrap}summary:hover{color:var(--gold)}.context-content{text-align:left;padding-top:10px;font-size:14px;line-height:1.7}.context-content p{margin:8px 0}.source-links{display:flex;flex-direction:column;gap:7px;padding-top:8px}.source-links a{text-underline-offset:4px;color:var(--gold)}.sound-ring{transform-origin:250px 250px}.is-playing .sound-ring{animation:resonate 5s ease-in-out infinite}.is-playing .sound-ring:nth-child(2n){animation-delay:-2.5s}.is-playing .still-circle{animation:stillness 9s ease-in-out infinite;transform-origin:250px 250px}@keyframes resonate{0%,100%{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}@keyframes stillness{0%,100%{transform:scale(.92);opacity:.5}50%{transform:scale(1.07);opacity:1}}
@media(min-width:1400px){.site-shell{padding:0 70px}.experience{gap:90px}}
@media(max-width:1000px){.site-shell{padding:0 32px}.experience{gap:40px}.visual{aspect-ratio:1/1.32;border-radius:130px 130px 5px 5px}.visual:after{border-radius:120px 120px 1px 1px}.intro{font-size:16px}.visual-top{top:45px}.visual-bottom{font-size:16px}.next-link{margin-top:27px}}
@media(max-width:720px){.site-shell{padding:0 22px}.site-header{padding:21px 0}.header-note{max-width:150px;text-align:right;font-size:12px}.chapter-nav{gap:24px;padding:20px 0}.chapter-nav [role=tab]{font-size:14px}.chapter-nav [role=tab] span{font-size:12px;margin-right:4px}.experience{grid-template-columns:1fr;gap:0}.visual{aspect-ratio:1.2/1;max-height:440px;border-radius:110px 110px 4px 4px}.visual:after{border-radius:99px 99px 1px 1px;inset:11px}.visual-top{top:27px;font-size:12px;gap:3px;letter-spacing:.08em}.visual-number{display:none}.visual-bottom{bottom:20px;font-size:15px}.visual-bottom .small-note{font-size:12px}#drawing{inset:8% 0 10%;height:82%}.chapter-copy{padding:31px 4px 4px}.chapter-heading{font-size:45px;line-height:1.09;margin-bottom:18px}.eyebrow{margin-bottom:15px}.intro{max-width:100%;margin-bottom:22px}.form-choices{margin-bottom:19px}.control-block{max-width:none}.form-detail{max-width:none}.next-link{margin-top:26px}.primary-button{width:100%}footer{display:block;margin-top:29px;padding-top:19px}footer>p{font-size:14px}details{text-align:left;margin-top:13px;max-width:none}.choice{min-height:44px}.stillness-prompt{margin:20px 0}.brand{gap:12px}.brand-symbol{width:48px;height:48px}.brand-name{font-size:15px}}
@media(max-width:360px){.site-shell{padding:0 16px}.chapter-nav{gap:13px}.visual{aspect-ratio:1.05/1}.visual-bottom{font-size:14px}.header-note{max-width:115px}.chapter-heading{font-size:40px}.brand-symbol{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.builder-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.builder-heading .builder-count{margin-bottom:0}.tone-toggle{background:none;border:1px solid var(--line);border-radius:5px;color:var(--gold);font-size:13px;padding:7px 10px;min-height:38px}.tone-toggle[aria-pressed="false"]{color:var(--muted)}.tone-toggle:hover{border-color:var(--gold)}@media(pointer:coarse){.tone-toggle{min-height:44px}}

/* Church visits and parish hosting. */
html{scroll-padding-top:24px}
.skip-link{position:absolute;top:8px;left:16px;z-index:10;padding:12px 18px;background:var(--gold);color:var(--bg);transform:translateY(-160%)}
.skip-link:focus{transform:none}
.header-links{display:flex;gap:24px;flex-wrap:wrap;font-size:.875rem;align-items:center}
.header-links a{color:var(--muted);text-decoration:none;padding:10px 0}
.header-links a:hover{color:var(--gold)}
.welcome{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:76px;padding:52px 0 36px}
.welcome .eyebrow{text-transform:uppercase;margin-bottom:16px}
h1{font:400 clamp(2.35rem,4.1vw,3.65rem)/1.12 var(--serif);letter-spacing:-.035em;margin:0}
h1 em,.section-intro h2 em,.invitation h2 em,.questions h2 em,.prepare-visit h3 em,.guide-title em{color:var(--gold);font-weight:400}
.welcome-copy>p{font-size:1rem;max-width:430px;margin:0 0 12px}
.welcome-copy .welcome-purpose{color:var(--muted)}
.welcome-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}
.primary-button,.secondary-button{text-decoration:none;font-size:.9375rem}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1px solid #717760;background:transparent;color:var(--text);border-radius:5px;padding:13px 20px;min-height:51px;font-weight:500}
.secondary-button:hover{border-color:var(--gold);background:var(--surface)}
.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--gold);font-size:.875rem;text-decoration:none;border-bottom:1px solid var(--line);padding:7px 0;min-height:44px}
.text-link:hover{color:var(--text);border-color:var(--gold)}
.quiet-link{margin-top:9px;border:0}
.chapter-question{color:var(--gold);font-size:.875rem;margin:0 0 7px}
.chapter-heading{margin-bottom:17px}
.chapter-nav [role=tab]{text-decoration:none}
.chapter-nav,#visit,#for-churches,#prepare-visit{scroll-margin-top:28px}
.section-intro{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:32px}
.section-intro .eyebrow{margin-bottom:14px}
.section-intro h2,.invitation h2,.questions h2{font:400 clamp(2rem,3.5vw,3rem)/1.15 var(--serif);letter-spacing:-.025em;margin:0}
.section-intro>p{max-width:360px;color:var(--muted);margin:0;font-size:1rem}
.visit-section{border-top:1px solid var(--line);margin-top:78px;padding-top:55px}
.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.visit-card{display:flex;flex-direction:column;align-items:start;min-width:0;border-top:1px solid #56604d;padding:25px 0 0}
.card-number{font:400 2.5rem/1 var(--serif);color:var(--gold);margin-bottom:25px}
.place-label{color:var(--gold);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 9px}
.visit-card h3{font:400 1.8rem/1.2 var(--serif);margin:0 0 15px}
.visit-card>p:not(.place-label){font-size:1rem;color:var(--muted);margin:0 0 20px}
.visit-card>p.card-note{font-size:.875rem;color:var(--gold);margin-top:auto;padding-top:6px}
.availability-note{font-size:.875rem;color:var(--muted);margin:12px 0 0;max-width:780px}
.prepare-visit{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:45px;padding-top:37px;border-top:1px solid var(--line)}
.prepare-visit h3{font:400 2rem/1.2 var(--serif);margin:0 0 16px}
.prepare-visit p,.visit-checklist{color:var(--muted);font-size:1rem}
.visit-checklist{padding-left:20px;line-height:1.9;margin-bottom:0}
.enquiry-card{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:24px;align-self:start}
.enquiry-card label{display:block;font-weight:500;margin-bottom:12px}
.enquiry-card textarea{display:block;width:100%;min-width:0;min-height:225px;background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--sans);padding:15px;border:1px solid #59624f;border-radius:3px;resize:vertical}
textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.enquiry-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:17px}
.enquiry-card .copy-note{font-size:.875rem;margin:12px 0 0}
.invitation{margin-top:65px;padding:39px 36px 31px;border:1px solid #626b52;background:linear-gradient(135deg,#222d21,var(--bg));border-radius:4px}
.invitation .eyebrow{margin-bottom:15px}
.host-intro{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:end;margin-bottom:35px}
.host-intro>p{color:var(--muted);margin:0}
.visit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0;margin:0}
.visit-steps li{display:flex;gap:13px;min-width:0}
.visit-steps li>span{font:400 1.15rem var(--serif);color:var(--gold);padding-top:3px}
.visit-steps h3{font-size:1rem;font-weight:500;margin:0 0 7px}
.visit-steps p{font-size:1rem;color:var(--muted);margin:0}
.invitation-end{border-top:1px solid #45513d;padding-top:25px;margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.invitation-end>p{font-size:1rem;color:var(--muted);max-width:560px;margin:0}
.invitation-end .primary-button{flex-shrink:0}
.questions{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;margin:65px 0}
.question-list details{font-size:1rem;max-width:none;margin:0;text-align:left;border-top:1px solid var(--line);padding:18px 0}
.question-list details:last-child{border-bottom:1px solid var(--line)}
.question-list summary{color:var(--text);white-space:normal;line-height:1.6;padding-right:10px}
.question-list p{margin:14px 0 0;color:var(--muted)}
footer{align-items:start}
.footer-motto{font:italic 1rem/1.6 var(--serif);color:var(--muted);margin:0}
.footer-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.875rem;margin-top:10px}
.footer-nav a{color:var(--gold);text-underline-offset:4px}
footer>details{font-size:.875rem;max-width:460px}
footer summary{white-space:normal}
.chapter-copy .chapter-more,.chapter-more>p,.context-content{font-size:1rem}
.audio-note{font-size:.875rem}
.guide-shell{max-width:960px;margin:0 auto;padding:0 36px}
.guide-header{margin-bottom:45px}
.guide-title{font:400 clamp(2.3rem,5vw,3.7rem)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 23px}
.guide-lead{color:var(--muted);font-size:1.125rem;max-width:700px}
.guide-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:25px 0 35px}
.guide-section{border-top:1px solid var(--line);padding-top:25px;margin-top:32px}
.guide-section h2{font:400 1.9rem/1.25 var(--serif);margin:0 0 18px}
.guide-section p,.guide-section li{color:var(--muted)}
.guide-section li+li{margin-top:9px}
.agenda{list-style:none;padding:0;margin:0}
.agenda li{display:grid;grid-template-columns:85px 1fr;gap:22px;padding:18px 0;border-top:1px solid var(--line)}
.agenda strong{color:var(--gold);font-weight:500}
.agenda h3{color:var(--text);font-size:1rem;margin:0 0 5px}
.agenda p{margin:0}
.guide-quote{margin:20px 0;padding:20px 25px;border-left:2px solid var(--gold);background:var(--surface)}
.guide-quote p{margin:0;color:var(--text)}
@media(min-width:1400px){.welcome{gap:90px}}
@media(max-width:1000px){.welcome{gap:40px}.visit-grid{gap:20px}.prepare-visit{gap:30px}.invitation{padding:32px 25px}.visit-steps{gap:20px}.invitation-end{align-items:start;flex-direction:column}.questions{gap:35px}.host-intro{gap:25px}}
@media(max-width:720px){
  .site-header{align-items:center;gap:20px;flex-wrap:wrap}.header-links{gap:18px;font-size:.875rem}
  .welcome{grid-template-columns:1fr;gap:22px;padding:32px 0 27px}h1{font-size:clamp(2.15rem,8.7vw,3.3rem)}
  .welcome-copy>p{max-width:none}.welcome-actions{gap:10px}.welcome-actions>a{flex:1 1 150px;width:auto}
  .visit-section{margin-top:48px;padding-top:33px}.section-intro{display:block;margin-bottom:28px}.section-intro>p{margin-top:17px;max-width:none}
  .visit-grid{grid-template-columns:1fr;gap:15px}.visit-card{padding-top:22px}.card-number{font-size:2rem;margin-bottom:16px}.visit-card h3{font-size:1.7rem}
  .prepare-visit{grid-template-columns:1fr;gap:25px;margin-top:30px;padding-top:28px}.enquiry-card{padding:20px}.enquiry-actions{gap:15px}
  .invitation{margin-top:45px;padding:28px 22px}.host-intro{grid-template-columns:1fr;gap:20px}.visit-steps{grid-template-columns:1fr;gap:24px}.invitation-end{gap:20px}.invitation h2{font-size:2rem}
  .questions{grid-template-columns:1fr;gap:25px;margin:45px 0}.question-list summary{font-size:1rem}
  .guide-shell{padding:0 22px}.guide-header{margin-bottom:30px}.guide-actions>*{width:100%}.agenda li{grid-template-columns:67px 1fr;gap:15px}
  footer>details{margin-top:22px;max-width:none}.footer-nav{gap:16px}
}
@media(max-width:380px){.header-links{width:100%;justify-content:space-between}.site-header{gap:12px}.enquiry-card{padding:16px}.enquiry-actions{align-items:stretch;flex-direction:column}}
@media print{
  :root{color-scheme:light;--bg:#fff;--surface:#fff;--text:#111;--muted:#333;--gold:#333;--line:#bbb}
  body{font-size:11pt}.guide-shell{max-width:none;padding:0}.guide-shell .site-header,.guide-actions,.guide-shell footer,.skip-link{display:none}
  .guide-title{font-size:26pt;margin-bottom:12pt}.guide-lead{font-size:11pt}.guide-section{margin-top:18pt;padding-top:12pt}.guide-section h2{font-size:16pt;break-after:avoid}
  .agenda li{padding:9pt 0;break-inside:avoid}.guide-section li{break-inside:avoid}.guide-quote{break-inside:avoid}a{text-decoration:none}
}
