/* Public-page enhancement only. Private portal markup and shared styles stay unchanged. */
.public-life{background:#f4f0e6;background-image:radial-gradient(ellipse at 95% 0%,#d6dfca70,transparent 48%)}
.public-life .editorial-header{max-width:1440px;margin:auto;border-bottom:1px solid #6c77532b}
.public-life .public-document{max-width:1160px;padding:70px 40px 40px;margin:auto}
.public-life .public-document>h1,.public-life .service-hero h1{max-width:900px;font-size:clamp(2.8rem,5.5vw,5rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:28px}
.public-life .public-document>p{max-width:760px;line-height:1.85}
.public-life .public-document>h1+p{font-size:1.18rem;color:#53604a;margin-bottom:42px}
.public-life .service-hero{padding:36px 0 54px;border-bottom:1px solid #78876840;position:relative}
.public-life .service-hero:before{content:'';display:block;width:70px;height:5px;background:#a68650;border-radius:4px;margin-bottom:30px}
.public-life .service-panel{padding:32px 36px;margin:26px 0;background:#fffdf480;border:1px solid #bec5af70;border-radius:4px 24px 4px 4px}
.public-life .service-panel h2{font-size:2rem}
.public-life .service-panel li{margin-bottom:12px;line-height:1.75}
.public-life .path-preview{display:grid;grid-template-columns:minmax(200px,.85fr) 1.15fr;align-items:center;gap:48px;padding:34px 0;border-bottom:1px solid #78876840}
.public-life .path-preview:nth-of-type(even)>a{order:2}
.public-life .path-preview img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s ease}
.public-life .path-preview:hover img{transform:translateY(-5px)}
.public-life .path-preview h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;margin:14px 0}
.public-life .path-preview h2 a{text-decoration:none}
.public-life .path-preview p{line-height:1.85}
.public-life .path-link{display:inline-flex;gap:28px;margin-top:20px;padding-bottom:6px;border-bottom:1px solid #899375;text-decoration:none}
.public-life .public-process{margin:65px 0;padding:40px;background:#e6eadc;border-top:2px solid #8a976d;border-radius:4px 28px 4px 4px}
.public-life .public-process h2{font-size:clamp(2rem,3.5vw,2.8rem);max-width:650px;line-height:1.2;margin:14px 0 32px}
.public-life .process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.public-life .process-grid article>span{font-family:Georgia,serif;font-size:2.5rem;color:#87926b}
.public-life .process-grid h3{font-family:Georgia,serif;font-size:1.3rem;margin:15px 0}
.public-life .process-grid p{font-size:.95rem;line-height:1.8}
.public-life .blog-card{background:#fffdf5;border-radius:3px 22px 3px 3px;box-shadow:0 8px 24px #3c492309;transition:transform .25s,box-shadow .25s}
.public-life .blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #3c492315}
.public-life .k-site .k-method,.public-life .k-site .k-practical{background:linear-gradient(120deg,#e7eadf80,#f5f0e500)}
.public-life .k-site .k-funnel-panel{box-shadow:0 18px 55px #3b442315}
.public-life .k-site .k-landscape img{filter:drop-shadow(0 16px 24px #55442310)}
.public-life .button{transition:transform .2s,box-shadow .2s}
.public-life .button:hover{transform:translateY(-2px);box-shadow:0 5px 14px #34432316}
@media(max-width:700px){.public-life .public-document{padding:38px 22px}.public-life .path-preview{grid-template-columns:1fr;gap:12px;padding:24px 0 38px}.public-life .path-preview>a{max-width:360px;margin:auto}.public-life .path-preview:nth-of-type(even)>a{order:0}.public-life .service-panel{padding:25px 22px}.public-life .public-process{padding:28px 22px;margin:40px 0}.public-life .process-grid{grid-template-columns:1fr;gap:24px}.public-life .process-grid article{border-top:1px solid #a4b08e80;padding-top:18px}}
@media(prefers-reduced-motion:reduce){.public-life *{scroll-behavior:auto!important;transition:none!important}.public-life .button:hover,.public-life .blog-card:hover,.public-life .path-preview:hover img{transform:none}}
.public-life .path-preview h2,.public-life .service-panel h2{font-family:Baskerville,'Iowan Old Style',Georgia,serif;font-weight:400}
.public-life .public-document>nav[aria-label="More information"]{border-top:1px solid #89937555;margin-top:32px;padding-top:24px;font-size:.9rem}
.public-life .public-vignette{margin:38px 0 50px;position:relative;overflow:hidden;border-radius:3px 42px 3px 3px}
.public-life .public-vignette img{width:100%;height:clamp(220px,30vw,350px);object-fit:cover;display:block;object-position:center 45%}
.public-life .public-vignette figcaption{padding:13px 20px;background:#e5e8d9;color:#4d5c45;font-size:.85rem;letter-spacing:.025em}
