.finder { background:#f9f0e5; padding-block:100px 88px; }
.finder-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:46px; }
.finder-eyebrow { font-size:11px!important; letter-spacing:.1em; text-transform:uppercase; color:#656d53; margin-bottom:20px; }
.finder-heading h2 { font-size:clamp(48px,5.1vw,74px); line-height:1.04; letter-spacing:-.06em; }
.finder-heading h2 span { color:#74825a; }
.finder-heading>p { font-size:15px; line-height:1.8; max-width:430px; margin-bottom:6px; color:#65634f; }
.finder-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch; }
.finder-choice-column { display:flex; flex-direction:column; }
.finder-choice-label { font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#62694f; margin-bottom:15px; }
.finder .finder-options { display:flex; flex-direction:column; gap:11px; margin:0; border:0; }
.finder .need-option { position:relative; width:100%; display:flex; align-items:center; gap:19px; min-height:99px; padding:20px 23px!important; border:1px solid #d9d3c3; border-radius:15px; text-align:left; background:#fffcf6; color:#31362a; transition:background .25s,border-color .25s,box-shadow .25s,transform .25s; }
.finder .need-option::after,.finder .need-option::before { display:none; }
.finder .need-option:hover { background:#f2f3e9; border-color:#a6b18e; transform:translateX(5px); }
.finder .need-option[aria-pressed=true] { background:#e6ebdb; border-color:#839363; box-shadow:0 0 0 1px #839363,0 9px 22px -17px #40542c65; }
.finder .need-number { flex:none; align-self:flex-start; padding-top:3px; font-size:11px; color:#606b4f; font-variant-numeric:tabular-nums; }
.finder .need-copy { display:block; flex:1; }
.finder .need-copy strong { display:block; font-size:17px; line-height:1.4; letter-spacing:-.025em; font-weight:500; }
.finder .need-copy small { display:block; margin-top:6px; font-size:12px; font-weight:400; line-height:1.65; color:#5d664c; max-width:340px; }
.finder .need-indicator { width:36px; height:36px; flex:none; display:grid; place-items:center; border:1px solid #c7cbb9; border-radius:50%; background:#fcfcf6; color:#606b4e; transition:background .25s,transform .35s; }
.finder .need-indicator>.icon { width:16px; height:16px; grid-area:1/1; margin:0; transition:opacity .2s,transform .25s; }
.finder .need-check { opacity:0; transform:scale(.5); }
.finder .need-option[aria-pressed=true] .need-indicator { background:#66774b; border-color:#66774b; color:#fff; }
.finder .need-option[aria-pressed=true] .need-arrow { opacity:0; transform:translateX(6px); }
.finder .need-option[aria-pressed=true] .need-check { opacity:1; transform:scale(1); }
.finder-next { display:none; }
.finder-human { display:flex; align-items:center; gap:16px; padding:26px 3px 0; font-size:12px; color:#68644f; margin-top:auto; }
.finder-human>span:nth-child(2) { flex:1; }
.finder-human strong { display:block; font-size:13px; color:#434c34; font-weight:500; margin-top:2px; }
.finder-human>.icon { width:19px; margin-right:8px; color:#636f50; }
.finder-human-portraits { display:flex; padding-right:7px; }
.finder-human-portraits img { width:38px; height:38px; object-fit:cover; object-position:center 20%; border-radius:50%; border:2px solid #f9f0e5; }
.finder-human-portraits img+img { margin-left:-9px; }
.finder-human:hover strong { text-decoration:underline; text-underline-offset:4px; }
.finder .finder-result { position:relative; isolation:isolate; min-height:574px; margin:0; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:30px 37px 27px; background:#ebe7d9; border:1px solid #ded9c8; border-radius:24px; overflow:hidden; transition:background-color .6s; }
.finder[data-current-need=mother] .finder-result { background:#eee4d5; }
.finder[data-current-need=child] .finder-result { background:#e4e8d9; }
.finder[data-current-need=group] .finder-result { background:#e2e7db; }
.finder-result-top { position:relative; z-index:2; display:flex; gap:15px; justify-content:space-between; align-items:center; margin-bottom:44px; font-size:10px; letter-spacing:.015em; }
.finder-current { text-transform:uppercase; letter-spacing:.07em; color:#515e40; }
.finder-selected-note { display:inline-flex; gap:5px; align-items:center; color:#576344; }
.finder-selected-note .icon { width:13px; height:13px; }
.finder .result-copy { position:relative; z-index:2; flex:none; max-width:none; }
.finder .result-kicker { display:block; font-size:11px; line-height:1.7; color:#60684f; margin-bottom:14px; }
.finder .result-copy h3 { font-size:clamp(32px,3.3vw,48px); line-height:1.07; font-weight:500; letter-spacing:-.055em; white-space:pre-line; text-wrap:initial; max-width:480px; }
.finder .result-copy>p { font-size:13px; line-height:1.8; color:#656952; max-width:420px; margin-top:21px; }
.finder-art { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.finder-art-scroll { position:absolute; right:-163px; top:22px; width:400px; height:330px; }
.finder-art-line { width:400px; height:auto; opacity:.32; rotate:-18deg; transition:rotate 1s cubic-bezier(.2,.7,.2,1),scale 1s; }
.finder-art-detail { position:absolute; width:380px; height:auto; left:-155px; bottom:-155px; opacity:.13; rotate:19deg; transition:rotate 1.2s,translate 1.2s; }
.finder[data-current-need=mother] .finder-art-line { rotate:11deg; scale:1.12; }
.finder[data-current-need=child] .finder-art-line { rotate:34deg; scale:.91; }
.finder[data-current-need=group] .finder-art-line { rotate:57deg; scale:1.04; }
.finder[data-current-need=mother] .finder-art-detail { rotate:-5deg; translate:15px -10px; }
.finder[data-current-need=child] .finder-art-detail { rotate:-24deg; translate:25px -25px; }
.finder[data-current-need=group] .finder-art-detail { rotate:-43deg; translate:40px -10px; }
.finder-routes { position:relative; z-index:2; margin-top:auto; padding-top:29px; }
.finder-route-group { display:grid; gap:9px; }
.finder-route-caption { margin-bottom:12px; font-size:10px; line-height:1.6; color:#596548; }
.finder [hidden] { display:none!important; }
.finder .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.finder-service { width:100%; display:flex; gap:20px; align-items:center; justify-content:space-between; padding:14px 17px; min-height:73px; border:1px solid #d8d9c9; border-radius:11px; background:#fffcf4ed; color:#303727; text-align:left; transition:background .2s,border-color .2s; }
.finder-service:hover { border-color:#87956b; background:#fffef8; }
.finder-service small { display:block; font-size:10px; line-height:1.6; color:#697255; }
.finder-service strong { display:block; font-size:15px; line-height:1.6; letter-spacing:-.02em; font-weight:500; }
.finder-service-price { display:flex; align-items:center; gap:17px; font-size:13px; white-space:nowrap; color:#475735; }
.finder-service .icon { width:17px; height:17px; }
.finder-all-link { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; color:#596548; padding:18px 1px 0; min-height:43px; }
.finder-all-link:hover span { text-decoration:underline; text-underline-offset:4px; }
.finder-all-link .icon { width:16px; height:16px; }
.finder .finder-guide { margin-top:32px; padding:22px 0 0; border-bottom:0; border-top:1px solid #d5d2c3; font-size:13px; align-items:center; }
.finder .finder-guide button { font-size:13px; padding-block:0; }
.finder-art-scroll { rotate:calc((var(--sc-p,0) - .5) * 28deg); }
@media(min-width:761px) and (max-width:1100px) {
 .finder { padding-block:78px 68px; }
 .finder-heading { gap:30px; }.finder-heading>p { font-size:13px; max-width:350px; }.finder-heading h2 { font-size:54px; }
 .finder-layout { gap:24px; grid-template-columns:1fr 1fr; }
 .finder .need-option { gap:12px; padding:18px 15px!important; min-height:110px; }.finder .need-copy strong { font-size:15px; }.finder .need-copy small { font-size:11px; }.finder .need-indicator { width:30px; height:30px; }
 .finder .finder-result { padding:27px 25px; min-height:600px; }.finder-result-top { flex-wrap:wrap; row-gap:7px; margin-bottom:32px; }.finder .result-copy h3 { font-size:36px; }.finder .result-copy>p { font-size:12px; }.finder-service { padding:13px 14px; gap:12px; }.finder-service strong { font-size:13px; }.finder-service-price { font-size:12px; gap:10px; }
}
@media(max-width:760px) {
 .finder { padding-block:62px 52px; }.finder-heading { display:block; margin-bottom:30px; }.finder-eyebrow { font-size:9px!important; max-width:none!important; margin-bottom:19px!important; }.finder-heading h2 { font-size:46px; }.finder-heading>p { font-size:14px; margin-top:23px; line-height:1.8; max-width:360px; }.finder-heading>p br { display:none; }
 .finder-layout { display:flex; flex-direction:column; gap:25px; }.finder-choice-label { font-size:10px; margin-bottom:15px; }.finder .finder-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
 .finder .need-option { display:grid; grid-template-columns:1fr 26px; align-items:start; gap:12px 7px; padding:17px 14px!important; min-height:173px; border-radius:13px; }.finder .need-number { padding:0; grid-column:1; grid-row:1; font-size:10px; }.finder .need-indicator { grid-column:2; grid-row:1; width:25px; height:25px; margin-top:-5px; }.finder .need-indicator>.icon { width:13px; height:13px; }.finder .need-copy { grid-row:2; grid-column:1/-1; align-self:start; }.finder .need-copy strong { font-size:15px; line-height:1.45; min-height:43px; }.finder .need-copy small { font-size:11px; line-height:1.65; margin-top:8px; }.finder .need-option:hover { transform:none; }
 .finder .need-option { grid-template-rows:20px 1fr; }
 html { scroll-padding-bottom:100px; }.finder a,.finder button { scroll-margin-bottom:100px; }
 .finder-next { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:49px; margin-top:17px; padding:13px 18px; border-radius:11px; background:#66774b; color:#fff; font-size:13px; }.finder-next .icon { width:18px; height:18px; rotate:90deg; }
 .finder-human { padding-top:20px; font-size:11px; gap:12px; }.finder-human strong { font-size:12px; }.finder-human-portraits img { width:34px; height:34px; }
 .finder .finder-result { min-height:549px; padding:25px 24px 23px; border-radius:20px; }.finder-result-top { margin-bottom:36px; font-size:9px; gap:10px; }.finder-selected-note { font-size:9px; }.finder-current { letter-spacing:.025em; }.finder .result-kicker { font-size:11px; margin-bottom:15px; }.finder .result-copy h3 { font-size:35px; line-height:1.08; }.finder .result-copy>p { font-size:13px; margin-top:20px; }.finder-art-scroll { right:-195px; top:32px; }.finder-art-line { opacity:.2; }.finder-art-detail { left:-215px; bottom:-110px; }.finder-routes { padding-top:25px; }.finder-service { padding:13px 13px; gap:10px; min-height:75px; }.finder-service strong { font-size:14px; }.finder-service small { font-size:9px; }.finder-service-price { gap:11px; font-size:12px; }.finder-all-link { font-size:11px; padding-top:19px; }.finder .finder-guide { margin-top:26px; padding-top:21px; font-size:12px; }.finder .finder-guide button { font-size:12px; margin-top:9px; }
}
@media(max-width:375px){.finder-heading h2 { font-size:43px; }.finder .need-option { padding:16px 12px!important; min-height:192px; }.finder .need-copy strong { font-size:14px; }.finder .need-copy small { font-size:11px; }.finder .finder-result { padding-inline:21px; }.finder .result-copy h3 { font-size:32px; }.finder-service strong { font-size:13px; }.finder-service-price { font-size:11px; gap:7px; }}
@media(prefers-reduced-motion:reduce){.finder-art-scroll { transform:none!important; rotate:0deg; }.finder-art-line,.finder-art-detail { transition:none; }.finder .need-option:hover { transform:none; }}
