  :root{
    --ink:#c9a227;
    --panel:#d9b54c;
    --panel-raised:#e8cf82;
    --hair:#a67c1f;
    --paper:#241a08;
    --paper-dim:#5c4a1f;
    --brass:#5c3f10;
    --brass-bright:#3d2a0a;
    --focus:#2a1d06;
    font-size:16px;
  }
  :root:not([data-theme="light"]){
    color-scheme: light;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  html{scroll-padding-top: calc(72px + env(safe-area-inset-top, 0px)); scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--paper);
    font-family:"Work Sans", -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight:400;
    line-height:1.6;
    padding-top:env(safe-area-inset-top, 0px);
    padding-bottom:env(safe-area-inset-bottom, 0px);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:"Fraunces", Georgia, serif;
    font-weight:600;
    line-height:1.08;
    margin:0;
    color:var(--paper);
    letter-spacing:-0.01em;
  }
  p{margin:0;}
  a{color:inherit;}
  ::selection{background:var(--brass); color:var(--ink);}
  a:focus-visible, button:focus-visible{
    outline:2px solid var(--focus);
    outline-offset:3px;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }

  .wrap{max-width:1120px; margin:0 auto; padding-left:24px; padding-right:24px;}
  @media (min-width:900px){ .wrap{padding-left:48px; padding-right:48px;} }

  /* Header */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(201,162,39,0.92);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--hair);
    padding-top:env(safe-area-inset-top, 0px);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    height:72px;
  }
  .brandmark{display:flex; align-items:center; gap:12px; text-decoration:none;}
  .crest{width:38px; height:38px; flex:none;}
  .brand-name{font-family:"Fraunces", serif; font-size:1.05rem; color:var(--paper); white-space:nowrap;}
  .brand-name em{font-style:normal; color:var(--brass-bright);}
  nav.links{display:none; gap:32px; font-size:0.92rem;}
  nav.links a{text-decoration:none; color:var(--paper-dim); transition:color .15s ease;}
  nav.links a:hover{color:var(--brass-bright);}
  @media (min-width:860px){ nav.links{display:flex;} }
  .header-actions{display:flex; align-items:center; gap:14px;}
  .phone-inline{display:none; font-size:0.92rem; color:var(--paper-dim); text-decoration:none; white-space:nowrap;}
  @media (min-width:640px){ .phone-inline{display:inline;} }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:12px 22px; border-radius:2px; font-size:0.92rem; font-weight:500;
    text-decoration:none; cursor:pointer; border:1px solid transparent;
    white-space:nowrap; font-family:"Work Sans", sans-serif;
    transition:background-color .15s ease, color .15s ease, border-color .15s ease;
  }
  .btn-brass{background:var(--brass); color:var(--ink);}
  .btn-brass:hover{background:var(--brass-bright);}
  .btn-outline{border-color:var(--hair); color:var(--paper);}
  .btn-outline:hover{border-color:var(--brass); color:var(--brass-bright);}
  .btn-lg{
    padding:16px 28px; font-size:1.1rem; font-weight:800;
  }
  @media (min-width:640px){ .btn-lg{font-size:1.2rem; padding:18px 32px;} }

  /* Dark content sections — contrast band against the golden hero/header */
  .section-dark{
    background:#191008;
    --ink:#191008;
    --panel:#241a0e;
    --panel-raised:#2b1f11;
    --hair:#4a3218;
    --paper:#f3e6c8;
    --paper-dim:#c9b48a;
    --brass:#c99a4f;
    --brass-bright:#e8bd77;
    border-top:1px solid #4a3218;
    border-bottom:1px solid #4a3218;
  }

  /* Hero */
  .hero{
    padding:64px 0 72px;
    border-bottom:1px solid var(--hair);
    position:relative;
    overflow:hidden;
  }
  .hero-grid{
    display:grid; gap:48px; align-items:center;
  }
  @media (min-width:900px){ .hero-grid{grid-template-columns:1.1fr 0.9fr; gap:32px;} }
  .kicker{
    color:var(--brass-bright); font-size:0.85rem; letter-spacing:0.04em;
    margin-bottom:18px; display:block;
  }
  .hero h1{font-size:clamp(2.4rem, 5.4vw, 3.6rem); max-width:14ch;}
  .hero h1 .accent{color:var(--brass-bright);}
  .hero-sub{
    margin-top:22px; font-size:1.08rem; color:var(--paper-dim); max-width:46ch;
  }
  .hero-ctas{margin-top:34px; display:flex; flex-wrap:wrap; gap:14px;}
  .trust-line{margin-top:20px; font-size:0.85rem; color:var(--paper-dim); letter-spacing:0.01em;}
  .airport-banner{
    background:var(--brass); color:var(--ink);
    font-family:"Work Sans", sans-serif; font-weight:800;
    text-align:center; padding:12px 16px;
    font-size:1.05rem; letter-spacing:0.01em;
    display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
  }
  .airport-banner svg{width:22px; height:22px; flex:none;}
  @media (min-width:640px){ .airport-banner{font-size:1.35rem; padding:14px 16px;} }
  .airport-strip{background:#191008; padding:18px 0; border-bottom:1px solid #4a3218;}
  .airport-strip img{display:block; width:100%; height:auto; max-width:1100px; margin:0 auto; border-radius:4px;}
  .hero-art{width:100%; height:auto;}
  .hero-art svg{width:100%; height:auto; display:block;}
  .hero-art img{width:100%; height:auto; display:block; border-radius:2px;}

  .divider{
    height:1px; background:linear-gradient(90deg, var(--brass) 0%, transparent 60%);
    width:88px; margin:0 0 20px;
  }

  section{padding:76px 0;}
  .section-head{max-width:640px; margin-bottom:44px;}
  .section-head h2{font-size:clamp(1.7rem, 3.4vw, 2.3rem);}
  .section-head p{margin-top:14px; color:var(--paper-dim); font-size:1.02rem;}

  /* Services */
  .services{border-top:1px solid var(--hair);}
  .service-list{
    display:grid; grid-template-columns:1fr; gap:0;
    border-top:1px solid var(--hair);
  }
  @media (min-width:760px){ .service-list{grid-template-columns:1fr 1fr;} }
  .service-item{
    display:flex; gap:18px; padding:26px 4px;
    border-bottom:1px solid var(--hair);
  }
  @media (min-width:760px){
    .service-item:nth-child(odd){border-right:1px solid var(--hair); padding-right:28px;}
    .service-item:nth-child(even){padding-left:28px;}
  }
  .service-icon{flex:none; width:34px; height:34px; color:var(--brass-bright);}
  .service-icon svg{width:100%; height:100%;}
  .service-item h3{font-size:1.1rem; font-weight:600; margin-bottom:6px;}
  .service-item p{color:var(--paper-dim); font-size:0.95rem;}

  /* Why choose */
  .why{background:var(--panel); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);}
  .why-grid{display:grid; gap:36px;}
  @media (min-width:760px){ .why-grid{grid-template-columns:repeat(4, 1fr);} }
  .why-num{font-family:"Fraunces", serif; font-size:1.6rem; color:var(--brass); margin-bottom:14px;}
  .why-item h3{font-size:1.05rem; margin-bottom:8px;}
  .why-item p{color:var(--paper-dim); font-size:0.94rem;}

  /* Occasions */
  .occasions{border-top:1px solid var(--hair);}
  .occasion-row{
    display:grid; grid-template-columns:repeat(2, 1fr); gap:1px;
    background:var(--hair); border:1px solid var(--hair);
  }
  @media (min-width:640px){ .occasion-row{grid-template-columns:repeat(4, 1fr);} }
  @media (min-width:960px){ .occasion-row{grid-template-columns:repeat(7, 1fr);} }
  .occasion-item{
    background:var(--ink); padding:24px 16px; display:flex; flex-direction:column;
    align-items:center; text-align:center; gap:12px; font-size:0.85rem; color:var(--paper-dim);
  }
  .occasion-item svg{width:26px; height:26px; color:var(--brass-bright); flex:none;}

  /* Vehicle */
  .vehicle-grid{display:grid; gap:44px; align-items:center;}
  @media (min-width:900px){ .vehicle-grid{grid-template-columns:0.9fr 1.1fr;} }
  .vehicle-art svg{width:100%; height:auto; display:block;}
  .vehicle-gallery{
    display:grid; grid-template-columns:1fr; gap:16px;
    outline:1px solid var(--brass); outline-offset:8px;
  }
  @media (min-width:520px){ .vehicle-gallery{grid-template-columns:1fr 1fr;} }
  .vehicle-gallery img{
    width:100%; height:100%; object-fit:cover; display:block;
    border:1px solid var(--hair); aspect-ratio:3/4;
  }
  .vehicle-copy h2{font-size:clamp(1.7rem, 3.2vw, 2.2rem);}
  .vehicle-copy .tag{color:var(--brass-bright); font-family:"Fraunces", serif; font-style:italic; margin-top:6px; display:block; font-size:1.05rem;}
  .vehicle-features{list-style:none; padding:0; margin:26px 0 0; display:grid; gap:12px;}
  .vehicle-features li{display:flex; gap:10px; color:var(--paper-dim); font-size:0.96rem;}
  .vehicle-features li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--brass); margin-top:9px; flex:none;}

  /* Areas */
  .areas{border-top:1px solid var(--hair);}
  .chip-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;}
  .areas-note{margin-top:22px; font-size:0.95rem; color:var(--paper-dim); max-width:68ch;}
  .chip{
    border:1px solid var(--hair); padding:9px 18px; border-radius:2px;
    font-size:0.9rem; color:var(--paper-dim);
  }
  .chip.hi{border-color:var(--brass); color:var(--brass-bright);}

  /* Pricing */
  .pricing{background:var(--panel); border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);}
  .price-tables{display:grid; gap:40px;}
  @media (min-width:900px){ .price-tables{grid-template-columns:1fr 1fr;} }
  .price-table{border-top:1px solid var(--hair);}
  .price-table h3{font-size:1rem; font-weight:600; padding:18px 0 12px; color:var(--brass-bright); font-family:"Work Sans", sans-serif;}
  .price-row{
    display:flex; justify-content:space-between; gap:16px;
    padding:14px 0; border-top:1px solid var(--hair);
    font-size:0.96rem;
  }
  .price-row .svc{color:var(--paper);}
  .price-row .rate{color:var(--brass-bright); font-family:"Fraunces", serif; white-space:nowrap;}
  .price-note{margin-top:22px; font-size:0.85rem; color:var(--paper-dim); font-style:italic;}

  /* FAQ */
  .faq-list{border-top:1px solid var(--hair);}
  details{border-bottom:1px solid var(--hair); padding:20px 0;}
  summary{
    cursor:pointer; list-style:none; display:flex; justify-content:space-between;
    align-items:center; gap:16px; font-family:"Fraunces", serif; font-size:1.08rem;
  }
  summary::-webkit-details-marker{display:none;}
  summary .plus{flex:none; width:18px; height:18px; position:relative; color:var(--brass-bright);}
  summary .plus::before, summary .plus::after{
    content:""; position:absolute; background:currentColor;
  }
  summary .plus::before{left:0; top:8px; width:18px; height:2px;}
  summary .plus::after{left:8px; top:0; width:2px; height:18px; transition:transform .2s ease;}
  details[open] summary .plus::after{transform:scaleY(0);}
  details p{margin-top:14px; color:var(--paper-dim); max-width:64ch; font-size:0.96rem;}

  /* CTA band */
  .cta-band{
    background:var(--brass); color:var(--ink); border-top:1px solid var(--hair);
  }
  .cta-band h2{color:var(--ink); font-size:clamp(1.7rem, 3.6vw, 2.4rem); max-width:16ch;}
  .cta-band p{color:#3a2c17; margin-top:12px; font-size:1.02rem;}
  .founder-line{font-family:"Fraunces", serif; font-style:italic; font-size:0.95rem; margin-top:16px !important;}
  .cta-band .btn-outline{border-color:var(--ink); color:var(--ink);}
  .cta-band .btn-outline:hover{background:var(--ink); color:var(--paper);}
  .cta-flex{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:28px;}
  .cta-actions{display:flex; flex-wrap:wrap; gap:14px;}
  .cta-band .btn-brass{background:var(--ink); color:var(--paper);}
  .cta-band .btn-brass:hover{background:#000;}

  /* Booking form */
  .booking-form{border-top:1px solid var(--hair); padding-top:36px;}
  .form-grid{display:grid; grid-template-columns:1fr; gap:20px;}
  @media (min-width:640px){ .form-grid{grid-template-columns:1fr 1fr;} }
  .field{display:flex; flex-direction:column; gap:8px;}
  .field-wide{grid-column:1/-1;}
  .field label{font-size:0.85rem; color:var(--paper-dim);}
  .field input, .field select, .field textarea{
    background:var(--panel); border:1px solid var(--hair); color:var(--paper);
    padding:12px 14px; border-radius:2px; font-family:"Work Sans", sans-serif;
    font-size:0.96rem; width:100%;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:2px solid var(--focus); outline-offset:1px; border-color:var(--brass);
  }
  .field textarea{resize:vertical;}
  .booking-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:30px;}
  .booking-actions button{font-family:"Work Sans", sans-serif;}
  .booking-note{margin-top:16px; font-size:0.85rem; color:var(--paper-dim);}
  .booking-error{
    margin-top:24px; padding:14px 16px; border:1px solid #7a3b3b; color:#e2a3a3;
    background:rgba(122,59,59,0.12); font-size:0.9rem; border-radius:2px;
  }

  /* Footer */
  footer{padding:48px 0 40px; font-size:0.88rem; color:var(--paper-dim);}
  .footer-grid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; align-items:flex-start;}
  footer a{text-decoration:none; color:var(--paper-dim);}
  footer a:hover{color:var(--brass-bright);}
  .footer-links{display:flex; gap:20px; flex-wrap:wrap;}
  .footer-bottom{margin-top:32px; padding-top:24px; border-top:1px solid var(--hair); font-size:0.82rem;}

  /* ---- Added for multi-page site ---- */
  .section-dark{color:var(--paper);}  /* fixes near-invisible FAQ questions on dark sections */
  .airport-banner a{color:inherit; text-decoration:none; border-bottom:1px solid transparent;}
  .airport-banner a:hover{border-bottom-color:currentColor;}
  .crumbs{font-size:0.82rem; color:var(--paper-dim); margin-bottom:18px;}
  .crumbs a{color:var(--paper-dim); text-decoration:none;}
  .crumbs a:hover{color:var(--brass-bright);}
  .crumbs span{margin:0 6px;}
  .service-item h3 a{text-decoration:none;}
  .service-item h3 a:hover{color:var(--brass-bright);}
  .more-link{display:inline-block; margin-top:8px; font-size:0.88rem; color:var(--brass-bright); text-decoration:none;}
  .more-link:hover{text-decoration:underline;}
  a.chip{text-decoration:none;}
  a.chip:hover{border-color:var(--brass); color:var(--brass-bright);}
  .prose{max-width:68ch;}
  .prose p{color:var(--paper-dim); font-size:1.0rem; margin-top:16px;}
  .prose p:first-child{margin-top:0;}
  .prose h3{font-size:1.2rem; margin-top:34px;}
  .prose ul{color:var(--paper-dim); padding-left:20px; margin:14px 0 0;}
  .prose li{margin-top:8px;}
  .two-col{display:grid; gap:48px;}
  @media (min-width:900px){ .two-col{grid-template-columns:1.2fr 0.8fr; align-items:start;} }
  .check-list{list-style:none; padding:0; margin:0; display:grid; gap:12px;}
  .check-list li{display:flex; gap:10px; color:var(--paper-dim); font-size:0.96rem;}
  .check-list li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--brass); margin-top:9px; flex:none;}
  .aside-card{border:1px solid var(--hair); padding:26px; background:var(--panel);}
  .aside-card h3{font-size:1.1rem; margin-bottom:16px;}
  .link-grid{display:grid; grid-template-columns:1fr; gap:1px; background:var(--hair); border:1px solid var(--hair);}
  @media (min-width:640px){ .link-grid{grid-template-columns:1fr 1fr;} }
  @media (min-width:960px){ .link-grid{grid-template-columns:repeat(4,1fr);} }
  .link-card{background:var(--ink); padding:22px 20px; text-decoration:none; display:block;}
  .link-card strong{display:block; font-family:"Fraunces", serif; font-weight:600; font-size:1.05rem; color:var(--paper);}
  .link-card span{display:block; margin-top:6px; font-size:0.88rem; color:var(--paper-dim);}
  .link-card:hover strong{color:var(--brass-bright);}
  .footer-cols{display:grid; gap:28px; grid-template-columns:1fr 1fr; margin-top:36px;}
  @media (min-width:760px){ .footer-cols{grid-template-columns:repeat(4,1fr);} }
  .footer-cols h4{font-family:"Fraunces", serif; font-weight:600; font-size:0.95rem; color:var(--paper); margin:0 0 12px;}
  .footer-cols ul{list-style:none; padding:0; margin:0; display:grid; gap:8px;}
