/*
 * Customer typography system
 * Keeps the existing brand pairing while normalising hierarchy and readable minimums.
 * Pretendard: UI, prices, controls and explanatory copy.
 * Gowun Batang: emotional/editorial display headings.
 */
:root{
  --type-display-desktop:clamp(52px,5.2vw,60px);
  --type-section-desktop:clamp(36px,3.5vw,42px);
  --type-section-mobile:clamp(24px,7vw,28px);
  --type-body:14px;
  --type-helper:12px;
  --type-button:13px;
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:'Pretendard',sans-serif;letter-spacing:-.012em}

/* Home */
.hero-h1{
  font-size:var(--type-display-desktop);
  line-height:1.18;
  letter-spacing:-.045em;
}
.hero-desc{font-size:15px;line-height:1.75}
.hero-eyebrow-main,.hero-eyebrow-sub{font-size:11px}
body[data-page='home'] .home-couple-section .sec-title,
body[data-page='home'] .definition-sec .def-title,
body[data-page='home'] .pricing-philosophy .pp-title{font-size:40px;line-height:1.34}
.home-verification-copy h3{font-size:30px;line-height:1.4}
.home-verification-copy>p{font-size:14px;line-height:1.78}
.home-verification-docs strong{font-size:12px;line-height:1.45}
.home-verification-docs small{font-size:11px;line-height:1.4}
.home-verification-link{font-size:13px}
.pp-card-step-title{font-size:14px}
.pp-card-step-desc{font-size:12px;line-height:1.65}
.pp-price-label{font-size:11px}
.pp-compare-head h3{font-size:36px;line-height:1.42}
.pp-compare-head p{font-size:14px;line-height:1.75}
body[data-page='home'] .pp-compare-card li{font-size:12px;line-height:1.55}
body[data-page='home'] .pp-compare-note{font-size:11.5px;line-height:1.6}
.home-note-banner .hnb-copy h2{font-size:30px;line-height:1.45}
.home-report-copy h2{font-size:30px;line-height:1.42}
body[data-page='home'] .home-report-copy>p{font-size:14px;line-height:1.7}
.home-report-meta{font-size:11.5px}

/* About */
body[data-page='about'] .about-hero-title{font-size:36px;line-height:1.32;letter-spacing:-1.3px}
body[data-page='about'] .about-story-title{font-size:34px;line-height:1.42}
body[data-page='about'] .about-story p{font-size:15px;line-height:1.9}
body[data-page='about'] .about-principles .sec-title{font-size:34px;line-height:1.4}
.principle-title{font-size:17px;line-height:1.45}
.principle-desc{font-size:14px;line-height:1.75}
.about-cta-title{font-size:28px;line-height:1.45}

/* How it works */
body[data-page='process'] .sec-title.process-page-title{font-size:38px;line-height:1.4}
body[data-page='process'] .step-content h3{font-size:16.5px;line-height:1.48}
body[data-page='process'] .step-content>p{font-size:13.5px;line-height:1.72}
.step-note{font-size:12px;line-height:1.65}
.process-factor-story h2{font-size:34px;line-height:1.48}
.match-preview-title{font-size:26px;line-height:1.45}
.match-preview-note{font-size:12px;line-height:1.65}
.process-closing-title{font-size:20px;line-height:1.45}

/* Pricing */
.product-guide .offer-section-head h1{font-size:32px;line-height:1.44;letter-spacing:-1.2px}
.product-guide .plan-card h3,
.product-guide .plan-card.is-active h3,
.product-guide .plan-card.is-direction h3{font-size:26px;line-height:1.38}
.product-guide .plan-for,
.product-guide .is-active .plan-for,
.product-guide .is-direction .plan-for{font-size:13px;line-height:1.55}
.product-guide .plan-list li,
.product-guide .is-active .plan-list li,
.product-guide .is-direction .plan-list li{font-size:12.5px;line-height:1.55}
.product-guide .plan-offer .offer-button,
.product-guide .is-active .plan-offer .offer-button,
.product-guide .is-direction .plan-offer .offer-button{font-size:13px}
.product-guide .plan-price-line small{font-size:11px}
.product-guide .plan-price-line.is-standard-price .plan-later-charge,
.product-guide .plan-price-line.is-active-price .plan-later-charge{font-size:11.5px;line-height:1.45}
.product-guide .plan-price-line .plan-later-charge small,
.product-guide .plan-price-line .plan-later-charge em{font-size:11.5px;line-height:1.45}
.product-guide .plan-more-details summary{font-size:12px}
.product-guide .plan-more-details li{font-size:12px;line-height:1.55}

/* Profile consulting */
.direction-v2-hero h1{font-size:clamp(40px,4vw,46px);line-height:1.34}
.direction-v2-lead{font-size:14px;line-height:1.82}
.direction-v2-hero-benefits b{font-size:12px;line-height:1.45}
.direction-v2-actions a,.direction-v2-actions button{font-size:13px}
.direction-v2-section-head h2{font-size:36px;line-height:1.42}
.direction-v2-package-grid h3{font-size:18px;line-height:1.42}
.direction-v2-package-grid article>p{font-size:13px;line-height:1.72}
.direction-v2-package-grid li{font-size:12px;line-height:1.55}
.direction-v2-process li b{font-size:13.5px;line-height:1.5}
.direction-v2-process li small{font-size:12px;line-height:1.62}
.direction-v2-bonus article em,
.direction-v2-bonus-details li{font-size:11.5px;line-height:1.55}
.direction-v2-bonus-details summary{font-size:12px}
.direction-v2-included span{font-size:12px}
.direction-v2-price small{font-size:11px;line-height:1.5}
.direction-v2-price button{font-size:13px}

/* Events */
.event-section-head h2{font-size:38px;line-height:1.4}
.event-step h3{font-size:17px;line-height:1.45}
.event-step p{font-size:13px;line-height:1.7}
.event-note,.event-note p,.event-note li{font-size:12px;line-height:1.7}
.event-photo-caption p{font-size:11.5px;line-height:1.55}

/* Notes */
.notes-header p{font-size:14px;line-height:1.75}
.note-hero h1{font-size:clamp(48px,4.5vw,56px);line-height:1.3;letter-spacing:-2.4px}
.note-body{font-size:17px;line-height:2}
.note-body h2{font-size:26px;line-height:1.55}
.note-body blockquote{font-size:27px;line-height:1.65}
.note-hero-meta,.note-cover figcaption,.note-rail{font-size:9px}
.note-hero-meta small{font-size:9px}

/* FAQ: questions lead, answers read quietly. */
.faq-q,.faq-q .fq-text{font-size:14px;font-weight:700;line-height:1.5}
.faq-a{font-size:14px;font-weight:450;line-height:1.72}
.faq-answer-lead{font-size:14px;font-weight:500;line-height:1.7}
.faq-answer-list li{font-size:14px;font-weight:400;line-height:1.72}

/* Start landing */
.start-title{font-size:clamp(48px,4.2vw,56px);line-height:1.16;letter-spacing:-2.8px}
.start-h2{font-size:clamp(36px,3.3vw,40px);line-height:1.28;letter-spacing:-1.8px}
.story-disclaimer{font-size:11.5px;line-height:1.55}

/* Legal and customer policy pages */
.terms-page :where(p,li,td),
.privacy-page :where(p,li,td),
.refund-page :where(p,li,td){font-size:14px;line-height:1.78}
.terms-page :where(h3,h4),
.privacy-page :where(h3,h4),
.refund-page :where(h3,h4){font-size:16px;line-height:1.55}
.terms-summary-title,.privacy-overview-title,.refund-lead h2{font-size:23px;line-height:1.5}

/* Keep the connected state functional, with one editorial story title. */
.mc-done .my-ch h3{font-family:'Gowun Batang',serif;font-size:19px;font-weight:700;line-height:1.45}
.privacy-page .privacy-step p{font-size:12px;line-height:1.68}
.privacy-page .privacy-overview-copy,
.privacy-page .privacy-summary-disclaimer{font-size:12px;line-height:1.7}

/* Auth helpers should never fall below the readable UI minimum. */
body[data-page='login'] .form-note,
body[data-page='signup'] .form-note,
body[data-page='signup'] .signup-story-mobile span{font-size:12px;line-height:1.7}

/* Relationship test keeps its own editorial face without overpowering the site. */
.relationship-test-page h1{font-size:clamp(52px,6vw,60px);font-weight:400;line-height:1.17;letter-spacing:-.05em}
.relationship-test-page :is(.scene h2,.loading h2,.report-hero h2,.section-title,.report-conclusion h3,.glance-title,.rhythm-heading h3,.editorial-intro h3,.tension-note b,.match-editorial h3,.question-line p){font-weight:400}
.relationship-test-page .scene h2{font-size:clamp(34px,5vw,40px);line-height:1.26}

@media(max-width:760px){
  .hero-h1{font-size:31px;line-height:1.2;letter-spacing:-1.15px}
  .hero-desc{font-size:14px;line-height:1.72}
  .hero-eyebrow-main,.hero-eyebrow-sub{font-size:10px}
  body[data-page='home'] .home-couple-section .sec-title,
  body[data-page='home'] .definition-sec .def-title,
  body[data-page='home'] .pricing-philosophy .pp-title{font-size:27px;line-height:1.38}
  .home-verification-copy h3{font-size:23px;line-height:1.42}
  .home-verification-copy>p{font-size:13.5px;line-height:1.75}
  .home-verification-docs strong{font-size:11.5px}
  .home-verification-docs small{font-size:11px}
  .pp-card-step-title{font-size:13px}
  .pp-card-step-desc{font-size:11.5px}
  .pp-price-label{font-size:10.5px}
  .pp-compare-head h3{font-size:25px;line-height:1.45}
  .pp-compare-head p{font-size:13px;line-height:1.7}
  body[data-page='home'] .pp-compare-card li{font-size:11.5px;line-height:1.55}
  body[data-page='home'] .pp-compare-note{font-size:11px;line-height:1.6}
  .home-note-banner .hnb-copy h2{font-size:22px;line-height:1.45}
  .home-report-copy h2{font-size:23px;line-height:1.42}
  body[data-page='home'] .home-report-copy>p{font-size:13px;line-height:1.68}
  .home-report-meta{font-size:11px}

  body[data-page='about'] .about-hero-title{font-size:26px;line-height:1.38;letter-spacing:-1px}
  .about-hero-sub{font-size:14px;line-height:1.75}
  body[data-page='about'] .about-story-title{font-size:26px;line-height:1.45}
  body[data-page='about'] .about-story p{font-size:14px;line-height:1.85}
  body[data-page='about'] .about-principles .sec-title{font-size:25px;line-height:1.42}
  .principle-title{font-size:16px}
  .principle-desc{font-size:14px}
  .about-cta-title{font-size:22px;line-height:1.5}

  body[data-page='process'] .sec-title.process-page-title{font-size:28px;line-height:1.42}
  body[data-page='process'] .step-content h3{font-size:16px;line-height:1.5}
  body[data-page='process'] .step-content>p{font-size:13.5px;line-height:1.7}
  .process-factor-story h2{font-size:22px;line-height:1.55}
  .match-preview-title{font-size:21px;line-height:1.48}
  .match-preview-note{font-size:11.5px}
  .process-closing-title{font-size:18px}

  .product-guide .offer-section-head h1{font-size:27px;line-height:1.45;letter-spacing:-1px}
  .product-guide .plan-card h3,
  .product-guide .plan-card.is-active h3,
  .product-guide .plan-card.is-direction h3{font-size:23px;line-height:1.4}
  .product-guide .plan-for,
  .product-guide .is-active .plan-for,
  .product-guide .is-direction .plan-for{font-size:12.5px}
  .product-guide .plan-list li,
  .product-guide .is-active .plan-list li,
  .product-guide .is-direction .plan-list li{font-size:12px;line-height:1.52}
  .product-guide .plan-offer .offer-button,
  .product-guide .is-active .plan-offer .offer-button,
  .product-guide .is-direction .plan-offer .offer-button{font-size:13px}
  .product-guide .plan-price-line small,
  .product-guide .plan-price-line.is-standard-price .plan-later-charge,
  .product-guide .plan-price-line.is-active-price .plan-later-charge,
  .product-guide .plan-price-line .plan-later-charge small,
  .product-guide .plan-price-line .plan-later-charge em{font-size:11px;line-height:1.42}
  .product-guide .plan-more-details summary,
  .product-guide .plan-more-details li{font-size:11.5px}

  .direction-v2-hero h1{font-size:28px;line-height:1.43;letter-spacing:-1.15px}
  .direction-v2-lead{font-size:13.5px;line-height:1.76}
  .direction-v2-hero-benefits b{font-size:11.5px;line-height:1.42}
  .direction-v2-section-head h2{font-size:24.5px;line-height:1.48}
  .direction-v2-package-grid h3{font-size:17px;line-height:1.42}
  .direction-v2-package-grid article>p{font-size:12px;line-height:1.7}
  .direction-v2-package-grid li{font-size:11.5px;line-height:1.55}
  .direction-v2-process li small{font-size:11.5px;line-height:1.62}
  .direction-v2-bonus article em,
  .direction-v2-bonus-details li{font-size:11px;line-height:1.58}
  .direction-v2-bonus-details summary{font-size:11.5px}
  .direction-v2-included span{font-size:11.5px}
  .direction-v2-price small{font-size:11px}

  .event-section-head h2{font-size:27px;line-height:1.42}
  .event-step h3{font-size:16px}
  .event-step p{font-size:13px}

  .notes-header h1{font-size:28px;line-height:1.4}
  .notes-header p{font-size:14px}
  .note-tile strong{font-size:15px;line-height:1.42}
  .note-hero h1{font-size:28px;line-height:1.4;letter-spacing:-1.25px}
  .note-hero p{font-size:14px;line-height:1.8}
  .note-body{font-size:16px;line-height:1.95}
  .note-body-before>p:first-child{font-size:17px;line-height:1.9}
  .note-body h2{font-size:22px;line-height:1.55}
  .note-body blockquote{font-size:23px;line-height:1.62}
  .note-cover figcaption{font-size:9px}

  .faq-q,.faq-q .fq-text{font-size:14px;font-weight:700;line-height:1.5}
  .faq-a,.faq-answer-lead,.faq-answer-list li{font-size:14px;line-height:1.7}
  .faq-answer-lead{font-weight:500}

  .start-title{font-size:30px;line-height:1.2;letter-spacing:-1.5px}
  .start-h2{font-size:24px;line-height:1.38;letter-spacing:-1px}

  .relationship-test-page h1{font-size:37px;line-height:1.2;letter-spacing:-.045em}
  .relationship-test-page .scene h2{font-size:30px;line-height:1.3}
  .relationship-test-page .report-hero h2{font-size:30px;line-height:1.28}

  .terms-page :where(p,li,td),
  .privacy-page :where(p,li,td),
  .refund-page :where(p,li,td){font-size:13.5px;line-height:1.78}
  .terms-page :where(h3,h4),
  .privacy-page :where(h3,h4),
  .refund-page :where(h3,h4){font-size:16px}
  .terms-summary-title,.privacy-overview-title,.refund-lead h2{font-size:21px;line-height:1.5}
  .privacy-page .privacy-step p{font-size:11.5px;line-height:1.68}
  .privacy-page .privacy-overview-copy,
  .privacy-page .privacy-summary-disclaimer{font-size:11.5px;line-height:1.7}
}
