:root{
    --gold:#96762F;
    --gold-deep:#7A5E24;
    --gold-pale:#E7DCC0;
    --ink:#33302A;
    --ink-soft:#6E6759;
    --paper:#FFFFFF;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:'Jost',Futura,'Century Gothic',sans-serif;
    font-weight:300;
    -webkit-font-smoothing:antialiased;
    text-align:center;
  }
  ::selection{background:var(--gold);color:#fff;}

  .frame{
    max-width:1060px;
    margin:0 auto;
    padding:56px 28px 40px;
    animation:rise 1.1s ease-out both;
  }
  @keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

  .eyebrow{
    font-size:12px;
    letter-spacing:.42em;
    text-transform:uppercase;
    color:var(--gold-deep);
    font-weight:400;
  }
  .eyebrow .dot{color:var(--gold);padding:0 .6em;}
  .eyebrow .eb-line{white-space:nowrap;}
  .logo-mark{display:none;}

  h1{
    font-family:'Taviraj',Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:clamp(52px,9vw,96px);
    line-height:1.04;
    color:var(--gold);
    margin:22px 0 6px;
    letter-spacing:.01em;
  }
  h1 .plus{font-weight:500;}

  .subhead{
    font-family:'Montserrat','Century Gothic',Futura,Verdana,sans-serif;
    font-size:clamp(12px,2.4vw,15px);
    letter-spacing:.5em;
    text-transform:uppercase;
    color:var(--ink);
    font-weight:400;
    margin-top:14px;
  }

  .divider{
    display:flex;align-items:center;justify-content:center;gap:14px;
    margin:34px auto 30px;max-width:420px;
  }
  .divider::before,.divider::after{
    content:"";height:1px;flex:1;
    background:linear-gradient(90deg,transparent,var(--gold));
  }
  .divider::after{background:linear-gradient(90deg,var(--gold),transparent);}
  .divider span{
    width:9px;height:9px;background:var(--gold);
    transform:rotate(45deg);display:block;
  }

  .tagline{
    font-family:'Playfair Display',Georgia,serif;
    font-style:italic;
    font-weight:500;
    font-size:clamp(21px,3.6vw,28px);
    color:var(--ink);
    max-width:640px;margin:0 auto 18px;line-height:1.35;
  }
  .lede{
    font-size:clamp(15px,2.4vw,17.5px);
    line-height:1.75;
    color:var(--ink-soft);
    max-width:600px;margin:0 auto;
  }
  .lede strong{font-weight:500;color:var(--ink);}

  .gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
    margin:52px auto 8px;
    max-width:960px;
  }
  figure{animation:rise 1.1s ease-out both;}
  figure:nth-child(2){animation-delay:.12s;}
  figure:nth-child(3){animation-delay:.24s;}
  .ph{
    border:1px solid var(--gold-pale);
    outline:1px solid var(--gold-pale);
    outline-offset:5px;
    overflow:hidden;
    background:#f7f3ea;
    line-height:0;
  }
  .ph img{width:100%;height:auto;display:block;}
  figcaption{
    margin-top:16px;
    font-size:11.5px;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--gold-deep);
    font-weight:400;
  }

  .visit{margin-top:58px;}
  .visit .eyebrow{margin-bottom:16px;display:block;}
  .handle{
    font-family:'Montserrat','Century Gothic',Futura,Verdana,sans-serif;
    font-weight:500;
    font-size:clamp(15px,2.6vw,19px);
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--ink);
    margin-bottom:20px;
  }
  .handle b{color:var(--gold);font-weight:700;letter-spacing:0;}
  .socials{
    display:flex;flex-wrap:wrap;justify-content:center;
    gap:10px 30px;list-style:none;
  }
  .socials a{
    color:var(--ink);
    text-decoration:none;
    font-size:13px;
    letter-spacing:.3em;
    text-transform:uppercase;
    font-weight:400;
    padding-bottom:5px;
    border-bottom:1px solid var(--gold-pale);
    transition:color .25s,border-color .25s;
  }
  .socials a:hover{color:var(--gold-deep);border-color:var(--gold);}

  .mail{
    margin-top:38px;
    font-size:16.5px;color:var(--ink-soft);line-height:1.7;
  }
  .mail a{
    color:var(--gold-deep);
    text-decoration:none;
    border-bottom:1px solid var(--gold-pale);
    transition:border-color .25s;
    font-weight:400;
  }
  .mail a:hover{border-color:var(--gold);}

  footer{
    margin-top:64px;
    border-top:1px solid var(--gold-pale);
    padding-top:24px;
    font-size:12px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--ink-soft);
    line-height:2;
  }
  footer .credits{
    letter-spacing:.04em;text-transform:none;
    font-size:12px;color:#A79E8C;
  }

  @media (max-width:600px){
    .eyebrow .dot{display:none;}
    .eyebrow .eb-line{display:block;}
    .eyebrow .eb-line:first-child{margin-bottom:8px;}
    h1{display:none;}
    .logo-mark{display:block;width:186px;height:auto;margin:20px auto 2px;}
  }

  @media (max-width:720px){
    .frame{padding:40px 20px 30px;}
    .gallery{grid-template-columns:1fr;max-width:420px;gap:34px;}
    .socials{gap:12px 22px;}
  }
