/* Homepage photography and editorial rhythm. Existing data/auth widgets retain their contracts. */
.ct-home{background:#f7f6f2;--blue:#285e48;--blue2:#285e48;--gold:#94754c}
.ct-home .wrap{max-width:1240px}
header.cafe-hero{left:50%;transform:translateX(-50%);width:calc(100vw - 32px);max-width:1800px;min-height:680px;box-sizing:border-box;margin:18px 0 26px;padding:64px max(48px,calc((100vw - 1152px)/2)) 50px;border:0;border-radius:22px;background:#17372d;color:#fff;isolation:isolate;overflow:hidden}
.cafe-hero .ct-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;z-index:-3;animation:ct-photo-in 1.6s ease-out both}
header.cafe-hero:before{display:none}header.cafe-hero:after{inset:0;z-index:-2;background:linear-gradient(90deg,rgba(12,29,24,.89) 0%,rgba(14,29,24,.72) 31%,rgba(19,31,25,.18) 64%,rgba(19,31,25,.04) 100%)}
.cafe-hero .ct-hero-copy{max-width:640px;animation:ct-copy-in .55s ease-out both}
.cafe-hero .hero-eyebrow{color:#d5dfcb;letter-spacing:3px;font-size:10px}
.cafe-hero h1.seo-title{color:#e4e9df;font-size:15px;font-weight:600;margin:22px 0 14px;letter-spacing:.4px}
.cafe-hero .hero-brand{color:#fff;font-size:clamp(34px,3.5vw,52px);font-weight:750;line-height:1.3;letter-spacing:-2px;margin:0 0 24px;text-shadow:0 2px 18px #08170c24}
.cafe-hero .hglow{color:#dfedce;-webkit-text-fill-color:currentColor}
header.cafe-hero .sub{max-width:530px;font-size:15px;line-height:1.9;color:#edf0e7;margin:0 0 24px}
header.cafe-hero .sub b{color:#fff!important}
.cafe-hero .hero-links{margin:0 0 18px;gap:10px}
.cafe-hero .hero-links a{padding:14px 19px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff68;color:#fff;background:#15271e26;border-radius:9px;font-size:13px;transition:background .2s,transform .2s}
.cafe-hero .hero-links a:first-child{color:#1d392d;background:#eef3e5;border-color:#eef3e5}
.cafe-hero .hero-links a:hover{transform:translateY(-2px);background:#345241}
.cafe-hero .hero-links a:first-child:hover{background:#fff}
header.cafe-hero #heroCta{background:transparent;border:0;box-shadow:none;color:#e9efe5;font-size:12px;padding:4px 0;min-height:32px;text-decoration:underline;text-underline-offset:4px}
header.cafe-hero .ctanote{color:#c8d4c5;font-size:11px;margin:6px 0 24px;line-height:1.7}
.cafe-hero .ct-search-label{display:block;color:#e4eadd;font-size:11px;font-weight:600;margin:18px 0 9px}
header.cafe-hero .addbox{max-width:475px;margin:0;gap:8px}
.cafe-hero .addbox input{border-color:#ffffff60;background:#ffffffef;color:#203c30;min-height:46px;border-radius:9px;font-size:13px;box-shadow:none}
.cafe-hero .addbox input::placeholder{color:#617267}
.cafe-hero .addbox button{background:#e2ebd8;color:#1e3d2c;border-color:#e2ebd8;min-height:46px;border-radius:9px;padding:0 22px}
header.cafe-hero #msg{color:#d9e3d3;font-size:11px;margin-top:9px;line-height:1.7}
.cafe-hero .ct-photo-caption{position:absolute;bottom:25px;right:32px;font-size:11px;letter-spacing:.5px;color:#fff;text-shadow:0 1px 6px #000;background:#1c2a2059;padding:7px 11px;border-radius:4px}
.ct-live-note{margin:0 0 24px}.ct-live-note #herostat{display:block!important;max-width:none!important;margin:0!important;background:transparent!important;border:0!important;padding:0!important;text-align:center;color:var(--ink2)!important;font-size:11px!important}
.ct-home .cf-toolstrip{justify-content:center;margin:18px 0 28px}.ct-home .cf-toolstrip a{background:#eeeee5;border-color:#dddfd3;padding:11px 16px;border-radius:24px}
.ct-story{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;margin:64px 0;color:var(--ink);scroll-margin-top:80px}
.ct-story figure{position:relative;overflow:hidden;border-radius:18px;margin:0;aspect-ratio:3/2;background:#dfdfd5}
.ct-story figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ct-story figure:hover img{transform:scale(1.025)}
.ct-story .ct-kicker,.ct-connection .ct-kicker{font-size:10px;font-weight:800;color:#58715d;letter-spacing:2.3px;margin:0 0 16px}
.ct-story h2{font-size:clamp(25px,2.7vw,34px);line-height:1.4;letter-spacing:-1.2px;margin:0 0 18px;font-weight:750;color:var(--ink)}
.ct-story .ct-description{font-size:14px;line-height:1.95;color:var(--ink2);max-width:450px;margin:0 0 24px;word-break:keep-all}
.ct-story .ct-text-link{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:13px;color:var(--blue2);border-bottom:1px solid #9aae99;padding:0 0 7px;text-decoration:none;min-height:35px}
.ct-story .ct-step-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.ct-step-row span{font-size:11px;color:#45634e;background:#eaf0e4;border:1px solid #d8e1d0;border-radius:30px;padding:7px 11px}
.ct-story.ct-reflection{grid-template-columns:1fr 1.05fr;padding:0;margin-top:56px}.ct-reflection figure{grid-column:2;grid-row:1}.ct-reflection .ct-story-copy{grid-column:1;grid-row:1;padding-left:14px}
.ct-home .creator-hub,.ct-home .cf-lab{box-shadow:0 6px 25px #233f2410;border-color:#dfe3d6;border-radius:20px}
.ct-connection{position:relative;isolation:isolate;overflow:hidden;min-height:350px;border-radius:20px;margin:62px 0 38px;display:flex;align-items:center;padding:48px}
.ct-connection>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:-2}
.ct-connection:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#122b21e8 0%,#132a21c9 35%,#15251c33 76%);z-index:-1}
.ct-connection .ct-kicker{color:#c5d5b8}.ct-connection h2{font-size:34px;color:#fff;line-height:1.4;letter-spacing:-1px;margin:0 0 18px;max-width:450px}.ct-connection p{font-size:14px;line-height:1.9;color:#e7eddf;max-width:400px}.ct-connection a{display:inline-flex;color:#fff;font-size:13px;min-height:40px;align-items:center;gap:18px;border-bottom:1px solid #bdc8b3;text-decoration:none}
.ct-home .practice{margin-top:44px}.ct-home .practice-card{border-color:#dedfd5;border-radius:15px}.ct-home .practice-card h3{margin-top:18px}.ct-image-credit{font-size:10px;color:var(--ink2);text-align:right;margin:8px 0 24px}
[data-theme=dark] .ct-home{background:#131b16;--blue2:#a3c9ab}[data-theme=dark] .ct-story .ct-kicker{color:#9fbc9c}[data-theme=dark] .ct-step-row span{background:#253828;color:#c3d5ba;border-color:#3c5140}[data-theme=dark] .ct-home .cf-toolstrip a{background:#243428;border-color:#3a503c}[data-theme=dark] .ct-home .creator-hub,[data-theme=dark] .ct-home .cf-lab,[data-theme=dark] .ct-home .practice-card{border-color:#344a38}
@keyframes ct-photo-in{from{transform:scale(1.025)}to{transform:scale(1)}}@keyframes ct-copy-in{from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1832px){header.cafe-hero{padding-left:calc((1800px - 1152px)/2);padding-right:calc((1800px - 1152px)/2)}}
@media(max-width:900px){header.cafe-hero{padding-left:40px;padding-right:40px}.ct-story{gap:30px}.ct-story h2{font-size:27px}.ct-story .ct-description{font-size:13px}.ct-connection{padding:36px}}
@media(max-width:600px){
 header.cafe-hero{width:calc(100vw - 24px);padding:294px 24px 26px;min-height:0;margin:12px 0 20px;border-radius:18px;background:#17372d}
 .cafe-hero .ct-hero-image{height:320px;object-position:center;opacity:1}
 header.cafe-hero:after{background:linear-gradient(180deg,transparent 70px,#17372d05 135px,#17372de6 282px,#17372d 320px)}
 .cafe-hero .hero-eyebrow{font-size:9px;letter-spacing:2px}.cafe-hero h1.seo-title{font-size:12px;margin:18px 0 12px}
 .cafe-hero .hero-brand{font-size:32px;letter-spacing:-1.5px;margin-bottom:18px;line-height:1.35}.cafe-hero .ct-hero-copy{max-width:none}
 header.cafe-hero .sub{font-size:13px;margin-bottom:20px;word-break:keep-all}.cafe-hero .hero-links{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px}
 .cafe-hero .hero-links a{font-size:12px;padding:12px 14px}.cafe-hero .ctanote{font-size:10px!important;margin-bottom:16px!important}
 .cafe-hero .ct-photo-caption{top:16px;bottom:auto;right:14px;font-size:9px;padding:5px 7px}
 .cafe-hero .addbox button{padding:0 14px}.cafe-hero .addbox input{font-size:12px}.cafe-hero .ct-search-label{font-size:10px;margin-top:12px}
 .ct-live-note #herostat{font-size:10px!important;line-height:1.7}.ct-home .cf-toolstrip{gap:6px;margin-bottom:24px}.ct-home .cf-toolstrip a{font-size:11px;padding:9px 12px}
 .ct-story,.ct-story.ct-reflection{grid-template-columns:1fr;gap:23px;margin:36px 0}.ct-story figure,.ct-reflection figure{grid-column:1;grid-row:1;border-radius:14px}.ct-story-copy,.ct-reflection .ct-story-copy{grid-column:1;grid-row:2;padding:0 6px}
 .ct-story .ct-kicker{margin-bottom:10px}.ct-story h2{font-size:26px;margin-bottom:14px}.ct-story .ct-description{font-size:13px;margin-bottom:16px}.ct-story .ct-step-row{margin:16px 0}
 .ct-connection{min-height:365px;padding:27px 23px;margin-top:36px;border-radius:15px}.ct-connection:before{background:linear-gradient(90deg,#132b22ed,#132b2270)}.ct-connection>img{object-position:60% center}.ct-connection h2{font-size:27px}.ct-connection p{font-size:12px;max-width:260px}
 .ct-image-credit{font-size:9px;text-align:center}.ct-home .practice-grid{gap:10px}
}
@media(prefers-reduced-motion:reduce){.cafe-hero .ct-hero-image,.cafe-hero .ct-hero-copy{animation:none}.ct-story figure img,.cafe-hero .hero-links a{transition:none}.ct-story figure:hover img,.cafe-hero .hero-links a:hover{transform:none}}
@media(max-width:820px){.ct-home .navtoggle{position:relative;flex:0 0 34px;width:34px;height:34px;padding:8px!important;font-size:0!important}.ct-home .navtoggle:before{content:'';display:block;width:16px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.ct-home .navtoggle:after{content:'';position:absolute;left:8px;top:15px;width:16px;height:2px;background:currentColor}}
@media(max-width:380px){.ct-home .topnav{gap:6px}.ct-home .topnav .logo{font-size:14px;gap:6px}.ct-home .topnav .logo img{width:26px;height:26px}.ct-home .topnav button{font-size:12px;padding:7px 8px}.ct-home #navauth{gap:4px}}
