:root{--ink:#102022;--aqua:#91e9e5;--paper:#f6f8f6;--muted:#617073;--line:#dce5e2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif}.top{height:72px;padding:0 max(24px,7vw);display:flex;align-items:center;justify-content:space-between;background:#f6f8f6;border-bottom:1px solid var(--line)}.logo{font-size:19px;font-weight:800;letter-spacing:.08em;color:var(--ink);text-decoration:none;display:flex;gap:8px;align-items:center}.logo i{width:26px;height:26px;display:grid;place-items:center;background:var(--ink);color:var(--aqua);border-radius:8px;font-size:14px;font-style:normal}.top nav{display:flex;align-items:center;gap:20px}.top nav a,.top nav button{font:700 13px inherit;color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer}.top nav form{margin:0}.pill,.button{border:0!important;background:var(--ink)!important;color:#fff!important;border-radius:99px;padding:12px 18px!important;text-decoration:none;font-weight:800;cursor:pointer}.hero{max-width:1170px;margin:auto;padding:110px 32px 125px;display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.eyebrow{font-size:11px;color:#388887;font-weight:800;letter-spacing:.14em}.hero h1,.public-card h1{font-size:clamp(42px,6vw,78px);line-height:1.09;letter-spacing:-.06em;margin:20px 0}.hero h1 em{color:#42b8b7;font-style:normal}.lead{font-size:17px;line-height:1.9;color:var(--muted);max-width:560px}.buttons{display:flex;gap:18px;align-items:center;margin-top:30px}.text-button{color:var(--ink);font-size:14px;font-weight:800}.visual{height:410px;position:relative;background:var(--aqua);border-radius:30px;overflow:hidden}.visual:before{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:#cdf8f3;right:-20px;top:-30px}.nfc{position:absolute;width:260px;height:162px;background:#132528;border-radius:16px;left:45px;top:120px;box-shadow:0 22px 35px #183b3a55;padding:21px;color:white;transform:rotate(-8deg)}.nfc b{font-size:16px;letter-spacing:.08em}.nfc span{position:absolute;right:20px;top:63px;color:var(--aqua);font-size:27px;letter-spacing:-9px;transform:rotate(-90deg)}.nfc small{position:absolute;bottom:20px;left:21px;font-size:8px;letter-spacing:.15em;color:#a6cbc8}.phone{position:absolute;right:47px;bottom:-15px;width:170px;height:340px;border:9px solid #152326;border-radius:29px;background:white;padding:38px 14px}.avatar{margin:auto;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#a2dfd9,#478e8d);display:grid;place-items:center;color:#fff;font-weight:800}.phone b,.phone small{display:block;text-align:center}.phone b{font-size:13px;margin-top:12px}.phone small{font-size:8px;color:#788486;margin-top:5px}.phone button{width:100%;background:var(--ink);color:white;border:0;border-radius:99px;padding:9px;font-size:9px;margin-top:22px}.band{background:var(--ink);padding:78px 25px;text-align:center;color:#fff}.band h2{font-size:clamp(30px,4vw,53px);margin:15px}.band p{color:#c6d3d2;line-height:1.8;max-width:610px;margin:auto}.band .eyebrow{color:var(--aqua)}.info{max-width:1120px;margin:auto;padding:100px 30px}.info h2{font-size:clamp(32px,4vw,54px);line-height:1.2;margin:0 0 44px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid3 article{background:white;padding:28px;border:1px solid var(--line);border-radius:16px}.grid3 span{font-size:11px;color:#47a6a5;font-weight:800}.grid3 h3{font-size:19px;margin:28px 0 12px}.grid3 p{font-size:13px;line-height:1.8;color:var(--muted)}.card{max-width:480px;margin:55px auto;padding:36px;background:#fff;border:1px solid var(--line);border-radius:18px}.card h1{font-size:30px;margin-top:0}.card label{display:block;font-size:12px;font-weight:800;margin:19px 0 7px}.card input,.card textarea,.card select{width:100%;padding:12px;border:1px solid #cbd7d4;border-radius:8px;background:#fff;font:14px inherit}.card textarea{min-height:100px;resize:vertical}.card .button{display:block;width:100%;text-align:center;margin-top:25px}.note{font-size:12px;color:var(--muted);line-height:1.7}.flash{max-width:700px;margin:20px auto 0;background:#daf7f2;border:1px solid #99e7db;border-radius:10px;padding:12px 16px;font-size:13px}.admin{max-width:1120px;margin:0 auto;padding:42px 28px}.admin h1{font-size:32px}.admin .sub{color:var(--muted);font-size:14px}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;margin-top:18px}.panel h2{font-size:17px;margin:0 0 16px}.stat{font-size:32px;font-weight:800}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:13px 8px;border-bottom:1px solid var(--line);text-align:left}.table th{color:var(--muted);font-size:11px}.table a{color:#247c7b;font-weight:700}.row{display:flex;gap:12px;align-items:end}.row>*{flex:1}.danger{color:#a53d3d}.public-wrap{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:36px 20px;background:linear-gradient(145deg,#eff9f7,#f8f9f6)}.public-card{width:min(100%,480px);background:#fff;border-radius:23px;padding:39px 30px;text-align:center;box-shadow:0 20px 50px #183c3820}.public-avatar{margin:auto;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--accent,#4b9c9b);font-size:25px;font-weight:800}.public-card h1{font-size:29px;letter-spacing:-.04em;margin:17px 0 5px}.public-card .company{font-size:13px;color:var(--muted)}.public-card .bio{font-size:14px;line-height:1.8;text-align:left;margin:25px 0}.public-links{display:grid;gap:10px}.public-links a{display:block;text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:14px;color:var(--ink);font-size:14px;font-weight:700}.contact{margin-top:16px;background:var(--ink);color:white;border:0;border-radius:99px;padding:13px 22px;font-weight:800;cursor:pointer}.unavailable{text-align:center;padding:70px 20px}@media(max-width:720px){.top{padding:0 20px}.top nav{gap:12px}.hero{grid-template-columns:1fr;padding:70px 24px}.visual{height:350px}.nfc{left:25px;top:105px;transform:scale(.85) rotate(-8deg);transform-origin:left}.phone{right:23px;transform:scale(.85);transform-origin:bottom right}.grid3,.admin-grid{grid-template-columns:1fr}.info{padding:72px 24px}.row{display:block}.row>*{margin-bottom:12px}}

/* Auth and admin controls */
.errors,.success{padding:13px 15px;border-radius:9px;font-size:13px;line-height:1.6;margin:15px 0}.errors{background:#fff0f0;border:1px solid #edbcbc;color:#8a2f2f}.errors ul{margin:8px 0 0;padding-left:20px}.success{background:#e7faf4;border:1px solid #9fe0cd}.input-prefix{display:flex;align-items:center;border:1px solid #cbd7d4;border-radius:8px;overflow:hidden;background:#eef3f1}.input-prefix span{padding:0 10px;font-size:11px;color:var(--muted);white-space:nowrap}.input-prefix input{border:0;border-left:1px solid #cbd7d4;border-radius:0}.admin-title{display:flex;align-items:center;justify-content:space-between;gap:24px}.narrow{max-width:820px}.form-grid label,.panel .row label{display:block;font-size:12px;font-weight:800}.form-grid input,.form-grid textarea,.form-grid select,.panel .row input,.panel .row select,.inline select{width:100%;padding:11px;margin-top:7px;border:1px solid #cbd7d4;border-radius:8px;background:#fff;font:14px inherit}.form-grid textarea{min-height:140px;resize:vertical}.form-grid>.button{margin-top:22px}.check{display:flex!important;align-items:center;gap:10px}.check input{width:auto;margin:0}.compact{width:auto;white-space:nowrap}.status{display:inline-block;padding:6px 10px;border-radius:99px;font-size:12px;font-weight:800}.status-ok{background:#d9f8ee;color:#17694e}.status-off{background:#edf0ef;color:#687270}.inline{display:flex;gap:8px;align-items:center}.inline select{margin:0}.inline button,.link-danger{border:0;background:transparent;color:#247c7b;font-weight:800;cursor:pointer}.link-danger{color:#a53d3d}.one-time{border-color:#58bbb3;background:#eefffc}.one-time code,.panel code{display:block;overflow-wrap:anywhere;padding:10px;background:#f0f4f3;border-radius:7px;font-size:12px}.stat small{font-size:13px;color:var(--muted)}.headline{font-weight:700;color:#3d5a5b}.contact{display:inline-block;text-decoration:none}.table form{margin:0}.top nav button{padding:0}.top nav .pill{padding:10px 16px!important}
@media(max-width:720px){.admin-title{align-items:flex-start;flex-direction:column}.admin-title .button{width:100%;text-align:center}.table{display:block;overflow-x:auto}.input-prefix{display:block}.input-prefix span{display:block;padding:8px 10px}.input-prefix input{border-left:0;border-top:1px solid #cbd7d4}.top nav a:not(.pill){display:none}}
.profile-editor{max-width:1120px}.profile-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;align-items:start}.profile-layout .panel{margin-top:0}.profile-preview-wrap{position:sticky;top:20px}.preview-label{font-size:11px;font-weight:800;color:var(--muted);margin:3px 0 8px}.profile-preview{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 24px 24px;text-align:center}.preview-banner{height:104px;background:linear-gradient(135deg,var(--accent),#d9f8f4);margin:0 -24px;overflow:hidden}.preview-banner img{width:100%;height:100%;object-fit:cover}.preview-avatar{width:76px;height:76px;margin:-38px auto 12px;border-radius:50%;overflow:hidden;background:var(--accent);border:4px solid #fff;display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px}.preview-avatar img{width:100%;height:100%;object-fit:cover}.profile-preview strong,.profile-preview b{display:block}.profile-preview b{font-size:13px;margin-top:8px}.profile-preview p{font-size:12px;line-height:1.7;color:var(--muted)}.profile-preview [data-preview-bio]{text-align:left;white-space:pre-line}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.media-grid>div{border:1px solid var(--line);border-radius:10px;padding:14px}.media-grid label{display:block;font-size:12px;font-weight:800}.media-grid input[type=file]{display:block;width:100%;margin:9px 0 18px;font:12px inherit}.media-grid input[type=range]{width:100%;display:block;margin-top:8px}.media-grid output{float:right;color:#3d8886}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-heading h2{margin-bottom:5px}.link-editor{display:grid;gap:10px;margin-top:15px}.link-row{display:grid;grid-template-columns:1fr 1.5fr auto;align-items:end;gap:10px;padding:12px;background:#f7faf9;border-radius:10px}.link-row label{font-size:11px;font-weight:800}.link-row input{width:100%;padding:10px;margin-top:6px;border:1px solid #cbd7d4;border-radius:8px;font:14px inherit}.save-zone{padding:32px 0 50px;text-align:center}.save-zone .button{min-width:280px}.save-overlay{position:fixed;z-index:20;inset:0;background:#1020228f;display:grid;place-items:center}.save-overlay>div{min-width:280px;padding:26px;background:#fff;border-radius:16px;text-align:center;box-shadow:0 18px 50px #0004}.save-overlay strong{display:block;margin-top:12px}.save-overlay p{font-size:12px;color:var(--muted)}.spinner{display:block;width:28px;height:28px;margin:auto;border:3px solid #d4e7e4;border-top-color:#247c7b;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.public-banner{height:150px;margin:-39px -30px 0;overflow:hidden;background:var(--accent)}.public-banner img{width:100%;height:100%;object-fit:cover}.enhanced-card .public-avatar{overflow:hidden;position:relative}.enhanced-card .public-avatar img{width:100%;height:100%;object-fit:cover}.business-card-image{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);text-align:left}.business-card-image h2{font-size:13px;margin:0 0 10px}.business-card-image img{display:block;width:100%;border-radius:10px;border:1px solid var(--line)}@media(max-width:720px){.profile-layout{grid-template-columns:1fr}.profile-preview-wrap{position:static;order:-1}.media-grid{grid-template-columns:1fr}.link-row{grid-template-columns:1fr}.link-row .link-danger{justify-self:start}.section-heading{display:block}.section-heading .link-danger{margin-top:12px}}
.qr-share{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.qr-share summary{font-size:12px;font-weight:800;cursor:pointer;color:var(--muted)}.qr{width:156px;min-height:156px;padding:12px;margin:14px auto 0;background:#fff;border:1px solid var(--line);border-radius:10px}.qr img,.qr canvas{display:block;margin:auto;max-width:100%;height:auto}
.save-overlay[hidden]{display:none}
.link-row{grid-template-columns:150px 1fr 1.5fr auto}.link-row select{width:100%;padding:10px;border:1px solid #cbd7d4;border-radius:8px;background:#fff;font:13px inherit}.social-link{display:flex!important;align-items:center;gap:11px;text-align:left}.social-icon{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:8px;color:#fff;font-size:12px;font-weight:900;line-height:1}.social-instagram{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-facebook{background:#1877f2}.social-x{background:#101010}.social-linkedin{background:#0a66c2}.social-youtube{background:#f00}.social-tiktok{background:#111}.social-line{background:#06c755}.social-website{background:#4b9c9b}@media(max-width:720px){.link-row{grid-template-columns:1fr}}
.enhanced-card{overflow:hidden}
.theme-picker{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:13px 14px;border:1px solid #d3e2df;border-radius:11px;background:linear-gradient(110deg,#f7fbfa,#edf8f6)}.theme-picker strong,.theme-picker small{display:block}.theme-picker strong{font-size:12px}.theme-picker small{font-size:11px;color:var(--muted);margin-top:3px}.theme-picker select{min-width:120px;padding:9px 10px;border:1px solid #b8cfca;border-radius:8px;background:#fff;font:13px inherit}.form-grid label:has(input[type=color]){padding:13px 14px;border:1px solid #cddedb;border-radius:11px;background:#fbfdfc}.form-grid label:has(input[type=color]) input{height:42px;padding:3px;border-radius:8px;border:1px solid #9fc7c0;cursor:pointer}.enhanced-card.theme-dark{background:#102022;border-color:#365150;box-shadow:0 28px 70px #09171666;color:#f3fbfa}.enhanced-card.theme-dark .public-banner:after{background:linear-gradient(180deg,#06111016,#0611107a)}.enhanced-card.theme-dark .public-avatar{border-color:#102022}.enhanced-card.theme-dark h1{color:#f4fbfa}.enhanced-card.theme-dark .headline{background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 28%,#163431),#17302f);border-color:color-mix(in srgb,var(--accent) 55%,#345653);color:#f5fffe;box-shadow:none}.enhanced-card.theme-dark .company,.enhanced-card.theme-dark .bio{color:#b9cdca}.enhanced-card.theme-dark .bio{border-color:#36504d}.enhanced-card.theme-dark .public-links a{background:#18302f;border-color:#375250;color:#edf9f7;box-shadow:none}.enhanced-card.theme-dark .public-links a:hover{background:#203d3a;border-color:var(--accent)}.enhanced-card.theme-dark .business-card-image{background:#172d2b;border-color:#38524f}.enhanced-card.theme-dark .business-card-image h2{color:#b8cfca}.enhanced-card.theme-dark .qr-share{border-color:#36504d}.enhanced-card.theme-dark .qr-share summary,.enhanced-card.theme-dark .qr-share .note,.enhanced-card.theme-dark .qr-share .note a{color:#c9dfdc}.profile-preview.theme-dark{background:#102022;color:#f3fbfa;border-color:#365150}.profile-preview.theme-dark p{color:#b9cdca}.profile-preview.theme-dark [data-preview-bio]{border-color:#36504d}@media(max-width:520px){.theme-picker{align-items:flex-start;flex-direction:column}.theme-picker select{width:100%}}
.media-grid input[type=range]{accent-color:#2f9895}@media(max-width:720px){.media-grid input[type=range]{height:48px;margin:6px 0 0;touch-action:pan-y}.media-grid input[type=range]::-webkit-slider-runnable-track{height:12px;border-radius:99px;background:#cfece8}.media-grid input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;margin-top:-9px;border:4px solid #fff;border-radius:50%;background:#247c7b;box-shadow:0 2px 7px #163c3850}.media-grid input[type=range]::-moz-range-track{height:12px;border-radius:99px;background:#cfece8}.media-grid input[type=range]::-moz-range-thumb{width:24px;height:24px;border:4px solid #fff;border-radius:50%;background:#247c7b;box-shadow:0 2px 7px #163c3850}}
.social-icon{font-size:0;background-color:#fff;background-position:center;background-repeat:no-repeat;background-size:72%;border:1px solid #e4ecea}.social-instagram{background-image:url('logos/instagram.png');background-size:76%}.social-facebook{background-image:url('logos/facebook.png');background-size:80%}.social-x{background-image:url('logos/x.svg');background-size:64%}.social-line{background-image:url('logos/line.png');background-size:100%;border-color:transparent}
.social-icon{font-size:12px;color:#fff;background-image:none}.social-instagram,.social-facebook,.social-x,.social-line{font-size:0!important;background-position:center;background-repeat:no-repeat}.social-instagram{background-color:#d62976;background-image:url('logos/instagram-white.png'),radial-gradient(circle at 18% 105%,#fed373 0 25%,transparent 48%),linear-gradient(138deg,#833ab4 0%,#c13584 29%,#e1306c 47%,#fd1d1d 64%,#f77737 81%,#fcaf45 100%);background-size:74%,100%,100%;background-position:center,center,center}.social-facebook{background-color:#fff;background-image:url('logos/facebook.png');background-size:82%}.social-x{background-color:#fff;background-image:url('logos/x.svg');background-size:62%}.social-line{background-color:#06c755;background-image:url('logos/line.png');background-size:100%}.social-website{font-size:15px!important;background:#4b9c9b;color:#fff;border-color:transparent}.enhanced-card .social-link{padding-left:15px}.enhanced-card .social-link>span:last-child{padding-top:1px}
.enhanced-card .contact{min-height:60px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#b8f6ee,#80dfd5)!important;color:#102022!important;border:1px solid #d8fffa;box-shadow:0 12px 24px #61ccc147;font-size:16px;font-weight:900;letter-spacing:.025em}.enhanced-card .contact:before{content:"＋";width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#102022;color:#b8f6ee;font-size:17px;line-height:1}.enhanced-card .contact:after{content:"端末に追加";font-size:11px;font-weight:800;letter-spacing:0;color:#245b57;padding:4px 7px;border-radius:99px;background:#ffffff80}.enhanced-card .contact:hover{background:linear-gradient(135deg,#cbfbf5,#92e9df)!important;box-shadow:0 16px 28px #61ccc165}
.top .logo{width:178px;height:42px;background:url('brand/yosoro-logo.png') left center/contain no-repeat;font-size:0}.top .logo i{display:none}.hero-brand{padding-top:86px}.hero-logo{display:block;width:min(310px,78vw);height:auto;margin:0 0 30px}.pricing{max-width:1120px;margin:0 auto;padding:110px 30px}.pricing-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:38px}.pricing-head h2{font-size:clamp(34px,4vw,55px);line-height:1.2;margin:12px 0 0;letter-spacing:-.045em}.pricing-head p{max-width:380px;font-size:14px;line-height:1.85;color:var(--muted)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.price-grid article{position:relative;padding:29px;border:1px solid var(--line);border-radius:18px;background:#fff}.price-grid article>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#4a9f9d}.price-grid h3{font-size:20px;margin:25px 0 12px}.price-grid p{min-height:54px;font-size:13px;line-height:1.75;color:var(--muted)}.price-grid strong{display:block;margin-top:25px;font-size:36px;letter-spacing:-.05em}.price-grid strong small{font-size:15px;margin-left:3px}.price-grid .featured{border-color:#49b8b3;background:linear-gradient(145deg,#effefa,#fff)}.price-grid .featured>b{position:absolute;top:18px;right:18px;padding:6px 9px;border-radius:99px;background:#102022;color:#b8f6ee;font-size:10px}.price-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.price-notes>div{padding:20px 23px;border-radius:14px;background:#eaf8f5}.price-notes b{font-size:14px}.price-notes p{margin:7px 0 0;font-size:13px;color:#536b69}.price-notes a{display:inline-block;margin-top:13px;font-size:13px;font-weight:800;color:#176f6c}.hero-logo+ .eyebrow{margin-top:0}@media(max-width:720px){.top .logo{width:142px;height:36px}.hero-brand{padding-top:58px}.hero-logo{width:240px;margin-bottom:23px}.pricing{padding:76px 24px}.pricing-head{display:block;margin-bottom:25px}.price-grid,.price-notes{grid-template-columns:1fr}.price-grid article{padding:25px}.price-grid p{min-height:0}.price-grid strong{margin-top:18px}}
.top .logo{width:178px;height:42px;background:url('brand/yosoro-logo.png') left center/contain no-repeat;font-size:0}.top .logo i{display:none}.hero-brand{padding-top:86px}.hero-logo{display:block;width:min(310px,78vw);height:auto;margin:0 0 30px}.pricing{max-width:1120px;margin:0 auto;padding:110px 30px}.pricing-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:38px}.pricing-head h2{font-size:clamp(34px,4vw,55px);line-height:1.2;margin:12px 0 0;letter-spacing:-.045em}.pricing-head p{max-width:380px;font-size:14px;line-height:1.85;color:var(--muted)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.price-grid article{position:relative;padding:29px;border:1px solid var(--line);border-radius:18px;background:#fff}.price-grid article>span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#4a9f9d}.price-grid h3{font-size:20px;margin:25px 0 12px}.price-grid p{min-height:54px;font-size:13px;line-height:1.75;color:var(--muted)}.price-grid strong{display:block;margin-top:25px;font-size:36px;letter-spacing:-.05em}.price-grid strong small{font-size:15px;margin-left:3px}.price-grid .featured{border-color:#49b8b3;background:linear-gradient(145deg,#effefa,#fff)}.price-grid .featured>b{position:absolute;top:18px;right:18px;padding:6px 9px;border-radius:99px;background:#102022;color:#b8f6ee;font-size:10px}.price-notes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.price-notes>div{padding:20px 23px;border-radius:14px;background:#eaf8f5}.price-notes b{font-size:14px}.price-notes p{margin:7px 0 0;font-size:13px;color:#536b69}.price-notes a{display:inline-block;margin-top:13px;font-size:13px;font-weight:800;color:#176f6c}.hero-logo+ .eyebrow{margin-top:0}@media(max-width:720px){.top .logo{width:142px;height:36px}.hero-brand{padding-top:58px}.hero-logo{width:240px;margin-bottom:23px}.hero-brand h1{white-space:nowrap;font-size:clamp(26px,8.5vw,34px);line-height:1.4;letter-spacing:-.07em}.pricing{padding:76px 24px}.pricing-head{display:block;margin-bottom:25px}.price-grid,.price-notes{grid-template-columns:1fr}.price-grid article{padding:25px}.price-grid p{min-height:0}.price-grid strong{margin-top:18px}}
.public-wrap{position:relative;isolation:isolate;padding:52px 20px;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--aqua) 38%,transparent),transparent 33%),radial-gradient(circle at 88% 94%,#d7efec,transparent 38%),linear-gradient(145deg,#f4fbfa,#edf4f3)}.public-wrap:before{content:"";position:absolute;z-index:-1;inset:0;background-image:radial-gradient(#0e29271a .65px,transparent .65px);background-size:12px 12px;mask-image:linear-gradient(#0007,transparent 72%)}.enhanced-card{width:min(100%,520px);padding:0 30px 30px;border-radius:28px;border:1px solid #ffffffb8;box-shadow:0 28px 70px #163d3924;animation:card-in .52s cubic-bezier(.2,.8,.2,1) both}.enhanced-card .public-banner{height:190px;margin:0 -30px;position:relative;background:linear-gradient(135deg,var(--accent),#caebe6)}.enhanced-card .public-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#1020221c)}.enhanced-card .public-avatar{width:92px;height:92px;margin:28px auto 14px;border-width:5px;box-shadow:0 8px 22px #183c3830;font-size:28px}.enhanced-card .public-banner+.public-avatar{margin:-46px auto 14px;z-index:1;position:relative}.enhanced-card h1{font-size:clamp(30px,8vw,38px);line-height:1.12;margin:9px 0 5px;letter-spacing:-.055em}.enhanced-card .headline{display:inline-block;max-width:390px;margin:13px auto 4px;padding:9px 14px;border-radius:11px;background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 28%,#fff),#f4fbfa);border:1px solid color-mix(in srgb,var(--accent) 45%,#fff);box-shadow:0 5px 14px #183c3810;font-size:18px;line-height:1.55;font-weight:900;color:#123636;letter-spacing:.015em}.enhanced-card .company{font-size:12px;letter-spacing:.025em;margin:10px 0 0}.enhanced-card .bio{margin:25px 0 22px;padding:18px 0 0;border-top:1px solid #e5edeb;font-size:14px;line-height:1.9;color:#465a5b}.enhanced-card .public-links{gap:9px}.enhanced-card .public-links a{min-height:58px;border-radius:14px;border-color:#d9e5e2;background:#fff;box-shadow:0 2px 0 #0f2a2708;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.enhanced-card .public-links a:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 22px #183c3814}.enhanced-card .social-icon{width:29px;height:29px;flex-basis:29px;border-radius:9px}.enhanced-card .contact{width:100%;margin-top:16px;padding:15px 22px;border-radius:15px;font-size:15px;letter-spacing:.02em;box-shadow:0 10px 20px #112d2a2a;transition:transform .18s ease,box-shadow .18s ease}.enhanced-card .contact:hover{transform:translateY(-2px);box-shadow:0 14px 26px #112d2a32}.enhanced-card .business-card-image{margin-top:28px;padding:20px;background:#f7faf9;border:1px solid #e2ece9;border-radius:16px}.enhanced-card .business-card-image h2{font-size:12px;letter-spacing:.08em;color:#617073}.enhanced-card .business-card-image img{box-shadow:0 8px 18px #183c381c}.enhanced-card .qr-share{margin-top:25px;padding:18px 4px 0}.enhanced-card .qr-share summary{list-style:none;display:flex;justify-content:center;gap:7px}.enhanced-card .qr-share summary::-webkit-details-marker{display:none}.enhanced-card .qr-share summary:before{content:"＋";font-size:14px}.enhanced-card .qr-share[open] summary:before{content:"−"}.enhanced-card .qr-share[open] .qr{animation:card-in .25s ease both}@keyframes card-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.enhanced-card,.enhanced-card .qr-share[open] .qr{animation:none}.enhanced-card .public-links a,.enhanced-card .contact{transition:none}}@media(max-width:520px){.public-wrap{padding:22px 14px}.enhanced-card{padding:0 20px 24px;border-radius:24px}.enhanced-card .public-banner{height:166px;margin:0 -20px}.enhanced-card .public-avatar{width:84px;height:84px}.enhanced-card .bio{font-size:13px}.enhanced-card .public-links a{min-height:55px}}
/* Contact, card ordering, and compact mobile header */
.contact-page,.card-request{max-width:760px}.contact-page textarea,.card-request textarea{resize:vertical}.card-request .button{margin-top:10px}.card-request-cta{margin-left:auto;white-space:nowrap}.success{margin:16px 0;padding:14px 16px;border:1px solid #9bd8c8;border-radius:12px;background:#effcf7;color:#135b4b;font-weight:700}
.reissue-card{margin-top:8px}.reissue-card button{border:1px solid #d99b32;background:#fff7e8;color:#804600;border-radius:8px;padding:6px 9px;font-weight:700;cursor:pointer}
.share-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.share-actions button{min-height:40px;border:1px solid var(--accent,#4da8a9);border-radius:9px;background:transparent;color:inherit;font-weight:700;cursor:pointer;font-size:12px}@media(max-width:420px){.share-actions{grid-template-columns:1fr}.share-actions button{font-size:14px}}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}.kpi-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.kpi-card span,.kpi-card small{display:block;color:var(--muted);font-size:12px;line-height:1.6}.kpi-card span{font-weight:800}.kpi-card strong{display:block;margin:12px 0 7px;font-size:clamp(30px,4vw,46px);line-height:1;letter-spacing:-.04em;overflow-wrap:anywhere}@media(max-width:820px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.kpi-grid{grid-template-columns:1fr}.kpi-card{padding:20px}}
.legal-page{max-width:820px;line-height:1.8}.legal-page h1{margin-bottom:4px}.legal-page h2{font-size:19px;margin:34px 0 10px}.legal-page p,.legal-page li{color:#31494e}.legal-page ul{padding-left:1.4em}.site-footer{display:flex;justify-content:center;gap:18px;padding:28px 16px 38px;color:#6b8184;font-size:13px}.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:720px){.site-footer{padding-bottom:28px}}
@media(max-width:720px){.top{height:64px;padding:0 14px}.top .logo{width:112px;height:30px}.top nav{gap:6px}.top nav a:not(.pill){display:inline-flex!important;align-items:center;padding:9px 6px;font-size:11px;white-space:nowrap}.top nav .pill{padding:9px 9px!important;font-size:11px;white-space:nowrap}.card-request-cta{display:inline-flex;margin:14px 0 0}.admin-title{align-items:flex-start;flex-direction:column}}
.bio-clamp-text{display:block;overflow-wrap:anywhere}.bio-clamp-text.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.public-card .bio.has-bio-toggle{margin-bottom:8px}.bio-toggle{display:block;margin:0 0 22px;padding:0;border:0;background:transparent;color:#388887;font-family:inherit;font-size:12px;font-weight:700;line-height:1.6;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.bio-toggle[hidden]{display:none}.bio-toggle:focus-visible{outline:2px solid var(--accent,#388887);outline-offset:4px;border-radius:3px}.enhanced-card.theme-dark .bio-toggle{color:var(--accent,#91e9e5)}

/* Public landing-page conversion flow */
.marketing{overflow:hidden}.marketing-hero h1{white-space:normal}.hero-visual{position:relative;min-height:330px}.hero-visual .phone{position:absolute;right:8%;top:24px;width:180px;height:290px;padding:13px;border:9px solid #123a3d;border-radius:28px;background:#fff;box-shadow:0 20px 44px rgba(18,58,61,.2);transform:rotate(7deg)}.hero-visual .screen{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:12px;border-radius:16px;background:#e6f4f2;color:#123a3d}.hero-visual .screen b{font-size:20px;letter-spacing:.08em}.hero-visual .screen span{font-size:14px;font-weight:800}.hero-visual .screen i{width:46px;height:46px;border-radius:50%;background:#f7c857}.hero-visual .screen small{text-transform:uppercase;letter-spacing:.1em}.hero-visual .nfc-card{position:absolute;left:3%;bottom:22px;display:flex;width:210px;height:130px;padding:18px;justify-content:space-between;flex-direction:column;border-radius:16px;background:#123a3d;color:#fff;box-shadow:0 18px 36px rgba(18,58,61,.25);transform:rotate(-8deg)}.hero-visual .nfc-card span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c7e5e2}.hero-visual .nfc-card i{position:absolute;right:20px;bottom:16px;font-style:normal;font-size:24px;color:#f7c857}.marketing-section{max-width:1170px;margin:0 auto;padding:96px 24px}.section-intro{max-width:760px;margin-bottom:38px}.section-intro h2,.toyama-message h2,.final-cta h2{margin:8px 0 14px;font-size:clamp(29px,4vw,50px);line-height:1.25;letter-spacing:-.035em}.section-intro>p:not(.eyebrow){color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}.problem-grid,.solution-grid,.design-grid{display:grid;gap:16px}.problem-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.problem-grid article,.solution-grid article,.design-grid article{padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff}.problem-grid span,.solution-grid b{display:block;margin-bottom:20px;color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.12em}.problem-grid h3,.solution-grid h3,.design-grid h3{margin:0 0 10px;font-size:18px}.problem-grid p,.solution-grid p,.design-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}.solution-section{max-width:none;background:#f0f8f7}.solution-section>.section-intro,.solution-section>.solution-grid,.solution-section>.section-action{max-width:1122px;margin-left:auto;margin-right:auto}.solution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.solution-grid article{background:rgba(255,255,255,.82)}.section-action{margin-top:32px}.feature-section{padding-top:104px;padding-bottom:104px}.design-section{border-top:1px solid var(--line)}.design-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-grid article:last-child{background:#123a3d;color:#fff;border-color:#123a3d}.design-grid article:last-child p{color:#d7ebeb}.design-emphasis{margin:34px 0 0;font-size:clamp(20px,2.4vw,30px);font-weight:750;letter-spacing:-.03em}.pricing .section-intro{margin-bottom:42px}.pricing-card-cta{display:inline-flex;margin-top:20px}.pricing-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:28px 30px;border:1px solid var(--line);border-radius:16px;background:#fff}.pricing-cta h3{margin:0 0 6px;font-size:18px}.pricing-cta p{margin:0;color:var(--muted);font-size:14px}.toyama-message{max-width:none;padding-left:max(24px,calc((100% - 980px)/2));padding-right:max(24px,calc((100% - 980px)/2));background:#123a3d;color:#fff}.toyama-message .eyebrow{color:#8bd3cf}.toyama-message>p:not(.eyebrow){max-width:760px;color:#d7ebeb;line-height:1.95}.final-cta{padding:100px 24px 110px;background:#f7c857;text-align:center}.final-cta h2{margin-left:auto;margin-right:auto}.final-cta>p:not(.eyebrow){margin:0 0 30px;color:#31494e}.final-cta .button{background:#123a3d}.marketing a:focus-visible{outline:3px solid #123a3d;outline-offset:4px}
@media(max-width:820px){.problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-section{padding-top:72px;padding-bottom:72px}.pricing-cta{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.marketing-hero h1{font-size:clamp(32px,10vw,44px)}.problem-grid,.solution-grid,.design-grid{grid-template-columns:1fr}.marketing-section{padding-left:18px;padding-right:18px}.problem-grid article,.solution-grid article,.design-grid article{padding:22px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.final-cta{padding:76px 18px}.pricing-cta{padding:24px}.price-grid article{padding:24px}}
.final-cta small{display:block;margin-top:16px;color:#31494e}

/* Landing-page finishing adjustments: legibility, price hierarchy, and mobile wrapping */
.hero-mobile-break{display:none}.marketing-hero h1{line-height:1.08}.marketing-hero h1>span{display:inline-block}.marketing-hero h1 em{display:inline-block;margin-top:.14em}.marketing .problem-grid p,.marketing .solution-grid p,.marketing .design-grid p{color:#415b5c;font-size:15.5px;line-height:1.85}.marketing .feature-section .grid3 p{color:#415b5c;font-size:15.5px;line-height:1.85}.marketing .price-grid article{display:flex;min-width:0;flex-direction:column}.marketing .price-grid article>h3{margin:0 0 18px;font-size:20px;line-height:1.45}.marketing .price-grid article>.price{min-height:0;margin:0 0 12px;color:#123a3d;font-size:clamp(34px,3vw,44px);font-weight:850;line-height:1.08;letter-spacing:-.045em}.marketing .price-grid article>.price span{display:block;margin-top:5px;color:#526b6c;font-size:13px;font-weight:700;letter-spacing:0}.marketing .price-grid article>p:not(.price){min-height:0;margin:0;color:#415b5c;font-size:15px;line-height:1.85}.marketing .price-grid .pricing-card-cta{margin-top:auto;padding-top:22px}.marketing .price-grid .featured{border-color:var(--line);background:#fff}.toyama-message>p:not(.eyebrow){margin:0 0 22px;font-size:16px;line-height:2}.toyama-message .toyama-final-message{margin-top:38px;margin-bottom:0;color:#fff;font-size:clamp(19px,2.3vw,27px);font-weight:800;line-height:1.55;letter-spacing:-.025em}.marketing .button{min-height:46px}.marketing .pricing-card-cta{align-items:center;justify-content:center}
@media(max-width:600px){.hero-mobile-break{display:inline}.marketing-hero h1{font-size:clamp(32px,9.4vw,38px);line-height:1.12;letter-spacing:-.055em}.marketing-hero h1 em{margin-top:.16em}.marketing .problem-grid p,.marketing .solution-grid p,.marketing .design-grid p,.marketing .feature-section .grid3 p,.marketing .price-grid article>p:not(.price){font-size:15px;line-height:1.85}.toyama-message>p:not(.eyebrow){margin-bottom:24px;font-size:15.5px;line-height:2}.toyama-message .toyama-final-message{margin-top:34px;font-size:20px;line-height:1.65}.marketing .price-grid article>.price{font-size:38px}.marketing .price-grid article>h3{margin-bottom:16px}}

/* Japanese mobile wrapping: headings use deliberate meaning groups; body text wraps naturally. */
.marketing h1,.marketing h2{text-wrap:balance}.marketing .section-intro h2>span,.marketing .toyama-message h2>span,.marketing .final-cta h2>span,.marketing-hero h1 em>span{display:inline}.marketing .problem-grid p,.marketing .solution-grid p,.marketing .feature-section .grid3 p,.marketing .design-grid p,.marketing .price-grid article>p:not(.price),.toyama-message>p:not(.eyebrow),.final-cta>p:not(.eyebrow){overflow-wrap:break-word;word-break:normal;line-break:strict;text-wrap:pretty}.marketing .price-grid article>p:not(.price){margin-bottom:22px}.marketing .price-grid .pricing-card-cta{margin-top:auto;padding-top:0}
@media(max-width:600px){.marketing .section-intro h2>span,.marketing .toyama-message h2>span,.marketing .final-cta h2>span,.marketing-hero h1 em>span{display:block}.marketing .section-intro h2,.marketing .toyama-message h2,.marketing .final-cta h2{line-height:1.32}.marketing .problem-grid article,.marketing .solution-grid article,.marketing .design-grid article{padding:20px 18px}.marketing .problem-grid p,.marketing .solution-grid p,.marketing .feature-section .grid3 p,.marketing .design-grid p,.marketing .price-grid article>p:not(.price){line-height:1.75}.marketing .price-grid article>p:not(.price){margin-bottom:22px}.marketing .price-grid .pricing-card-cta{margin-top:auto}.marketing .feature-section .grid3{gap:16px}.marketing .feature-section .grid3 article{padding-left:18px;padding-right:18px}}

/* Profile publishing: explicit status, one primary action, separate confirmation. */
.profile-editor .publish-status{margin-top:24px}.publish-status h2{margin:0 0 12px}.publish-status .status{display:inline-block;margin:0 0 8px}.publish-status .note{margin:0;line-height:1.7}.profile-editor .save-zone{padding:24px 0 12px}.profile-editor .save-zone .button{max-width:100%;min-height:48px}.profile-editor .button:disabled{opacity:.65;cursor:wait}.unpublish-zone{text-align:center;padding:12px 0 40px}.unpublish-action{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:4px}.publish-dialog{width:min(440px,calc(100% - 32px));box-sizing:border-box;padding:28px;border:1px solid var(--line);border-radius:16px;color:var(--text,#102022);background:#fff;box-shadow:0 18px 50px #0003}.publish-dialog::backdrop{background:#1020228f}.publish-dialog h2{margin:0 0 14px;font-size:20px;line-height:1.5}.publish-dialog p{line-height:1.8;color:var(--muted)}.publish-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:24px}.publish-dialog-actions button,.publish-dialog-actions a{min-height:44px;padding:12px 18px;font:inherit;border-radius:10px}.publish-dialog-actions button:not(.button){border:1px solid var(--line);background:#fff;color:inherit;cursor:pointer}.profile-editor input,.profile-editor textarea,.profile-editor select{min-width:0;max-width:100%}.profile-editor textarea{min-height:140px;line-height:1.7}.profile-editor a:focus-visible,.profile-editor button:focus-visible,.publish-dialog button:focus-visible{outline:3px solid #247c7b;outline-offset:4px}.profile-editor [role=alert]{scroll-margin-top:24px}@media(max-width:720px){.profile-editor .save-zone .button{width:100%;min-width:0}.profile-editor .form-grid .row{grid-template-columns:minmax(0,1fr)}.profile-editor .form-grid,.profile-editor .profile-preview-wrap{min-width:0}.publish-dialog{padding:22px}.publish-dialog-actions{gap:10px}.publish-dialog-actions button{flex:1}}

/* Final mobile density pass. The approved hero is intentionally not targeted here. */
@media(max-width:600px){.marketing .solution-section .section-intro h2{font-size:22px;letter-spacing:-.055em;line-height:1.36}.marketing .design-section .section-intro h2{font-size:24px;letter-spacing:-.05em}.marketing .feature-section .section-intro h2,.marketing .toyama-message h2{font-size:25px;letter-spacing:-.045em}.marketing .final-cta h2{font-size:23px;letter-spacing:-.055em;line-height:1.42}.marketing .solution-grid h3>span{display:block}.marketing .problem-grid article,.marketing .solution-grid article,.marketing .design-grid article,.marketing .feature-section .grid3 article{padding-left:16px;padding-right:16px}.marketing .problem-grid p,.marketing .solution-grid p,.marketing .feature-section .grid3 p,.marketing .design-grid p,.marketing .price-grid article>p:not(.price){font-size:14.75px;line-height:1.7}.marketing .price-grid article>p:not(.price){margin-bottom:26px}.marketing .price-grid .pricing-card-cta{margin-top:auto}.site-footer{align-items:flex-start;flex-direction:column;gap:12px;padding:32px 20px;color:#526b6c;font-size:14px;line-height:1.55;text-align:left}.site-footer>span:first-child{margin-bottom:2px;font-weight:700}.site-footer a{display:block;min-height:32px;padding:5px 0;white-space:nowrap}.site-footer>span:last-of-type{margin-top:10px;color:#6b8184;font-size:13px}}
