/* In & Out 2 — black and logo gold, thin rules, round arc */
:root{--gold:#c9a86a;--gold-lt:#e3d3a8;--black:#0b0b0b;--coal:#161514;--ivory:#f3eee3;
  --c-bg:#0b0b0b;--c-ink:#f3eee3;--c-border:#3a352c;--f-head:"Italiana",Georgia,serif;--f-body:"Tenor Sans",system-ui,sans-serif;--nav-h:64px}
body{background:var(--black);color:var(--ivory);font-size:1.08rem}
a{color:var(--gold-lt)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #fff;outline-offset:3px}
.demo-banner{margin:0;background:#2a2620;color:#f3eee3}
h1,h2,h3{font-family:var(--f-head);font-weight:400;letter-spacing:.02em}

.topline{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:18px;padding:12px clamp(16px,4vw,48px);background:rgba(11,11,11,.96);border-bottom:1px solid var(--gold)}
.topline-name{font-family:var(--f-head);font-size:1.5rem;color:var(--ivory);text-decoration:none;white-space:nowrap}
.topline-name span{display:none;font-family:var(--f-body);font-size:.8rem;color:var(--gold);margin-left:8px;letter-spacing:.08em}
.topline-nav{display:none;gap:26px;margin:0 auto}
.topline-nav a{color:var(--ivory);text-decoration:none;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase}
.topline-nav a:hover{color:var(--gold)}
.topline-call{display:none;color:var(--gold);text-decoration:none;border:1px solid var(--gold);padding:8px 14px}
.nav-toggle{margin-left:auto;background:transparent;border-color:var(--gold)}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{background:var(--gold)}
.mobile-menu{position:absolute;top:100%;left:0;right:0;bottom:auto;background:var(--coal);border-bottom:1px solid var(--gold)}
.mobile-menu a:not(.btn-gold){color:var(--ivory);border-color:#3a352c}
@media (min-width:960px){.topline-nav,.topline-call{display:flex}.topline-name span{display:inline}.nav-toggle{display:none}}

.btn-gold,.btn-line{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 24px;font-family:var(--f-body);font-size:1rem;letter-spacing:.06em;text-decoration:none;cursor:pointer;border-radius:0}
.btn-gold{background:var(--gold);color:#111;border:1px solid var(--gold)}
.btn-gold:hover{background:var(--gold-lt)}
.btn-line{border:1px solid var(--ivory);color:var(--ivory);background:transparent}
.btn-line:hover{border-color:var(--gold);color:var(--gold)}

.ring-hero{display:grid;gap:32px;align-items:center;padding:clamp(36px,7vw,96px) clamp(16px,6vw,80px);max-width:1240px;margin:0 auto}
.ring{width:min(78vw,440px);aspect-ratio:1;margin:0 auto;border-radius:50%;border:1px solid var(--gold);padding:18px;box-shadow:0 0 0 10px var(--black),0 0 0 11px rgba(201,168,106,.45)}
.ring img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.ring-copy h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.05;margin:0 0 16px}
.ring-copy p{max-width:44ch;color:#e6dfd0}
.es{color:var(--gold)!important;font-style:italic}
.ring-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media (min-width:900px){.ring-hero{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}

.inout{display:grid;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.inout-half{padding:clamp(32px,5vw,64px) clamp(16px,5vw,64px);position:relative;overflow:hidden}
.inout-in{background:var(--ivory);color:#1a1814}
.inout-in a{color:#5a4320}
.inout-out{background:var(--coal)}
.big-word{font-family:var(--f-head);font-size:clamp(5rem,14vw,10rem);line-height:.8;margin:0 0 10px;color:var(--gold)}
.inout-in .big-word{color:#a8864a}
.inout-half h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 12px;line-height:1.1}
.quote{font-size:1.2rem;line-height:1.55;border-left:2px solid #a8864a;padding-left:14px}
.src,.muted{font-size:.92rem;color:#6a6050}
.inout-out .muted{color:#cfc6b4}
@media (min-width:900px){.inout{grid-template-columns:1fr 1fr}}

.chair{padding:clamp(40px,6vw,80px) clamp(16px,6vw,80px);max-width:1100px;margin:0 auto}
.chair h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 20px;text-align:right}
.chair-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--gold)}
.chair-list li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid #3a352c;align-items:baseline}
.chair-list .n{font-family:var(--f-head);font-size:2rem;color:var(--gold)}
.chair-list h3{margin:0;font-size:1.8rem}
.chair-list p{margin:4px 0 0;color:#d8d0bf}
.chair-note{font-size:.95rem;color:#cfc6b4;margin-top:18px}

.visit{display:grid;gap:0;background:var(--ivory);color:#1a1814}
.visit a{color:#5a4320}
.visit-card{padding:clamp(32px,5vw,64px) clamp(16px,5vw,64px)}
.visit h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 10px}
address{font-style:normal;font-size:1.3rem}
.hours-note{font-size:1rem;max-width:44ch}
.visit-map{min-height:340px;background:#d9d1bf}
.visit-map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
@media (min-width:900px){.visit{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}}

.note{padding:clamp(36px,5vw,64px) clamp(16px,6vw,80px);max-width:1000px;margin:0 auto}
.note h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 16px}
.note-form{display:grid;gap:16px}
.note-form label{display:block;margin-bottom:4px;color:var(--gold-lt);letter-spacing:.06em}
.note-form input,.note-form textarea{width:100%;font:inherit;background:transparent;color:var(--ivory);border:0;border-bottom:1px solid var(--gold);padding:10px 2px}
.field.has-error input,.field.has-error textarea{border-bottom-color:#ff8a80}
.field.has-error .field-error{display:block;color:#ffb4ab}
.form-success{border:1px solid var(--gold);color:var(--ivory)}
@media (min-width:760px){.note-form{grid-template-columns:1fr 1fr}.field-wide,.note-form button{grid-column:1/-1;justify-self:start}}

.arc-foot{text-align:center;padding:28px 16px 40px;border-top:1px solid #3a352c}
.arc{width:min(420px,80vw);height:auto;display:block;margin:0 auto}
.arc-name{font-family:var(--f-head);font-size:2rem;margin:4px 0}
.arc-foot .small{font-size:.88rem;color:#bdb5a5}
