/*
Theme Name: Britthouse
Theme URI: https://britthouse.com
Author: Big Fish / Britthouse
Description: Custom minimal theme for Britthouse. Events, Marketing, Consulting. No builders, no bloat.
Version: 1.0.5
Requires PHP: 7.4
License: Proprietary
Text Domain: britthouse
*/
  :root { --mid:#39404b; --slate:#657584; --gold:#c4a367; --silver:#d7d7d7; --paper:#f5f3ef; --ink:#4a4f57; }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { font-family:Poppins,sans-serif; font-weight:300; color:var(--ink); background:var(--paper); }
  .serif { font-family:Lora,Georgia,serif; }
  .wrap { max-width:1200px; margin:0 auto; padding:0 40px; }
  .eyebrow { font:500 12px Poppins; letter-spacing:.42em; color:var(--gold); text-transform:uppercase; }
  .cta { font:400 13px Poppins; letter-spacing:.26em; text-transform:uppercase; color:var(--gold);
          text-decoration:none; border-bottom:1px solid #c4a36777; padding-bottom:6px; }

  /* nav */
  nav { position:absolute; top:0; left:0; right:0; z-index:5; }
  nav .wrap { display:flex; align-items:center; justify-content:space-between; padding-top:28px; padding-bottom:28px; }
  .brand { display:flex; align-items:center; gap:14px; }
  .brand img { height:44px; }
  .brand span { font:500 21px Lora,serif; letter-spacing:.28em; color:var(--paper); }
  .links a { font:400 12px Poppins; letter-spacing:.18em; text-transform:uppercase; color:#d7d7d7;
              text-decoration:none; margin-left:30px; }
  .links a.hot { color:var(--gold); }

  /* offset-frame motif (echoes the double-line monogram) */
  .framed { position:relative; display:block; }
  .framed img { position:relative; display:block; width:100%; z-index:1; }
  .framed::after { content:""; position:absolute; inset:-12px 12px 12px -12px;
                   border:1px solid #c4a36788; z-index:0; }

  /* hero */
  header { position:relative; min-height:88vh; display:flex; align-items:center;
            background: linear-gradient(100deg, #39404bf5 0%, #39404bd9 45%, #39404b8c 100%), url(assets/img/full-team-wide.jpg) center 30%/cover; }
  .hero-inner { padding:170px 0 120px; max-width:820px; }
  h1 { font:500 62px/1.15 Lora,serif; color:var(--paper); }
  h1 em { font-style:italic; color:var(--gold); }
  .hero-sub { font:300 17px/1.7 Poppins; color:var(--silver); max-width:560px; margin:30px 0 44px; }

  section { padding:110px 0; }
  h2 { font:500 38px/1.25 Lora,serif; color:var(--mid); margin:18px 0 26px; }
  .light h2, .dark h2 { color:var(--paper); }
  p.body { font:300 15.5px/1.85 Poppins; color:var(--ink); max-width:640px; }

  /* departments */
  .dark { background:var(--mid); }
  .dept-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:48px; margin-top:70px; }
  .dept img { width:100%; display:block; }
  .dept .dl { font:500 12.5px Poppins; letter-spacing:.22em; color:var(--gold); text-transform:uppercase; margin:26px 0 8px; }
  .dept .dd { font:300 13px/1.6 Poppins; color:var(--silver); min-height:42px; }

  /* events feature */
  .feature { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; }
  .feature img { width:100%; display:block; }
  .bullets { list-style:none; margin:26px 0 34px; }
  .bullets li { font:300 15px/1.6 Poppins; color:var(--ink); padding-left:26px; position:relative; margin-bottom:13px; }
  .bullets li::before { content:""; width:6px; height:6px; background:var(--gold); position:absolute;
                         left:2px; top:9px; transform:rotate(45deg); }
  .accent-line { font:italic 500 18px Lora,serif; color:var(--gold); }

  /* marketing band */
  .mkt { text-align:center; }
  .mkt h2 { max-width:760px; margin-left:auto; margin-right:auto; }
  .caps { display:flex; justify-content:center; align-items:center; gap:22px; flex-wrap:wrap; margin:40px 0 30px; }
  .caps span { font:400 13px Poppins; letter-spacing:.28em; text-transform:uppercase; color:var(--paper); }
  .caps i { width:6px; height:6px; background:var(--gold); transform:rotate(45deg); }
  .mkt .note { font:italic 400 16px Lora,serif; color:var(--silver); }

  /* proof */
  .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:60px; }
  .stat .n { font:500 58px Lora,serif; color:var(--gold); }
  .stat .l { font:300 14px/1.65 Poppins; color:var(--ink); margin-top:14px; max-width:280px; }
  .discretion { font:italic 400 17px Lora,serif; color:var(--slate); margin-top:64px; }

  /* run of show (events method) */
  .ros { margin-top:84px; }
  .ros .rtitle { font:italic 500 24px Lora,serif; color:var(--mid); }
  .ros .rsub { font:300 13.5px Poppins,sans-serif; color:var(--slate); margin-top:8px; }
  .rgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:40px; }
  .rstep .num { font:500 30px Lora,serif; color:var(--gold); }
  .rstep h4 { font:500 13px Poppins,sans-serif; letter-spacing:.18em; text-transform:uppercase;
              color:var(--mid); margin:10px 0 10px; }
  .rstep p { font:300 13px/1.75 Poppins,sans-serif; color:var(--ink); }

  /* marketing method */
  .method { margin-top:74px; text-align:left; }
  .method .mtitle { text-align:center; font:italic 500 24px Lora,serif; color:var(--paper); }
  .method .msub { text-align:center; font:300 13.5px Poppins,sans-serif; color:var(--silver); margin-top:10px; }
  .mgrid { display:grid; grid-template-columns:repeat(5,1fr); gap:38px; margin-top:54px; }
  .mstep .num { font:500 30px Lora,serif; color:var(--gold); }
  .mstep h4 { font:500 13px Poppins,sans-serif; letter-spacing:.18em; text-transform:uppercase;
               color:var(--paper); margin:12px 0 10px; }
  .mstep p { font:300 12.5px/1.7 Poppins,sans-serif; color:var(--silver); }
  .mclose { text-align:center; font:italic 400 16px Lora,serif; color:var(--gold); margin-top:56px; }

  /* value */
  .value-head { display:grid; grid-template-columns:1fr 1.1fr; gap:70px; align-items:end; }
  .value-lead { font:300 15.5px/1.85 Poppins; color:var(--ink); margin-bottom:8px; }
  .valstats { display:grid; grid-template-columns:repeat(3,1fr); gap:46px; margin-top:70px; }
  .valcard { background:var(--mid); padding:46px 38px 42px; position:relative; z-index:0; }
  .valcard::after { content:""; position:absolute; inset:-12px 12px 12px -12px;
                    border:1px solid #c4a36788; z-index:-1; }
  .valcard .n { font:500 44px Lora,serif; color:var(--gold); }
  .valcard .l { font:300 13.5px/1.7 Poppins; color:var(--silver); margin-top:16px; }
  .discretion2 { display:flex; align-items:center; gap:18px; margin-top:70px; }
  .discretion2 i { width:6px; height:6px; background:var(--gold); transform:rotate(45deg); flex:none; }
  .discretion2 span { font:italic 400 17px Lora,serif; color:var(--slate); }

  /* people */
  .people { padding:0; position:relative; }
  .people img { width:100%; display:block; }
  .people .cap { position:absolute; left:0; right:0; bottom:0; background:linear-gradient(transparent, #39404be8);
                  padding:90px 0 44px; }
  .people .cap h2 { color:var(--paper); margin:0 0 8px; }
  .people .cap p { font:300 14px Poppins; color:var(--silver); }

  /* process */
  .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:60px; }
  .step .num { font:500 46px Lora,serif; color:var(--gold); }
  .step h3 { font:500 16px Poppins; letter-spacing:.16em; text-transform:uppercase; color:var(--paper); margin:14px 0 14px; }
  .step p { font:300 14px/1.75 Poppins; color:var(--silver); }

  /* close */
  .close { text-align:center; }
  .close h2 { font-size:44px; }
  .close .tag { font:italic 400 18px Lora,serif; color:var(--gold); margin:18px 0 46px; }

  footer { background:#31363f; padding:70px 0 50px; }
  footer .wrap { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; flex-wrap:wrap; }
  footer img { height:56px; opacity:.9; }
  footer .fl a { display:block; font:300 12.5px/2.2 Poppins; letter-spacing:.14em; text-transform:uppercase;
                  color:var(--silver); text-decoration:none; }
  footer .contact { font:300 13px/2 Poppins; color:var(--silver); }
  footer .copy { font:300 11px Poppins; letter-spacing:.12em; color:#d7d7d788; margin-top:46px; text-align:center; width:100%; }

  /* ---------- responsive layer (desktop untouched above) ---------- */
  @media (max-width: 900px) {
    .wrap { padding:0 26px; }
    section { padding:80px 0; }
    h1 { font-size:44px; }
    h2 { font-size:30px; }
    .dept-grid { grid-template-columns:1fr 1fr; gap:34px; }
    .feature { grid-template-columns:1fr; gap:44px; }
    .rgrid { grid-template-columns:1fr; gap:30px; }
    .mgrid { grid-template-columns:1fr 1fr; gap:30px; row-gap:36px; }
    .value-head { grid-template-columns:1fr; gap:24px; align-items:start; }
    .valstats { grid-template-columns:1fr; gap:26px; margin-top:50px; }
    footer .wrap { flex-direction:column; gap:28px; }
  }
  @media (max-width: 600px) {
    .wrap { padding:0 22px; }
    section { padding:64px 0; }
    nav .links a { display:none; }
    nav .links a.hot { display:inline-block; }
    .brand span { font-size:17px; }
    .brand img { height:36px; }
    header { min-height:72vh; }
    .hero-inner { padding:130px 0 90px; }
    h1 { font-size:34px; }
    .hero-sub { font-size:15px; margin:24px 0 36px; }
    h2 { font-size:26px; }
    .dept-grid { grid-template-columns:1fr; gap:44px; margin-top:50px; }
    .dept .dd { min-height:0; }
    .framed::after { inset:-9px 9px 9px -9px; }
    .mgrid { grid-template-columns:1fr; }
    .method .mgrid { margin-top:38px; }
    .caps { gap:14px; }
    .caps span { font-size:11.5px; letter-spacing:.2em; }
    .close h2 { font-size:30px; }
    .people .cap { position:static; background:var(--mid); padding:26px 0 34px; }
    .people .cap h2 { font-size:24px; }
    .ros { margin-top:60px; }
    .discretion2 { margin-top:48px; align-items:flex-start; }
    .discretion2 i { margin-top:9px; }
    footer { padding:54px 0 40px; }
    footer .copy { margin-top:30px; text-align:left; }
  }

  /* ---------- interior door pages (v1.0.5) ---------- */
  .dept a.tile { color:inherit; text-decoration:none; display:block; }
  .pagehead { background:var(--mid); padding:150px 0 76px; min-height:0; display:block; }
  .pagehead h1 { font:500 46px/1.2 Lora,serif; color:var(--paper); max-width:700px; }
  .pagehead .sub { font:300 15.5px/1.8 Poppins; color:var(--silver); max-width:560px; margin-top:22px; }
  .rooms-intro { text-align:center; padding-bottom:20px; }
  .rooms-intro h2 { margin-top:14px; }
  .rooms-intro p { font:300 15px/1.8 Poppins; color:var(--ink); max-width:600px; margin:0 auto; }
  .room { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; padding:60px 0; }
  .room.flip .rimg { order:2; }
  .room .rnum, .roomcell .rnum, .crow .rnum { font:500 30px Lora,serif; color:var(--gold); }
  .room h3 { font:500 27px/1.3 Lora,serif; color:var(--mid); margin:10px 0 16px; }
  .room p { font:300 15px/1.85 Poppins; color:var(--ink); }
  .room .cta { margin-top:26px; display:inline-block; }
  .mk-photo { padding:80px 0 30px; }
  .mk-photo .framed { max-width:880px; margin:0 auto; }
  .mk-photo .cap { text-align:center; font:400 11px Poppins; letter-spacing:.24em; color:var(--slate);
                   text-transform:uppercase; margin-top:22px; }
  .roomgrid { display:grid; grid-template-columns:1fr 1fr; gap:64px 70px; margin-top:70px; padding-bottom:20px; }
  .roomcell h3 { font:500 24px/1.3 Lora,serif; color:var(--mid); margin:10px 0 14px; }
  .roomcell p { font:300 14.5px/1.8 Poppins; color:var(--ink); }
  .roomcell .bullets { margin:16px 0 0; }
  .roomcell .bullets li { font:300 13.5px/1.6 Poppins; }
  .mk-cta, .cn-cta { text-align:center; padding:26px 0 90px; }
  .counsel { max-width:820px; margin:0 auto; }
  .crow { padding:52px 0; border-bottom:1px solid #c4a36744; }
  .crow:last-child { border-bottom:none; }
  .crow h3 { font:500 26px/1.3 Lora,serif; color:var(--mid); margin:10px 0 16px; }
  .crow p { font:300 15.5px/1.9 Poppins; color:var(--ink); }
  /* contact page + Gravity Forms skin */
  .contact-wrap { max-width:680px; margin:0 auto; padding:70px 0 90px; }
  .contact-card { background:#ffffff; border:1px solid #c4a36755; padding:54px 50px; position:relative; }
  .contact-card::after { content:""; position:absolute; inset:-12px 12px 12px -12px; border:1px solid #c4a36788; pointer-events:none; }
  .gform_wrapper .gform_title { display:none; }
  .gform_wrapper .gfield_label { font:400 11px Poppins,sans-serif !important; letter-spacing:.24em;
      text-transform:uppercase; color:#4a4f57 !important; margin-bottom:8px; display:block; }
  .gform_wrapper .gfield_required { color:#c4a367 !important; }
  .gform_wrapper input[type=text], .gform_wrapper input[type=email], .gform_wrapper input[type=tel],
  .gform_wrapper textarea {
      width:100%; background:#f5f3ef !important; border:1px solid #d7d7d7 !important; border-radius:0 !important;
      font:300 15px Poppins,sans-serif !important; color:#39404b !important; padding:13px 15px !important;
      outline:none; transition:border-color .2s; }
  .gform_wrapper input:focus, .gform_wrapper textarea:focus { border-color:#c4a367 !important; }
  .gform_wrapper .gfield { margin-bottom:26px; }
  .gform_wrapper .ginput_complex label { font:300 10px Poppins,sans-serif; letter-spacing:.18em;
      text-transform:uppercase; color:#657584; margin-top:6px; display:block; }
  .gform_wrapper .gform_footer { text-align:center; margin-top:36px; }
  .gform_wrapper input[type=submit], .gform_wrapper .gform_button {
      background:#39404b !important; color:#c4a367 !important; border:1px solid #c4a36788 !important;
      border-radius:0 !important; font:400 12px Poppins,sans-serif !important; letter-spacing:.28em;
      text-transform:uppercase; padding:18px 44px !important; cursor:pointer; transition:background .2s; }
  .gform_wrapper input[type=submit]:hover { background:#4a5261 !important; }
  .gform_confirmation_message { font:italic 500 19px Lora,serif; color:#8a6d3b; text-align:center; padding:40px 0; }
  .contact-side { text-align:center; margin-top:44px; font:300 13px/2 Poppins,sans-serif; color:#657584; }
  @media (max-width: 900px) {
    .pagehead h1 { font-size:34px; }
    .room { grid-template-columns:1fr; gap:36px; padding:44px 0; }
    .room.flip .rimg { order:0; }
    .roomgrid { grid-template-columns:1fr; gap:48px; margin-top:50px; }
    .mk-photo { padding:56px 0 16px; }
    .contact-card { padding:40px 24px; }
  }
  @media (max-width: 600px) { .crow { padding:40px 0; } }
