/* ============================================================
   AI Creative ONE — Complete Stylesheet
   ============================================================ */
:root {
  /* ── Brand Colors ── */
  --primary: #E81B1B;
  --primary-dark: #C01515;
  --primary-light: #FDE9E9;
  --primary-border: #F4AAAA;
  --white: #ffffff;
  --surface: #FAFAFA;
  --gray-50: #F8F8F8;
  --gray-100: #F0F0F0;
  --gray-200: #E0E0E0;
  --gray-300: #c8c8c8;
  --gray-500: #888888;
  --gray-700: #3a3a3a;
  --black: #0A0A0A;
  --text: #0A0A0A;
  --text-sub: #555555;
  --text-muted: #555555;

  /* ── Legacy aliases (互換用) ── */
  --navy: #E81B1B;
  --navy-dark: #C01515;
  --navy-light: #E81B1B;
  --red: #E81B1B;
  --red-light: #FDE9E9;
  --red-border: #F4AAAA;

  /* ── Layout ── */
  --h: 64px;
  --max: 1080px;
  --section-y: 100px;
  --section-x: 80px;
  --card-pad: 32px;
  --gap-grid: 24px;

  /* ── Border Radius ── */
  --r4: 4px;
  --r8: 8px;
  --r12: 12px;
  --r16: 16px;
  --r24: 24px;

  /* ── Shadows ── */
  --sd1: 0 2px 8px rgba(10,10,10,.06);
  --sd2: 0 6px 24px rgba(10,10,10,.10);
  --sd3: 0 16px 48px rgba(10,10,10,.14);

  /* ── Fonts ── */
  --font-jp: 'Noto Sans JP', sans-serif;
  --font-display: 'Nunito', sans-serif;
  --font-mono: 'DM Mono', monospace;

  /* ── Transition ── */
  --t: .2s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-jp);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ── LAYOUT ── */
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.sec{padding:80px 0}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 26px;border-radius:var(--r4);font-size:14px;font-weight:700;line-height:1.4;white-space:nowrap;transition:all var(--t);cursor:pointer;border:2px solid transparent}
.btn-primary,.btn-navy{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover,.btn-navy:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-red{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-red:hover{background:var(--primary-dark);border-color:var(--primary-dark)}
.btn-dark{background:var(--black);color:#fff;border-color:var(--black)}
.btn-dark:hover{background:#222;border-color:#222}
.btn-white{background:#fff;color:var(--primary)}
.btn-white:hover{background:var(--gray-50)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{border-color:#fff}
.btn-lg{padding:13px 32px;font-size:15px}
.btn-sm{padding:8px 18px;font-size:13px}
.btn-full{width:100%}

/* ── HEADER ── */
.hd{position:fixed;top:0;left:0;right:0;height:var(--h);background:#fff;border-bottom:1px solid var(--gray-200);z-index:1000;transition:box-shadow var(--t)}
.hd.scrolled{box-shadow:var(--sd1)}
.hd__in{max-width:1200px;margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;gap:24px}
.hd__logo{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;flex-shrink:0}
.hd__logo img{height:40px}
.hd__nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.hd__links{display:flex;align-items:center;gap:24px}
.hd__links a{font-size:13px;font-weight:500;color:var(--text-sub);transition:color var(--t)}
.hd__links a:hover,.hd__links a.active{color:var(--primary);font-weight:700}
.hd__cta{display:flex;align-items:center;gap:8px}
.hmbg{display:none;flex-direction:column;gap:5px;padding:4px;flex-shrink:0}
.hmbg span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:all var(--t);display:block}
.hmbg.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hmbg.open span:nth-child(2){opacity:0}
.hmbg.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1100}
.overlay.open{display:block}
.mob-menu{position:fixed;top:0;right:-290px;width:270px;height:100%;background:#fff;z-index:1200;padding:24px;transition:right .3s cubic-bezier(.22,.61,.36,1);overflow-y:auto}
.mob-menu.open{right:0}
.mob-menu__x{display:block;margin-left:auto;margin-bottom:24px;font-size:20px;color:var(--text-muted);padding:4px 8px;text-align:right}
.mob-menu__links{display:flex;flex-direction:column;gap:0;margin-bottom:24px}
.mob-menu__links a{display:block;padding:14px 0;font-size:15px;font-weight:500;color:var(--text);border-bottom:1px solid var(--gray-200)}
.mob-menu__cta{display:flex;flex-direction:column;gap:10px}

/* ── SCROLL FADE ── */
.sf{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.sf.on{opacity:1;transform:translateY(0)}
.sf1{transition-delay:.1s}.sf2{transition-delay:.2s}.sf3{transition-delay:.3s}

/* ── FOOTER ── */
.ft{background:var(--black);color:#fff}
.ft__in{max-width:var(--max);margin:0 auto;padding:60px 30px 40px;display:flex;gap:80px;align-items:flex-start}
.ft__brand{flex-shrink:0}
.ft__logo-txt{font-family:var(--font-display);font-weight:700;font-size:15px;color:#fff;display:block;margin-bottom:16px}
.ft__social{display:flex;gap:14px;margin-top:16px}
.ft__social a{width:50px;height:50px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:color var(--t)}
.ft__social a:hover{color:#fff}
.ft__social svg{width:24px;height:24px}
.ft__nav{margin-left:auto}
.ft__nav h4{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px}
.ft__nav ul{display:flex;flex-direction:column;gap:10px}
.ft__nav a{font-size:13px;color:rgba(255,255,255,.6);transition:color var(--t)}
.ft__nav a:hover{color:#fff}
.ft__btm{border-top:1px solid rgba(255,255,255,.1);padding:20px 40px}
.ft__btm p{font-size:12px;color:rgba(255,255,255,.3);max-width:var(--max);margin:0 auto}

/* ============================================================
   TOP PAGE (index.html)
   ============================================================ */

/* HERO — white bg, 2-col: text left, image right */
.hero{padding-top:var(--h);background:#fff;overflow:hidden}
.hero__in{max-width:var(--max);margin:0 auto;padding:0px 10px 0;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:flex-start;min-height:calc(70vh - var(--h))}
.hero__content{padding-top:75px;max-width:700px}
.hero__title{font-size:clamp(32px,4.0vw,46px);font-weight:700;line-height:1.3;color:var(--text);margin-bottom:16px;letter-spacing:-.01em}
.hero__desc{font-size:14px;color:var(--text-muted);line-height:1.85;margin-bottom:22px}
.hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.hero__tag{font-size:14px;font-weight:600;padding:5px 10px;border-radius:var(--r4);background:var(--red-light);color:var(--red);border:1px solid var(--red-border)}
.hero__tag--b{background:var(--primary-light);color:var(--primary);border-color:var(--primary-border)}
.hero__tag--g{background:var(--gray-100);color:var(--text-sub);border-color:var(--gray-200)}
.hero__img{display:flex;align-items:flex-end;justify-content:flex-end;flex-shrink:0;width:600px;max-width:50vw}
.hero__img img{width:100%;height:auto;object-fit:cover}

/* INTRO BAND — dark navy */
.intro{background:var(--black);padding:var(--section-y) 0}
.intro__in{max-width:var(--max);margin:0 auto;padding:40 20px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intro__screens{border-radius:var(--r12);overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.3)}
.intro__screens img{width:100%;display:block}
.intro__right{}
.intro__logo{margin-bottom:20px;display:flex;align-items:center;gap:8px}
.intro__body{font-size:14px;color:#fff;line-height:1.9}
.intro__body strong{color:#fff}
.intro__title{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:#fff;line-height:1.5;margin-bottom:16px}

/* CAN-DO */
.cando{padding:var(--section-y) 0;background:#fff}
.cando__in{max-width:var(--max);margin:0 auto;padding:0 40px}
.sec-title{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:var(--text);text-align:center;margin-bottom:48px;line-height:1.4}
.cando__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-grid)}
.cando__card{border:1px solid var(--gray-200);border-radius:var(--r12);overflow:hidden;transition:box-shadow var(--t)}
.cando__card:hover{box-shadow:var(--sd2)}
.cando__thumb{aspect-ratio:4/3;overflow:hidden}
.cando__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cando__card:hover .cando__thumb img{transform:scale(1.04)}
.cando__body{padding:var(--card-pad)}
.cando__tag{display:inline-block;font-size:14px;font-weight:600;padding:3px 10px;border-radius:3px;background:var(--red-light);color:var(--red);border:1px solid var(--red-border);margin-bottom:8px;letter-spacing:.04em}
.cando__h{font-size:18px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.5}
.cando__list li{font-size:13px;color:var(--text-muted);padding-left:12px;position:relative;line-height:1.65}
.cando__list li+li{margin-top:3px}
.cando__list li::before{content:'・';position:absolute;left:0}
.cando__cap{text-align:center;font-size:24px;font-weight:550;color:var(--text);line-height:1.75;margin-top:48px}

/* HOW IT WORKS — navy bg */
.how{background:var(--black);padding:var(--section-y) 0}
.how__in{max-width:860px;margin:0 auto;padding:0 40px}
.how__title{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:#fff;text-align:center;margin-bottom:10px}
.how__sub{font-size:18px;color:#FFFFFF;text-align:center;margin-bottom:52px;line-height:1.7}
.how__before{border-radius:var(--r12);overflow:hidden}
.how__before img{width:800px;height:420px;object-fit:cover}
.how__arr{display:flex;align-items:center;justify-content:center;width:56px}
.how__arr svg{color:#fff;width:32px;height:32px}
.how__cap{text-align:center;margin-top:20px;font-size:13px;color:rgba(255,255,255,.5)}

/* STEPS */
.steps{padding:var(--section-y) 0;background:#fff}
.steps__in{max-width:var(--max);margin:0 auto;padding:0 40px}
.steps__title{font-size:clamp(24px,2.5vw,32px);font-weight:700;text-align:center;margin-bottom:64px;color:var(--text)}
.step-list{display:flex;flex-direction:column;gap:56px}
.step{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.step--r{direction:rtl}
.step--r>*{direction:ltr}
.step__num{display:inline-block;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.1em;padding:3px 12px;background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border);margin-bottom:14px}
.step__h{font-size:24px;font-weight:700;color:var(--text);margin-bottom:12px;line-height:1.45}
.step__p{font-size:14px;color:var(--text-muted);line-height:1.85}
.step__img{border-radius:var(--r16);overflow:hidden;border:1px solid var(--gray-200)}
.step__img img{width:100%;height:260px;object-fit:cover}

/* SLIDER */
.slider-sec{padding:80px 0;background:var(--gray-50)}
.slider-sec__in{max-width:var(--max);margin:0 auto;padding:0 40px}
.slider-sec .sec-title{margin-bottom:28px;text-align:left;font-size:clamp(24px,2.5vw,32px)}
.s-tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.s-tab{padding:7px 20px;border-radius:30px;font-size:13px;font-weight:600;color:var(--text-muted);background:#fff;border:1px solid var(--gray-200);transition:all var(--t);cursor:pointer}
.s-tab.on{background:var(--primary);color:#fff;border-color:var(--primary)}
.s-panel{display:none}
.s-panel.on{display:block}
.s-track-wrap{overflow:hidden;border-radius:var(--r12)}
.s-track{display:flex;transition:transform .4s cubic-bezier(.22,.61,.36,1);will-change:transform}
.s-slide{flex-shrink:0;padding:0 6px}
.s-slide img{width:100%;aspect-ratio:3/3;object-fit:cover;border-radius:var(--r8);display:block}
.s-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}
.s-arr{width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid var(--gray-200);font-size:18px;color:var(--text);display:flex;align-items:center;justify-content:center;transition:all var(--t);cursor:pointer}
.s-arr:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* SIMPLE CTA */
.scta{padding:72px 0;background:#fff;text-align:center}
.scta h2{font-size:24px;font-weight:700;color:var(--text);margin-bottom:28px}

/* ============================================================
   CORPORATE PAGE
   ============================================================ */
.corp-hero{background:var(--black);padding:96px 0 80px;margin-top:var(--h);text-align:center}
.corp-hero__in{max-width:800px;margin:0 auto;padding:0 40px}
.corp-hero__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:#fff;line-height:1.4;margin-bottom:16px}
.corp-hero__p{font-size:18px;color:#fff;line-height:1.85;margin-bottom:32px}

/* WORRIES */
.worries{padding:var(--section-y) 0;background:#fff}
.worries__in{max-width:var(--max);margin:0 auto;padding:0 40px}
.worries .sec-title{margin-bottom:12px}
.worries__sub{text-align:center;font-size:18px;color:var(--text-muted);line-height:1.85;margin-bottom:36px}
.worries__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.worry{border:1.5px solid var(--gray-200);border-radius:var(--r12);padding:28px 20px;text-align:center;font-size:18px;font-weight:600;color:var(--text-sub);line-height:1.7}
.worries__banner{background:var(--red-light);border:1px solid var(--red-border);border-radius:var(--r8);padding:16px 28px;text-align:center;font-size:16px;font-weight:600;color:var(--red)}

/* SECURITY */
.security{padding:40px 0;background:#fff}
.security__in{max-width:var(--max);margin:0 auto;padding:0 40px}
.security .sec-title{margin-bottom:50px}
.security__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px}
.sec-item{text-align:center}
.sec-item__icon{width:120px;height:120px;margin:0 auto 18px;background:var(--gray-100);border-radius:50%;display:flex;align-items:center;justify-content:center}
.sec-item__icon svg{width:60px;height:60px;color:var(--primary)}
.sec-item h3{font-size:21px;font-weight:700;color:var(--text);margin-bottom:12px}
.sec-item p{font-size:14px;color:var(--text-muted);line-height:1.8}

/* SUPPORT */
.support{background:var(--black);padding:var(--section-y) 0}
.support__in{max-width:950px;margin:0 auto;padding:0 40px}
.support .sec-title{color:#fff;margin-bottom:48px}
.sup-cards{display:flex;flex-direction:column;gap:20px}
.sup-card{background:rgba(255,255,255,.96);border-radius:var(--r24);padding:32px 36px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.sup-card__badge{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.07em;padding:4px 12px;border-radius:3px;background:var(--red);color:#fff;margin-bottom:12px}
.sup-card__h{font-size:21px;font-weight:700;color:var(--text);margin-bottom:10px;line-height:1.4}
.sup-card__p{font-size:16px;color:var(--text-muted);line-height:1.75;margin-bottom:14px}
.sup-card__list li{font-size:18px;font-weight:700;color:var(--red);padding-left:14px;position:relative;line-height:1.6}
.sup-card__list li+li{margin-top:5px}
.sup-card__list li::before{content:'・';position:absolute;left:0}
.sup-card__img{width:300px;flex-shrink:0;border-radius:var(--r12);overflow:hidden;align-self:center}
.sup-card__img img{width:100%;height:300px;object-fit:cover;display:block}

/* CORP CTA */
.corp-cta{padding:80px 0;background:#fff;text-align:center;border-top:1px solid var(--gray-200)}
.corp-cta__in{max-width:680px;margin:0 auto;padding:0 40px}
.corp-cta__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:var(--text);margin-bottom:14px}
.corp-cta__p{font-size:14px;color:var(--text-muted);line-height:1.85;margin-bottom:36px}
.corp-cta__btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ============================================================
   PLAN PAGE
   ============================================================ */
.plan-hero{background:#fff;padding:60px 0 50px;margin-top:var(--h);text-align:center}
.plan-hero__tag{display:inline-block;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--primary);margin-bottom:14px}
.plan-hero__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:var(--text);margin-bottom:10px}
.plan-hero__p{font-size:18px;color:var(--text-muted)}

/* PRICING */
.pricing{padding:20px 0 60px;background:#fff}
.pricing__in{max-width:var(--max);margin:0 auto;padding:0 20px}
.pricing__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.p-card{border:1.5px solid var(--gray-200);border-radius:var(--r24);padding:28px 20px;display:flex;flex-direction:column;transition:box-shadow var(--t)}
.p-card:hover{box-shadow:var(--sd2)}
.p-card--blue{border-color:var(--primary);border-width:2px}
.p-card--red{border-color:var(--primary-dark);border-width:2px}
.p-card__name{font-size:18px;text-align:center;font-weight:700;color:var(--text);margin-bottom:5px}
.p-card--blue .p-card__name{color:var(--primary)}
.p-card--red .p-card__name{color:var(--primary-dark)}
.p-card__desc{font-size:13px;text-align:center;color:var(--text-muted);line-height:1.55;margin-bottom:20px;min-height:44px}
.p-card__price{text-align:center;margin-bottom:6px}
.p-card__amt{font-family:var(--font-display);font-size:40px;font-weight:700;color:var(--text);line-height:1;}
.p-card--blue .p-card__amt{color:var(--primary)}
.p-card__amt--sm{font-size:28px;}
.p-card__cred{font-size:12px;color:var(--text-muted);line-height:1.6;margin-bottom:20px}
.p-card__feats{flex:1;display:flex;flex-direction:column;gap:5px;margin:7px 0 25px 0}
.p-card__feats li{font-size:12.5px;color:var(--text-sub);padding-left:16px;position:relative;line-height:1.5}
.p-card__feats li::before{content:'✓';position:absolute;left:0;color:var(--primary);font-weight:700}
.p-card--red .p-card__feats li::before{color:var(--primary-dark)}

/* CREDIT CHARGE */
.credit-charge{padding:40px 0 60px;background:#fff}
.credit-charge__in{max-width:var(--max);margin:0 auto;padding:0 20px}
.credit-charge__h{font-size:24px;font-weight:700;text-align:center;color:var(--text);margin-bottom:8px}
.credit-charge__sub{font-size:14px;text-align:center;color:var(--text-muted);margin-bottom:32px}
.credit-charge__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:780px;margin:0 auto}
.cc-card{border:1.5px solid var(--gray-200);border-radius:var(--r24);padding:28px 20px;text-align:center;position:relative;transition:box-shadow var(--t)}
.cc-card:hover{box-shadow:var(--sd2)}
.cc-card--best{border-color:var(--primary);border-width:2px}
.cc-card__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:3px 14px;border-radius:100px;white-space:nowrap}
.cc-card__tier{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;margin-bottom:12px}
.cc-card__credits{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px}
.cc-card--best .cc-card__credits{color:var(--primary)}
.cc-card__unit{font-size:14px;font-weight:500;color:var(--text-muted)}
.cc-card__price{font-size:22px;font-weight:700;color:var(--text);margin:12px 0 4px}
.cc-card--best .cc-card__price{color:var(--primary)}
.cc-card__per{font-size:12px;color:var(--text-muted)}

/* OPTION */
.option{padding:56px 0 80px;background:var(--gray-50)}
.option__in{max-width:var(--max);margin:0 auto;padding:0 40px}
.option__head{text-align:center;margin-bottom:36px}
.option__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:var(--primary);margin-bottom:6px}
.option__sub{font-size:18px;color:var(--text-muted)}
.option__body{background:#fff;border-radius:var(--r24);padding:40px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}
.option__desc{font-size:15px;color:var(--text);line-height:1.85;margin-bottom:18px}
.option__list li{font-size:16px;font-weight:500;color:var(--red);padding-left:14px;position:relative;line-height:1.3}
.option__list li+li{margin-top:6px}
.option__list li::before{content:'・';position:absolute;left:0;color:var(--red)}
.option__list{margin-bottom:28px}
.option__imgs{display:flex;align-items:center;gap:12px;flex-shrink:0}
.option__img{width:138px;border-radius:var(--r12);overflow:hidden}
.option__img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.option__arr{font-size:22px;color:var(--text-muted)}

/* ============================================================
   FAQ PAGE
   ============================================================ */
.faq-hero{background:#fff;padding:88px 0 40px;margin-top:var(--h)}
.faq-hero__in{max-width:860px;margin:0 auto;padding:0 40px}
.faq-hero__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:var(--text)}

.faq-body{padding:0 0 80px;background:#fff}
.faq-body__in{max-width:860px;margin:0 auto;padding:0 40px}
.fq-group{margin-bottom:52px}
.fq-group__h{font-size:24px;font-weight:700;color:var(--text);padding-bottom:12px;border-bottom:2px solid var(--text);margin-bottom:0}
.fq-item{border-bottom:1px solid var(--gray-200)}
.fq-item summary{display:flex;align-items:flex-start;gap:12px;padding:17px 0;cursor:pointer;list-style:none;font-size:16px;font-weight:500;color:var(--text);line-height:1.6}
.fq-item summary::-webkit-details-marker{display:none}
.fq-q{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;background:var(--primary);color:#fff;font-family:var(--font-display);font-size:14px;font-weight:700;border-radius:var(--r4);margin-top:1px}
.fq-txt{flex:1}
.fq-ico{margin-left:auto;flex-shrink:0;font-size:18px;color:var(--text-muted);transition:transform var(--t)}
.fq-item[open] .fq-ico{transform:rotate(180deg)}
.fq-ans{padding:0 0 18px 36px;font-size:16px;color:var(--text-muted);line-height:1.9}
.fq-ans p+p{margin-top:6px}

/* FAQ CTA */
.faq-cta{background:var(--black);padding:64px 0;text-align:center}
.faq-cta__in{max-width:680px;margin:0 auto;padding:0 40px}
.faq-cta__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:#fff;margin-bottom:14px}
.faq-cta__p{font-size:14px;color:#fff;margin-bottom:32px;line-height:1.85}
.faq-cta__btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-hero{background:#fff;padding:88px 0 40px;margin-top:var(--h)}
.contact-hero__in{max-width:860px;margin:0 auto;padding:0 40px}
.contact-hero__h{font-size:clamp(24px,2.5vw,32px);font-weight:700;color:var(--text)}
.contact-hero__p{font-size:18px;color:var(--text-muted);margin-top:10px;line-height:1.85}

.contact-body{padding:0 0 80px;background:#fff}
.contact-body__in{max-width:680px;margin:0 auto;padding:0 40px}
.contact-form{display:flex;flex-direction:column;gap:24px}
.contact-group{display:flex;flex-direction:column;gap:6px}
.contact-label{font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}
.contact-req{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r4);background:var(--red);color:#fff;line-height:1.4}
.contact-opt{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--r4);background:var(--gray-200);color:var(--text-muted);line-height:1.4}
.contact-input,.contact-select,.contact-textarea{width:100%;padding:12px 16px;border:1.5px solid var(--gray-200);border-radius:var(--r8);font-size:15px;font-family:inherit;color:var(--text);background:#fff;transition:border-color var(--t),box-shadow var(--t);outline:none}
.contact-input:focus,.contact-select:focus,.contact-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(232,27,27,.1)}
.contact-input.is-error,.contact-select.is-error,.contact-textarea.is-error{border-color:var(--red);box-shadow:0 0 0 3px rgba(224,51,74,.1)}
.contact-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a7d9a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.contact-textarea{resize:vertical;min-height:160px}
.contact-error{font-size:12px;color:var(--red);margin-top:2px;display:none}
.contact-error.is-show{display:block}
.contact-note{font-size:13px;color:var(--text-muted);line-height:1.7;text-align:center;margin-top:8px}
.contact-submit{text-align:center;margin-top:8px}
.contact-submit .btn{min-width:240px}
.contact-submit .btn:disabled{opacity:.6;cursor:not-allowed}
.contact-spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}
.contact-submit .btn.is-loading .contact-spinner{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.contact-success{display:none;text-align:center;padding:60px 20px}
.contact-success.is-show{display:block}
.contact-success__icon{width:64px;height:64px;margin:0 auto 20px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center}
.contact-success__icon svg{width:32px;height:32px;color:#fff}
.contact-success__h{font-size:22px;font-weight:700;color:var(--text);margin-bottom:12px}
.contact-success__p{font-size:15px;color:var(--text-muted);line-height:1.85}
.contact-alert{display:none;padding:14px 18px;border-radius:var(--r8);background:var(--red-light);border:1px solid var(--red-border);color:var(--red);font-size:14px;margin-bottom:8px}
.contact-alert.is-show{display:block}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .hero__in{grid-template-columns:1fr;min-height:auto;padding-bottom:48px}
  .hero__img{width:100%;max-width:480px;margin:0 auto}
  .intro__in{grid-template-columns:1fr}
  .cando__grid{grid-template-columns:repeat(2,1fr)}
  .how__vis{grid-template-columns:1fr 48px 1fr}
  .step{grid-template-columns:1fr;gap:24px}
  .step--r{direction:ltr}
  .pricing__grid{grid-template-columns:repeat(2,1fr)}
  .credit-charge__grid{grid-template-columns:repeat(3,1fr)}
  .option__body{grid-template-columns:1fr}
  .option__imgs{justify-content:center}
  .worries__grid{grid-template-columns:1fr}
  .security__grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}
  .sup-card{grid-template-columns:1fr}
  .sup-card__img{width:100%;max-width:280px;margin:0 auto}
}
@media(max-width:640px){
  :root{--section-y:64px;--section-x:24px;--card-pad:24px}
  .wrap,.hero__in,.intro__in,.cando__in,.how__in,.steps__in,.slider-sec__in,
  .worries__in,.security__in,.support__in,.corp-cta__in,.pricing__in,.option__in,
  .contact-hero__in,.contact-body__in,
  .faq-hero__in,.faq-body__in,.faq-cta__in,.ft__in,.ft__btm{padding-left:var(--section-x);padding-right:var(--section-x)}
  .hd__nav{display:none}
  .hmbg{display:flex}
  .cando__grid{grid-template-columns:1fr;max-width:360px;margin:0 auto}
  .how__vis{grid-template-columns:1fr}
  .how__arr{transform:rotate(90deg);margin:0 auto}
  .pricing__grid{grid-template-columns:1fr;max-width:340px;margin:0 auto}
  .credit-charge__in{padding-left:var(--section-x);padding-right:var(--section-x)}
  .credit-charge__grid{grid-template-columns:1fr;max-width:280px;margin:0 auto}
  .option__body{padding:var(--card-pad) 20px}
  .ft__in{flex-direction:column;gap:32px}
  .ft__nav{margin-left:0}
  .sec-title{font-size:20px}
  .sup-card{padding:var(--card-pad) 20px}
  .hero__title{font-size:clamp(28px,6vw,40px)}
  .steps__title,.how__title,.corp-hero__h,.faq-hero__h,.plan-hero__h{font-size:clamp(24px,5vw,32px)}
}
