/* =========================================================================
   Crosby Productions — Branding page
   Same visual language as the main site: indigo #041E42, Fraunces display,
   Inter body, pill CTAs, hairline cards.
   ========================================================================= */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--indigo-800);text-decoration:none}
a:hover{color:var(--indigo-600)}
.br-wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}
.br-eyebrow{font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gray-500)}
.serif{font-family:var(--font-serif);font-weight:600;letter-spacing:-0.02em;color:var(--indigo-800)}
.br-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 28px;border:0;border-radius:999px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s ease,background-color .15s ease;white-space:nowrap}
.br-btn:hover{transform:translateY(-1px)}
.br-btn,.br-btn span{letter-spacing:normal;word-spacing:normal;white-space:nowrap}
.br-btn--primary{background:var(--indigo-800);color:#fff}
.br-btn--primary:hover{background:var(--indigo-700);color:#fff}
.br-btn--invert{background:#fff;color:var(--indigo-800)}
.br-btn--ghost{background:transparent;color:var(--indigo-800);border:1px solid var(--border)}

/* ---- Tag bar + nav ------------------------------------------------------ */
.tagbar{background:var(--indigo-800);color:#fff}
.tagbar__inner{max-width:1200px;margin-inline:auto;padding:9px 24px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;letter-spacing:.02em;text-align:center}
.tagbar b{font-weight:600}
.tagbar span{color:rgba(255,255,255,.7)}
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav__inner{max-width:1200px;margin-inline:auto;padding:14px 24px;display:flex;align-items:center;gap:24px}
.nav__logo img{height:44px;width:auto}
.nav__tabs{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav__tab{padding:9px 18px;border-radius:999px;font-size:14px;font-weight:500;color:var(--gray-700)}
.nav__tab:hover{background:var(--fog);color:var(--indigo-800)}
.nav__tab.is-active{background:var(--indigo-800);color:#fff}
.nav__tab.is-active:hover{color:#fff}
@media(max-width:820px){.nav__tabs{gap:4px}.nav__tab{padding:8px 13px;font-size:13px}.nav__cta{display:none}}

/* ---- Hero -------------------------------------------------------------- */
.br-hero,.br-hero p,.br-hero .br-btn,.br-hero__stat span{font-family:var(--font-sans)}
.br-hero{padding:clamp(56px,7vw,104px) 0 clamp(40px,4vw,64px)}
.br-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.br-hero h1{font-family:var(--font-serif);font-weight:600;font-size:clamp(2.5rem,4.6vw,4rem);line-height:1.04;letter-spacing:-.03em;color:var(--indigo-800);margin-top:14px}
.br-hero p.lead{margin-top:20px;font-size:clamp(1rem,1.4vw,1.1875rem);line-height:1.65;color:var(--gray-700);max-width:50ch;text-wrap:pretty}
.br-hero__actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.br-hero__stats{margin-top:38px;display:flex;flex-wrap:wrap;gap:36px;padding-top:26px;border-top:1px solid var(--border)}
.br-hero__stat b{display:block;font-family:var(--font-serif);font-size:1.75rem;color:var(--indigo-800);letter-spacing:-.02em}
.br-hero__stat span{font-size:13px;color:var(--gray-500)}
.br-hero__collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;height:clamp(380px,46vw,560px)}
.br-hero__collage img{width:100%;height:100%;object-fit:cover;border-radius:14px}
.br-hero__collage img:nth-child(1){grid-row:span 2}
.br-hero__collage img:nth-child(3){grid-row:span 2}
@media(max-width:900px){.br-hero__grid{grid-template-columns:1fr}.br-hero__collage{height:clamp(300px,70vw,420px)}}

/* ---- Why branding ------------------------------------------------------ */
.why{background:var(--indigo-800);color:#fff;padding:clamp(56px,7vw,96px) 0}
.why h2,.proc h2{color:#fff}
.why h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.875rem,3.2vw,2.75rem);line-height:1.1;letter-spacing:-.02em;max-width:22ch}
.why__lead{margin-top:16px;font-size:1.0625rem;line-height:1.7;color:rgba(255,255,255,.76);max-width:62ch}
.why__grid{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why__card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px}
.why__card h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;margin-bottom:10px}
.why__card p{font-size:14.5px;line-height:1.65;color:rgba(255,255,255,.72)}
.why__num{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--brass);margin-bottom:14px}
@media(max-width:860px){.why__grid{grid-template-columns:1fr}}

/* ---- Packages ---------------------------------------------------------- */
.pkgs{padding:clamp(56px,7vw,104px) 0}
.pkgs__head{text-align:center;max-width:720px;margin-inline:auto}
.pkgs__head h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.875rem,3.4vw,2.75rem);line-height:1.08;letter-spacing:-.02em;color:var(--indigo-800);margin-top:12px}
.pkgs__head p{margin-top:16px;font-size:1.0625rem;line-height:1.7;color:var(--gray-700)}
.billing{margin:34px auto 0;display:flex;justify-content:center}
.billing__seg{display:inline-flex;background:var(--fog);border:1px solid var(--border);border-radius:999px;padding:4px;gap:4px}
.billing__btn{appearance:none;border:0;background:transparent;font-family:inherit;font-size:14px;font-weight:500;color:var(--gray-700);padding:10px 20px;min-height:44px;border-radius:999px;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.billing__btn.is-active{background:var(--indigo-800);color:#fff}
.billing__note{margin-top:12px;text-align:center;font-size:13px;color:var(--gray-500)}

.br-grid{margin-top:32px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
@media(max-width:1280px){.br-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.br-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.br-grid{grid-template-columns:1fr}}
.br-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:20px;padding:36px 22px 24px}
.br-card--featured{background:var(--indigo-800);border-color:var(--indigo-800);color:#fff;box-shadow:0 24px 60px -24px rgba(4,30,66,.5)}
.br-card__badges{position:absolute;top:-13px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}
.br-card__badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--champagne);color:var(--indigo-800);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 16px;border-radius:999px;white-space:nowrap;z-index:1}
.br-card__badges .br-card__badge{position:static;top:auto;left:auto;transform:none}
.br-card__badge--soft{background:#fff;color:var(--indigo-800);border:2px solid var(--indigo-800);box-shadow:0 2px 10px rgba(4,30,66,.18);font-weight:800}
.br-card--featured .br-card__badge--soft{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.28)}
.br-card--featured{padding-top:48px}
.br-card--featured .br-card__badges{top:-13px}
.br-card__name{font-family:var(--font-serif);font-weight:600;font-size:1.5rem;letter-spacing:-.02em;color:var(--indigo-800)}
.br-card--featured .br-card__name{color:#fff}
.br-card__for{margin-top:8px;font-size:13.5px;line-height:1.55;color:var(--gray-500);min-height:42px}
.br-card--featured .br-card__for{color:rgba(255,255,255,.7)}
.br-card__price{margin-top:20px;display:flex;align-items:baseline;gap:6px}
.br-card__amount{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.75rem,1.4rem + 0.8vw,2.25rem);letter-spacing:-.03em;color:var(--indigo-800)}
.br-card--featured .br-card__amount{color:#fff}
.br-card__per{font-size:14px;color:var(--gray-500)}
.br-card--featured .br-card__per{color:rgba(255,255,255,.65)}
.br-card__alt{margin-top:6px;font-size:13px;color:var(--gray-500)}
.br-card--featured .br-card__alt{color:rgba(255,255,255,.62)}
.br-card__value{margin-top:14px;display:inline-flex;align-self:flex-start;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--indigo-800);background:var(--indigo-50);border:1px solid var(--indigo-100);border-radius:999px;padding:6px 12px}
.br-card--featured .br-card__value{color:var(--champagne);background:rgba(232,217,184,.1);border-color:rgba(232,217,184,.28)}
.br-card__rule{height:1px;background:var(--border);margin:22px 0 18px}
.br-card--featured .br-card__rule{background:rgba(255,255,255,.16)}
.br-card__list{list-style:none;display:grid;gap:11px}
.br-card__list li{display:flex;gap:10px;font-size:14px;line-height:1.55;color:var(--gray-700)}
.br-card--featured .br-card__list li{color:rgba(255,255,255,.8)}
.br-card__list svg{flex-shrink:0;margin-top:2px}
.br-card__spacer{flex:1;min-height:22px}
.br-card .br-btn{width:100%;margin-top:4px}

/* ---- Deliverables ------------------------------------------------------ */
.incl{background:var(--near-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:clamp(56px,7vw,96px) 0}
.incl h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.02em;color:var(--indigo-800);margin-top:12px}
.incl__grid{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.incl__item{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}
.incl__item h3{font-size:15px;font-weight:600;color:var(--indigo-800);margin:16px 0 8px}
.incl__item p{font-size:14px;line-height:1.6;color:var(--gray-500)}
.incl__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--indigo-50);color:var(--indigo-800)}
@media(max-width:1000px){.incl__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.incl__grid{grid-template-columns:1fr}}

/* ---- Gallery ----------------------------------------------------------- */
.gal{padding:clamp(56px,7vw,96px) 0}
.gal__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.gal__head h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.02em;color:var(--indigo-800);margin-top:12px}
.gal__grid{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gal__grid img{width:100%;height:100%;object-fit:cover;border-radius:14px;aspect-ratio:3/4}
.gal__grid img.wide{grid-column:span 2;aspect-ratio:3/2}
@media(max-width:900px){.gal__grid{grid-template-columns:repeat(2,1fr)}}

/* ---- Process ----------------------------------------------------------- */
.proc{background:var(--indigo-800);color:#fff;padding:clamp(56px,7vw,96px) 0}
.proc h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(1.875rem,3.2vw,2.75rem);letter-spacing:-.02em;margin-top:12px}
.proc__steps{margin-top:44px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.proc__step{border-top:1px solid rgba(255,255,255,.2);padding-top:22px}
.proc__step b{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--brass);margin-bottom:12px}
.proc__step h3{font-family:var(--font-serif);font-size:1.1875rem;font-weight:600;margin-bottom:8px}
.proc__step p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.72)}
@media(max-width:900px){.proc__steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.proc__steps{grid-template-columns:1fr}}

/* ---- Guarantee + CTA --------------------------------------------------- */
.guar{padding:clamp(56px,7vw,96px) 0}
.guar__box{display:flex;align-items:center;gap:26px;background:var(--indigo-50);border:1px solid var(--indigo-100);border-radius:20px;padding:34px 36px}
.guar__seal{flex-shrink:0;display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:var(--indigo-800);color:var(--champagne)}
.guar__box h3{font-family:var(--font-serif);font-weight:600;font-size:1.375rem;color:var(--indigo-800);margin-bottom:8px}
.guar__box p{font-size:15px;line-height:1.65;color:var(--gray-700);max-width:70ch}
@media(max-width:820px){.guar__box{flex-direction:column;align-items:flex-start}}

.cta{background:var(--near-white);border-top:1px solid var(--border);padding:clamp(56px,7vw,96px) 0;text-align:center}
.cta h2{font-family:var(--font-serif);font-weight:600;font-size:clamp(2rem,3.6vw,3rem);line-height:1.08;letter-spacing:-.02em;color:var(--indigo-800);margin-top:12px}
.cta p{margin:16px auto 0;max-width:56ch;font-size:1.0625rem;line-height:1.7;color:var(--gray-700)}
.cta__actions{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

.foot{background:var(--indigo-900);color:rgba(255,255,255,.6);padding:44px 0;font-size:13.5px}
.foot__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.foot a{color:rgba(255,255,255,.82)}
.foot a:hover{color:#fff}

/* ---- Photo add-on band -------------------------------------------------- */
.addon{margin-top:22px;display:flex;align-items:center;gap:28px;background:var(--indigo-50);border:1px solid var(--indigo-100);border-radius:20px;padding:30px 34px}
.addon__text h3{font-family:var(--font-serif);font-weight:600;font-size:1.375rem;letter-spacing:-.02em;color:var(--indigo-800);margin:10px 0 8px}
.addon__text p:last-child{font-size:15px;line-height:1.65;color:var(--gray-700);max-width:74ch}
.addon__price{flex-shrink:0;text-align:right}
.addon__price span{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-500)}
.addon__price b{font-family:var(--font-serif);font-weight:600;font-size:2.25rem;letter-spacing:-.03em;color:var(--indigo-800)}
@media(max-width:820px){.addon{flex-direction:column;align-items:flex-start;gap:18px}.addon__price{text-align:left}}

/* ---- Photo add-on toggle inside cards ---------------------------------- */
.photo{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border)}
.br-card--featured .photo{border-top-color:rgba(255,255,255,.24)}
.photo__btn{appearance:none;width:100%;display:flex;align-items:center;gap:9px;background:var(--indigo-50);border:1px solid var(--indigo-100);border-radius:12px;padding:12px 14px;min-height:46px;font-family:inherit;font-size:14px;font-weight:600;color:var(--indigo-800);cursor:pointer;text-align:left;transition:background-color .15s ease}
.photo__btn:hover{background:var(--indigo-100)}
.br-card--featured .photo__btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}
.br-card--featured .photo__btn:hover{background:rgba(255,255,255,.16)}
.photo__plus{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:var(--indigo-800);color:#fff;font-size:14px;line-height:1;transition:transform .15s ease}
.br-card--featured .photo__plus{background:var(--champagne);color:var(--indigo-800)}
.photo__btn.is-open .photo__plus{transform:rotate(45deg)}
.photo__label{flex:1}
.photo__amt{font-family:var(--font-serif);font-size:15px;letter-spacing:-.01em}
.photo__panel{margin-top:12px}
.photo__math{font-size:13px;line-height:1.6;color:var(--gray-500)}
.br-card--featured .photo__math{color:rgba(255,255,255,.66)}
.photo__total{margin-top:10px;font-size:13px;font-weight:600;color:var(--gray-700);display:flex;flex-wrap:wrap;gap:6px}
.photo__total b{font-family:var(--font-serif);font-size:16px;color:var(--indigo-800);letter-spacing:-.01em}
.br-card--featured .photo__total{color:rgba(255,255,255,.72)}
.br-card--featured .photo__total b{color:var(--champagne)}

/* ---- Service switch (Real Estate <-> Branding) -------------------------- */
.cp-switch{display:flex;align-items:center;gap:11px;white-space:nowrap}
.cp-switch__label{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--gray-500);transition:color .3s ease;cursor:pointer;background:none;border:0;font-family:inherit;padding:0}
.cp-switch__label.is-on{color:var(--indigo-800)}
.cp-switch__track{position:relative;flex-shrink:0;width:58px;height:32px;border:0;border-radius:999px;background:var(--indigo-100);cursor:pointer;padding:0;transition:background-color .35s cubic-bezier(.4,0,.2,1)}
.cp-switch__track:hover{background:var(--pk-hairline,#C9D2E0)}
.cp-switch__track.is-on{background:var(--indigo-800)}
.cp-switch__track:focus-visible{outline:2px solid var(--indigo-800);outline-offset:3px}
.cp-switch__knob{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:999px;background:#fff;box-shadow:0 2px 6px rgba(4,30,66,.28);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.cp-switch__track.is-on .cp-switch__knob{transform:translateX(26px)}
@media(max-width:900px){.cp-switch__label{font-size:12px}.cp-switch{gap:8px}}
@media(max-width:560px){.cp-switch__label{display:none}.cp-switch__label.is-on{display:inline}}

/* ---- Cross-page dissolve ------------------------------------------------ */

/* ---- Page transition: crossfade ---------------------------------------- */
.cp-veil{position:fixed;inset:0;z-index:9999;background:var(--indigo-800);opacity:0;pointer-events:none;transition:opacity .42s cubic-bezier(.33,0,.2,1);will-change:opacity}
.cp-veil.is-covering{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.cp-veil{display:none}}

.cp-switch{margin-left:auto}

/* Solo vs Team package tiers */
.br-tier{margin-top:40px}
.br-tier--team{margin-top:56px;padding-top:8px}
.br-tier__label{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo-800)}
.br-tier__note{margin:0 0 18px;font-size:15px;color:var(--gray-700)}
.br-grid--solo{grid-template-columns:repeat(2,minmax(0,1fr))}
.br-grid--team{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){
  .br-grid--solo,.br-grid--team{grid-template-columns:1fr}
}
.br-tier--team .br-tier__label{color:var(--indigo-800)}
