.campfire2026{
    --cf-orange:#f06b2c;
    --cf-orange-dark:#cc4f17;
    --cf-orange-light:#fff2e8;
    --cf-peach:#fae1d2;
    --cf-ink:#2c2825;
    --cf-muted:#6f665f;
    --cf-line:#f0d2c1;
    color:var(--cf-ink);
}
.campfire2026 img{max-width:100%;height:auto}
.campfire2026-hero{
    padding:clamp(42px,7vw,86px) 0;
    background:linear-gradient(135deg,#fffaf6 0%,#fff1e5 62%,#ffe1ca 100%);
}
.campfire2026-hero-inner{
    position:relative;
    overflow:hidden;
    padding:clamp(30px,5vw,58px);
    border:1px solid rgba(240,107,44,.2);
    border-radius:24px;
    background:rgba(255,255,255,.86);
    box-shadow:0 18px 48px rgba(122,66,32,.08);
}
.campfire2026-hero-inner:after{
    content:"";
    position:absolute;
    right:-90px;
    bottom:-120px;
    width:330px;
    height:330px;
    border-radius:50%;
    background:rgba(240,107,44,.07);
}
.campfire2026-special{
    display:inline-block;
    margin:0 0 18px;
    padding:7px 14px;
    border-radius:999px;
    background:var(--cf-orange);
    color:#fff;
    font-weight:800;
}
.campfire2026-logo{display:block;width:min(330px,72%);margin:0 0 20px}
.campfire2026-hero h1{margin:0;font-size:clamp(2rem,1.35rem + 2.6vw,4rem);line-height:1.12;letter-spacing:-.035em}
.campfire2026-selection{margin:10px 0 0;color:var(--cf-orange-dark);font-size:1.14rem;font-weight:800;letter-spacing:.04em}
.campfire2026-booth{display:inline-block;margin:22px 0 0;padding:8px 13px;border-radius:8px;background:var(--cf-orange-light);font-weight:700}
.campfire2026-intro{max-width:920px;margin:22px 0 0;font-size:1.04rem;line-height:1.95}
.campfire2026-section{padding:clamp(58px,7vw,94px) 0}
.campfire2026-section-alt{background:#fff8f3}
.campfire2026-heading{display:grid;grid-template-columns:95px 1fr;gap:22px;align-items:start;margin-bottom:28px}
.campfire2026-point{display:flex;align-items:center;justify-content:center;min-height:56px;padding:9px;border-radius:12px;background:var(--cf-orange);color:#fff;font-weight:900}
.campfire2026-heading-en{margin:0 0 5px;color:var(--cf-orange);font-size:.77rem;font-weight:900;letter-spacing:.14em}
.campfire2026-heading h2{margin:0;font-size:clamp(1.55rem,1.25rem + 1vw,2.3rem);line-height:1.45}
.campfire2026-heading-sub{margin:7px 0 0;color:#8d4f2c;font-size:1.02rem;font-weight:700}
.campfire2026-lead{max-width:980px;margin:0 0 34px 117px;line-height:1.95}
.campfire2026-cider-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch}
.campfire2026-cider-photo,.campfire2026-cider-copy{margin:0;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(89,54,33,.07);overflow:hidden}
.campfire2026-cider-photo img{display:block;width:100%;height:100%;min-height:410px;object-fit:cover}
.campfire2026-cider-copy{padding:24px;background:var(--cf-orange-light)}
.campfire2026-cider-copy img{display:block;width:100%;border-radius:12px}
.campfire2026-cider-copy h3{margin:20px 0 8px;font-size:1.45rem}
.campfire2026-cider-copy p{line-height:1.85}
.campfire2026-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:13px 22px;border-radius:999px;background:var(--cf-orange);color:#fff!important;font-weight:800;text-decoration:none!important;transition:.2s}
.campfire2026-btn:hover{background:var(--cf-orange-dark);transform:translateY(-1px)}
.campfire2026-btn-outline{border:1px solid var(--cf-orange);background:#fff;color:var(--cf-orange)!important}
.campfire2026-btn-outline:hover{color:#fff!important}
.campfire2026-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.campfire2026-project-card{overflow:hidden;border:1px solid var(--cf-line);border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(89,54,33,.055)}
.campfire2026-project-card>img{display:block;width:100%;height:330px;object-fit:cover;background:#f6f2ed}
.campfire2026-project-body{padding:22px}
.campfire2026-project-body h3{margin:0 0 10px;font-size:1.28rem}
.campfire2026-project-body p{margin:0;line-height:1.8}
.campfire2026-project-theme{margin-top:15px!important;padding-top:13px;border-top:1px solid #f1e1d8;color:var(--cf-orange-dark);font-weight:800}
.campfire2026-seminar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}
.campfire2026-seminar-card{overflow:hidden;border:1px solid var(--cf-line);border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(89,54,33,.055)}
.campfire2026-seminar-date{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;background:#372f2a;color:#fff}
.campfire2026-seminar-date span{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.13);font-size:.82rem}
.campfire2026-seminar-card>img{display:block;width:100%;height:230px;object-fit:contain;background:#fff}
.campfire2026-seminar-body{padding:20px}
.campfire2026-seminar-body h3{margin:0 0 10px;font-size:1.22rem}
.campfire2026-seminar-body p{margin:0;line-height:1.8}
.campfire2026-center{text-align:center;margin-top:30px}
.campfire2026-coupon{padding:clamp(48px,6vw,80px) 0;background:linear-gradient(135deg,#3b302a,#221d1a);color:#fff}
.campfire2026-coupon-inner{padding:clamp(28px,5vw,52px);border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.055)}
.campfire2026-coupon-label{margin:0 0 8px;color:#ffc09b;font-weight:800;letter-spacing:.08em}
.campfire2026-coupon h2{margin:0;font-size:clamp(1.6rem,1.35rem + 1vw,2.35rem)}
.campfire2026-coupon h2 span{font-size:.65em}
.campfire2026-coupon p{line-height:1.9}
.campfire2026-coupon ul{margin:18px 0 0;padding-left:1.4em;line-height:1.85}
.campfire2026-coupon-booth{display:inline-block;margin-top:22px!important;padding:10px 14px;border-radius:8px;background:var(--cf-orange);font-weight:700}
.sp-only{display:none}
@media(max-width:900px){.campfire2026-project-grid,.campfire2026-seminar-grid{grid-template-columns:1fr 1fr}.campfire2026-cider-grid{grid-template-columns:1fr}}
@media(max-width:767px){
    .sp-only{display:block}
    .campfire2026-hero{padding:24px 0 38px}
    .campfire2026-hero-inner{padding:26px 20px;border-radius:17px}
    .campfire2026-heading{grid-template-columns:1fr;gap:10px}
    .campfire2026-point{width:fit-content;min-height:0;padding:7px 11px}
    .campfire2026-lead{margin-left:0}
    .campfire2026-cider-photo img{min-height:250px}
    .campfire2026-project-grid,.campfire2026-seminar-grid{grid-template-columns:1fr}
    .campfire2026-project-card>img{height:270px}
    .campfire2026-seminar-date{display:block}
    .campfire2026-seminar-date span{display:inline-block;margin-top:7px}
    .campfire2026-seminar-card>img{height:auto}
}


/* ---------------------------------------------------------
   Point 2: project detail link
   --------------------------------------------------------- */
.campfire2026-project-image-link{
    display:block;
    overflow:hidden;
    background:#f6f2ed;
}
.campfire2026-project-image-link img{
    display:block;
    width:100%;
    height:260px;
    object-fit:cover;
    transition:transform .25s ease;
}
.campfire2026-project-image-link:hover img{
    transform:scale(1.015);
}
.campfire2026-project-theme a{
    color:inherit;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.campfire2026-project-link{
    margin-top:16px!important;
    text-align:right;
}
.campfire2026-project-link a{
    display:inline-flex;
    align-items:center;
    color:var(--cf-orange-dark);
    font-weight:800;
    text-decoration:none;
}
.campfire2026-project-link a:after{
    content:"→";
    margin-left:7px;
}
.campfire2026-project-link a:hover{
    text-decoration:underline;
}

/* ---------------------------------------------------------
   Point 3: stage.goodlife-fair.jp inspired cards
   face photos only / all other information is HTML text
   --------------------------------------------------------- */
.campfire2026-stage-list{
    display:grid;
    gap:26px;
    margin-top:36px;
}
.campfire2026-stage-card{
    overflow:hidden;
    border:1px solid #eaded6;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 34px rgba(89,54,33,.055);
}
.campfire2026-stage-time{
    display:flex;
    align-items:center;
    gap:14px;
    padding:15px 22px;
    border-bottom:1px solid #eee2da;
    background:#fff8f3;
    color:var(--cf-ink);
}
.campfire2026-stage-date{
    color:var(--cf-orange-dark);
    font-weight:900;
}
.campfire2026-stage-time strong{
    font-size:1.08rem;
}
.campfire2026-stage-card-inner{
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    gap:30px;
    align-items:start;
    padding:26px;
}
.campfire2026-stage-portraits{
    display:grid;
    gap:12px;
}
.campfire2026-stage-portraits-two{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.campfire2026-stage-portraits figure{
    overflow:hidden;
    margin:0;
    border-radius:12px;
    background:#f3eee9;
}
.campfire2026-stage-portraits img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
}
.campfire2026-stage-copy{
    min-width:0;
}
.campfire2026-stage-place{
    display:inline-block;
    margin:0 0 10px;
    padding:7px 12px;
    border-radius:999px;
    font-size:.82rem;
    font-weight:800;
}
.campfire2026-stage-place-mirai{
    background:#d8eefb;
    color:#315e77;
}
.campfire2026-stage-place-tsunagaru{
    background:#eadcf3;
    color:#654476;
}
.campfire2026-stage-copy h3{
    margin:0 0 14px;
    font-size:clamp(1.22rem,1.08rem + .45vw,1.55rem);
    line-height:1.55;
}
.campfire2026-stage-copy p{
    margin:10px 0 0;
    line-height:1.85;
}
.campfire2026-stage-cast{
    padding:14px 16px;
    border-radius:10px;
    background:#fbf8f5;
    color:#554d48;
}

@media(max-width:767px){
    .campfire2026-project-image-link img{
        height:220px;
    }
    .campfire2026-stage-time{
        display:block;
        padding:13px 16px;
    }
    .campfire2026-stage-time strong{
        display:block;
        margin-top:3px;
    }
    .campfire2026-stage-card-inner{
        grid-template-columns:1fr;
        gap:18px;
        padding:20px;
    }
    .campfire2026-stage-portraits{
        width:min(100%,300px);
    }
}


/* v3: CAMPFIRE SELECTION image height + official stage visuals */
.campfire2026-stage-visual{
    overflow:hidden;
    margin:0;
    border-radius:12px;
    background:#f3eee9;
}
.campfire2026-stage-visual img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
}
@media(max-width:767px){
    .campfire2026-stage-visual{
        width:min(100%,300px);
    }
}


/* =========================================================
   v4 final spacing / mobile tuning
   ========================================================= */

/* Main visual title: one line on PC, two lines on smartphone */
.campfire2026-main-title{
    display:flex;
    align-items:baseline;
    gap:.35em;
    margin:0;
    white-space:nowrap;
    font-size:clamp(1.45rem,2.35vw,2.75rem)!important;
    line-height:1.2!important;
    letter-spacing:-.035em;
}
.campfire2026-main-title span{display:inline}

/* Project theme: text is bold/normal color; keep the divider line */
.campfire2026-project-theme{
    margin-top:15px!important;
    padding-top:13px;
    border-top:1px solid #f1e1d8;
    color:inherit;
    font-weight:800;
}

/* Stage section */
.campfire2026-stage-list{
    gap:20px;
    margin-top:28px;
}
.campfire2026-stage-date{
    font-size:1.35rem;
    line-height:1.2;
}
.campfire2026-stage-time{
    padding:12px 18px;
}
.campfire2026-stage-card-inner{
    grid-template-columns:190px minmax(0,1fr);
    grid-template-areas:
        "visual head"
        "visual details";
    gap:14px 24px;
    padding:22px;
}
.campfire2026-stage-visual{grid-area:visual}
.campfire2026-stage-head-copy{grid-area:head;min-width:0}
.campfire2026-stage-details{grid-area:details;min-width:0}
.campfire2026-stage-head-copy h3{
    margin:0;
    font-size:clamp(1.18rem,1.05rem + .4vw,1.48rem);
    line-height:1.5;
}
.campfire2026-stage-details p{
    margin:10px 0 0;
    line-height:1.78;
}
.campfire2026-stage-cast{
    padding:12px 14px;
}

@media(max-width:767px){
    .campfire2026-hero{
        padding:18px 0 28px;
    }
    .campfire2026-hero-inner{
        padding:22px 18px;
    }
    .campfire2026-main-title{
        display:block;
        white-space:normal;
        font-size:clamp(1.42rem,6.2vw,1.8rem)!important;
        line-height:1.35!important;
    }
    .campfire2026-main-title span{
        display:block;
    }
    .campfire2026-main-title span + span{
        margin-top:2px;
    }

    .campfire2026-stage-list{
        gap:16px;
        margin-top:24px;
    }
    .campfire2026-stage-card{
        border-radius:14px;
    }
    .campfire2026-stage-time{
        display:flex;
        align-items:center;
        gap:10px;
        padding:10px 14px;
    }
    .campfire2026-stage-date{
        font-size:1.25rem;
    }
    .campfire2026-stage-time strong{
        display:inline;
        margin-top:0;
        font-size:1rem;
    }
    .campfire2026-stage-card-inner{
        grid-template-columns:112px minmax(0,1fr);
        grid-template-areas:
            "visual head"
            "details details";
        gap:14px;
        padding:16px;
    }
    .campfire2026-stage-visual{
        width:112px;
        border-radius:10px;
    }
    .campfire2026-stage-head-copy h3{
        font-size:1rem;
        line-height:1.5;
    }
    .campfire2026-stage-place{
        margin-bottom:8px;
        padding:5px 9px;
        font-size:.75rem;
    }
    .campfire2026-stage-details{
        padding-top:2px;
    }
    .campfire2026-stage-details p{
        font-size:.93rem;
        line-height:1.72;
    }
    .campfire2026-stage-cast{
        padding:11px 12px;
    }
}

/* CRAZY CIDER official button: centered */
.campfire2026-cider-copy .campfire2026-btn{
    display:flex;
    width:fit-content;
    margin:18px auto 0;
}
