/* Tylosia Advisors — v22 consolidated stylesheet.
   Single cascade, no override generations, no !important. */

:root{
  --bg:#16282e;
  --bg-elev:#1c3138;
  --text:#e9e7e0;
  --text-soft:#a4b2b4;
  --brass:#ab8c57;
  --brass-bright:#c2a068;
  --ink-on-brass:#14232a;
  --line:#2b4148;
  --pearl:#eae7df;
  --max:1080px;
  --header-h:146px;
  --serif:'Fraunces',serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);}
body{
  font-family:'Instrument Sans',system-ui,sans-serif;
  background:var(--bg);color:var(--text);
  line-height:1.6;font-size:17px;
  -webkit-font-smoothing:antialiased;
  max-width:100%;overflow-x:hidden;
}
a{color:inherit;}
img,svg{max-width:100%;height:auto;}
a:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px;}

.skip-link{
  position:absolute;left:16px;top:12px;z-index:2000;
  transform:translateY(-140%);
  background:var(--brass);color:var(--ink-on-brass);
  padding:10px 14px;border-radius:2px;text-decoration:none;
  font-weight:700;font-size:.86rem;letter-spacing:.02em;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.skip-link:focus{transform:translateY(0);outline:2px solid var(--text);outline-offset:2px;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:1000;
  border-bottom:1px solid var(--line);
  background:rgba(22,40,46,.93);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(0,0,0,.10);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-h);}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0;}
.brand .mark{width:112px;height:112px;flex:none;}
.wordmark{
  font-family:'Fraunces',serif;font-weight:600;font-size:1.6rem;
  letter-spacing:.02em;line-height:1;white-space:nowrap;
}
.wordmark span{color:var(--brass);}
nav.links{display:flex;gap:26px;align-items:center;}
nav.links a{
  text-decoration:none;font-size:.85rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);
  line-height:1;padding:12px 0;transition:color .15s ease;
}
nav.links a:hover,nav.links a:focus-visible{color:var(--brass);}
/* Contact button: same typography and baseline as its siblings,
   distinguished by a brass keyline only. */
nav.links a.nav-cta{
  color:var(--brass);
  border:1px solid rgba(171,140,87,.65);
  border-radius:2px;
  padding:12px 22px;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
nav.links a.nav-cta:hover,nav.links a.nav-cta:focus-visible{
  background:var(--brass);color:var(--ink-on-brass);border-color:var(--brass);
}

.menu-toggle{
  display:none;
  border:1px solid rgba(171,140,87,.65);
  background:transparent;
  color:var(--brass-bright);
  border-radius:2px;
  padding:11px 16px;
  font:inherit;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.menu-toggle:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
.mobile-menu{
  display:none;
  position:absolute;
  left:18px;
  right:18px;
  top:calc(100% - 1px);
  background:rgba(22,40,46,.98);
  border:1px solid rgba(171,140,87,.36);
  border-radius:3px;
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  padding:10px;
}
.mobile-menu a{
  display:block;
  text-decoration:none;
  color:var(--text);
  padding:14px 12px;
  border-bottom:1px solid rgba(235,232,224,.08);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mobile-menu a:last-child{border-bottom:0;color:var(--brass-bright);}
.mobile-menu a:focus-visible{outline:2px solid var(--brass);outline-offset:-2px;}

/* ---------- header mark reveal ---------- */
.mark{opacity:0;transform:scale(.965);animation:logoReveal 1s ease-out forwards;}
.mark .ring,.mark .ring2{opacity:0;animation:ringFade .55s ease-out forwards;}
.mark .ticks{opacity:0;animation:ringFade .55s ease-out forwards;animation-delay:.08s;}
.mark .waves path{stroke-dasharray:170;stroke-dashoffset:170;animation:waveDraw .95s ease-out forwards;animation-delay:.18s;}
.mark .waves path:nth-child(2){animation-delay:.24s;}
.mark .waves path:nth-child(3){animation-delay:.30s;}
.mark .pearl{opacity:0;transform-box:fill-box;transform-origin:center;animation:pearlReveal 1s ease-out forwards;animation-delay:.46s;}
.mark .pearl-halo{opacity:.45;}
@keyframes logoReveal{to{opacity:1;transform:scale(1);}}
@keyframes ringFade{to{opacity:1;}}
@keyframes waveDraw{to{stroke-dashoffset:0;}}
@keyframes pearlReveal{
  0%{opacity:0;transform:scale(.92);filter:drop-shadow(0 0 0 rgba(234,231,223,0));}
  65%{opacity:1;transform:scale(1.025);filter:drop-shadow(0 0 8px rgba(234,231,223,.22));}
  100%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 3px rgba(234,231,223,.12));}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none;animation:none;}
  .mark,.mark .ring,.mark .ring2,.mark .ticks,.mark .pearl{opacity:1;transform:none;filter:none;}
  .mark .waves path{stroke-dashoffset:0;}
}

/* ---------- hero ---------- */
.hero{padding:104px 0 78px;max-width:860px;}
.eyebrow{
  font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--brass);margin-bottom:20px;
}
h1{
  font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(2.6rem,5.5vw,4.6rem);
  line-height:1.12;letter-spacing:-.01em;margin-bottom:24px;
}
.hero p.lede{font-size:1.1rem;color:var(--text-soft);max-width:36em;margin-bottom:40px;}
.cta{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--brass);color:var(--ink-on-brass);
  text-decoration:none;font-weight:600;font-size:.9rem;letter-spacing:.06em;
  padding:15px 30px;min-height:48px;border-radius:2px;transition:background .15s ease;
}
.cta:hover,.cta:focus-visible{background:var(--brass-bright);}
.cta.ghost{background:transparent;color:var(--text);border:1px solid var(--text-soft);margin-left:12px;}
.cta.ghost:hover,.cta.ghost:focus-visible{border-color:var(--brass);color:var(--brass);background:transparent;}

/* ---------- sections ---------- */
section{padding:84px 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 16px);}
.panel-section{background:rgba(28,49,56,.45);}
h2{
  font-family:'Fraunces',serif;font-weight:500;font-size:1.9rem;
  margin-bottom:12px;letter-spacing:-.005em;
}
.section-intro{color:var(--text-soft);max-width:40em;margin-bottom:48px;}
.wrap > p:not(.eyebrow):not(.lede):not(.section-intro){max-width:42em;}

/* ---------- proof strip ---------- */
.proof-section{padding:0 0 78px;border-top:0;}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.proof-card{
  border:1px solid rgba(171,140,87,.34);
  background:linear-gradient(180deg, rgba(171,140,87,.12), rgba(28,49,56,.42));
  border-radius:4px;padding:22px 20px;
}
.proof-card strong{
  display:block;font-family:'Fraunces',serif;font-size:1.45rem;font-weight:500;
  line-height:1.1;color:var(--text);margin-bottom:8px;white-space:nowrap;
}
.proof-card span{display:block;color:var(--text-soft);font-size:.9rem;line-height:1.45;}

/* ---------- quote ---------- */
.quote-section{padding:76px 0;background:rgba(28,49,56,.52);}
.quote-section blockquote{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(1.7rem,3.4vw,2.7rem);
  line-height:1.22;color:var(--text);max-width:880px;margin-bottom:22px;
}
.quote-section p{color:var(--text-soft);max-width:760px;}

/* ---------- cards & lists ---------- */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.card-grid.two{grid-template-columns:repeat(2,1fr);}
.card-grid.three{grid-template-columns:repeat(3,1fr);}
.info-card{
  border:1px solid var(--line);background:rgba(28,49,56,.42);
  border-radius:4px;padding:24px 22px;
}
.info-card h3{
  font-family:'Fraunces',serif;font-weight:600;font-size:1.15rem;line-height:1.25;margin-bottom:10px;
}
.info-card p{color:var(--text-soft);font-size:.95rem;}

/* situations */
.situation-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;max-width:960px;}
.situation-list p{
  border-top:1px solid var(--line);padding:18px 0 18px 26px;position:relative;
  color:var(--text-soft);font-size:.98rem;line-height:1.5;
}
.situation-list p:before{
  content:"";position:absolute;left:0;top:26px;width:12px;height:1px;background:var(--brass);
}

.boundary-box{
  border:1px solid rgba(171,140,87,.55);background:rgba(171,140,87,.06);
  padding:32px;border-radius:4px;max-width:820px;
}
.boundary-box p{color:var(--text-soft);margin-bottom:14px;}
.boundary-box p:last-child{margin-bottom:0;}

/* ---------- experience ---------- */
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.experience-grid span{
  border:1px solid var(--line);background:rgba(22,40,46,.55);
  padding:18px;border-radius:3px;color:var(--text-soft);font-size:.95rem;
}
.experience-grid span:first-child{border-color:rgba(171,140,87,.65);color:var(--text);}
.heritage{
  margin-top:48px;padding-top:28px;border-top:1px solid var(--line);
  font-family:'Fraunces',serif;font-style:italic;font-size:1.05rem;
  color:var(--brass);max-width:46em;
}

/* ---------- approach ---------- */

/* ---------- engagement process ---------- */
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;}
.process div{border-top:1px solid var(--line);padding-top:18px;}
.process .step-no{
  display:block;font-family:'Fraunces',serif;font-size:.95rem;color:var(--brass);
  letter-spacing:.14em;margin-bottom:8px;
}
.process strong{display:block;font-family:'Fraunces',serif;font-size:1.1rem;font-weight:600;margin-bottom:8px;}
.process span:not(.step-no){display:block;color:var(--text-soft);font-size:.95rem;}
.inline-cta{
  display:inline-block;margin-top:36px;text-decoration:none;
  font-size:.9rem;font-weight:600;letter-spacing:.06em;color:var(--brass);
  border-bottom:1px solid rgba(171,140,87,.5);padding-bottom:3px;
  transition:color .15s ease,border-color .15s ease;
}
.inline-cta:hover,.inline-cta:focus-visible{color:var(--brass-bright);border-color:var(--brass-bright);}

/* ---------- contact ---------- */
.contact-prompts{
  margin:0 0 26px;padding:20px 22px;
  border:1px solid rgba(171,140,87,.38);border-radius:4px;
  background:rgba(22,40,46,.34);
}
.contact-prompts strong{
  display:block;font-family:'Fraunces',serif;font-size:1.08rem;font-weight:600;margin-bottom:12px;
}
.contact-prompts ul{
  list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;
}
.contact-prompts li{
  color:var(--text-soft);font-size:.92rem;line-height:1.35;position:relative;padding-left:15px;
}
.contact-prompts li:before{
  content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;
  border-radius:50%;background:var(--brass);
}

.contact-form-card{grid-template-columns:minmax(300px,.92fr) minmax(520px,1.08fr);align-items:start;}
.contact-copy{min-width:0;}
.contact-meta{margin-top:26px;}
.enquiry-form{
  background:rgba(15,28,33,.42);
  border:1px solid rgba(235,232,224,.12);
  border-radius:4px;
  padding:30px;
}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;}
.required-note{
  margin:0 0 16px;
  color:var(--text-soft);
  font-size:.82rem;
  line-height:1.4;
}
.required-note span,.required-marker{color:#d66b5f;font-weight:700;}
.enquiry-form label{
  display:block;
  color:var(--text);
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.025em;
  margin:0;
  min-width:0;
}
.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea{
  display:block;
  margin-top:9px;
  width:100%;
  min-width:0;
  border:1px solid rgba(235,232,224,.2);
  border-radius:3px;
  background:rgba(22,40,46,.82);
  color:var(--text);
  font:inherit;
  font-size:1rem;
  line-height:1.25;
  padding:15px 15px;
  outline:none;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.enquiry-form input,
.enquiry-form select{height:56px;}
.enquiry-form select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--text-soft) 50%),linear-gradient(135deg,var(--text-soft) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.enquiry-form textarea{resize:vertical;min-height:156px;}
.form-grid + label{margin-top:22px;}
.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus{
  border-color:rgba(194,160,104,.78);
  box-shadow:0 0 0 3px rgba(171,140,87,.14);
  background:rgba(22,40,46,.96);
}
.enquiry-form .cta{width:100%;margin-top:8px;}
.enquiry-form .cta:disabled{opacity:.68;cursor:wait;}
.form-note,.form-fallback{font-size:.82rem;line-height:1.5;color:var(--text-soft);margin:16px 0 0;max-width:none;}
.form-fallback a,.mobile-profile-link{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(171,140,87,.48);}
.form-status{display:none;margin-bottom:18px;padding:12px 14px;border-radius:3px;font-size:.92rem;line-height:1.45;}
.form-status.success{display:block;border:1px solid rgba(171,140,87,.45);background:rgba(171,140,87,.13);color:var(--text);}
.form-status.error{display:block;border:1px solid rgba(190,96,80,.5);background:rgba(190,96,80,.12);color:var(--text);}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}


.form-field{min-width:0;}
.form-field.full-field{margin-top:22px;}
.field-hint,.form-error{
  margin:7px 0 0;
  font-size:.78rem;
  line-height:1.4;
  color:var(--text-soft);
}
.form-error{min-height:1em;color:#ff9a8f;font-weight:600;}
.enquiry-form input[aria-invalid="true"],
.enquiry-form select[aria-invalid="true"],
.enquiry-form textarea[aria-invalid="true"]{
  border-color:#ff9a8f;
  box-shadow:0 0 0 3px rgba(255,154,143,.12);
}
.enquiry-form button[aria-busy="true"]{position:relative;}
.enquiry-form button[aria-busy="true"]:after{
  content:"";
  width:14px;height:14px;margin-left:10px;
  border:2px solid rgba(20,35,42,.35);
  border-top-color:var(--ink-on-brass);
  border-radius:50%;
  display:inline-block;
  animation:buttonSpin .75s linear infinite;
}
@keyframes buttonSpin{to{transform:rotate(360deg);}}

/* ---------- faq ---------- */
.faq-list{max-width:820px;}
.faq-list details{
  border-top:1px solid var(--line);
}
.faq-list details:last-child{border-bottom:1px solid var(--line);}
.faq-list summary{
  cursor:pointer;list-style:none;position:relative;
  font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;line-height:1.35;
  padding:20px 44px 20px 0;color:var(--text);
  transition:color .15s ease;
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary:hover,.faq-list summary:focus-visible{color:var(--brass);}
.faq-list summary:after{
  content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);
  font-family:'Fraunces',serif;font-weight:400;font-size:1.5rem;color:var(--brass);
  transition:transform .2s ease;
}
.faq-list details[open] summary:after{content:"–";}
.faq-list details p{
  color:var(--text-soft);font-size:.97rem;max-width:44em;padding:0 0 22px;
}

.contact-card{
  background:var(--bg-elev);border:1px solid var(--line);border-radius:4px;
  padding:48px;display:grid;grid-template-columns:1.2fr 1fr;gap:48px;
}
.contact-card h2{margin-bottom:16px;}
.contact-card p{color:var(--text-soft);margin-bottom:28px;max-width:32em;}
dl{font-size:.95rem;}
dt{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-top:22px;}
dt:first-child{margin-top:0;}
dd{color:var(--text);}
dd a{text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .15s ease;}
dd a:hover,dd a:focus-visible{border-color:var(--brass);}
.enhanced-contact{
  position:relative;overflow:hidden;border-color:rgba(171,140,87,.5);
  background:
    radial-gradient(circle at 88% 12%, rgba(171,140,87,.22), transparent 28%),
    linear-gradient(135deg, rgba(171,140,87,.13), rgba(28,49,56,.88) 42%, rgba(22,40,46,.96));
  box-shadow:0 18px 60px rgba(0,0,0,.22);
}
.enhanced-contact:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;
  background-image:linear-gradient(135deg, rgba(255,255,255,.11) 1px, transparent 1px);
  background-size:18px 18px;
}
.enhanced-contact > *{position:relative;z-index:1;}
.enhanced-contact h2{font-size:clamp(2rem,3vw,2.6rem);}


#contact{scroll-margin-top:calc(var(--header-h) + 28px);}

/* ---------- legal pages ---------- */
.legal{max-width:720px;margin:0 auto;padding:72px 28px 96px;}
.legal h1{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:8px;}
.legal .effective{font-size:.85rem;color:var(--text-soft);letter-spacing:.04em;margin-bottom:48px;}
.legal h2{font-size:1.3rem;margin:44px 0 12px;}
.legal p,.legal li{color:var(--text-soft);margin-bottom:14px;}
.legal ul{padding-left:22px;margin-bottom:14px;}
.legal li{margin-bottom:8px;}
.legal a{color:var(--text);border-bottom:1px solid var(--line);text-decoration:none;}
.legal a:hover{border-color:var(--brass);}
.legal p strong{color:var(--text);}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--line);padding:36px 0 48px;}
footer .wrap{
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  font-size:.82rem;color:var(--text-soft);
}
footer .legal-links{display:flex;gap:20px;}
footer a{text-decoration:none;border-bottom:1px solid var(--line);}
footer a:hover{border-color:var(--brass);}
footer .disclaimer{width:100%;max-width:64em;}

/* =========================================================
   Responsive — one pass per breakpoint, cascading downward.
   ========================================================= */

@media (max-width:1100px){
  .contact-form-card{grid-template-columns:1fr;gap:34px;}
}

@media (max-width:1024px){
  .proof-grid{grid-template-columns:repeat(2,1fr);}
  .card-grid,.card-grid.three{grid-template-columns:repeat(2,1fr);}
  .experience-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:900px){
  :root{--header-h:100px;}
  .wrap{padding:0 22px;}
  .brand .mark{width:74px;height:74px;}
  .wordmark{font-size:1.3rem;}
  nav.links{gap:16px;}
  nav.links a{font-size:.78rem;}
  nav.links a.nav-cta{padding:11px 18px;}
  section{padding:66px 0;}
  .hero{padding:78px 0 58px;}
}

@media (max-width:760px){
  :root{--header-h:80px;}
  body{font-size:16px;line-height:1.58;}
  .wrap{padding:0 18px;}
  .nav{gap:12px;}
  .brand{gap:10px;}
  .brand .mark{width:54px;height:54px;}
  .wordmark{font-size:1.05rem;letter-spacing:0;}
  nav.links{gap:10px;}
  nav.links a:not(.nav-cta){display:none;}
  nav.links a.nav-cta{font-size:.72rem;padding:10px 12px;}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;padding:10px 12px;}
  .mobile-menu:not([hidden]){display:block;}

  .hero{padding:52px 0 44px;}
  .eyebrow{font-size:.7rem;letter-spacing:.13em;margin-bottom:14px;}
  h1{font-size:clamp(2.05rem,9.5vw,2.7rem);line-height:1.08;margin-bottom:18px;}
  .hero p.lede{font-size:1rem;margin-bottom:28px;}
  .cta{width:100%;margin:0 0 12px 0;border-radius:3px;}
  .cta.ghost{margin-left:0;}

  .proof-section{padding:0 0 44px;}
  .proof-grid{grid-template-columns:1fr;gap:12px;}
  .proof-card{padding:18px;}
  .proof-card strong{font-size:1.3rem;}

  section{padding:46px 0;}
  h2{font-size:1.55rem;line-height:1.2;}
  .section-intro{font-size:.98rem;margin-bottom:28px;}
  .card-grid,.card-grid.two,.card-grid.three,.experience-grid,.process,.ruled-list.two{grid-template-columns:1fr;}
  .info-card{padding:20px 18px;}
  .info-card h3{font-size:1.08rem;}
  .quote-section{padding:42px 0;}
  .quote-section blockquote{font-size:1.55rem;line-height:1.22;margin-bottom:16px;}
  .situation-list{grid-template-columns:1fr;}
  .situation-list p{font-size:.94rem;padding:15px 0 15px 22px;}
  .situation-list p:before{top:22px;}
.boundary-box{padding:24px 20px;}
  .heritage{font-size:1rem;line-height:1.55;margin-top:30px;}
  .contact-card,.contact-form-card{grid-template-columns:1fr;gap:24px;padding:30px 20px;}
  .enquiry-form{padding:22px 16px;}
  .form-grid{grid-template-columns:1fr;gap:18px;}
  .form-grid + label{margin-top:18px;}
  .enquiry-form input,.enquiry-form select{height:54px;}
  .enquiry-form textarea{min-height:148px;}
  .contact-prompts{padding:18px 16px;}
  .contact-prompts ul{grid-template-columns:1fr;}
  .mobile-profile-link{display:inline-block;margin-top:8px;padding:8px 10px;border:1px solid rgba(171,140,87,.45);border-radius:3px;}
  .faq-list summary{font-size:1.02rem;padding:16px 36px 16px 0;}
  .faq-list details p{font-size:.94rem;padding-bottom:18px;}
  .enhanced-contact h2{font-size:1.75rem;}
  footer{padding:30px 0 40px;}
  footer .wrap{display:block;}
  footer .legal-links{margin:16px 0;flex-wrap:wrap;gap:16px;}
}

@media (max-width:400px){
  .wrap{padding:0 16px;}
  .brand .mark{width:46px;height:46px;}
  .wordmark{font-size:.95rem;}
  nav.links a.nav-cta{font-size:.66rem;padding:9px 10px;}
  .menu-toggle{font-size:.66rem;padding:9px 10px;}
  h1{font-size:1.9rem;}
  .hero{padding-top:42px;}
}


/* ---------- SEO subpages ---------- */
.subpage .page-hero{padding:88px 0 48px;border-bottom:1px solid rgba(235,232,224,.12);}
.subpage .page-hero h1{font-family:var(--serif);font-size:clamp(2.25rem,4.4vw,3.7rem);line-height:1.12;letter-spacing:-.01em;max-width:820px;margin:0 0 24px;}
.subpage .page-hero .lede{max-width:850px;}
@media(max-width:760px){.subpage .page-hero{padding:54px 0 34px}.subpage .page-hero h1{font-size:clamp(2.05rem,10vw,2.7rem);line-height:1.08;}}

.pullquote.small{font-size:clamp(1.45rem,3vw,2.3rem);line-height:1.25;max-width:900px;margin:0 auto;color:var(--text);}

/* ---------- floating quick actions ---------- */
.floating-actions{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1200;
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:none;
}
.float-action{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border-radius:999px;
  border:1px solid rgba(194,160,104,.42);
  background:rgba(22,40,46,.88);
  color:var(--text);
  text-decoration:none;
  box-shadow:0 14px 34px rgba(0,0,0,.26);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.float-action:hover{transform:translateY(-2px);border-color:rgba(194,160,104,.75);background:rgba(28,49,56,.95);}
.float-top{width:44px;font-size:1.05rem;color:var(--brass-bright);}
@media (max-width:760px){
  .floating-actions{right:14px;bottom:14px;gap:8px;}
  .float-top{width:42px;min-height:42px;background:rgba(22,40,46,.92);}
}
@media print{
  .floating-actions{display:none;}
}
