/*
 * Home page layout. Shared chrome (buttons, logo, header shell, colors)
 * is in base.css — this file only has what's specific to this page.
 */
html{scroll-behavior:smooth}
.cs section[id]{scroll-margin-top:84px}
/* .hdr is already position:sticky (base.css), but .cs's overflow-x:hidden
   makes browsers compute its overflow-y as auto, which makes .cs itself —
   not the viewport — the sticky containing block. Since .cs never actually
   scrolls on its own, the header just scrolls away. Moving the horizontal
   clip to <body> keeps the same visual clipping without creating that
   containing block, so position:sticky works as intended. Scoped to this
   page only; request.css is untouched. */
body{overflow-x:hidden}
.cs{overflow-x:visible}
.h2{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.1;letter-spacing:-.012em;color:#4E2F1E}
.btn-ivory{background:#FFFDF9;color:#4E2F1E}.btn-ivory:hover{background:#F3E4D4;color:#4E2F1E}
.btn:focus-visible,.tlink:focus-visible,.navlink:focus-visible{outline:2px solid #754A30;outline-offset:3px}
.tlink:hover .arr{transform:translateX(3px)}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15.5px;color:#754A30;text-decoration:none;background-image:linear-gradient(#C58858,#C58858);background-size:100% 1px;background-position:0 calc(100% - 9px);background-repeat:no-repeat;transition:background-size .25s ease,color .2s ease}
.tlink:hover{color:#4E2F1E;background-size:0 1px;background-position:100% calc(100% - 9px)}
.hdr-in{display:flex;align-items:center;gap:36px;height:72px}
.nav{display:flex;gap:30px}
.navlink{font-size:15px;text-decoration:none;color:#55402F;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}
.navlink:hover{color:#4E2F1E;border-bottom-color:#C58858}
.hdr-cta{min-height:44px;padding:0 22px;font-size:14.5px;white-space:nowrap;flex:none}

.hero{padding:64px 0 104px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:72px;align-items:center}
.h1{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(42px,5.3vw,72px);line-height:1.02;letter-spacing:-.024em;color:#4E2F1E;margin:20px 0 24px}
.h1 em{font-style:italic;color:#A3613A}
.hero-p{font-size:19px;line-height:1.55;color:#55402F;max-width:27em}
.hero-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;margin-top:34px}
.portrait{position:relative;justify-self:end;width:100%;max-width:470px;margin:0 18px 18px 0}
.portrait::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid #C58858;border-radius:160px 8px 8px 8px}
.portrait-img{position:relative;aspect-ratio:4/5;border-radius:160px 8px 8px 8px;overflow:hidden;background:#DCC6AC}
.portrait-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.portrait figcaption{position:absolute;left:0;bottom:-46px;font-size:13px;color:#6B5446}
.portrait figcaption b{font-weight:600;color:#4E2F1E}

.meet{background:#FFFDF9;border-top:1px solid rgba(117,74,48,.1);border-bottom:1px solid rgba(117,74,48,.1);padding:88px 0}
.meet-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px}
.meet .h2{font-size:clamp(34px,3.6vw,50px)}
.meet-body p{font-size:18.5px;line-height:1.65;color:#3E2C21;max-width:34em}
.meet-body p+p{margin-top:14px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:40px;border-top:1px solid rgba(117,74,48,.2)}
.facts div{padding:18px 20px 0 0}
.facts div+div{padding-left:20px;border-left:1px solid rgba(117,74,48,.14)}
.facts dt{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:#8F5530}
.facts dd{font-size:16px;font-weight:500;line-height:1.4;color:#3E2C21;margin-top:6px}

.care{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:680px}
.care-photo{position:relative;background:#DCC6AC;overflow:hidden}
.care-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.care-text{padding:96px 40px 96px 80px;display:flex;flex-direction:column;justify-content:center}
.care-in{max-width:520px}
.care .h2{margin:0 0 18px}
.care-lead{font-size:18.5px;line-height:1.6;color:#55402F}
.points{margin-top:34px;border-top:1px solid rgba(117,74,48,.2)}
.care-note{margin-top:18px;font-size:14.5px;line-height:1.55;color:#6B5446}
.points li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid rgba(117,74,48,.2)}
.points h3{font-size:16.5px;font-weight:600;color:#4E2F1E;line-height:1.4}
.points p{font-size:16px;line-height:1.55;color:#55402F}

.rates{background:#FFFDF9;border-top:1px solid rgba(117,74,48,.1);border-bottom:1px solid rgba(117,74,48,.1);padding:64px 0}
.rates-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:72px;align-items:start}
.rates-note{margin-top:14px;font-size:14px;line-height:1.5;color:#6B5446;max-width:22em}
.price-list{margin:0;border-top:1px solid rgba(117,74,48,.2)}
.price-list div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;border-bottom:1px solid rgba(117,74,48,.2)}
.price-list dt{font-size:17px;font-weight:600;color:#4E2F1E}
.price-list dd{margin:0;display:flex;align-items:baseline;gap:8px;text-align:right}
.price-list b{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:32px;line-height:1;color:#4E2F1E;font-variant-numeric:lining-nums tabular-nums}
.price-list dd span{font-size:14.5px;color:#6B5446}
.price-list dd a{font-size:16px;font-weight:600;color:#754A30;text-decoration:underline;text-decoration-color:#C58858;text-underline-offset:5px}
.price-list dd a:hover{color:#4E2F1E}
.area{margin-top:22px;font-size:14.5px;line-height:1.5;color:#6B5446}
.area a{color:#754A30;font-weight:600;text-decoration:underline;text-decoration-color:#C58858;text-underline-offset:4px;white-space:nowrap}
.area a:hover{color:#4E2F1E}

.how{padding:96px 0}
.how-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 48px;flex-wrap:wrap;margin-bottom:44px}
.how-head p{max-width:24em;color:#6B5446}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.steps li{border-top:2px solid #4E2F1E;padding-top:20px}
.steps li.key{border-top-color:#A3613A}
.n{font-family:'Newsreader',Georgia,serif;font-size:40px;line-height:1;color:#C58858}
.steps h3{font-size:18px;font-weight:600;color:#4E2F1E;margin:14px 0 6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.req{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8F5530;background:#F3E4D4;border-radius:999px;padding:3px 9px}
.steps p{font-size:16px;line-height:1.55;color:#55402F;max-width:22em}

.ask{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#754A30;min-height:520px}
.ask-text{padding:88px 80px 88px max(40px,calc(50vw - 560px));display:flex;flex-direction:column;justify-content:center}
.ask .h2{color:#FFFDF9;max-width:12em}
.ask-p{color:#EADBC8;font-size:18px;margin:18px 0 32px;max-width:26em}
.ask-note{display:flex;gap:10px;align-items:flex-start;margin-top:22px;font-size:14px;line-height:1.5;color:#E2CDB7;max-width:30em}
.ask-note svg{flex:none;margin-top:2px}
.ask-photo{position:relative;overflow:hidden;background:#C9B297}
.ask-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%}

.ftr{background:#F6EFE5;padding:56px 0 28px}
.ftr-top{display:flex;justify-content:space-between;align-items:flex-start;gap:28px 48px;flex-wrap:wrap;padding-bottom:36px}
.ftr-tag{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:18px;color:#8F5530;margin-top:10px}
.ftr-links{display:flex;gap:10px 28px;flex-wrap:wrap}
.ftr-links a{color:#3E2C21;text-decoration:none;font-size:15px;padding:10px 0}
.ftr-links a:hover{color:#A3613A}
.ftr-base{display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(117,74,48,.16);font-size:13px;line-height:1.5;color:#6B5446}

@media (max-width:1000px){
.care-text{padding:72px 32px 72px 48px}
.ask-text{padding:72px 48px 72px 40px}
}
@media (max-width:860px){
.nav{display:none}
.hdr-in{height:64px}
.hero{padding:40px 0 88px}
.hero-grid{grid-template-columns:1fr;gap:44px}
.portrait{justify-self:start;max-width:480px}
.meet{padding:64px 0}
.meet-grid{grid-template-columns:1fr;gap:24px}
.rates{padding:52px 0}
.rates-grid{grid-template-columns:1fr;gap:24px}
.care{grid-template-columns:1fr;min-height:0}
.care-photo{aspect-ratio:4/3}
.care-text{padding:56px 28px 64px}
.care-in{max-width:none}
.how{padding:64px 0}
.ask{grid-template-columns:1fr;min-height:0}
.ask-photo{order:-1;aspect-ratio:16/10}
.ask-text{padding:52px 28px 56px}
}
@media (max-width:700px){
.steps{grid-template-columns:1fr;gap:24px}
.steps li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:12px;padding-top:16px}
.n{font-size:32px;grid-row:1 / span 2}
.steps h3{margin:2px 0 4px;font-size:17px}
}
@media (max-width:560px){
.rates{padding:44px 0}
.price-list b{font-size:28px}
.price-list dd span{font-size:13.5px}
.area{margin-top:14px}
.cs{font-size:16px}
.topnote{font-size:11px;padding:6px 12px}
.hdr-cta{padding:0 18px;font-size:14px}
.hero{padding:26px 0 80px}
.label{font-size:11.5px}
.h1{font-size:44px;margin:14px 0 16px}
.hero-p{font-size:17px}
.hero-ctas{margin-top:24px;gap:6px 22px}
.hero-grid{gap:30px}
.portrait{margin:0 12px 12px 0}
.portrait::before{inset:12px -12px -12px 12px;border-radius:110px 8px 8px 8px}
.portrait-img{border-radius:110px 8px 8px 8px}
.portrait figcaption{bottom:-38px}
.meet{padding:52px 0}
.meet-body p{font-size:17px}
.facts{grid-template-columns:1fr;margin-top:28px}
.facts div,.facts div+div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-left:0;border-bottom:1px solid rgba(117,74,48,.14)}
.facts dd{margin-top:0;font-size:15.5px;text-align:right}
.care-photo{aspect-ratio:1/1}
.care-text{padding:44px 20px 52px}
.care-lead{font-size:17px}
.points{margin-top:26px}
.points li{grid-template-columns:1fr;gap:4px;padding:16px 0}
.how{padding:52px 0}
.how-head{margin-bottom:28px}
.steps{grid-template-columns:1fr;gap:24px}
.steps li{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:12px;padding-top:16px}
.n{font-size:32px;grid-row:1 / span 2}
.steps h3{margin:2px 0 4px;font-size:17px}
.ask-photo{aspect-ratio:4/3}
.ask-text{padding:40px 20px 44px}
.ask-p{font-size:16.5px;margin:14px 0 24px}
.ask .btn{width:100%}
.ftr{padding:44px 0 24px}
}
@media (max-width:400px){
.logo-word{font-size:19px}
.hdr-in{gap:12px}
.hdr-cta{padding:0 16px;font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none !important;transition:none !important}}
