:root {
        --black:#0a0907;
        --deep:#100e0b;
        --dark:#1a1612;
        --teal:#1d4a47;
        --gold:#c9a96e;
        --gold-dim:#8a6f3f;
        --cream:#e8dcc8;
        --cream-dim:#b8a888;
        --white:#f5f0e8;
      }
      *,*::before,*::after {
        margin:0;
        padding:0;
        box-sizing:border-box
      }
      html {
        scroll-behavior:smooth
      }
      body {
        background:var(--black);
        color:var(--cream);
        font-family:'Cormorant Garamond',serif;
        overflow-x:hidden;
        /* cursor handled in site.css */}
      body::before {
        content:'';
        position:fixed;
        inset:0;
        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='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
        opacity:.035;
        pointer-events:none;
        z-index:100
      }
      .cursor {
        width:10px;
        height:10px;
        border-radius:50%;
        background:var(--gold);
        position:fixed;
        top:0;
        left:0;
        pointer-events:none;
        z-index:9999;
        transform:translate(-50%,-50%);
        mix-blend-mode:difference;
        transition:width .2s,height .2s
      }
      .cursor-ring {
        width:36px;
        height:36px;
        border:1px solid var(--gold);
        border-radius:50%;
        position:fixed;
        top:0;
        left:0;
        pointer-events:none;
        z-index:9998;
        transform:translate(-50%,-50%);
        opacity:.5
      }
      nav {
        position:fixed;
        top:0;
        left:0;
        right:0;
        z-index:500;
        padding:24px clamp(32px,6vw,80px);
        display:flex;
        align-items:center;
        justify-content:space-between;
        transition:background .4s
      }
      nav.scrolled {
        background:rgba(10,9,7,.95);
        backdrop-filter:blur(8px)
      }
      .nav-logo img {
        height:40px;
        width:auto;
        display:block
      }
      .nav-links {
        display:flex;
        gap:clamp(20px,3vw,44px);
        list-style:none;
        align-items:center
      }
      .nav-links a {
        font-family:'Josefin Sans',sans-serif;
        font-size:10px;
        font-weight:300;
        letter-spacing:.35em;
        text-transform:uppercase;
        color:var(--cream-dim);
        text-decoration:none;
        transition:color .25s
      }
      .nav-links a:hover,.nav-links a.active {
        color:var(--gold)
      }
      .nav-reserve {
        border:1px solid rgba(201,169,110,.4);
        padding:10px 22px;
        color:var(--cream)!important;
        transition:all .3s!important
      }
      .nav-reserve:hover {
        background:var(--gold);
        color:var(--black)!important;
        border-color:var(--gold)!important
      }
      .nav-burger {
        display:none;
        flex-direction:column;
        gap:5px;
        cursor:pointer;
        background:none;
        border:none;
        padding:4px
      }
      .nav-burger span {
        display:block;
        width:24px;
        height:1px;
        background:var(--cream);
        transition:all .3s
      }
      .nav-mobile {
        display:none;
        position:fixed;
        inset:0;
        background:var(--black);
        z-index:490;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:32px
      }
      .nav-mobile.open {
        display:flex
      }
      .nav-mobile a {
        font-family:'Playfair Display',serif;
        font-size:clamp(28px,6vw,48px);
        font-style:italic;
        color:var(--white);
        text-decoration:none;
        transition:color .25s
      }
      .nav-mobile a:hover {
        color:var(--gold)
      }
      .section-label {
        font-family:'Josefin Sans',sans-serif;
        font-size:10px;
        font-weight:100;
        letter-spacing:.4em;
        text-transform:uppercase;
        color:var(--gold);
        margin-bottom:28px;
        display:flex;
        align-items:center;
        gap:16px
      }
      .section-label::before {
        content:'';
        display:block;
        width:32px;
        height:1px;
        background:var(--gold)
      }
      footer {
        border-top:1px solid rgba(201,169,110,.15);
        padding:36px clamp(32px,6vw,80px);
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:24px;
        flex-wrap:wrap
      }
      .footer-logo img {
        height:44px;
        width:auto
      }
      .footer-middle {
        font-family:'Josefin Sans',sans-serif;
        font-size:10px;
        font-weight:100;
        letter-spacing:.3em;
        text-transform:uppercase;
        color:var(--cream-dim);
        text-align:center
      }
      .footer-links {
        display:flex;
        gap:24px
      }
      .footer-links a {
        font-family:'Josefin Sans',sans-serif;
        font-size:10px;
        font-weight:100;
        letter-spacing:.3em;
        text-transform:uppercase;
        color:var(--gold-dim);
        text-decoration:none;
        transition:color .2s
      }
      .footer-links a:hover {
        color:var(--gold)
      }
      .reveal {
        opacity:0;
        transform:translateY(36px);
        transition:opacity .9s ease,transform .9s ease
      }
      .reveal.visible {
        opacity:1;
        transform:none
      }
      .page-hero {
        min-height:60vh;
        display:flex;
        align-items:flex-end;
        position:relative;
        overflow:hidden
      }
      .page-hero-bg {
        position:absolute;
        inset:0;
        background-size:cover;
        background-position:center
      }
      .page-hero-bg::after {
        content:'';
        position:absolute;
        inset:0;
        background:linear-gradient(to top,rgba(10,9,7,.85) 0%,rgba(10,9,7,.2) 40%,rgba(10,9,7,0) 100%)
      }
      .page-hero-content {
        position:relative;
        z-index:2;
        padding:clamp(40px,6vw,80px);
        padding-bottom:clamp(60px,8vw,100px)
      }
      .page-title {
        font-family:'Playfair Display',serif;
        font-size:clamp(48px,8vw,110px);
        font-weight:700;
        line-height:.9;
        color:var(--white);
        letter-spacing:-.02em
      }
      .page-title em {
        font-style:italic;
        color:var(--gold)
      }
      .btn-gold {
        font-family:'Josefin Sans',sans-serif;
        font-size:11px;
        font-weight:300;
        letter-spacing:.3em;
        text-transform:uppercase;
        text-decoration:none;
        color:var(--black);
        background:var(--gold);
        padding:18px 40px;
        display:inline-block;
        transition:background .3s
      }
      .btn-gold:hover {
        background:var(--cream)
      }
      .btn-outline {
        font-family:'Josefin Sans',sans-serif;
        font-size:11px;
        font-weight:300;
        letter-spacing:.3em;
        text-transform:uppercase;
        text-decoration:none;
        color:var(--cream);
        border:1px solid rgba(201,169,110,.4);
        padding:18px 40px;
        display:inline-block;
        transition:all .3s
      }
      .btn-outline:hover {
        border-color:var(--gold);
        color:var(--gold)
      }
      @keyframes fadeUp {
        from {
          opacity:0;
          transform:translateY(30px)
        }
        to {
          opacity:1;
          transform:none
        }
      }
      @media(max-width:760px) {
        .nav-links {
          display:none
        }
        .nav-burger {
          display:flex
        }
        footer {
          flex-direction:column;
          align-items:center;
          text-align:center
        }
      }
      .page-hero-bg {
        background-image:url('/assets/images/extracted/index-04.jpg')
      }
      .about-body {
        padding:clamp(80px,10vw,140px) clamp(32px,6vw,80px);
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:clamp(40px,8vw,120px);
        align-items:start
      }
      .about-text h2 {
        font-family:'Playfair Display',serif;
        font-size:clamp(32px,4vw,54px);
        color:var(--white);
        line-height:1.15;
        margin-bottom:28px
      }
      .about-text h2 em {
        font-style:italic;
        color:var(--gold)
      }
      .about-text p {
        font-size:clamp(15px,1.3vw,18px);
        font-weight:300;
        line-height:1.9;
        color:var(--cream-dim);
        margin-bottom:24px
      }
      .about-visual {
        position:relative
      }
      .about-visual img {
        width:100%;
        display:block
      }
      .values {
        background:var(--deep);
        padding:clamp(80px,10vw,140px) clamp(32px,6vw,80px)
      }
      .values-header {
        text-align:center;
        margin-bottom:clamp(48px,6vw,80px)
      }
      .values-header h2 {
        font-family:'Playfair Display',serif;
        font-size:clamp(32px,5vw,60px);
        font-style:italic;
        color:var(--white)
      }
      .values-grid {
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:1px;
        background:rgba(201,169,110,.1);
        border:1px solid rgba(201,169,110,.1)
      }
      .value-item {
        background:var(--deep);
        padding:clamp(36px,4vw,52px) clamp(28px,3vw,40px);
        transition:background .4s;
        position:relative
      }
      .value-item::after {
        content:'';
        position:absolute;
        bottom:0;
        left:0;
        width:0;
        height:2px;
        background:var(--gold);
        transition:width .4s
      }
      .value-item:hover {
        background:rgba(29,74,71,.2)
      }
      .value-item:hover::after {
        width:100%
      }
      .value-icon {
        font-size:26px;
        margin-bottom:16px;
        color:var(--gold)
      }
      .value-name {
        font-family:'Josefin Sans',sans-serif;
        font-size:11px;
        letter-spacing:.25em;
        text-transform:uppercase;
        color:var(--gold);
        margin-bottom:12px
      }
      .value-desc {
        font-size:15px;
        font-weight:300;
        line-height:1.7;
        color:var(--cream-dim)
      }
      .press-strip {
        padding:clamp(80px,10vw,120px) clamp(32px,6vw,80px);
        text-align:center
      }
      .press-strip h2 {
        font-family:'Playfair Display',serif;
        font-size:clamp(28px,4vw,48px);
        font-style:italic;
        color:var(--white);
        margin-bottom:60px
      }
      .press-logos {
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:center;
        gap:clamp(32px,6vw,80px)
      }
      .press-logo-link {
        text-decoration:none;
        display:block
      }
      .press-logo-link:hover {
        color:var(--gold)
      }
      .press-logo-link img {
        height:clamp(28px,3.5vw,50px);
        width:auto;
        display:block;
        opacity:.75;
        transition:opacity .3s;
        filter:none
      }
      .press-logo-link:hover img {
        opacity:1
      }
      @media(max-width:800px) {
        .about-body {
          grid-template-columns:1fr
        }
        .about-visual {
          display:none
        }
        .values-grid {
          grid-template-columns:1fr
        }
        .press-quotes {
          grid-template-columns:1fr
        }
      }