:root{--pf-ink:#18221c;--pf-muted:#657169;--pf-line:#e5ebe7;--pf-bg:#f7faf8;--pf-red:#d23f31;--pf-red-dark:#b8342a}.pf-site{min-height:100vh;background:#fff;color:var(--pf-ink);font-family:'Noto Sans JP',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.pf-site *{box-sizing:border-box}.pf-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}.pf-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,235,231,.92)}.pf-header-inner{width:min(1220px,calc(100% - 40px));height:76px;margin:0 auto;display:flex;align-items:center;gap:28px}.pf-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--pf-ink);min-width:220px}.pf-brand img{width:38px;height:38px;object-fit:contain}.pf-brand span{display:flex;flex-direction:column;line-height:1.15}.pf-brand strong{font-size:18px;letter-spacing:-.03em}.pf-brand small{margin-top:3px;color:#7b857f;font-size:9px;font-weight:700}.pf-nav{display:flex;align-items:center;justify-content:center;gap:26px;margin-left:auto}.pf-nav a{color:#4d5952;text-decoration:none;font-size:13px;font-weight:800}.pf-nav a:hover{color:var(--pf-red)}.pf-header-actions{display:flex;align-items:center;gap:8px}.pf-link-button,.pf-primary-button,.pf-secondary-button,.pf-service-primary,.pf-service-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:900;transition:.18s}.pf-link-button{min-height:40px;padding:0 12px;color:#48544d;font-size:12px}.pf-primary-button{min-height:52px;padding:0 21px;border-radius:14px;background:var(--pf-red);color:#fff;box-shadow:0 10px 26px rgba(239,102,90,.18);font-size:14px}.pf-primary-button:hover,.pf-service-primary:hover{transform:translateY(-1px);background:var(--pf-red-dark)}.pf-primary-button.small{min-height:42px;padding:0 16px;border-radius:12px;font-size:12px}.pf-primary-button.light{background:#fff;color:var(--pf-red);box-shadow:none}.pf-secondary-button{min-height:52px;padding:0 20px;border:1px solid #dce4df;border-radius:14px;background:#fff;color:#354139;font-size:14px}.pf-secondary-button:hover{border-color:#c9d3cd;background:#fafcfb}.pf-menu-button{display:none;margin-left:auto;border:0;background:#fff;color:#26322b}.pf-mobile-menu{position:fixed;inset:0;z-index:70;background:#fff;padding:18px 20px;display:flex;flex-direction:column;gap:4px}.pf-mobile-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--pf-line)}.pf-mobile-top button{border:0;background:#fff}.pf-mobile-menu>a:not(.pf-primary-button){padding:14px 4px;border-bottom:1px solid #f0f3f1;color:#344039;text-decoration:none;font-size:15px;font-weight:800}.pf-mobile-menu .pf-primary-button{margin-top:16px}.pf-hero{padding:68px 0 72px;background:radial-gradient(circle at 72% 16%,rgba(239,102,90,.08),transparent 30%),linear-gradient(180deg,#fff 0%,#fffaf8 100%)}.pf-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);gap:60px;align-items:center}.pf-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:18px;padding:8px 12px;border-radius:999px;background:#fff3ef;color:#df5f53;font-size:11px;font-weight:900;letter-spacing:.05em}.pf-hero h1{margin:0;font-size:clamp(54px,6vw,82px);line-height:1.08;letter-spacing:-.06em}.pf-hero h1 em{font-style:normal;color:var(--pf-red)}.pf-hero-copy>p{max-width:610px;margin:24px 0 0;color:#56625b;font-size:17px;line-height:1.95}.pf-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.pf-trust-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}.pf-trust-row span{display:flex;align-items:center;gap:5px;color:#66726b;font-size:11px;font-weight:800}.pf-trust-row svg{color:#55a462}.pf-hero-visual{border-radius:30px;overflow:hidden;box-shadow:0 28px 70px rgba(52,67,59,.12);background:#f2f6f3;min-height:520px}.pf-hero-visual img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}.pf-section{padding:92px 0}.pf-section-head{max-width:780px}.pf-section-head.centered{margin:0 auto;text-align:center}.pf-section-head>span,.pf-platform-copy>span,.pf-diagnosis-band span{display:block;color:#df5f53;font-size:11px;font-weight:900;letter-spacing:.13em}.pf-section-head h2,.pf-platform-copy h2,.pf-diagnosis-band h2{margin:10px 0 14px;font-size:clamp(34px,4.2vw,50px);line-height:1.3;letter-spacing:-.045em}.pf-section-head p,.pf-platform-copy p,.pf-diagnosis-band p{margin:0;color:#647068;font-size:15px;line-height:1.9}.pf-problem-section{background:#f7faf8}.pf-pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:36px}.pf-pain-grid>a{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:14px;min-height:96px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--pf-service) 15%,#dfe5e1);border-radius:18px;background:linear-gradient(180deg,#fff 0%,var(--pf-soft) 100%);color:#29362e;text-decoration:none;transition:.18s}.pf-pain-grid>a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(40,57,48,.07);border-color:color-mix(in srgb,var(--pf-service) 40%,#dfe5e1)}.pf-pain-grid img{width:42px;height:42px;object-fit:contain}.pf-pain-grid div{display:flex;flex-direction:column;gap:4px}.pf-pain-grid small{color:#6d7972;font-size:11px;font-weight:800}.pf-pain-grid strong{font-size:17px}.pf-pain-grid svg{color:var(--pf-service)}.pf-platform-section{background:#14211b;color:#fff}.pf-platform-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.pf-platform-copy>span{color:#ff8a7f}.pf-platform-copy p{color:#bdc8c1}.pf-platform-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.pf-platform-points span{display:flex;align-items:center;gap:6px;padding:9px 11px;border-radius:999px;background:rgba(255,255,255,.08);color:#e8efeb;font-size:11px;font-weight:800}.pf-platform-points svg{color:#82c992}.pf-platform-map{position:relative;min-height:420px}.pf-poppy-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:36px;background:#fff;color:#1d2a22;box-shadow:0 24px 60px rgba(0,0,0,.24);z-index:3}.pf-poppy-center img{width:48px;height:48px;object-fit:contain}.pf-poppy-center strong{margin-top:6px;font-size:18px}.pf-poppy-center small{margin-top:2px;color:#858f89;font-size:8px;letter-spacing:.12em;font-weight:900}.pf-node{position:absolute;display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:16px;background:#fff;color:#2b372f;box-shadow:0 12px 28px rgba(0,0,0,.18)}.pf-node::after{content:'';position:absolute;height:1px;width:115px;background:linear-gradient(90deg,var(--pf-service),rgba(255,255,255,.18));opacity:.75}.pf-node img{width:30px;height:30px;object-fit:contain}.pf-node strong{font-size:13px}.pf-node.office{left:3%;top:12%}.pf-node.office::after{left:100%;top:50%;transform:rotate(28deg);transform-origin:left}.pf-node.market{right:0;top:15%}.pf-node.market::after{right:100%;top:50%;transform:rotate(-30deg);transform-origin:right}.pf-node.color{left:4%;bottom:10%}.pf-node.color::after{left:100%;top:50%;transform:rotate(-30deg);transform-origin:left}.pf-node.finance{right:1%;bottom:8%}.pf-node.finance::after{right:100%;top:50%;transform:rotate(28deg);transform-origin:right}.pf-diagnosis-cta{padding:66px 0;background:#ef665a;color:#fff}.pf-diagnosis-band{display:flex;align-items:center;justify-content:space-between;gap:40px}.pf-diagnosis-band>div{max-width:780px}.pf-diagnosis-band span{color:#ffd8d3}.pf-diagnosis-band h2{font-size:clamp(32px,4vw,48px)}.pf-diagnosis-band p{color:#ffe9e5}.pf-service-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:42px}.pf-service-summary{display:flex;flex-direction:column;min-height:430px;padding:30px;border:1px solid color-mix(in srgb,var(--pf-service) 17%,#e0e5e2);border-radius:24px;background:linear-gradient(180deg,#fff 0%,var(--pf-soft) 100%)}.pf-service-logo{display:block;width:auto;height:52px;max-width:210px;object-fit:contain;object-position:left center}.pf-service-logo.compact{height:38px;max-width:160px}.pf-service-category{margin:22px 0 8px!important;color:var(--pf-service)!important;font-size:11px!important;font-weight:900;letter-spacing:.06em}.pf-service-summary h3{margin:0;font-size:25px;line-height:1.45;letter-spacing:-.035em}.pf-service-summary>p:not(.pf-service-category){margin:14px 0 0;color:#5a665f;font-size:13px;line-height:1.85}.pf-service-problems{display:grid;gap:7px;margin-top:20px}.pf-service-problems span{display:flex;align-items:flex-start;gap:7px;color:#536057;font-size:12px}.pf-service-problems svg{flex:0 0 auto;margin-top:2px;color:var(--pf-service)}.pf-service-detail-link{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:22px;color:var(--pf-service);text-decoration:none;font-size:13px;font-weight:900}.pf-start-section{background:#f7faf8}.pf-start-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.pf-start-steps article{min-height:210px;padding:28px;border:1px solid #e2e8e4;border-radius:20px;background:#fff}.pf-start-steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff0eb;color:var(--pf-red);font-size:14px}.pf-start-steps h3{margin:20px 0 8px;font-size:20px}.pf-start-steps p{margin:0;color:#65716a;font-size:13px;line-height:1.8}.pf-start-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:30px}.pf-start-cta small{color:#7e8983;font-size:10px}.pf-pricing-section{background:#fff}.pf-price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.pf-price-grid article{display:flex;flex-direction:column;min-height:190px;padding:22px;border:1px solid #e3e8e5;border-top:4px solid var(--pf-service);border-radius:18px;background:#fff}.pf-price-grid img{height:38px;max-width:145px;object-fit:contain;object-position:left center}.pf-price-grid strong{margin-top:26px;font-size:16px;line-height:1.5}.pf-price-grid a{display:flex;align-items:center;gap:5px;margin-top:auto;color:var(--pf-service);text-decoration:none;font-size:11px;font-weight:900}.pf-final-cta{padding:78px 0;background:#fff7f4;text-align:center}.pf-final-cta img{width:54px;height:54px;object-fit:contain}.pf-final-cta h2{margin:14px 0 8px;font-size:44px;letter-spacing:-.045em}.pf-final-cta p{margin:0;color:#68736d;font-size:14px}.pf-final-cta>div>div{display:flex;justify-content:center;gap:10px;margin-top:24px}.pf-footer{padding:54px 0 28px;border-top:1px solid #e5ebe7;background:#fff}.pf-footer-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.42fr);gap:54px;align-items:start}.pf-footer-brand-block{display:grid;gap:18px}.pf-footer-brand-block .pf-brand{min-width:0}.pf-footer-brand-block p{max-width:300px;margin:0;color:#6b776f;font-size:11px;line-height:1.85}.pf-footer-groups{display:grid;grid-template-columns:1.05fr .9fr .9fr;gap:34px}.pf-footer-groups nav{display:grid;align-content:start;gap:10px}.pf-footer-groups nav>strong{margin-bottom:4px;color:#26322b;font-size:11px;font-weight:900}.pf-footer-groups a,.pf-footer-bottom a{color:#6a756e;text-decoration:none;font-size:10px;font-weight:700}.pf-footer-groups a:hover,.pf-footer-bottom a:hover{color:var(--pf-red)}.pf-footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid #edf1ee}.pf-footer-bottom>div{display:flex;flex-wrap:wrap;gap:14px}.pf-footer-bottom small{color:#929a95;font-size:9px}.pf-service-page{--pf-service:#ef665a;--pf-soft:#fff7f4}.pf-service-hero{padding:42px 0 72px;background:linear-gradient(180deg,#fff 0%,var(--pf-soft) 100%)}.pf-back-link{display:inline-flex;align-items:center;gap:6px;color:#69756e;text-decoration:none;font-size:12px;font-weight:800}.pf-service-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:54px;align-items:center;margin-top:34px}.pf-service-page .pf-service-category{margin-top:20px!important}.pf-service-hero h1{margin:0;font-size:clamp(42px,5.2vw,66px);line-height:1.2;letter-spacing:-.05em}.pf-service-lead{max-width:670px;margin:20px 0 0;color:#526057;font-size:16px;line-height:1.95}.pf-service-hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.pf-service-primary{min-height:50px;padding:0 20px;border-radius:13px;background:var(--pf-service);color:#fff;font-size:13px;box-shadow:0 10px 24px color-mix(in srgb,var(--pf-service) 22%,transparent)}.pf-service-primary:hover{background:var(--pf-service)}.pf-service-secondary{min-height:50px;padding:0 18px;border:1px solid color-mix(in srgb,var(--pf-service) 28%,#dfe5e1);border-radius:13px;background:#fff;color:var(--pf-service);font-size:13px}.pf-service-trial-note{display:block;margin-top:12px;color:#738078;font-size:10px}.pf-service-mock{padding:18px;border:1px solid color-mix(in srgb,var(--pf-service) 22%,#dce3df);border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(50,66,57,.10)}.pf-mock-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 15px}.pf-mock-toolbar>div{display:flex;align-items:center;gap:8px}.pf-mock-toolbar img{width:30px;height:30px;object-fit:contain}.pf-mock-toolbar strong{font-size:13px}.pf-mock-toolbar>span{padding:6px 8px;border-radius:999px;background:var(--pf-soft);color:var(--pf-service);font-size:8px;font-weight:900}.pf-mock-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pf-mock-grid article{position:relative;min-height:120px;padding:16px;border:1px solid #e6ebe8;border-radius:16px;background:linear-gradient(180deg,#fff,var(--pf-soft));overflow:hidden}.pf-mock-grid small{display:block;color:#748079;font-size:9px}.pf-mock-grid strong{display:block;margin-top:10px;font-size:18px}.pf-mock-grid i{position:absolute;left:16px;right:16px;bottom:14px;height:6px;border-radius:999px;background:#edf1ee;overflow:hidden}.pf-mock-grid i::after{content:'';display:block;width:64%;height:100%;border-radius:inherit;background:var(--pf-service)}.pf-service-problem-section{background:#fff}.pf-service-problem-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.pf-service-problem-list article{display:flex;align-items:flex-start;gap:10px;min-height:120px;padding:22px;border:1px solid color-mix(in srgb,var(--pf-service) 20%,#e1e6e3);border-radius:18px;background:var(--pf-soft)}.pf-service-problem-list svg{flex:0 0 auto;color:var(--pf-service);margin-top:2px}.pf-service-problem-list strong{font-size:15px;line-height:1.7}.pf-service-feature-section{background:#f7faf8}.pf-service-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}.pf-service-feature-grid article{min-height:270px;padding:28px;border:1px solid #e3e8e5;border-radius:20px;background:#fff}.pf-service-feature-grid b{color:var(--pf-service);font-size:11px;letter-spacing:.12em}.pf-service-feature-grid h3{margin:18px 0 10px;font-size:22px}.pf-service-feature-grid p{margin:0;color:#637068;font-size:13px;line-height:1.85}.pf-screen-section{background:#fff}.pf-screen-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}.pf-screen-grid>div:first-child>span{display:block;color:var(--pf-service);font-size:11px;font-weight:900;letter-spacing:.1em}.pf-screen-grid h2{margin:10px 0 14px;font-size:clamp(34px,4vw,48px);line-height:1.35;letter-spacing:-.045em}.pf-screen-grid p{margin:0 0 22px;color:#647068;font-size:14px;line-height:1.9}.pf-service-price-section{background:var(--pf-soft)}.pf-service-price-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 38px;border:1px solid color-mix(in srgb,var(--pf-service) 20%,#dfe5e1);border-radius:24px;background:#fff}.pf-service-price-card>div{display:grid;grid-template-columns:auto auto;column-gap:20px;row-gap:6px;align-items:center}.pf-service-price-card .pf-service-logo{grid-row:1/4}.pf-service-price-card span{color:#7a8580;font-size:10px;font-weight:900}.pf-service-price-card strong{font-size:25px}.pf-service-price-card p{margin:0;color:#68746d;font-size:11px}.pf-related-services{background:#fff}.pf-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.pf-related-grid a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;min-height:120px;padding:20px;border:1px solid color-mix(in srgb,var(--pf-service) 18%,#e1e6e3);border-radius:18px;background:linear-gradient(180deg,#fff,var(--pf-soft));text-decoration:none;color:#344139}.pf-related-grid img{grid-column:1/2;width:auto;height:34px;max-width:140px;object-fit:contain;object-position:left center}.pf-related-grid span{font-size:10px;color:#6e7a73}.pf-related-grid svg{grid-row:1/3;grid-column:2;color:var(--pf-service)}.pf-diagnosis-page{background:#f7faf8}.pf-diagnosis-page-head{padding:42px 0 26px;background:#fff}.pf-diagnosis-page-head p{margin:30px 0 8px;color:#df5f53;font-size:11px;font-weight:900;letter-spacing:.12em}.pf-diagnosis-page-head h1{margin:0;font-size:clamp(42px,5vw,62px);line-height:1.18;letter-spacing:-.05em}.pf-diagnosis-page-head span{display:block;margin-top:12px;color:#66726b;font-size:14px}.pf-diagnosis-page .dx-section{border-top:0}.pf-diagnosis-page .dx-shell{padding-top:20px}@media(max-width:1000px){.pf-nav{display:none}.pf-header-actions{margin-left:auto}.pf-hero-grid,.pf-service-hero-grid{grid-template-columns:1fr}.pf-hero-visual{min-height:390px}.pf-hero-visual img{min-height:390px}.pf-platform-grid{grid-template-columns:1fr}.pf-platform-map{max-width:650px;width:100%;margin:0 auto}.pf-price-grid{grid-template-columns:1fr 1fr}.pf-screen-grid{grid-template-columns:1fr}.pf-service-problem-list,.pf-service-feature-grid{grid-template-columns:1fr}.pf-related-grid{grid-template-columns:1fr 1fr}.pf-service-price-card{align-items:flex-start;flex-direction:column}.pf-service-price-card .pf-service-primary{width:100%}}@media(max-width:760px){.pf-shell,.pf-footer-inner{width:min(100% - 26px,1180px)}.pf-footer{padding:42px 0 24px}.pf-footer-inner{grid-template-columns:1fr;gap:30px;text-align:left}.pf-footer-inner .pf-brand{justify-content:flex-start}.pf-footer-groups{grid-template-columns:1fr 1fr;gap:26px 18px}.pf-footer-groups nav:first-child{grid-column:1/-1}.pf-footer-bottom{align-items:flex-start;flex-direction:column-reverse;gap:14px;padding-top:20px}.pf-footer-bottom>div{gap:10px 14px}.pf-shell,.pf-footer-inner{width:min(100% - 26px,1180px)}.pf-header-inner{width:calc(100% - 24px);height:66px}.pf-brand{min-width:0}.pf-brand img{width:34px;height:34px}.pf-brand strong{font-size:16px}.pf-brand small{display:none}.pf-header-actions{display:none}.pf-menu-button{display:block}.pf-hero{padding:42px 0 48px}.pf-hero-grid{gap:32px}.pf-hero h1{font-size:50px}.pf-hero-copy>p{font-size:15px}.pf-hero-actions{flex-direction:column}.pf-primary-button,.pf-secondary-button{width:100%}.pf-trust-row{display:grid;gap:8px}.pf-hero-visual{min-height:320px;border-radius:22px}.pf-hero-visual img{min-height:320px}.pf-section{padding:64px 0}.pf-section-head h2,.pf-platform-copy h2,.pf-diagnosis-band h2{font-size:34px}.pf-pain-grid,.pf-service-summary-grid,.pf-price-grid{grid-template-columns:1fr}.pf-platform-map{min-height:360px}.pf-poppy-center{width:118px;height:118px;border-radius:28px}.pf-node{padding:9px 10px}.pf-node img{width:25px;height:25px}.pf-node strong{font-size:11px}.pf-node::after{width:75px}.pf-diagnosis-band{align-items:flex-start;flex-direction:column}.pf-diagnosis-band .pf-primary-button{width:100%}.pf-service-summary{min-height:auto}.pf-start-steps{grid-template-columns:1fr}.pf-start-steps article{min-height:auto}.pf-final-cta h2{font-size:36px}.pf-final-cta>div>div{flex-direction:column}.pf-service-hero{padding-top:28px}.pf-service-hero-grid{gap:32px;margin-top:24px}.pf-service-hero h1{font-size:40px}.pf-service-lead{font-size:14px}.pf-service-hero-actions{flex-direction:column}.pf-service-primary,.pf-service-secondary{width:100%}.pf-service-mock{padding:13px;border-radius:18px}.pf-mock-grid{grid-template-columns:1fr}.pf-mock-grid article{min-height:96px}.pf-related-grid{grid-template-columns:1fr}.pf-service-price-card{padding:24px}.pf-service-price-card>div{display:flex;flex-direction:column;align-items:flex-start}.pf-diagnosis-page-head{padding:28px 0 18px}.pf-diagnosis-page-head p{margin-top:22px}.pf-diagnosis-page-head h1{font-size:40px}}
body.pf-menu-locked{overflow:hidden!important;touch-action:none}
.pf-mobile-menu{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;z-index:9999!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;overscroll-behavior:contain;background:#fff!important;color:#18221c!important;padding:18px 20px calc(28px + env(safe-area-inset-bottom))!important}
.pf-mobile-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:0 0 16px!important;border-bottom:1px solid #e5ebe7!important}
.pf-mobile-top .pf-brand{min-width:0!important;max-width:calc(100% - 58px)!important}
.pf-mobile-close{flex:0 0 44px!important;width:44px!important;height:44px!important;display:grid!important;place-items:center!important;border:1px solid #e2e8e4!important;border-radius:13px!important;background:#fff!important;color:#1d2922!important}
.pf-mobile-nav{display:grid!important;margin-top:14px!important;border-top:1px solid #f1f3f2!important}
.pf-mobile-nav>a{display:flex!important;align-items:center!important;min-height:54px!important;padding:0 4px!important;border-bottom:1px solid #edf1ee!important;color:#26322b!important;font-size:16px!important;font-weight:800!important;text-decoration:none!important}
.pf-mobile-services{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:22px!important}
.pf-mobile-services>span{grid-column:1/-1;color:#89928d;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.pf-mobile-services>a{display:flex!important;align-items:center!important;min-height:46px!important;padding:0 13px!important;border:1px solid #e7ece9!important;border-radius:13px!important;background:#f9fbfa!important;color:#354139!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important}
.pf-mobile-utility{display:grid!important;gap:0!important;margin-top:22px!important;padding-top:18px!important;border-top:1px solid #edf1ee!important}
.pf-mobile-utility>span{margin-bottom:8px!important;color:#89928d!important;font-size:10px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.pf-mobile-utility>a{display:flex!important;align-items:center!important;min-height:44px!important;border-bottom:1px solid #f0f3f1!important;color:#526058!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important}
.pf-mobile-actions{display:grid!important;grid-template-columns:.72fr 1.28fr!important;gap:9px!important;margin-top:26px!important;padding-top:24px!important;padding-bottom:24px!important;border-bottom:1px solid #edf1ee!important}
.pf-mobile-login{display:flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;border:1.5px solid #e7b2aa!important;border-radius:999px!important;background:#fff!important;color:#b8342a!important;font-size:13px!important;font-weight:900!important;text-decoration:none!important;box-shadow:0 6px 18px rgba(239,102,90,.08)!important}
.pf-mobile-actions .pf-primary-button{min-height:50px!important;border-radius:999px!important;white-space:nowrap!important}
.pf-mobile-quick-actions{display:none}

/* Desktop header: make Login a clear secondary CTA instead of a text link. */
.pf-header-actions .pf-link-button{min-height:42px!important;padding:0 16px!important;border:1.5px solid #e7b2aa!important;border-radius:999px!important;background:#fff!important;color:#b8342a!important;font-size:12px!important;font-weight:900!important;box-shadow:0 5px 14px rgba(239,102,90,.08)!important;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease!important}
.pf-header-actions .pf-link-button:hover{background:#fff6f3!important;border-color:#ef8f83!important;transform:translateY(-1px)!important;box-shadow:0 8px 18px rgba(239,102,90,.12)!important}

/* Home page: the blog is intentionally the final content section before the footer. */
.pf-site>main:has(.pf-insights-section){display:flex;flex-direction:column}
.pf-site>main:has(.pf-insights-section)>.pf-insights-section{order:999}

/* Compact header (<=1120px): quick login / start buttons are styled across the range. */
@media(max-width:1120px){
  .pf-mobile-quick-actions a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;border-radius:999px!important;text-decoration:none!important;font-size:12px!important;font-weight:900!important;white-space:nowrap!important}
  .pf-mobile-quick-login{border:1.5px solid #e7b2aa!important;background:#fff!important;color:#b8342a!important;border-radius:999px!important}
  .pf-mobile-quick-start{border:0!important;background:linear-gradient(180deg,#df5677,#bf3658)!important;color:#fff!important;border-radius:999px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 18px -8px rgba(191,54,88,.7)!important}
}

@media(max-width:980px){
  .pf-header{z-index:100!important}
  .pf-header-inner{width:min(100% - 28px,1220px)!important;height:68px!important;gap:12px!important}
  .pf-nav,.pf-header-actions{display:none!important}
  .pf-menu-button{display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;margin-left:auto!important;padding:0!important;border:1px solid #dfe6e2!important;border-radius:13px!important;background:#fff!important;color:#1d2922!important;box-shadow:0 5px 16px rgba(34,52,42,.06)!important}
  .pf-menu-button svg{display:block!important;width:25px!important;height:25px!important;opacity:1!important}
  .pf-brand{min-width:0!important;flex:1!important;max-width:calc(100% - 56px)!important}
  .pf-brand img{flex:0 0 auto!important}
  .pf-brand span{min-width:0!important}
  .pf-brand strong{font-size:17px!important;white-space:nowrap!important}
  .pf-mobile-quick-actions{display:grid!important;grid-template-columns:.78fr 1.22fr!important;gap:8px!important;width:min(100% - 28px,1220px)!important;margin:0 auto!important;padding:0 0 10px!important}
}

@media(max-width:420px){
  .pf-header-inner{width:calc(100% - 22px)!important}
  .pf-brand{gap:8px!important}
  .pf-brand img{width:34px!important;height:34px!important}
  .pf-brand strong{font-size:16px!important}
  .pf-brand small{display:none!important}
  .pf-mobile-quick-actions{width:calc(100% - 22px)!important;gap:7px!important;padding-bottom:9px!important}
  .pf-mobile-quick-actions a{min-height:39px!important;font-size:11px!important}
  .pf-mobile-menu{padding-left:16px!important;padding-right:16px!important}
  .pf-mobile-services{grid-template-columns:1fr!important}
  .pf-mobile-services>span{grid-column:auto!important}
  .pf-mobile-actions{grid-template-columns:.85fr 1.15fr!important}
  .pf-mobile-login,.pf-mobile-actions .pf-primary-button{font-size:12px!important;padding-left:10px!important;padding-right:10px!important}
}

/* No downloaded fonts. Keep this import after the public site's theme sheets. */
:root {
  /* Installed fonts only. Noto Sans JP ships with Windows 11 and has true
     heavy weights, so it is preferred over Meiryo where it exists. */
  --poppy-font-sans: -apple-system, BlinkMacSystemFont, 'Hiragino Sans',
    'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Noto Sans CJK JP', Meiryo,
    'Yu Gothic UI', system-ui, sans-serif;
  --poppy-font-display: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN',
    'Noto Sans JP', 'Noto Sans CJK JP', Meiryo, 'Yu Gothic', 'Yu Gothic UI',
    system-ui, sans-serif;
  font-family: var(--poppy-font-sans);
  /* Some device fonts have no bold face. Do not inherit the old `none`. */
  font-synthesis: weight;
}

body,
.pf-site {
  font-family: var(--poppy-font-sans);
  font-synthesis: weight;
  font-weight: 500;
}

.pf-site :is(button, input, select, textarea) {
  font-family: var(--poppy-font-sans);
}

.pf-site h1,
.pf-site h2 {
  font-family: var(--poppy-font-display);
  font-weight: 900;
}

.pf-site h3 {
  font-family: var(--poppy-font-display);
  font-weight: 800;
}

/* Preserve real, selectable heading text and the existing responsive sizes.
   The tiny stroke adds impact where the installed font maps 900 to 700. */
.pf-site .pf-hero-copy h1 {
  font-weight: 900;
  -webkit-text-stroke: .006em currentColor;
}

.pf-site :is(.pf-primary-button, .pf-secondary-button,
  .pf-mobile-quick-start, .pf-mobile-quick-login, .ps-start-button) {
  font-weight: 800;
}

.pf-site :is(.hp-tagline, .hp-evidence-card strong,
  .hp-reason-chart strong, .hp-occupancy-panel strong) {
  font-family: var(--poppy-font-display);
  font-weight: 900;
}

/* No extra thickening for small labels/body text or high-contrast mode. */
@media (forced-colors: active) {
  .pf-site .pf-hero-copy h1 { -webkit-text-stroke: 0; }
}

/* Finish the existing LP, not a replacement theme. No downloaded fonts, new
   hero, dark surfaces, extra image payloads or duplicate fixed CTA bars. */
.hp-mission-page { font-size: 18px; }
.hp-mission-page :is(.hp-about-copy p, .pf-section-head p, .hp-feature-copy>p,
  .hp-founder-story p, .hp-evidence-close p, .hp-child-first-quote p,
  .pf-ai-copy>p, .pf-ai-capability-grid p, .hp-flow-grid p,
  .hp-trust-copy>p, .hp-trust-card p, .hp-policy-teaser-copy>p,
  .hp-policy-facts p, .hp-faq-head p, .hp-faq-answer,
  .pf-start-steps p, .pf-insight-card p, .pf-final-cta p,
  .ps-intro p, .ps-service-copy strong) {
  font-size: 18px; line-height: 1.85;
}
.hp-mission-page :is(.hp-feature-bullets>span, .hp-evidence-card p,
  .hp-reason-chart-copy p, .ps-helper, .ps-service-copy small,
  .ps-result-note, .hp-trust-note, .hp-faq-cta span) {
  font-size: 16px; line-height: 1.8;
}
.hp-mission-page :is(.pf-section-head h2, .hp-feature-copy h2,
  .hp-founder-story h2, .hp-trust-copy h2, .hp-policy-teaser-copy h2,
  .hp-faq-head h2, .pf-ai-copy h2) {
  font-size: clamp(32px, 3.8vw, 54px); line-height: 1.4;
  font-weight: 900; letter-spacing: -.035em;
}
.hp-mission-page :is(.pf-section-head>span, .hp-feature-index,
  .hp-founder-story-grid>div>span, .pf-ai-copy>span,
  .hp-trust-copy>span, .hp-policy-teaser-copy>span) {
  font-size: 14px; line-height: 1.7; font-weight: 800;
}
.hp-mission-page :is(.hp-flow-grid h3, .pf-ai-capability-grid h3,
  .hp-trust-card h3, .pf-start-steps h3) {
  font-size: clamp(22px, 2.1vw, 28px); line-height: 1.5;
}
.pf-site main :is(.pf-primary-button, .pf-secondary-button, .ps-start-button) {
  min-height: 58px; padding: 14px 22px; font-size: 18px;
  font-weight: 800; line-height: 1.5; text-align: center;
  white-space: normal; max-width: 100%;
}
.pf-site main .pf-primary-button:not(.light), .pf-site .ps-start-button {
  box-shadow: 0 10px 26px rgba(239,102,90,.24);
}
.pf-site :is(a, button, summary):focus-visible,
.poppy-static-blog :is(a, button, summary):focus-visible {
  outline: 3px solid #b84338; outline-offset: 4px;
}
.hp-hero-diagnosis { display: inline-block; margin-top: 18px; font-size: 15px;
  font-weight: 700; color: #59665e; text-decoration: underline; text-underline-offset: 4px; }
.hp-inline-link { display: inline-flex; align-items: center; gap: 8px;
  font-size: 17px; line-height: 1.6; font-weight: 800; color: #b84338;
  text-decoration: underline; text-underline-offset: 5px; }
.hp-inline-link svg { flex: 0 0 auto; }
.hp-why { padding-top: 64px; padding-bottom: 64px; }
.hp-why-benefits { display: grid; gap: 12px; margin: 25px 0; }
.hp-why-benefits span { display: flex; align-items: flex-start; gap: 10px;
  font-size: 18px; line-height: 1.6; font-weight: 800; }
.hp-why-benefits svg { flex: 0 0 auto; margin-top: 5px; color: #318152; }
.hp-mission-page .hp-about-copy strong { margin: 22px 0; font-size: clamp(23px,2.3vw,30px); line-height: 1.6; }
.hp-mission-page .hp-tagline { font-size: clamp(27px,3.1vw,42px); line-height: 1.45;
  padding: 20px 24px; border-left-width: 6px; background: #fff1eb; }
.hp-why-more { margin-top: 22px; border-top: 1px solid #e5ebe7; padding-top: 18px; }
.hp-why-more summary { font-size: 16px; font-weight: 800; cursor: pointer; color: #59665e; }
.hp-why-more>div { padding-top: 18px; }
.hp-mission-page .hp-evidence-close { position: relative; margin-top: 42px;
  padding: clamp(28px,5vw,64px); border: 2px solid #ef665a;
  border-radius: 24px; background: linear-gradient(120deg,#fff0e8,#fff8f4 70%,#fff);
  box-shadow: 0 18px 48px rgba(239,102,90,.09); text-align: center; }
.hp-mission-page .hp-evidence-close>span { font-size: 22px; color: #b84338; font-weight: 800; }
.hp-mission-page .hp-evidence-close h3 { margin: 12px 0 24px;
  font-size: clamp(36px,6vw,76px); line-height: 1.35; letter-spacing: -.045em;
  color: #c7493e; font-weight: 900; }
.hp-mission-page .hp-evidence-close p { max-width: 800px; margin: 0 auto 24px; color: #46524a; }
.hp-mission-page .hp-evidence-source-note p,
.hp-mission-page .hp-evidence-source-note a,
.hp-mission-page .hp-evidence-card>a { font-size: 14px; line-height: 1.8; }
.hp-mission-page .hp-founder-story aside strong { font-size: clamp(25px,2.8vw,36px); line-height: 1.5; }
.hp-mission-page .hp-founder-story aside span { font-size: 20px; font-weight: 800; }
.hp-mission-page .hp-founder-story aside small { font-size: 16px; }
.hp-mission-page .hp-feature-intro { padding-top: 64px; padding-bottom: 44px; }
.hp-mission-page .hp-child-first-quote { padding-top: 64px; padding-bottom: 64px;
  border-top: 3px solid #f4b3a8; border-bottom: 3px solid #f4b3a8; }
.hp-mission-page .hp-child-first-quote h2 { font-size: clamp(36px,5vw,64px);
  line-height: 1.4; color: #b84338; font-weight: 900; }
.hp-mission-page .hp-child-first-quote>div>span { font-size: 18px; line-height: 1.8; }
.hp-feature-cta { display: grid; justify-items: start; gap: 12px; margin-top: 26px; }
.hp-feature-cta small, .hp-final-note { display: block; font-size: 15px; line-height: 1.8; color: #59665e; }
.hp-demo-pending { border: 1px solid #dfe7e2; border-radius: 24px;
  background: linear-gradient(135deg,#f7faf8,#eef4f0);
  box-shadow: 0 22px 55px rgba(22,44,31,.10); padding: 28px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 18px; text-align: center; color: #18221c; }
.hp-demo-status { display: inline-block; border: 1px solid #d4dfd7;
  border-radius: 999px; background: #fff; padding: 7px 14px;
  font-size: 15px; font-weight: 800; color: #59665e; }
.hp-demo-pending>strong { font-size: clamp(22px,2.2vw,30px); line-height: 1.5; }
.hp-demo-pending>p { margin: 0; font-size: 16px; line-height: 1.8; color: #59665e; }
.hp-demo-scenes { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.hp-demo-scenes>span { padding: 6px 10px; background: #fff; border: 1px solid #e1e8e3;
  border-radius: 999px; font-size: 14px; font-weight: 700; }
.hp-demo-caption { margin: 16px 0 0; font-size: 15px; line-height: 1.8; color: #59665e; }
.hp-mission-page .hp-product-label strong { font-size: 16px; }
.hp-mission-page .hp-product-label small { font-size: 14px; }
.hp-mission-page .pf-start-section { border-top: 4px solid #ef665a;
  background: linear-gradient(180deg,#fff5ef,#f7faf8); }
.hp-mission-page .pf-start-cta { margin-top: 36px; gap: 16px; }
.hp-mission-page .pf-start-cta>.pf-primary-button { min-height: 68px; min-width: min(100%,380px); font-size: 20px; }
.hp-mission-page .pf-start-cta small { font-size: 16px; }
.hp-mission-page .pf-final-cta h2 { font-size: clamp(34px,4.8vw,60px); line-height: 1.4; }
.hp-final-note { margin-top: 18px; }
.hp-mission-page .pf-trust-row span { font-size: 14px; line-height: 1.6; }
.hp-mission-page .pf-ai-principle strong { font-size: 18px; }
.hp-mission-page .pf-ai-principle small { font-size: 16px; }
.hp-mission-page .hp-faq-item summary { font-size: 18px; line-height: 1.7; }

/* Static blog uses the same shell CSS, system font stack, and navigation data. */
body.poppy-static-blog { font-family: var(--poppy-font-sans); font-synthesis: weight; }
.poppy-static-blog :is(h1,h2,h3) { font-family: var(--poppy-font-display); font-weight: 900; }
.poppy-static-blog .pf-header { line-height: 1.5; }
.poppy-static-blog .pf-header a { text-decoration: none; }
.poppy-static-blog :is(.article-main p,.article-main .lead,.hero p,.card p) { font-size: 18px; line-height: 1.95; }
.poppy-static-blog :is(.meta,.section-head p) { font-size: 15px; }
.poppy-static-blog .article-main h2 { font-size: clamp(28px,3vw,36px); }
.poppy-static-blog .article-main h3 { font-size: 23px; }
.poppy-static-blog .poppy-author-profile { margin: 44px 0; padding: clamp(22px,3vw,34px);
  border: 1px solid #e2e8e4; border-top: 4px solid #ef665a;
  border-radius: 22px; background: #f8faf9; }
.poppy-static-blog .poppy-author-profile h2 { margin: 0 0 20px; font-size: 23px; line-height: 1.5; }
.poppy-static-blog .poppy-author-profile .author-copy strong { display: block; font-size: 22px; }
.poppy-static-blog .poppy-author-profile .author-copy small { display: block; font-size: 17px; line-height: 1.8; color: #46524a; }
.poppy-static-blog .poppy-author-profile .author-copy p { font-size: 17px; line-height: 1.9; margin: 14px 0; }
.poppy-author-profile a { color: #b84338; font-size: 16px; font-weight: 800; text-underline-offset: 4px; }
.pf-static-menu { display: none; margin-left: auto; }
.pf-static-menu>summary { list-style: none; cursor: pointer; width: 44px; height: 44px;
  display: grid; place-items: center; border-radius: 10px; background: #fff; }
.pf-static-menu>summary::-webkit-details-marker { display: none; }
.pf-static-menu-panel { position: absolute; top: 100%; left: 0; right: 0;
  background: #fff; padding: 20px; border-bottom: 1px solid #e5ebe7;
  box-shadow: 0 18px 28px #18221c14; max-height: 70vh; overflow: auto; }
.pf-static-menu-panel nav { display: grid; gap: 4px; }
.pf-static-menu-panel nav a { padding: 12px 6px; color: #344039; font-size: 18px; font-weight: 800; }
.pf-static-menu-panel .pf-primary-button { width: 100%; margin: 14px 0; font-size: 18px; }
@media(max-width:980px) {
  .poppy-static-blog .pf-header :is(.pf-nav,.pf-header-actions) { display: none; }
  .pf-static-menu { display: block; }
  .poppy-static-blog .pf-mobile-quick-actions { display: grid; grid-template-columns: 90px 1fr; gap: 8px; padding: 8px 16px 12px; }
}
@media(max-width:720px) {
  .hp-mission-page .hp-poppy-about { gap: 28px; }
  .hp-mission-page .hp-why { padding: 48px 0; }
  .hp-mission-page .hp-evidence-close { padding: 28px 18px; }
  .hp-mission-page .hp-evidence-close h3 { font-size: clamp(32px,8.8vw,48px); }
  .hp-mission-page .hp-child-first-quote { padding: 48px 0; }
  .hp-mission-page .hp-child-first-quote h2 { font-size: clamp(32px,8.5vw,44px); }
  .hp-mission-page :is(.pf-hero-actions,.pf-final-cta>div>div) { flex-direction: column; align-items: stretch; }
  .hp-mission-page .hp-feature-cta { justify-items: stretch; }
  .hp-mission-page .hp-demo-pending { padding: 24px 18px; }
  .hp-mission-page .pf-start-cta>.pf-primary-button { width: 100%; font-size: 18px; }
  .poppy-static-blog .article-main h1 { font-size: 34px; }
  .poppy-static-blog :is(.article-main p,.article-main .lead,.hero p,.card p) { font-size: 18px; }
  .poppy-static-blog .mobile-cta a { min-height: 48px; font-size: 16px; }
  .poppy-static-blog .author-body { display: flex; flex-direction: column; gap: 18px; }
}
@media(prefers-reduced-motion:reduce) {
  .hp-mission-page *, .poppy-static-blog * { scroll-behavior: auto!important; }
  .hp-mission-page :is(.hp-stat-ring-value,.hp-reason-row b) { transition: none; }
}

/* The static blog hub has no article stylesheet; keep its author portrait bounded. */
.poppy-static-blog .poppy-author-profile .author-body{display:flex;align-items:flex-start;gap:24px}
.poppy-static-blog .poppy-author-profile .author-photo{width:92px;height:92px;flex:0 0 92px;border-radius:50%;overflow:hidden}
.poppy-static-blog .poppy-author-profile .author-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
.poppy-static-blog .poppy-author-profile .author-copy{min-width:0}
@media(max-width:600px){.poppy-static-blog .poppy-author-profile .author-body{flex-direction:column;gap:16px}}


/* POPPY COLOR SYSTEM V2 */
:root{
  --poppy-orange:#f47b25;
  --poppy-green:#55a462;
  --poppy-pink:#e85a86;
  --poppy-blue:#5790d1;
  --poppy-coral:#ef665a;
  --poppy-deep:#15231b;
}
body,.pf-site,.poppy-static-blog{font-weight:600}
.pf-site :is(p,li,dd,dt,label,small),
.poppy-static-blog :is(p,li,dd,dt,label,small){font-weight:600}
.pf-header{border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--poppy-orange),var(--poppy-green),var(--poppy-pink),var(--poppy-blue)) 1}
.hp-mission-page :is(.pf-section-head>span,.hp-feature-index,.hp-founder-story-grid>div>span,.pf-ai-copy>span,.hp-trust-copy>span,.hp-faq-head>span){font-weight:900}
.hp-mission-page :is(.pf-section-head h2,.hp-feature-copy h2,.hp-founder-story h2,.pf-ai-copy h2,.hp-trust-copy h2,.hp-faq-head h2){font-weight:900!important}
.hp-mission-page :is(.hp-about-copy p,.pf-section-head p,.hp-feature-copy>p,.hp-founder-story p,.hp-flow-grid p,.pf-ai-copy>p,.hp-trust-copy>p,.hp-trust-card p,.hp-faq-answer,.pf-start-steps p,.pf-insight-card p){color:#33433a;font-weight:600}

/* Abstract four-petal Poppy marks, drawn in CSS to add no image payload. */
.hp-poppy-burst::before,.hp-poppy-burst::after,
.hp-child-first-quote::before,.hp-child-first-quote::after,
.pf-start-section::before,.pf-start-section::after{
  content:"";position:absolute;width:210px;height:210px;pointer-events:none;opacity:.96;
  background:
    radial-gradient(ellipse at 50% 18%,var(--poppy-orange) 0 26%,transparent 27%),
    radial-gradient(ellipse at 82% 50%,var(--poppy-pink) 0 26%,transparent 27%),
    radial-gradient(ellipse at 50% 82%,var(--poppy-blue) 0 26%,transparent 27%),
    radial-gradient(ellipse at 18% 50%,var(--poppy-green) 0 26%,transparent 27%);
}
.hp-poppy-burst{position:relative;isolation:isolate;overflow:hidden!important;border:0!important;
  background:linear-gradient(128deg,#ef665a 0%,#e75d88 54%,#f28a32 100%)!important;
  box-shadow:0 26px 68px rgba(210,67,78,.24)!important;color:#fff!important}
.hp-poppy-burst::before{left:-82px;top:-72px;transform:rotate(-14deg)}
.hp-poppy-burst::after{right:-76px;bottom:-92px;transform:rotate(19deg)}
.hp-poppy-burst>*{position:relative;z-index:1}
.hp-mission-page .hp-poppy-burst>span{color:#fff!important;font-size:22px;font-weight:900}
.hp-mission-page .hp-poppy-burst h3{color:#fff!important;margin:12px auto 24px;font-size:clamp(42px,5.2vw,70px);line-height:1.12;font-weight:900;text-shadow:0 2px 0 rgba(95,27,35,.06)}
.hp-mission-page .hp-poppy-burst p{max-width:830px;color:#fff!important;font-weight:700}
.hp-mission-page .hp-poppy-burst .hp-inline-link{color:#fff!important;font-weight:900;text-decoration-thickness:2px}

/* Founder proof: keep the section white, make the proof card vivid. */
.hp-founder-card{position:relative!important;overflow:hidden!important;padding-left:38px!important;
  border:2px solid rgba(244,123,37,.28)!important;border-left:10px solid var(--poppy-orange)!important;
  background:linear-gradient(145deg,#fff 0%,#fff7ef 68%,#fff3f8 100%)!important;
  box-shadow:0 22px 55px rgba(41,62,50,.10)!important}
.hp-founder-card::after{content:"";position:absolute;right:-36px;top:-38px;width:128px;height:128px;border-radius:50%;
  background:conic-gradient(from 20deg,var(--poppy-orange),var(--poppy-pink),var(--poppy-blue),var(--poppy-green),var(--poppy-orange));opacity:.16}
.hp-mission-page .hp-founder-card strong{position:relative;z-index:1;color:var(--poppy-orange);font-size:clamp(30px,3vw,42px)!important;line-height:1.3!important;font-weight:900}
.hp-mission-page .hp-founder-card span{position:relative;z-index:1;color:var(--poppy-deep);font-size:21px!important;font-weight:800}

/* Emotional break: a real colour block, not another pale panel. */
.hp-mission-page .hp-child-first-quote{position:relative;isolation:isolate;overflow:hidden;padding:82px 0!important;border:0!important;
  background:linear-gradient(125deg,#368f62 0%,#55a462 46%,#4f8fc8 100%)!important;color:#fff}
.hp-child-first-quote::before{left:-86px;bottom:-82px;transform:rotate(11deg);filter:saturate(1.08)}
.hp-child-first-quote::after{right:-84px;top:-92px;transform:rotate(-17deg);filter:saturate(1.08)}
.hp-child-first-quote>.pf-shell{position:relative;z-index:1}
.hp-mission-page .hp-child-first-quote :is(span,h2,p){color:#fff!important}
.hp-mission-page .hp-child-first-quote>div>span{font-size:18px;font-weight:900}
.hp-mission-page .hp-child-first-quote h2{font-size:clamp(40px,5.4vw,68px)!important;line-height:1.25!important;font-weight:900}
.hp-mission-page .hp-child-first-quote p{max-width:760px;margin-left:auto;margin-right:auto;font-weight:700}

/* Give every service block its own flower colour while preserving the existing grid/video layout. */
.hp-feature-section{position:relative;overflow:hidden;border-top:8px solid var(--feature-color)!important}
.hp-feature-section::after{content:"";position:absolute;width:260px;height:260px;right:-165px;top:34px;border-radius:50%;
  background:var(--feature-color);opacity:.06;pointer-events:none}
.hp-feature-section .hp-feature-index{color:var(--feature-color)!important}
.hp-feature-section .hp-feature-bullets svg{color:var(--feature-color)!important}
.hp-feature-section .hp-product-label{border-color:color-mix(in srgb,var(--feature-color) 28%,#e6eae7)!important}
.hp-feature-section .hp-product-label:before{background:var(--feature-color)!important}

/* HOW: colour conveys the four different flows without hurting reading comfort. */
.hp-connect-section{background:#fff!important}
.hp-connect-section .hp-flow-grid article{border:1px solid #dde7e1!important;border-top-width:8px!important;box-shadow:0 18px 42px rgba(32,55,42,.07)!important}
.hp-connect-section .hp-flow-grid article:nth-child(1){border-top-color:var(--poppy-pink)!important;background:linear-gradient(180deg,#fff7fa,#fff 38%)!important}
.hp-connect-section .hp-flow-grid article:nth-child(2){border-top-color:var(--poppy-orange)!important;background:linear-gradient(180deg,#fff8ef,#fff 38%)!important}
.hp-connect-section .hp-flow-grid article:nth-child(3){border-top-color:var(--poppy-green)!important;background:linear-gradient(180deg,#f2fbf5,#fff 38%)!important}
.hp-connect-section .hp-flow-grid article:nth-child(4){border-top-color:var(--poppy-blue)!important;background:linear-gradient(180deg,#f2f7fd,#fff 38%)!important}
.hp-connect-section .hp-flow-grid article:nth-child(1)>span{color:var(--poppy-pink)!important}
.hp-connect-section .hp-flow-grid article:nth-child(2)>span{color:var(--poppy-orange)!important}
.hp-connect-section .hp-flow-grid article:nth-child(3)>span{color:var(--poppy-green)!important}
.hp-connect-section .hp-flow-grid article:nth-child(4)>span{color:var(--poppy-blue)!important}
.hp-connect-section .hp-flow-grid h3{font-weight:900!important}

/* AI/trust sections get colour rhythm without turning into a rainbow wall. */
.pf-ai-capability-grid article:nth-child(1){border-top:6px solid var(--poppy-orange)}
.pf-ai-capability-grid article:nth-child(2){border-top:6px solid var(--poppy-green)}
.pf-ai-capability-grid article:nth-child(3){border-top:6px solid var(--poppy-pink)}
.pf-ai-capability-grid article:nth-child(4){border-top:6px solid var(--poppy-blue)}
.hp-trust-card:nth-child(1){border-left:6px solid var(--poppy-orange)}
.hp-trust-card:nth-child(2){border-left:6px solid var(--poppy-green)}
.hp-trust-card:nth-child(3){border-left:6px solid var(--poppy-pink)}
.hp-trust-card:nth-child(4){border-left:6px solid var(--poppy-blue)}

/* Trial CTA is a second vivid destination. White cards keep the steps readable. */
.hp-mission-page .pf-start-section{position:relative;isolation:isolate;overflow:hidden;border:0!important;
  background:linear-gradient(126deg,#f27942 0%,#ef665a 40%,#e85a86 100%)!important;color:#fff}
.pf-start-section::before{left:-100px;top:-88px;transform:rotate(-9deg);opacity:.7}
.pf-start-section::after{right:-90px;bottom:-98px;transform:rotate(18deg);opacity:.7}
.pf-start-section>.pf-shell{position:relative;z-index:1}
.hp-mission-page .pf-start-section .pf-section-head :is(span,h2,p){color:#fff!important}
.hp-mission-page .pf-start-section .pf-section-head>span{font-size:16px!important}
.hp-mission-page .pf-start-section .pf-section-head h2{font-size:clamp(38px,4.8vw,62px)!important;line-height:1.28!important}
.hp-mission-page .pf-start-steps article{background:#fff!important;border:0!important;box-shadow:0 20px 48px rgba(110,38,54,.16)!important;color:var(--poppy-deep)}
.hp-mission-page .pf-start-steps article:nth-child(1){border-top:7px solid var(--poppy-orange)!important}
.hp-mission-page .pf-start-steps article:nth-child(2){border-top:7px solid var(--poppy-green)!important}
.hp-mission-page .pf-start-steps article:nth-child(3){border-top:7px solid var(--poppy-blue)!important}
.hp-mission-page .pf-start-steps b{width:54px;height:54px;background:linear-gradient(135deg,var(--poppy-orange),var(--poppy-pink))!important;color:#fff!important;font-size:20px;font-weight:900}
.hp-mission-page .pf-start-steps :is(h3,p){color:var(--poppy-deep)!important}
.hp-mission-page .pf-start-cta>.pf-primary-button{background:var(--poppy-deep)!important;color:#fff!important;box-shadow:0 18px 42px rgba(31,29,36,.28)!important}
.hp-mission-page .pf-start-cta :is(small,.hp-inline-link){color:#fff!important}

/* Blog author proof carries all four service colours; copy remains editorial rather than corporate. */
.poppy-static-blog .poppy-author-profile{position:relative!important;overflow:hidden!important;border:1px solid #e2e8e4!important;border-top:8px solid transparent!important;
  border-image:linear-gradient(90deg,var(--poppy-orange),var(--poppy-green),var(--poppy-pink),var(--poppy-blue)) 1!important;background:#fff!important;box-shadow:0 20px 48px rgba(32,55,42,.08)!important}
.poppy-static-blog .poppy-author-profile .author-copy strong{font-size:28px!important;font-weight:900}
.poppy-static-blog .poppy-author-profile .author-copy small{font-size:18px!important;font-weight:800;color:#33433a!important}
.poppy-static-blog .poppy-author-profile .author-copy p{font-size:17px!important;font-weight:600}

/* Desktop: the requested sentence stays on one line. Smaller screens wrap naturally rather than overflow. */
@media(min-width:820px){
  .hp-mission-page .hp-poppy-burst h3{white-space:nowrap}
}
@media(max-width:819px){
  .hp-mission-page .hp-poppy-burst h3{font-size:clamp(30px,8.1vw,46px);white-space:normal}
  .hp-poppy-burst::before,.hp-poppy-burst::after,.hp-child-first-quote::before,.hp-child-first-quote::after,.pf-start-section::before,.pf-start-section::after{width:130px;height:130px;opacity:.55}
  .hp-mission-page .hp-child-first-quote{padding:58px 0!important}
  .hp-mission-page .hp-child-first-quote h2{font-size:clamp(32px,8vw,44px)!important}
}
@media(max-width:420px){
  .hp-mission-page .hp-poppy-burst h3{font-size:clamp(27px,7.8vw,34px)}
  .hp-mission-page .pf-start-section .pf-section-head h2{font-size:32px!important}
}

/* Hoiku Poppy public design system
   Shared by every SPA route and the static blog build.
   No downloaded fonts; no page-specific duplicate header/footer styling. */
:root{
  --poppy-orange:#f47b25;
  --poppy-green:#55a462;
  --poppy-pink:#e85a86;
  --poppy-blue:#5790d1;
  --poppy-coral:#ef665a;
  --poppy-ink:#17231c;
  --poppy-muted:#46564d;
  --poppy-line:#dfe8e2;
  --poppy-radius:24px;
}

/* ---------- Shared header / brand ---------- */
.pf-header{
  border-top:5px solid transparent!important;
  border-image:linear-gradient(90deg,var(--poppy-orange),var(--poppy-green),var(--poppy-pink),var(--poppy-blue)) 1!important;
  background:rgba(255,255,255,.97)!important;
}
.pf-header-inner{
  width:min(1280px,calc(100% - 36px))!important;
  height:88px!important;
  gap:24px!important;
}
.pf-brand{
  min-width:260px!important;
  max-width:280px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:2px!important;
  align-items:center!important;
  justify-items:start!important;
  flex:0 0 260px!important;
  color:var(--poppy-ink)!important;
}
.pf-brand-logo{
  display:block!important;
  width:252px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.pf-nav{gap:22px!important}
.pf-nav a{
  color:#35443b!important;
  font-size:15px!important;
  line-height:1.4!important;
  font-weight:700!important;
}
.pf-header-actions{gap:9px!important}
.pf-header-actions .pf-link-button,
.pf-header-actions .pf-primary-button.small{
  min-height:46px!important;
  padding:0 17px!important;
  font-size:14px!important;
  font-weight:900!important;
}
/* Header CTA matches the Bloom primary button: rose pink, pill shape. */
.pf-header-actions .pf-primary-button.small{
  border-radius:999px!important;
  padding:0 20px!important;
  background:linear-gradient(180deg,#df5677,#bf3658)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 22px -12px rgba(191,54,88,.8)!important;
}
.pf-menu-button{width:48px!important;height:48px!important}

/* ---------- Global readable type scale ---------- */
.pf-site main,
.poppy-static-blog main{color:var(--poppy-ink)}
.pf-site main p,
.poppy-static-blog main p{
  font-size:18px!important;
  line-height:1.88!important;
  font-weight:500!important;
}
.pf-site main li,
.pf-site main dt,
.pf-site main dd,
.poppy-static-blog main li{
  font-size:17px!important;
  line-height:1.82!important;
  font-weight:500!important;
}
.pf-site main small,
.poppy-static-blog main small{
  font-size:14px!important;
  line-height:1.65!important;
  font-weight:600!important;
}
.pf-site main h1,
.pf-site main h2,
.pf-site main h3,
.poppy-static-blog main h1,
.poppy-static-blog main h2,
.poppy-static-blog main h3{
  color:var(--poppy-ink);
  font-family:var(--poppy-font-display);
  font-weight:900!important;
}
.pf-site main h3,
.poppy-static-blog main h3{font-size:clamp(21px,2.1vw,29px)!important;line-height:1.5!important}
.pf-site main :is(.pf-primary-button,.pf-secondary-button,.pf-service-primary,.pf-service-secondary,.ps-start-button),
.poppy-static-blog main :is(.btn,.pf-primary-button,.pf-secondary-button){
  font-size:16px!important;
  font-weight:900!important;
  min-height:52px!important;
}

/* Page hero typography: one scale for Company/Pricing/Security/Policy/Diagnosis/Services/Legal. */
:is(.company-hero,.pricing-hero,.security-hero,.policy-hero,.pf-diagnosis-page-head,.pf-service-hero,.pf-legal-header) h1{
  font-size:clamp(48px,5.2vw,70px)!important;
  line-height:1.2!important;
  letter-spacing:-.05em!important;
}
:is(.company-hero,.pricing-hero,.security-hero,.policy-hero,.pf-diagnosis-page-head,.pf-service-hero,.pf-legal-header) p{
  font-size:18px!important;
  line-height:1.9!important;
}
:is(.company-hero-copy,.pricing-hero-inner,.security-hero-inner,.policy-hero-inner,.pf-diagnosis-page-head,.pf-service-hero) :is(>span,.policy-kicker),
.vc-compact-copy>span{
  font-size:14px!important;
  line-height:1.5!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}

/* Shared section intros */
:is(.company-section-head,.pricing-section-head,.security-section-head,.policy-summary-head,.vc-section-intro>div:first-child,.pf-service-page .pf-section-head) h2{
  font-size:clamp(34px,3.8vw,52px)!important;
  line-height:1.32!important;
  font-weight:900!important;
}
:is(.company-section-head,.pricing-section-head,.security-section-head,.policy-summary-head,.vc-section-intro>div:first-child,.pf-service-page .pf-section-head)>span,
.policy-label{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:5px 11px!important;
  border-radius:999px!important;
  background:#fff2ed!important;
  color:#a8382e!important;
  font-size:14px!important;
  line-height:1.4!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.vc-section-intro{gap:32px!important}
.vc-caption{
  font-size:16px!important;
  line-height:1.82!important;
  font-weight:600!important;
  color:#4c5c53!important;
}

/* Shared visual/card vocabulary used across public pages */
.vc-visual-card,.vc-kpi-card,.vc-flow-node,.vc-hero-mini,.vc-policy-card{
  border-color:var(--poppy-line)!important;
  box-shadow:0 16px 38px rgba(31,55,41,.07)!important;
}
.vc-visual-card{
  border-top:7px solid var(--vc-accent,var(--poppy-coral))!important;
}
.vc-visual-card>span,.vc-kpi-card>span,.vc-policy-card>span{
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.vc-visual-card h3{font-size:23px!important;line-height:1.5!important}
.vc-visual-card p{font-size:16.5px!important;line-height:1.82!important;font-weight:500!important}
.vc-kpi-card strong{font-size:clamp(28px,3vw,40px)!important;font-weight:900!important}
.vc-kpi-card small{font-size:14px!important}
.vc-flow-node strong{font-size:17px!important;line-height:1.5!important;font-weight:900!important}
.vc-flow-node small{font-size:14px!important;line-height:1.55!important}
.vc-role-row :is(strong,span){font-size:16px!important;line-height:1.65!important}
.vc-hero-stack-title :is(span,b){font-size:14px!important}
.vc-hero-price span,.vc-hero-price small,.vc-hero-mini :is(span,small){font-size:14px!important}

/* Soft four-colour bloom on every top-level public page hero. */
.company-hero,.pricing-hero,.security-hero,.policy-hero,.pf-diagnosis-page-head,.pf-service-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 6% 12%,rgba(244,123,37,.13),transparent 25%),
    radial-gradient(circle at 92% 12%,rgba(232,90,134,.12),transparent 26%),
    radial-gradient(circle at 82% 88%,rgba(87,144,209,.10),transparent 25%),
    radial-gradient(circle at 18% 88%,rgba(85,164,98,.10),transparent 25%),
    linear-gradient(180deg,#fff 0%,#fffaf8 100%)!important;
}
.company-hero,.pricing-hero,.security-hero,.policy-hero{padding-top:66px!important;padding-bottom:76px!important}

/* ---------- Company ---------- */
.company-origin-copy h2{font-size:clamp(34px,4vw,54px)!important;line-height:1.35!important}
.company-origin-copy>strong{font-size:24px!important;line-height:1.6!important}
.company-profile-card :is(dt,dd){font-size:16px!important}
.company-profile-card dt{font-weight:900!important}
.company-profile-card dd{font-weight:500!important}

/* ---------- Pricing ---------- */
.pricing-plan-brand strong{font-size:19px!important;font-weight:900!important}
.pricing-plan-brand span{font-size:14px!important;font-weight:700!important}
.pricing-plan-price>strong{font-size:clamp(30px,3vw,42px)!important;font-weight:900!important}
.pricing-plan-price>span,.pricing-plan-examples span{font-size:15px!important;line-height:1.65!important}
.pricing-example-card h3{font-size:24px!important}
.pricing-example-card :is(span,small){font-size:14px!important}
.pricing-example-rows b,.pricing-example-rows strong{font-size:16px!important}
.pricing-example-note{font-size:15px!important}
.ps-wrap :is(p,label,input,small,span){font-weight:500}
.ps-wrap :is(button,strong){font-weight:800}
.ps-field-label>span,.ps-config-head small,.ps-service-copy small,.ps-result-note,.ps-helper{font-size:14px!important;line-height:1.65!important}
.ps-service-copy strong,.ps-result-meta span,.ps-breakdown span{font-size:15px!important}
.ps-service-price,.ps-breakdown strong,.ps-result-meta strong{font-size:15px!important}
.ps-stepper input{font-size:17px!important}

/* ---------- Security ---------- */
.security-note-box h2{font-size:clamp(30px,3vw,42px)!important}
.security-note-box p{font-size:17px!important}

/* ---------- Policy ---------- */
.policy-grid h2{font-size:clamp(34px,4vw,52px)!important;line-height:1.35!important}
.policy-number{font-size:clamp(54px,7vw,92px)!important;font-weight:900!important}
.policy-emphasis strong{font-size:24px!important}
.policy-emphasis span,.policy-warning p,.policy-poppy-box p{font-size:16px!important;line-height:1.8!important}
.policy-function-grid span,.policy-rate-grid span{font-size:15px!important}
.policy-rate-grid strong{font-size:26px!important}
.policy-summary-cards h3{font-size:23px!important}
.policy-sources h2{font-size:32px!important}
.policy-sources a{font-size:16px!important;font-weight:800!important}

/* ---------- Services ---------- */
.pf-service-logo{height:64px!important;max-width:250px!important}
.pf-service-logo.compact{height:50px!important;max-width:210px!important}
.pf-service-category{font-size:14px!important}
.pf-service-lead{font-size:18px!important;line-height:1.9!important}
.pf-service-primary,.pf-service-secondary{font-size:16px!important;min-height:54px!important}
.pf-service-trial-note{font-size:14px!important}
.pf-mock-toolbar img{width:40px!important;height:40px!important}
.pf-mock-toolbar strong{font-size:16px!important}
.pf-mock-toolbar>span{font-size:13px!important}
.pf-mock-grid small{font-size:14px!important}
.pf-mock-grid strong{font-size:22px!important}
.pf-service-problem-list strong{font-size:18px!important}
.pf-service-feature-grid b{font-size:14px!important}
.pf-service-feature-grid h3{font-size:24px!important}
.pf-service-feature-grid p{font-size:17px!important}
.pf-screen-grid>div:first-child>span{font-size:14px!important}
.pf-screen-grid h2{font-size:clamp(34px,4vw,50px)!important}
.pf-screen-grid p{font-size:18px!important}
.pf-service-price-card span{font-size:14px!important}
.pf-service-price-card strong{font-size:28px!important}
.pf-service-price-card p{font-size:15px!important}
.pf-related-grid span{font-size:14px!important;font-weight:700!important}

/* ---------- Diagnosis ---------- */
.pf-diagnosis-page-head p{font-size:14px!important}
.pf-diagnosis-page-head span{font-size:17px!important;line-height:1.75!important}
.dx-panel{font-size:17px}
.dx-progress small,.dx-question-label,.dx-result-block small,.dx-next-services>span{font-size:14px!important}
.dx-question-wrap h2,.dx-result h2{font-size:clamp(30px,4vw,46px)!important;line-height:1.35!important}
.dx-options button span{font-size:17px!important;font-weight:800!important}
.dx-back{font-size:15px!important;font-weight:800!important}
.dx-result-summary,.dx-result-block li,.dx-logic-block p{font-size:17px!important;line-height:1.8!important}
.dx-service-cards span{font-size:14px!important}
.dx-service-cards strong{font-size:16px!important}

/* ---------- Legal ---------- */
.pf-legal-header h1{font-size:clamp(44px,5vw,64px)!important}
.pf-legal-header span{font-size:13px!important}
.pf-legal-card>p:first-child,.pf-legal-card p,.pf-legal-card li{font-size:17px!important;line-height:1.9!important}
.pf-legal-card h2,.pf-company-overview h2,.pf-company-table-heading h2{font-size:clamp(25px,2.7vw,34px)!important;line-height:1.5!important}
.pf-legal-card th,.pf-legal-card td{font-size:16px!important;line-height:1.75!important}
.pf-company-services a b{font-size:17px!important}
.pf-company-services a small{font-size:14px!important}

/* ---------- Final CTA + footer ---------- */
.pf-final-cta{
  position:relative;
  overflow:hidden;
  border-top:7px solid transparent!important;
  border-image:linear-gradient(90deg,var(--poppy-orange),var(--poppy-green),var(--poppy-pink),var(--poppy-blue)) 1!important;
  background:
    radial-gradient(circle at 12% 20%,rgba(244,123,37,.10),transparent 24%),
    radial-gradient(circle at 88% 20%,rgba(232,90,134,.10),transparent 24%),
    linear-gradient(180deg,#fffaf8,#fff)!important;
}
.pf-final-cta img{width:72px!important;height:72px!important}
.pf-final-cta h2{font-size:clamp(36px,4.5vw,58px)!important;line-height:1.3!important}
.pf-final-cta p{font-size:18px!important}
.pf-footer{
  padding:58px 0 30px!important;
  border-top:7px solid transparent!important;
  border-image:linear-gradient(90deg,var(--poppy-orange),var(--poppy-green),var(--poppy-pink),var(--poppy-blue)) 1!important;
  background:linear-gradient(180deg,#fbfdfb 0%,#fff 100%)!important;
}
.pf-footer-brand-block .pf-brand{max-width:280px!important}
.pf-footer-brand-block .pf-brand-logo{width:250px!important;max-height:64px!important}
.pf-footer-brand-block p{max-width:360px!important;font-size:15px!important;line-height:1.8!important;font-weight:500!important}
.pf-footer-groups{gap:38px!important}
.pf-footer-groups nav{gap:12px!important}
.pf-footer-groups nav>strong{font-size:15px!important;font-weight:900!important}
.pf-footer-groups a,.pf-footer-bottom a{font-size:14px!important;line-height:1.5!important;font-weight:600!important}
.pf-footer-bottom small{font-size:12px!important;font-weight:700!important}

/* ---------- Static blog ---------- */
.poppy-static-blog .hero h1{font-size:clamp(46px,5vw,66px)!important;line-height:1.24!important}
.poppy-static-blog .hero p{font-size:18px!important}
.poppy-static-blog .section-head h2{font-size:34px!important}
.poppy-static-blog .section-head p{font-size:16px!important}
.poppy-static-blog .card h2{font-size:clamp(27px,3vw,38px)!important}
.poppy-static-blog .card p{font-size:17px!important}
.poppy-static-blog .meta,.poppy-static-blog .tag,.poppy-static-blog .read{font-size:14px!important}
.poppy-static-blog .article-main h1{font-size:clamp(38px,4.6vw,56px)!important}
.poppy-static-blog .article-main p,.poppy-static-blog .article-main .lead{font-size:18px!important}
.poppy-static-blog .article-main h2{font-size:32px!important}
.poppy-static-blog .article-main h3{font-size:24px!important}
.poppy-static-blog .meta{font-size:15px!important}
.poppy-static-blog .mobile-cta a{font-size:15px!important;font-weight:900!important}

/* Tablet switches to shared mobile header sooner so a larger wordmark never crowds nav. */
@media(max-width:1120px){
  .pf-header-inner{height:82px!important}
  .pf-nav,.pf-header-actions{display:none!important}
  .pf-menu-button{display:grid!important;place-items:center!important;margin-left:auto!important}
  .pf-mobile-quick-actions{
    display:grid!important;
    grid-template-columns:.78fr 1.22fr!important;
    gap:8px!important;
    width:min(100% - 28px,1220px)!important;
    margin:0 auto!important;
    padding:0 0 10px!important;
  }
  .pf-mobile-quick-actions a{font-size:13px!important;font-weight:900!important}
}
@media(max-width:760px){
  .pf-header-inner{height:76px!important;width:calc(100% - 22px)!important}
  .pf-brand{min-width:0!important;max-width:218px!important;flex:1 1 auto!important}
  .pf-brand-logo{width:208px!important;max-height:56px!important}
  .pf-mobile-nav>a{font-size:17px!important}
  .pf-mobile-services>a,.pf-mobile-utility>a{font-size:14px!important}
  .pf-mobile-services>span,.pf-mobile-utility>span{font-size:12px!important}
  .pf-mobile-login,.pf-mobile-actions .pf-primary-button{font-size:14px!important}
  :is(.company-hero,.pricing-hero,.security-hero,.policy-hero,.pf-diagnosis-page-head,.pf-service-hero,.pf-legal-header) h1{
    font-size:clamp(38px,10vw,48px)!important;
  }
  .pf-site main p,.poppy-static-blog main p{font-size:17px!important}
  .pf-site main li,.pf-site main dt,.pf-site main dd,.poppy-static-blog main li{font-size:16px!important}
  :is(.company-section-head,.pricing-section-head,.security-section-head,.policy-summary-head,.vc-section-intro>div:first-child,.pf-service-page .pf-section-head) h2{
    font-size:clamp(30px,8vw,40px)!important;
  }
  .policy-grid h2{font-size:32px!important}
  .pf-footer-brand-block .pf-brand-logo{width:220px!important;max-height:58px!important}
  .pf-footer-groups a,.pf-footer-bottom a{font-size:14px!important}
}
@media(max-width:390px){
  .pf-brand{max-width:190px!important}
  .pf-brand-logo{width:184px!important}
  .pf-mobile-quick-actions a{font-size:12px!important}
}


/* FINAL VISUAL HIERARCHY TUNE */
/* Normal copy has visual breathing room; emphasis is reserved for headings, labels and strong text. */
.pf-site main :is(p,li,dd),
.poppy-static-blog main :is(p,li){
  font-weight:500!important;
}
.pf-site main :is(strong,b),
.poppy-static-blog main :is(strong,b){
  font-weight:800;
}
.pf-site main :is(h1,h2,h3),
.poppy-static-blog main :is(h1,h2,h3){
  font-weight:900!important;
}
.pf-site main small,
.poppy-static-blog main small{
  font-weight:600!important;
}
.pf-nav a{font-weight:700!important}
.pf-footer-groups a,.pf-footer-bottom a{font-weight:600!important}

/* Keep monetary values atomic. Unit text may wrap, the actual price must not. */
.pricing-plan-price{
  flex-wrap:nowrap!important;
  align-items:flex-end!important;
  min-width:0;
}
.pricing-plan-price>strong{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.pricing-plan-price>span{
  min-width:0;
  line-height:1.45!important;
}
.pricing-example-total>strong,
.ps-monthly>strong,
.ps-breakdown strong{
  white-space:nowrap!important;
  word-break:keep-all!important;
}

/* Coral/pink diagnosis band: high-contrast white copy, preserving the white action button. */
.pf-diagnosis-cta,
.pf-diagnosis-cta .pf-diagnosis-band{
  color:#fff!important;
}
.pf-diagnosis-cta :is(span,h2,p){
  color:#fff!important;
}
.pf-diagnosis-cta h2{
  text-shadow:0 1px 0 rgba(98,30,29,.08);
}
.pf-diagnosis-cta .pf-primary-button.light{
  color:var(--poppy-coral)!important;
  background:#fff!important;
}

/* Header wordmark can now use the full vertical space because its duplicate subtitle is gone. */
.pf-brand{
  gap:0!important;
  align-content:center!important;
}
.pf-brand-logo{
  margin:0!important;
}


/* MOBILE LAYOUT & BREAK CONTROL */
/* Override older mobile rules that force the shared wordmark down to icon-size. */
.pf-brand .pf-brand-logo{
  width:252px!important;
  height:auto!important;
  max-height:66px!important;
}
.hp-hero-line{display:block}
.hp-hero-line-accent{white-space:nowrap}

.pf-site main :is(h1,h2,h3){
  text-wrap:balance;
  word-break:auto-phrase;
  line-break:strict;
}
.company-balanced-title,
.company-principle-head h2,
.hp-why-title{
  text-wrap:balance!important;
  word-break:auto-phrase!important;
  line-break:strict!important;
}
.company-hero-copy{max-width:1080px!important}
.company-hero-copy>p{max-width:900px!important}
.company-principle-section .company-principle-head{max-width:980px!important}

.company-profile-grid{
  grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr)!important;
}
.company-profile-section .company-section-head p{max-width:360px}

/* Unit is intentionally two rows: "/ 施設・" then "月". */
.pricing-plan-price{
  display:grid!important;
  grid-template-columns:auto minmax(82px,1fr)!important;
  align-items:end!important;
  column-gap:10px!important;
}
.pricing-plan-price>strong{
  align-self:start;
  white-space:nowrap!important;
}
.pricing-plan-unit{
  display:grid!important;
  align-self:end!important;
  gap:0!important;
  padding-bottom:4px!important;
  color:#68746d!important;
}
.pricing-plan-unit i{
  display:block;
  font-style:normal;
  font-size:14px!important;
  line-height:1.38!important;
  font-weight:600!important;
  white-space:nowrap!important;
}

/* Pink trial section: bright, inviting white primary action instead of a dark block. */
.hp-mission-page .pf-start-section .pf-start-cta>.pf-primary-button{
  background:#fff!important;
  color:#d65359!important;
  border:2px solid rgba(255,255,255,.92)!important;
  box-shadow:0 16px 38px rgba(122,36,58,.18)!important;
}
.hp-mission-page .pf-start-section .pf-start-cta>.pf-primary-button:hover{
  background:#fff7f7!important;
  color:#c74950!important;
  transform:translateY(-1px);
}
.hp-mission-page .pf-start-section .pf-start-cta>.pf-primary-button svg{
  color:#d65359!important;
}
.hp-mission-page .pf-start-section .pf-start-cta>.hp-inline-link{
  color:#fff!important;
  text-decoration-color:rgba(255,255,255,.85)!important;
}

@media(max-width:760px){
  .pf-header-inner{
    height:74px!important;
    align-items:center!important;
  }
  .pf-brand{
    max-width:238px!important;
    flex-basis:238px!important;
  }
  .pf-brand .pf-brand-logo{
    width:226px!important;
    height:auto!important;
    max-height:60px!important;
  }
  .pf-menu-button{
    flex:0 0 48px!important;
    margin-left:auto!important;
  }

  .pf-hero{padding-top:38px!important}
  .pf-hero h1{
    font-size:clamp(35px,10.4vw,42px)!important;
    line-height:1.15!important;
    letter-spacing:-.055em!important;
  }
  .hp-hero-line-accent{white-space:nowrap!important}
  .pf-hero-copy>p{
    font-size:17px!important;
    line-height:1.82!important;
  }

  .hp-poppy-about h2,
  .hp-why-title{
    font-size:clamp(31px,8.7vw,38px)!important;
    line-height:1.38!important;
  }

  .company-hero h1{
    font-size:clamp(36px,9.5vw,44px)!important;
    line-height:1.3!important;
  }
  .company-principle-section .company-principle-head{
    max-width:100%!important;
  }
  .company-principle-section .company-principle-head h2{
    font-size:clamp(31px,8.2vw,39px)!important;
    line-height:1.35!important;
  }
  .company-profile-grid{grid-template-columns:1fr!important}
  .pricing-plan-price{grid-template-columns:auto 1fr!important}

  .hp-mission-page .pf-start-cta>.pf-primary-button{
    min-height:64px!important;
    font-size:18px!important;
  }
}
@media(max-width:390px){
  .pf-brand{
    max-width:218px!important;
    flex-basis:218px!important;
  }
  .pf-brand .pf-brand-logo{
    width:208px!important;
    max-height:58px!important;
  }
  .pf-hero h1{
    font-size:clamp(34px,10.1vw,39px)!important;
  }
  .hp-poppy-about h2,
  .hp-why-title{
    font-size:clamp(30px,8.6vw,35px)!important;
  }
}


/* MOBILE FINAL POLISH V2 */
/* The old mobile stylesheet targets ".pf-brand img" with !important.
   Use a more specific selector so the shared wordmark is actually large on iPhone. */
.pf-header .pf-brand img.pf-brand-logo{
  width:252px!important;
  height:auto!important;
  max-height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.pf-footer .pf-brand img.pf-brand-logo{
  width:250px!important;
  height:auto!important;
  max-height:64px!important;
}

/* Phrase-aware headings: only break at the <wbr> boundaries we chose in JSX. */
.hp-why-title,
.company-balanced-title,
.company-principle-head h2{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance!important;
}

/* Bright conversion action on the vivid trial section. */
.hp-mission-page .pf-start-section .pf-start-cta>a.pf-primary-button{
  background:#fff!important;
  color:#cf4f55!important;
  border:2px solid rgba(255,255,255,.98)!important;
  box-shadow:0 18px 42px rgba(111,34,57,.20)!important;
}
.hp-mission-page .pf-start-section .pf-start-cta>a.pf-primary-button svg{
  color:#cf4f55!important;
}
.hp-mission-page .pf-start-section .pf-start-cta>a.pf-primary-button:hover{
  background:#fff8f8!important;
  color:#b94149!important;
  box-shadow:0 20px 46px rgba(111,34,57,.24)!important;
}

@media(max-width:760px){
  .pf-header-inner{
    min-height:78px!important;
    height:78px!important;
  }
  .pf-header .pf-brand{
    min-width:0!important;
    width:220px!important;
    max-width:220px!important;
    flex:0 0 220px!important;
    overflow:visible!important;
  }
  .pf-header .pf-brand img.pf-brand-logo{
    width:210px!important;
    max-width:none!important;
    height:auto!important;
    max-height:62px!important;
  }
  .pf-menu-button{
    margin-left:auto!important;
  }

  /* Keep the emotional hero large, but make the second phrase fit as one clean line. */
  .pf-hero h1{
    font-size:clamp(38px,10.3vw,42px)!important;
    line-height:1.13!important;
  }
  .pf-hero h1 .hp-hero-line-accent{
    display:block!important;
    font-size:.86em!important;
    white-space:nowrap!important;
    letter-spacing:-.065em!important;
  }

  /* Natural mobile line lengths. */
  .hp-why-title{
    font-size:clamp(30px,8.35vw,33px)!important;
    line-height:1.46!important;
  }
  .company-hero h1.company-balanced-title{
    font-size:clamp(34px,9vw,38px)!important;
    line-height:1.36!important;
  }
  .company-principle-head h2{
    font-size:clamp(30px,8.1vw,34px)!important;
    line-height:1.4!important;
  }

  /* Make the CTA look tappable rather than like a dark status bar. */
  .hp-mission-page .pf-start-section .pf-start-cta>a.pf-primary-button{
    min-height:66px!important;
    width:100%!important;
    border-radius:18px!important;
    font-size:18px!important;
  }
}

@media(max-width:390px){
  .pf-header .pf-brand{
    width:204px!important;
    max-width:204px!important;
    flex-basis:204px!important;
  }
  .pf-header .pf-brand img.pf-brand-logo{
    width:194px!important;
    max-height:58px!important;
  }
  .pf-hero h1{
    font-size:clamp(36px,10vw,39px)!important;
  }
  .hp-why-title{
    font-size:30px!important;
  }
  .company-hero h1.company-balanced-title{
    font-size:34px!important;
  }
}


/* HERO RESPONSIVE FIT V3 */
/* Desktop: keep copy inside the left column. The second phrase stays on one line,
   but is intentionally smaller than "もっと、" so it never overlaps the photo. */
@media(min-width:1121px){
  .pf-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(520px,1fr)!important;
    gap:48px!important;
  }
  .pf-hero-copy{
    min-width:0!important;
    max-width:100%!important;
  }
  .pf-hero h1{
    max-width:100%!important;
    font-size:clamp(56px,5vw,76px)!important;
    line-height:1.1!important;
  }
  .pf-hero h1 .hp-hero-line-accent{
    display:block!important;
    width:max-content;
    max-width:100%!important;
    font-size:.76em!important;
    white-space:nowrap!important;
    letter-spacing:-.065em!important;
  }
}

/* Mid-size desktop/tablet: reduce both headline and image minimum before
   switching to the stacked mobile/tablet layout. */
@media(min-width:761px) and (max-width:1120px){
  .pf-hero-grid{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .pf-hero-copy{
    max-width:760px!important;
  }
  .pf-hero h1{
    font-size:clamp(50px,7vw,66px)!important;
  }
  .pf-hero h1 .hp-hero-line-accent{
    font-size:.8em!important;
    white-space:nowrap!important;
  }
  .pf-hero-visual,
  .pf-hero-visual img{
    min-height:380px!important;
  }
}

/* Mobile keeps the current fit: readable, no overlap, no orphaned "ら。". */
@media(max-width:760px){
  .pf-hero-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .pf-hero-copy{
    min-width:0!important;
    max-width:100%!important;
  }
  .pf-hero h1 .hp-hero-line-accent{
    width:auto!important;
    max-width:100%!important;
    font-size:.86em!important;
    white-space:nowrap!important;
  }
}

/* Static blog: six service categories replace the legacy product-logo strip. */
.poppy-static-blog .service-logo.is-category{gap:10px;color:#141a2b;font-size:15px;font-weight:800;line-height:1.4}
.poppy-static-blog .service-logo.is-category::before{content:'';width:10px;height:10px;flex:none;border-radius:50%;background:var(--service,#141a2b)}

/* Keep the mobile header CTA aligned with the desktop header. */
.pf-mobile-actions .pf-primary-button{background:linear-gradient(180deg,#df5677,#bf3658)!important;box-shadow:0 10px 22px -12px rgba(191,54,88,.8)!important}
