/* 커플 중심의 한 화면 전환과 모바일 장면 내부 스크롤을 정의한다. */
:root{--paper:#f6f3ed;--ink:#343530;--yellow:#fed567;--muted:#74736c;--line:#d9d7d3;--blue:#557a8a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:16px}.skip:focus{top:8px}header{height:88px;display:flex;align-items:center;gap:25px;padding:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}.logo img{width:165px;height:auto;display:block}header nav{display:grid;grid-template-columns:repeat(4,max-content);column-gap:60px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:16;align-items:center;height:96px}header nav button{background:none;border:0;padding:12px 0;font-size:14px}header nav button:hover,header nav button.active{color:var(--blue)}.col-1{grid-column:1}.col-2{grid-column:2}.col-3{grid-column:3}.col-4{grid-column:4}.nav-top{border-bottom:2px solid transparent}header:hover .nav-top,header:has(:focus-visible) .nav-top{border-bottom-color:var(--blue)}.mega-backdrop{position:absolute;top:100%;left:0;right:0;height:90px;background:#fff;display:none;z-index:15}header:hover .mega-backdrop,header:has(:focus-visible) .mega-backdrop{display:block}.mega-col{position:absolute;top:calc(100% - 23px);display:none;flex-direction:column;gap:16px;padding:4px 0 20px;white-space:nowrap;z-index:20;background:#fff}header:hover .mega-col,header:has(:focus-visible) .mega-col{display:flex}.mega-col a,.mega-col button{background:none;border:0;font:inherit;color:var(--muted);text-align:left;padding:0;font-size:14px;cursor:pointer}.mega-col a:hover,.mega-col button:hover{color:var(--blue)}.nav-group{position:relative}.nav-top{background:none;border:0;padding:12px 0;font-size:14px;font:inherit;color:inherit;cursor:pointer}.nav-group:hover .nav-top,.nav-group:focus-within .nav-top{color:var(--blue)}.nav-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:none;flex-direction:column;gap:2px;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px;min-width:140px;box-shadow:0 10px 24px rgba(0,0,0,.08);z-index:20}.nav-group:hover .nav-drop,.nav-group:focus-within .nav-drop{display:flex}.nav-drop a,.nav-drop button{background:none;border:0;font:inherit;color:inherit;text-align:left;padding:9px 12px;font-size:13px;border-radius:5px;white-space:nowrap;cursor:pointer}.nav-drop a:hover,.nav-drop button:hover{background:var(--yellow);color:var(--ink)}.top-cta{display:flex;gap:25px;align-items:center;font-size:14px;padding:14px 22px;background:var(--yellow);border-radius:3px;font-weight:700}main{height:calc(100svh - 162px);min-height:480px;position:relative;overflow:hidden;touch-action:pan-y}.scene{height:100%;width:100%;overflow-y:auto;position:absolute;inset:0;background:var(--paper);padding:42px 7%;animation:enter .65s cubic-bezier(.2,.7,.2,1)}.scene[hidden]{display:none!important}@keyframes enter{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}.home{padding:0;overflow:hidden;background:#ede8df}.hero-text{position:relative;z-index:2;width:58%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:35px 0 60px 7%;background:linear-gradient(90deg,#ede8df 70%,#ede8df00)}.eyebrow{font-size:12px;letter-spacing:.13em;margin:0 0 25px;font-weight:600}.hero-text h1{font-size:clamp(42px,4.7vw,76px);line-height:1.2;letter-spacing:-.065em;font-weight:450;margin:0 0 25px}h1 span,h2 span{font-weight:750}.lead{font-size:18px;line-height:1.85;font-weight:400;color:#63645d;margin:0 0 28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:19px 26px;border-radius:3px;width:max-content;font-size:16px;font-weight:700;transition:transform .2s}.button:hover{transform:translateY(-3px)}.yellow{background:var(--yellow);color:#302e25}.caption{font-size:12px;margin:15px 0 0;color:#716e64}.couple-window{position:absolute;right:0;top:0;width:52%;height:100%;overflow:hidden;background:#e8e0d5}.couple-window img{position:absolute;width:auto;max-width:none;height:127%;top:-12%;right:-14%;user-select:none;pointer-events:none}.couple-window:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ede8df,transparent 27%,transparent 95%,#ede8df25)}.section-tag{font-size:11px;letter-spacing:.14em;color:var(--muted);margin-bottom:25px}h2{font-size:clamp(30px,3.1vw,49px);font-weight:450;line-height:1.35;letter-spacing:-.05em;margin:0}.philosophy{background:#e9ede9;display:flex;flex-direction:column}.philosophy-main{flex:1;padding:5px 0 15px}.philosophy-main h2{margin-bottom:20px}.philosophy-main .lead{font-size:16px}.values{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #bdc7bf;padding-top:22px;gap:30px}.values span{font-size:12px;color:var(--blue)}.values h3{font-size:20px;font-weight:600;margin:12px 0}.values p{font-size:15px;color:#626c64;line-height:1.65;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:35px}.section-heading>p{font-size:16px;line-height:1.75;color:var(--muted);margin:0}.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:45px}.journey-steps article{border-top:1px solid #acb4ae;padding-top:22px}.journey-steps b{font-size:45px;font-weight:400;letter-spacing:-.05em;color:#557a8a}.journey-steps h3{font-size:21px;margin:25px 0 14px}.journey-steps p{font-size:16px;line-height:1.75;color:#6a6e65;min-height:100px}.journey-steps span{font-size:13px;display:inline-block;padding:9px 13px;background:#e9e6dc;border-radius:100px}.journey-note{margin-top:32px;font-size:14px;color:var(--muted)}.ceo{padding:0;display:grid;grid-template-columns:45% 55%;background:#e9e7e0}.ceo-photo{height:100%;overflow:hidden}.ceo-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 23%;user-select:none}.ceo-copy{padding:40px 11% 30px;display:flex;flex-direction:column;justify-content:center}.ceo-copy .eyebrow{margin-top:12px;font-size:13px;letter-spacing:0}.ceo-copy h2{margin-bottom:25px}.ceo-copy .lead{font-size:17px}.ceo-detail{font-size:15px;line-height:1.8;color:#696b63;margin:0 0 24px}.signature{font-size:14px;padding-top:22px;border-top:1px solid #c7c6bc}.signature strong{margin-left:15px;font-size:24px;letter-spacing:.08em}.programs{padding-top:26px;padding-bottom:22px}.programs .section-tag{margin-bottom:12px}.programs .section-heading{margin-bottom:20px}.programs h2{font-size:32px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1150px;margin:0 auto}.program{border:1px solid #cfc8b8;padding:23px 27px;display:flex;flex-direction:column;background:#fffdf8}.program-label{font-size:10px;letter-spacing:.15em;color:#737468}.program h3{font-size:25px;margin:9px 0 10px}.meetings{font-size:16px}.meetings strong{font-size:40px;font-weight:500;margin-right:8px}.program ul{padding:0;list-style:none;font-size:14px;line-height:1.7;margin:12px 0;flex:1;min-height:94px}.program li:before{content:'✓';margin-right:9px}.balance{background:#f9df8e;border-color:#e9c766}.signature-card{background:#343c38;color:#f8f3e7;border-color:#343c38}.signature-card .program-label{color:#e1cc8f}.price{font-size:31px;font-weight:600;border-top:1px solid #9996;padding-top:14px}.price span{font-size:15px;margin-left:5px;font-weight:400}.program-cta{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;border-radius:5px;font-size:14px;font-weight:700;background:#f2ede0;color:#302e25;border:1px solid #d9d2bf}.balance .program-cta{background:#302e25;color:#fed567;border-color:#302e25}.signature-card .program-cta{background:#fed567;color:#302e25;border-color:#fed567}.term{font-size:12px;margin:8px 0 0}.program-note{text-align:center;font-size:12px;color:var(--muted);margin:17px 0 0}.contact{background:#37443e;color:#fff9ed;display:flex;flex-direction:column}.contact .section-tag{color:#c6c9bd}.contact-main{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.contact h2{font-size:clamp(46px,5vw,76px);margin-bottom:20px}.contact .lead{color:#cdd0c6;font-size:17px}
.contact-whisper{margin:0 0 18px;font-size:15px;font-style:italic;letter-spacing:.02em;color:#cdd0c6;opacity:.85}.contact-links{display:flex;gap:28px;margin:23px 0;font-size:14px}.contact-links a{border-bottom:1px solid #7c8980;padding-bottom:5px}footer{display:flex;justify-content:space-between;border-top:1px solid #68766c;padding-top:18px;font-size:12px;color:#c9cfc6}.scene.dragging{user-select:none}
@media(min-height:900px){.scene:not(.home):not(.ceo){padding-top:60px;padding-bottom:45px}.programs .section-heading{margin-bottom:35px}.program{padding:32px}.program ul{line-height:2;min-height:145px}.philosophy-main{padding-top:40px}}
@media(max-width:1000px){header nav{gap:16px}header nav button{font-size:13px}.hero-text h1{font-size:49px}.couple-window{width:56%}.couple-window img{right:-37%}.values h3{font-size:18px}.journey-steps{gap:16px}.journey-steps h3{font-size:18px}.program{padding:19px}.ceo-copy{padding:30px 9%}}
@media(max-width:700px){header{height:72px;padding:0 5%;gap:12px}.logo img{width:125px}header nav{display:none}.top-cta{font-size:12px;padding:12px 14px;gap:15px}main{height:calc(100svh - 136px);min-height:390px}.scene{padding:28px 7%}.home{padding:0}.hero-text{width:100%;height:auto;padding:35px 7% 20px;background:linear-gradient(#ede8df 75%,#ede8df00);position:relative;z-index:2;justify-content:flex-start}.hero-text .eyebrow{font-size:9px;margin-bottom:17px}.hero-text h1{font-size:clamp(34px,8.5vw,51px);margin-bottom:15px}.hero-text .lead{font-size:14px;line-height:1.65;margin-bottom:17px}.button{font-size:14px;padding:15px 21px;gap:30px}.caption{font-size:10px;margin-top:10px}.couple-window{width:100%;height:58%;top:auto;bottom:0}.couple-window img{height:145%;top:-12%;right:-10%}.couple-window:after{background:linear-gradient(#ede8df,transparent 35%)}.section-tag{font-size:10px;margin-bottom:25px}h2{font-size:31px}.philosophy-main .eyebrow{font-size:11px;letter-spacing:0}.philosophy-main .lead{font-size:14px}.values{grid-template-columns:1fr;gap:20px;padding-top:20px;margin-top:10px}.values>div{display:grid;grid-template-columns:25px 1fr;gap:0 12px}.values span{padding-top:3px}.values h3{margin:0 0 8px;font-size:18px}.values p{grid-column:2;font-size:14px}.values br{display:none}.section-heading{display:block;margin-bottom:25px}.section-heading>p{font-size:14px;margin-top:18px}.journey-steps{grid-template-columns:1fr;gap:22px;margin-top:20px}.journey-steps article{display:grid;grid-template-columns:45px 1fr;gap:0 15px;padding-top:18px}.journey-steps b{grid-row:1/4;font-size:30px}.journey-steps h3{margin:0 0 8px}.journey-steps p{min-height:0;margin:0 0 12px;font-size:14px}.journey-steps span{grid-column:2;width:max-content;font-size:12px}.journey-note{font-size:12px;line-height:1.7}.ceo{display:flex;flex-direction:column;padding:0}.ceo-photo{height:280px;min-height:280px}.ceo-photo img{object-position:50% 24%}.ceo-copy{padding:27px 7%}.ceo-copy .lead{font-size:15px}.ceo-copy .section-tag{margin-bottom:14px}.programs h2{font-size:31px}.program-grid{grid-template-columns:1fr;gap:16px}.program{padding:23px 25px}.program ul{min-height:0}.program h3{font-size:26px}.program-note{text-align:left;line-height:1.8;margin-bottom:10px}.contact{min-height:100%}.contact-main{min-height:440px}.contact h2{font-size:48px}.contact .lead{font-size:14px}
.contact-whisper{font-size:12px;margin-bottom:12px}.contact .eyebrow{font-size:11px}.contact-links{gap:22px;font-size:13px}footer{font-size:10px;gap:20px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){.scene{animation:none}*{transition:none!important}}
/* 참고 이미지의 기존 화면 요소가 보이지 않도록 사진 표시 영역을 제한한다. */
@media(max-width:700px){.couple-window img{height:155%;right:-23%;top:-14%}}
/* 사진은 화면 전체를 채우고 헤더와 문구는 사진 위에 겹친다. */
html,body{height:100%;overflow:hidden}
header{position:fixed;inset:0 0 auto;height:96px;border:0;background:linear-gradient(var(--paper) 65%,transparent);padding:0 4%;transition:color .3s}
body.on-home header{color:white;background:linear-gradient(#13271c80,transparent)}
body.on-home .logo{background:#fffef4ed;padding:10px 14px;border-radius:4px}
body.on-home nav button:hover,body.on-home nav button.active{color:var(--yellow)}
.top-cta{color:var(--ink)}
main{height:100svh;min-height:0}
.scene:not(.home):not(.ceo){padding-top:126px}
.scene{animation:enter .7s cubic-bezier(.2,.7,.2,1)}
@keyframes enter{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
.home{background:#263b30}
.couple-window{inset:0;width:100%;height:100%;background:#263b30}
.couple-window img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:100%}
.couple-window:after{background:linear-gradient(180deg,#0b201a15 10%,#10221b20 40%,#0c201ae0 100%)}
.hero-text{width:100%;height:100%;padding:125px 6% 7vh;align-items:center;justify-content:flex-end;text-align:center;background:none;color:white;pointer-events:none}
.hero-text a{pointer-events:auto}
.hero-text .eyebrow{font-size:12px;letter-spacing:.23em;margin-bottom:18px;text-shadow:0 2px 18px #163326}
.hero-text h1{font-size:clamp(45px,5vw,82px);font-weight:500;letter-spacing:-.055em;line-height:1.2;margin-bottom:20px;text-shadow:0 3px 35px #102b2499}
.hero-text .lead{color:#ffffffed;font-size:18px;line-height:1.7;margin-bottom:23px}
.hero-text .caption{color:#ffffffba;font-size:11px}
.hero-text .button{border-radius:2px;min-width:210px;justify-content:space-between}
.ceo-copy{padding-top:116px}
@media(max-width:700px){
 header{height:78px;padding:0 5%}
 body.on-home .logo{padding:7px 10px}
 .logo img{width:112px}
 main{height:100svh;min-height:0}
 .hero-text{height:100%;width:100%;padding:100px 6% 6vh;justify-content:flex-end;background:none}
 .hero-text .eyebrow{font-size:8px;margin-bottom:13px;letter-spacing:.18em}
 .hero-text h1{font-size:clamp(35px,9vw,54px);margin-bottom:16px}
 .hero-text .lead{font-size:14px;margin-bottom:20px}
 .hero-text .caption{font-size:9px}
 .couple-window{inset:0;width:100%;height:100%}
 .couple-window img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:100%}
 .couple-window:after{background:linear-gradient(180deg,#11271f15,#11271f20 25%,#10221b90 55%,#0c201aef)}
 .scene:not(.home):not(.ceo){padding-top:100px}
 .ceo-photo{height:50svh;min-height:330px}
 .ceo-copy{padding:28px 7%}
}
@media(prefers-reduced-motion:reduce){.scene{animation:none}}
/* 좁은 화면에서도 두 사람의 얼굴을 함께 보여준다. */
@media(max-width:700px){
 .couple-window{background:linear-gradient(160deg,#99977a,#415549 70%)}
 .couple-window img{top:15%;height:auto;width:100%;object-fit:contain;mask-image:linear-gradient(transparent,black 15%,black 78%,transparent)}
 .couple-window:after{background:linear-gradient(180deg,#11271f18 15%,transparent 28%,#11271f75 53%,#0c201aef 100%)}
}
/* 원형 탐색과 넓은 대표 소개를 공통 배경 위에 배치한다. */
body.on-home .logo{background:none;padding:0;border-radius:0}
.logo img{width:190px}
.page-dots{position:fixed;right:6px;top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;gap:6px}
.page-dots button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent}
.page-dots button span{width:4px;height:4px;background:#3a3a3a;opacity:.35;border-radius:50%;transition:transform .25s,opacity .25s}
.page-dots button[aria-current=true] span{transform:scale(1.65);opacity:1}
body.on-home .page-dots button span,body.on-contact .page-dots button span{background:#fff}
.ceo{display:block;background:radial-gradient(ellipse at 24% 20%,#f0f2db 0%,#dce8d7 44%,#adc7b8 100%);isolation:isolate}
.ceo-photo{position:absolute;left:-2%;bottom:-8%;width:57%;height:100%;overflow:visible;pointer-events:none}
.ceo-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.ceo-copy{position:relative;margin-left:51%;width:43%;height:100%;padding:115px 2% 40px 0;display:flex;justify-content:center;background:none}
.ceo-copy .section-tag{margin-bottom:24px;color:#4b6559}
.ceo-copy .eyebrow{font-size:16px;margin:0 0 16px}
.ceo-copy h2{font-size:clamp(42px,4.25vw,76px);line-height:1.24;letter-spacing:-.055em;margin-bottom:25px}
.ceo-copy .lead{font-size:clamp(17px,1.45vw,23px);line-height:1.7;margin-bottom:20px;color:#344b41}
.ceo-detail{font-size:15px;max-width:460px;color:#405b4f;margin-bottom:22px}
.signature{border:0;padding:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.signature strong{font-size:29px;margin-left:10px}
.signature img{width:220px;height:84px;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:1000px) and (min-width:701px){.ceo-copy h2{font-size:40px}.ceo-copy .lead{font-size:17px}.ceo-detail{font-size:13px}.signature img{width:170px;height:65px}header nav:not(.page-dots){gap:12px}.logo img{width:150px}}
@media(max-width:700px){
 .logo img{width:132px}
 .page-dots{right:4px;gap:4px}
 .page-dots button{width:22px;height:22px}
 .page-dots button span{width:5px;height:5px}
 .ceo{display:block;overflow-y:auto}
 .ceo-photo{left:-16%;bottom:0;width:94%;height:71%;min-height:0;opacity:1}
 .ceo-photo img{object-position:left bottom}
 .ceo-copy{margin-left:29%;width:65%;min-height:100%;height:auto;padding:108px 3% 30px 0;justify-content:flex-start;text-shadow:0 1px 14px #e3ecdab3}
 .ceo-copy .section-tag{font-size:8px;margin-bottom:16px}
 .ceo-copy .eyebrow{font-size:11px;margin-bottom:13px}
 .ceo-copy h2{font-size:clamp(29px,7.7vw,43px);margin-bottom:18px}
 .ceo-copy .lead{font-size:13px;line-height:1.75;margin-bottom:15px}
 .ceo-detail{font-size:11px;line-height:1.7;margin-bottom:18px}
 .signature{font-size:11px;gap:3px}
 .signature strong{font-size:21px;margin-left:5px}
 .signature img{width:145px;height:59px}
}
/* 모바일에서는 본문과 인물이 겹치지 않도록 같은 배경 안에서 이어 읽는다. */
@media(max-width:700px){
 .ceo{display:flex;flex-direction:column}
 .ceo-copy{order:0;margin:0;width:100%;height:auto;min-height:0;flex-shrink:0;padding:105px 11% 10px 8%;text-shadow:none}
 .ceo-copy h2{font-size:clamp(35px,9vw,48px)}
 .ceo-copy .lead{font-size:15px}
 .ceo-detail{font-size:13px}
 .ceo-photo{order:1;position:relative;left:0;bottom:auto;width:100%;height:67svh;min-height:430px;flex-shrink:0}
 .ceo-photo img{object-position:center bottom}
 .signature{font-size:13px}
 .signature img{width:180px;height:65px}
}

@media(min-width:701px){.ceo{overflow:hidden}}
@media(min-width:701px){.ceo-photo{left:-8%;bottom:-42%;width:68%;height:140%}}
/* 제목부터 읽히는 구성과 투명 헤더, 노란 대표 화면을 적용한다. */
header,body.on-home header{background:transparent}
header::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:#fff;opacity:0}
header:hover::before,header:has(:focus-visible)::before{opacity:1}
body.on-home header:hover{color:var(--ink)}
.scene{animation:none!important}
.ceo{background:radial-gradient(ellipse at 25% 25%,#fff6d9,#f6e6ba 58%,#edd59c)}
.ceo-copy{margin-left:50%;width:44%;padding:115px 1% 35px 0}
.ceo-copy h2{font-size:clamp(48px,4.7vw,78px);font-weight:800;margin:0 0 20px;line-height:1.15}
.ceo-subtitle{font-size:clamp(22px,2vw,33px);font-weight:600;margin:0 0 26px;line-height:1.4;letter-spacing:-.04em}
.ceo-story{font-size:clamp(15px,1.2vw,19px);line-height:1.9;margin:0 0 22px;color:#554b37}
.ceo-quote{margin:0 0 22px;padding-left:16px;border-left:3px solid var(--yellow);}
.ceo-quote p{margin:0 0 6px;font-size:15px;font-style:italic;line-height:1.6;color:#554b37}
.ceo-quote cite{font-style:normal;font-size:12px;color:#8a8271}
.ceo-career{list-style:none;padding:0;margin:0 0 12px;font-size:clamp(14px,1.12vw,18px);line-height:1.9;color:#554b37}
.ceo-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:17px}
.ceo-links a{display:flex;justify-content:space-between;gap:18px;padding:13px 18px;border:1px solid #8c744f55;border-radius:50px;font-size:14px;background:#ffffff5e}
.ceo-links a:hover{background:#fff9e8}
@media(min-width:701px){.ceo-photo{left:-6%;top:16%;bottom:auto;width:62%;height:112%}}
@media(min-width:701px) and (max-height:760px){.ceo-copy{padding-top:95px;padding-bottom:18px}.ceo-copy h2{font-size:48px;margin-bottom:12px}.ceo-subtitle{font-size:24px;margin-bottom:16px}.ceo-story{font-size:14px;margin-bottom:12px}.ceo-career{font-size:13px;margin-bottom:4px}.signature img{height:60px}.ceo-links{margin-top:8px}.ceo-links a{padding:10px 13px}}
@media(max-width:700px){.ceo-copy{margin:0;width:100%;padding:105px 11% 15px 8%}.ceo-copy h2{font-size:clamp(37px,10vw,52px)}.ceo-subtitle{font-size:21px;margin-bottom:22px}.ceo-story{font-size:14px;line-height:1.85}.ceo-story br{display:none}.ceo-career{font-size:13px}.ceo-links{gap:8px}.ceo-links a{font-size:12px;padding:10px 13px}.ceo-photo{height:65svh;min-height:400px}.signature img{height:65px}}
/* 꿀벌 상담 버튼은 마우스와 키보드 초점에 반응한다. */
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.top-cta{padding:5px 14px 5px 6px;gap:4px;border-radius:7px;white-space:nowrap;font-size:14px}
.consult-bee{width:44px;height:44px;object-fit:contain;flex-shrink:0;transform-origin:50% 80%}
.naver-booking{display:flex;align-items:center;justify-content:center;gap:7px;padding:15px 17px;border:0;border-radius:7px;background:#03c75a;color:white;font-size:14px;font-weight:700;white-space:nowrap}
.naver-booking b{font-size:19px;font-weight:900;line-height:1}
.naver-booking:disabled{opacity:1;cursor:default}
.hero-text .consult-cta,.consult-cta{min-width:0;padding:8px 22px 8px 12px;gap:8px;border-radius:7px;justify-content:center}
.top-cta:hover .consult-bee,.top-cta:focus-visible .consult-bee,.consult-cta:hover .consult-bee,.consult-cta:focus-visible .consult-bee,.interview-cta:hover .consult-bee,.interview-cta:focus-visible .consult-bee{animation:bee-greeting .75s ease-in-out infinite}
@keyframes bee-greeting{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-5px) rotate(-9deg)}65%{transform:translateY(-3px) rotate(8deg)}}
@media(max-width:1000px){header nav:not(.page-dots){gap:14px}.header-actions{gap:7px}.logo img{width:150px}}
@media(max-width:700px){header{padding:0 4%;gap:8px}.logo img{width:105px}.header-actions{gap:6px}.top-cta{font-size:11px;padding:5px 8px 5px 3px;gap:1px}.top-cta .consult-bee{width:29px;height:29px}.naver-booking{font-size:11px;padding:12px 9px;gap:4px}.naver-booking b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.consult-bee{animation:none!important}}
/* 상단 개인 메뉴와 모든 장면에서 유지되는 세 가지 신청 버튼이다. */
.direct-phone,.login-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:none;border:0;color:#161616;font-size:14px;font-weight:600;padding:12px 8px;white-space:nowrap}
.login-button{border-left:1px solid #3334;padding-left:18px}
.login-button:disabled{opacity:1;cursor:default}
.fixed-actions{position:fixed;z-index:30;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:stretch}
.fixed-actions>a,.fixed-actions>button{height:58px;min-width:150px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:15px;font-weight:700;box-shadow:0 5px 20px #0002;white-space:nowrap}
.fixed-actions .consult-cta{background:var(--yellow);color:#302e25;padding:12px 22px}
.cost-cta{background:#fffdf8;color:#302e25;border:1px solid #d9d2bf;padding:12px 22px}.interview-cta{background:#03c75a;color:#fff;padding:4px 16px 4px 8px;gap:4px}
.scene:not(.home):not(.ceo){padding-bottom:118px}
.hero-text{padding-bottom:150px}
.ceo-copy{padding-bottom:115px}
#phone-card{width:min(480px,86vw);padding:80px 32px;border:1px solid #9c8040;border-radius:2px;background-color:#111110;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.12' d='M0 0h180v180H0z'/%3E%3C/svg%3E"),linear-gradient(130deg,#22221e,#090909);color:#dbc28a;box-shadow:0 28px 100px #0009;text-align:center;overflow:visible}
#phone-card::before{content:'';position:absolute;inset:10px;border:1px solid #a88a4677;pointer-events:none}
#phone-card::backdrop{background:#0009;backdrop-filter:blur(5px)}
#phone-card>a{font-family:Georgia,serif;font-size:clamp(25px,3vw,36px);letter-spacing:.09em;white-space:nowrap;text-shadow:0 1px 1px #fff1}
.phone-card-close{position:absolute;top:-35px;right:-4px;width:30px;height:30px;border:0;background:none;color:#fff;font-size:26px;line-height:1}
@media(max-width:700px){.header-actions{gap:4px}.direct-phone,.login-button{font-size:12px;padding:10px 4px}.login-button{padding-left:10px}.fixed-actions{bottom:calc(14px + env(safe-area-inset-bottom));gap:6px;width:calc(100% - 24px)}.fixed-actions>a,.fixed-actions>button{height:50px;min-width:0;flex:1;font-size:12px;padding:6px}.fixed-actions .interview-cta{padding:4px;gap:1px}.fixed-actions .consult-bee{width:30px;height:30px}.fixed-actions .naver-booking{gap:4px}.hero-text{padding-bottom:130px}.ceo-copy{padding-bottom:20px}.ceo{padding-bottom:96px}.scene:not(.home):not(.ceo){padding-bottom:100px}}

/* ── 화면 진입 시 글자 탁탁 올라오기 ── */
.scene.active .hero-text>*{animation:hero-pop 1.1s cubic-bezier(.16,.9,.3,1) both}
.scene.active .hero-text>*:nth-child(1){animation-delay:.15s}
.scene.active .hero-text>*:nth-child(2){animation-delay:.4s}
.scene.active .hero-text>*:nth-child(3){animation-delay:.65s}
.scene.active .hero-text>*:nth-child(4){animation-delay:.9s}
@keyframes hero-pop{
  0%{opacity:0;transform:translateY(18px)}
  100%{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  .leaf{animation:none;display:none}
  .scene.active .hero-text>*{animation:none}
}
/* 다섯 단계의 만남 여정을 따뜻한 일러스트와 짧은 설명으로 안내한다. */
.journey{background:radial-gradient(ellipse at 8% 4%,#fff2cf,transparent 52%),#f8f4ea}
.journey .section-heading{align-items:flex-end;margin-bottom:30px}
.journey .section-heading h2{font-size:clamp(32px,3.1vw,51px);line-height:1.3}
.journey .section-heading>p{font-size:16px;color:#72664e;line-height:1.8}
.journey .section-heading strong{color:#65532f;font-weight:600}
.journey-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.journey-flow>li{min-width:0}
.journey-art{width:100%;height:clamp(135px,13.5vw,210px);background-image:url('assets/만남의 여정/만남의 여정 일러스트 1차.png');background-size:500% auto;background-repeat:no-repeat;border-radius:70px 70px 12px 12px;overflow:hidden;background-color:#fffaf0}
.journey-art-1{background-position:0% 25%}.journey-art-2{background-position:25% 25%}.journey-art-3{background-position:50% 25%}.journey-art-4{background-position:75% 25%}.journey-art-5{background-position:100% 25%}
.journey-copy{padding-top:20px}
.journey-number{display:flex;align-items:center;gap:13px;font-size:13px;letter-spacing:.06em;color:#9c7a35;font-weight:600}
.journey-number::after{content:'';flex:1;height:1px;background:#d9c89f}
.journey-flow h3{font-size:clamp(19px,1.65vw,26px);letter-spacing:-.04em;margin:14px 0 12px;line-height:1.3}
.journey-flow p{font-size:15px;line-height:1.85;color:#6c665b;margin:0;word-break:keep-all}
.journey-reassurance{display:inline-block;font-size:11px;color:#927036;margin-top:18px;letter-spacing:.01em}
@media(min-width:701px) and (max-height:780px){.journey .section-heading{margin-bottom:20px}.journey .section-heading h2{font-size:34px}.journey-art{height:140px}.journey-copy{padding-top:14px}.journey-flow p{font-size:14px;line-height:1.7}.journey-flow h3{margin:10px 0}.journey-reassurance{margin-top:12px}}
@media(min-width:701px) and (max-width:1050px){.journey-flow{gap:13px}.journey-flow p{font-size:13px}.journey-flow h3{font-size:18px}.journey-art{height:140px}}
@media(max-width:700px){.journey .section-heading{display:block;margin-bottom:30px}.journey .section-heading h2{font-size:32px}.journey .section-heading>p{font-size:14px;margin-top:20px}.journey-flow{grid-template-columns:1fr;gap:27px}.journey-flow>li{display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;align-items:start;padding-bottom:24px;border-bottom:1px solid #e5dcc7}.journey-flow>li:last-child{border-bottom:0}.journey-art{height:155px;border-radius:52px 52px 10px 10px}.journey-copy{padding-top:0}.journey-flow h3{font-size:21px;margin:10px 0}.journey-flow p{font-size:14px;line-height:1.8}.journey-reassurance{font-size:10px;margin-top:12px}}
.placeholder-main{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 6%;gap:14px}.placeholder-eyebrow{margin:0;font-size:13px;letter-spacing:.08em;color:var(--muted)}.placeholder-main h1{margin:0;font-size:clamp(28px,4vw,38px)}.placeholder-desc{margin:0 0 10px;color:var(--muted);font-size:15px}.placeholder-home{padding:12px 22px;border:1px solid var(--line);border-radius:6px;font-size:14px}.placeholder-home:hover{background:var(--yellow)}