
/* The design study is scoped to the home view of the archived single-file preview. */
#main #home-top.dh-home {
  --dh-ink: #182742;
  --dh-green: #223d60;
  --dh-deep: #182f50;
  --dh-cream: #e2f1f8;
  --dh-paper: #fff;
  --dh-muted: #45566b;
  --dh-rule: #cbd9e2;
  --dh-accent: #a52658;
  --dh-side: clamp(18px, 4vw, 56px);
}
body[data-frame-page]:has(#home-top:not([hidden])) .nf-head {
  color: #1a3150; background: #fff; border-color: #d9e3e9;
}
body[data-frame-page]:has(#home-top:not([hidden])) .nf-nav a { color: #22354d; }
#home-top.dh-home .dh-mast {
  max-width: none; width: 100%; display: block; padding: 0;
  background: #fff;
}
#home-top.dh-home .dh-hero {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  width: 100%; margin: 0; align-items: center; overflow: hidden;
  background: linear-gradient(118deg,#deedf3 30%,#e3f4fb 64%,#edf6fd 100%);
  color: var(--dh-ink);
}
#home-top.dh-home .dh-hero-photo {
  grid-column: 1; grid-row: 1; align-self: stretch; width: 100%; height: 100%;
  min-height: 0; max-height: none; aspect-ratio: auto; object-fit: cover;
  object-position: 51% 45%; margin: 0;
  border-radius: 0 0 10% 0 / 0 0 15% 0;
}
#home-top.dh-home .dh-hero-copy {
  grid-column: 2; grid-row: 1; display: block;
  padding: clamp(30px,4.3vw,72px) clamp(24px,3.8vw,60px) clamp(36px,4.9vw,80px) clamp(26px,3.5vw,62px);
  min-height: clamp(310px,29vw,460px); align-content: center;
}
#home-top.dh-home .dh-hero h1 {padding:0;letter-spacing:-.04em;}
#home-top.dh-home .dh-hero h1 span {
  font-size: clamp(1.16rem,2.05vw,1.8rem); line-height: 1.4; color: #304768;
}
#home-top.dh-home .dh-hero h1 strong {
  margin-top: .05em; font-size: clamp(2.15rem,4.95vw,5.15rem);
  line-height: 1.18; letter-spacing: -.065em; color: #172c4c;
}
#home-top.dh-home .dh-hero-copy p {
  max-width: 30em; padding: 0; margin: 1rem 0 0;
  color: #35465a; font-size: clamp(.91rem,1.12vw,1.04rem); line-height: 1.78;
}
#home-top.dh-home .dd-actions {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: .18rem clamp(12px,1.4vw,23px); margin: 1.15rem 0 0;
}
#home-top.dh-home .dd-actions a {white-space:nowrap;}
#home-top.dh-home .dd-consult, #home-top.dh-home .dr-contact-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: .65em;
  padding: .65rem 1.05rem; min-height: 46px;
  border: 1px solid transparent; border-radius: 999px; background: #a52658;
  color: #fff; text-decoration: none; line-height: 1.45; font-size: .92rem; font-weight: 700;
}
#home-top.dh-home .dd-consult:hover, #home-top.dh-home .dr-contact-cta:hover {background: #851a47; color: #fff;}
#home-top.dh-home .dd-actions .dh-hero-cta {
  display: inline-flex; align-items: center; justify-content: flex-start; gap: .45em;
  min-height: 44px; margin: 0; padding: .38em 0; border: 0; border-radius: 0;
  background: transparent; color: #203d5d; font-size: .88rem;
  text-decoration: underline; text-underline-offset: .28em;
}
#home-top.dh-home .dd-actions .dh-arrow {color:inherit; font-size: 1em;}
#home-top.dh-home .dd-wave {
  position: absolute; z-index: 1; pointer-events: none; inset: auto 0 -1px;
  width: 100%; height: clamp(12px,2vw,30px);
}
#home-top.dh-home .dh-quick {
  width: min(100%,1200px); padding: 1.1rem var(--dh-side) 1.24rem; margin: auto; border: 0;
  grid-template-columns: repeat(4,minmax(0,1fr)); grid-template-rows: auto auto;
  column-gap: 0; background: #fff;
}
#home-top.dh-home .dh-quick h2 {
  grid-column: 1/-1; padding: 0 0 .55rem; background: transparent; color: var(--dh-ink);
  font-size: 1.04rem; line-height: 1.45;
}
#home-top.dh-home .dh-quick a {
  min-height: 55px; padding: .5rem clamp(7px,.8vw,15px); gap: .52rem;
  grid-template-columns: 22px minmax(0,1fr) 12px;
  border: 0; border-block: 1px solid #d6e1e8; color: var(--dh-ink);
}
#home-top.dh-home .dh-quick a+a {border-inline-start:1px solid #d6e1e8;border-block-start:1px solid #d6e1e8;}
#home-top.dh-home .dh-quick a:nth-of-type(1) { padding-inline-start: 0; }
#home-top.dh-home .dh-quick a:hover {background:#f2f8fb;}
#home-top.dh-home .dh-quick-icon {width:21px;height:21px;color:#396585;}
#home-top.dh-home .dh-quick a .dh-arrow {color:#537591;}
#home-top.dh-home .dh-quick-text strong { font-size: clamp(.89rem,1.18vw,1.03rem); }
#home-top.dh-home .dh-quick-text small { font-size: .76rem; }
#home-top.dh-home .dh-intro {background: #f1f7fb; border-block: 1px solid #dce7ee;}
#home-top.dh-home .dh-intro-row {
  grid-template-columns: minmax(185px,.73fr) minmax(0,1.55fr); padding-block:clamp(24px,2.9vw,42px);
}
#home-top.dh-home .dh-intro-pic img, #home-top.dh-home .dh-pay-art img {border-radius: 4px 22px 4px 4px;}
#home-top.dh-home .dh-chat-modes li {border-inline-start-color: #82adca;}
#home-top.dh-home .dh-pay {background: #f5f4fa;}
#home-top.dh-home .dh-comparison thead th {color: #fff;background: #375775;}
#home-top.dh-home .dh-comparison thead th:first-child {background: #233d5d;color:#fff;}
#home-top.dh-home .dh-comparison tbody th, #home-top.dh-home .dr-row h3, #home-top.dh-home .dr-region[open] summary {background:#edf4f8;}
#home-top.dh-home .dh-contact {background:#e5f1f7;}
#home-top.dh-home .dh-contact :is(h2,strong) {color:#1c324f;}
#home-top.dh-home .dr-contact-lead p, #home-top.dh-home .dr-steps span {color:#344860;}
#home-top.dh-home .dr-steps, #home-top.dh-home .dr-steps li {border-color:#aec5d3;}
#home-top.dh-home .dr-steps li::before {background:#c9dfe9;color:#223d60;}
#home-top.dh-home .dr-contact-cta:focus-visible {outline-color:#182f50;}
@media(min-width:701px) and (max-width:950px) {
  #home-top.dh-home .dh-hero {grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);}
  #home-top.dh-home .dh-hero-copy {padding:25px 24px 33px;min-height:280px;}
  #home-top.dh-home .dd-actions {gap:2px 12px;}
  #home-top.dh-home .dh-quick a {grid-template-columns:18px minmax(0,1fr) 10px;gap:.27rem;}
  #home-top.dh-home .dh-quick-icon {width:18px;height:18px;}
  #home-top.dh-home .dh-quick-text small {font-size:.67rem;}
}
@media(max-width:700px) {
  #home-top.dh-home .dh-hero {
    display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto auto;
    align-items:start; padding:16px var(--dh-side) 20px;
  }
  #home-top.dh-home .dh-hero-copy {display:contents; min-height:0; padding:0;}
  #home-top.dh-home .dh-hero h1 {grid-column:1;grid-row:1;align-self:auto;padding:0 0 10px;}
  #home-top.dh-home .dh-hero h1 span {font-size:clamp(1rem,4.1vw,1.5rem);line-height:1.45;}
  #home-top.dh-home .dh-hero h1 strong {font-size:clamp(2rem,8.3vw,3.1rem);line-height:1.2;}
  #home-top.dh-home .dh-hero-photo {
    grid-column:1;grid-row:2;width:100%;height:auto;max-height:240px;aspect-ratio:2.35;
    object-position:50% 41%;border-radius:3px 16px 3px 3px;
  }
  #home-top.dh-home .dh-hero-copy p {grid-row:3;grid-column:1;max-width:34em;margin:.5rem 0 0;padding:0;font-size:.87rem;line-height:1.65;}
  #home-top.dh-home .dd-actions {grid-row:4;grid-column:1;display:flex;margin:.42rem 0 0;gap:0 clamp(10px,4vw,20px);}
  #home-top.dh-home .dd-actions .dd-consult {min-height:44px;font-size:.86rem;padding:.5em .85em;}
  #home-top.dh-home .dd-actions .dh-hero-cta {grid-column:auto;grid-row:auto;min-height:44px;font-size:.84rem;}
  #home-top.dh-home .dh-quick {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto;padding-block:.75rem .9rem;}
  #home-top.dh-home .dh-quick h2 {font-size:.97rem;padding-bottom:.42rem;}
  #home-top.dh-home .dh-quick a {grid-template-columns:17px minmax(0,1fr) 9px;gap:.3rem;min-height:49px;padding:.35rem .5rem;}
  #home-top.dh-home .dh-quick a:nth-of-type(odd) {padding-inline-start:0;border-inline-start:0;}
  #home-top.dh-home .dh-quick a:nth-of-type(n+3) {border-block-start:0;}
  #home-top.dh-home .dh-quick-icon {width:17px;height:17px;}
  #home-top.dh-home .dh-quick-text strong {font-size:clamp(.82rem,3.3vw,.96rem);}
  #home-top.dh-home .dh-quick-text small {font-size:.7rem;}
  #home-top.dh-home .dh-intro-row {padding-block:17px;}
  #home-top.dh-home .dh-intro-pic img, #home-top.dh-home .dh-pay-art img {border-radius:3px 13px 3px 3px;}
}
@media(prefers-reduced-motion:reduce) {html:focus-within {scroll-behavior:auto;}}

#home-top .sr-desk-layout {
  display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.3fr);
  align-items:center; gap:clamp(18px,3vw,46px);
}
#home-top .sr-desk-art {
  background:#e7f1f4; color:#24445a; margin:0; padding:9px 14px 12px;
  border-radius:4px 24px 4px 4px; text-align:center;
  --sr-card:#e7f1f4; --sr-ink:#31546a; --sr-sub:#557688;
  --sr-glass:#c8e7e8; --sr-tint:#f7d5a6; --sr-fill:#fffaf2;
}
#home-top .sr-desk-art svg {display:block;width:100%;max-width:465px;height:auto;margin-inline:auto;}
#home-top .sr-desk-art figcaption {color:inherit;font-size:.83rem;font-weight:700;line-height:1.55;}
#home-top .sr-line {stroke:var(--sr-ink);}
#home-top .sr-soft-line, #home-top .sr-call-line {stroke:var(--sr-sub);}
#home-top .sr-glass {fill:var(--sr-glass);}
#home-top .sr-monitor {fill:var(--sr-glass);}
#home-top .sr-laptop, #home-top .sr-clock {fill:var(--sr-fill);}
#home-top .sr-soft-fill {fill:var(--sr-tint);}
#home-top .sr-ink-fill, #home-top .sr-mark circle {fill:var(--sr-ink);}
#home-top .sr-mark text {fill:var(--sr-card);}
#home-top .sr-checklist {list-style:none;margin:0;padding:0;counter-reset:prep;}
#home-top .sr-checklist li {
  display:grid; grid-template-columns:1.65rem 1fr; column-gap:.6rem; row-gap:.04rem;
  align-content:center; margin:0; padding:.54rem 0; border-block-end:1px solid var(--dh-rule);
  counter-increment:prep;
}
#home-top .sr-checklist li:first-child {border-block-start:1px solid var(--dh-rule);}
#home-top .sr-checklist li::before {
  content:counter(prep); grid-column:1;grid-row:1 / span 2;align-self:start;
  inline-size:1.55rem;block-size:1.55rem;display:grid;place-items:center;border-radius:50%;
  background:var(--dh-green);color:var(--dh-paper);font:700 .81rem/1 sans-serif;
}
#home-top .sr-checklist strong {grid-column:2;grid-row:1;font-size:1rem;line-height:1.55;color:var(--dh-ink);}
#home-top .sr-checklist span {grid-column:2;grid-row:2;font-size:.94rem;line-height:1.62;color:var(--dh-muted);}
#home-top details.sr-prep-detail {margin:.8rem 0 0;padding:0;background:transparent;border:0;border-block:1px solid var(--dh-rule);border-radius:0;box-shadow:none;}
#home-top .sr-prep-detail summary {
  display:flex;align-items:center;justify-content:space-between;gap:.7rem;
  min-height:46px;padding:6px 2px;cursor:pointer;color:var(--dh-ink);
  font-size:.96rem;font-weight:700;line-height:1.55;list-style:none;background:transparent;
}
#home-top .sr-prep-detail summary::-webkit-details-marker {display:none;}
#home-top .sr-prep-detail summary::after {
  content:"";width:.56em;height:.56em;border-bottom:2px solid currentColor;border-right:2px solid currentColor;
  transform:rotate(45deg);margin-right:.5em;flex:0 0 auto;
}
#home-top .sr-prep-detail[open] summary::after {transform:rotate(225deg);}
#home-top.dh-home .dh-intro-row {grid-template-columns:minmax(240px,1fr) minmax(0,1.58fr);}
#home-top.dh-home .dh-intro-pic img {aspect-ratio:1.9;object-position:center 48%;}
#home-top.dh-home .dh-pay-layout {align-items:center;}
#home-top.dh-home .dh-pay-list > div {padding-block:.72rem;}
html[data-nlive-tone="night"] #home-top .sr-desk-art {
  color:#dbedf7;background:#203544;
  --sr-card:#203544; --sr-ink:#c7e0ee; --sr-sub:#9dbfcc;
  --sr-glass:#385864; --sr-tint:#856a4a; --sr-fill:#263f52;
}
@media(max-width:700px) {
  #home-top .sr-desk-layout {grid-template-columns:minmax(0,1fr);gap:.68rem;}
  #home-top .sr-desk-art {padding:4px 12px 8px;}
  #home-top .sr-desk-art svg {max-width:325px;}
  #home-top .sr-checklist li {padding-block:.42rem;}
  #home-top .sr-checklist span {font-size:.92rem;}
  #home-top.dh-home .dh-intro-row {
    display:grid;grid-template-columns:minmax(0,1fr);row-gap:.58rem;align-items:start;
  }
  #home-top.dh-home .dh-intro-copy {display:contents;}
  #home-top.dh-home .dh-intro-copy h2 {grid-area:1/1;}
  #home-top.dh-home .dh-intro-pic {
    grid-area:2/1;float:none;width:100%;max-width:none;margin:0;
  }
  #home-top.dh-home .dh-intro-pic img {aspect-ratio:2.45;max-height:220px;object-position:center 49%;}
  #home-top.dh-home .dh-intro-copy p {grid-area:3/1;margin:0;}
  #home-top.dh-home .dh-chat-modes {grid-area:4/1;margin:0;gap:.65rem;}
  #home-top.dh-home .dh-intro-copy .dh-text-link {grid-area:5/1;justify-self:start;margin:0;}
  #home-top.dh-home .dh-pay-layout {gap:.55rem;}
  #home-top.dh-home .dh-pay-art img {aspect-ratio:2.1;}
  #home-top.dh-home .dh-pay-list > div {grid-template-columns:minmax(5em,.75fr) minmax(0,1.7fr);gap:.42rem;}
}

/* The selector lives in the masthead. The standalone document also contains
   other pages: only show this control while its home is actually visible. */
.nf-head .nt-picker {display:none}
body:has(#home-top:not([hidden])) .nf-head .nt-picker:not([hidden]) {
  display:inline-flex; align-items:center; position:relative; color:#263e5b;
  margin-inline-start:auto; min-width:0; gap:.1rem;
}
.nf-head .nt-picker svg {width:15px;height:15px;flex-shrink:0;margin-inline-end:3px;pointer-events:none}
.nf-head .nt-label {font-size:.76rem;white-space:nowrap}
.nf-head .nt-picker select {
  box-sizing:border-box;min-height:44px;max-width:100%;padding:4px;
  background:transparent;border:1px solid transparent;border-radius:5px;
  color:inherit;font:inherit;font-size:.82rem;cursor:pointer;
}
.nf-head .nt-picker select:hover {border-color:currentColor}
.nf-head .nt-picker select:focus-visible {outline:2px solid currentColor;outline-offset:1px}

@media (max-width:740px) {
  body:has(#home-top:not([hidden])) .nf-head .nf-head-row {
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;align-items:center
  }
  body:has(#home-top:not([hidden])) .nf-head .nf-brand {grid-column:1;grid-row:1}
  .nf-head .nt-picker {grid-column:2;grid-row:1;justify-self:end}
  body:has(#home-top:not([hidden])) .nf-head .nf-nav {grid-column:1/-1;grid-row:2}
}

/* CSS scopes the shell to the visible route; opening an in-file subpage
   restores that page's colours immediately, including after back/forward. */
html[data-nlive-tone="night"]:has(#home-top:not([hidden])) {
  --frame-paper:#112436;--frame-surface:#172b3e;--frame-ink:#f2f5fa;
  --frame-green:#a9dcf6;--frame-line:#526c80;
  color-scheme:dark;background:#112436;
}
html[data-nlive-tone="night"] body:has(#home-top:not([hidden])) :is(.nf-head,.nf-foot) {
  background:#112436;color:#e5eef6;border-color:#526c80;
}
html[data-nlive-tone="night"] body:has(#home-top:not([hidden])) :is(.nf-brand,.nf-brand strong,.nf-nav a,.nf-foot a,.nt-picker) {color:#def0ff}
html[data-nlive-tone="night"] body:has(#home-top:not([hidden])) :is(.nf-brand span,.nf-foot-credit) {color:#c6d7e5}
html[data-nlive-tone="night"] body:has(#home-top:not([hidden])) .nf-nav a:hover {background:#284159;color:#fff}
html[data-nlive-tone="night"] body:has(#home-top:not([hidden])) .nt-picker select option {background:#172b3e;color:#f2f5fa}
html[data-nlive-tone="night"] #main #home-top.dh-home {
  --dh-ink:#f2f5fa;--dh-green:#a9dcf6;--dh-muted:#c4d3df;--dh-cream:#1e3449;
  --dh-paper:#14283a;--dh-deep:#d8eeff;--dh-rule:#526c80;--dh-accent:#ffc6dc;
  --night-panel:#1c3044;--night-raised:#253d52;--night-accent:#96cfe6;
  color:var(--dh-ink);background:var(--dh-paper);color-scheme:dark;
}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dh-mast,.dh-quick) {background:var(--dh-paper)}
html[data-nlive-tone="night"] #home-top.dh-home .dh-hero {
  background:linear-gradient(122deg,#1b3043,#263e54 65%,#213348);
  color:var(--dh-ink)
}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dh-hero h1 strong,.dh-hero h1 span,.dh-quick-text strong,.dh-quick h2,.dh-contact h2,.dh-contact .dr-steps strong) {color:var(--dh-ink)}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dh-hero-copy p,.dr-contact-lead p,.dr-steps span) {color:var(--dh-muted)}
html[data-nlive-tone="night"] #home-top.dh-home .dd-actions .dh-hero-cta {color:var(--dh-green);background:transparent}
html[data-nlive-tone="night"] #home-top.dh-home .dd-wave path:last-child {fill:var(--dh-paper)}
html[data-nlive-tone="night"] #home-top.dh-home .dd-wave stop:nth-child(1) {stop-color:#ab84ab}
html[data-nlive-tone="night"] #home-top.dh-home .dd-wave stop:nth-child(2) {stop-color:#738da9}
html[data-nlive-tone="night"] #home-top.dh-home .dd-wave stop:nth-child(3) {stop-color:#6db5c4}
html[data-nlive-tone="night"] #home-top.dh-home .dh-quick a {border-color:var(--dh-rule)}
html[data-nlive-tone="night"] #home-top.dh-home .dh-quick a:hover {background:var(--night-raised)}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dh-quick-icon,.dh-quick a .dh-arrow) {color:var(--night-accent)}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dh-intro,.dh-contact) {background:var(--night-panel);border-color:var(--dh-rule)}
html[data-nlive-tone="night"] #home-top.dh-home .dh-pay {background:#242e45}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dh-comparison thead th,.dh-comparison thead th:first-child,.dh-comparison tbody th,.dr-row h3,.dr-region[open] summary) {background:var(--night-raised);color:var(--dh-ink)}
html[data-nlive-tone="night"] #home-top.dh-home .dh-comparison tbody td {background:var(--night-panel);color:var(--dh-ink)}
html[data-nlive-tone="night"] #home-top.dh-home :is(.dr-steps,.dr-steps li) {border-color:var(--dh-rule)}
html[data-nlive-tone="night"] #home-top.dh-home .dr-steps li::before {background:#a9dcf6;color:#14283a}
html[data-nlive-tone="night"] #home-top.dh-home :is(a,summary,button):focus-visible {outline:3px solid #ffd278;outline-offset:2px}

/* Keep the official LINE destination recognizable in both reading modes. */
#home-top.dh-home .dd-consult.dd-line-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .48em;
  min-height: 46px;
  padding: .6em 1em;
  color: #fff;
  background: #087343;
  border: 1px solid #087343;
  border-radius: 999px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
}
#home-top.dh-home .dd-line-apply svg { flex: 0 0 19px; }
#home-top.dh-home .dd-consult.dd-line-apply:hover {
  background: #065632;
  border-color: #065632;
  color: #fff;
}
#home-top.dh-home .dd-contact-choices {
  display: flex;
  flex-wrap: wrap;
  gap: .2rem 1rem;
  align-items: center;
  margin-top: .8rem;
}
#home-top.dh-home .dr-contact-cta.dd-other-contact {
  min-height: 44px;
  margin: 0;
  padding: .4rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--dh-green, #223d60);
  text-decoration: underline;
  text-underline-offset: .24em;
}
#home-top.dh-home .dr-contact-cta.dd-other-contact:hover {
  color: var(--dh-ink, #182742);
  background: transparent;
}
#home-top.dh-home .dd-line-apply:focus-visible,
#home-top.dh-home .dd-other-contact:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px #223754;
}
#home-top.dh-home .nl-line-dock,
#home-top.dh-home .nl-line-dock[hidden] { display: none; }
@media (max-width: 700px) and (min-height: 500px) {
  html.nl-line-dock-on {
    scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
  #home-top.dh-home .nl-line-dock:not([hidden]) {
    position: fixed;
    z-index: 12;
    display: block;
    inset-inline-end: max(12px, env(safe-area-inset-right, 0px));
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    max-width: calc(100% - 24px);
    pointer-events: none;
  }
  #home-top.dh-home .nl-line-dock .dd-line-apply {
    min-height: 46px;
    outline: 1px solid #fff;
    box-shadow: 0 2px 9px #14283a42;
    pointer-events: auto;
  }
  #home-top.dh-home .nl-line-dock .dd-line-apply:focus-visible {
    outline: 3px solid #ffd278;
    outline-offset: 2px;
    box-shadow: 0 0 0 6px #223754;
  }
  @media print {
    #home-top.dh-home .nl-line-dock:not([hidden]) { display: none; }
  }
}
