/*
Theme Name: ヨルミチ相談室
Theme URI: https://yorumichisoudan.com
Author: 合同会社Humappy
Author URI: https://yorumichisoudan.com
Description: 栄町・千葉エリアの夜職経験者向け転職相談サイト
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tabular
Tags: consultation, career, custom-logo, custom-menu, featured-images
*/
:root{--color-white:#FFFFFF;--color-bg:#FFFFFF;--color-bg-warm:#FAFBFE;--color-bg-section:#F3F6FB;--color-bg-accent:#EEF5FA;--color-text:#1A1A2E;--color-text-sub:#4A4A5A;--color-text-light:#7A7A8A;--color-primary:#2E86AB;--color-primary-dark:#246A8A;--color-primary-light:#D6EBF5;--color-secondary:#4ECDC4;--color-secondary-dark:#3BA89F;--color-accent-warm:#F4A261;--color-border:#E2E8F0;--color-border-light:#F0F0F5;--color-shadow:rgba(26,26,46,0.06);--color-shadow-md:rgba(26,26,46,0.1);--color-line-green:#06C755;--color-line-green-dark:#05A847;--color-success:#48BB78;--color-error:#E53E3E;--font-main:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-accent:'Inter',var(--font-main);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px var(--color-shadow);--shadow-md:0 4px 12px var(--color-shadow-md);--shadow-lg:0 8px 30px var(--color-shadow-md);--shadow-xl:0 16px 48px rgba(26,26,46,0.12);--shadow-card:0 2px 8px var(--color-shadow),0 0 0 1px var(--color-border-light);--transition-fast:0.15s ease;--transition-base:0.25s ease;--transition-slow:0.4s ease;--container-max:1100px;--container-narrow:800px;--header-height:70px;--fixed-cta-height:64px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-main);font-size:var(--font-size-base);font-weight:400;line-height:1.8;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:var(--header-height)}
body.has-fixed-cta{padding-bottom:var(--fixed-cta-height)}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--color-primary-dark)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.4;color:var(--color-text)}
p{margin-bottom:var(--space-md)}
p:last-child{margin-bottom:0}
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}
.container--narrow{max-width:var(--container-narrow)}
.section{padding:var(--space-4xl) 0}
.section--bg{background-color:var(--color-bg-section)}
.section--accent{background-color:var(--color-bg-accent)}
.section__title{font-size:var(--font-size-2xl);font-weight:700;text-align:center;margin-bottom:var(--space-3xl);position:relative}
.section__title::after{content:'';display:block;width:48px;height:3px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));margin:var(--space-md) auto 0;border-radius:var(--radius-full)}
.section__subtitle{font-size:var(--font-size-md);color:var(--color-text-sub);text-align:center;margin-top:calc(var(--space-md)*-1);margin-bottom:var(--space-3xl);font-weight:400}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--header-height);background:rgba(255,255,255,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border-light);transition:box-shadow var(--transition-base)}
.site-header.is-scrolled{box-shadow:var(--shadow-md)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}
.site-logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--color-text)}
.site-logo__icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-md);color:white;font-size:18px}
.site-logo__text{font-size:var(--font-size-lg);font-weight:700;letter-spacing:0.02em}
.site-logo__text span{color:var(--color-primary)}
.main-nav{display:none}
.main-nav__list{display:flex;gap:var(--space-lg);align-items:center}
.main-nav__link{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-sub);padding:var(--space-sm) 0;position:relative;transition:color var(--transition-fast)}
.main-nav__link:hover{color:var(--color-primary)}
.main-nav__link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width var(--transition-base)}
.main-nav__link:hover::after{width:100%}
.header-cta{display:flex;align-items:center;gap:var(--space-sm)}
.header-cta .btn--line{font-size:var(--font-size-sm);padding:8px 16px;display:none}
.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-sm);z-index:1001}
.menu-toggle__bar{width:24px;height:2px;background-color:var(--color-text);border-radius:var(--radius-full);transition:transform var(--transition-base),opacity var(--transition-fast)}
.menu-toggle.is-active .menu-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-active .menu-toggle__bar:nth-child(2){opacity:0}
.menu-toggle.is-active .menu-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:rgba(255,255,255,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}
.mobile-nav.is-active{opacity:1;visibility:visible}
.mobile-nav__list{display:flex;flex-direction:column;gap:var(--space-lg);text-align:center}
.mobile-nav__link{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);transition:color var(--transition-fast)}
.mobile-nav__link:hover{color:var(--color-primary)}
.mobile-nav__cta{margin-top:var(--space-2xl)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);font-family:var(--font-main);font-size:var(--font-size-base);font-weight:600;line-height:1;padding:14px 28px;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap}
.btn--line{background-color:var(--color-line-green);color:white;box-shadow:0 4px 14px rgba(6,199,85,0.3)}
.btn--line:hover{background-color:var(--color-line-green-dark);color:white;transform:translateY(-2px);box-shadow:0 6px 20px rgba(6,199,85,0.35)}
.btn--line .btn__icon{font-size:1.2em}
.btn--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:white;box-shadow:0 4px 14px rgba(46,134,171,0.3)}
.btn--primary:hover{color:white;transform:translateY(-2px);box-shadow:0 6px 20px rgba(46,134,171,0.35)}
.btn--outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}
.btn--outline:hover{background-color:var(--color-primary);color:white;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--color-text-sub);border:2px solid var(--color-border)}
.btn--ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}
.btn--lg{font-size:var(--font-size-md);padding:18px 36px;border-radius:var(--radius-xl)}
.btn--sm{font-size:var(--font-size-sm);padding:10px 20px;border-radius:var(--radius-md)}
.btn--full{width:100%}
.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-xl);transition:transform var(--transition-base),box-shadow var(--transition-base)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border-radius:var(--radius-md);font-size:24px;margin-bottom:var(--space-md)}
.card__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-sm)}
.card__text{font-size:var(--font-size-sm);color:var(--color-text-sub);line-height:1.7}
.card-grid{display:grid;gap:var(--space-xl)}
.card-grid--2{grid-template-columns:1fr}
.card-grid--3{grid-template-columns:1fr}
.hero{position:relative;padding:var(--space-4xl) 0 var(--space-5xl);background:linear-gradient(170deg,var(--color-bg-warm) 0%,var(--color-bg-accent) 50%,var(--color-primary-light) 100%);overflow:hidden}
.hero::before{content:'';position:absolute;top:-60%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(46,134,171,0.06) 0%,transparent 70%);border-radius:50%}
.hero::after{content:'';position:absolute;bottom:-40%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(78,205,196,0.05) 0%,transparent 70%);border-radius:50%}
.hero__content{position:relative;z-index:1;text-align:center;max-width:680px;margin:0 auto}
.hero__badge{display:inline-flex;align-items:center;gap:var(--space-sm);background:rgba(46,134,171,0.08);border:1px solid rgba(46,134,171,0.15);border-radius:var(--radius-full);padding:6px 18px;font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500;margin-bottom:var(--space-xl)}
.hero__title{font-size:var(--font-size-2xl);font-weight:700;line-height:1.5;margin-bottom:var(--space-lg);color:var(--color-text)}
.hero__title em{font-style:normal;color:var(--color-primary)}
.hero__subtitle{font-size:var(--font-size-md);color:var(--color-text-sub);line-height:1.8;margin-bottom:var(--space-2xl)}
.hero__actions{display:flex;flex-direction:column;gap:var(--space-md);align-items:center;margin-bottom:var(--space-xl)}
.hero__trust{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md)}
.hero__trust-item{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-sub);font-weight:500}
.hero__trust-item .check-icon{color:var(--color-secondary);font-weight:700}
.worries-list{display:flex;flex-direction:column;gap:var(--space-md);max-width:600px;margin:0 auto var(--space-2xl)}
.worry-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--color-white);border-radius:var(--radius-md);border-left:3px solid var(--color-primary);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}
.worry-item:hover{transform:translateX(4px)}
.worry-item__icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:var(--font-size-lg)}
.worry-item__text{font-size:var(--font-size-base);color:var(--color-text);line-height:1.6}
.worries__closing{text-align:center;font-size:var(--font-size-md);color:var(--color-text-sub);margin-top:var(--space-xl);line-height:1.8}
.worries__closing strong{color:var(--color-primary)}
.feature-card{text-align:center;padding:var(--space-2xl) var(--space-xl)}
.feature-card__icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-light),rgba(78,205,196,0.15));border-radius:var(--radius-lg);font-size:32px;margin:0 auto var(--space-lg)}
.feature-card__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-sm)}
.feature-card__text{font-size:var(--font-size-sm);color:var(--color-text-sub);line-height:1.7}
.features__note{text-align:center;margin-top:var(--space-2xl);font-size:var(--font-size-sm);color:var(--color-text-light)}
.features__note p{margin-bottom:var(--space-xs)}
.steps{display:flex;flex-direction:column;gap:var(--space-xl);max-width:600px;margin:0 auto}
.step{display:flex;gap:var(--space-lg);align-items:flex-start}
.step__number{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:white;font-family:var(--font-accent);font-size:var(--font-size-lg);font-weight:700;border-radius:50%;position:relative}
.step:not(:last-child) .step__number::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);width:2px;height:32px;background:linear-gradient(to bottom,var(--color-primary-light),transparent)}
.step__content{padding-top:4px}
.step__title{font-size:var(--font-size-md);font-weight:700;margin-bottom:var(--space-xs)}
.step__text{font-size:var(--font-size-sm);color:var(--color-text-sub);line-height:1.7}
.case-card{border-left:3px solid var(--color-secondary);padding:var(--space-xl) var(--space-xl) var(--space-xl) var(--space-2xl);position:relative}
.case-card__label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:4px 10px;border-radius:var(--radius-full);display:inline-block;margin-bottom:var(--space-sm)}
.case-card__quote{font-size:var(--font-size-md);font-weight:500;color:var(--color-text);margin-bottom:var(--space-md);position:relative;padding-left:var(--space-lg)}
.case-card__result{font-size:var(--font-size-sm);color:var(--color-text-sub);padding-left:var(--space-lg);line-height:1.7}
.faq-list{display:flex;flex-direction:column;gap:var(--space-sm);max-width:700px;margin:0 auto}
.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast)}
.faq-item:hover{border-color:var(--color-primary)}
.faq-item.is-open{border-color:var(--color-primary)}
.faq-item__question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);background:none;border:none;font-family:var(--font-main);font-size:var(--font-size-base);font-weight:600;color:var(--text-color);cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}
.faq-item__question:hover{background-color:var(--color-bg-section)}
.faq-item__icon{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-section);border-radius:50%;font-size:var(--font-size-sm);color:var(--color-primary);transition:transform var(--transition-base),background-color var(--transition-fast)}
.faq-item.is-open .faq-item__icon{transform:rotate(180deg);background:var(--color-primary);color:white}
.faq-item__answer{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}
.faq-item__answer-inner{padding:0 var(--space-xl) var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-sub);line-height:1.8}
.faq-item.is-open .faq-item__answer{max-height:500px}
.promise-list{display:flex;flex-direction:column;gap:var(--space-md);max-width:600px;margin:0 auto}
.promise-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.promise-item__icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(78,205,196,0.15),rgba(46,134,171,0.1));border-radius:50%;color:var(--color-secondary-dark);font-size:18px}
.promise-item__text{font-size:var(--font-size-base);font-weight:500;color:var(--color-text)}
.cta-section{padding:var(--space-4xl) 0;background:linear-gradient(170deg,var(--color-bg-accent) 0%,var(--color-primary-light) 100%);text-align:center}
.cta-section__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-md);line-height:1.5}
.cta-section__text{font-size:var(--font-size-md);color:var(--color-text-sub);margin-bottom:var(--space-2xl);line-height:1.8}
.cta-section__actions{display:flex;flex-direction:column;gap:var(--space-md);align-items:center}
.cta-section__note{font-size:var(--font-size-sm);color:var(--color-text-light);margin-top:var(--space-lg)}
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:998;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-border-light);padding:var(--space-sm) var(--space-md);display:flex;gap:var(--space-sm);box-shadow:0 -2px 12px var(--color-shadow)}
.fixed-cta .btn{flex:1;font-size:var(--font-size-sm);padding:12px}
.article-card{display:flex;flex-direction:column;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);transition:transform var(--transition-base),box-shadow var(--transition-base);text-decoration:none;color:inherit}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:inherit}
.article-card__image{width:100%;height:180px;object-fit:cover;background:var(--color-bg-section)}
.article-card__body{padding:var(--space-lg);display:flex;flex-direction:column;flex:1}
.article-card__category{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:3px 10px;border-radius:var(--radius-full);display:inline-block;margin-bottom:var(--space-sm);width:fit-content}
.article-card__title{font-size:var(--font-size-base);font-weight:700;line-height:1.5;margin-bottom:var(--space-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.article-card__date{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:auto;font-family:var(--font-accent)}
.site-footer{background:var(--color-text);color:rgba(255,255,255,0.8);padding:var(--space-4xl) 0 var(--space-xl)}
.footer__inner{display:flex;flex-direction:column;gap:var(--space-2xl)}
.footer__brand{text-align:center}
.footer__logo{font-size:var(--font-size-xl);font-weight:700;color:white;margin-bottom:var(--space-sm)}
.footer__logo span{color:var(--color-secondary)}
.footer__desc{font-size:var(--font-size-sm);color:rgba(255,255,255,0.5);max-width:400px;margin:0 auto}
.footer__nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md) var(--space-xl)}
.footer__link{font-size:var(--font-size-sm);color:rgba(255,255,255,0.6);transition:color var(--transition-fast)}
.footer__link:hover{color:var(--color-secondary)}
.footer__bottom{text-align:center;padding-top:var(--space-xl);border-top:1px solid rgba(255,255,255,0.08)}
.footer__company{font-size:var(--font-size-sm);color:rgba(255,255,255,0.4);margin-bottom:var(--space-xs)}
.footer__copyright{font-size:var(--font-size-xs);color:rgba(255,255,255,0.3);font-family:var(--font-accent)}
.breadcrumb{padding:var(--space-md) 0;font-size:var(--font-size-sm);color:var(--color-text-light)}
.breadcrumb__list{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}
.breadcrumb__item{display:flex;align-items:center;gap:var(--space-xs)}
.breadcrumb__link{color:var(--color-text-light);font-weight:400}
.breadcrumb__link:hover{color:var(--color-primary)}
.breadcrumb__current{color:var(--color-text-sub);font-weight:500}
.page-content{padding:var(--space-3xl) 0 var(--space-4xl)}
.page-content__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-2xl);text-align:center}
.page-content h2{font-size:var(--font-size-xl);margin-top:var(--space-2xl);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-bg-section)}
.page-content h3{font-size:var(--font-size-lg);margin-top:var(--space-xl);margin-bottom:var(--space-md)}
.page-content p{margin-bottom:var(--space-md);color:var(--color-text-sub)}
.page-content ul,.page-content ol{margin-bottom:var(--space-md);padding-left:var(--space-xl)}
.page-content ul{list-style:disc}
.page-content ol{list-style:decimal}
.page-content li{margin-bottom:var(--space-sm);color:var(--color-text-sub)}
.page-content table{width:100%;border-collapse:collapse;margin:var(--space-lg) 0}
.page-content th,.page-content td{padding:var(--space-md);border:1px solid var(--color-border);text-align:left;font-size:var(--font-size-sm)}
.page-content th{background:var(--color-bg-section);font-weight:600;color:var(--color-text)}
.article-header{padding:var(--space-2xl) 0;background:var(--color-bg-section)}
.article-header__category{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:4px 12px;border-radius:var(--radius-full);display:inline-block;margin-bottom:var(--space-md)}
.article-header__title{font-size:var(--font-size-2xl);font-weight:700;line-height:1.5;margin-bottom:var(--space-md)}
.article-header__meta{display:flex;flex-wrap:wrap;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-light)}
.article-body{padding:var(--space-2xl) 0 var(--space-4xl)}
.article-body h2{font-size:var(--font-size-xl);margin-top:var(--space-3xl);margin-bottom:var(--space-lg);padding-left:var(--space-md);border-left:4px solid var(--color-primary)}
.article-body h3{font-size:var(--font-size-lg);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}
.article-body p{margin-bottom:var(--space-lg);color:var(--color-text-sub)}
.article-body ul,.article-body ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}
.article-body ul{list-style:disc}
.article-body ol{list-style:decimal}
.article-body li{margin-bottom:var(--space-sm);color:var(--color-text-sub)}
.article-cta{background:var(--color-bg-accent);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;margin:var(--space-3xl) 0}
.article-cta__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--space-sm)}
.article-cta__text{font-size:var(--font-size-sm);color:var(--color-text-sub);margin-bottom:var(--space-lg)}
.form-group{margin-bottom:var(--space-xl)}
.form-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}
.form-label .optional{font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-light);margin-left:var(--space-sm)}
.form-label .required{font-size:var(--font-size-xs);color:var(--color-error);margin-left:var(--space-xs)}
.form-input,.form-textarea,.form-select{width:100%;padding:12px 16px;font-family:var(--font-main);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none}
.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(46,134,171,0.1)}
.form-textarea{resize:vertical;min-height:120px}
.form-checkbox-group{display:flex;flex-direction:column;gap:var(--space-sm)}
.form-checkbox-label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-sub);cursor:pointer;padding:var(--space-sm) 0}
.form-checkbox-label input[type="checkbox"],.form-checkbox-label input[type="radio"]{width:18px;height:18px;accent-color:var(--color-primary)}
.form-note{font-size:var(--font-size-xs);color:var(--color-text-light);margin-top:var(--space-xs)}
.safety-grid{display:grid;gap:var(--space-lg)}
.safety-item{display:flex;gap:var(--space-md);align-items:flex-start;padding:var(--space-lg);background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}
.safety-item__icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);border-radius:50%;font-size:20px}
.safety-item__title{font-size:var(--font-size-base);font-weight:700;margin-bottom:4px}
.safety-item__text{font-size:var(--font-size-sm);color:var(--color-text-sub);line-height:1.6}
.page-404{text-align:center;padding:var(--space-5xl) 0}
.page-404__code{font-family:var(--font-accent);font-size:120px;font-weight:800;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:var(--space-md)}
.page-404__title{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}
.page-404__text{font-size:var(--font-size-base);color:var(--color-text-sub);margin-bottom:var(--space-2xl)}
@media(min-width:640px){.card-grid--2{grid-template-columns:repeat(2,1fr)}.hero__actions{flex-direction:row;justify-content:center}.cta-section__actions{flex-direction:row;justify-content:center}.safety-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){:root{--header-height:80px}.hero__title{font-size:var(--font-size-3xl)}.section__title{font-size:var(--font-size-3xl)}.card-grid--3{grid-template-columns:repeat(3,1fr)}.menu-toggle{display:none}.main-nav{display:block}.fixed-cta{display:none}body.has-fixed-cta{padding-bottom:0}}
@media(min-width:1024px){.hero{padding:var(--space-5xl) 0}.hero__title{font-size:var(--font-size-4xl)}.section{padding:var(--space-5xl) 0}.footer__inner{flex-direction:row;justify-content:space-between;align-items:flex-start}.footer__brand{text-align:left}.footer__desc{margin:0}.footer__nav{flex-direction:column;gap:var(--space-sm);align-items:flex-end}}

/* Mobile Header Fix */
@media (max-width: 767px) {
  .header-cta .btn--line { display: none !important; }
  .site-logo__text { font-size: 1rem !important; white-space: nowrap !important; }
  .site-logo__icon { width: 30px !important; height: 30px !important; font-size: 15px !important; }
}
@media (min-width: 768px) {
  .header-cta .btn--line { display: inline-flex !important; }
}





/* CTA Full Width Fix Final V2 */
.fixed-cta { width: 100% !important; left: 0 !important; right: 0 !important; padding: 0 !important; bottom: 0 !important; background: rgba(255,255,255,0.1) !important; backdrop-filter: blur(10px); z-index: 9999; }
.fixed-cta__inner { width: 100% !important; max-width: none !important; margin: 0 !important; }
.fixed-cta__btn { width: 100% !important; border-radius: 0 !important; display: flex !important; justify-content: center !important; align-items: center !important; padding: 18px 20px !important; box-sizing: border-box !important; min-height: 80px; }
.fixed-cta__btn-text { margin-left: 15px; flex: 1; }

@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}
.animate-on-scroll.is-visible .card:nth-child(1),.animate-on-scroll.is-visible .step:nth-child(1){transition-delay:0.1s}
.animate-on-scroll.is-visible .card:nth-child(2),.animate-on-scroll.is-visible .step:nth-child(2){transition-delay:0.2s}
.animate-on-scroll.is-visible .card:nth-child(3),.animate-on-scroll.is-visible .step:nth-child(3){transition-delay:0.3s}
.consultation-form{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-md)}

/* FINAL OVERRIDES */
.header-cta .btn--line{display:none!important}
.site-logo__text{white-space:nowrap!important}
@media (max-width:767px){
  .site-logo__text{font-size:1rem!important}
  .site-logo__icon{width:30px!important;height:30px!important;font-size:15px!important}
  .site-header__inner{padding:0 var(--space-md)!important}
}
@media (min-width:768px){
  .header-cta .btn--line{display:inline-flex!important}
}

.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:998;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.95) 20%);pointer-events:none}
.fixed-cta__inner{position:relative;pointer-events:auto}
.fixed-cta__pulse{position:absolute;inset:0;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));opacity:0;animation:ctaPulse 3s ease-in-out infinite}
@keyframes ctaPulse{0%,100%{opacity:0;transform:scale(1)}50%{opacity:0.15;transform:scale(1.02)}}
.fixed-cta__btn{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:linear-gradient(135deg,#2E86AB 0%,#1a6b8a 50%,#1b5e7d 100%);color:#fff;border-radius:16px;text-decoration:none;box-shadow:0 4px 16px rgba(46,134,171,0.35),0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.15);transition:transform 0.2s ease,box-shadow 0.2s ease}
.fixed-cta__btn:hover,.fixed-cta__btn:active{transform:translateY(-1px);box-shadow:0 6px 24px rgba(46,134,171,0.45),0 4px 8px rgba(0,0,0,0.12),inset 0 1px 0 rgba(255,255,255,0.2)}
.fixed-cta__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,0.18);border-radius:12px;font-size:20px;flex-shrink:0}
.fixed-cta__text{display:flex;flex-direction:column;flex:1;min-width:0}
.fixed-cta__label{font-size:15px;font-weight:700;letter-spacing:0.02em;line-height:1.3}
.fixed-cta__sub{font-size:11px;font-weight:400;opacity:0.8;letter-spacing:0.01em;margin-top:1px}
.fixed-cta__arrow{font-size:24px;font-weight:300;opacity:0.7;flex-shrink:0;transition:transform 0.2s ease}
.fixed-cta__btn:hover .fixed-cta__arrow,.fixed-cta__btn:active .fixed-cta__arrow{transform:translateX(3px)}
/* ========================================
   Fixed CTA (Mobile) - Premium Design v2
   ======================================== */
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:998;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.92) 30%);pointer-events:none}
.fixed-cta__inner{pointer-events:auto;width:100%}
.fixed-cta__btn{display:flex;align-items:center;width:100%;padding:14px 20px;background:linear-gradient(135deg,#2563a0 0%,#1e5480 100%);color:#fff !important;border-radius:14px;text-decoration:none;box-shadow:0 4px 20px rgba(37,99,160,0.3),0 1px 3px rgba(0,0,0,0.08);transition:all 0.25s ease;box-sizing:border-box}
.fixed-cta__btn:hover,.fixed-cta__btn:active{background:linear-gradient(135deg,#2d73b8 0%,#256a9e 100%);color:#fff !important;box-shadow:0 6px 28px rgba(37,99,160,0.4),0 2px 6px rgba(0,0,0,0.1);transform:translateY(-1px)}
.fixed-cta__content{display:flex;flex-direction:column;align-items:center;flex:1;text-align:center}
.fixed-cta__main{display:flex;align-items:center;justify-content:center;gap:8px}
.fixed-cta__icon{font-size:20px;line-height:1}
.fixed-cta__label{font-size:16px;font-weight:700;letter-spacing:0.04em;line-height:1.3;color:#fff !important}
.fixed-cta__sub{font-size:11px;font-weight:400;opacity:0.85;letter-spacing:0.02em;margin-top:3px;color:rgba(255,255,255,0.9) !important}
.fixed-cta__arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(255,255,255,0.15);border-radius:50%;flex-shrink:0;opacity:0.85;transition:all 0.25s ease;color:#fff}
.fixed-cta__btn:hover .fixed-cta__arrow,.fixed-cta__btn:active .fixed-cta__arrow{background:rgba(255,255,255,0.25);transform:translateX(2px);opacity:1}

