.dog-landing { --ink:#142d39; --muted:#52616a; --orange:#cc4f2b; --orange-dark:#a63e22; background:#fbf8f2; }
.dog-landing main { max-width:none; margin:0; padding:0; }
.dog-landing .site-header { max-width:1320px; gap:24px; padding:22px 32px; }
.lp-nav { display:flex; align-items:center; gap:26px; margin-left:auto; font-size:14px; font-weight:650; }
.lp-nav a { color:var(--ink); text-decoration:none; }
.lp-nav-cta { border-bottom:2px solid var(--orange); padding:8px 0; }
.lp-skip { position:absolute; left:20px; top:-100px; z-index:10; padding:15px; background:white; }
.lp-skip:focus { top:10px; }
.lp-hero { max-width:1440px; margin:auto; display:grid; grid-template-columns: .95fr 1.05fr; align-items:center; padding:38px 48px 64px; gap:44px; }
.lp-hero h1 { font-size:clamp(42px,4.2vw,64px); line-height:1.07; letter-spacing:-.055em; margin:18px 0 26px; }
.lp-hero h1 em { color:var(--orange); font-family:Georgia,serif; font-weight:500; }
.lp-lead { max-width:490px; font-size:18px; line-height:1.8; color:var(--muted); }
.lp-main-cta { margin-top:14px; width:fit-content; padding:19px 26px; }
.lp-free { font-size:13px; font-weight:650; margin:12px 0 24px; }
.lp-price { font-size:14px; font-weight:700; margin:0 0 5px; }
.lp-price-note { display:block; max-width:430px; line-height:1.6; color:var(--muted); font-size:11px; }
.lp-mini-steps { display:flex; flex-wrap:wrap; gap:13px; margin-top:27px; padding-top:20px; border-top:1px solid #ddd8cb; font-size:11px; font-weight:700; }
.lp-hero-photo { margin:0; position:relative; }
.lp-hero-photo>img { display:block; width:100%; height:560px; object-fit:cover; object-position:39% center; border-radius:180px 180px 24px 24px; }
.lp-hero-photo figcaption { margin:18px 6px 0; font-size:14px; font-weight:700; }
.lp-hero-photo small { display:block; font-size:11px; font-weight:400; color:var(--muted); margin-top:5px; }
.lp-section { max-width:1240px; margin:0 auto; padding:65px 32px; scroll-margin-top:20px; }
.lp-section-heading { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:28px; }
.lp-section h2,.lp-create-intro h2,.lp-final h2 { font-size:clamp(28px,3vw,42px); letter-spacing:-.04em; line-height:1.22; margin:12px 0; }
.lp-section-heading>p { max-width:400px; color:var(--muted); line-height:1.8; font-size:14px; margin:0; }
.lp-featured-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.lp-example { background:white; border:1px solid #e5dfd3; border-radius:18px; overflow:hidden; }
.lp-pair { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#e5dfd3; }
.lp-pair figure { margin:0; padding:15px 12px 0; background:#f0eee7; }
.lp-pair figure:nth-child(2) { background:#f9f5eb; }
.lp-pair span { display:block; font-size:10px; font-weight:800; letter-spacing:.1em; margin:0 0 14px; }
.lp-pair img { display:block; width:100%; height:290px; object-fit:contain; }
.lp-example-copy { padding:24px; }
.lp-number { font-size:10px; color:var(--muted); letter-spacing:.12em; font-weight:700; }
.lp-example-copy h3 { font-size:22px; margin:12px 0; letter-spacing:-.025em; }
.lp-example-copy p { font-size:14px; line-height:1.8; color:var(--muted); }
.lp-example a,.lp-faq a { color:var(--blue); font-weight:700; font-size:14px; text-underline-offset:5px; }
.lp-more-heading { margin-top:44px; }
.lp-more-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lp-more-grid .lp-pair img { height:180px; }
.lp-more-grid .lp-example-copy { padding:18px; }
.lp-more-grid h3 { font-size:17px; margin:4px 0 12px; }
.lp-example-note { font-size:12px; line-height:1.8; color:var(--muted); margin:23px 0 0; }
.lp-story { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.lp-story figure { margin:0; }
.lp-story img { width:100%; height:500px; object-fit:cover; border-radius:20px; }
.lp-story figcaption { color:var(--muted); font-size:11px; margin-top:10px; }
.lp-story p { line-height:1.8; color:var(--muted); font-size:15px; }
.lp-benefits { padding:0; list-style:none; }
.lp-benefits li { display:grid; gap:5px; margin:21px 0; }
.lp-benefits strong { font-size:15px; }
.lp-benefits span { font-size:14px; color:var(--muted); line-height:1.6; }
.lp-story .lp-safety { font-size:12px; }
.lp-how { text-align:center; }
.lp-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:40px; }
.lp-how-grid article { text-align:left; border-top:1px solid #ded7c9; padding-top:20px; }
.lp-how-grid article>span { color:var(--orange); font-size:28px; font-family:Georgia,serif; }
.lp-how h3 { font-size:19px; }
.lp-how p { font-size:14px; line-height:1.8; color:var(--muted); }
.lp-create-intro { padding:40px 24px 0; text-align:center; }
.lp-create-intro>p:last-child { color:var(--muted); }
.dog-landing .creator-section { max-width:1240px; padding:24px 32px 55px; margin:auto; }
.dog-landing .creator-section>.section-heading { display:none; }
.dog-landing .creator-grid { align-items:start; }
.dog-landing .result-card { position:sticky; top:24px; }
.dog-landing #headline { background:#f1f0e9; }
.lp-form-scope { padding:18px 28px 0; font-size:13px; color:var(--muted); line-height:1.8; }
.dog-landing .template-card-image-wrap { aspect-ratio:1; }
.dog-landing .template-card-content small { display:none; }
.dog-landing .template-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dog-landing .template-card-content { min-height:68px; padding:12px 10px; }
.dog-landing .template-card-heading strong { font-family:inherit; font-size:14px; }
.dog-landing .template-card-heading { gap:5px; }
.dog-landing .template-card-check { width:20px; height:20px; font-size:11px; }
.lp-faq { max-width:860px; }
.lp-faq details { border-bottom:1px solid #ddd6ca; padding:23px 0; }
.lp-faq summary { font-size:16px; font-weight:650; cursor:pointer; }
.lp-faq details p { font-size:14px; line-height:1.9; color:var(--muted); margin-bottom:5px; }
.lp-contact { margin-top:28px; font-size:14px; }
.lp-final { background:#163643; color:white; text-align:center; padding:65px 24px; }
.lp-final>p { color:#d8e3e6; font-size:15px; }
.lp-final .primary-button { width:fit-content; margin:28px auto 12px; }
.lp-final small { display:block; color:#d8e3e6; }
html[lang=ja] .lp-hero h1 { font-size:clamp(36px,3.5vw,54px); line-height:1.4; letter-spacing:-.035em; }
html[lang=ja] .lp-hero h1 em { font-family:inherit; font-style:normal; }
html[lang=ja] .lp-section h2,html[lang=ja] .lp-final h2 { line-height:1.5; font-size:clamp(27px,2.6vw,37px); }
.lp-home-link { display:inline-block; margin-top:18px; color:var(--blue); font-weight:700; text-underline-offset:5px; }
@media(max-width:1000px) { .lp-nav { gap:12px; } .lp-nav a:not(.lp-nav-cta) { display:none; } .lp-hero { gap:26px; padding:25px 28px 50px; } .lp-hero-photo>img { height:500px; } .lp-story { gap:30px; } }
@media(max-width:700px) { .dog-landing .site-header { padding:14px 18px; gap:12px; flex-wrap:wrap; } .lp-nav { margin-left:auto; } .dog-landing .language-switch { margin-left:auto; } .lp-hero { grid-template-columns:1fr; padding:20px 20px 30px; gap:30px; } .lp-hero h1 { font-size:45px; } .lp-hero-photo>img { height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:80px 80px 16px 16px; } .lp-lead { font-size:16px; } .lp-main-cta { width:100%; font-size:15px; padding:18px 12px; } .lp-section { padding:40px 20px; } .lp-section-heading { display:block; } .lp-section-heading>p { margin-top:16px; } .lp-featured-grid,.lp-story,.lp-how-grid { grid-template-columns:1fr; } .lp-more-grid { grid-template-columns:1fr; } .lp-pair img { height:230px; } .lp-more-grid .lp-pair img { height:200px; } .lp-story img { height:auto; } .lp-story { gap:24px; } .lp-how-grid { gap:20px; } .dog-landing .creator-section { padding:15px 16px 35px; } .dog-landing .result-card { position:static; } .lp-create-intro h2 { font-size:30px; } .lp-final h2 { font-size:30px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .dog-landing * { transition:none!important; } }
@media(max-width:700px) {
    .lp-hero { display:flex; flex-direction:column; gap:0; }
    .lp-hero-copy { display:contents; }
    .lp-hero-copy>.eyebrow { order:0; width:100%; }
    .lp-hero h1 { order:1; width:100%; font-size:37px; margin:10px 0 22px; }
    html[lang=ja] .lp-hero h1 { font-size:32px; }
    .lp-hero-photo { order:2; width:100%; margin-bottom:18px; }
    .lp-lead { order:3; width:100%; margin:10px 0; }
    .lp-main-cta { order:4; }
    .lp-free { order:5; width:100%; }
    .lp-price { order:6; width:100%; }
    .lp-price-note { order:7; width:100%; }
    .lp-mini-steps { order:8; width:100%; }
}

/* New style showcase; keep artwork and readable copy together. */
.lp-new-style { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; background:#f1f5fa; border:1px solid #d5dfeb; }
.lp-new-style .lp-pair img { object-fit:contain; background:#fff; }
.lp-new-look { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.lp-new-look figure { margin:0; }
.lp-new-look img { width:100%; height:auto; border-radius:20px; }
.lp-new-look p { font-size:16px; line-height:1.8; }
.lp-new-look figcaption { font-size:13px; line-height:1.6; color:var(--muted); margin-top:10px; }
.lp-example-copy p,.lp-how p,.lp-faq details p,.lp-story p { font-size:16px; }
.lp-example-note,.lp-form-scope,.lp-price-note { font-size:14px; }
@media(max-width:700px) { .lp-new-style,.lp-new-look { grid-template-columns:1fr; gap:20px; } }
