







































































































































































































































































































































































/* noto-sans-jp-cyrillic-wght-normal */


/* noto-sans-jp-vietnamese-wght-normal */


/* noto-sans-jp-latin-ext-wght-normal */


/* noto-sans-jp-latin-wght-normal */

:root{--navy:#13264b;--text:#3e5274;--blue:#2865ff;--purple:#7751e9;--pale:#f0f6ff;--line:#d6e3fa;--gradient:linear-gradient(110deg,#2265f3,#7851e9)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);background:#fff;font-family:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.025em}svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.container{max-width:1200px;width:calc(100% - 96px);margin:auto}.section{padding:128px 0}.eyebrow{font-size:13px;letter-spacing:.16em;color:var(--blue);font-weight:700;margin-bottom:24px}h2{font-size:40px;line-height:1.65}.section-title{margin-bottom:76px}.section-title:after{content:'';display:block;width:56px;height:1px;background:#a6c5ff;margin-top:28px}.tagline{font-size:16px;letter-spacing:.14em;color:var(--blue);font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 26px;min-height:58px;border-radius:100px;background:var(--gradient);color:white;font-size:16px;font-weight:700;border:1px solid transparent;white-space:nowrap;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px #376cf32b}.button span{font-size:19px;font-weight:400}.button.secondary{background:#fff;border-color:var(--line);color:var(--navy)}.button.small{font-size:13px;min-height:44px;padding:10px 20px;gap:15px}.button.white{background:#fff;color:var(--blue);min-width:300px}.header{position:sticky;top:0;z-index:20;border-bottom:1px solid #e3ebf7;background:#ffffffef;backdrop-filter:blur(16px)}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;width:58px;height:60px}.logo{display:block;width:100%;height:100%;object-fit:contain}.nav{display:flex;gap:30px;align-items:center;font-size:13px;font-weight:700}.nav a:hover,.footer a:hover{color:var(--blue)}.menu-button{display:none}.mobile-nav[hidden]{display:none}.skip{position:fixed;left:15px;top:-80px;padding:10px 20px;background:#fff;z-index:100}.skip:focus{top:8px}:focus-visible{outline:3px solid #5586ff;outline-offset:5px}.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#fff 16%,#f4f9ff);padding:138px 0 108px}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:66px;position:relative;z-index:1}.hero h1{font-size:54px;line-height:1.55;letter-spacing:-.035em;margin:25px 0 28px;white-space:nowrap}.gradient-text{background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-description{font-size:16px;line-height:2.1;color:var(--text)}.hero-actions{display:flex;gap:12px;margin-top:34px}.benefits{display:flex;gap:22px;list-style:none;padding:0;margin:24px 0 0;color:#5e7190;font-size:12px;font-weight:700}.benefits li:before{content:'✓';color:var(--blue);margin-right:7px}.hero-visual{min-height:506px;position:relative;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;width:430px;height:430px;border:1px solid #bdd4ff;border-radius:50%}.orbit:after{content:'';position:absolute;inset:40px;border:1px dashed #caddf8;border-radius:50%}.phone{width:280px;padding:14px;background:#ebf2ff;border:1px solid #cadcff;border-radius:30px;box-shadow:0 28px 45px #13376515;position:relative}.hero-phone{width:330px;transform:rotate(2deg);padding:15px}.screen{position:relative;overflow:hidden;background:#f6f7fc;border-radius:19px;width:100%}.screen img{position:absolute;max-width:none;height:auto}.home-screen{aspect-ratio:232/415}.home-screen img{width:657.7586%;left:-425%;top:-55.18%}.stats-screen{aspect-ratio:232/421}.stats-screen img{width:652.155%;left:-111.2%;top:-59.6%}.category-screen{aspect-ratio:234/251}.category-screen img{width:682.051%;left:-147.86%;top:-203.18%}.import-screen{aspect-ratio:224/351}.import-screen img{width:720.09%;left:-116.07%;top:-124.79%}.hero-wave{position:absolute;width:100%;height:135px;border:1px solid #c9ddff;background:#eaf4ff77;border-radius:100% 0 0 0;bottom:-78px;left:52%;transform:rotate(-4deg)}.concern-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:100px;row-gap:76px;padding:0 0 12px}.concern-grid article{position:relative;border-bottom:1px solid var(--line);padding:22px 0 36px 34px}.concern-grid article:nth-child(2){margin-top:80px}.concern-grid article:nth-child(3){grid-column:1/3;width:52%;margin:0 auto}.concern-grid h3{font-size:26px;font-weight:650;line-height:1.9}.index{position:absolute;top:24px;left:0;color:#8db4fc;font-size:12px;letter-spacing:.1em;writing-mode:vertical-rl}.bridge{padding:114px 0 128px;text-align:center;background:var(--pale);position:relative;overflow:hidden}.bridge:before{content:'';position:absolute;top:0;left:-10%;width:120%;height:65px;border-top:1px solid #d0e1fb;border-radius:50%;transform:rotate(2deg)}.bridge h2{font-size:38px}.bridge-message{margin-top:68px;color:#7b8ba5;font-size:24px;font-weight:600;line-height:2}.bridge-message strong{font-size:38px;color:var(--blue)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:58px}.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;color:var(--blue)}.step-number{background:var(--pale);height:44px;width:44px;display:grid;place-items:center;border-radius:50%;font-size:14px;font-weight:700}.step h3{font-size:21px;font-weight:500;margin-bottom:12px}.step p{font-size:14px;color:var(--text);line-height:1.95}.step-image{height:338px;margin-top:32px;background:#f2f6fd;border:1px solid var(--line);border-radius:28px;overflow:hidden;padding:20px;box-shadow:0 20px 35px #18386408}.step-image .screen{max-width:240px;margin:auto;border-radius:14px}.choice{background:var(--gradient);color:#fff;position:relative;overflow:hidden}.choice:after{content:'';position:absolute;width:700px;height:700px;border:1px solid #ffffff18;border-radius:50%;right:-390px;bottom:-420px;box-shadow:0 0 0 65px #ffffff04,0 0 0 130px #ffffff03;pointer-events:none}.choice-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.choice .eyebrow{color:#c5d5ff}.choice h2{font-size:48px;line-height:1.65}.choice-description{font-size:16px;color:#e6eaff;margin-top:30px;line-height:2.15}.check-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:15px;font-size:15px;font-weight:700}.check-list li:before{content:'✓';display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ffffff26;font-size:11px;margin-right:10px}.flow{height:480px;background:#ffffff10;border:1px solid #ffffff3c;border-radius:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.flow-sources{display:flex;gap:12px}.flow-sources span{border:1px solid #ffffff60;border-radius:16px;padding:15px 34px;background:#ffffff13;font-weight:700}.no-connect{font-size:13px;color:#e6eaff;margin-top:17px}.flow-line{height:38px;width:1px;background:#ffffff60}.flow-csv,.flow-nagimi{background:#fff;border-radius:16px;min-width:150px;text-align:center;padding:16px 28px;font-weight:700;color:var(--navy)}.flow-csv{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--blue);min-width:136px}.flow-nagimi{letter-spacing:.08em;font-size:21px}.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;margin-top:96px}.feature-row:first-of-type{margin-top:0}.feature-visual{background:var(--pale);border-radius:48px;min-height:600px;display:flex;align-items:center;justify-content:center;padding:60px 32px}.feature-copy h3{font-size:36px;line-height:1.8;margin:26px 0 24px}.feature-copy>p:last-child{color:var(--text);font-size:16px;line-height:2.15}.feature-row.reverse .feature-visual{order:2}.feature-row.reverse .feature-copy{order:1}.compact-phone{width:280px}.utilities{padding:64px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.utility-grid{display:grid;grid-template-columns:repeat(4,1fr)}.utility-grid article{padding:0 24px;border-left:1px solid var(--line)}.utility-icon{display:grid;place-items:center;background:var(--pale);color:var(--blue);width:46px;height:46px;border-radius:15px;font-size:26px;margin-bottom:16px}.utility-grid h3{font-size:15px;font-weight:500}.utility-grid p{font-size:13px;color:#70809c;margin-top:7px}.wish-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.wish-photo{aspect-ratio:572/660;position:relative;overflow:hidden;border-radius:150px 24px 150px 24px}.wish-photo>img{position:absolute;width:252.2727%;max-width:none;left:-22.727%;top:-6.81%}.wish-photo small{position:absolute;bottom:16px;left:20px;font-size:10px;color:#fff}.wish h2{font-size:36px}.wish-text{color:var(--text);font-size:16px;line-height:2.2;margin:34px 0}.price{background:var(--pale);text-align:center;padding:138px 0 144px}.price .eyebrow{margin-bottom:18px}.price h2{font-size:32px;line-height:1.7;font-weight:500}.price-amount{display:flex;align-items:baseline;justify-content:center;gap:6px;line-height:1;margin:30px 0 12px;color:#5c59f2}.price-amount>span{font-size:32px;font-weight:750}.price-amount>strong{font-size:84px;line-height:1;font-weight:750;letter-spacing:-.04em}.price-note{font-size:14px;color:var(--text)}.price .button{margin-top:32px;min-width:300px}.faq-container{width:calc(100% - 96px);max-width:900px;margin:auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;gap:30px;align-items:center;padding:27px 10px;font-size:16px;font-weight:700;cursor:pointer}summary::-webkit-details-marker{display:none}.q{color:var(--blue);font-size:19px}.plus{flex:none;margin-left:auto;position:relative;width:36px;height:36px;background:var(--pale);border-radius:50%}.plus:before,.plus:after{content:'';position:absolute;background:var(--blue);width:13px;height:1px;left:12px;top:18px}.plus:after{transform:rotate(90deg)}details[open] .plus{transform:rotate(45deg)}.faq-list details>p{display:flex;gap:30px;padding:0 10px 34px;color:var(--text);font-size:16px;line-height:2}.a{color:var(--purple);font-size:19px;font-weight:700}.final-cta{padding:126px 0 132px;text-align:center;background:var(--gradient);color:white;position:relative;overflow:hidden}.final-cta:before,.final-cta:after{content:'';position:absolute;pointer-events:none;width:130%;left:-15%;height:200px;border:1px solid #ffffff28;border-radius:50%;transform:rotate(-3deg)}.final-cta:before{top:55px}.final-cta:after{bottom:-140px;transform:rotate(5deg)}.final-cta .container{position:relative;z-index:1}.final-cta .tagline{color:#cbd8ff}.final-cta h2{font-size:44px;margin:28px 0 40px}.footer{background:#0d1c36;color:#c2cbda;padding:64px 0 32px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-bottom:50px;border-bottom:1px solid #ffffff20}.footer-brand{width:74px;height:78px;display:block}.footer nav{display:flex;flex-wrap:wrap;gap:28px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:12px;color:#94a2b9}.footer-bottom small{font-size:12px}
@media(min-width:1500px){.hero{padding:150px 0 115px}.hero h1{font-size:58px}}@media(max-width:1150px){.nav{gap:16px;font-size:12px}.header-inner{gap:20px}.hero-grid{gap:30px}.hero h1{font-size:43px}.hero-phone{width:292px}.orbit{width:350px;height:350px}.hero-actions .button{padding:15px 21px;font-size:14px}.benefits{gap:12px}.choice-grid,.wish-grid{gap:55px}.feature-row{gap:55px}.feature-copy h3{font-size:30px}.feature-visual{min-height:520px}.choice h2{font-size:40px}.steps{gap:30px}.step h3{font-size:18px}.utility-grid article{padding:0 16px}.utility-grid p{font-size:12px}}
@media(max-width:900px){.nav{display:none}.header-inner{height:74px;gap:18px}.header .button{margin-left:auto}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:40px;border:0;background:none;cursor:pointer;padding:6px}.menu-button span{height:1px;width:24px;background:var(--navy);transition:transform .2s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{padding:90px 0}.hero-grid{grid-template-columns:1.2fr 1fr;gap:20px}.hero h1{font-size:34px}.hero-description{font-size:14px}.hero-actions{flex-wrap:wrap}.hero-phone{width:246px;padding:10px;border-radius:25px}.orbit{width:285px;height:285px}.hero-visual{min-height:420px}.benefits{flex-wrap:wrap;font-size:11px}.container{width:calc(100% - 64px)}.section{padding:96px 0}h2{font-size:32px}.concern-grid{column-gap:48px}.concern-grid h3{font-size:22px}.choice-grid{gap:36px}.choice h2{font-size:34px}.flow{height:430px}.flow-sources span{padding:13px 24px}.check-list{font-size:13px}.choice-description{font-size:14px}.feature-row{gap:36px}.feature-visual{padding:35px 20px;min-height:450px;border-radius:32px}.feature-visual .phone{width:230px;padding:10px}.feature-copy h3{font-size:28px}.feature-copy>p:last-child{font-size:14px}.wish-grid{gap:40px}.wish h2{font-size:29px}.wish-text{font-size:14px}.step-image{padding:14px;height:285px}.steps{gap:22px}.step h3{font-size:16px}.step p{font-size:13px}.utility-grid{grid-template-columns:1fr 1fr;row-gap:35px}.utility-grid p{font-size:13px}.footer nav{gap:20px}.price h2{font-size:28px}}
@media(max-width:640px){html{scroll-padding-top:88px}.container,.faq-container{width:calc(100% - 40px)}.header-inner{height:70px;gap:13px}.brand{width:43px;height:47px}.header .button.small{font-size:12px;min-height:38px;padding:8px 15px;gap:10px}.header .button span{font-size:16px}.hero{padding:62px 0 64px}.hero-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:clamp(29px,7.8vw,42px);line-height:1.65;margin:19px 0 22px;white-space:normal;letter-spacing:-.035em}.tagline{font-size:14px}.hero-description{font-size:14px;line-height:2}.desktop{display:none}.hero-actions{gap:10px;margin-top:27px;flex-wrap:nowrap}.hero-actions .button{padding:13px 15px;min-height:51px;font-size:13px;gap:12px;flex:1}.benefits{gap:14px;font-size:11px;margin-top:18px;flex-wrap:nowrap;justify-content:flex-start}.benefits li:before{margin-right:4px}.hero-visual{min-height:430px}.hero-phone{width:255px;transform:rotate(2deg)}.orbit{width:320px;height:320px}.hero-wave{bottom:-85px;left:22%;width:140%}.section{padding:78px 0}.eyebrow{font-size:12px;margin-bottom:18px}h2{font-size:27px;line-height:1.65}.section-title{margin-bottom:42px}.section-title:after{margin-top:22px;width:40px}.concern-grid{grid-template-columns:1fr;gap:20px}.concern-grid article,.concern-grid article:nth-child(2),.concern-grid article:nth-child(3){grid-column:auto;width:100%;margin:0;padding:15px 0 25px 27px}.concern-grid h3{font-size:20px;line-height:1.95}.index{top:20px}.bridge{padding:75px 0 85px}.bridge h2{font-size:27px}.bridge-message{font-size:18px;margin-top:38px}.bridge-message strong{font-size:28px}.steps{grid-template-columns:1fr;gap:52px}.step{position:relative}.step-top{justify-content:flex-start;gap:20px;margin-bottom:16px}.step h3{font-size:21px}.step p{font-size:14px}.step-image{height:310px;max-width:340px;margin:24px auto 0;padding:18px 35px}.step-image .screen{max-width:235px}.step:nth-child(2) .step-image{display:flex;align-items:center}.choice{padding:80px 0}.choice-grid{grid-template-columns:1fr;gap:43px}.choice h2{font-size:34px}.choice-description{font-size:14px;margin-top:24px}.check-list{font-size:13px;gap:13px;margin-top:27px}.flow{height:365px;border-radius:26px}.flow-line{height:27px}.feature-row{grid-template-columns:1fr;gap:29px;margin-top:66px}.feature-row.reverse .feature-visual{order:0}.feature-row.reverse .feature-copy{order:0}.feature-visual{min-height:430px;padding:34px 28px;border-radius:30px}.feature-row:first-of-type .feature-visual{min-height:330px}.feature-visual .phone{width:230px}.feature-copy h3{font-size:28px;margin:14px 0 18px}.feature-copy .eyebrow{margin-bottom:0}.feature-copy>p:last-child{font-size:15px}.utilities{padding:42px 0}.utility-grid{gap:30px 0}.utility-grid article{padding:0 12px}.utility-grid h3{font-size:13px;font-weight:600}.utility-grid p{font-size:12px;line-height:1.8}.utility-icon{width:40px;height:40px;border-radius:12px;margin-bottom:12px}.wish-grid{grid-template-columns:1fr;gap:38px}.wish-photo{border-radius:85px 18px 85px 18px;max-width:450px}.wish h2{font-size:28px}.wish-text{font-size:15px;margin:24px 0}.price{padding:84px 0 90px}.price h2{font-size:23px;line-height:1.8;max-width:310px;margin:auto;text-wrap:balance}.price-amount{margin-top:27px;margin-bottom:14px}.price-amount>strong{font-size:68px}.price-amount>span{font-size:25px}.price-note{font-size:13px}.price .button{min-width:270px;max-width:100%;margin-top:29px;font-size:14px}.faq-list summary{font-size:14px;gap:15px;padding:22px 0;line-height:1.85}.q,.a{font-size:16px}.plus{width:29px;height:29px}.plus:before,.plus:after{left:9px;top:14px;width:11px}.faq-list details>p{font-size:14px;gap:15px;padding:0 0 25px;line-height:2}.final-cta{padding:83px 0 90px}.final-cta h2{font-size:29px;margin:24px 0 32px}.button.white{min-width:270px;font-size:14px}.footer{padding:44px 0 25px}.footer-top{align-items:flex-start;gap:35px;padding-bottom:30px}.footer-brand{width:66px;height:70px;flex:none}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;font-size:12px}.footer-bottom{font-size:11px;margin-top:20px}.footer-bottom small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Vector logos: preserve proportions and give the original lettering room. */
.brand{width:65px;height:70px;flex:none}.footer-brand{width:90px;height:97px}.logo{object-fit:contain}
@media(max-width:640px){.brand{width:51px;height:56px}.footer-brand{width:78px;height:84px}}

/* Logo update — the mark and lettering are now vector assets arranged horizontally. */
.brand{width:188px;height:50px;flex:0 0 auto;display:flex;align-items:center}
.brand .logo,.footer-brand .logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center left}
.footer-brand{width:195px;height:52px;flex:0 0 auto}
@media(max-width:900px){.brand{width:165px;height:43px}}
@media(max-width:640px){
  .brand{width:clamp(116px,33vw,142px);height:38px;flex-shrink:0}
  .header-inner{gap:9px}
  .footer-brand{width:170px;height:45px}
  .header .button.small{padding:8px 12px;font-size:11px;min-height:38px}
  .menu-button{width:33px;flex-shrink:0}
}
@media(max-width:350px){.header .button.small{display:none}}

/* 2026-10-09: Single-column, full-screen SP navigation, inspired by an editorial menu. */
.mobile-nav[hidden]{display:none !important}
.mobile-nav{display:none}
body.mobile-menu-open{overflow:hidden;overscroll-behavior:none}
@media(max-width:900px){
  .mobile-nav{
    position:fixed;inset:0;z-index:2000;
    display:grid;grid-template-columns:56px minmax(0,1fr);
    background:#111c30;color:#f7f9ff;
    width:100%;height:100vh;height:100dvh;
    overflow:hidden;
  }
  .mobile-nav-rail{
    background:#0b1628;border-right:1px solid rgba(255,255,255,.075);
    display:flex;flex-direction:column;align-items:center;justify-content:space-between;
    padding:28px 0 30px;gap:20px;min-height:0;
  }
  .mobile-nav-rail-name{
    writing-mode:vertical-rl;font-size:14px;font-weight:700;letter-spacing:.28em;
    color:rgba(255,255,255,.85);
  }
  .mobile-nav-rail-message{
    writing-mode:vertical-rl;transform:rotate(180deg);
    font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.35);
    white-space:nowrap;
  }
  .mobile-nav-panel{
    min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;
    position:relative;
    background:radial-gradient(ellipse 100% 68% at 100% 15%,#233456 0%,transparent 72%),#111c30;
  }
  .mobile-nav-panel::before{
    content:'NAGIMI';position:absolute;top:55px;left:20px;
    font-size:clamp(56px,17vw,120px);font-weight:800;letter-spacing:.08em;
    color:#fff;opacity:.035;pointer-events:none;white-space:nowrap;
  }
  .mobile-nav-close{
    position:absolute;top:18px;right:17px;z-index:2;
    width:49px;height:49px;border:0;background:transparent;color:#fff;
    display:grid;place-items:center;cursor:pointer;
    border-radius:50%;-webkit-tap-highlight-color:transparent;
  }
  .mobile-nav-close svg{width:28px;height:28px;stroke-width:1.25}
  .mobile-nav-close:hover{background:rgba(255,255,255,.09)}
  .mobile-nav-panel-inner{
    position:relative;z-index:1;
    min-height:100%;padding:clamp(98px,13dvh,135px) clamp(22px,6vw,46px) 28px;
    display:flex;flex-direction:column;align-items:stretch;
  }
  .mobile-nav-eyebrow{
    color:#9daac0;letter-spacing:.16em;font-size:12px;font-weight:500;
    line-height:1.4;margin:0 0 19px;
  }
  .mobile-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:6px}
  .mobile-nav-links a{
    width:100%;display:block;padding:7px 0;
    font-size:clamp(21px,5.8vw,27px);font-weight:750;line-height:1.55;
    letter-spacing:.025em;color:#fff;
    transition:color .18s,transform .18s;
  }
  .mobile-nav-links a:hover,.mobile-nav-links a:focus-visible{color:#83d5d2;transform:translateX(5px)}
  .mobile-nav-start{margin-top:clamp(25px,5dvh,48px)}
  .mobile-nav-start .mobile-nav-eyebrow{margin-bottom:11px}
  .mobile-nav-cta{
    font-size:clamp(20px,5.2vw,24px);font-weight:750;line-height:1.6;
    display:inline-flex;align-items:center;gap:13px;padding:7px 0;color:#7cd1cf;
    transition:color .2s;
  }
  .mobile-nav-cta:hover{color:#a7eeee}
  .mobile-nav-cta span{font-size:21px;line-height:1}
  .mobile-nav-caption{
    margin-top:auto;padding-top:35px;color:#72819b;
    font-size:11px;letter-spacing:.08em;
  }
}
@media(max-width:360px){
  .mobile-nav{grid-template-columns:48px minmax(0,1fr)}
  .mobile-nav-panel-inner{padding-left:20px;padding-right:18px;padding-top:90px}
  .mobile-nav-links{gap:2px}
  .mobile-nav-links a{font-size:21px;padding:5px 0}
  .mobile-nav-start{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.mobile-nav-links a,.mobile-nav-cta{transition:none}}

/* 2026-10-12: Hide only the top navigation CTA when the hamburger menu is active. */
@media (max-width: 900px) {
  .header-inner > a.button.small.app-link { display: none !important; }
  .header-inner > .menu-button { margin-left: auto; }
}


/* ============================================================
   NAGIMI / iPhone-inspired screenshot frames (2026-10-12)
   All seven App previews share the same real-device framing.
   Screenshots are cropped assets (no screenshot of the LP itself).
   ============================================================ */
.phone {
  --device-padding: 11px;
  width: min(100%, 272px);
  aspect-ratio: 0.495;
  height: auto;
  display: block;
  isolation: isolate;
  padding: 0;
  flex: 0 0 auto;
  position: relative;
  border: 2px solid #a5aab0;
  border-radius: 49px;
  background: linear-gradient(115deg,#61656d 0%,#090b0d 13%,#121418 55%,#41464c 97%,#0b0d0f 100%);
  box-shadow:
    0 25px 55px rgba(15,31,62,.17),
    0 9px 18px rgba(10,20,40,.12),
    inset 0 0 0 2px #272b2f,
    inset 0 0 0 6px #080a0c;
  transform: none;
}
.phone::before {
  content:'';
  position:absolute;
  z-index: 3;
  top: 17%; left:-5px;
  width: 3px; height: 55px;
  border-radius: 3px 0 0 3px;
  background:linear-gradient(#4f545a,#1c2025,#686d74);
  box-shadow: 0 69px 0 -1px #454a51;
  pointer-events:none;
}
.phone::after {
  content:'';
  position:absolute;
  z-index: 3;
  right:-5px;top:24%;
  width:3px;height:66px;
  border-radius:0 3px 3px 0;
  background:linear-gradient(#5b6066,#1c2025,#6d737a);
  pointer-events:none;
}
.phone > .screen {
  position:absolute;
  overflow:hidden;
  inset:var(--device-padding);
  width:auto;height:auto;
  aspect-ratio:auto;
  background:linear-gradient(180deg,#f9faff 0%,#f4f7ff 100%);
  border-radius:40px;
  border:1px solid rgba(0,0,0,.19);
  box-shadow:inset 0 0 12px rgba(16,28,50,.1);
}
.phone > .screen img {
  position:absolute;
  inset:auto auto auto 0;
  top:43px;
  left:0;
  width:100%;
  height:auto;
  max-width:100%;
  display:block;
  object-fit:contain;
}
.phone > .screen.category-screen img {top:65px}
.phone > .screen.import-screen img {top:54px}
.phone > .screen.stats-screen img {top:43px}
.device-dynamic-island {
  position:absolute;
  z-index:5;
  left:50%;top:19px;
  width:31.5%;height:24px;
  transform:translateX(-50%);
  border-radius:100px;
  background:#07080a;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
  pointer-events:none;
}
.device-dynamic-island::after {
  content:'';position:absolute;right:12px;top:10px;
  width:4px;height:4px;border-radius:50%;background:#152337;
}
.device-home-indicator {
  position:absolute;
  z-index:5;
  width:33%;height:4px;
  left:50%;bottom:16px;
  transform:translateX(-50%);
  border-radius:100px;background:#1b202b;
  pointer-events:none;
}
.hero-phone {
  width: min(100%, 286px);
  transform: rotate(2deg);
}
.hero-visual {min-height:620px}
.feature-visual .phone,
.compact-phone {width:min(100%,272px)}
.feature-visual {min-height:660px; padding:42px 30px}
/* Use a real phone mockup for each of the three HOW IT WORKS illustrations. */
.step-image {
  display:flex;
  align-items:flex-start;
  justify-content:center;
  height:368px;
  padding:18px 14px 0;
  overflow:hidden;
  background:linear-gradient(180deg,#f0f6ff,#fafcff);
}
.step-image .step-phone {
  width:157px;
  max-width:90%;
  margin:0 auto;
  --device-padding:6px;
  border-radius:29px;
  box-shadow:0 13px 25px rgba(15,31,62,.14), inset 0 0 0 2px #23272b, inset 0 0 0 4px #060809;
}
.step-image .step-phone .screen {inset:6px;border-radius:23px}
.step-image .step-phone .screen img {top:22px}
.step-image .step-phone .screen.category-screen img {top:34px}
.step-image .step-phone .screen.import-screen img {top:30px}
.step-image .step-phone .device-dynamic-island {top:11px;height:13px}
.step-image .step-phone .device-dynamic-island::after {right:6px;top:5px;width:3px;height:3px}
.step-image .step-phone .device-home-indicator {bottom:9px;height:3px}
.step-image .step-phone::before {width:2px;left:-3px;height:32px}
.step-image .step-phone::after {width:2px;right:-3px;height:36px}
@media (max-width: 1100px) {
  .hero-phone {width: min(100%,246px)}
  .hero-visual {min-height:520px}
  .feature-visual {min-height:555px;padding:26px 18px}
  .feature-visual .phone{width:min(100%,228px)}
  .step-image{height:302px}
  .step-image .step-phone{width:130px}
}
@media (max-width: 640px) {
  .hero-phone {width:min(100%,245px);transform:rotate(2deg)}
  .hero-visual {min-height:535px}
  .feature-visual {min-height:535px; padding:28px 20px}
  .feature-visual .phone {width:min(100%,232px)}
  .feature-row:first-of-type .feature-visual {min-height:535px}
  .step-image {height:352px; max-width:340px; padding:20px 14px 0; align-items:flex-start}
  .step-image .step-phone{width:150px;max-width:90%}
  .step:nth-child(2) .step-image {align-items:flex-start}
  .phone {border-radius:45px}
  .phone > .screen {border-radius:37px}
}
@media(max-width:360px){
  .hero-phone{width:min(100%,222px)}
  .hero-visual{min-height:485px}
  .feature-visual .phone{width:min(100%,219px)}
  .feature-visual{min-height:510px}
}


/* =======================================================================
   NAGIMI / confirmed typography system (LINE Seed JP + Inter)
   Source: Google Fonts, weights 400/700 and 500/600/700, display=swap.
   Keep brand SVG logo untouched. These rules come last intentionally.
   ======================================================================= */
:root {
  --font-ja: "LINE Seed JP", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-num: "Inter", sans-serif;
}
body { font-family:var(--font-ja);font-size:16px;line-height:1.8;letter-spacing:0;-webkit-font-smoothing:antialiased; }
h1,h2,h3 {font-family:var(--font-ja);font-weight:700;line-height:1.42;letter-spacing:-.025em;overflow-wrap:normal;}
h2,.section h2,.bridge h2,.wish h2,.price h2,.final-cta h2 {font-size:38px;line-height:1.45;font-weight:700;}
.hero h1 {font-size:46px;line-height:1.4;letter-spacing:-.035em;font-weight:700;}
.eyebrow,.mobile-nav-eyebrow {font-family:var(--font-num);font-size:13px;letter-spacing:.10em;font-weight:600;line-height:1.4;}
.button,.nav,.footer nav,.mobile-nav a {font-family:var(--font-ja);font-weight:700;}
.button {font-size:16px;}
.hero-description,.feature-copy>p:last-child,.wish-text,.faq-list details>p,.choice-description {font-size:16px;line-height:1.8;}
.step p {line-height:1.8;}
.feature-copy h3 {font-weight:700;line-height:1.45;}
.concern-grid h3,.utility-grid h3,.step h3,.price h2 {font-weight:700;}
.price-amount,.step-number,.index,.q,.a {font-family:var(--font-num);font-variant-numeric:tabular-nums;}
.price-amount>span,.price-amount>strong {font-family:var(--font-num);font-weight:600;}
.price-amount>span{font-size:30px;}.price-amount>strong{font-size:36px;letter-spacing:-.03em;}
.button.small {font-size:13px;}
.mobile-nav-links a {font-weight:700;}

/* =======================================================================
   NAGIMI'S CHOICE -- calm fintech trust + an actual NAGIMI app screen
   Uses the same .phone iPhone-like mockup as the rest of the website.
   ======================================================================= */
.choice {
  padding:104px 0;
  background:
    radial-gradient(ellipse 48% 58% at 77% 54%,rgba(173,177,247,.26),transparent 85%),
    linear-gradient(120deg,#f2f6ff 0%,#f7f8ff 54%,#f4f1fc 100%);
  color:var(--navy);
  position:relative;overflow:hidden;
}
.choice::after {display:none;}
.choice-grid {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  grid-template-areas:"copy visual" "points visual";
  column-gap:clamp(28px,4vw,62px);
  row-gap:26px;
  align-items:center;
}
.choice-copy {grid-area:copy;min-width:0;align-self:end;}
.choice .eyebrow {color:#5066c2;margin-bottom:23px;}
.choice h2 {
  font-size:clamp(32px,3.17vw,40px);
  line-height:1.46;font-weight:700;letter-spacing:-.043em;
  color:#13254a;
}
.choice-accent {color:#5756bb;}
.choice-description {margin-top:26px;color:#51627e;font-weight:400;font-size:16px;line-height:1.82;}
.choice-points {
  grid-area:points;align-self:start;
  list-style:none;padding:0;margin:0;
  display:grid;gap:13px;
  color:#243657;font-size:15px;font-weight:700;
}
.choice-points li {display:flex;gap:13px;align-items:flex-start;line-height:1.62;}
.choice-points li::before {
  content:'✓';flex:none;display:grid;place-items:center;
  width:22px;height:22px;margin-top:1px;
  border-radius:50%;background:#e3e9fe;color:#5962c4;
  font-family:var(--font-num);font-size:13px;font-weight:700;
}
.choice-visual {
  grid-area:visual;min-width:0;width:100%;height:574px;
  position:relative;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,rgba(255,255,255,.82),rgba(226,230,255,.55));
  border:1px solid rgba(204,213,240,.6);
  border-radius:40px;
  isolation:isolate;
}
.choice-visual::before {
  content:'';position:absolute;z-index:-1;pointer-events:none;
  width:85%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(148,159,237,.22) 0%,rgba(172,187,248,.11) 38%,transparent 72%);
  filter:blur(7px);
}
.choice-visual .choice-phone {
  width:267px;max-width:75%;transform:none;
  --device-padding:11px;
  box-shadow:0 25px 55px rgba(37,54,99,.17),0 9px 20px rgba(12,20,55,.12),inset 0 0 0 2px #272b2f,inset 0 0 0 6px #080a0c;
}
/* Inner screen retains the original product screenshot, no fake overlay UI. */
.choice-phone>.screen img {top:43px;}
@media (max-width:1100px) {
  .hero h1{font-size:43px;}
  .choice {padding:90px 0;}
  .choice-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:25px;}
  .choice h2 {font-size:clamp(29px,3.15vw,37px);}
  .choice-visual{height:530px;}
  .choice-visual .choice-phone{width:245px;}
  .choice-description{font-size:15px;}
  .choice-points{font-size:14px;}
}
@media (max-width:900px) {
  .hero h1 {font-size:clamp(31px,4vw,39px);}
  .section h2,.bridge h2,.price h2,.final-cta h2{font-size:34px;line-height:1.45;}
  .choice-grid {column-gap:22px;}
  .choice h2{font-size:clamp(27px,3.55vw,32px);}
  .choice-visual{height:490px;border-radius:30px;}
  .choice-visual .choice-phone{width:220px;}
  .choice-description-break{display:none;}
}
@media (max-width:640px) {
  body{font-size:15px;line-height:1.8;}
  .hero h1{font-size:clamp(30px,7.3vw,32px);line-height:1.4;}
  .section h2,.bridge h2,.price h2,.final-cta h2,.wish h2{font-size:clamp(26px,7vw,28px);line-height:1.43;}
  .eyebrow{font-size:12px;letter-spacing:.1em;}
  .hero-description,.feature-copy>p:last-child,.wish-text,.faq-list details>p{font-size:15px;line-height:1.8;}
  .button {font-size:15px;}
  .hero-actions .button{font-size:14px;}
  .price-amount>span{font-size:24px;}.price-amount>strong{font-size:30px;}
  .choice{padding:72px 0 78px;}
  .choice-grid {
    display:grid;grid-template-columns:minmax(0,1fr);
    grid-template-areas:"copy" "visual" "points";
    gap:0;
  }
  .choice .eyebrow{margin-bottom:15px;}
  .choice h2{font-size:clamp(23px,6.8vw,28px);line-height:1.43;letter-spacing:-.047em;}
  .choice-description{margin-top:19px;font-size:15px;line-height:1.8;}
  .choice-description-break{display:none;}
  .choice-visual{
    width:100%;max-width:420px;justify-self:center;
    height:500px;margin-top:27px;border-radius:28px;
  }
  .choice-visual .choice-phone{width:233px;max-width:75%;}
  .choice-points{margin:26px 0 0;font-size:14px;gap:13px;}
  .choice-points li::before{width:21px;height:21px;}
  .feature-copy h3 {font-size:clamp(25px,6.8vw,28px);line-height:1.45;}
  .mobile-nav-links a{font-weight:700;}
}
@media(max-width:375px){
  .choice-visual{height:470px;}
  .choice-visual .choice-phone{width:218px;}
  .choice h2{font-size:clamp(22px,6.9vw,26px);}
  .choice-points{font-size:13px;}
  .choice-description{font-size:15px;}
}
@media(max-width:340px){
  .choice-visual{height:446px;}
  .choice-visual .choice-phone{width:204px;}
  .hero-actions{flex-wrap:wrap;}
  .hero-actions .button{flex:1 1 100%;font-size:15px;}
}


/* ==========================================================
   NAGIMI 2026 / Three editorial section refinements
   All headings/copy are real HTML; artwork is split into assets.
   ========================================================== */
.concerns-v3,.bridge-v3,.wish-v3 {isolation:isolate;position:relative;overflow:hidden;}
.concerns-v3 .eyebrow,.bridge-v3 .eyebrow,.wish-v3 .eyebrow {
  color:#426bff;font-size:13px;font-weight:600;letter-spacing:.13em;
}
.concerns-v3 h2,.bridge-v3 h2,.wish-v3 h2 {font-weight:700;line-height:1.46;letter-spacing:-.04em;color:#102658;}
.concerns-v3 {padding:104px 0 145px;background:radial-gradient(ellipse at 89% 9%,#f1f2ff 0,transparent 40%),linear-gradient(140deg,#fff 25%,#f7f9ff 65%,#fdfaff 100%);}
.concerns-v3::after {content:"";position:absolute;bottom:-4px;left:-5%;width:110%;height:160px;z-index:0;background-image:url('./assets/soft-waves.svg');background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;}
.concerns-v3 .concerns-inner{position:relative;z-index:1;max-width:1370px;}
.concerns-v3 .concerns-heading {margin:0 auto 43px;text-align:center;}
.concerns-v3 .concerns-heading::after{content:"";display:block;margin:16px auto 0;width:43px;height:1px;background:#85a2ff;}
.concerns-v3 .concerns-heading .eyebrow {margin-bottom:21px;}
.concerns-v3 .concerns-heading h2 {font-size:clamp(32px,3.4vw,51px);margin:0;}
.concerns-v3 .concerns-intro {font-size:clamp(14px,1.15vw,17px);color:#8996b7;letter-spacing:.005em;margin-top:20px;line-height:1.85;}
.concerns-v3 .concerns-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:0;}
.concerns-v3 .concern-card {border:1px solid rgba(255,255,255,.98);background:rgba(255,255,255,.88);border-radius:27px;min-width:0;margin:0;padding:26px 25px 30px;min-height:372px;box-shadow:0 20px 58px rgba(76,101,165,.045);display:flex;flex-direction:column;}
.concerns-v3 .concern-card:nth-child(2),.concerns-v3 .concern-card:nth-child(3){grid-column:auto;width:auto;margin:0;}
.concerns-v3 .concern-card .index {position:static;writing-mode:horizontal-tb;color:#6282ff;font-family:var(--font-num),sans-serif;font-size:27px;font-weight:600;font-style:italic;line-height:1.2;letter-spacing:-.035em;}
.concerns-v3 .concern-card .index::after{content:"";display:block;width:24px;height:1px;background:#94afff;margin-top:16px;}
.concerns-v3 .concern-art {display:flex;align-items:center;justify-content:center;flex:1;min-height:198px;margin:-13px -9px 12px;overflow:hidden;}
.concerns-v3 .concern-art img {max-width:100%;width:100%;max-height:240px;height:auto;object-fit:contain;display:block;mix-blend-mode:multiply;}
.concerns-v3 .concern-card h3 {font-size:clamp(17px,1.55vw,22px);line-height:1.75;font-weight:700;letter-spacing:-.02em;margin:0;min-height:78px;color:#102658;}

.bridge-v3 {text-align:left;padding:98px 0 118px;min-height:720px;background:radial-gradient(ellipse 36% 35% at 67% 37%,rgba(143,165,255,.27),transparent 95%),linear-gradient(130deg,#fff 25%,#fafbff 55%,#edf3ff 100%);}
.bridge-v3::after{content:"";position:absolute;z-index:0;bottom:0;left:0;width:100%;height:185px;background:url('./assets/soft-waves.svg') center bottom / 100% 100% no-repeat;opacity:.88;pointer-events:none;}
.bridge-v3 .bridge-layout {max-width:1380px;position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:20px;align-items:center;}
.bridge-v3 .bridge-copy {padding:0 0 0 14px;z-index:2;}
.bridge-v3 .eyebrow {display:flex;gap:20px;align-items:center;margin-bottom:54px;}
.bridge-v3 .eyebrow::after {content:"";display:block;width:85px;height:1px;background:#7996ff;}
.bridge-v3 h2 {font-size:clamp(38px,3.9vw,61px);line-height:1.48;margin:0 0 45px;white-space:nowrap;}
.bridge-v3 h2 span {color:#5070ff;}
.bridge-v3 .bridge-description {font-size:clamp(18px,1.52vw,23px);font-weight:500;line-height:1.8;color:#172e60;max-width:580px;margin:0 0 38px;}
.bridge-v3 .bridge-conclusion {max-width:570px;border-top:1px solid #b1c3ff;padding-top:34px;color:#172e60;font-size:clamp(17px,1.4vw,21px);font-weight:700;line-height:1.7;margin:0;}
.bridge-v3 .bridge-art {height:604px;position:relative;min-width:0;}
.bridge-v3 .bridge-glow{position:absolute;inset:8% -7% 2% -10%;background:radial-gradient(ellipse at 60% 48%,rgba(112,132,255,.28),transparent 65%);filter:blur(16px);}
.bridge-v3 .bridge-phone {position:absolute;right:10%;top:-8px;width:328px;z-index:2;transform:rotate(7deg);padding:12px;border-radius:51px;background:linear-gradient(120deg,#080e21,#343f69 43%,#f6f5ff 53%,#65739d 76%,#1e2135);border:3px solid #474f6f;box-shadow:30px 32px 36px rgba(67,83,157,.16),0 2px 8px rgba(18,25,54,.18);}
.bridge-v3 .bridge-phone .bridge-screen {border-radius:37px;aspect-ratio:696/1261;border:6px solid #070b12;overflow:hidden;background:#fff;}
.bridge-v3 .bridge-screen img {inset:0;width:100%;height:100%;object-fit:fill;position:absolute;max-width:100%;}
.bridge-v3 .bridge-phone .device-dynamic-island{z-index:3;}
.bridge-v3 .bridge-import-badge {position:absolute;top:44px;left:0;z-index:4;display:flex;align-items:center;gap:13px;background:#fff;border-radius:999px;padding:14px 23px;box-shadow:0 17px 40px rgba(111,131,204,.15);color:#122962;font-weight:700;font-size:21px;white-space:nowrap;transform:rotate(-9deg);}
.bridge-v3 .badge-check {width:40px;height:40px;border-radius:50%;background:#5172ff;color:white;display:grid;place-items:center;font-weight:700;font-family:var(--font-num);font-size:23px;}
.bridge-v3 .bridge-csv-paper {position:absolute;top:185px;left:27px;z-index:3;width:175px;height:224px;background:#fff;border-radius:12px;transform:rotate(-11deg);box-shadow:0 20px 50px rgba(75,100,183,.11);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;}
.bridge-v3 .csv-file-icon{position:relative;width:70px;height:72px;display:grid;place-items:end center;border-radius:8px 12px 7px 7px;background:linear-gradient(120deg,#2dd7cb,#09a49b);clip-path:polygon(0 0,70% 0,100% 29%,100% 100%,0 100%);box-shadow:0 4px 10px rgba(0,165,160,.1);}
.bridge-v3 .csv-file-icon span{font-family:var(--font-num);font-size:19px;color:#fff;font-weight:700;letter-spacing:.1em;padding-bottom:13px;}
.bridge-v3 .csv-filename{font-family:var(--font-num);font-size:12px;font-weight:700;color:#122b59;}
.bridge-v3 .csv-line {width:90px;height:9px;background:#edf1f6;border-radius:99px;}
.bridge-v3 .csv-line.short{width:62px;margin-top:-6px;}
.bridge-v3 .bridge-flow-arrow {position:absolute;top:237px;left:194px;color:#5679fa;font-size:72px;transform:rotate(14deg);z-index:4;font-family:Arial,sans-serif;font-weight:300;}

.wish-v3 {padding:0;min-height:665px;background:radial-gradient(ellipse at 94% 6%,#eef2ff,transparent 42%),linear-gradient(115deg,#f8f9ff 0%,#fff 69%);}
.wish-v3::after {content:"";position:absolute;z-index:1;bottom:0;left:0;width:100%;height:118px;background:url('./assets/soft-waves.svg') center bottom / 100% 100% no-repeat;opacity:.63;pointer-events:none;}
.wish-v3 .wish-illustration {position:absolute;z-index:0;left:0;top:0;bottom:0;width:min(61.5%,1060px);pointer-events:none;}
.wish-v3 .wish-illustration img {width:100%;height:100%;object-fit:cover;object-position:left center;display:block;}
.wish-v3 .wish-layout {max-width:1370px;min-height:665px;display:flex;align-items:center;justify-content:flex-end;position:relative;z-index:2;}
.wish-v3 .wish-copy {width:44%;padding:80px 5px 72px 4px;}
.wish-v3 .wish-copy .eyebrow {margin-bottom:35px;}
.wish-v3 h2 {font-size:clamp(35px,3.35vw,56px);line-height:1.4;margin:0;color:#102658;white-space:nowrap;}
.wish-v3 h2 span,.wish-v3 .wish-signature {color:#4167ff;}
.wish-v3 .wish-text {font-size:clamp(17px,1.45vw,22px);font-weight:400;color:#536585;line-height:1.95;margin:38px 0;}
.wish-v3 .wish-signature {font-size:21px;font-weight:700;margin:0;}
@media (max-width: 1190px) {
 .bridge-v3 h2{font-size:clamp(32px,3.55vw,46px);}
 .bridge-v3 .bridge-phone{width:285px;right:2%;top:45px;}
 .bridge-v3 .bridge-import-badge{left:0;top:88px;font-size:17px;padding:10px 14px;}
 .bridge-v3 .badge-check{width:31px;height:31px;}
 .bridge-v3 .bridge-csv-paper{width:140px;height:180px;left:7px;top:234px;}
 .bridge-v3 .bridge-flow-arrow{left:144px;top:258px;}
 .wish-v3 .wish-illustration{width:61%;}
 .wish-v3 .wish-copy{width:47%;}
 .wish-v3 h2{font-size:clamp(32px,3.2vw,42px)}
 .concerns-v3 .concern-card{padding:21px 19px 26px;min-height:345px;}
 .concerns-v3 .concern-art{min-height:180px;}
}
@media (max-width: 900px) {
 .concerns-v3{padding:85px 0 120px;}
 .concerns-v3 .concerns-cards{gap:13px;}
 .concerns-v3 .concern-card{min-height:310px;border-radius:22px;padding:20px 15px;}
 .concerns-v3 .concern-art{min-height:164px;margin:0 -5px 10px;}
 .concerns-v3 .concern-card h3{font-size:16px;line-height:1.65;min-height:82px;}
 .bridge-v3{min-height:550px;padding:62px 0 75px;}
 .bridge-v3 .bridge-copy{padding:0;}
 .bridge-v3 .eyebrow{margin-bottom:28px;}
 .bridge-v3 h2{font-size:clamp(30px,3.5vw,38px);}
 .bridge-v3 .bridge-art{height:495px;}
 .bridge-v3 .bridge-phone{width:236px;top:42px;right:0;}
 .bridge-v3 .bridge-import-badge{top:96px;left:-17px;font-size:13px;}
 .bridge-v3 .badge-check{height:27px;width:27px;font-size:15px;}
 .bridge-v3 .bridge-csv-paper{top:220px;left:0;width:125px;height:155px;}
 .bridge-v3 .bridge-flow-arrow{top:235px;left:118px;font-size:46px;}
 .wish-v3,.wish-v3 .wish-layout{min-height:570px;}
 .wish-v3 .wish-copy{width:48%;}
 .wish-v3 .wish-text{font-size:16px;}
 .wish-v3 h2{font-size:32px;}
}
@media (max-width: 640px) {
 .concerns-v3{padding:74px 0 100px;}
 .concerns-v3::after{height:130px;}
 .concerns-v3 .concerns-heading{margin-bottom:30px;}
 .concerns-v3 .concerns-heading h2{font-size:clamp(24px,6.5vw,28px);line-height:1.5;letter-spacing:-.045em;}
 .concerns-v3 .concerns-intro {font-size:13px;line-height:1.85;margin-top:14px;}
 .concerns-v3 .concerns-cards{display:grid;grid-template-columns:1fr;max-width:430px;margin:auto;gap:16px;}
 .concerns-v3 .concern-card {min-height:0;padding:19px 22px 23px;}
 .concerns-v3 .concern-card .index{font-size:24px;}
 .concerns-v3 .concern-art{height:162px;min-height:162px;flex:none;margin:-4px 0 5px;}
 .concerns-v3 .concern-art img{height:100%;width:100%;object-fit:contain;}
 .concerns-v3 .concern-card h3{min-height:0;font-size:18px;line-height:1.7;}
 .bridge-v3{padding:73px 0 60px;min-height:0;}
 .bridge-v3 .bridge-layout{grid-template-columns:1fr;gap:22px;}
 .bridge-v3 .bridge-copy{padding:0;}
 .bridge-v3 .eyebrow{margin-bottom:25px;}
 .bridge-v3 .eyebrow::after{width:52px;}
 .bridge-v3 h2{font-size:clamp(25px,6.75vw,33px);line-height:1.52;white-space:normal;margin:0 0 22px;}
 .bridge-v3 .bridge-description{font-size:15px;line-height:1.83;margin:0 0 22px;}
 .bridge-v3 .bridge-conclusion{padding-top:20px;font-size:14px;line-height:1.7;}
 .bridge-v3 .bridge-art{height:445px;width:100%;max-width:350px;margin:10px auto 0;}
 .bridge-v3 .bridge-phone{width:214px;top:20px;right:3px;transform:rotate(6deg);padding:8px;border-radius:32px;}
 .bridge-v3 .bridge-phone .bridge-screen{border-radius:25px;border-width:4px;}
 .bridge-v3 .bridge-import-badge{top:67px;left:0;font-size:13px;gap:8px;padding:9px 12px;}
 .bridge-v3 .badge-check{width:25px;height:25px;}
 .bridge-v3 .bridge-csv-paper{top:183px;left:3px;width:123px;height:155px;gap:10px;}
 .bridge-v3 .csv-file-icon{width:48px;height:52px;}
 .bridge-v3 .csv-file-icon span{font-size:13px;padding-bottom:10px;}
 .bridge-v3 .csv-filename{font-size:10px;}
 .bridge-v3 .csv-line{height:7px;width:75px;}
 .bridge-v3 .bridge-flow-arrow{left:124px;top:210px;font-size:42px;}
 .wish-v3{padding:0 0 66px;min-height:0;}
 .wish-v3 .wish-illustration{position:relative;width:100%;height:265px;}
 .wish-v3 .wish-illustration img{object-fit:cover;object-position:left 55%;}
 .wish-v3 .wish-layout{min-height:0;display:block;}
 .wish-v3 .wish-copy{width:100%;padding:24px 0 35px;}
 .wish-v3 .wish-copy .eyebrow{margin-bottom:20px;}
 .wish-v3 h2{font-size:clamp(26px,7vw,32px);white-space:normal;}
 .wish-v3 .wish-text{font-size:15px;line-height:1.95;margin:22px 0 20px;}
 .wish-v3 .wish-signature{font-size:17px;}
 .wish-v3::after{height:90px;}
}
@media (max-width: 360px) {
 .concerns-v3 .concerns-heading h2{font-size:23px;}
 .concerns-v3 .concern-card h3{font-size:16px;}
 .bridge-v3 h2{font-size:24px;}
 .bridge-v3 .bridge-art{max-width:300px;height:407px;}
 .bridge-v3 .bridge-phone{width:198px;}
 .bridge-v3 .bridge-import-badge{font-size:12px;top:76px;}
 .bridge-v3 .bridge-csv-paper{left:2px;width:110px;}
 .bridge-v3 .bridge-flow-arrow{left:108px;}
 .wish-v3 h2{font-size:25px;}
}

/* refine the bridge device to match the full-height screen of the reference */
.bridge-v3 .bridge-phone{aspect-ratio:.535;}
.bridge-v3 .bridge-phone>.bridge-screen{inset:10px;width:auto;height:auto;aspect-ratio:auto;border-radius:37px;}
.bridge-v3 .bridge-phone>.bridge-screen img{inset:0;width:100%;height:100%;object-fit:fill;}
@media(max-width:640px){.bridge-v3 .bridge-phone>.bridge-screen{inset:8px;border-radius:26px;}}

/* NAGIMI concerns card image clarity and centered copy — 2026-10-14 */
.concerns-v3 .concern-card h3 {
  text-align: center;
  margin-inline: auto;
  width: 100%;
  text-wrap: balance;
}
.concerns-v3 .concern-art img {
  image-rendering: auto;
}

/* ==========================================================================
   Final reference reconstruction: NAGIMI'S CHOICE and WHAT YOU CAN DO only.
   Existing assets, header, navigation and unrelated sections are untouched.
   ========================================================================== */
.choice-reference{padding:0;min-height:720px;background:#f7faff;overflow:hidden;}
.choice-reference-grid{width:100%;min-height:720px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:stretch;max-width:1750px;margin:auto;}
.choice-reference-copy{position:relative;z-index:1;padding:clamp(72px,8vw,134px) 0 80px max(6.5vw,calc((100vw - 1440px)/2 + 64px));max-width:790px;align-self:center;}
.choice-reference-copy .eyebrow{color:#496dff;font:600 14px/1.5 var(--font-num);letter-spacing:.12em;margin:0 0 42px;}
.choice-reference-copy .line-label:after{content:'';display:inline-block;vertical-align:middle;width:67px;height:1px;margin-left:22px;background:#6a81ff;}
.choice-reference h2{font-size:clamp(32px,3.7vw,58px);line-height:1.52;letter-spacing:-.05em;color:#102554;white-space:nowrap;}
.choice-reference-accent{color:#5267ef;}
.choice-reference-description{font-size:clamp(15px,1.3vw,18px);line-height:1.95;color:#4f6283;margin:33px 0 30px;font-weight:400;}
.choice-reference-points{list-style:none;margin:0;padding:0;display:grid;gap:16px;font-size:clamp(15px,1.25vw,18px);color:#112857;font-weight:700;}
.choice-reference-points li{display:flex;align-items:center;gap:20px;line-height:1.6;}
.round-check{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#e5eafe;color:#506bff;font-size:24px;display:grid;place-items:center;font-family:var(--font-num);font-weight:700;}
.choice-reference-media{position:relative;min-width:0;align-self:stretch;display:flex;align-items:stretch;background:linear-gradient(135deg,#dbe5ff,#b9c8ee);}
.choice-reference-media img{height:100%;width:100%;object-fit:cover;object-position:center;display:block;}
.features-reference{padding:95px 0 65px;background:linear-gradient(180deg,#fff 0%,#fafcff 100%);}
.feature-ref-header{text-align:center;margin-bottom:46px;}
.feature-ref-header h2{font-size:clamp(29px,3vw,41px);}
.feature-ref-grid{display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:auto auto;gap:22px;}
.feature-ref-card{min-width:0;position:relative;border:1px solid #dce6ff;border-radius:25px;background:linear-gradient(135deg,#f7faff,#fff 65%);overflow:hidden;box-shadow:0 2px 2px rgba(33,65,123,.015);}
.feature-ref-copy .eyebrow{margin:0 0 25px;font:600 13px/1.5 var(--font-num);color:#5072f6;letter-spacing:.09em;}
.feature-ref-copy h3{color:#112550;font-size:clamp(24px,2.5vw,35px);line-height:1.47;font-weight:700;letter-spacing:-.04em;}
.feature-ref-copy>p:last-child{font-size:clamp(14px,1.23vw,17px);line-height:1.85;color:#596b8c;margin-top:23px;font-weight:400;}
.feature-ref-primary{grid-row:1/3;min-height:565px;background:linear-gradient(150deg,#f4f8ff 0%,#fff 48%,#f3f6ff 100%);}
.feature-ref-primary .feature-ref-copy{padding:63px 35% 45px 6%;position:relative;z-index:2;}
.feature-ref-phone{position:absolute;width:min(37%,286px);height:auto;max-height:90%;object-fit:contain;right:4%;bottom:3%;filter:drop-shadow(0 20px 17px rgba(39,49,80,.15));}
.feature-ref-member,.feature-ref-trend{min-height:269px;}
.feature-ref-member .feature-ref-copy,.feature-ref-trend .feature-ref-copy{padding:31px 48% 28px 5%;position:relative;z-index:2;}
.feature-ref-member .feature-ref-copy h3,.feature-ref-trend .feature-ref-copy h3{font-size:clamp(21px,2.15vw,29px);}
.feature-ref-member .feature-ref-copy>p:last-child,.feature-ref-trend .feature-ref-copy>p:last-child{margin-top:13px;font-size:clamp(13px,1.06vw,15px);}
.feature-ref-toggle{display:flex;align-items:center;gap:3px;position:absolute;right:4%;top:39%;width:43%;padding:8px;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(82,102,157,.13);font-size:clamp(11px,1vw,14px);font-weight:700;color:#5c6b84;}
.feature-ref-toggle span{flex:1;text-align:center;padding:10px 2px;white-space:nowrap;}
.feature-ref-toggle .selected{color:white;border-radius:99px;background:linear-gradient(120deg,#4f80ff,#685bf0);}
.feature-ref-chart{position:absolute;width:43%;height:auto;right:3%;top:14%;border-radius:16px;box-shadow:0 12px 26px rgba(49,69,116,.12);}
.features-reference + .utilities{border-top:1px solid #dfe6f9;}
.footer-operator{font-size:12px;color:rgba(255,255,255,.72);}
@media(max-width:1100px){
 .choice-reference,.choice-reference-grid{min-height:640px;}
 .choice-reference-copy{padding-left:5vw;padding-right:10px;}
 .choice-reference h2{font-size:clamp(28px,3.55vw,43px);}
 .feature-ref-primary .feature-ref-copy{padding-right:32%;}
 .feature-ref-phone{width:40%;right:2%;}
 .feature-ref-member .feature-ref-copy,.feature-ref-trend .feature-ref-copy{padding-right:44%;}
 .feature-ref-toggle,.feature-ref-chart{width:40%;right:2%;}
}
@media(max-width:780px){
 .choice-reference-grid{grid-template-columns:1fr;min-height:unset;}
 .choice-reference-copy{padding:67px 26px 34px;max-width:650px;margin:0 auto;}
 .choice-reference-copy .eyebrow{margin-bottom:25px;}
 .choice-reference h2{font-size:clamp(28px,5.4vw,39px);white-space:normal;line-height:1.45;}
 .choice-reference-description{font-size:15px;margin:23px 0;line-height:1.8;}
 .choice-reference-points{gap:13px;font-size:14px;}
 .choice-reference-points li{gap:11px;}
 .round-check{width:30px;height:30px;flex-basis:30px;font-size:18px;}
 .choice-reference-media{height:min(110vw,620px);max-width:620px;width:100%;margin:0 auto;background:#d8e3ff;}
 .choice-reference-media img{object-fit:cover;object-position:center 38%;}
 .features-reference{padding:70px 0 50px;}
 .feature-ref-grid{grid-template-columns:1fr;grid-template-rows:auto;}
 .feature-ref-primary{grid-row:auto;min-height:490px;}
 .feature-ref-primary .feature-ref-copy{padding:40px 42% 38px 6%;}
 .feature-ref-member,.feature-ref-trend{min-height:240px;}
 .feature-ref-member .feature-ref-copy,.feature-ref-trend .feature-ref-copy{padding:28px 48% 26px 5%;}
}
@media(max-width:480px){
 .choice-reference-copy{padding:56px 20px 28px;}
 .choice-reference h2{font-size:clamp(27px,7vw,33px);letter-spacing:-.055em;}
 .choice-reference-description br{display:none;}
 .choice-reference-media{height:480px;}
 .choice-reference-media img{object-position:center;}
 .feature-ref-header{margin-bottom:29px;}
 .feature-ref-grid{gap:15px;}
 .feature-ref-card{border-radius:20px;}
 .feature-ref-primary{min-height:585px;}
 .feature-ref-primary .feature-ref-copy{padding:32px 25px;}
 .feature-ref-copy h3{font-size:26px;}
 .feature-ref-copy>p:last-child{font-size:14px;}
 .feature-ref-phone{position:absolute;width:214px;max-height:330px;right:calc(50% - 107px);bottom:0;}
 .feature-ref-member,.feature-ref-trend{min-height:315px;}
 .feature-ref-member .feature-ref-copy,.feature-ref-trend .feature-ref-copy{padding:26px 22px 125px;}
 .feature-ref-member .feature-ref-copy h3,.feature-ref-trend .feature-ref-copy h3{font-size:23px;}
 .feature-ref-member .feature-ref-copy>p:last-child,.feature-ref-trend .feature-ref-copy>p:last-child{font-size:13px;line-height:1.75;margin-top:9px;}
 .feature-ref-toggle{top:auto;bottom:24px;width:85%;right:7.5%;font-size:13px;}
 .feature-ref-chart{top:auto;bottom:15px;right:7.5%;width:70%;max-height:120px;object-fit:cover;object-position:top;}
}
@media(max-width:340px){.choice-reference h2{font-size:26px}.feature-ref-primary{min-height:600px}.feature-ref-phone{width:195px;right:calc(50% - 97px)}}
/* Post-render typography and composition refinements */
.feature-ref-header:after{margin-left:auto;margin-right:auto;}
@media(min-width:781px){
  .feature-ref-member .feature-ref-copy {padding-right:38%;}
  .feature-ref-member .feature-ref-copy h3{font-size:clamp(22px,1.8vw,26px);white-space:nowrap;}
  .feature-ref-trend .feature-ref-copy h3{font-size:clamp(21px,2vw,28px);}
}
@media(max-width:480px){
  .feature-ref-primary{min-height:675px;}
  .feature-ref-phone{width:218px;right:calc(50% - 109px);max-height:none;}
  .feature-ref-trend{min-height:375px;}
  .feature-ref-trend .feature-ref-copy{padding-bottom:180px;}
  .feature-ref-chart{bottom:18px;width:74%;max-height:none;object-fit:contain;}
}


/* ===========================================================================
 NAGIMI approved hero composition 2026-10-14.
 Live HTML headline, CTA, tagline and benefits; only the environment/phone is image.
 The right scene comes from the user's approved reference composition.
 =========================================================================== */
.hero {padding:0;isolation:isolate;min-height:clamp(620px,49.9vw,800px);background:linear-gradient(110deg,#fff 10%,#f4f8ff 61%,#dce7ff);overflow:hidden;position:relative;}
.hero::after {content:'';position:absolute;z-index:0;pointer-events:none;bottom:-9%;left:-7%;width:65%;height:24%;background:radial-gradient(ellipse at center,rgba(174,190,255,.20),rgba(224,233,255,.15) 52%,transparent 73%);border-radius:50% 50% 0 0;transform:rotate(-9deg);}
.hero .hero-grid {width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,50%) minmax(0,50%);align-items:stretch;gap:0;min-height:clamp(620px,49.9vw,800px);}
.hero .hero-copy {min-width:0;max-width:800px;align-self:center;padding:75px 12px 88px clamp(36px,7.5vw,136px);position:relative;z-index:2;}
.hero .tagline {font-family:var(--font-ja);font-size:clamp(14px,1.15vw,18px);line-height:1.55;color:#3768fb;font-weight:700;letter-spacing:.05em;display:flex;align-items:center;gap:21px;}
.hero .tagline::after {content:'';display:block;width:70px;height:1px;flex:none;background:#9bb9ff;}
.hero h1 {font-size:clamp(40px,4.05vw,72px);line-height:1.53;letter-spacing:-.055em;margin:24px 0 30px;font-weight:700;color:#102650;white-space:nowrap;}
.hero h1 .gradient-text {background:linear-gradient(95deg,#2d6df3 0%,#6960e8 100%);background-clip:text;-webkit-background-clip:text;color:transparent;}
.hero .hero-description {font-size:clamp(15px,1.20vw,20px);line-height:1.86;letter-spacing:-.012em;color:#50617e;font-weight:400;}
.hero .hero-actions {margin-top:36px;gap:12px;display:flex;flex-wrap:wrap;}
.hero .hero-actions .button {min-height:63px;padding:15px 30px;gap:24px;font-size:clamp(14px,1.15vw,17px);border-radius:999px;box-shadow:0 7px 20px rgba(63,85,177,.06);}
.hero .hero-actions .button.secondary {border-color:#dbe4f7;background:rgba(255,255,255,.94);}
.hero .benefits {margin-top:34px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:14px 29px;color:#566581;font-weight:500;font-size:clamp(12px,.97vw,15px);}
.hero .benefits li {display:flex;align-items:center;gap:9px;white-space:nowrap;}
.hero .benefits li::before {content:'✓';display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#dbe5ff;color:#376aff;margin:0;font:700 15px/1 var(--font-num);}
.hero .hero-reference-visual {position:relative;min-width:0;min-height:100%;display:block;z-index:1;overflow:hidden;background:#dce7ff;}
.hero .hero-reference-visual img {display:block;width:100%;height:100%;object-fit:cover;object-position:51% center;max-width:none;}
/* High-resolution PNG rather than the formerly compressed, extracted thumbnail. */
.concerns-v3 .concern-art {overflow:hidden;}
.concerns-v3 .concern-art img {image-rendering:auto;object-fit:contain;width:100%;height:auto;max-height:245px;mix-blend-mode:multiply;}
.concerns-v3 .concern-card h3 {text-align:center;}
@media (min-width:1500px) {
 .hero .hero-copy {padding-left:max(7.4vw,calc((100vw - 1600px)/2 + 105px));}
 .hero h1 {font-size:clamp(56px,4vw,72px)}
}
@media (max-width:1190px) and (min-width:901px) {
 .hero .hero-grid{grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:630px;}
 .hero .hero-copy{padding-left:5vw;padding-right:10px;}
 .hero h1{font-size:clamp(35px,4vw,47px);}
 .hero .hero-actions .button{padding:14px 20px;gap:12px;min-height:54px;}
 .hero .benefits{gap:13px;}
}
@media (max-width:900px) and (min-width:641px) {
 .hero .hero-grid{grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:535px;}
 .hero .hero-copy{padding:55px 10px 55px 5vw;}
 .hero h1{font-size:clamp(30px,4vw,37px);margin:18px 0 24px;}
 .hero .hero-description{font-size:13px;}
 .hero .hero-actions .button{font-size:12px;padding:10px 12px;min-height:48px;gap:9px;}
 .hero .benefits{font-size:10px;gap:6px 11px;}
 .hero .benefits li::before{width:18px;height:18px;font-size:11px;}
}
@media (max-width:640px) {
 .hero {min-height:0;}
 .hero .hero-grid{grid-template-columns:minmax(0,1fr);min-height:0;}
 .hero .hero-copy {width:100%;max-width:none;padding:55px 20px 25px;}
 .hero .tagline{font-size:13px;gap:15px;}
 .hero .tagline::after{width:48px;}
 .hero h1{font-size:clamp(28px,7.55vw,36px);line-height:1.52;margin:20px 0 19px;white-space:normal;letter-spacing:-.055em;}
 .hero .hero-description{font-size:14px;line-height:1.83;}
 .hero .hero-actions{margin-top:25px;display:flex;gap:10px;flex-wrap:nowrap;}
 .hero .hero-actions .button{min-height:51px;font-size:13px;gap:8px;padding:12px 14px;flex:1 1 0;}
 .hero .benefits{margin-top:22px;gap:10px 15px;font-size:11px;flex-wrap:wrap;}
 .hero .benefits li::before{width:19px;height:19px;font-size:12px;}
 .hero .hero-reference-visual{width:100%;height:clamp(350px,106vw,485px);min-height:0;}
 .hero .hero-reference-visual img{height:100%;object-fit:cover;object-position:50% 48%;}
 .concerns-v3 .concern-art img {max-height:100%;}
}
@media (max-width:355px) {
 .hero .hero-copy{padding-left:18px;padding-right:18px;}
 .hero h1{font-size:clamp(26px,7.3vw,29px);}
 .hero .hero-actions{flex-wrap:wrap;}
 .hero .hero-actions .button{flex:1 1 100%;}
 .hero .benefits{gap:8px 10px;font-size:10px;}
}
/* Keep the entire approved phone device in frame on narrow devices. */
@media(max-width:640px){
 .hero .hero-reference-visual{height:clamp(404px,125.8vw,545px);}
 .hero .hero-reference-visual img{object-fit:cover;object-position:50% 50%;}
}

/* 2026-10-14: Current NAGIMI App UI screenshot integration.
   New screenshots have their own app chrome and bottom navigation,
   so cancel the legacy offsets/crop rules in the real-device frames. */
.bridge-v3 .bridge-phone>.bridge-screen img,
.step-image .step-phone>.screen img,
.step-image .step-phone>.screen.stats-screen img,
.step-image .step-phone>.screen.category-screen img,
.step-image .step-phone>.screen.import-screen img {
  position:absolute!important;inset:0!important;top:0!important;left:0!important;
  width:100%!important;height:100%!important;max-width:100%!important;
  object-fit:fill!important;object-position:center center!important;
}
/* No legacy large screenshot atlas positioning */
.step-image .step-phone .screen {background:#f4f6ff;}
.feature-ref-chart {object-fit:cover;}

/* 2026-10-14 FINAL HERO — preserve the approved reference composition.
   Source image is the original high-resolution reference for the architectural scene,
   with real interactive HTML headline/buttons and no text baked into the visual. */
.hero{background:linear-gradient(114deg,#fff 4%,#f6f9ff 53%,#dae5ff 100%);}
.hero .hero-reference-visual{background:#e6edff;}
.hero .hero-reference-visual img{object-fit:cover;object-position:center center;image-rendering:auto;}
.hero .hero-copy:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:50% -10% -7% -20%;
background:radial-gradient(ellipse 96% 54% at 63% 95%,rgba(223,231,255,.68),transparent 88%);}
.hero .hero-grid {min-height:clamp(650px,50vw,887px);}
.hero .hero-copy{padding-top:80px;padding-bottom:80px;}
.hero h1{font-weight:700;letter-spacing:-.065em;}
.hero .hero-actions .button:first-child{background:linear-gradient(115deg,#397af5 0%,#7755ed 100%);}
.hero .benefits li:before{box-shadow:0 2px 8px rgba(67,103,238,.06);}
/* Latest real screenshots retain their original aspect ratio; avoid forced stretching. */
.bridge-v3 .bridge-phone>.bridge-screen img,
.step-image .step-phone>.screen img,
.step-image .step-phone>.screen.stats-screen img,
.step-image .step-phone>.screen.category-screen img,
.step-image .step-phone>.screen.import-screen img{object-fit:cover!important;object-position:center center!important;}
@media(max-width:900px){.hero .hero-grid{min-height:0;}}
@media(max-width:640px){
 .hero .hero-copy{padding-top:48px;padding-bottom:22px;}
 .hero .hero-reference-visual{height:clamp(390px,113vw,550px);}
 .hero .hero-reference-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 54%;}
}

/* Final 320–430px hero treatment: retain entire handset, avoid top crop. */
@media(max-width:640px){
 .hero .hero-reference-visual{height:150vw;max-height:645px;min-height:0;}
 .hero .hero-reference-visual img{object-fit:cover;object-position:center center;}
}

/* ======================================================================
   Original-pixel screenshots / aspect-ratio-correct devices (2026-10-14)
   No fill/stretch, no cover/crop, no lossy re-compressed phone screens.
   ====================================================================== */
/* Give the real app screenshot its own breathing room inside each bezel. */
.phone:not(.hero-phone) > .screen,
.bridge-v3 .bridge-phone > .bridge-screen,
.step-image .step-phone > .screen {
  inset: 12px!important;
  width: auto!important;
  height: auto!important;
  aspect-ratio: auto!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  padding: 38px 10px 24px!important;
  background: linear-gradient(180deg,#fbfcff,#f2f6ff)!important;
  border: 1px solid rgba(25,39,68,.2)!important;
  border-radius: 37px!important;
  overflow: hidden!important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.6)!important;
}
.phone > .screen img,
.bridge-v3 .bridge-phone > .bridge-screen img,
.step-image .step-phone > .screen img,
.step-image .step-phone > .screen.stats-screen img,
.step-image .step-phone > .screen.category-screen img,
.step-image .step-phone > .screen.import-screen img {
  position: static!important;
  inset: auto!important;
  top: auto!important;
  left: auto!important;
  width: 100%!important;
  height: 100%!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  transform:none!important;
  filter:none!important;
  display:block!important;
  border-radius:9px;
}
/* Tiny HOW IT WORKS frames get proportional inset and smaller safe areas. */
.step-image .step-phone > .screen {
 inset:7px!important;
 padding:26px 6px 12px!important;
 border-radius:22px!important;
}
.step-image .step-phone { --device-padding:7px; }
.step-image .step-phone .device-dynamic-island {top:12px;}
.step-image .step-phone .device-home-indicator{bottom:10px;}
/* Let the chart breathe and preserve ratio: no cover cropping. */
.features-reference .feature-ref-chart {object-fit:contain!important;object-position:center!important;height:auto!important;max-height:188px;}
/* NAGIMI's CHOICE: native device and real screenshot in an open, uncluttered stage. */
.choice-reference-media {
  position:relative;display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:linear-gradient(137deg,#eef4ff 0%,#d6e4ff 55%,#bacdf4 100%);
  min-height:700px;
}
.choice-reference-media::before {content:'';position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(circle at 38% 37%,rgba(255,255,255,.88),transparent 62%),linear-gradient(140deg,transparent 66%,rgba(255,255,255,.55) 66%,transparent 69%);}
.choice-reference-media .choice-stage {width:100%;height:100%;min-height:700px;position:relative;display:flex;justify-content:center;align-items:center;padding:34px 115px 34px 20px;}
.choice-reference-media .choice-device {width: min(100%,325px);flex:0 0 auto;transform:rotate(1.5deg);z-index:2;}
.choice-reference-media .choice-device > .screen {inset:14px!important;padding:43px 11px 27px!important;border-radius:41px!important;}
.choice-reference-media .choice-device .device-dynamic-island {top:20px;}
.choice-note {position:absolute;z-index:3;right:2.5%;width:126px;padding:15px 8px 12px;border-radius:24px;
 background:rgba(255,255,255,.8);box-shadow:0 12px 34px rgba(60,84,153,.1);
 text-align:center;color:#22365d;font-size:14px;line-height:1.6;font-weight:700;}
.choice-note-bank{top:25%;}.choice-note-csv{bottom:22%;}
.choice-note-icon{width:52px;height:52px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;
 background:linear-gradient(135deg,#f6f9ff,#d7e0f8);font-family:var(--font-num);font-weight:700;color:#5270d7;font-size:18px;}
.choice-note-status{position:absolute;top:52px;right:12px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#5a74ed;color:#fff;font:700 18px/1 var(--font-num);}
.choice-note-bank .choice-note-status{background:#ec747c;}
/* FEATURE 01: live CSS bezel instead of blurred rasterized phone mockup. */
.feature-ref-primary > .feature-ref-phone {width:min(36%,255px);max-height:none;height:auto;object-fit:initial;right:4.5%;bottom:4%;box-shadow:0 24px 45px rgba(26,44,93,.17), inset 0 0 0 2px #272b2f,inset 0 0 0 6px #080a0c;filter:none;}
.feature-ref-primary > .feature-ref-phone > .screen {inset:11px!important;padding:34px 8px 21px!important;}
/* Approved Hero from original full-resolution PNG, never recompress. */
.hero .hero-reference-visual img {width:100%;height:100%;object-fit:cover;object-position:50% 50%;image-rendering:auto;}
@media(max-width:1100px){
 .choice-reference-media .choice-stage {padding-right:100px;min-height:620px;}
 .choice-reference-media .choice-device {width:min(100%,277px);}
 .choice-note {width:105px;right:1.5%;font-size:12px;}
 .feature-ref-primary > .feature-ref-phone{width:38%;right:3%;}
}
@media(max-width:900px){
 .choice-reference-media {min-height:0;}
 .choice-reference-media .choice-stage{min-height:610px;max-width:620px;padding:30px 105px 30px 30px;}
 .choice-reference-media .choice-device {width:min(100%,275px);}
}
@media(max-width:640px){
 .hero .hero-reference-visual {height:auto!important;max-height:none!important;min-height:0!important;overflow:visible;}
 .hero .hero-reference-visual img {display:block;width:100%!important;height:auto!important;object-fit:contain!important;}
 .choice-reference-media .choice-stage{min-height:535px;padding:28px 92px 28px 12px;}
 .choice-reference-media .choice-device {width:min(100%,225px);}
 .choice-note {width:95px;font-size:11px;right:3%;padding:12px 5px;}
 .choice-note-icon{width:41px;height:41px;font-size:15px;}
 .choice-note-status{top:37px;right:8px;width:22px;height:22px;font-size:14px;}
 .choice-reference-media .choice-device > .screen{inset:10px!important;padding:34px 7px 20px!important;border-radius:29px!important;}
 .feature-ref-primary>.feature-ref-phone {width:204px;right:calc(50% - 102px);bottom:13px;}
 .feature-ref-primary>.feature-ref-phone>.screen{inset:9px!important;padding:29px 7px 19px!important;}
 .bridge-v3 .bridge-phone>.bridge-screen{inset:10px!important;padding:31px 7px 19px!important;border-radius:27px!important;}
 .step-image .step-phone > .screen {inset:7px!important;padding:25px 5px 10px!important;}
}
@media(max-width:360px){
 .choice-reference-media .choice-stage{min-height:500px;padding-right:80px;}
 .choice-reference-media .choice-device{width:min(100%,205px);}
 .choice-note{width:82px;right:1%;}
 .feature-ref-primary>.feature-ref-phone {width:194px;right:calc(50% - 97px);}
}
/* Larger, clearer demonstrations; screenshots remain fully visible. */
@media(min-width:1101px){
 .step-image{height:420px;padding:18px 14px 0;}
 .step-image .step-phone{width:181px;}
}
@media(min-width:641px) and (max-width:1100px){
 .step-image{height:380px;padding:15px 12px 0;}
 .step-image .step-phone{width:158px;}
}
@media(max-width:640px){
 .step-image{height:395px;padding:16px 14px 0;}
 .step-image .step-phone{width:170px;}
}
@media(max-width:360px){
 .step-image{height:367px;}
 .step-image .step-phone{width:158px;}
}


/* NAGIMI 2026-10-15: full-length source screenshots.
   No viewport-crop, distortion or duplicated status bar. */
.phone.device-shot{
  box-sizing:border-box!important;
  aspect-ratio:var(--phone-ratio,.54)!important;
  height:auto!important; min-height:0!important;
  overflow:visible;
}
.phone.device-shot > .screen,
.bridge-v3 .phone.device-shot > .bridge-screen,
.step-image .phone.device-shot > .screen {
  position:absolute!important;inset:10px!important;
  width:auto!important;height:auto!important;
  min-width:0!important; min-height:0!important; max-width:none!important;
  padding:14px 7px!important;
  border:0!important;
  background:#f7f9fd!important;
  box-shadow:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:clamp(18px,2vw,36px)!important;
  overflow:hidden!important;
}
.phone.device-shot > .screen img,
.bridge-v3 .phone.device-shot > .bridge-screen img,
.step-image .phone.device-shot > .screen img {
  width:100%!important; height:100%!important;
  position:static!important; inset:auto!important;
  object-fit:contain!important;object-position:center!important;
  max-width:100%!important;max-height:100%!important;
  transform:none!important;filter:none!important; border-radius:12px!important;
}
.phone.device-shot .device-dynamic-island,
.phone.device-shot .device-home-indicator{display:none!important;}
.phone.device-shot-select{--phone-ratio:.565;}
.phone.device-shot-progress{--phone-ratio:.485;}
.phone.device-shot-stats{--phone-ratio:.525;}
.phone.device-shot-complete{--phone-ratio:.525;}
/* The import screenshots are full, not vertically clipped inside step cards. */
#how .steps .step-image{
  height:auto!important;min-height:0!important;overflow:visible!important;
  display:flex!important;justify-content:center!important;align-items:center!important;
  padding:28px 24px!important;
  border-radius:30px;
}
#how .steps .step-image .step-phone{
  width:min(100%,207px)!important;max-width:207px!important;
  flex:0 0 auto!important; margin:0!important;
  transform:none!important;
}
#how .steps .step-image .step-phone > .screen{
  inset:9px!important; padding:9px 5px!important; border-radius:24px!important;
}
/* Real 3-step guide remains accessible as a separately viewable image. */
.import-guide-example{margin:16px 0 0;text-align:center;}
.import-guide-example summary{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  padding:11px 15px;border:1px solid #dce4fa;border-radius:999px; background:#fff;
  color:#4664d7;font-weight:700;font-size:13px;list-style:none;}
.import-guide-example summary::-webkit-details-marker{display:none;}
.import-guide-example summary:after{content:' ＋';font-size:16px;margin-left:4px;}
.import-guide-example[open] summary:after{content:' −';}
.import-guide-example-panel{padding:20px 14px;margin:15px auto 0;border-radius:26px;background:#f5f7ff;
  box-shadow:0 12px 32px rgba(23,45,91,.08);max-width:320px;}
.import-guide-example-panel img{display:block;max-width:100%;width:100%;height:auto;object-fit:contain;
  border-radius:19px;margin:0 auto;}
/* Full-screen captures in hero/choice/bridge/feature without height squeezing. */
.bridge-v3 .bridge-phone.device-shot{--phone-ratio:.525!important;}
.choice-reference-media .choice-device.device-shot{--phone-ratio:.525!important;}
.feature-ref-primary .feature-ref-phone.device-shot{--phone-ratio:.525!important;}
@media (max-width:1100px){
  #how .steps .step-image .step-phone{width:min(100%,186px)!important;}
}
@media (max-width:640px){
 #how .steps .step-image{padding:22px 18px!important;margin-top:22px;}
 #how .steps .step-image .step-phone{width:min(100%,220px)!important;max-width:220px!important;}
 .phone.device-shot > .screen, .bridge-v3 .phone.device-shot > .bridge-screen {inset:9px!important;padding:11px 6px!important;}
 .choice-reference-media .choice-device.device-shot > .screen{inset:9px!important;padding:10px 5px!important;}
}
@media (max-width:355px){#how .steps .step-image .step-phone{width:min(100%,194px)!important;}}


/* ===== 2026-10-15 / NAGIMI canonical phone mockup system =====
   One aspect ratio and one finish across the app previews.
   All display images preserve native image geometry. Crops trim ONLY empty
   lateral screenshot background. No vertical pixels are trimmed. ===== */
:root{ --nagimi-device-ratio: 0.532; --nagimi-device-finish:#151922; }
.phone.device-shot,
.bridge-v3 .bridge-phone.device-shot,
.choice-reference-media .choice-device.device-shot,
.feature-ref-primary .feature-ref-phone.device-shot,
#how .step-image .step-phone.device-shot {
  --phone-ratio:var(--nagimi-device-ratio)!important;
  aspect-ratio:var(--nagimi-device-ratio)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  background:var(--nagimi-device-finish)!important;
  border:2px solid #4a515d!important;
  border-radius:13% / 7%!important;
  box-shadow:0 20px 40px rgba(27,41,77,.16),0 5px 11px rgba(20,30,50,.09),inset 0 0 0 1px #8993a0,inset 0 0 0 4px #090b10!important;
  filter:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.phone.device-shot::before,.phone.device-shot::after {
  background:linear-gradient(180deg,#515a67,#171b22,#3d4550)!important;
  box-shadow:none!important;
}
.phone.device-shot > .screen,
.bridge-v3 .phone.device-shot > .bridge-screen,
.choice-reference-media .choice-device.device-shot > .screen,
.feature-ref-primary .feature-ref-phone.device-shot > .screen,
.step-image .phone.device-shot > .screen,
#how .step-image .step-phone.device-shot > .screen {
  position:absolute!important;
  inset:2.15%!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:11% / 5.9%!important;
  box-shadow:none!important;
  background:#f4f6fc!important;
  overflow:hidden!important;
  display:block!important;
}
.phone.device-shot > .screen img,
.bridge-v3 .phone.device-shot > .bridge-screen img,
.step-image .phone.device-shot > .screen img,
.choice-reference-media .choice-device.device-shot > .screen img,
.feature-ref-primary .feature-ref-phone.device-shot > .screen img {
  display:block!important;
  position:absolute!important;
  inset:0!important;
  left:0!important;top:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  filter:none!important;
  transform:none!important;
}
/* Match the same physical size for STEP 01, 02 and 03 exactly. */
#how .steps .step-image{
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px 18px!important;
  overflow:visible!important;
}
#how .steps .step-image .step-phone.device-shot{
  width:min(100%,207px)!important;
  max-width:207px!important;
  margin:0 auto!important;
  flex:none!important;
  transform:none!important;
}
@media(max-width:1100px) and (min-width:641px){
 #how .steps .step-image .step-phone.device-shot{width:min(100%,186px)!important;max-width:186px!important;}
}
@media(max-width:640px){
 #how .steps .step-image{padding:21px 17px!important;}
 #how .steps .step-image .step-phone.device-shot{width:min(100%,218px)!important;max-width:218px!important;}
}
@media(max-width:355px){
 #how .steps .step-image .step-phone.device-shot{width:min(100%,194px)!important;max-width:194px!important;}
}
/* The same matte graphite finish replaces the earlier silver/purple gradient. */
.bridge-v3 .bridge-phone.device-shot{transform:rotate(5deg);}
.choice-reference-media .choice-device.device-shot{transform:rotate(1.5deg);}
.feature-ref-primary .feature-ref-phone.device-shot{transform:none;}
@media(max-width:480px){
 .feature-ref-primary .feature-ref-phone.device-shot{bottom:14px;}
}

/* === NAGIMI visual precision revision 2026-10-15 ===
 * Single graphite device style; no duplicated phone/chrome or inner padding.
 * Full-resolution PNG screenshots are never stretched or reencoded.
 */
:root{--nagimi-ref-device-width:252px;--nagimi-ref-device-ratio:0.532;}
/* Unify the apparent device dimensions and remove fake phone metal strips */
.phone.device-shot,
.bridge-v3 .phone.device-shot,
.feature-ref-primary .phone.device-shot,
#how .step-image .phone.device-shot {
  aspect-ratio:var(--nagimi-ref-device-ratio)!important;
  box-sizing:border-box!important;
  border:3px solid #232730!important;
  border-radius:12.7% / 6.7%!important;
  background:#111318!important;
  box-shadow:0 14px 27px rgba(18,32,67,.16),0 0 0 1px #76808b,inset 0 0 0 2px #090a0c!important;
  overflow:hidden!important;
  filter:none!important;
}
.phone.device-shot::before,.phone.device-shot::after,
.phone.device-shot .device-dynamic-island,
.phone.device-shot .device-home-indicator{
  display:none!important;
}
.phone.device-shot > .screen,
.bridge-v3 .phone.device-shot > .bridge-screen,
.step-image .phone.device-shot > .screen,
#how .step-image .phone.device-shot > .screen,
.feature-ref-primary .phone.device-shot > .screen{
  inset:1.5%!important;
  padding:0!important;
  border-radius:11.5% / 6%!important;
  border:0!important;
  box-shadow:none!important;
  background:#f5f6fc!important;
  overflow:hidden!important;
}
.phone.device-shot > .screen > img,
.bridge-v3 .phone.device-shot > .bridge-screen > img,
.step-image .phone.device-shot > .screen > img,
#how .step-image .phone.device-shot > .screen > img,
.feature-ref-primary .phone.device-shot > .screen > img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  image-rendering:auto!important;
  filter:none!important;
  transform:none!important;
}
/* Preserve the true same WIDTH in all three HOW IT WORKS devices */
#how .steps{align-items:stretch;}
#how .steps .step-image{
  box-sizing:border-box!important;
  padding:20px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  margin-top:22px!important;
}
#how .steps .step-image .step-phone.device-shot{
  width:min(100%,var(--nagimi-ref-device-width))!important;
  max-width:var(--nagimi-ref-device-width)!important;
  min-width:0!important;
  height:auto!important;
  flex:0 1 auto!important;
  transform:none!important;
  margin:0 auto!important;
}
#how .steps .step-image .step-phone.device-shot .screen {inset:1.5%!important;padding:0!important;}
/* The guide is completely removed in HTML; guard against cached fragments. */
.import-guide-example{display:none!important;}
/* Choice: use the pixel-original reference on its entire right half.
   The copy remains selectable HTML and the picture is neither stretched nor recompressed. */
.choice.choice-reference{
  background:radial-gradient(ellipse 62% 42% at 46% 85%,#e9effd 0%,transparent 100%),#fff!important;
  min-height:0!important;
}
.choice-reference-grid{
  width:100%!important;
  max-width:1672px!important;
  margin:0 auto!important;
  grid-template-columns:50.84% 49.16%!important;
  min-height:0!important;
  align-items:stretch!important;
}
.choice-reference-copy{
  align-self:center!important;
  max-width:none!important;
  padding:52px 14px 62px clamp(32px,6.65vw,113px)!important;
}
.choice-reference-copy .eyebrow{font-size:clamp(12px,.98vw,17px)!important;margin-bottom:clamp(30px,3.6vw,62px)!important;letter-spacing:.06em!important;}
.choice-reference h2{
  font-size:clamp(31px,3.5vw,62px)!important;
  line-height:1.49!important;
  letter-spacing:-.065em!important;
  white-space:nowrap!important;
}
.choice-reference-accent{color:#5368f4!important;}
.choice-reference-description{
  margin:clamp(24px,2.2vw,36px) 0 clamp(25px,2.35vw,38px)!important;
  font-size:clamp(14px,1.24vw,21px)!important;
  line-height:1.91!important;
}
.choice-reference-points{gap:clamp(10px,1.2vw,21px)!important;font-size:clamp(14px,1.18vw,20px)!important;}
.choice-reference-points li{gap:clamp(12px,1.4vw,22px)!important;}
.choice-reference-media{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-width:none!important;
  display:block!important;
  align-self:stretch!important;
  aspect-ratio:822/941!important;
  background:#dce6fa!important;
  position:relative!important;
  overflow:hidden!important;
  margin:0!important;
}
.choice-reference-media::before{display:none!important;}
.choice-reference-media .choice-exact-photo{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  filter:none!important;
  image-rendering:auto!important;
}
@media (min-width:1700px){.choice-reference-grid{border-radius:0;}}
@media (min-width:781px) and (max-width:1120px){
 .choice-reference h2{font-size:clamp(27px,3.5vw,40px)!important;}
 .choice-reference-points{font-size:14px!important;}
 .choice-reference-copy{padding-left:4vw!important;}
}
@media (max-width:780px){
 .choice-reference-grid{display:flex!important;flex-direction:column!important;}
 .choice-reference-copy{padding:50px 22px 26px!important;max-width:580px!important;box-sizing:border-box;}
 .choice-reference h2{font-size:clamp(27px,6vw,37px)!important;line-height:1.47!important;white-space:normal!important;}
 .choice-reference-copy .eyebrow{margin-bottom:22px!important;}
 .choice-reference-description{font-size:15px!important;line-height:1.8!important;}
 .choice-reference-points{gap:11px!important;font-size:14px!important;}
 .choice-reference-media{aspect-ratio:822/941!important;min-height:0!important;height:auto!important;max-width:560px!important;margin:0 auto!important;}
 .choice-reference-media .choice-exact-photo{object-fit:contain!important;object-position:center!important;}
}
@media (max-width:640px){
 :root{--nagimi-ref-device-width:244px;}
 #how .steps .step-image{padding:18px 12px!important;margin-top:18px!important;}
 #how .steps .step-image .step-phone.device-shot{width:min(100%,244px)!important;max-width:244px!important;}
}
@media (max-width:355px){
 #how .steps .step-image .step-phone.device-shot{width:min(100%,228px)!important;max-width:228px!important;}
 .choice-reference-copy{padding-inline:17px!important;}
 .choice-reference h2{font-size:26px!important;}
}


/* =========================================================
  Reference-exact four-feature utility strip | 2026-10-15
  Four inline icon/text columns, three hairline dividers,
  compact whitespace and a fine bottom rule. No bitmap UI.
========================================================= */
.utilities,
.features-reference + .utilities {
  background:#fff;
  padding:0;
  border:0;
}
.utilities .utility-grid {
  width:calc(100% - 72px);
  max-width:1072px;
  margin-inline:auto;
  padding:27px 0 55px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:center;
  gap:0;
  border-bottom:1px solid #d9e5ff;
}
.utilities .utility-grid article {
  position:relative;
  min-width:0;
  min-height:48px;
  padding:0 18px 0 22px;
  border:0;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-content:center;
  align-items:center;
  column-gap:20px;
  row-gap:0;
}
.utilities .utility-grid article:first-child {padding-left:0;}
.utilities .utility-grid article:not(:last-child)::after {
  content:'';
  position:absolute;
  right:0;
  top:1px;
  width:1px;
  height:48px;
  background:#d9e6ff;
}
.utilities .utility-grid .utility-icon {
  box-sizing:border-box;
  width:48px;
  height:48px;
  grid-column:1;
  grid-row:1 / span 2;
  border-radius:14px;
  background:#f1f6ff;
  color:#2f70ff;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  font-size:29px;
  font-weight:300;
  line-height:1;
}
.utilities .utility-grid .utility-icon svg {
  display:block;
  width:26px;
  height:26px;
  stroke:#2f70ff;
  stroke-width:1.8;
  fill:none;
}
.utilities .utility-grid h3,
.utilities .utility-grid p {
  grid-column:2;
  margin:0;
  white-space:normal;
  overflow-wrap:normal;
  word-break:keep-all;
  letter-spacing:0;
}
.utilities .utility-grid h3 {
  grid-row:1;
  align-self:end;
  font-family:var(--font-ja, 'LINE Seed JP','Noto Sans JP',sans-serif);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  color:#142a55;
}
.utilities .utility-grid p {
  grid-row:2;
  align-self:start;
  margin-top:5px;
  font-family:var(--font-ja, 'LINE Seed JP','Noto Sans JP',sans-serif);
  font-size:11.5px;
  font-weight:400;
  line-height:1.55;
  color:#788aa9;
}
@media(max-width:1050px){
  .utilities .utility-grid{width:calc(100% - 48px);}
  .utilities .utility-grid article{padding-left:14px;padding-right:10px;column-gap:12px;grid-template-columns:44px minmax(0,1fr);}
  .utilities .utility-grid .utility-icon{width:44px;height:44px;border-radius:13px;}
  .utilities .utility-grid article:not(:last-child)::after{height:44px;}
  .utilities .utility-grid h3{font-size:12px;}
  .utilities .utility-grid p{font-size:11px;}
}
@media(max-width:820px){
  .utilities .utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px;padding:25px 0 31px;}
  .utilities .utility-grid article{padding-left:18px;padding-right:12px;column-gap:14px;}
  .utilities .utility-grid article:nth-child(odd){padding-left:0;}
  .utilities .utility-grid article:nth-child(2)::after{display:none;}
  .utilities .utility-grid article:nth-child(1)::after,.utilities .utility-grid article:nth-child(3)::after{display:block;}
  .utilities .utility-grid h3{font-size:13px;}
  .utilities .utility-grid p{font-size:11.5px;}
}
@media(max-width:490px){
  .utilities .utility-grid{width:calc(100% - 40px);grid-template-columns:1fr;row-gap:0;padding:13px 0 22px;}
  .utilities .utility-grid article,.utilities .utility-grid article:first-child{padding:14px 0;grid-template-columns:44px minmax(0,1fr);column-gap:16px;min-height:58px;}
  .utilities .utility-grid article:not(:last-child)::after{display:none;}
  .utilities .utility-grid article:not(:last-child){border-bottom:1px solid #e6eeff;}
  .utilities .utility-grid h3{font-size:13px;}
  .utilities .utility-grid p{font-size:12px;}
}


/* 2026-10-18: footer legal links appended inline, no underline. */
.footer-top{align-items:center;gap:clamp(20px,3vw,48px)}
.footer .nagimi-footer-site{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;column-gap:clamp(13px,1.3vw,21px);row-gap:13px;font-size:12.5px;line-height:1.5;}
.footer .nagimi-footer-site a{color:#cdd7e9;text-decoration:none!important;white-space:nowrap;font-weight:700;transition:color .2s ease}
.footer .nagimi-footer-site a:hover,.footer .nagimi-footer-site a:focus-visible{color:#fff;text-decoration:none!important}
.footer .nagimi-footer-site a:focus-visible{outline:2px solid #83a8ff;outline-offset:5px;border-radius:3px}
@media(max-width:900px){
 .footer .nagimi-footer-site{justify-content:flex-start;column-gap:17px;row-gap:13px}
 .footer-top{align-items:flex-start}
}
@media(max-width:640px){
 .footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:26px}
 .footer .nagimi-footer-site{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:15px;font-size:12px}
 .footer .nagimi-footer-site a{white-space:normal;overflow-wrap:anywhere}
 .footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 18px}
 .footer .footer-bottom .footer-operator{order:1;width:100%}
}

/* 2026-10-18: OUR WISH / softer photo-to-copy transition.
   Fade the illustration's alpha rather than covering it with a hard white panel. */
.wish-v3 {
  background:linear-gradient(110deg,#f8faff 0%,#fcfdff 66%,#f8faff 100%);
}
.wish-v3 .wish-illustration {
  width:min(69%,1120px);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 34%,rgba(0,0,0,.97) 42%,rgba(0,0,0,.77) 54%,rgba(0,0,0,.42) 68%,rgba(0,0,0,.12) 84%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 34%,rgba(0,0,0,.97) 42%,rgba(0,0,0,.77) 54%,rgba(0,0,0,.42) 68%,rgba(0,0,0,.12) 84%,transparent 100%);
}
@media(max-width:640px) {
  .wish-v3 {background:linear-gradient(180deg,#f8faff 0%,#fff 85%,#f9faff 100%);}
  .wish-v3 .wish-illustration {
    width:100%;
    height:295px;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 50%,rgba(0,0,0,.85) 62%,rgba(0,0,0,.42) 78%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 50%,rgba(0,0,0,.85) 62%,rgba(0,0,0,.42) 78%,transparent 100%);
  }
  .wish-v3 .wish-layout{margin-top:-24px;}
  .wish-v3 .wish-copy{padding-top:10px;}
}
@media (min-width:641px) and (max-width:1190px) {
  .wish-v3 .wish-illustration {
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 27%,rgba(0,0,0,.83) 40%,rgba(0,0,0,.32) 61%,transparent 87%);
    mask-image:linear-gradient(90deg,#000 0%,#000 27%,rgba(0,0,0,.83) 40%,rgba(0,0,0,.32) 61%,transparent 87%);
  }
}


/* NAGIMI 2026-10-19 / OUR WISH clarity & gothic typography: controlled */
:root {
  /* Sans / ゴシック fallbacks only. Do not use Mincho/serif. */
  --font-ja:"LINE Seed JP","Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Meiryo","Noto Sans CJK JP",sans-serif;
}
.wish-v3 {
  isolation:isolate;
  overflow:hidden;
  background:#f9fbff;
}
/* Keep the couple and cat crisp. Fade only at the far right of the scene,
   then end the fade before the copy area begins. */
.wish-v3 .wish-illustration {
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:min(67vw,970px);
  height:auto;
  opacity:1;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 60%,rgba(0,0,0,.92) 64%,rgba(0,0,0,.40) 70%,rgba(0,0,0,.08) 76%,transparent 80%);
  mask-image:linear-gradient(to right,#000 0%,#000 60%,rgba(0,0,0,.92) 64%,rgba(0,0,0,.40) 70%,rgba(0,0,0,.08) 76%,transparent 80%);
}
.wish-v3 .wish-illustration img {
  width:100%;height:100%;object-fit:cover;object-position:center center;
  filter:none;opacity:1;
}
.wish-v3 .wish-layout {
  max-width:1200px;
  width:calc(100% - 96px);
  min-height:650px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  z-index:2;
}
.wish-v3 .wish-copy {
  width:min(44%,530px);
  max-width:100%;
  padding:66px 0 70px;
  margin:0;
  background:transparent;
  font-family:var(--font-ja);
}
.wish-v3 h2 {
  font-family:var(--font-ja);
  font-weight:700;
  font-size:clamp(35px,3vw,43px);
  line-height:1.45;
  letter-spacing:-.035em;
  white-space:normal;
  overflow-wrap:normal;
}
.wish-v3 .wish-text {
  font-family:var(--font-ja);
  font-size:17px;
  font-weight:400;
  line-height:1.9;
  margin:32px 0 35px;
}
.wish-v3 .wish-signature {font-family:var(--font-ja);font-size:20px;}
.wish-v3 .eyebrow {margin-bottom:24px;}
@media(max-width:1100px) {
  .wish-v3 {min-height:0;padding:0 0 65px;}
  .wish-v3 .wish-illustration {
    position:relative;
    width:100%;
    height:clamp(305px,43vw,435px);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,rgba(0,0,0,.77) 77%,rgba(0,0,0,.20) 92%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 65%,rgba(0,0,0,.77) 77%,rgba(0,0,0,.20) 92%,transparent 100%);
  }
  .wish-v3 .wish-illustration img {object-position:center 52%;}
  .wish-v3 .wish-layout {
    width:min(calc(100% - 80px),740px);
    min-height:0;display:block;margin:0 auto;
  }
  .wish-v3 .wish-copy {width:100%;padding:16px 0 35px;}
  .wish-v3 h2 {font-size:clamp(30px,4.1vw,42px);}
  .wish-v3 .wish-text {font-size:16px;}
}
@media(max-width:640px) {
  .wish-v3 {padding-bottom:38px;}
  .wish-v3 .wish-illustration {
    height:clamp(245px,74vw,310px);
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 66%,rgba(0,0,0,.66) 79%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 66%,rgba(0,0,0,.66) 79%,transparent 100%);
  }
  .wish-v3 .wish-layout {width:calc(100% - 40px);margin:0 auto;}
  .wish-v3 .wish-copy {padding:4px 0 20px;}
  .wish-v3 .wish-copy .eyebrow {margin-bottom:14px;}
  .wish-v3 h2 {font-size:clamp(25px,7.1vw,32px);line-height:1.5;letter-spacing:-.03em;}
  .wish-v3 .wish-text {font-size:15px;margin:20px 0 22px;line-height:1.8;}
  .wish-v3 .wish-signature {font-size:17px;}
}


/* 2026-10-19 / approved OUR WISH artwork (source PNG kept byte-for-byte).
   Keep the picture's aspect ratio; responsive cropping happens only within the
   image's decorative section, and the title must never overlap the subjects. */
@media (min-width:1101px) {
  .wish-v3 .wish-illustration {
    width:min(78vw,1120px);
    -webkit-mask-image:linear-gradient(to right,#000 0%,#000 59%,rgba(0,0,0,.94) 63%,rgba(0,0,0,.58) 70%,rgba(0,0,0,.15) 77%,transparent 84%);
    mask-image:linear-gradient(to right,#000 0%,#000 59%,rgba(0,0,0,.94) 63%,rgba(0,0,0,.58) 70%,rgba(0,0,0,.15) 77%,transparent 84%);
  }
  .wish-v3 .wish-illustration img {
    object-fit:contain;object-position:left center;filter:none;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 23%,#000 70%,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 23%,#000 70%,transparent 100%);
  }
  .wish-v3 .wish-layout{width:calc(100% - 84px);max-width:none;}
  .wish-v3 .wish-copy{width:min(39%,510px);}
}
@media (max-width:1100px) {
  .wish-v3 .wish-illustration img{object-fit:cover;object-position:center center;filter:none;}
}
@media (max-width:640px) {
  .wish-v3 .wish-illustration img{object-position:48% center;}
}


/* ================================================================
   NAGIMI 2026-10-19 — six requested SP refinements.
   Only screens <=640px are visually rearranged; desktop is preserved.
   ================================================================ */
.hero-mobile-bottom,.step-top .step-title-sp,.choice-reference-points-mobile{display:none!important;}
.faq-list .plus{transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.faq-list .faq-answer{overflow:hidden;}
.faq-list .faq-answer>p{margin:0;}
.faq-list details summary{transition:color .24s ease;}
.faq-list details summary:hover{color:#4365c9;}
.faq-list details:focus-within summary{color:#1b3a70;}
.faq-list details.faq-js-enhanced .faq-answer{transition:height .36s cubic-bezier(.2,.7,.2,1),opacity .34s ease,transform .34s ease;will-change:height;}
@media (prefers-reduced-motion:reduce){
 .faq-list .plus,.faq-list details.faq-js-enhanced .faq-answer{transition:none!important;}
}
@media(max-width:640px){
 /* 1: Place TOP CTAs and all three benefits *after* the phone image. */
 .hero .hero-copy>.hero-actions,.hero .hero-copy>.benefits{display:none!important;}
 .hero .hero-grid{display:flex!important;flex-direction:column!important;gap:0!important;}
 .hero .hero-copy{padding-bottom:24px!important;}
 .hero .hero-reference-visual{width:100%;margin:0!important;}
 .hero .hero-mobile-bottom{display:block!important;background:linear-gradient(180deg,#edf3ff 0%,#fff 92%);padding:24px 20px 34px;}
 .hero .hero-mobile-bottom .hero-actions{display:flex!important;gap:10px!important;flex-wrap:nowrap!important;margin:0!important;}
 .hero .hero-mobile-bottom .hero-actions .button{flex:1 1 0!important;min-width:0!important;min-height:50px!important;padding:12px 8px!important;font-size:clamp(12px,3.45vw,14px)!important;gap:7px!important;white-space:nowrap!important;}
 .hero .hero-mobile-bottom .benefits{display:flex!important;justify-content:center!important;gap:9px 13px!important;margin:23px auto 0!important;flex-wrap:wrap!important;font-size:clamp(10px,2.8vw,12px)!important;}
 .hero .hero-mobile-bottom .benefits li{white-space:nowrap;}
 /* 2: Number, title, then upload/category/chart icon in one centered row. */
 #how .steps .step-top{display:flex!important;align-items:center!important;justify-content:center!important;gap:clamp(7px,2.4vw,12px)!important;margin:0 0 17px!important;min-width:0;}
 #how .steps .step-number{order:1;flex:0 0 clamp(45px,12vw,54px)!important;width:clamp(45px,12vw,54px)!important;height:clamp(45px,12vw,54px)!important;font-size:19px!important;}
 #how .steps .step-top .step-title-sp{display:block!important;order:2;flex:0 1 auto;min-width:0;margin:0!important;font-size:clamp(15px,4.35vw,19px)!important;line-height:1.45;letter-spacing:-.04em;word-break:keep-all;}
 #how .steps .step-top svg{order:3;flex:0 0 23px!important;width:23px!important;height:23px!important;}
 #how .steps .step-title-desktop{display:none!important;}
 #how .steps .step>p{text-align:center!important;margin:0 auto 16px!important;font-size:14px!important;line-height:1.8!important;max-width:340px;}
 /* 3: Trust bullet points are below the full reference image. */
 #choice .choice-reference-copy .choice-reference-points{display:none!important;}
 #choice .choice-reference-points-mobile{display:grid!important;margin:24px 20px 42px!important;padding:0 0 0 0!important;gap:16px!important;max-width:560px;align-self:center;font-size:clamp(13px,3.5vw,15px)!important;}
 #choice .choice-reference-media{margin-bottom:0!important;}
 /* 4: Don't float artwork on top of explanatory copy (FEATURE 01–03). */
 #features .feature-ref-card{min-height:0!important;}
 #features .feature-ref-primary{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
 #features .feature-ref-primary .feature-ref-copy{padding:28px 22px 0!important;position:relative!important;}
 #features .feature-ref-primary .feature-ref-phone{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;width:min(64%,224px)!important;max-height:none!important;margin:25px auto 22px!important;}
 #features .feature-ref-member{display:flex!important;flex-direction:column!important;}
 #features .feature-ref-member .feature-ref-copy{padding:27px 22px 0!important;}
 #features .feature-ref-member .feature-ref-toggle{position:relative!important;inset:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:calc(100% - 44px)!important;max-width:380px;margin:25px auto 24px!important;}
 #features .feature-ref-trend{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
 #features .feature-ref-trend .feature-ref-copy{padding:27px 22px 0!important;position:relative!important;}
 #features .feature-ref-trend .feature-ref-copy>p:last-child{margin-top:13px!important;margin-bottom:0!important;}
 #features .feature-ref-trend .feature-ref-chart{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;width:calc(100% - 42px)!important;max-width:470px!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:22px auto 22px!important;flex:none!important;}
 /* 5: Free plan price: the numeral is the main focus. */
 #price .price-amount{align-items:baseline!important;gap:7px!important;margin:26px auto 15px!important;}
 #price .price-amount>span{font-size:clamp(28px,8vw,37px)!important;}
 #price .price-amount>strong{font-size:clamp(96px,27vw,132px)!important;line-height:.95!important;font-weight:650!important;letter-spacing:-.055em!important;}
}
@media(max-width:355px){
 .hero .hero-mobile-bottom{padding-inline:14px;}
 .hero .hero-mobile-bottom .hero-actions .button{font-size:12px!important;padding-inline:5px!important;}
 #how .steps .step-top .step-title-sp{font-size:15px!important;}
 #how .steps .step-top svg{width:20px!important;flex-basis:20px!important;}
 #choice .choice-reference-points-mobile{margin-inline:16px!important;}
}
/* Preserve original FAQ answer spacing after adding the animation wrapper. */
.faq-list details>.faq-answer>p{
  display:flex;gap:30px;padding:0 10px 34px;color:var(--text);
  font-family:var(--font-ja);font-size:16px;line-height:2;
}
@media(max-width:640px){
  #how .steps .step-top .step-title-sp{color:#142850!important;}
  .faq-list details>.faq-answer>p{font-size:14px;gap:15px;padding:0 0 25px;line-height:2;}
}
/* Tablet is already in single-column mode: avoid text/chart overlap there too. */
@media (min-width:641px) and (max-width:780px){
  #features .feature-ref-trend{display:flex;flex-direction:column;min-height:0;}
  #features .feature-ref-trend .feature-ref-copy{padding:30px 30px 0;}
  #features .feature-ref-trend .feature-ref-chart{position:relative;inset:auto;width:min(82%,500px);height:auto;max-height:none;object-fit:contain;margin:20px auto 28px;}
}


/* 2026-10-19 Screen-to-bezel alignment: allow the native app footer to sit
   against the display's bottom edge. PNGs above trim only empty pixels beneath
   the nav bar, not any app UI. Never stretch a screenshot. */
.phone.device-shot > .screen,
.bridge-v3 .phone.device-shot > .bridge-screen,
#how .step-image .phone.device-shot > .screen,
.feature-ref-primary .phone.device-shot > .screen {
  inset:6px 5px 5px!important;
  border-radius:11% / 5.8%!important;
  background:#f4f6fc!important;
}
.phone.device-shot > .screen > img,
.bridge-v3 .phone.device-shot > .bridge-screen > img,
#how .step-image .phone.device-shot > .screen > img,
.feature-ref-primary .phone.device-shot > .screen > img {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  image-rendering:auto!important;
}
