
.cafe-hub-page{--muted:#59675f;word-break:keep-all;overflow-wrap:anywhere}
.cafe-hub-page .top{font-size:.8125rem}
.cafe-hub-page h1,.cafe-hub-page h2{letter-spacing:-.045em;line-height:1.23}
.cafe-hub-page .button{min-height:54px;gap:24px;font-size:1rem;padding:12px 24px}
.cafe-hub-page .button:hover{background:#204d39;border-color:#204d39;color:#fff}
.cafe-hub-page a:focus-visible,.cafe-hub-page summary:focus-visible{outline:3px solid #ae7830;outline-offset:5px}
.cafe-hub-page .links .button{min-height:44px;padding:8px 19px;font-size:.9375rem}
.cafe-hub-page [id]{scroll-margin-top:100px}
.cafe-label,.cafe-kicker{display:block;font-size:.875rem;font-weight:700;letter-spacing:.03em;color:#355a44}
.cafe-hero{isolation:isolate;position:relative;background:#e4ddd1;overflow:hidden;min-height:610px}
.cafe-hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 53%}
.cafe-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(247,244,237,.99),rgba(247,244,237,.96) 27%,rgba(247,244,237,.76) 46%,rgba(247,244,237,.12) 74%)}
.cafe-hero-inner{padding-block:30px 58px}
.cafe-hero .breadcrumb{font-size:.8125rem;color:#566159;margin-bottom:36px}
.cafe-hero-copy{max-width:580px}
.cafe-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.75rem,5vw,4.6rem);margin:13px 0 22px;line-height:1.12}
.cafe-hero-lead{font-size:1.375rem;font-weight:600;color:#233e30;line-height:1.65;margin:0 0 12px}
.cafe-hero-detail{color:#4d5b52;font-size:1rem;margin:0 0 26px;line-height:1.85}
.cafe-primary-action{display:inline-flex;flex-direction:column;align-items:flex-start}
.cafe-action-note{font-size:.8125rem;color:#526258;margin:10px 0 0;line-height:1.7}
.cafe-text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#31533f;text-underline-offset:5px;font-size:.9375rem}
.cafe-hero-copy>.cafe-text-link{display:flex;width:fit-content;margin-top:15px}
.cafe-image-caption{position:absolute;right:24px;bottom:13px;background:rgba(255,255,255,.85);color:#4b584f;font-size:.75rem;margin:0;padding:4px 9px;border-radius:3px}
.cafe-section-nav{border-bottom:1px solid var(--line);background:#fff}
.cafe-section-nav>.wrap{display:flex;gap:34px;align-items:center;min-height:64px}
.cafe-section-nav a{font-size:.875rem;text-decoration:none;padding-block:17px;color:#536056;white-space:nowrap}
.cafe-section-nav a:hover{color:#204d39;text-decoration:underline;text-underline-offset:6px}
.cafe-section{padding-block:80px}
.cafe-section-heading{max-width:640px;margin-bottom:32px}
.cafe-hub-page h2{font-family:var(--serif);font-size:clamp(1.95rem,3.3vw,2.9rem);margin:12px 0 17px;font-weight:700}
.cafe-section-heading>p,.cafe-cost-intro>p{color:var(--muted);line-height:1.85;margin:0;max-width:590px}
.cafe-situations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cafe-situations article{background:#fff;border:1px solid #dddcd3;border-radius:14px;padding:25px;display:flex;flex-direction:column}
.cafe-situation-number{font-size:.8125rem;letter-spacing:.035em;color:#566d5d}
.cafe-situations h3{font-size:1.25rem;letter-spacing:-.035em;margin:15px 0 12px}
.cafe-situations p{margin:0 0 22px;line-height:1.9;color:#58645d}
.cafe-checkline{border-top:1px solid #e5e5dc;padding-top:16px;margin-top:auto;font-size:.875rem}
.cafe-checkline b{display:block;color:#355a44;margin-bottom:4px}
.cafe-checkline span{color:#58645d}
.cafe-cost-section{background:#eaf0eb;padding-block:76px}
.cafe-cost-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px 62px;align-items:start}
.cafe-field-note{padding:21px 0 0;border-top:1px solid #c9d3ca;margin-top:30px;max-width:350px}
.cafe-field-note b{font-size:.875rem;color:#355a44}
.cafe-field-note p{font-size:.9375rem;color:#556359;line-height:1.9;margin:7px 0 0}
.cafe-cost-items{background:#fff;border:1px solid #d8e0d8;border-radius:15px;padding:0 25px}
.cafe-cost-items article{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:23px 0;border-bottom:1px solid #e3e7e0}
.cafe-cost-items article:last-child{border:0}
.cafe-cost-index{font-size:.875rem;color:#76816c;line-height:1.9;font-variant-numeric:tabular-nums}
.cafe-cost-items h3{font-size:1.0625rem;margin:0 0 8px;letter-spacing:-.035em}
.cafe-cost-items p{color:#58645d;margin:0;font-size:.9375rem;line-height:1.85}
.cafe-cost-tag{display:block;margin-top:10px;font-size:.8125rem;color:#3b654c}
.cafe-cost-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:32px;border-top:1px solid #cbd6cd}
.cafe-cost-cta h3{font-size:1.25rem;margin:0 0 6px;letter-spacing:-.035em}
.cafe-cost-cta p{margin:0;color:#58645d;font-size:.9375rem}
.cafe-cost-cta .cafe-primary-action{flex-shrink:0}
.cafe-cost-cta .cafe-action-note{margin-top:9px;font-size:.8125rem}
.cafe-process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px}
.cafe-process{list-style:none;margin:0;padding:0}
.cafe-process li{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:0 0 23px;margin:0 0 23px;border-bottom:1px solid var(--line)}
.cafe-process li:last-child{margin:0;padding:0;border:0}
.cafe-process li>span{display:grid;place-items:center;align-self:start;width:38px;height:38px;background:#e7eee8;color:#355a44;border-radius:50%;font-size:.875rem;font-weight:700}
.cafe-process h3{font-size:1.125rem;margin:3px 0 7px}
.cafe-process p{margin:0;color:#58645d;line-height:1.9}
.cafe-preparation{background:#eeece4;padding:23px 28px;border-radius:12px;margin-top:35px}
.cafe-preparation b{font-size:.9375rem;color:#2e4d3b}
.cafe-preparation p{margin:5px 0 2px;font-size:1rem}
.cafe-preparation>span{font-size:.8125rem;color:#64695e}
.cafe-faq-section{background:#fff;padding-block:72px;border-block:1px solid var(--line)}
.cafe-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px}
.cafe-faq details{border-bottom:1px solid #dfe3db;padding:19px 0}
.cafe-faq details:first-child{padding-top:0}
.cafe-faq summary{position:relative;list-style:none;cursor:pointer;padding-right:30px;font-weight:650;font-size:1rem;line-height:1.75;min-height:36px}
.cafe-faq summary::-webkit-details-marker{display:none}
.cafe-faq summary:after{content:"+";position:absolute;right:3px;top:0;color:#3c694e;font-size:1.3rem;font-weight:400}
.cafe-faq details[open] summary:after{content:"−"}
.cafe-faq details p{color:#58645d;margin:9px 25px 3px 0;font-size:.9375rem;line-height:1.9}
.cafe-region-section{padding-block:64px}
.cafe-region-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}
.cafe-region-heading h2{font-size:clamp(1.65rem,2.6vw,2.35rem);margin-bottom:0}
.cafe-region-heading>.cafe-text-link{flex-shrink:0}
.cafe-region-intro{color:#58645d;margin:15px 0 24px}
.cafe-region-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.cafe-region-links>a{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 35px 18px 18px;text-decoration:none}
.cafe-region-links>a:hover{border-color:#809a86;background:#f0f5ee}
.cafe-region-links strong{display:block;font-size:1rem;color:#243d2e;margin-bottom:6px}
.cafe-region-links a>span:not(.cafe-region-arrow){display:block;font-size:.8125rem;color:#58645d}
.cafe-region-arrow{position:absolute;right:14px;top:18px;color:#64816b}
.cafe-closing{background:#183e2d;color:#fff;text-align:center;padding-block:65px}
.cafe-closing .cafe-kicker{color:#c1d3c2}
.cafe-closing h2{font-size:clamp(2rem,3.7vw,3.1rem);margin:13px 0 20px}
.cafe-closing>.wrap>p:not(.cafe-action-note){color:#d3dfd4;margin-bottom:25px}
.cafe-closing .button{background:#f7f4ed;color:#214631;border-color:#f7f4ed}
.cafe-closing .button:hover{background:#e7edde;color:#173d2a}
.cafe-closing .cafe-action-note{color:#c6d6c8;line-height:1.85;margin-top:16px}
.cafe-mobile-cta{display:none}
@media(max-width:1000px) and (min-width:801px){.cafe-region-links{grid-template-columns:repeat(3,minmax(0,1fr))}.cafe-cost-layout,.cafe-process-layout,.cafe-faq-layout{gap:32px}.cafe-situations article{padding:21px}.cafe-cost-cta{align-items:flex-start}}
@media(max-width:800px){
  .cafe-hub-page .wrap{width:calc(100% - 36px)}
  .cafe-hub-page .nav{gap:12px;min-height:72px}
  .cafe-hub-page .brand{font-size:.9375rem}
  .cafe-hub-page .links .button{font-size:.875rem;padding:8px 15px;min-height:42px;white-space:nowrap}
  .cafe-hub-page [id]{scroll-margin-top:18px}
  .cafe-hero{min-height:0}
  .cafe-hero:before{background:linear-gradient(90deg,rgba(247,244,237,.98) 0%,rgba(247,244,237,.91) 40%,rgba(247,244,237,.57) 100%)}
  .cafe-hero-image{object-position:58% center}
  .cafe-hero-inner{padding-block:21px 47px}
  .cafe-hero .breadcrumb{margin-bottom:26px}
  .cafe-hero h1{font-size:clamp(2.25rem,10vw,3.4rem);line-height:1.16;margin-block:13px 20px}
  .cafe-hero-lead{font-size:1.1875rem;line-height:1.65;margin-bottom:13px}
  .cafe-hero-detail{font-size:1rem;line-height:1.85;margin-bottom:23px;max-width:360px}
  .cafe-label{font-size:.8125rem}
  .cafe-primary-action{width:100%;align-items:stretch}
  .cafe-primary-action .button{width:100%;min-height:54px;padding-inline:15px;gap:16px}
  .cafe-primary-action .cafe-action-note{text-align:center}
  .cafe-hero-copy>.cafe-text-link{font-size:.875rem;margin-top:13px}
  .cafe-image-caption{font-size:.75rem;right:18px;bottom:9px;padding:2px 6px}
  .cafe-section-nav>.wrap{gap:4px 18px;flex-wrap:wrap;min-height:0;padding-block:12px}
  .cafe-section-nav a{padding:6px 0;font-size:.8125rem;min-height:34px}
  .cafe-section{padding-block:54px}
  .cafe-section-heading{margin-bottom:26px}
  .cafe-hub-page h2{font-size:clamp(1.8rem,7.2vw,2.4rem);line-height:1.28}
  .cafe-situations{grid-template-columns:1fr;gap:14px}
  .cafe-situations article{padding:23px}
  .cafe-situations p{margin-bottom:18px}
  .cafe-cost-section{padding-block:52px}
  .cafe-cost-layout,.cafe-process-layout,.cafe-faq-layout{grid-template-columns:1fr;gap:27px}
  .cafe-field-note{margin-top:23px;max-width:none}
  .cafe-cost-items{padding-inline:18px}
  .cafe-cost-items article{grid-template-columns:22px 1fr;gap:10px;padding-block:21px}
  .cafe-cost-items h3{font-size:1rem}
  .cafe-cost-cta{flex-direction:column;gap:20px;padding-top:27px}
  .cafe-cost-cta h3{font-size:1.125rem}
  .cafe-process-layout>.cafe-section-heading,.cafe-faq-layout>.cafe-section-heading{margin-bottom:0}
  .cafe-process li{gap:13px;grid-template-columns:36px 1fr}
  .cafe-process li>span{width:34px;height:34px}
  .cafe-process h3{font-size:1.0625rem}
  .cafe-preparation{padding:21px;margin-top:27px}
  .cafe-preparation p{line-height:1.9}
  .cafe-faq-section{padding-block:50px}
  .cafe-region-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .cafe-region-heading h2{font-size:1.75rem}
  .cafe-region-intro{margin-top:6px}
  .cafe-region-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cafe-region-links>a{padding:17px 27px 17px 14px}
  .cafe-region-arrow{right:10px}
  .cafe-region-links a>span:not(.cafe-region-arrow){font-size:.75rem}
  .cafe-closing{padding-block:50px}
  .cafe-closing .button{width:100%;padding-inline:14px;gap:16px}
  .cafe-mobile-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;position:fixed;bottom:0;left:0;right:0;z-index:25;background:rgba(255,255,255,.98);border-top:1px solid #d7dfd6;padding:10px 18px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 18px rgba(17,45,30,.06)}
  .cafe-mobile-cta>div{flex-shrink:0}
  .cafe-mobile-cta b{display:block;font-size:.875rem;color:#234531}
  .cafe-mobile-cta small{display:block;font-size:.75rem;color:#58645d}
  .cafe-mobile-cta .button{flex:1;max-width:225px;font-size:.9375rem;min-height:48px;padding:10px 12px}
  .cafe-hub-page footer{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html:has(.cafe-hub-page){scroll-behavior:auto}.cafe-hub-page *{transition:none!important}}
