/* Holly OS landing — responsive, founder-first SaaS presentation. */
.landing-page{
  --lp-ink:#111018;--lp-muted:#676474;--lp-line:#e7e5eb;--lp-soft:#f7f6f9;--lp-purple:#6d3df2;
  --lp-max:1200px;--lp-gutter:clamp(20px,4vw,48px);
  overflow-x:clip;background:#fff;color:var(--lp-ink);
}
.lang-ko{--display:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text:"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;word-break:keep-all}
.landing-page h1,.landing-page h2,.landing-page h3{color:var(--lp-ink)}
.landing-page .wrap{width:min(100%,calc(var(--lp-max) + var(--lp-gutter) * 2));max-width:none;padding-inline:var(--lp-gutter)}
.landing-page section.band{padding-block:clamp(76px,8vw,116px)}
.landing-page .rv,.js .landing-page .rv{opacity:1;transform:none;transition:none}

/* Header */
.clean-nav{background:rgba(255,255,255,.94);border-bottom:1px solid var(--lp-line)}
.clean-nav .wrap{height:72px}.clean-nav .brand{flex:0 0 auto}.clean-nav .brand b{font-size:18px}
.clean-nav .nav{min-width:0;gap:clamp(16px,2.2vw,30px)}
.clean-nav .nav>a:not(.btn){font-size:14px;color:#4e4b57;white-space:nowrap}
.locale-switch{display:flex;flex:0 0 auto;align-items:center;padding:3px;border:1px solid var(--lp-line);border-radius:9px;background:#faf9fc}
.clean-nav .locale-switch a{padding:6px 8px;border-radius:6px;color:#77727f;font-size:11px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}
.clean-nav .locale-switch a[aria-current="page"]{background:#fff;color:var(--lp-purple);box-shadow:0 1px 3px rgba(20,15,35,.1)}

/* Shared landing type and controls */
.landing-page .btn{border-radius:11px;background:var(--lp-purple);box-shadow:none}
.landing-page .btn:hover{box-shadow:0 12px 28px -14px rgba(80,40,210,.55)}
.landing-page .btn.ghost{background:#fff;color:var(--lp-ink)!important;border:1px solid #d9d6df}
.landing-page .btn.sm{--pad:10px 17px;font-size:14px}.landing-page .btn.lg{--pad:16px 24px;font-size:16px}
.landing-page .eyebrow{margin-bottom:20px;font-size:11px;letter-spacing:.13em;color:var(--lp-purple)}
.landing-page .eyebrow::before{width:7px;height:7px;border-radius:50%;background:var(--lp-purple)}
.section-copy h2,.section-head h2,.preview-copy h2,.test-copy h2,.waitlist-copy h2{font-size:clamp(38px,4.25vw,58px);line-height:1.08;letter-spacing:-.045em}

/* Hero */
.hero{position:relative;padding:clamp(76px,7vw,108px) 0 clamp(84px,8vw,120px);text-align:left;background:linear-gradient(180deg,#fff 0%,#fbfaff 100%)}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(44px,5vw,78px);align-items:center}
.hero-copy,.product-shell,.briefing,.task>div{min-width:0}
.hero-copy h1{max-width:10.5ch;margin:0;font-size:clamp(54px,5.25vw,78px);line-height:1.01;letter-spacing:-.06em;text-wrap:balance}
.hero-copy h1 span{color:var(--lp-purple)}
.hero-copy .lede{max-width:31em;margin-top:28px;color:#555260;font-size:clamp(18px,1.45vw,21px);line-height:1.58}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-note{margin-top:18px;color:#85818f;font-size:13px}
.product-shell{overflow:hidden;width:100%;border:1px solid #dcd9e3;border-radius:18px;background:#fff;box-shadow:0 32px 76px -38px rgba(33,19,70,.34)}
.product-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border-bottom:1px solid var(--lp-line);font-size:11px;color:#85818e}
.product-brand{display:flex;min-width:0;align-items:center;gap:9px;color:var(--lp-ink);font-size:12px}.product-brand img{width:20px}
.product-body{display:grid;grid-template-columns:94px minmax(0,1fr);min-height:430px}
.product-body aside{display:flex;flex-direction:column;gap:8px;padding:24px 12px;border-right:1px solid var(--lp-line);background:#faf9fc}
.product-body aside span{padding:8px 10px;border-radius:7px;color:#7b7784;font-size:11px}.product-body aside .active{background:#eee9ff;color:var(--lp-purple);font-weight:600}
.briefing{padding:clamp(22px,2.4vw,30px)}.briefing-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.briefing-head small,.task small{font-size:9px;font-weight:600;letter-spacing:.1em;color:#817b8b}.briefing-head h2{margin-top:4px;font-size:clamp(20px,2vw,26px);line-height:1.18}
.briefing-head img{flex:0 0 auto;width:72px;height:72px;border-radius:50%;object-fit:cover;background:#eee8ff}
.task{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 12px;border-top:1px solid var(--lp-line)}
.task>span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f1eff4;color:#6e6977;font-size:11px}
.task div{display:grid;gap:2px}.task b{overflow-wrap:anywhere;font-size:13px}.task p{color:#85818e;font-size:10px;line-height:1.4}
.task button{padding:7px 10px;border:1px solid #d9d6df;border-radius:7px;background:#fff;color:#5d5866;font-size:10px}
.task.primary{border:1px solid #dcd2ff;border-radius:10px;background:#faf8ff}.task.primary>span{background:var(--lp-purple);color:#fff}.task.primary small{color:var(--lp-purple)}

/* Problem and steps */
.landing-page section.problem{display:block;grid-template-columns:none;gap:0;border-top:1px solid var(--lp-line)}
.problem-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(56px,8vw,116px);align-items:start}
.problem-copy{padding-top:38px}.problem-copy p{max-width:35em;color:var(--lp-muted);font-size:clamp(18px,1.45vw,20px);line-height:1.65}.problem-copy p+p{margin-top:22px;color:var(--lp-ink);font-weight:500}
.how{background:var(--lp-soft)}
.section-head{max-width:700px;margin:0 auto clamp(42px,5vw,60px);text-align:center}.section-head .eyebrow{justify-content:center}.section-head>p{margin-top:18px;color:var(--lp-muted);font-size:clamp(17px,1.4vw,19px)}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.step{position:relative;min-width:0;padding:clamp(24px,2.4vw,32px);border:1px solid var(--lp-line);border-radius:18px;background:#fff}
.step>span{position:absolute;right:24px;top:24px;color:#aaa6b1;font-size:11px;font-weight:600}
.step-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:clamp(34px,4vw,56px);border-radius:11px;background:#eee9ff;color:var(--lp-purple);font-size:18px}
.step h3{font-size:21px}.step p{margin-top:11px;color:var(--lp-muted);font-size:15.5px;line-height:1.58}

/* Product preview */
.preview-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(54px,7vw,104px);align-items:center}
.preview-copy>p{max-width:34em;margin-top:24px;color:var(--lp-muted);font-size:clamp(17px,1.4vw,19px);line-height:1.65}
.preview-copy ul{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:14px}.preview-copy li{position:relative;padding-left:29px;color:#3f3b47;font-size:15.5px}
.preview-copy li::before{content:"✓";position:absolute;left:0;top:.1em;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#eee9ff;color:var(--lp-purple);font-size:11px;font-weight:700}
.preview-card{min-width:0;padding:clamp(24px,2.5vw,32px);border:1px solid #dcd9e3;border-radius:18px;background:#fff;box-shadow:0 26px 64px -40px rgba(34,25,60,.42)}
.preview-top{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--lp-line);font-size:12px;font-weight:600}.preview-top small{color:#8d8995;font-weight:400;text-align:right}
.preview-card h3{margin:25px 0 12px;font-size:23px}.change{display:grid;grid-template-columns:9px minmax(0,1fr);gap:13px;padding:16px 0;border-bottom:1px solid var(--lp-line)}
.change i{width:8px;height:8px;margin-top:7px;border-radius:50%;background:#bbb7c3}.change i.purple{background:var(--lp-purple)}.change div{display:grid;gap:3px;min-width:0}.change b{overflow-wrap:anywhere;font-size:14px}.change span{color:#85818e;font-size:12px}
.preview-card>a{display:flex;justify-content:space-between;gap:16px;margin-top:21px;color:var(--lp-purple);font-size:13px;font-weight:600;text-decoration:none}

/* Founder Test and founder */
.founder-test{padding-block:clamp(64px,6vw,88px)!important}
.test-card{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);align-items:center;gap:clamp(36px,5vw,72px);overflow:hidden;padding:clamp(42px,5vw,68px)!important;border-radius:22px;background:#f2edff}
.test-copy>p{max-width:34em;margin:19px 0 28px;color:#5f596a;font-size:17px;line-height:1.62}.test-result{display:flex;min-width:0;align-items:center;justify-content:center;gap:20px}
.test-result img{flex:0 0 auto;width:clamp(120px,12vw,158px);height:clamp(120px,12vw,158px);border-radius:50%;object-fit:cover;background:#fff}.test-result div{display:grid;min-width:0}.test-result small{font-size:9px;font-weight:600;letter-spacing:.12em;color:#716b7c}.test-result b{font-family:var(--display);font-size:clamp(48px,5vw,64px);line-height:1;color:var(--lp-purple);letter-spacing:-.06em}.test-result span{margin-top:8px;color:#625c6e;font-size:11px;line-height:1.45}
.founder{border-block:1px solid var(--lp-line);background:#fff}.founder-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(48px,7vw,96px);align-items:center}.founder-visual{overflow:hidden;width:210px;height:210px;border-radius:50%;background:#f0eaff}.founder-visual img{width:100%;height:100%;object-fit:cover}
.founder figure{max-width:850px;margin:0}.founder blockquote{margin:0;font-family:var(--display);font-size:clamp(26px,3.1vw,42px);line-height:1.32;letter-spacing:-.03em}.founder figcaption{display:grid;margin-top:26px}.founder figcaption b{font-size:15px}.founder figcaption span{margin-top:2px;color:#7f7a87;font-size:13px}

/* Waitlist and footer */
.waitlist{background:#faf9fc}.waitlist-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,540px);gap:clamp(60px,8vw,110px);align-items:center}
.waitlist-copy>p{max-width:35em;margin-top:21px;color:var(--lp-muted);font-size:18px;line-height:1.62}.mini-proof{display:flex;align-items:center;gap:14px;margin-top:32px;color:#817c89;font-size:12px;line-height:1.5}.mini-proof img{flex:0 0 auto;width:28px}
.waitlist .wl-card{min-width:0;padding:clamp(24px,3vw,36px);border:1px solid #ddd9e4;border-radius:18px;box-shadow:0 26px 60px -42px rgba(30,24,50,.38)}.waitlist .wl-card::before{display:none}
.waitlist .wl-card form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.waitlist .field{min-width:0}.waitlist .field input,.waitlist .field select{border-radius:9px;background:#fff}.waitlist .wl-card form>.btn,.waitlist .wl-card form>.msg{grid-column:1/-1}.waitlist .wl-card form>.btn{width:100%;margin-top:2px}.waitlist .done{border-radius:12px}
.foot{padding-block:clamp(56px,6vw,76px) 36px}.foot-grid{grid-template-columns:minmax(0,1.7fr) minmax(140px,.65fr) minmax(140px,.65fr);gap:clamp(36px,6vw,84px)}

@media(max-width:1050px){
  .clean-nav .nav{gap:16px}.landing-hero-grid{gap:40px}.hero-copy h1{font-size:clamp(50px,5.4vw,62px)}
  .product-body{grid-template-columns:84px minmax(0,1fr)}.task{grid-template-columns:26px minmax(0,1fr)}.task button{display:none}
  .waitlist-grid{grid-template-columns:minmax(0,1fr) minmax(400px,500px);gap:54px}
}
@media(max-width:900px){
  .clean-nav .nav>a.hide-sm{display:none}.landing-hero-grid,.problem-grid,.preview-grid,.waitlist-grid{grid-template-columns:1fr}
  .hero-copy{max-width:760px}.hero-copy h1{max-width:12ch;font-size:clamp(52px,8vw,68px)}.hero-copy .lede{max-width:38em}.product-shell{max-width:760px}
  .problem-grid,.preview-grid,.waitlist-grid{gap:46px}.problem-copy{max-width:700px;padding-top:0}.preview-copy{max-width:700px}.preview-card,.waitlist .wl-card{width:100%;max-width:680px}
  .test-card{grid-template-columns:1fr;gap:42px}.test-result{justify-content:flex-start}.founder-grid{grid-template-columns:180px minmax(0,1fr);gap:48px}.founder-visual{width:180px;height:180px}
}
@media(max-width:760px){
  .landing-page section.band{padding-block:72px}.steps{grid-template-columns:1fr}.step-icon{margin-bottom:30px}
  .section-copy h2,.section-head h2,.preview-copy h2,.test-copy h2,.waitlist-copy h2{font-size:clamp(34px,7.5vw,48px)}
  .founder-grid{grid-template-columns:1fr;gap:32px}.founder-visual{width:150px;height:150px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:620px){
  .clean-nav .wrap{height:64px}.clean-nav .nav{gap:8px}.clean-nav .nav>a:not(.btn){display:none}.clean-nav .nav .btn{--pad:10px 12px;font-size:11px}.clean-nav .locale-switch a{padding:6px;font-size:10px}
  .hero{padding:54px 0 72px}.landing-hero-grid{gap:42px}.hero-copy h1{font-size:clamp(42px,12.5vw,58px)}.hero-copy .lede{margin-top:23px;font-size:17px}.hero-actions{margin-top:27px}
  .product-body{grid-template-columns:1fr;min-height:0}.product-body aside{display:none}.product-bar>span{display:none}.briefing{padding:20px 16px}.briefing-head h2{font-size:20px}.briefing-head img{width:58px;height:58px}.task{padding-inline:10px}
  .test-card{padding:38px 26px!important}.test-result{gap:14px}.test-result img{width:108px;height:108px}.test-result b{font-size:46px}
  .waitlist .wl-card form{grid-template-columns:1fr}.waitlist .field.full{grid-column:auto}
}
@media(max-width:540px){
  .hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%;white-space:normal;text-align:center}.product-bar{padding:14px}.briefing-head{align-items:flex-start}.task p{font-size:9.5px}
  .preview-card{padding:22px 18px}.preview-top{flex-direction:column;gap:3px}.preview-top small{text-align:left}.test-result{justify-content:flex-start}.test-result img{width:88px;height:88px}.test-result b{font-size:42px}
  .waitlist .wl-card{padding:22px 18px}.foot-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:360px){
  .landing-page{--lp-gutter:16px}.clean-nav .brand{gap:7px}.clean-nav .brand img{width:22px}.clean-nav .brand b{font-size:15px}.clean-nav .nav>.btn{display:none}
  .hero-copy h1{font-size:40px}.landing-page .btn.lg{--pad:15px 18px;font-size:15px}.test-card{padding-inline:20px!important}.test-result span{font-size:10px}
}
@media(max-width:700px){.lang-ko .hero-copy h1{font-size:clamp(38px,10.5vw,50px);line-height:1.18}.lang-ko .briefing-head h2{font-size:18px}.lang-ko .task b{font-size:12px}.lang-ko .task p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.landing-page *,.landing-page *::before,.landing-page *::after{transition:none!important}}
