/* ═══ HOME PAGE STYLES ═══ */

/* Hero */
.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bb-bg-cream)}
.hero__bg{position:absolute;inset:0;opacity:.4;background:radial-gradient(ellipse at 20% 50%,rgba(193,51,72,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(25,98,87,.06) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(135,36,50,.05) 0%,transparent 50%)}
.hero__grain{position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px;pointer-events:none}
.hero__content{position:relative;z-index:1;text-align:center;max-width:900px;padding:0 var(--bb-space-md)}
.hero__title{font-size:var(--bb-text-hero);font-family:var(--bb-font-display);font-weight:600;color:var(--bb-bordeaux);letter-spacing:var(--bb-ls-display);line-height:1.05;margin-bottom:var(--bb-space-md)}
.hero__title .word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.hero__title .word{display:inline-block}
.hero__subtitle{font-size:var(--bb-text-body-lg);color:var(--bb-text-secondary);margin-bottom:var(--bb-space-lg)}
.hero__cta{opacity:0}
.hero__thread{position:absolute;width:1px;background:linear-gradient(to bottom,transparent,var(--bb-rose-ancien),transparent);opacity:.15}
.hero__thread--1{left:12%;top:10%;height:40%}.hero__thread--2{right:15%;top:20%;height:50%}.hero__thread--3{left:35%;bottom:0;height:30%}

/* Portfolio Showcase */
.portfolio-showcase{background:var(--bb-bg-white)}
.portfolio-showcase .label,.portfolio-showcase h2{text-align:center}
.portfolio-showcase h2{margin-bottom:var(--bb-space-xl)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bb-space-lg);text-align:center;margin-bottom:var(--bb-space-2xl)}
.stat__number{font-family:var(--bb-font-display);font-size:clamp(2.5rem,4vw,4rem);font-weight:700;color:var(--bb-bordeaux);letter-spacing:var(--bb-ls-display);line-height:1;margin-bottom:.25rem}
.stat__label{font-size:var(--bb-text-small);color:var(--bb-text-secondary)}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--bb-space-md)}
.testimonial-card{background:var(--bb-bg-white);border-radius:var(--bb-radius-md);padding:var(--bb-space-lg);box-shadow:var(--bb-shadow-sm);position:relative}
.testimonial-card::before{content:'"';font-family:var(--bb-font-display);font-size:4rem;color:var(--bb-rose-ancien);opacity:.15;position:absolute;top:.5rem;left:1.25rem;line-height:1}
.testimonial-card__text{font-size:var(--bb-text-body);color:var(--bb-text-primary);margin-bottom:var(--bb-space-md);font-style:italic;position:relative;z-index:1}
.testimonial-card__author{display:flex;align-items:center;gap:.75rem}
.testimonial-card__avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--bb-rose-ancien),var(--bb-marsala));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--bb-font-display);font-size:1.1rem;font-weight:600;overflow:hidden}
.testimonial-card__avatar img{width:100%;height:100%;object-fit:cover}
.testimonial-card__name{font-weight:500;font-size:var(--bb-text-small)}
.testimonial-card__company{font-size:var(--bb-text-xs);color:var(--bb-text-secondary)}

/* Process */
.process{background:var(--bb-bg-white);overflow:hidden}
.process .label,.process h2{text-align:center}
.process h2{margin-bottom:var(--bb-space-2xl)}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--bb-space-md);position:relative}
.process-steps::before{content:'';position:absolute;top:2rem;left:12.5%;right:12.5%;height:2px;background:var(--bb-bordeaux);opacity:.12}
.process-step{text-align:center;position:relative}
.process-step__number{width:56px;height:56px;border-radius:50%;background:var(--bb-bg-cream);border:2px solid var(--bb-bordeaux);display:flex;align-items:center;justify-content:center;margin:0 auto var(--bb-space-md);font-family:var(--bb-font-display);font-size:1.25rem;font-weight:600;color:var(--bb-bordeaux);position:relative;z-index:1}
.process-step__title{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);color:var(--bb-bordeaux);font-weight:600;margin-bottom:.5rem}
.process-step__metaphor{font-family:var(--bb-font-display);font-style:italic;color:var(--bb-rose-ancien);font-size:var(--bb-text-body);margin-bottom:.75rem}
.process-step__desc{font-size:var(--bb-text-small);color:var(--bb-text-secondary);line-height:1.6}

/* Diagnostic — see diagnostic-quiz.php for full HTML structure */
.diagnostic{background:var(--bb-bg-cream);position:relative}
.diagnostic::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--bb-bordeaux),transparent);opacity:.15}
.diagnostic__header{text-align:center;margin-bottom:var(--bb-space-xl)}
.diagnostic__header h2{color:var(--bb-bordeaux);font-size:var(--bb-text-h1)}
.diagnostic__header p{color:var(--bb-text-secondary);margin-top:var(--bb-space-xs);font-size:var(--bb-text-body-lg)}
.quiz-container{max-width:700px;margin:0 auto;background:var(--bb-bg-white);border-radius:var(--bb-radius-lg);box-shadow:var(--bb-shadow-lg);overflow:hidden;min-height:420px;position:relative}
.quiz__progress{height:4px;background:rgba(97,26,36,.08)}
.quiz__progress-bar{height:100%;background:linear-gradient(to right,var(--bb-bordeaux),var(--bb-rose-ancien));transition:width .5s cubic-bezier(.25,1,.5,1);border-radius:0 2px 2px 0}
.quiz__body{padding:var(--bb-space-lg) var(--bb-space-lg) var(--bb-space-sm);position:relative;overflow:hidden}
.quiz__question{display:none;flex-direction:column;align-items:center}.quiz__question.active{display:flex}
.quiz__question-text{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);color:var(--bb-bordeaux);text-align:center;margin-bottom:var(--bb-space-lg);font-weight:600;line-height:var(--bb-lh-heading)}
.quiz__options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--bb-space-sm);width:100%}
.quiz__option{background:var(--bb-bg-cream);border:2px solid transparent;border-radius:var(--bb-radius-md);padding:var(--bb-space-md) var(--bb-space-sm);text-align:center;cursor:pointer;transition:var(--bb-transition);font-size:var(--bb-text-small);color:var(--bb-text-primary);display:flex;flex-direction:column;align-items:center;gap:.75rem}
.quiz__option:hover{border-color:var(--bb-rose-ancien);box-shadow:var(--bb-shadow-sm)}
.quiz__option.selected{border-color:var(--bb-rose-ancien);background:rgba(193,51,72,.05)}
.quiz__option-icon{font-size:2rem;line-height:1}
.quiz__slider-container{width:100%;padding:0 var(--bb-space-sm)}
.quiz__slider{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--bb-bordeaux),var(--bb-rose-ancien));outline:none;opacity:.8;margin:var(--bb-space-md) 0}
.quiz__slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--bb-bordeaux);cursor:pointer;border:3px solid #fff;box-shadow:var(--bb-shadow-md)}
.quiz__slider-value{text-align:center;font-family:var(--bb-font-display);font-size:2.5rem;color:var(--bb-bordeaux);font-weight:700;margin-bottom:var(--bb-space-xs)}
.quiz__slider-labels{display:flex;justify-content:space-between;font-size:var(--bb-text-xs);color:var(--bb-text-secondary)}
.quiz__multi-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%}
.quiz__multi-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bb-bg-cream);border:2px solid transparent;border-radius:var(--bb-radius-md);cursor:pointer;transition:var(--bb-transition);font-size:var(--bb-text-small)}
.quiz__multi-option:hover{border-color:var(--bb-rose-ancien)}
.quiz__multi-option.selected{border-color:var(--bb-rose-ancien);background:rgba(193,51,72,.05)}
.quiz__multi-check{width:20px;height:20px;border-radius:var(--bb-radius-sm);border:2px solid var(--bb-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--bb-transition);font-size:.75rem;color:transparent}
.quiz__multi-option.selected .quiz__multi-check{background:var(--bb-rose-ancien);border-color:var(--bb-rose-ancien);color:#fff}
.quiz__budget-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%}
.quiz__budget-option{padding:1rem;text-align:center;background:var(--bb-bg-cream);border:2px solid transparent;border-radius:var(--bb-radius-full);cursor:pointer;transition:var(--bb-transition);font-size:var(--bb-text-small);font-weight:500}
.quiz__budget-option:hover{border-color:var(--bb-rose-ancien)}
.quiz__budget-option.selected{border-color:var(--bb-rose-ancien);background:var(--bb-rose-ancien);color:#fff}
.quiz__nav{display:flex;justify-content:space-between;align-items:center;padding:var(--bb-space-sm) var(--bb-space-lg) var(--bb-space-lg)}
.quiz__back{font-size:var(--bb-text-small);color:var(--bb-text-secondary);cursor:pointer;border:none;background:none;font-family:var(--bb-font-body);transition:var(--bb-transition)}
.quiz__back:hover{color:var(--bb-bordeaux)}
.quiz__next{font-size:var(--bb-text-small);color:var(--bb-rose-ancien);cursor:pointer;border:none;background:none;font-family:var(--bb-font-body);font-weight:500;transition:var(--bb-transition)}
.quiz__next:hover{color:var(--bb-bordeaux)}.quiz__next:disabled{opacity:.3;pointer-events:none}
.quiz__result{display:none;flex-direction:column;align-items:center;text-align:center;padding:var(--bb-space-lg)}.quiz__result.active{display:flex}
.gauge{position:relative;width:160px;height:160px;margin-bottom:var(--bb-space-md)}.gauge svg{transform:rotate(-90deg)}
.gauge__bg{fill:none;stroke:rgba(97,26,36,.08);stroke-width:8}.gauge__fill{fill:none;stroke:var(--bb-rose-ancien);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1.5s cubic-bezier(.25,1,.5,1)}
.gauge__value{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--bb-font-display);font-size:2.5rem;font-weight:700;color:var(--bb-bordeaux);line-height:1}
.gauge__label{font-family:var(--bb-font-body);font-size:var(--bb-text-xs);color:var(--bb-text-secondary);text-transform:uppercase;letter-spacing:var(--bb-ls-caps);margin-top:.25rem}
.quiz__result-title{font-family:var(--bb-font-display);font-size:var(--bb-text-h2);color:var(--bb-bordeaux);font-weight:600;margin-bottom:var(--bb-space-sm)}
.quiz__result-text{font-size:var(--bb-text-body);color:var(--bb-text-secondary);max-width:500px;margin-bottom:var(--bb-space-md);line-height:1.65}
.quiz__result-offer{background:var(--bb-bg-cream);padding:var(--bb-space-md);border-radius:var(--bb-radius-md);border-left:3px solid var(--bb-rose-ancien);margin-bottom:var(--bb-space-md);text-align:left;width:100%;max-width:400px}
.quiz__result-offer-name{font-family:var(--bb-font-display);font-size:var(--bb-text-h3);color:var(--bb-bordeaux);font-weight:600}
.quiz__result-offer-price{font-size:var(--bb-text-body-lg);color:var(--bb-rose-ancien);font-weight:700;margin-top:.25rem}
.quiz__result-offer-tagline{font-size:var(--bb-text-small);color:var(--bb-text-secondary);font-style:italic;margin-top:.25rem}
.quiz__email-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:360px;margin-top:var(--bb-space-sm)}
.quiz__email-form input{padding:.75rem 1rem;border:1.5px solid rgba(97,26,36,.15);border-radius:var(--bb-radius-sm);font-family:var(--bb-font-body);font-size:var(--bb-text-body);transition:var(--bb-transition);background:var(--bb-bg-white)}
.quiz__email-form input:focus{outline:none;border-color:var(--bb-rose-ancien)}
.quiz__email-form .bb-btn{width:100%;justify-content:center}
.quiz__email-micro{font-size:var(--bb-text-xs);color:var(--bb-text-secondary)}

/* Mobile */
@media(max-width:767px){
    .stats{gap:var(--bb-space-sm)}
    .process-steps{grid-template-columns:1fr;gap:var(--bb-space-lg)}.process-steps::before{display:none}
    .quiz__options,.quiz__multi-options,.quiz__budget-options{grid-template-columns:1fr}
    .quiz__body{padding:var(--bb-space-md)}.quiz__nav{padding:var(--bb-space-sm) var(--bb-space-md) var(--bb-space-md)}
}
