@charset "UTF-8";
:root{--pine:#1a352b;--pine-deep:#0f2925;--cream:#f7f2e9;--paper:#fffdf8;--ink:#29352e;--muted:#667166;--terra:#a46a4a;--line:#dcd5c6;--leaf:#dbe7c2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--cream);color:var(--ink);font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;word-break:keep-all;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.07em}
section{scroll-margin-top:82px}
:focus-visible{outline:3px solid #b88752;outline-offset:4px}
.skip-link{position:absolute;z-index:50;top:-100px;left:16px;padding:14px 18px;background:#fff;color:#173b2a;border-radius:4px}
.skip-link:focus{top:12px}
.preview-strip{display:flex;align-items:center;justify-content:center;gap:10px;background:#ede8db;color:#745c45;min-height:36px;padding:8px 22px;text-align:center;font-size:11px;line-height:1.5;font-weight:700}
.status-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#b1844c}
.masthead{position:sticky;top:0;z-index:30;height:76px;padding:0 clamp(20px,5vw,85px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(249,247,241,.97);border-bottom:1px solid #e6e1d6;backdrop-filter:blur(14px)}
.brand{font-size:24px;font-weight:900;letter-spacing:-.08em;white-space:nowrap;color:#163a2b}
.brand-leaf{font-size:16px;margin-right:8px;color:#688a5a}.brand-period{color:#ad7853}
.masthead nav{display:flex;align-items:center;gap:clamp(17px,2.5vw,39px);font-size:13px;font-weight:750;color:#49554b}
.masthead nav a:hover,.text-link:hover,.beyond-links a:hover{color:#ae734f}
.masthead nav .nav-install{border:1px solid #2e4f41;padding:11px 17px;border-radius:50px;color:#173d2b}
.masthead nav .nav-install:hover{background:#173d2b;color:#fff}
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 83% 24%,rgba(255,255,255,.82),transparent 44%),linear-gradient(126deg,#e9e1d1 0%,#f3efdf 44%,#ede6d7 100%)}
.hero-grain{position:absolute;z-index:-1;inset:0;opacity:.55;background:repeating-linear-gradient(94deg,rgba(54,47,31,.015) 0 1px,transparent 1px 4px),radial-gradient(ellipse at 3% 75%,rgba(119,157,110,.15),transparent 39%)}
.hero-inner{width:min(1220px,calc(100% - 80px));margin:auto;min-height:calc(90vh - 110px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(25px,5vw,85px);padding:78px 0 52px}
.hero-copy{position:relative;z-index:2}
.eyebrow{display:flex;align-items:center;gap:11px;color:#976f55;letter-spacing:.18em;font-size:10px;font-weight:900}
.eyebrow-line{display:inline-block;width:28px;height:1px;background:#ae8a6b}
.hero-kicker{font-family:"Batang","Noto Serif KR",serif;font-size:clamp(17px,2vw,25px);margin:36px 0 15px;color:#8d6b51}
.hero h1{font-size:clamp(42px,5.3vw,78px);font-weight:900;letter-spacing:-.095em;line-height:1.24;margin:0 0 27px;color:#22392e}
.hero h1 em{font-family:"Batang","Noto Serif KR",serif;font-weight:700;font-style:normal;color:#a16143;letter-spacing:-.105em}
.hero-description{font-size:clamp(15px,1.45vw,18px);line-height:1.95;color:#596358;letter-spacing:-.035em;margin:0 0 36px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:55px;padding:15px 24px;border-radius:100px;font-size:14px;font-weight:850;letter-spacing:-.03em;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-solid{background:#244735;color:#fff;box-shadow:0 7px 16px rgba(16,45,28,.12)}
.button-solid:hover{background:#375e48}
.button-outline{color:#2d4537;border:1px solid #afbbac;background:rgba(255,255,255,.44)}
.button-outline:hover{background:rgba(255,255,255,.9)}
.hero-footnote{margin:25px 0 0;color:#657064;font-size:12px;line-height:1.85}
.hero-footnote strong{color:#3d5747}
.hero-art{position:relative;display:flex;flex-direction:column;align-items:center;padding:13px 35px 0;max-width:540px;margin:auto;width:100%}
.hero-art:before{content:"";position:absolute;z-index:-1;width:110%;height:77%;top:13%;right:-16%;border-radius:47% 53% 43% 57%;background:radial-gradient(ellipse at center,#b7c4a6,#d9dbcc 59%,transparent 70%);transform:rotate(-16deg);opacity:.85}
.phone{position:relative;width:clamp(230px,26vw,358px);max-width:100%;aspect-ratio:1080/2340;border:11px solid #252d2a;border-radius:42px;overflow:hidden;background:#161d1a;box-shadow:0 32px 50px rgba(49,48,38,.27),0 3px 6px rgba(49,48,38,.15);transform:rotate(4deg)}
.phone img{width:100%;height:100%;object-fit:cover}
.phone-notch{position:absolute;z-index:2;top:7px;left:50%;width:32%;height:17px;transform:translateX(-50%);border-radius:30px;background:#202c27}
.paper-stamp{position:absolute;z-index:3;top:13%;left:2%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:120px;height:135px;background:#c0785b;color:#fff6e8;box-shadow:0 10px 24px rgba(72,45,30,.21);transform:rotate(-10deg);clip-path:polygon(0 0,100% 0,100% 90%,91% 100%,0 100%);font-family:"Batang",serif}
.paper-stamp span,.paper-stamp small{font-family:system-ui,sans-serif;letter-spacing:.12em;font-size:8px;font-weight:850}
.paper-stamp strong{font-size:35px}
.art-caption{display:flex;justify-content:space-between;gap:22px;margin:24px 0 0;width:100%;max-width:360px;font-size:10px;letter-spacing:.12em;color:#7c7d68;font-weight:900}
.art-caption span{letter-spacing:0}
.hero-down{display:flex;justify-content:space-between;align-items:center;max-width:1220px;margin:auto;padding:17px 38px 23px;border-top:1px solid #cfc6b6;color:#8e745f;font-size:12px}
.content-wrap{width:min(1120px,calc(100% - 48px));margin:auto}
.story-section{padding:145px 0 136px;background:#fffdf8;text-align:center}
.section-tag{font-size:11px;font-weight:900;letter-spacing:.17em;color:#9f7154;margin:0 0 24px}
.story-section h2,.writing-section h2,.how-section h2,.promise-section h2,.beyond h2{font-size:clamp(32px,3.6vw,53px);line-height:1.42;font-weight:890;margin:0;letter-spacing:-.075em}
.story-section h2 em,.writing-section h2 em,.promise-section h2 em,.beyond h2 em{font-family:"Batang","Noto Serif KR",serif;font-style:normal;font-weight:750;color:#a86a4c}
.section-lead{max-width:690px;margin:25px auto 62px;color:#6b7369;line-height:1.95;font-size:16px}
.three-moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:left}
.moment{position:relative;min-height:320px;padding:35px 35px 29px;background:#f8f4eb;border:1px solid #ebe5d9;border-radius:4px}
.moment-number{font-weight:750;font-size:11px;color:#a7836d}
.moment-symbol{font-family:Georgia,serif;font-size:58px;color:#788c77;margin:23px 0 22px;height:67px}
.moment h3{font-size:22px;margin:0 0 12px;color:#243e2e}
.moment p{font-size:14px;color:#73786f;line-height:1.9;margin:0}
.writing-section{background:#ded5c6;padding:116px 0}
.writing-wrap{width:min(1080px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,9vw,150px);align-items:center}
.writing-photo{position:relative;min-height:580px;display:flex;align-items:center;justify-content:center}
.writing-frame{width:285px;max-width:72%;border:11px solid #fff9ec;background:#fff;box-shadow:0 26px 48px rgba(73,54,43,.22);transform:rotate(-4deg)}
.writing-frame img{width:100%;height:auto;aspect-ratio:1080/2340;object-fit:cover}
.writing-note{position:absolute;bottom:9px;right:-2%;background:#fefbf2;padding:23px 27px;box-shadow:0 13px 20px rgba(74,49,37,.13);font-size:20px;line-height:1.7;font-family:"Batang",serif;color:#8e6852;transform:rotate(5deg)}
.writing-note small{display:block;font-family:system-ui,sans-serif;font-size:10px;color:#897e70;margin-top:13px}
.writing-text .section-tag{margin-bottom:24px}
.writing-text h2{margin-bottom:30px}
.writing-text>p:not(.section-tag){font-size:16px;line-height:2;color:#62685d;margin-bottom:19px}
.text-link{display:inline-flex;gap:35px;align-items:center;margin-top:23px;border-bottom:1px solid #627867;font-size:14px;font-weight:900;padding-bottom:13px;color:#284636}
.how-section{padding:125px 0 145px;background:#fcfaf5}
.how-section h2{margin-bottom:51px}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 46px;padding:0}
.steps li{padding:30px 27px 36px;border:1px solid #e5dfd3;border-radius:6px;background:#fff}
.step-digit{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#dde9d6;color:#2d563d;font-weight:900;font-size:18px;margin-bottom:36px}
.steps h3{font-size:21px;margin-bottom:14px}
.steps p{font-size:14px;color:#747b71;line-height:1.9;margin:0}
.how-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#e9eee1;border-radius:6px;padding:27px 34px}
.how-cta strong{font-size:19px}.how-cta p{margin:6px 0 0;color:#617361;font-size:13px}
.promise-section{padding:125px 0;background:#193b30;color:#fffdf4}
.promise-grid{display:grid;grid-template-columns:.92fr 1fr;gap:10%}
.promise-section h2{margin-bottom:30px}
.promise-section h2 em{color:#e6c7a2}
.promise-section .section-tag{color:#b9ceb8}
.promise-section p:not(.section-tag){font-size:16px;line-height:1.95;color:#c8d8cb}
.rules{margin:0}
.rules div{padding:23px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.rules div:first-child{border-top:1px solid rgba(255,255,255,.2)}
.rules dt{font-size:17px;font-weight:850;margin-bottom:10px}
.rules dd{margin:0;font-size:14px;color:#c6d5c8;line-height:1.9}
.beyond{padding:135px 0;text-align:center;background:#eee7d8}
.beyond-inner{max-width:700px}
.beyond h2{margin-bottom:24px}
.beyond p:not(.section-tag){line-height:2;font-size:16px;color:#6c7369}
.beyond-links{margin-top:36px;display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.beyond-links a{font-size:14px;font-weight:850;color:#244b35;border-bottom:1px solid #819482;padding:10px 5px}
footer{background:#172b25;color:#d2dacd;padding:38px 24px}
.footer-inner{width:min(1120px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}
footer .brand{color:#f9fbf5}
.footer-inner p{font-size:12px;color:#b9c6bc;line-height:1.8;margin:0}
.footer-inner>a:last-child{color:#dbe8d6;font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:950px){
 .masthead nav a:not(.nav-install){display:none}
 .hero-inner{width:min(750px,calc(100% - 52px));grid-template-columns:1fr;gap:35px;min-height:auto;padding:77px 0 65px}
 .hero-copy{text-align:center}
 .eyebrow,.hero-actions{justify-content:center}
 .hero-description{margin-left:auto;margin-right:auto}
 .hero-art{padding:10px 35px 0}
 .hero-art:before{right:-5%}
 .phone{width:275px}
 .art-caption{max-width:300px}
 .paper-stamp{left:12%}
 .three-moments{gap:10px}
 .moment{padding:27px 23px;min-height:310px}
 .writing-wrap{gap:40px}
 .writing-note{right:-6%;font-size:17px}
 .promise-grid{gap:7%}
}
@media(max-width:650px){
 .preview-strip{font-size:10px;padding:8px 15px}
 .masthead{height:66px;padding:0 19px}
 .brand{font-size:21px}
 .masthead nav .nav-install{padding:10px 12px;font-size:11px}
 .hero-inner{width:calc(100% - 38px);padding:63px 0 42px}
 .hero-kicker{margin-top:28px}
 .hero h1{font-size:clamp(32px,8.25vw,50px);line-height:1.34}
 .hero-description{font-size:15px}
 .hero-actions .button{width:100%}
 .hero-footnote{font-size:11px}
 .hero-art{margin-top:8px;padding:0 14px}
 .phone{width:min(260px,72vw);border-width:8px;border-radius:35px}
 .phone-notch{height:11px}
 .paper-stamp{width:100px;height:108px;top:10%;left:-1%}
 .paper-stamp strong{font-size:26px}
 .art-caption{max-width:270px;font-size:8px}
 .hero-down{padding:14px 20px;font-size:11px}
 .story-section,.how-section,.promise-section,.beyond{padding:87px 0}
 .content-wrap{width:calc(100% - 38px)}
 .story-section h2,.writing-section h2,.how-section h2,.promise-section h2,.beyond h2{font-size:clamp(28px,7.5vw,40px)}
 .section-lead{font-size:14px;margin:22px 0 35px}
 .three-moments,.steps,.writing-wrap,.promise-grid{grid-template-columns:1fr}
 .moment{min-height:0;padding:26px 27px 30px}
 .moment-symbol{font-size:42px;margin:13px 0;height:55px}
 .moment h3{font-size:19px}
 .writing-section{padding:80px 0}
 .writing-wrap{gap:35px}
 .writing-photo{min-height:475px}
 .writing-frame{width:220px}
 .writing-note{right:0;bottom:4px;padding:14px 17px;font-size:15px}
 .writing-text h2{margin-bottom:19px}
 .writing-text>p:not(.section-tag){font-size:14px}
 .how-section h2{margin-bottom:30px}
 .steps{gap:11px;margin-bottom:22px}
 .steps li{display:flex;gap:20px;padding:21px}
 .step-digit{margin:0;flex:0 0 41px;width:41px;height:41px}
 .steps h3{font-size:19px;margin-bottom:7px}
 .steps p{font-size:13px}
 .how-cta{flex-direction:column;align-items:stretch;padding:26px}
 .how-cta strong{font-size:17px}
 .how-cta .button{width:100%}
 .promise-section h2{margin-bottom:16px}
 .footer-inner{flex-direction:column;align-items:flex-start;gap:15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
