
    :root{--ink:#233c35;--deep:#17372f;--deep2:#254b40;--moss:#6b7f70;--sage:#b8c6ad;--linen:#f8f6f0;--paper:#fffefa;--sand:#ede6d9;--clay:#b07960;--muted:#64716c;--line:#d9dcd1;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:105px}
    body{margin:0;background:var(--linen);font-family:var(--sans);color:var(--ink);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    button{font:inherit}
    a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cb895d;outline-offset:4px}
    .container{width:min(1200px,calc(100% - 72px));margin-inline:auto}
    .eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#718b7c}
    .eyebrow.dark{color:var(--moss)}
    h1,h2,h3,p{margin-top:0}
    h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.12}
    h1{font-size:clamp(48px,5.4vw,88px);margin-bottom:24px}
    h2{font-size:clamp(36px,3.5vw,55px);margin-bottom:19px}
    h3{font-size:clamp(27px,2.2vw,36px);margin-bottom:12px}
    p{margin-bottom:18px}
    .lead{font-size:19px;line-height:1.8;color:#4e6259;max-width:680px}
    .muted{color:var(--muted)}
    .demo-bar{background:#f0e4ce;color:#615644;text-align:center;font-size:12px;letter-spacing:.02em;padding:8px 18px}
    .demo-bar strong{font-weight:700}
    header{background:rgba(248,246,240,.97);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(35,60,53,.09);backdrop-filter:blur(10px)}
    .nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:86px}
    .logo{display:flex;align-items:center;gap:13px;white-space:nowrap}
    .logo-mark{width:43px;height:43px;border:1px solid #819688;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:29px;line-height:1;color:var(--deep);position:relative}
    .logo-mark:after{content:'';position:absolute;inset:5px;border:1px solid #c1cbb8;border-radius:50%}
    .logo-text{display:block;font-family:var(--serif);font-size:24px;letter-spacing:.025em;line-height:.97}
    .logo-text small{display:block;margin-top:8px;font-family:var(--sans);font-size:10px;letter-spacing:.33em;font-weight:700}
    .nav-links{display:flex;align-items:center;gap:23px}
    .nav-links>a:not(.nav-cta){font-size:13px;font-weight:600;color:#3c544b;white-space:nowrap;transition:color .2s}
    .nav-links>a:hover{color:#b47455}
    .nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:3px;background:var(--deep);color:#fff!important;padding:15px 23px;font-size:13px;font-weight:700;line-height:1.2;transition:background .2s,transform .2s;border:1px solid transparent;cursor:pointer}
    .nav-cta{padding:13px 17px;font-size:12px}
    .button:hover,.nav-cta:hover{background:#31594c;transform:translateY(-1px)}
    .button.secondary{color:var(--deep)!important;border:1px solid #9caf9e;background:transparent}
    .button.secondary:hover{background:#e9eee7}
    .button.light{background:#f2eadd;color:var(--deep)!important}
    .button.light:hover{background:#fff}
    .arrow{font-size:17px;font-weight:400}
    .menu-button{display:none;background:transparent;border:1px solid var(--line);color:var(--deep);padding:9px 11px;border-radius:3px;cursor:pointer}
    .section{padding:105px 0}
    .section-heading{max-width:780px;margin-bottom:43px}
    .section-heading .eyebrow{display:block;margin-bottom:16px}
    .section-heading h2{max-width:800px}
    .hero{min-height:680px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);background:var(--paper);overflow:hidden}
    .hero-copy{padding:112px max(42px,calc((100vw - 1200px)/2)) 100px max(42px,calc((100vw - 1200px)/2));padding-right:60px;position:relative;z-index:1}
    .hero .eyebrow{margin-bottom:25px;display:block}
    .hero-copy h1{max-width:680px}
    .hero-copy h1 em{font-weight:400;color:#9b7660}
    .hero-copy .lead{max-width:490px;font-size:18px}
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
    .hero-note{display:flex;align-items:center;gap:14px;margin-top:56px;border-top:1px solid #e4e6dc;padding-top:25px;max-width:480px;font-size:13px;color:#547065}
    .hero-note span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dbe6d5;color:#385a48;font-family:var(--serif);font-size:20px;flex:none}
    .hero-art{position:relative;min-height:690px;background:#a5b7a6;overflow:hidden}
    .hero-art svg{position:absolute;width:100%;height:100%;inset:0;display:block;object-fit:cover}
    .hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,37,30,0) 55%,rgba(15,40,31,.3) 100%)}
    .float-card{position:absolute;bottom:56px;left:25px;z-index:2;padding:27px 29px;background:#f8f5eb;box-shadow:0 18px 50px rgba(30,51,43,.13);max-width:275px}
    .float-card span{font-family:var(--serif);display:block;font-size:28px;line-height:1.16;margin-bottom:9px}
    .float-card p{font-size:12px;line-height:1.6;color:#67766f;margin:0}
    .ribbon{background:#eaece4;border-top:1px solid #dde1d7;border-bottom:1px solid #dde1d7}
    .ribbon-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;min-height:104px;align-items:center}
    .ribbon-grid div{display:flex;align-items:center;gap:13px;color:#52685c;font-size:13px}
    .ribbon-grid div:not(:last-child){border-right:1px solid #d1d9cc}
    .round-icon{width:35px;height:35px;border:1px solid #b2c2b3;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:19px;color:var(--deep);flex:none}
    .intro{background:var(--linen)}
    .intro-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:100px;align-items:start}
    .intro-quote{font-family:var(--serif);font-size:clamp(30px,2.6vw,43px);line-height:1.34;letter-spacing:-.02em;color:#344e42;padding:30px 0 0 35px;border-left:2px solid #b0bfae}
    .intro-body p{font-size:17px;color:#52645a;max-width:665px}
    .services{background:#edf0e8}
    .card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
    .service-card{background:var(--paper);min-height:355px;padding:34px 31px;display:flex;flex-direction:column;border:1px solid #e4e8de;transition:transform .2s,box-shadow .2s}
    .service-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,50,38,.07)}
    .service-card .num{font-family:var(--serif);font-style:italic;font-size:25px;color:#9b9d83;line-height:1;margin-bottom:50px}
    .service-card h3{font-size:31px}
    .service-card p{font-size:14px;color:#5d6b61;line-height:1.75;flex:1}
    .text-link{font-weight:700;text-decoration:underline;text-decoration-color:#aabcaa;text-underline-offset:6px;text-decoration-thickness:1px;font-size:13px;display:inline-flex;align-items:center;gap:8px}
    .special{background:var(--paper)}
    .special-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
    .special-card{display:grid;grid-template-columns:63px 1fr;gap:17px;padding:30px;border:1px solid #e1e6db;background:#fcfdf9}
    .special-card h3{font-size:25px;margin:0 0 9px}
    .special-card p{color:#667569;font-size:14px;margin:0}
    .special-icon{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:#e7ece3;color:var(--deep);font-family:var(--serif);font-size:22px}
    .programs{background:var(--deep);color:#f6f4ec;position:relative;overflow:hidden}
    .programs:after{content:'P';font-family:var(--serif);font-size:750px;font-style:italic;color:rgba(255,255,255,.027);position:absolute;right:-130px;top:-360px;pointer-events:none}
    .programs .eyebrow{color:#adc7b1}
    .programs .section-heading{position:relative;z-index:1}
    .programs .section-heading p{color:#c9d8cf}
    .program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1}
    .program-card{padding:31px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.21);min-height:385px;display:flex;flex-direction:column}
    .program-card .kicker{color:#c0cdbf;font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:37px}
    .program-card h3{font-size:31px}
    .program-card p{font-size:14px;color:#d9e0d7;line-height:1.75;flex:1}
    .stages{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}
    .stages span{border:1px solid rgba(255,255,255,.26);border-radius:18px;font-size:10px;padding:5px 9px;color:#e1e9de}
    .program-bottom{position:relative;z-index:1;max-width:810px;margin-top:30px;font-size:13px;color:#d6dfd7}
    .retreat{padding:0;background:#e9e3d5}
    .retreat-shell{display:grid;grid-template-columns:.92fr 1.08fr;min-height:515px}
    .retreat-art{position:relative;overflow:hidden;background:#879988}
    .retreat-art svg{width:100%;height:100%;min-height:515px;display:block}
    .retreat-copy{padding:85px 75px 70px 85px;display:flex;flex-direction:column;justify-content:center}
    .retreat-copy .eyebrow{margin-bottom:17px}
    .retreat-copy p{color:#55675e;font-size:16px;max-width:520px}
    .tag{display:inline-block;background:#d7d9ca;color:#365448;padding:6px 11px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;width:max-content;margin-bottom:22px}
    .people{background:#f9f8f3}
    .people-grid{display:grid;grid-template-columns:1fr 1fr;gap:29px}
    .person{display:grid;grid-template-columns:190px 1fr;gap:27px;padding:26px;background:#fff;border:1px solid #e8e9e1}
    .portrait{height:267px;background:linear-gradient(150deg,#bacabd 0%,#e8e2d3 65%,#c4cfbb 100%);display:grid;place-items:center;position:relative;overflow:hidden}
    .portrait:before{content:'';width:150px;height:150px;border:1px solid rgba(43,74,56,.19);border-radius:50%;position:absolute;top:-65px;right:-60px}
    .portrait .initial{font-family:var(--serif);font-style:italic;font-size:88px;color:#54715c;opacity:.45}
    .portrait .photo-note{position:absolute;bottom:17px;left:0;right:0;text-align:center;letter-spacing:.14em;font-size:9px;font-weight:700;color:#536659}
    .person h3{margin-top:7px;margin-bottom:7px;font-size:33px}
    .person .role{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7b8c7f;font-weight:700;margin:0 0 15px}
    .person p{font-size:13px;color:#63736a;line-height:1.8}
    .person .qualification{font-size:11px;line-height:1.7;color:#6f796f;border-top:1px solid #e7eae1;margin-top:17px;padding-top:12px}
    .belief{margin-top:40px;background:#e9eee6;padding:25px 32px;display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center}
    .belief strong{font-family:var(--serif);font-size:27px;font-weight:400}
    .belief p{margin:0;font-size:14px;color:#51665a}
    .visit{background:#eef0e7}
    .visit-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
    .visit-steps{counter-reset:steps;display:grid;gap:20px;margin-top:25px}
    .visit-step{display:grid;grid-template-columns:47px 1fr;gap:15px;align-items:start}
    .visit-step .stepnum{width:39px;height:39px;border:1px solid #9bad9d;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:19px}
    .visit-step strong{display:block;font-size:15px;margin:0 0 3px}
    .visit-step p{margin:0;font-size:13px;color:#627269}
    .fees{background:#fff;padding:35px;border:1px solid #dce2d9;box-shadow:0 17px 43px rgba(35,60,53,.055)}
    .fees h3{font-size:30px;margin-bottom:24px}
    .price-row{display:flex;justify-content:space-between;gap:10px;align-items:end;padding:15px 0;border-bottom:1px solid #e5e9e2}
    .price-row strong{display:block;font-size:15px}
    .price-row small{display:block;color:#78877a;font-size:11px;margin-top:4px}
    .price{font-family:var(--serif);font-size:30px;line-height:1}
    .fees p{font-size:12px;color:#65786b;margin:20px 0 0}
    .resources{background:#faf8f1}
    .resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .resource{background:#fff;border:1px solid #e5e7df;min-height:260px;padding:28px;display:flex;flex-direction:column}
    .resource .small{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8c977e;font-weight:700;margin-bottom:37px}
    .resource h3{font-size:27px}
    .resource p{font-size:13px;color:#6a796d;flex:1}
    .faq{background:#f1f3ec}
    .faq-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
    .faq-list details{border-bottom:1px solid #d4dbd1;padding:20px 0}
    .faq-list details:first-child{border-top:1px solid #d4dbd1}
    .faq-list summary{cursor:pointer;list-style:none;font-weight:600;font-size:16px;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .faq-list summary::-webkit-details-marker{display:none}
    .faq-list summary:after{content:'+';font-family:var(--serif);font-size:25px;color:#728879;font-weight:400}
    .faq-list details[open] summary:after{content:'−'}
    .faq-list details p{font-size:14px;color:#627367;padding:7px 32px 0 0;margin:0}
    .contact{background:var(--deep);color:#f8f7ee;padding:90px 0 85px}
    .contact-inner{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}
    .contact h2{max-width:590px}
    .contact p{color:#d0ddd2;max-width:525px}
    .contact .eyebrow{color:#bac9b7;margin-bottom:20px;display:block}
    .contact-links{background:rgba(255,255,255,.075);padding:33px;border:1px solid rgba(255,255,255,.2)}
    .contact-links .label{font-size:10px;letter-spacing:.15em;color:#cadacd;text-transform:uppercase}
    .contact-links .big{display:block;color:white;font-family:var(--serif);font-size:clamp(18px,2.3vw,27px);margin:7px 0 21px;word-break:break-word}
    .contact-links .big:hover{text-decoration:underline;text-underline-offset:5px}
    .contact-links .fine{font-size:12px;color:#d6dfd7;line-height:1.65}
    footer{background:#112e27;color:#d0ded2;padding:40px 0 24px}
    .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px}
    footer .logo-text,footer .logo-mark{color:#e8eee4}
    footer .logo-mark{border-color:#849c8b}
    footer p,footer a{font-size:12px;color:#bdcfc0;line-height:1.8}
    footer a:hover{text-decoration:underline}
    footer nav{display:flex;flex-direction:column;align-items:start;gap:9px}
    footer .foothead{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#fff;font-weight:700;margin-bottom:13px}
    .footer-bottom{margin-top:35px;border-top:1px solid rgba(255,255,255,.16);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#adc0b3;font-size:11px}
    .smallprint{font-size:11px;color:#67786a;line-height:1.6}
    .concept-note{padding:25px 0;background:#efeadc;color:#5d665e;font-size:12px}
    .concept-note .container{display:flex;gap:16px;align-items:start}
    .concept-note strong{font-weight:700;flex:none;color:#3d594a}
    @media(max-width:1100px){.nav-links{gap:13px}.nav-links>a:not(.nav-cta){font-size:12px}.nav-wrap{min-height:76px}.logo-text{font-size:20px}.hero-copy{padding:92px 40px}.float-card{left:22px}.person{grid-template-columns:135px 1fr}.portrait{height:250px}.program-card{padding:25px}}
    @media(max-width:880px){.container{width:min(100% - 44px,720px)}.menu-button{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 25px 25px;background:var(--linen);border-bottom:1px solid #dce1d7;box-shadow:0 22px 20px rgba(12,39,29,.09);align-items:stretch;gap:0;flex-direction:column}.nav-links.is-open{display:flex}.nav-links a{padding:11px 6px;font-size:14px!important}.nav-links .nav-cta{margin-top:8px;padding:15px!important}.section{padding:75px 0}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 35px 50px}.hero-art{min-height:440px}.float-card{left:auto;right:22px;bottom:23px;max-width:250px}.ribbon-grid{min-height:90px}.ribbon-grid div{font-size:11px}.intro-layout{gap:40px}.card-grid,.program-grid,.resource-grid{grid-template-columns:1fr 1fr}.card-grid .service-card:last-child,.program-grid .program-card:last-child,.resource-grid .resource:last-child{grid-column:span 2}.retreat-shell{grid-template-columns:1fr}.retreat-art svg{max-height:370px;min-height:370px}.retreat-copy{padding:65px 35px}.people-grid{grid-template-columns:1fr}.person{grid-template-columns:190px 1fr}.visit-wrap{gap:30px}.faq-wrap{gap:35px}.contact-inner{gap:45px}}
    @media(max-width:610px){.container{width:calc(100% - 36px)}.demo-bar{font-size:10px}.logo-mark{width:35px;height:35px;font-size:24px}.logo-text{font-size:19px}.logo-text small{font-size:8px;letter-spacing:.24em}.hero-copy{padding:65px 24px 45px}.hero-copy h1{font-size:clamp(44px,11.7vw,64px)}.hero-copy .lead{font-size:16px}.hero-note{margin-top:34px}.hero-art{min-height:370px}.float-card{padding:17px 19px;max-width:210px}.float-card span{font-size:22px}.ribbon-grid{grid-template-columns:1fr;gap:0;padding:13px 0}.ribbon-grid div{border:0!important;padding:8px 0;font-size:12px}.intro-layout,.special-grid,.visit-wrap,.faq-wrap,.contact-inner,.footer-grid{grid-template-columns:1fr}.intro-layout{gap:30px}.intro-quote{font-size:32px;padding-left:23px}.card-grid,.program-grid,.resource-grid{grid-template-columns:1fr}.card-grid .service-card:last-child,.program-grid .program-card:last-child,.resource-grid .resource:last-child{grid-column:auto}.service-card,.program-card{min-height:auto}.service-card .num{margin-bottom:35px}.special-card{grid-template-columns:50px 1fr;padding:22px;gap:12px}.special-icon{width:46px;height:46px}.special-card h3{font-size:23px}.retreat-art svg{min-height:320px;max-height:320px}.retreat-copy{padding:55px 24px}.person{grid-template-columns:110px 1fr;gap:15px;padding:14px}.portrait{height:190px}.portrait .initial{font-size:65px}.person h3{font-size:27px}.person .qualification{font-size:10px}.belief{grid-template-columns:1fr;gap:10px;padding:24px}.visit-wrap{gap:37px}.contact{padding:70px 0}.footer-grid{gap:28px}.footer-bottom{flex-direction:column}.concept-note .container{flex-direction:column;gap:4px}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
  
/* Multi-page expansion: preserve original design language */
.nav-links a[aria-current="page"]{color:#a87157!important;text-decoration:underline;text-underline-offset:8px}
.detail-hero{padding:79px 0 75px;background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.detail-hero:after{content:"";position:absolute;right:-120px;top:-210px;width:540px;height:540px;border:1px solid #dde7dc;border-radius:50%;pointer-events:none}
.detail-hero .eyebrow{display:block;margin-bottom:13px}
.detail-hero h1{font-size:clamp(45px,5.2vw,72px);margin:20px 0 20px;max-width:940px}
.detail-hero .lead{max-width:790px;margin-bottom:13px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;color:#65786b}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.detail-shell{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:70px;padding-top:70px;padding-bottom:98px;align-items:start}
.detail-main{min-width:0}.detail-main h2{font-size:clamp(31px,3vw,43px);margin:0 0 20px}.detail-main h3{font-size:clamp(24px,2.2vw,32px);margin-top:27px}.detail-main p,.detail-main li{font-size:16px;color:#52665a;line-height:1.83}.detail-main p{margin-bottom:18px}
.detail-main ul{padding-left:22px;margin:4px 0 25px}.detail-main li{padding-left:3px;margin:6px 0}
.detail-main > section:not(:first-child){margin-top:44px;padding-top:39px;border-top:1px solid #dfe5da}
.detail-main .eyebrow{margin-bottom:12px;display:block}
.detail-main .smallprint{font-size:13px}
.detail-sidebar{position:sticky;top:119px}
.sidebar-panel{border:1px solid #dfe6da;background:#fff;padding:28px;margin-bottom:16px}
.sidebar-panel h3{font-size:26px;margin:0 0 17px}.sidebar-panel a:not(.button){display:block;font-size:13px;font-weight:600;border-bottom:1px solid #e9eee7;padding:10px 0;color:#355748}
.sidebar-panel a:not(.button):hover{text-decoration:underline;text-underline-offset:4px}
.sidebar-panel p{font-size:13px;color:#65766b}
.sidebar-panel .button{width:100%;font-size:12px}
.sidebar-panel.tinted{background:#e9efe7}
.panel{background:#edf1e9;border-left:3px solid #8fa68d;padding:24px 27px;margin:25px 0}
.panel p:last-child{margin-bottom:0}
.panel strong{display:block;margin-bottom:5px}
.panel.warm{background:#f0eadf;border-color:#c69b79}
.qual-group{padding:22px 0;border-bottom:1px solid var(--line)}
.qual-group:last-child{border-bottom:0}
.qual-group h3{margin:0 0 11px;font-size:25px}
.qual-group ul{margin-bottom:5px}
.tagline-row{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 9px}
.tagline-row span{border:1px solid #bfccbd;border-radius:40px;padding:5px 12px;color:#54705e;font-size:12px}
.detail-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:24px 0}
.tile{background:#fff;border:1px solid #dfe6da;padding:24px;display:flex;flex-direction:column;min-height:180px;transition:background .2s,transform .2s}
.tile:hover{transform:translateY(-3px);background:#f7faf5}
.tile .eyebrow{font-size:10px}
.tile strong{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.2;display:block;margin:12px 0}
.tile small{color:#5f7566;line-height:1.6}
.tile .text-link{margin-top:auto;padding-top:15px}
.call-to-action{padding:67px 0;background:#e7eee5}
.call-to-action .container{display:flex;align-items:center;justify-content:space-between;gap:35px}
.call-to-action h2{font-size:clamp(33px,3.6vw,48px);margin-bottom:10px}
.call-to-action p{max-width:670px;margin:0;color:#5c7163}
.review-note{border:1px dashed #bea784;background:#f8f1e3;padding:20px 23px;margin:22px 0;color:#665744}
.review-note strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.review-note p,.review-note li{font-size:13px;color:#665744;margin:0;line-height:1.65}
.profile-heading{display:flex;gap:24px;align-items:start}
.profile-placeholder{width:145px;height:176px;background:linear-gradient(130deg,#b9cbbb,#ede7d8);display:grid;place-items:center;flex:none;font-family:var(--serif);font-size:79px;font-style:italic;color:#6b8570;position:relative}
.profile-placeholder span{position:absolute;bottom:8px;font:700 8px var(--sans);letter-spacing:.12em}
.detail-main details{border-bottom:1px solid #dce3d8;padding:15px 0}
.detail-main details summary{cursor:pointer;font-weight:650;color:var(--deep);font-size:16px}
.detail-main details p{font-size:14px;padding-top:12px}
.editor-flag{display:inline-block;background:#f2e5cc;color:#7a5e3b;border-radius:2px;padding:3px 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;vertical-align:middle}
.site-map{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:24px 0}
.site-map a{border:1px solid #dce4da;background:#fff;padding:18px;min-height:115px;display:block}
.site-map a strong{display:block;font-size:15px;color:var(--deep)}
.site-map a span{font-size:12px;color:#748075;display:block;margin-top:9px}
.quick-rail{background:#f4f5ed;border-top:1px solid #e5e9e0;padding:17px 0}.quick-rail .container{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.quick-rail strong{font-size:12px;color:#68796d;margin-right:10px}.quick-rail a{border:1px solid #cbd7c9;background:#fff;border-radius:28px;padding:7px 12px;font-size:12px;color:#445b4f}
.more-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9ab49d;margin-top:13px}
.special-card .text-link{margin-top:13px}
.program-card .text-link{color:#f8f6ee;text-decoration-color:#b9ccbe;margin-top:17px}
.site-note{background:#ede7d8;padding:16px 0;font-size:12px;color:#6e6755}
.site-note a{text-decoration:underline}
@media(max-width:1000px){.detail-shell{gap:30px;grid-template-columns:minmax(0,1fr) 240px}.detail-sidebar{top:105px}.sidebar-panel{padding:20px}}
@media(max-width:780px){.detail-shell{grid-template-columns:1fr;gap:15px;padding-top:44px}.detail-sidebar{position:static}.detail-hero{padding:55px 0}.call-to-action .container{flex-direction:column;align-items:start}.site-map{grid-template-columns:repeat(2,1fr)}}
@media(max-width:550px){.detail-tiles,.site-map{grid-template-columns:1fr}.detail-hero h1{font-size:44px}.detail-shell{padding-bottom:60px}.profile-heading{flex-direction:column}.profile-placeholder{height:155px;width:145px}.tile{min-height:150px}}


/* LEGO v2.3: transparent brand variants and reusable content styles */
.logo .brand-logo-img{width:64px;height:64px;display:block;object-fit:contain;flex:none;background:transparent;border-radius:0}
.logo .logo-text{font-size:20px}
footer .logo .brand-logo-img{width:78px;height:78px}
.hero-brand{width:111px;height:111px;display:block;object-fit:contain;margin:0 0 22px;background:transparent;border-radius:0;filter:drop-shadow(0 4px 13px #17372f13)}
.portrait.portrait-photo{background:#4a4a4a}
.portrait-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 21%}
.profile-placeholder.profile-photo{overflow:hidden;background:#4a4a4a}
.profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 23%}
.brand-story{background:#f0f3ed;border-left:3px solid #8ea891;padding:28px 30px;margin-top:20px}
.brand-story p:last-child{margin-bottom:0}
.resource-lane{background:#fff;border:1px solid #dfe6da;padding:29px 28px;margin:18px 0 22px}
.resource-lane h3{margin:0 0 12px!important}
.resource-lane p{font-size:15px}
.resource-lane .eyebrow{margin-bottom:12px}
.resource-lane .button{margin-top:8px}
.resource-item{padding:17px 0;border-bottom:1px solid #e1e6df}
.resource-item:last-child{border-bottom:0}
.resource-item strong{display:block;font-size:16px;margin-bottom:4px}
.resource-item p{font-size:14px!important;margin:0 0 7px}
.resource-item .status{display:inline-flex;font-size:10px;letter-spacing:.09em;text-transform:uppercase;background:#edf2e9;padding:4px 9px;color:#456451;font-weight:700;margin-bottom:7px}
.resource-item .status.review{background:#f3ecdd;color:#806a4c}
.dual-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.lego-scope{font-size:12px;color:#68786d;padding:12px 0}
@media (max-width:1100px){.logo .brand-logo-img{width:55px;height:55px} .logo .logo-text{font-size:18px}}
@media (max-width:610px){.logo .brand-logo-img{width:47px;height:47px}.logo .logo-text{font-size:16px}.hero-brand{width:88px;height:88px}.brand-story{padding:22px 21px}.resource-lane{padding:24px 20px}.profile-heading{flex-direction:column}.profile-placeholder.profile-photo{width:180px;height:205px}}

/* v2.2 composition polish: keep first-screen text visible while placing supplied mark prominently */
@media(min-width:881px){.hero-brand{position:absolute;top:25px;right:32px;width:106px;height:106px;margin:0}.hero-copy{padding-top:102px}}
@media(max-width:880px){.hero-copy{padding-top:55px}.hero-brand{width:83px;height:83px;margin-bottom:15px}}
@media(max-width:610px){.hero-copy{padding-top:44px}.hero-brand{width:74px;height:74px;margin-bottom:13px}}

/* Brand application: the same logo artwork, transparent on every background.
   Light backgrounds = green; dark backgrounds = white.
   Black asset is available for high-contrast monochrome/printing. */
header .brand-logo-img, .hero-brand { background: transparent; }
footer .brand-logo-img { background: transparent; }
@media print {
  header .brand-logo-img, footer .brand-logo-img, .hero-brand {
    content: url("assets/providence-logo-black.webp");
    background: transparent !important;
    filter: none !important;
  }
}


/* ==============================================================
   Providence tonal background integration v2.5 — IMAGE MODULE
   All original brand colour tokens, typography, layout, copy,
   real photos and all 23 page structures are retained.
   The images below are decorative with no literal subject matter.
   Four interchangeable assets are tracked in builder/data/backgrounds.json.
   ============================================================== */
:root{
  --pc-bg-home: url("assets/backgrounds/pc-bg-01-home-hero.webp");
  --pc-bg-retreat: url("assets/backgrounds/pc-bg-02-retreat-feature.webp");
  --pc-bg-page: url("assets/backgrounds/pc-bg-03-page-header.webp");
  --pc-bg-cta: url("assets/backgrounds/pc-bg-04-light-cta.webp");
}
/* 01 Homepage right-hand visual: Australian bush scene removed. */
.hero-art{
  background-color:#a5b7a6;
  background-image:var(--pc-bg-home);
  background-size:cover;
  background-position:55% center;
  background-repeat:no-repeat;
}
.hero-art::after{background:linear-gradient(180deg,rgba(15,40,31,0) 64%,rgba(20,52,41,.19) 100%)}
/* 02 Home retreat block: cabin/hills scene removed. */
.retreat-art{
  background-color:#a8b8aa;
  min-height:515px;
  background-image:var(--pc-bg-retreat);
  background-size:cover;
  background-position:52% center;
  background-repeat:no-repeat;
}
/* 03 All inner-page top headers: gentle atmospheric wash, never behind body copy. */
.detail-hero{
  background-color:var(--paper);
  background-image:linear-gradient(90deg,rgba(255,254,250,.94) 0%,rgba(255,254,250,.84) 62%,rgba(255,254,250,.53) 100%),var(--pc-bg-page);
  background-size:cover;
  background-position:center center;
}
/* 04 Shared inner-page final CTA: subtle paper texture, with dark, legible text. */
.call-to-action{
  background-color:#e7eee5;
  background-image:linear-gradient(90deg,rgba(231,238,229,.83),rgba(231,238,229,.68)),var(--pc-bg-cta);
  background-size:cover;
  background-position:center;
}
@media (max-width:610px){.retreat-art{min-height:320px}}
/* No graphic image added to standard service cards, resources, FAQs, fees,
   actual counsellor portraits, dark programme block, contact or footer. */
@media (max-width:880px){
  .hero-art{background-position:58% center}
  .retreat-art{background-position:50% center;min-height:370px}
  .detail-hero{background-position:53% center}
}

/* Real approved headshots always use object-fit cropping, not illustration placeholders. */
.portrait.portrait-photo,.profile-placeholder.profile-photo{background:#4a4a4a}

/* Public preview v2.6: clear fees and six-week programme summaries */
.fee-overview{background:#f3f6f0;padding:28px 31px;border:1px solid #dce5d8;margin-top:24px}
.fee-overview h2{font-size:30px;margin:0 0 14px}
.fee-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d6dfd4;padding-bottom:12px;margin-bottom:13px}
.fee-strip strong{display:block;font-size:17px;color:#264538}
.fee-strip p{margin:6px 0 0!important;font-size:14px!important;color:#597164}
.fee-amount{font-family:var(--serif);font-size:52px;line-height:1;color:var(--deep);white-space:nowrap}
.programme-info{display:flex;flex-wrap:wrap;gap:9px;margin:21px 0 15px}
.programme-info span{border:1px solid #bac9b8;background:#eef3eb;padding:7px 13px;border-radius:2px;font-size:12px;font-weight:650;color:#355a46}
.program-info{font-size:13px;color:#d6dfd7;margin-top:22px}
.program-info strong{color:#fff;margin-right:6px}
@media(max-width:520px){.fee-overview{padding:21px}.fee-amount{font-size:43px}.fee-strip{gap:14px}}

/* v2.7: workbook-edited explanation of individualised and structured counselling */
.programme-pathways h3{font-size:clamp(25px,2.2vw,31px);margin:33px 0 14px;color:var(--ink)}
.programme-pathways h2{margin-bottom:24px}
.programme-pathways p{max-width:760px}
.programme-pathways strong{font-weight:700;color:var(--deep)}
.programme-pathways-next{font-weight:600;color:var(--deep)!important;padding:17px 19px;background:#edf1e9;border-left:3px solid #8fa68d;margin-top:28px}
@media(max-width:700px){.programme-pathways h3{margin-top:28px}.programme-pathways-next{padding:14px 16px}}

/* Professional profile presentation v2.8 */
.profile-tile-image{display:block;width:82px;height:102px;object-fit:cover;object-position:center 20%;margin:0 0 16px;border-radius:2px;background:#e8e9e0}
.cv-profile-section p{max-width:760px}.cv-profile-section .eyebrow{display:block;margin-bottom:14px}.cv-profile-section h3{margin-top:25px}

/* v2.10: fee bands and responsive price alignment */
@media(max-width:690px){
  .fee-strip{flex-direction:column;align-items:flex-start;gap:12px}
  .fee-amount{font-size:clamp(31px,8.3vw,44px);white-space:normal}
  .price-row{align-items:center;flex-wrap:wrap}
  .price-row .price{font-size:clamp(23px,6.5vw,30px)}
}

/* v2.11: consistent real vector icons instead of iOS emoji/dingbats; simplify mobile hero navigation */
.hero-note span:first-child svg{width:19px;height:19px;display:block;stroke:#385a48;flex:none}
.round-icon svg{width:20px;height:20px;display:block;stroke:#385a48;flex:none}
@media(max-width:780px){.quick-rail{display:none!important}}

/* v2.11.1: navigation is provided by the shared header, not a duplicate jump rail. */
.quick-rail{display:none!important}
.retreat-offering-list{margin:11px 0 23px!important;padding-left:22px;color:#52665a}
.retreat-offering-list li{margin:6px 0!important;font-size:15px!important;line-height:1.55!important}
@media(max-width:610px){.hero-art{min-height:320px}.float-card{max-width:225px}.retreat-offering-list li{font-size:14px!important}}

/* v2.12: readable, restrained resources page. */
.resource-tool-title{display:block;font-family:var(--serif);font-size:26px;font-weight:400;margin-bottom:11px;color:var(--ink)}
#free-tools .resource-lane{background:#f4f7f1;border:1px solid #dfe7dc;padding:22px 26px}
#free-tools .resource-lane p{margin-bottom:17px}
#resources .section-heading{margin-bottom:0}
