/* Shared detail-page patterns. The homepage's visual language lives in styles.css. */
.desktop-nav a[aria-current="page"],.mobile-nav a[aria-current="page"]{color:var(--forest);font-weight:700}
.desktop-nav a[aria-current="page"]{position:relative}
.desktop-nav a[aria-current="page"]::after{content:'';position:absolute;right:0;left:0;bottom:-11px;height:1px;background:#9caa90}
.section-end-link{text-align:center;margin-top:28px}
.home-next{background:var(--forest-dark);color:#fff;padding:83px 0}
.home-next-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}
.home-next h2{font-size:clamp(36px,3.9vw,58px);line-height:1.45;letter-spacing:-1.6px;font-weight:600;margin-bottom:15px}
.home-next h2 em{font-style:normal;color:#c8b892}
.home-next p:not(.section-kicker){font-size:13px;line-height:2.1;color:#b6c8bb;max-width:500px;margin-bottom:0}
.home-next-actions{display:flex;align-items:center;flex-direction:column;gap:28px;flex-shrink:0}
.text-link-light{color:#f2f4e8;border-color:#799387}.text-link-light:hover{color:#c8b892}

.page-hero{background:linear-gradient(115deg,#f4f3ea,#e9eee5);overflow:hidden;position:relative}
.page-hero-inner{display:grid;grid-template-columns:1.05fr .95fr;min-height:445px;align-items:stretch;gap:7%}
.page-hero-copy{align-self:center;padding:53px 0 62px;z-index:1;position:relative}
.breadcrumbs{display:flex;align-items:center;gap:11px;color:#8a9a89;font-size:11px;margin-bottom:42px}
.breadcrumbs a{color:#536e60}.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.page-hero .section-kicker{justify-content:flex-end;color:#758b79}
.page-hero h1{font-size:clamp(43px,4.45vw,68px);font-weight:600;line-height:1.35;letter-spacing:-2.4px;color:var(--forest);margin:10px 0 20px}
.page-hero h1 em{font-style:normal;color:#9a8968}
.page-hero-copy>p:last-child{font-size:14px;line-height:2.13;color:#718276;max-width:570px;margin:0}
.page-hero-visual{position:relative;min-height:445px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 49% 44%,#dfe7dc 5%,#c9d8cb 52%,#e6e9dd 100%);clip-path:ellipse(83% 90% at 56% 50%)}
.page-hero-visual::after{content:'';position:absolute;width:70%;height:1px;bottom:69px;background:#a2b3a055;transform:rotate(-28deg)}
.visual-ring{position:absolute;width:330px;height:330px;border:1px solid #fff9;border-radius:50%;box-shadow:0 0 0 35px #fff2,0 0 0 72px #fafffb17}
.visual-initial{font:290px/1 Georgia,serif;color:#2d604a12;text-shadow:0 20px 35px #1c513015;transform:translateY(15px)}
.visual-caption{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px 'DM Sans',Arial,sans-serif;letter-spacing:2.5px;color:#6f8a78}
.page-hero-image .page-hero-visual{clip-path:ellipse(87% 100% at 58% 50%);background:#dde4d7}
.page-hero-image .page-hero-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 47%}
.page-hero-image .page-hero-visual::after{display:none}

.editorial-layout h2{margin-bottom:24px}
.values-section{background:#eff2ec}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.value-card{background:#fffefa;border:1px solid #e0e7dd;padding:34px 31px;min-height:248px;display:flex;flex-direction:column;align-items:flex-start}
.value-card>span{font:10px 'DM Sans',sans-serif;letter-spacing:1.4px;color:#91a28f;margin-bottom:44px}
.value-card h3{font-size:21px;color:var(--forest);margin-bottom:11px}
.value-card p{font-size:12px;color:#7b8c7e;line-height:2.1;margin:0}
.editorial-quote{padding:86px 0;background:#e2e9df;text-align:center}
.editorial-quote p{font-size:clamp(22px,2.8vw,40px);line-height:1.9;color:#567260;margin:0}
.editorial-quote strong{color:var(--forest);font-weight:600}

.page-cta{background:linear-gradient(125deg,#1c4437,#112e27);color:#fff;padding:79px 0}
.page-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}
.page-cta h2{font-size:clamp(32px,3.2vw,49px);letter-spacing:-1.2px;line-height:1.55;margin:0 0 7px}
.page-cta p:not(.section-kicker){font-size:13px;line-height:2;color:#b9cabd;margin:0;max-width:585px}
.page-cta .button{min-width:202px;flex-shrink:0}

.detailed-services{background:#fffefa}
.service-detail{display:grid;grid-template-columns:110px 1fr auto;gap:45px;padding:52px 12px 48px;border-top:1px solid #d7e0d4;align-items:start;scroll-margin-top:90px}
.service-detail:last-child{border-bottom:1px solid #d7e0d4}
.service-detail-number{font:34px 'DM Sans',sans-serif;color:#a9baa9;line-height:1.25}
.service-detail-number span{display:block;font-size:9px;letter-spacing:.8px;white-space:nowrap;margin-top:12px;color:#879a85}
.service-detail-main h3{font-size:26px;color:var(--forest);margin-bottom:10px}
.service-detail-main>p{font-size:13px;line-height:2.12;color:#718476;max-width:680px}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;list-style:none;margin:24px 0 0;padding:0;max-width:620px}
.check-list li{position:relative;padding-right:19px;font-size:12px;color:#526c59;line-height:1.7}
.check-list li::before{content:'✦';position:absolute;right:0;top:0;color:#91a78e;font-size:11px}
.round-link{width:48px;height:48px;display:grid;place-items:center;border:1px solid #b9cbbc;border-radius:50%;color:var(--forest);font:22px Arial;transition:background .2s,color .2s}
.round-link:hover{background:var(--forest);color:white}
.services-brief{background:#eff2ec}
.brief-box{padding:9px 34px;background:#fffefa;border:1px solid #e0e9df}
.brief-box>div{display:flex;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #e2e7df}
.brief-box>div:last-child{border:0}
.brief-box span{font:14px 'DM Sans',sans-serif;color:#96aa97}
.brief-box strong{font-size:13px;font-weight:500;color:var(--forest)}

.process-timeline{border-top:1px solid #d5dfd4}
.process-stage{display:grid;grid-template-columns:115px 1.3fr .8fr;gap:35px;align-items:center;padding:43px 12px;border-bottom:1px solid #d5dfd4}
.process-stage-no{font:44px 'DM Sans',sans-serif;color:#adbbac}
.process-stage h3{font-size:22px;color:var(--forest);margin-bottom:10px}
.process-stage p{font-size:13px;line-height:2.05;color:#7b887d;margin:0;max-width:550px}
.process-outcome{padding-right:30px;border-right:1px solid #c7d6c8;display:flex;flex-direction:column;gap:11px}
.process-outcome small{font-size:10px;color:#9caa9d}
.process-outcome strong{font-size:13px;font-weight:600;color:#4e6a56;line-height:1.8}
.process-advice{background:#eff2ec}
.process-tip{background:#fffefa;padding:38px 42px;border-top:3px solid #b3c2ad}
.process-tip strong{font-size:20px;color:var(--forest)}
.process-tip p{font-size:13px;color:#7e8a7e;line-height:2.1;margin:17px 0}
.process-tip a{font-size:12px;font-weight:600;color:var(--forest);display:inline-flex;gap:17px}

.faq-page-section{background:#fffefa}
.faq-page-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:10%;align-items:start}
.faq-page-aside{position:sticky;top:35px}
.faq-page-aside h2{font-size:clamp(35px,3.1vw,50px)}
.faq-page-aside>p:not(.section-kicker){font-size:13px;line-height:2.05;color:#819080;max-width:330px}
.faq-group{margin-bottom:52px}
.faq-group h3{font-size:18px;color:var(--forest);margin-bottom:17px}
.faq-page-groups .faq-list{border-color:#cdd8cc}
.faq-page-groups .faq-list summary{font-size:14px}

.contact-page-section{padding-top:100px;padding-bottom:100px}
.contact-bottom-note{background:#eff2ec;padding:27px 0;text-align:center}
.contact-bottom-note p{font-size:12px;line-height:1.9;color:#748778;margin:0}
.legal-content{max-width:860px}
.legal-content h2{font-size:23px;color:var(--forest);margin:39px 0 12px}
.legal-content p{font-size:14px;line-height:2.25;color:#617566}
.legal-alert{background:#f0e8d8;color:#735b39!important;padding:18px 23px;border-right:3px solid #bba67d}
.legal-content .inline-arrow{margin-top:25px}

@media(max-width:880px){
  .page-hero-inner{min-height:380px;gap:4%}.page-hero-visual{min-height:380px}
  .page-hero h1{font-size:44px}.breadcrumbs{margin-bottom:28px}.page-hero-copy>p:last-child{font-size:12px}
  .value-grid{grid-template-columns:1fr 1fr}.value-card:last-child{grid-column:1/-1}
  .service-detail{grid-template-columns:70px 1fr auto;gap:22px}
  .process-stage{grid-template-columns:72px 1.2fr .8fr;gap:23px}
  .faq-page-layout{grid-template-columns:1fr;gap:43px}.faq-page-aside{position:static}
}
@media(max-width:600px){
  .home-next{padding:63px 0}.home-next-inner,.page-cta-inner{flex-direction:column;align-items:flex-start;gap:28px}.home-next-actions{align-items:flex-start;gap:22px}
  .page-hero-inner{display:flex;min-height:0;flex-direction:column}.page-hero-copy{padding:40px 0 32px}
  .breadcrumbs{margin-bottom:27px}.page-hero h1{font-size:clamp(36px,9vw,50px);letter-spacing:-1.25px;line-height:1.4}
  .page-hero-copy>p:last-child{font-size:12px}.page-hero-visual{min-height:160px;height:160px;clip-path:ellipse(74% 96% at 50% 105%);margin-inline:-18px}
  .page-hero-image .page-hero-visual{clip-path:ellipse(75% 96% at 50% 105%)}
  .visual-ring{width:210px;height:210px}.visual-initial{font-size:160px}.visual-caption{display:none}
  .value-grid{grid-template-columns:1fr}.value-card:last-child{grid-column:auto}.value-card{min-height:205px;padding:26px}.value-card>span{margin-bottom:30px}
  .editorial-quote{padding:60px 0}.page-cta{padding:60px 0}.page-cta h2{font-size:34px}.page-cta .button{min-width:0}
  .service-detail{grid-template-columns:1fr auto;gap:15px;padding:32px 0;scroll-margin-top:68px}
  .service-detail-number{grid-column:1/-1;font-size:26px}.service-detail-number span{display:inline;margin-right:12px;font-size:9px}
  .service-detail-main h3{font-size:20px}.service-detail-main>p{font-size:12px}.check-list{grid-template-columns:1fr;margin-top:17px}
  .round-link{width:42px;height:42px}.brief-box{padding:9px 20px}.brief-box strong{font-size:12px}
  .process-stage{grid-template-columns:62px 1fr;gap:12px 18px;padding:30px 0;align-items:start}.process-stage-no{font-size:33px}.process-stage h3{font-size:19px}.process-stage p{font-size:12px}
  .process-outcome{grid-column:2;border-right:0;padding:0;gap:5px}.process-outcome strong{font-size:11px}
  .process-tip{padding:28px 25px}.faq-group{margin-bottom:35px}.faq-page-groups .faq-list summary{font-size:12px}
  .contact-page-section{padding:64px 0}.legal-content h2{font-size:20px}.legal-content p{font-size:12px}
}
