/* HEALOOP white editorial refinement — 2026-10-28.
   Marketing website only; no logged-in application or business logic changes. */
:root,:root[data-theme="dark"],:root:not([data-theme="light"]) {
  color-scheme:light;
  --ground:#fff;--surface:#fff;--surface-2:#fff;
  --ink:#1D303D;--ink-2:#526673;--ink-3:#697B87;
  --line:#E4EBEF;--line-strong:#C9D6DD;
  --primary:#237FA9;--primary-ink:#17688B;--primary-soft:#EDF6F9;
  --eyebrow:#33866F;--accent-soft:#fff;
  --font-display:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --font-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --font-brand:"Manrope","Noto Sans JP",sans-serif;
  --measure:42rem;--page:min(72rem,calc(100% - 4rem));
}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{background:#fff;font-family:var(--font-body);font-weight:400;line-height:1.86;letter-spacing:.008em;font-feature-settings:"palt" 1;overflow-wrap:break-word}
h1,h2,h3,.phone figcaption b{font-family:var(--font-display);font-weight:700;letter-spacing:-.023em}
h1,h2,h3{text-wrap:pretty}
h2{font-size:clamp(1.72rem,2.8vw,2.34rem);line-height:1.52;margin-bottom:1.3rem}
h3{font-size:1.09rem;line-height:1.55;margin-bottom:.5rem}
strong{font-weight:700;color:var(--ink)}
.wrap{max-width:100%}
.site-head{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:blur(12px)}
.site-head .wrap{min-height:76px}
.brand{gap:.78rem}.brand .mark{width:40px}
.brand b{font-size:1.14rem;letter-spacing:.035em;font-weight:800}
.brand span{font-size:.64rem;letter-spacing:.16em}
.nav{gap:clamp(1.1rem,2.2vw,2rem);font-size:.85rem;font-weight:600}
.nav a{display:inline-flex;align-items:center;min-height:44px}
section{background:#fff;padding-block:clamp(4.75rem,8vw,7rem)}
section+section{border-top:1px solid var(--line)}
section[id]{scroll-margin-top:5.5rem}
.label{font-size:.77rem;font-weight:700;letter-spacing:.11em;margin-bottom:1.1rem}
.lede{font-size:clamp(.98rem,1.3vw,1.075rem);line-height:1.95;max-width:42rem;color:var(--ink-2)}
.hero{background:#fff;padding-block:clamp(4.3rem,7.7vw,7.2rem) clamp(3rem,5vw,5rem)}
.hero::before{display:none}
.hero-grid{gap:clamp(2.4rem,5vw,4.5rem)}
.hero h1{font-size:clamp(2.23rem,3.65vw,3.35rem);line-height:1.37;letter-spacing:-.047em;max-width:16ch}
.hero h1 em{color:var(--primary-ink)}
.hero .eyebrow{background:none;border:0;border-radius:0;padding:0;margin-bottom:1.5rem;font-size:.79rem;font-weight:700;letter-spacing:.045em;line-height:1.7;color:var(--eyebrow)}
.hero .eyebrow::before{width:16px;height:2px;border-radius:0;background:var(--eyebrow)}
.hook{margin-top:1.8rem;font-size:clamp(1.02rem,1.45vw,1.15rem);font-weight:600;line-height:1.92}
.hero .sub{margin-top:1.4rem;max-width:35rem;font-size:.95rem;line-height:2}
.hero .sub strong{display:block;margin-top:1.2rem;padding:.06rem 0 .06rem 1rem;border-left:3px solid var(--primary);color:var(--ink);font-size:1.015rem;line-height:1.85}
@media(min-width:920px){.hero-grid{grid-template-columns:minmax(0,1.14fr) minmax(0,.9fr);align-items:center}}
.cta-row{gap:.82rem;margin-top:2.1rem}
.btn,.btn-ghost{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:.78rem 1.35rem;border-radius:9px;font-family:var(--font-body);font-size:.94rem;font-weight:700;line-height:1.48;text-align:center;box-shadow:none;transition:background-color .16s ease,border-color .16s ease}
.btn{background:var(--primary);color:#fff}.btn-ghost{background:#fff;color:var(--primary-ink)}
.trust{gap:.6rem 1.2rem;margin-top:1.55rem;font-size:.78rem;line-height:1.6}
.trust span{background:#fff;border:0;border-radius:0;padding:0}
.strip{margin-top:clamp(2.8rem,5vw,4.3rem);background:#fff;border:0;border-top:1px solid var(--line);border-radius:0;padding:1.4rem 0 0}
.strip .item{font-size:.93rem;line-height:1.6}.strip .dev{font-size:.87rem;line-height:1.9}
.hero-demo{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 38px rgba(29,48,61,.065)}
.hero-demo-head,.hero-demo-body,.hero-demo-card,.device,.screen,.scr-top,.scr-body,.card-s,.flow,.col{background:#fff}
.hero-demo-body{background-image:none}
.position-card,.contact-panel,.plan{background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(1.35rem,2.4vw,1.85rem);box-shadow:none}
.position-card.healoop,.plan.featured,.plan.trial{background:#fff;background-image:none;border-color:var(--primary);box-shadow:none}
.position-grid,.plans,.contact-grid{gap:1.18rem;margin-top:2.35rem}
.position-card h3,.flow h3,.col h3,.fit h3,.contact-panel h3{font-family:var(--font-display);letter-spacing:-.01em}
.position-card ul,.plan ul{margin-top:1.2rem}
.position-note,.rule-note,.credit-beta,.credit-rule,.mock-note{background:#fff;background-image:none;border:1px solid var(--line);border-radius:12px;padding:1.23rem 1.38rem}
.credit-beta{gap:.55rem}
.credit-beta strong{display:block;font-size:clamp(1.14rem,2vw,1.35rem);line-height:1.56;color:var(--primary-ink);letter-spacing:-.02em}
.position-note strong,.rule-note strong,.credit-rule strong{display:block;font-size:1.065rem;line-height:1.65;margin-bottom:.32rem}
.flows,.cols,.principles,.fit{margin-top:2.35rem}
.flow,.col{border-radius:12px;padding:clamp(1.35rem,2.3vw,1.8rem)}
.principle{border-left-width:3px;padding-left:1.2rem}
.promise dt{font-weight:600}
.promise dd,.plan .price{font-family:var(--font-brand);font-weight:700;letter-spacing:-.045em}
.promise dd{color:var(--primary-ink);letter-spacing:-.015em}
.plan .price{font-size:clamp(2.25rem,3.4vw,2.9rem);line-height:1.16;margin-top:.65rem}
.plan .price small{font-family:var(--font-body);letter-spacing:0;font-weight:500}
.plan .name{font-family:var(--font-brand);letter-spacing:.07em}
.plan .for{font-size:1rem;font-weight:700;margin-top:.75rem}
.plan ul{padding-top:1rem}
.faq-list{margin-top:2rem;max-width:55rem}
.faq-list details{padding:1.2rem 0}
.faq-list summary{font-size:.99rem;line-height:1.7;padding-right:2rem;position:relative}
.faq-list summary::after{position:absolute;right:.1rem;top:0;float:none}
.faq-list details p{font-size:.93rem;line-height:1.9;margin-top:.85rem}
.contact-panel h3{font-size:1.15rem;line-height:1.6;margin-top:.55rem}
.contact-panel p{line-height:1.9}
.contact-kicker{font-family:var(--font-brand);letter-spacing:.075em}
.beta-check{background:#fff;border-radius:9px}
.company{background:#fff;padding:.7rem 1.2rem}
.company dt{color:var(--ink-2);font-weight:600}
footer{background:#fff;padding-block:2.6rem}
@media(max-width:919px){.hero-demo{max-width:540px;transform:none}}
@media(max-width:720px){
 :root,:root:not([data-theme="light"]),:root[data-theme="dark"]{--page:calc(100% - 2.25rem)}
 html{scroll-padding-top:5rem}
 .site-head .wrap{min-height:66px}.brand .mark{width:36px}
 .brand b{font-size:1.07rem}.brand span{font-size:.6rem}
 section{padding-block:4.35rem}
 .hero{padding-block:3.55rem 3.25rem}
 .hero-grid{gap:2.55rem}
 .hero h1{font-size:clamp(1.97rem,7vw,2.5rem);line-height:1.44;letter-spacing:-.043em}
 .hero .eyebrow{font-size:.75rem;margin-bottom:1.15rem}
 .hook{margin-top:1.45rem;font-size:1.02rem;line-height:1.9}
 .hero .sub{margin-top:1.25rem;font-size:.93rem;line-height:1.95}
 .hero .sub strong{font-size:.96rem;margin-top:1rem;padding-left:.8rem}
 h2{font-size:clamp(1.65rem,5.4vw,2rem);line-height:1.55;margin-bottom:1.05rem}
 .label{margin-bottom:.92rem}
 .cta-row{margin-top:1.75rem;gap:.7rem}
 .cta-row .btn,.cta-row .btn-ghost{flex:1 1 100%;width:100%}
 .trust{gap:.5rem 1rem}
 .strip{margin-top:2.55rem}
 .position-grid,.plans,.contact-grid{margin-top:1.7rem;gap:1rem}
 .position-card,.plan,.contact-panel{padding:1.35rem}
 .flows,.cols,.principles,.fit{margin-top:1.8rem}
 .screen{font-size:.7rem}
}
@media(max-width:360px){
 :root,:root:not([data-theme="light"]),:root[data-theme="dark"]{--page:calc(100% - 2rem)}
 .hero h1{font-size:1.87rem}
 .hero .eyebrow{font-size:.71rem}
 .hero-demo-body{padding:.8rem}
 .position-card,.plan,.contact-panel{padding:1.18rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.btn-ghost{transition:none}}


/* Free beta offer: make 60 days / 500 records / free clear on white. */
#price .credit-beta{
  display:block;
  margin-top:2.35rem;
  padding:clamp(1.5rem,3.1vw,2.6rem);
  background:#fff;
  border:1px solid var(--line-strong);
  border-left:4px solid var(--primary);
  border-radius:14px;
  box-shadow:none;
}
#price .credit-beta .credit-kicker{
  display:block;width:fit-content;
  margin:0 0 .85rem;padding:0;
  border:0;border-radius:0;background:transparent;
  color:var(--primary-ink);
  font-size:.76rem;letter-spacing:.1em;
}
#price .beta-offer-title{
  margin:0 0 1.5rem;
  font-family:var(--font-display);
  font-size:clamp(1.2rem,1.95vw,1.55rem);
  font-weight:700;
  line-height:1.57;letter-spacing:-.023em;color:var(--ink);
}
#price .beta-offer-metrics{
  display:grid;grid-template-columns:1fr 1.15fr .83fr;
  gap:0;padding:1.4rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
#price .beta-offer-metric{
  min-width:0;
  padding:0 clamp(.7rem,1.9vw,1.7rem);
  border-right:1px solid var(--line);
}
#price .beta-offer-metric:first-child{padding-left:0}
#price .beta-offer-metric:last-child{padding-right:0;border-right:0}
#price .beta-offer-label{
  display:block;margin-bottom:.45rem;
  color:var(--ink-2);font-size:.81rem;
  font-weight:600;line-height:1.5;
}
#price .beta-offer-number{
  display:flex;align-items:baseline;gap:.15em;
  color:var(--ink);font-family:var(--font-brand);
  font-weight:800;font-size:clamp(2.6rem,4.85vw,4rem);
  letter-spacing:-.055em;line-height:1.2;
  white-space:nowrap;
}
#price .beta-offer-number span{
  font-family:var(--font-body);
  font-size:clamp(.88rem,1.35vw,1.1rem);
  letter-spacing:-.02em;font-weight:700;
}
#price .beta-offer-free{
  display:block;
  color:var(--primary-ink);font-family:var(--font-display);
  font-size:clamp(2rem,3.9vw,3.15rem);
  line-height:1.35;letter-spacing:-.04em;
}
#price .beta-offer-description{
  margin-top:1.35rem;
  font-size:.94rem;line-height:1.95;
  color:var(--ink-2);
}
#price .beta-offer-assurance{
  margin-top:.6rem;
  font-size:.84rem;line-height:1.75;
  font-weight:600;color:var(--ink);
}
#price .beta-offer-action{
  margin-top:1.3rem;
  min-height:50px;min-width:12rem;
}
@media(max-width:720px){
  #price .credit-beta{
    margin-top:1.8rem;padding:1.35rem 1.15rem 1.5rem;
    border-left-width:3px;
  }
  #price .beta-offer-title{font-size:1.18rem;line-height:1.6;margin-bottom:1.05rem}
  #price .beta-offer-metrics{
    grid-template-columns:1fr 1fr;
    row-gap:1.1rem;
    padding:1.1rem 0;
  }
  #price .beta-offer-metric{padding:0 .72rem}
  #price .beta-offer-metric:first-child{padding-left:0}
  #price .beta-offer-metric:nth-child(2){border-right:0;padding-right:0}
  #price .beta-offer-metric-free{
    grid-column:1/-1;
    border-top:1px solid var(--line);
    border-right:0;
    padding:1rem 0 0;
  }
  #price .beta-offer-number{font-size:clamp(2.5rem,9vw,3.25rem)}
  #price .beta-offer-number span{font-size:.86rem}
  #price .beta-offer-free{font-size:2.25rem}
  #price .beta-offer-description{margin-top:1.15rem;font-size:.91rem}
  #price .beta-offer-action{display:flex;width:100%}
}
@media(max-width:360px){
  #price .beta-offer-number{font-size:2.35rem}
  #price .beta-offer-metric{padding:0 .5rem}
  #price .beta-offer-metric:first-child{padding-left:0}
}
