.brand-lp {
    --bl-ink:#202528;
    --bl-muted:#61696e;
    --bl-line:#dfe3e5;
    color:var(--bl-ink);
    background:#fff;
    font-family:"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;
    line-height:1.8;
    letter-spacing:.025em;
}

.brand-lp * {
    box-sizing:border-box;
}

.brand-lp a {
    color:inherit;
    text-decoration:none;
}

.brand-lp a:focus-visible,.brand-lp summary:focus-visible {
    outline:3px solid #7d959f;
    outline-offset:6px;
}

.brand-lp svg {
    width:20px;
    height:20px;
    stroke-width:1.5;
}

.bl-wrap {
    width:min(1200px,calc(100% - 96px));
    margin-inline:auto;
}

.bl-hero {
    display:grid;
    grid-template-columns:1fr 1.06fr;
    gap:55px;
    align-items:center;
    padding-top:76px;
    padding-bottom:84px;
}

.bl-eyebrow {
    font-size:10px;
    font-weight:600;
    letter-spacing:.17em;
    line-height:1.5;
    margin:0 0 25px;
}

.bl-hero .bl-eyebrow {
    display:flex;
    align-items:center;
    gap:9px;
}

.bl-eyebrow>span {
    width:5px;
    height:5px;
    background:#637582;
    border-radius:50%;
}

.bl-hero h1 {
    font-size:36px;
    line-height:1.5;
    letter-spacing:.025em;
    font-weight:550;
    margin:0 0 27px;
}

.bl-title-last {
    font-size:1em;
    letter-spacing:-.04em;
}

.bl-lead {
    font-size:19px;
    font-weight:500;
    line-height:1.9;
    margin-bottom:18px;
}

.bl-intro {
    font-size:14px;
    color:var(--bl-muted);
    line-height:2.1;
    margin-bottom:28px;
}

.bl-button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    background:#262d31;
    color:#fff!important;
    padding:17px 23px;
    border-radius:7px;
    font-size:14px;
    font-weight:600;
    min-height:58px;
    transition:background .2s;
}

.bl-button:hover {
    background:#47535a;
}

.bl-note {
    font-size:11px;
    color:var(--bl-muted);
    margin:14px 0 0;
    line-height:1.8;
}

.bl-visual {
    margin:0;
    min-width:0;
}

.bl-visual-heading {
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:8px;
    padding-bottom:16px;
    font-size:13px;
    color:var(--bl-muted);
}

.bl-look-image {
    display:block;
    width:100%;
    height:auto;
    border-radius:10px;
}

.bl-visual-details {
    padding-block:24px 16px;
    border-bottom:1px solid var(--bl-line);
}

.bl-visual-details p {
    font-size:20px;
    line-height:1.6;
    font-weight:500;
    margin:0 0 12px;
}

.bl-visual-details>span {
    font-size:13px;
    color:var(--bl-muted);
}

.bl-visual figcaption {
    font-size:11px;
    color:var(--bl-muted);
    line-height:1.6;
    margin:12px 0 0;
}

.bl-mini-logo {
    font-size:24px;
    font-weight:750;
    letter-spacing:-.07em;
    line-height:1;
}

.bl-context {
    border-block:1px solid var(--bl-line);
    background:#fbfcfc;
}

.bl-context-inner {
    display:flex;
    align-items:center;
    gap:44px;
    padding-block:27px;
}

.bl-context .bl-eyebrow {
    margin:0;
    white-space:nowrap;
}

.bl-context-inner>p:nth-child(2) {
    font-size:12px;
    line-height:1.9;
    flex:1;
    color:var(--bl-muted);
    margin:0;
}

.bl-context a {
    display:flex;
    gap:10px;
    align-items:center;
    font-size:11px;
    white-space:nowrap;
}

.bl-context a svg {
    width:15px;
}

.bl-section {
    padding-block:92px;
}

.bl-section-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:32px;
    margin-bottom:40px;
}

.brand-lp h2 {
    font-size:30px;
    line-height:1.7;
    letter-spacing:.025em;
    font-weight:500;
    margin:0;
}

.bl-section-heading>p {
    font-size:13px;
    color:var(--bl-muted);
    line-height:2;
    margin:0 0 6px;
}

.bl-offerings {
    border-top:1px solid var(--bl-line);
}

.bl-offering {
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:48px;
    padding-block:32px;
    border-bottom:1px solid var(--bl-line);
}

.bl-offering h3 {
    font-size:20px;
    font-weight:600;
    line-height:1.4;
    margin:0;
}

.bl-offering>p {
    font-size:14px;
    line-height:1.75;
    color:var(--bl-muted);
    margin:0;
    max-width:42em;
}

.bl-flow-section {
    background:#f3f5f6;
    padding-block:80px;
}

.bl-flow-layout {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
}

.bl-flow-intro {
    font-size:13px;
    color:var(--bl-muted);
    line-height:2;
    margin-top:22px;
}

.bl-flow-diagram {
    display:flex;
    align-items:center;
    gap:15px;
    margin-top:35px;
}

.bl-flow-diagram>div {
    display:flex;
    width:87px;
    height:89px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:10px;
    border:1px solid #dbe1e4;
    background:#fff;
    border-radius:10px;
}

.bl-flow-diagram>div>span:last-child {
    font-size:10px;
}

.bl-flow-connector {
    font-size:9px;
    text-align:center;
    color:#64737c;
}

.bl-flow-connector svg {
    display:block;
    width:100px;
    height:12px;
    margin-top:8px;
    stroke:#87969f;
    fill:none;
    stroke-width:1;
}

.bl-steps {
    list-style:none;
    margin:0;
    padding:0;
}

.bl-steps li {
    display:flex;
    gap:24px;
    padding:24px 0;
    border-bottom:1px solid #d8dfe3;
}

.bl-steps li:first-child {
    padding-top:0;
}

.bl-steps li:last-child {
    border:0;
    padding-bottom:0;
}

.bl-step-number {
    font-size:14px;
    color:#78858c;
    padding-top:2px;
}

.bl-steps h3 {
    font-size:17px;
    font-weight:550;
    margin:0 0 10px;
}

.bl-steps p {
    font-size:13px;
    line-height:2;
    color:var(--bl-muted);
    margin:0;
}

.bl-faq-layout {
    display:grid;
    grid-template-columns:1fr 1.5fr;
    gap:65px;
}

.bl-faq-intro {
    font-size:13px;
    color:var(--bl-muted);
    margin-top:20px;
}

.bl-faqs details {
    border-top:1px solid var(--bl-line);
}

.bl-faqs details:last-of-type {
    border-bottom:1px solid var(--bl-line);
}

.bl-faqs summary {
    list-style:none;
    cursor:pointer;
    font-size:13px;
    font-weight:500;
    display:flex;
    gap:22px;
    justify-content:space-between;
    padding:23px 0;
}

.bl-faqs summary::-webkit-details-marker {
    display:none;
}

.bl-faqs summary span {
    font-size:19px;
    font-weight:300;
    line-height:1.2;
    color:#6d7b83;
    transition:transform .2s;
}

.bl-faqs details[open] summary span {
    transform:rotate(45deg);
}

.bl-faqs details>p {
    font-size:13px;
    color:var(--bl-muted);
    line-height:2.1;
    margin:0;
    padding:0 25px 23px 0;
}

.bl-policy-link {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    margin-top:22px;
    color:var(--bl-muted)!important;
}

.bl-policy-link svg {
    width:14px;
}

.bl-closing {
    background:rgb(0 0 0 / .02);
    border-radius:16px;
    margin-bottom:64px;
}

.bl-closing-panel {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    align-items:center;
    gap:48px;
    padding:48px;
}

.bl-closing h2 {
    font-size:32px;
    letter-spacing:.04em;
}

.bl-closing-copy>p {
    font-size:14px;
    color:#52616a;
    line-height:2;
    margin:18px 0 26px;
}

.bl-closing-copy .bl-closing-note {
    font-size:11px;
    color:#5c6a74;
    margin:14px 0 0;
}

.bl-contact-note {
    border-left:1px solid rgba(122,147,164,.22);
    padding:12px 0 12px 36px;
}

.bl-contact-note h3 {
    font-size:13px;
    font-weight:500;
    color:#45555f;
    margin:0 0 24px;
}

.bl-contact-note ul {
    list-style:none;
    padding:0;
    margin:0;
}

.bl-contact-note li {
    font-size:13px;
    display:flex;
    align-items:center;
    gap:12px;
    margin:18px 0;
}

.bl-contact-note li svg {
    width:15px;
    height:15px;
    flex-shrink:0;
    color:#637c8a;
}

.bl-contact-note>p {
    font-size:12px;
    line-height:1.9;
    color:#5c6a74;
    margin:26px 0 0;
}

.bl-context a:hover,.bl-policy-link:hover {
    text-decoration:underline;
    text-underline-offset:5px;
}

@media(min-width:1500px) {
    .bl-hero {
        gap:90px;
    }
}

@media(max-width:1023px) {
    .bl-wrap {
        width:calc(100% - 56px);
    }
    .bl-hero {
        gap:30px;
        padding-top:55px;
    }
    .bl-hero h1 {
        font-size:38px;
    }
    .bl-visual {
        padding:0;
    }
    .bl-context-inner {
        gap:25px;
    }
    .bl-offering {
        padding-block:24px;
    }
    .bl-offering h3 {
        font-size:16px;
    }
    .bl-flow-layout {
        gap:40px;
    }
    .bl-section-heading {
        align-items:start;
    }
    .bl-section-heading>p {
        max-width:280px;
    }
    .bl-section-heading>p br {
        display:none;
    }
}

@media(max-width:767px) {
    .bl-wrap {
        width:calc(100% - 40px);
    }
    .bl-hero {
        grid-template-columns:1fr;
        gap:37px;
        padding-top:40px;
        padding-bottom:45px;
    }
    .bl-hero h1 {
        font-size:clamp(29px,9vw,40px);
        line-height:1.45;
        margin-bottom:23px;
    }
    .bl-eyebrow {
        font-size:9px;
        margin-bottom:20px;
    }
    .bl-lead {
        font-size:17px;
        margin-bottom:15px;
    }
    .bl-intro {
        font-size:13px;
        margin-bottom:24px;
    }
    .bl-desktop-break {
        display:none;
    }
    .bl-button {
        font-size:13px;
        width:100%;
        max-width:340px;
        justify-content:center;
        gap:26px;
        min-height:55px;
        padding:15px 19px;
    }
    .bl-note {
        font-size:10px;
    }
    .bl-visual {
        padding:0;
        max-width:480px;
        width:100%;
        justify-self:center;
    }

.bl-visual figcaption {
        font-size:11px;
    }
    .bl-context-inner {
        display:block;
        padding-block:25px;
    }
    .bl-context .bl-eyebrow {
        margin-bottom:12px;
    }
    .bl-context-inner>p:nth-child(2) {
        font-size:11px;
    }
    .bl-context a {
        font-size:10px;
        margin-top:13px;
    }
    .bl-section {
        padding-block:55px;
    }
    .bl-section-heading {
        display:block;
        margin-bottom:28px;
    }
    .brand-lp h2 {
        font-size:26px;
        line-height:1.65;
    }
    .bl-section-heading>p {
        max-width:none;
        margin-top:19px;
        font-size:12px;
    }
    .bl-offering {
        grid-template-columns:1fr;
        gap:12px;
        padding-block:24px;
    }

.bl-offering h3 {
        font-size:18px;
    }
    .bl-offering>p {
        font-size:13px;
    }

.bl-flow-section {
        padding-block:50px;
    }
    .bl-flow-layout {
        grid-template-columns:1fr;
        gap:36px;
    }
    .bl-flow-intro {
        font-size:12px;
    }
    .bl-flow-diagram {
        margin-top:25px;
    }
    .bl-steps li {
        gap:20px;
        padding-block:23px;
    }
    .bl-steps h3 {
        font-size:16px;
    }
    .bl-steps p {
        font-size:12px;
    }
    .bl-faq-layout {
        grid-template-columns:1fr;
        gap:27px;
    }
    .bl-faq-intro {
        font-size:12px;
        margin-top:13px;
    }
    .bl-faqs summary {
        font-size:12px;
        padding-block:21px;
        gap:20px;
    }
    .bl-faqs details>p {
        font-size:12px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .brand-lp * {
        transition:none!important;
    }
    .bl-button:hover {
        transform:none;
    }
}

@media(max-width:1023px) {
    .bl-closing-panel { gap:32px; padding:36px 28px; }
    .bl-contact-note { padding-left:24px; }
}

@media(max-width:767px) {
    .bl-closing { margin-bottom:48px; }
    .bl-closing-panel { grid-template-columns:1fr; padding:24px; gap:32px; }
    .bl-closing h2 { font-size:27px; }
    .bl-closing-copy>p { font-size:13px; }
    .bl-closing-copy .bl-closing-note { font-size:11px; }
    .bl-contact-note { padding:26px 0 0; border-left:0; border-top:1px solid rgba(122,147,164,.22); }
    .bl-contact-note h3 { font-size:12px; margin-bottom:18px; }
    .bl-contact-note li { font-size:12px; }
    .bl-contact-note>p { font-size:11px; margin-top:20px; }
}

.bl-growth {
    display:grid;
    grid-template-columns:1fr 1.1fr;
    align-items:center;
    gap:20px 70px;
    padding:84px 0 32px;
    border-bottom:1px solid var(--bl-line);
}

.bl-growth .bl-eyebrow {
    color:#677c89;
    letter-spacing:.08em;
    margin-bottom:18px;
}

.bl-growth-description {
    font-size:13px;
    color:var(--bl-muted);
    line-height:2.1;
    margin-top:20px;
}

.bl-growth-metric {
    margin-top:32px;
}

.bl-growth-metric-label {
    font-size:12px;
    color:#526570;
}

.bl-growth-metric>p {
    display:flex;
    align-items:center;
    gap:20px;
    margin:8px 0;
}

.bl-growth-metric strong {
    font-size:48px;
    line-height:1.1;
    font-weight:500;
    letter-spacing:-.055em;
    font-variant-numeric:tabular-nums;
}

.bl-growth-metric strong span {
    font-size:20px;
    margin-left:5px;
    letter-spacing:-.02em;
}

.bl-growth-period {
    font-size:11px;
    color:var(--bl-muted);
}

.bl-growth-chart {
    min-width:0;
    margin:0;
    padding:28px 25px 20px;
    border:1px solid #e5ebee;
    border-radius:20px;
    background:linear-gradient(155deg,#fff,#f3f6f8);
    box-shadow:0 15px 45px -35px #7d96a5;
}

.bl-growth-chart-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:11px;
    color:#637580;
}

.bl-growth-chart-header>span:last-child {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:10px;
}



.brand-lp .bl-growth-chart>svg {
    display:block;
    width:100%;
    height:auto;
    margin:20px 0 12px;
    overflow:visible;
}

.bl-growth-grid {
    stroke:#e1e7eb;
    stroke-width:1;
    fill:none;
}

.bl-growth-line {
    stroke:#536f81;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
    fill:none;
}

.bl-growth-forecast {
    stroke:#7994a5;
    stroke-dasharray:5 7;
}

.bl-growth-months {
    font-size:13px;
    fill:#647580;
    text-anchor:middle;
}

.bl-growth-chart figcaption {
    font-size:10px;
    color:#647580;
    text-align:center;
}


@media(max-width:1023px) {
    .bl-growth { gap:24px 32px; }
}

@media(max-width:767px) {
    .bl-growth { grid-template-columns:1fr; padding:50px 0 28px; gap:28px; }
    .bl-growth-description { font-size:12px; margin-top:18px; }
    .bl-growth-metric { margin-top:26px; }
    .bl-growth-metric strong { font-size:40px; }
    .bl-growth-chart { padding:21px 18px 18px; border-radius:15px; }
    .bl-growth-chart figcaption { font-size:9px; }
}

.bl-value {
    padding-block:64px;
    border-bottom:1px solid var(--bl-line);
}

.bl-value-heading {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:48px;
    align-items:end;
}

.bl-value-phrase {
    display:inline-block;
}

.bl-value-heading .bl-eyebrow {
    font-size:11px;
    margin-bottom:16px;
}

.bl-value-heading>p,
.bl-value-journey p {
    color:var(--bl-muted);
    font-size:14px;
    line-height:1.75;
    margin:0;
}

.bl-value-journey {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:48px;
    list-style:none;
    margin:48px 0 0;
    padding:24px 0 0;
    border-top:1px solid var(--bl-line);
}

.bl-value-journey li {
    position:relative;
}

.bl-value-journey li+li::before {
    content:"→";
    position:absolute;
    left:-32px;
    color:var(--bl-muted);
}

.bl-value-journey h3 {
    font-size:15px;
    font-weight:600;
    line-height:1.5;
    margin:0 0 12px;
}

@media(max-width:767px) {
    .bl-value {
        padding-block:48px;
    }
    .bl-value-heading {
        grid-template-columns:1fr;
        gap:24px;
    }
    .bl-value-journey {
        grid-template-columns:1fr;
        gap:48px;
        margin-top:32px;
    }
    .bl-value-journey li+li::before {
        content:"↓";
        left:0;
        top:-36px;
    }
}
