
:root{
  --paper:#F5ECDA;
  --card:#EFE0C4;
  --ink:#1D2B3A;
  --ink-2:#3C4A58;
  --ink-3:#66717B;
  --vermilion:#E5472B;
  --cream:#FFFDF7;
  --bar-h:76px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --sans:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","BIZ UDPGothic","Yu Gothic",Meiryo,sans-serif;
  --hand:"Klee One","Zen Maru Gothic","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;min-height:100svh;
  color:var(--ink);background:var(--paper);
  font-family:var(--sans);font-weight:500;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
::selection{background:rgba(229,71,43,.22)}
a{color:inherit}


.bar{
  position:relative;z-index:3;height:var(--bar-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4.4vw,72px);
}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:36px;height:36px;flex:none;display:block}
.logo-word{font-weight:900;font-size:24px;letter-spacing:.06em;line-height:1}
.logo-word b{color:var(--vermilion);font-weight:900}
.bar-note{margin:0;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--ink-3)}


.hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,4.8fr) minmax(0,7.2fr);
  min-height:calc(100vh - var(--bar-h));
  min-height:calc(100svh - var(--bar-h));
  overflow:hidden;
  background-color:var(--paper);
  background-image:
    linear-gradient(90deg,var(--paper) 16%,rgba(245,236,218,0) 56%),
    radial-gradient(circle,rgba(150,112,60,.26) 1.4px,transparent 1.8px);
  background-size:100% 100%,30px 30px;
  background-position:0 0,12px 12px;
}
.copy{
  position:relative;z-index:2;align-self:center;
  padding:8px clamp(20px,3vw,48px) clamp(24px,7vh,80px) clamp(20px,4.4vw,72px);
}
.kicker{
  display:flex;align-items:center;gap:12px;margin:0 0 20px;
  font-size:clamp(13px,1.05vw,15px);font-weight:700;letter-spacing:.08em;color:var(--ink-2);
}
.kicker::before{
  content:"";flex:none;width:10px;height:10px;border-radius:50%;
  background:var(--vermilion);box-shadow:0 0 0 5px rgba(229,71,43,.16);
}
.h1{
  margin:0 0 clamp(48px,5.2vw,72px);
  font-weight:900;font-size:clamp(34px,4.35vw,74px);line-height:1.2;
  letter-spacing:.01em;font-feature-settings:"palt";
}
.l1,.l2,.l3{display:block}
.l3{position:relative;width:max-content}
.mark{position:relative;display:inline-block;z-index:0}
.mark::after{
  content:"";position:absolute;z-index:-1;left:-.06em;right:-.06em;bottom:.04em;height:.44em;
  border-radius:.18em;background:rgba(229,71,43,.27);
  transform:rotate(-1.2deg);transform-origin:left center;
}
.untangle{
  position:absolute;left:.03em;top:calc(100% - .04em);
  width:4.6em;height:auto;overflow:visible;display:block;
}
.untangle path{fill:none;stroke:var(--vermilion);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}
.untangle .tangle{opacity:0}
.untangle .line{stroke-dasharray:1}
.untangle circle{fill:var(--vermilion)}

.lede{
  counter-reset:q;
  margin:0 0 32px;max-width:31em;
  font-size:clamp(15px,1.25vw,18px);line-height:1.9;color:var(--ink-2);
  word-break:auto-phrase;line-break:strict;
}
.q{
  counter-increment:q;white-space:nowrap;margin-right:.55em;
  font-weight:900;color:var(--ink);
}
.q::before{
  content:counter(q);display:inline-grid;place-items:center;
  width:1.4em;height:1.4em;margin-right:.35em;border-radius:50%;
  background:var(--vermilion);color:#fff;font-size:.74em;font-weight:900;
  vertical-align:.1em;line-height:1;
}
.cta{
  display:inline-flex;align-items:center;gap:20px;
  padding:12px 12px 12px 30px;border-radius:999px;
  background:var(--ink);color:var(--cream);text-decoration:none;
  font-weight:900;font-size:clamp(16px,1.3vw,19px);letter-spacing:.04em;
  box-shadow:0 14px 28px -14px rgba(29,43,58,.7);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.cta:hover{transform:translateY(-2px);box-shadow:0 18px 32px -14px rgba(29,43,58,.75)}
.cta:active{transform:translateY(0)}
.cta:focus-visible{outline:3px solid var(--vermilion);outline-offset:4px}
.cta-arrow{
  flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:var(--vermilion);transition:transform .25s var(--ease);
}
.cta:hover .cta-arrow{transform:translateX(3px)}
.note{margin:16px 0 0 4px;font-size:13.5px;letter-spacing:.04em;color:var(--ink-3)}


.stage{position:relative;margin:0;min-height:min(520px,62vw)}
.scene{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible}
.hand{font-family:var(--hand);font-weight:600}
.say{font-family:var(--sans);font-weight:700}
.num{font-family:var(--sans);font-weight:900}
.a-draw{stroke-dasharray:1}
.ripple{fill:none;stroke:#E5472B;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:50% 50%}


@media (prefers-reduced-motion:no-preference){
  .kicker,.h1,.lede,.cta,.note{animation:textIn .9s var(--ease) backwards}
  .kicker{animation-delay:.05s}
  .h1{animation-delay:.15s}
  .lede{animation-delay:.4s}
  .cta{animation-delay:.55s}
  .note{animation-delay:.65s}
  .mark::after{animation:swipe .7s .8s var(--ease) backwards}

  .untangle .tangle{opacity:1;stroke-dasharray:1;animation:draw .7s .5s ease-out backwards,fadeOut .4s 1.5s ease-in forwards}
  .untangle .line{animation:draw .6s 1.7s var(--ease) backwards}
  .untangle circle{transform-box:fill-box;transform-origin:50% 50%;animation:dot .35s 2.2s cubic-bezier(.25,1.6,.4,1) backwards}

  .a-fade{animation:fadeUp .9s var(--ease) both;animation-delay:var(--d,0s)}
  .a-rise{animation:rise 1.05s var(--ease) both;animation-delay:var(--d,0s)}
  .a-slide{animation:slideOut 1s var(--ease) both;animation-delay:var(--d,0s)}
  .a-pop{transform-box:fill-box;transform-origin:50% 100%;animation:pop .6s cubic-bezier(.25,1.4,.4,1) both;animation-delay:var(--d,0s)}
  .a-draw{animation:draw .7s var(--ease) both;animation-delay:var(--d,0s)}
  .ripple{animation:ripple 3.4s ease-out infinite}
  .ripple.r1{animation-delay:1.3s}
  .ripple.r2{animation-delay:2.4s}
  .ripple.r3{animation-delay:3.5s}
}
@keyframes textIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes swipe{from{transform:rotate(-1.2deg) scaleX(0)}to{transform:rotate(-1.2deg) scaleX(1)}}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fadeOut{to{opacity:0}}
@keyframes dot{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes slideOut{from{opacity:0;transform:translate(-28px,18px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes ripple{0%{opacity:0;transform:scale(.7)}12%{opacity:.85}100%{opacity:0;transform:scale(4.2)}}


@media (max-width:639px),(max-width:859px) and (orientation:portrait){
  :root{--bar-h:60px}
  .bar-note{display:none}
  .logo-mark{width:30px;height:30px}
  .logo-word{font-size:21px}

  .hero{
    display:flex;flex-direction:column;min-height:0;
    background-image:none;
  }
  .copy{display:contents}
  .head{order:1;padding:4px 22px 0}
  .kicker{margin-bottom:12px;font-size:13px}
  .h1{font-size:clamp(26px,7.6vw,38px);line-height:1.22;margin-bottom:38px}
  .l1{display:block}
  .l2{display:inline}
  .l3{display:inline-block;width:auto}

  .stage{
    order:2;min-height:0;
    width:min(calc(100% - 28px),calc(56svh * 1.19));
    aspect-ratio:900/756;
    margin:0 auto;border-radius:24px;overflow:hidden;
    background-color:var(--card);
    background-image:radial-gradient(circle,rgba(150,112,60,.28) 1.3px,transparent 1.7px);
    background-size:26px 26px;
  }
  .scene{
    inset:auto;left:-11.1111%;top:-3.175%;
    width:111.1111%;height:auto;aspect-ratio:1000/780;
  }

  .foot{order:3;padding:20px 22px calc(28px + env(safe-area-inset-bottom))}
  .lede{font-size:15.5px;line-height:1.85;margin-bottom:20px;max-width:none}
  .lede .long{display:none}
  .cta{display:flex;width:100%;justify-content:space-between;padding-left:26px}
  .note{margin:14px 0 0;text-align:center;font-size:13px}
}
@media (max-width:359px){
  .kicker{font-size:12px;letter-spacing:.04em}
}


html{scroll-behavior:smooth;scroll-padding-top:28px}a{text-underline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b93821;outline-offset:5px}button,input{font:inherit}.skip{position:absolute;top:-100px;left:16px;background:var(--cream);padding:12px;z-index:20}.skip:focus{top:10px}.brand-text{display:flex;flex-direction:column;gap:7px}.brand-sub{font-size:11px;letter-spacing:.04em;color:var(--ink-2)}.top-nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:700}.top-nav a{text-decoration:none}.top-nav a:hover{text-decoration:underline}.section{max-width:1280px;margin:auto;padding:100px 56px}.section h2{font-size:clamp(26px,2.6vw,38px);line-height:1.6;margin:0 0 24px;font-weight:900;letter-spacing:.015em}.eyebrow{font-size:13px;font-weight:900;letter-spacing:.12em;margin:0 0 20px;color:#a8321d;display:flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:22px;height:2px;background:currentColor;flex:none}.concerns{display:grid;grid-template-columns:.88fr 1.12fr;gap:64px}.section-intro>p:not(.eyebrow){max-width:30em;font-size:16px;line-height:2;color:var(--ink-2)}.hand-note{position:relative;font:600 20px/1.6 var(--hand);margin:40px 0 0 20px;transform:rotate(-4deg);color:#6b6355}.hand-note span{display:inline-block;font-family:serif;font-size:40px;margin-left:20px;vertical-align:top}.concern-list{list-style:none;padding:0;margin:0;border-top:1px solid #c9bca5}.concern{display:grid;grid-template-columns:46px 1fr 24px;gap:20px;padding:25px 8px;text-decoration:none;border-bottom:1px solid #c9bca5;transition:background .2s,padding .2s}.concern:hover{background:#efe0c4;padding-left:14px}.concern-icon{padding-top:5px}.concern-icon svg{width:42px;height:42px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.concern h3{font-size:19px;line-height:1.6;margin:0 0 8px;font-weight:900}.concern p{font-size:14px;line-height:1.9;color:var(--ink-2);margin:0 0 12px}.concern-action{font-size:13px;color:#a8321d;font-weight:700}.row-arrow{align-self:center;font-size:23px;color:#b63821}.search-section{background:var(--ink);color:var(--cream)}.search-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;padding-top:80px;padding-bottom:80px}.search-layout .eyebrow{color:#ffbba5}.search-layout h2{margin-bottom:16px}.search-layout>div>p:not(.eyebrow){font-size:15px;color:#eee3cf;line-height:1.9;max-width:26em}.light-link{display:inline-block;font-size:14px;margin-top:12px}.search-box{background:var(--cream);color:var(--ink);padding:32px;border-radius:16px}.search-box label{display:block;font-size:17px;font-weight:900;margin-bottom:16px}.search-row{display:flex;flex-direction:column;gap:12px}.search-row input{width:100%;min-width:0;border:1px solid #8b908e;background:white;border-radius:6px;padding:16px;font-size:19px;color:var(--ink)}.search-row button{border:0;background:#b53620;color:#fffdf7;padding:15px 20px;border-radius:6px;cursor:pointer;font-weight:900;display:flex;justify-content:space-between;gap:8px}.search-row button:hover{background:#902a17}.search-box #model-help{font-size:13px;line-height:1.9;color:#58636a;margin:14px 0}.form-status:empty{display:none}.form-status{font-size:13px;color:#a8321d}.search-examples{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:24px;font-size:12px}.search-examples>span{width:100%;color:#58636a}.search-examples a{font-family:var(--sans);text-decoration-color:#b8b7ad}.coverage{font-size:12px;color:#58636a;margin:20px 0 0;border-top:1px solid #ddd3c1;padding-top:16px}.coverage a{display:inline-block}.section-heading{text-align:center}.section-heading .eyebrow{justify-content:center}.section-heading>p:last-child{font-size:16px;color:var(--ink-2)}.journey-list{list-style:none;padding:0;margin:52px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.journey-list li{border-top:1px solid #bdaf97;padding-top:24px;position:relative}.step-no{font:600 40px/1 var(--hand);color:#b53620}.journey-list h3{font-size:22px;margin:18px 0 12px}.journey-list p{font-size:15px;line-height:1.9;color:var(--ink-2);margin:0}.journey-list li:not(:last-child):after{content:'→';position:absolute;right:-32px;top:33px;font-size:24px;color:#8d826e}.journey-note{font-size:13px;color:#58636a;text-align:center;margin:38px 0 0}.next-section{background:#eee0c7}.next-heading h2{margin-bottom:40px}.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.next-card{background:var(--cream);padding:36px;border-radius:16px;display:flex;flex-direction:column;align-items:start}.card-label{font-size:12px;color:#a8321d;font-weight:700}.next-card h3{font-size:25px;margin:15px 0}.next-card p{font-size:15px;line-height:1.9;color:var(--ink-2);margin:0 0 28px}.next-card a{font-size:14px;font-weight:700}.next-card .sub-link{font-size:12px;margin-top:16px;color:#58636a}.resume-strip{display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:48px;border-top:1px solid #c9b99e;padding-top:32px}.resume-strip h3{font-size:20px;margin:0 0 10px}.resume-strip p{font-size:14px;margin:0;color:var(--ink-2)}.outline-button{display:inline-flex;gap:24px;align-items:center;border:1px solid var(--ink);padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}.outline-button:hover{background:var(--ink);color:var(--cream)}.about-strip{text-align:center;padding-top:76px;padding-bottom:76px}.about-strip .eyebrow{justify-content:center}.about-strip h2{font-size:30px;margin-bottom:16px}.about-strip>p:not(.eyebrow){font-size:15px;line-height:2;color:var(--ink-2);margin-bottom:24px}.about-strip>a{font-size:14px}.site-footer{background:var(--ink);color:var(--cream)}.footer-inner{max-width:1280px;margin:auto;padding:48px 56px 32px;display:grid;grid-template-columns:1fr 1.4fr;gap:28px 40px}.footer-brand{font-size:24px;font-weight:900;text-decoration:none}.footer-inner p{font-size:11px;margin:6px 0 0;color:#ddd3c1}.footer-inner nav{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:14px 24px;font-size:12px}.footer-inner nav a{text-decoration:none}.footer-inner nav a:hover{text-decoration:underline}.footer-inner small{font-size:11px;color:#ddd3c1}.back-top{justify-self:end;font-size:12px}.mobile-only{display:none}#start:focus{outline:none}
@media(min-width:1440px){.hero{min-height:760px;max-height:1000px}}
@media(max-width:1000px){.section{padding:76px 32px}.concerns,.search-layout{gap:36px}.top-nav{gap:18px}.concern{grid-template-columns:36px 1fr 18px;gap:14px}.concern-icon svg{width:34px}.concern h3{font-size:17px}.next-card{padding:28px}.next-card h3{font-size:22px}}
@media(max-width:700px){:root{--bar-h:78px}.bar{height:78px;padding:0 22px}.brand-sub{font-size:10px}.logo-word{font-size:21px}.top-nav a{display:none}.top-nav a:nth-child(2){display:block;font-size:11px;border-bottom:1px solid #9f9584;padding:6px 0}.section{padding:60px 22px}.section h2{font-size:27px;line-height:1.6}.concerns,.search-layout{grid-template-columns:1fr;gap:28px}.section-intro h2 br:nth-child(2){display:none}.section-intro>p:not(.eyebrow){font-size:15px}.hand-note{display:none}.eyebrow{font-size:12px;margin-bottom:16px}.concern{padding:23px 0;gap:14px}.concern h3{font-size:17px}.concern p{font-size:13px}.concern-action{font-size:12px}.search-layout{padding-top:54px;padding-bottom:54px}.search-layout h2 br{display:block}.search-layout h2{font-size:28px}.search-box{padding:24px 20px}.search-box label{font-size:16px}.search-row input{font-size:17px}.search-row button{font-size:15px}.journey-list{grid-template-columns:1fr;gap:28px;margin-top:32px}.journey-list li{padding-left:56px;padding-top:20px}.step-no{position:absolute;left:0;top:28px;font-size:32px}.journey-list h3{font-size:20px;margin:0 0 8px}.journey-list li:not(:last-child):after{display:none}.section-heading{text-align:left}.section-heading .eyebrow{justify-content:flex-start}.section-heading>p:last-child{font-size:14px}.journey-note{text-align:left;font-size:12px;margin-top:28px}.next-grid{grid-template-columns:1fr;gap:16px}.next-card{padding:28px 24px}.next-card h3{font-size:23px}.next-card a{font-size:13px}.next-card p{font-size:14px}.resume-strip{align-items:start;flex-direction:column;gap:20px;margin-top:32px;padding-top:28px}.resume-strip p{font-size:13px}.about-strip h2{font-size:25px}.about-strip>p:not(.eyebrow){font-size:14px}.footer-inner{padding:36px 22px;grid-template-columns:1fr;gap:22px}.footer-inner nav{justify-content:flex-start;font-size:12px;gap:16px 22px}.back-top{justify-self:start}.mobile-only{display:block}}
@media(max-width:359px){.bar{padding:0 16px}.logo{gap:6px}.logo-word{font-size:18px}.logo-mark{width:25px}.top-nav a:nth-child(2){font-size:10px}.section{padding-left:18px;padding-right:18px}.concern{grid-template-columns:30px 1fr 16px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

@media(max-width:360px){
  .hero .cta{gap:10px;padding-left:18px;font-size:15px;letter-spacing:.02em}
  .hero .cta-arrow{width:40px;height:40px}
}
