
/* ==========================================================================
   CAREAGA PLASTIC SURGERY — INTERNAL PAGE SHELL
   Static pages: no pinning, no scrubbing, no scroll choreography.
   Same tokens, header, footer, forms and popups as the homepage.
   All classes prefixed ca- so nothing collides with Pss Framework v2.
   ========================================================================== */
:root{
  --ca-white:#FFFFFF; --ca-black:#000000; --ca-near:#0F0F0F; --ca-charcoal:#212121;
  --ca-gold:#8D6731; --ca-gold-hover:#6E5026; --ca-gold-on-dark:#A87C3D;
  --ca-sand:#DBCAB1; --ca-rule:#949494;
  --ca-ease:cubic-bezier(.16,1,.3,1); --ca-dur-fast:.35s;
  --ca-bar:56px; --ca-shell:1280px; --ca-gut:clamp(16px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.ca-dark{margin:0;background:var(--ca-near);color:var(--ca-white);
  font-family:'Montserrat',sans-serif;font-size:18px;line-height:27px;overflow-x:clip;padding-bottom:var(--ca-bar)}
body.ca-dark a{color:var(--ca-gold-on-dark)}
body.ca-dark a:hover{color:var(--ca-sand)}
body.ca-dark .ca-panel-light{background:var(--ca-white);color:var(--ca-near)}
body.ca-dark .ca-panel-light a{color:var(--ca-gold)}
body.ca-dark .ca-panel-light a:hover{color:var(--ca-gold-hover)}
body.ca-dark .ca-surface{background:var(--ca-charcoal)}
body.ca-nav-open{overflow:hidden}
img{max-width:100%}
.ca-shell{max-width:var(--ca-shell);margin:0 auto}
.ca-narrow{max-width:820px;margin:0 auto}
.ca-pad{padding:clamp(40px,6vw,80px) var(--ca-gut)}
.ca-pad--tight{padding:clamp(28px,4vw,48px) var(--ca-gut)}
.ca-h1{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(30px,4.6vw,46px);
  line-height:1.08;letter-spacing:2px;text-transform:uppercase;margin:0;text-wrap:pretty}
.ca-h2{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(26px,4vw,38px);
  line-height:1.12;letter-spacing:2px;margin:0;text-wrap:pretty}
.ca-h3{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(20px,2.6vw,26px);
  letter-spacing:2px;text-transform:uppercase;margin:0}
.ca-h4{font-family:'Oswald',sans-serif;font-weight:400;font-size:18px;letter-spacing:2px;
  text-transform:uppercase;margin:0}
.ca-eyebrow{font-size:12px;line-height:1.4;letter-spacing:3px;text-transform:uppercase;color:var(--ca-gold-on-dark)}
.ca-panel-light .ca-eyebrow{color:var(--ca-gold)}
.ca-lede{font-size:18px;line-height:28px;margin:0;color:var(--ca-sand)}
.ca-panel-light .ca-lede{color:#3A3A3A}
.ca-fine{font-size:11px;line-height:17px;color:var(--ca-rule);margin:0}
.ca-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- BUTTONS ---------- */
.ca-btn{font-family:'Oswald',sans-serif;font-weight:400;letter-spacing:2px;text-transform:uppercase;
  border-radius:3px;border:none;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  transition:background-color var(--ca-dur-fast) var(--ca-ease),border-color var(--ca-dur-fast) var(--ca-ease),
    color var(--ca-dur-fast) var(--ca-ease),transform var(--ca-dur-fast) var(--ca-ease)}
.ca-btn:active{transform:scale(.98)}
.ca-btn--gold{background:var(--ca-gold);font-size:18px;padding:14px 32px;min-height:52px}
.ca-btn--ghost{background:transparent;border:1px solid var(--ca-sand);font-size:16px;padding:13px 26px;min-height:48px}
.ca-btn--sm{font-size:14px;letter-spacing:1px;padding:12px 18px;min-height:44px}
body.ca-dark a.ca-btn--gold,body.ca-dark a.ca-btn--gold:hover,.ca-btn--gold{color:var(--ca-white)}
.ca-btn--gold:hover{background:var(--ca-gold-hover)}
body.ca-dark a.ca-btn--ghost,.ca-btn--ghost{color:var(--ca-sand)}
body.ca-dark a.ca-btn--ghost:hover,.ca-btn--ghost:hover{border-color:var(--ca-gold-on-dark);color:var(--ca-gold-on-dark)}
.ca-panel-light .ca-btn--ghost{border-color:var(--ca-rule)}
body.ca-dark .ca-panel-light a.ca-btn--ghost,.ca-panel-light .ca-btn--ghost{color:var(--ca-gold)}
.ca-link{font-family:'Oswald',sans-serif;font-size:15px;letter-spacing:2px;text-transform:uppercase;
  text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
body.ca-dark a.ca-link{color:var(--ca-gold-on-dark)}
.ca-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* ---------- UTILITY ROW ---------- */
.ca-utility{background:var(--ca-black);color:var(--ca-sand);font-size:13px;letter-spacing:1px;
  padding:8px var(--ca-gut);display:flex;gap:24px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ca-utility a{color:var(--ca-gold-on-dark);text-decoration:none}
.ca-utility a:hover{color:var(--ca-sand)}
.ca-utility__rating{display:flex;gap:6px;align-items:center;color:var(--ca-sand)}
.ca-utility__rating span{opacity:.75}
.ca-lang{background:transparent;border:1px solid var(--ca-rule);color:var(--ca-sand);border-radius:3px;
  font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;
  padding:6px 14px;min-height:32px;cursor:pointer}
.ca-lang:hover{border-color:var(--ca-gold-on-dark);color:var(--ca-gold-on-dark)}

/* ---------- HEADER ---------- */
.ca-header{position:sticky;top:0;z-index:120;background:rgba(15,15,15,.96);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ca-charcoal);
  transition:background-color var(--ca-dur-fast) var(--ca-ease)}
.ca-header__bar{max-width:var(--ca-shell);margin:0 auto;padding:10px var(--ca-gut);
  display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:16px}
.ca-logo{display:block;text-decoration:none;min-width:max-content}
.ca-logo img{display:block;width:auto;height:40px;transition:height var(--ca-dur-fast) var(--ca-ease)}
.ca-header.is-scrolled .ca-logo img{height:32px}
.ca-nav{display:flex;gap:22px;justify-content:center;align-items:center;min-width:0}
.ca-nav__item{position:relative}
.ca-nav__link{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;
  color:var(--ca-white);text-decoration:none;white-space:nowrap;background:transparent;border:none;
  padding:10px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px;position:relative;
  transition:color var(--ca-dur-fast) var(--ca-ease)}
body.ca-dark a.ca-nav__link{color:var(--ca-white)}
.ca-nav__link:hover,.ca-nav__item.is-open>.ca-nav__link,.ca-nav__link[aria-current="page"]{color:var(--ca-gold-on-dark)}
body.ca-dark a.ca-nav__link:hover,body.ca-dark a.ca-nav__link[aria-current="page"]{color:var(--ca-gold-on-dark)}
.ca-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--ca-gold-on-dark);
  transform:scaleX(0);transform-origin:left center;transition:transform var(--ca-dur-fast) var(--ca-ease)}
.ca-nav__link:hover::after,.ca-nav__item.is-open>.ca-nav__link::after,.ca-nav__link[aria-current="page"]::after{transform:scaleX(1)}
.ca-nav__caret{display:block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-2px)}
.ca-drop{position:absolute;top:100%;left:50%;transform:translate(-50%,6px);min-width:280px;
  background:var(--ca-near);border:1px solid var(--ca-charcoal);border-radius:3px;padding:10px;
  display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;box-shadow:0 24px 60px rgba(0,0,0,.55);
  transition:opacity var(--ca-dur-fast) var(--ca-ease),transform var(--ca-dur-fast) var(--ca-ease),visibility var(--ca-dur-fast)}
.ca-nav__item.is-open .ca-drop{opacity:1;visibility:visible;transform:translate(-50%,0)}
.ca-drop a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;border-radius:2px;
  transition:background-color var(--ca-dur-fast) var(--ca-ease)}
.ca-drop a:hover{background:var(--ca-charcoal)}
.ca-drop b{font-family:'Oswald',sans-serif;font-weight:400;font-size:15px;letter-spacing:1px;
  text-transform:uppercase;color:var(--ca-white)}
.ca-drop span{font-size:12px;line-height:18px;color:var(--ca-sand)}
.ca-header__actions{display:flex;gap:10px;align-items:center;justify-self:end}
.ca-header__call{display:none}
.ca-burger{display:none;background:transparent;border:1px solid var(--ca-rule);border-radius:3px;
  width:44px;height:44px;min-width:44px;flex-direction:column;gap:4px;align-items:center;justify-content:center;cursor:pointer}
.ca-burger span{display:block;width:20px;height:2px;background:var(--ca-white);transition:transform .3s var(--ca-ease),opacity .2s linear}
.ca-burger.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ca-burger.is-open span:nth-child(2){opacity:0}
.ca-burger.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.ca-drawer{display:none;position:fixed;left:0;right:0;top:0;bottom:0;z-index:119;background:var(--ca-black);
  padding:72px 20px calc(var(--ca-bar) + 24px);overflow:auto}
.ca-drawer.is-open{display:block}
.ca-drawer__group{border-bottom:1px solid var(--ca-charcoal)}
.ca-drawer__link,.ca-drawer__toggle{width:100%;background:transparent;border:none;text-align:left;
  font-family:'Oswald',sans-serif;font-size:18px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-white);
  text-decoration:none;padding:16px 4px;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
body.ca-dark a.ca-drawer__link{color:var(--ca-white)}
.ca-drawer__sub{display:none;padding:0 4px 14px;flex-direction:column;gap:2px}
.ca-drawer__group.is-open .ca-drawer__sub{display:flex}
.ca-drawer__sub a{color:var(--ca-sand);text-decoration:none;font-size:15px;padding:12px 0;min-height:44px;display:flex;align-items:center}
.ca-drawer__foot{display:flex;flex-direction:column;gap:12px;padding-top:22px}

/* ---------- PAGE HERO + BREADCRUMBS ---------- */
.ca-crumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:11px;letter-spacing:2px;
  text-transform:uppercase;color:var(--ca-rule);margin:0 0 14px}
.ca-crumbs a{color:var(--ca-rule);text-decoration:none}
.ca-crumbs a:hover{color:var(--ca-gold-on-dark)}
.ca-phero{position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--ca-charcoal)}
.ca-phero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.ca-phero__scrim{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.60) 60%,rgba(0,0,0,.34) 76%,rgba(0,0,0,.10) 90%,rgba(0,0,0,0) 100%)}
.ca-phero__grid{position:relative;max-width:var(--ca-shell);margin:0 auto;
  padding:clamp(28px,4vw,56px) var(--ca-gut);display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(24px,4vw,48px);align-items:center}
.ca-phero__grid--single{grid-template-columns:minmax(0,880px)}
.ca-phero__copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.ca-facts{display:flex;gap:18px;flex-wrap:wrap;list-style:none;margin:0;padding:0;
  font-size:13px;letter-spacing:1px;color:var(--ca-sand)}
.ca-facts b{font-family:'Oswald',sans-serif;font-weight:400;letter-spacing:2px;color:var(--ca-gold-on-dark)}

/* ---------- TRUST STRIP ---------- */
.ca-trust{border-bottom:1px solid var(--ca-charcoal);padding:20px var(--ca-gut)}
.ca-trust__grid{max-width:var(--ca-shell);margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.ca-trust__item{display:flex;flex-direction:column;gap:4px}
.ca-trust__item b{font-family:'Oswald',sans-serif;font-weight:400;font-size:22px;letter-spacing:2px;color:var(--ca-white)}
.ca-trust__item span{font-size:11px;line-height:16px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-sand)}

/* ---------- PROSE ---------- */
.ca-prose{display:flex;flex-direction:column;gap:16px}
.ca-prose p{margin:0}
.ca-prose ul,.ca-prose ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.ca-prose li{line-height:26px}
.ca-prose h2,.ca-prose h3{margin:10px 0 0}
.ca-prose strong{font-weight:600}

/* ---------- LAYOUT HELPERS ---------- */
.ca-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(22px,4vw,48px);align-items:start}
.ca-split--center{align-items:center}
.ca-stack{display:flex;flex-direction:column;gap:22px}
.ca-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.ca-tile{border:1px solid var(--ca-charcoal);border-radius:3px;padding:22px;display:flex;flex-direction:column;gap:10px;
  background:var(--ca-near);text-decoration:none;
  transition:transform var(--ca-dur-fast) var(--ca-ease),border-color var(--ca-dur-fast) var(--ca-ease),
    box-shadow var(--ca-dur-fast) var(--ca-ease)}
.ca-panel-light .ca-tile{background:var(--ca-white);border-color:#D8D8D8}
a.ca-tile:hover{border-color:var(--ca-gold-on-dark)}
@media(hover:hover){a.ca-tile:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28)}}
.ca-tile p{margin:0;font-size:15px;line-height:23px;color:var(--ca-sand)}
.ca-panel-light .ca-tile p{color:#3A3A3A}
.ca-tile em{font-style:normal;font-size:12px;letter-spacing:1px;color:var(--ca-gold-on-dark);margin-top:auto}
.ca-panel-light .ca-tile em{color:var(--ca-gold)}
/* The aspect box lives on the IMAGE, never on the <figure> — a ratio plus
   overflow:hidden on the figure clips its own caption. Authors pass --ar. */
.ca-figure{margin:0;display:flex;flex-direction:column}
.ca-figure>img{width:100%;height:auto;display:block;object-fit:cover;
  background:var(--ca-charcoal);aspect-ratio:var(--ar,16/9)}
.ca-figure figcaption{font-size:11px;line-height:17px;color:var(--ca-rule);padding:8px 0 0}
.ca-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;counter-reset:s}
.ca-steps li{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;counter-increment:s}
.ca-steps li::before{content:counter(s,decimal-leading-zero);font-family:'Oswald',sans-serif;font-size:16px;
  letter-spacing:2px;color:var(--ca-gold-on-dark);padding-top:2px}
.ca-panel-light .ca-steps li::before{color:var(--ca-gold)}
.ca-steps p{margin:0;font-size:16px;line-height:25px}
.ca-steps b{display:block;font-family:'Oswald',sans-serif;font-weight:400;font-size:16px;letter-spacing:2px;
  text-transform:uppercase;margin-bottom:2px}

/* ---------- PRICE BLOCK + TABLE ---------- */
.ca-price{display:flex;flex-direction:column;gap:6px}
.ca-price__big{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(34px,6vw,58px);
  line-height:1;letter-spacing:2px}
.ca-price__mo{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(20px,3vw,28px);
  letter-spacing:2px;color:var(--ca-gold)}
.ca-table{width:100%;border-collapse:collapse;font-size:16px}
.ca-table caption{text-align:left;font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:var(--ca-rule);padding-bottom:10px}
.ca-table th,.ca-table td{text-align:left;padding:14px 12px;border-bottom:1px solid #D8D8D8;vertical-align:top}
.ca-table th{font-family:'Oswald',sans-serif;font-weight:400;font-size:13px;letter-spacing:2px;text-transform:uppercase}
.ca-table td:last-child,.ca-table th:last-child{text-align:right;white-space:nowrap}
body.ca-dark .ca-table th,body.ca-dark .ca-table td{border-bottom-color:var(--ca-charcoal)}

/* ---------- FAQ ---------- */
.ca-faq{display:flex;flex-direction:column}
.ca-faq details{border-bottom:1px solid var(--ca-charcoal)}
.ca-panel-light .ca-faq details{border-bottom-color:#D8D8D8}
.ca-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;
  font-family:'Oswald',sans-serif;font-size:17px;letter-spacing:1px;text-transform:uppercase;min-height:56px;
  display:flex;align-items:center}
.ca-faq summary::-webkit-details-marker{display:none}
.ca-faq summary::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;
  border-right:1px solid var(--ca-gold-on-dark);border-bottom:1px solid var(--ca-gold-on-dark);
  transform:translateY(-70%) rotate(45deg);transition:transform var(--ca-dur-fast) var(--ca-ease)}
.ca-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.ca-faq p{margin:0 0 18px;font-size:16px;line-height:26px;color:var(--ca-sand);max-width:70ch}
.ca-panel-light .ca-faq p{color:#3A3A3A}

/* ---------- QUOTE ---------- */
.ca-quote{border-left:2px solid var(--ca-gold);padding:4px 0 4px 20px;display:flex;flex-direction:column;gap:10px}
.ca-quote blockquote{margin:0;font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(20px,3vw,26px);
  line-height:1.3;letter-spacing:1px}
.ca-quote cite{font-style:normal;font-size:13px;letter-spacing:1px;color:var(--ca-sand)}

/* ---------- CASES (gallery + strips) + CONSENT GATE ---------- */
.ca-scroller{display:flex;gap:16px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-color:var(--ca-charcoal) transparent}
.ca-cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.ca-case{display:flex;flex-direction:column;gap:10px;min-width:0}
.ca-scroller .ca-case{flex:0 0 320px;scroll-snap-align:start}
.ca-case__pair{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--ca-charcoal)}
.ca-case__shot{position:relative;aspect-ratio:4/5;overflow:hidden}
.ca-case__shot img{width:100%;height:100%;object-fit:cover;display:block}
.ca-case__tag{position:absolute;left:8px;bottom:8px;font-family:'Oswald',sans-serif;font-size:10px;
  letter-spacing:2px;text-transform:uppercase;padding:4px 8px;border-radius:2px}
.ca-case__tag--b{background:rgba(0,0,0,.6);color:var(--ca-white)}
.ca-case__tag--a{background:var(--ca-sand);color:var(--ca-black)}
.ca-case__name{font-family:'Oswald',sans-serif;font-size:17px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-white)}
.ca-case__meta{font-size:12px;line-height:18px;color:var(--ca-sand)}
[data-ca-gate]{position:relative}
[data-ca-gate] img{filter:blur(22px)}
[data-ca-gate].is-revealed img{filter:none}
.ca-gate{position:absolute;inset:0;z-index:3;border:none;cursor:pointer;background:rgba(15,15,15,.55);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;
  padding:14px;color:var(--ca-white)}
[data-ca-gate].is-revealed .ca-gate{display:none}
.ca-gate b{font-family:'Oswald',sans-serif;font-weight:400;font-size:13px;letter-spacing:2px;text-transform:uppercase}
.ca-gate span{font-family:'Montserrat',sans-serif;font-size:10px;line-height:15px;color:var(--ca-sand)}
.ca-filters{display:flex;gap:10px;flex-wrap:wrap}
.ca-filter{background:transparent;border:1px solid var(--ca-rule);color:var(--ca-sand);border-radius:3px;
  font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:2px;text-transform:uppercase;
  padding:10px 16px;min-height:44px;cursor:pointer;
  transition:background-color var(--ca-dur-fast) var(--ca-ease),color var(--ca-dur-fast) var(--ca-ease),
    border-color var(--ca-dur-fast) var(--ca-ease)}
.ca-filter:hover{border-color:var(--ca-gold-on-dark);color:var(--ca-gold-on-dark)}
.ca-filter.is-active{background:var(--ca-gold);border-color:var(--ca-gold);color:var(--ca-white)}

/* ---------- TEAM ---------- */
.ca-team{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.ca-person{background:var(--ca-charcoal);border:1px solid var(--ca-black);border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform var(--ca-dur-fast) var(--ca-ease),box-shadow var(--ca-dur-fast) var(--ca-ease)}
@media(hover:hover){.ca-person:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28)}}
.ca-person__frame{position:relative;aspect-ratio:4/3;background:var(--ca-near);overflow:hidden}
.ca-person__frame img{width:100%;height:100%;object-fit:cover;display:block}
.ca-person__body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.ca-person__body b{font-family:'Oswald',sans-serif;font-weight:400;font-size:21px;letter-spacing:2px;
  text-transform:uppercase;color:var(--ca-white)}
.ca-person__role{font-size:12px;letter-spacing:1px;color:var(--ca-gold-on-dark)}
.ca-person__body ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;
  font-size:14px;line-height:21px;color:var(--ca-sand)}
.ca-person__body .ca-btn{margin-top:auto;width:100%}

/* ---------- BLOG ---------- */
.ca-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.ca-post{display:flex;flex-direction:column;gap:12px;text-decoration:none;
  transition:transform var(--ca-dur-fast) var(--ca-ease)}
@media(hover:hover){.ca-post:hover{transform:translateY(-4px)}}
.ca-post__frame{aspect-ratio:16/9;overflow:hidden;background:var(--ca-charcoal)}
.ca-post__frame img{width:100%;height:100%;object-fit:cover;display:block}
.ca-post__cat{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-gold-on-dark)}
.ca-post h3{font-family:'Oswald',sans-serif;font-weight:400;font-size:20px;line-height:1.2;letter-spacing:1px;
  margin:0;color:var(--ca-white)}
.ca-post p{margin:0;font-size:14px;line-height:22px;color:var(--ca-sand)}
.ca-article{max-width:760px;margin:0 auto;font-size:18px;line-height:29px}
.ca-article h2{margin:34px 0 12px}
.ca-article h3{margin:26px 0 10px}
.ca-article p{margin:0 0 18px}
.ca-article ul{margin:0 0 18px;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.ca-article__meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;letter-spacing:2px;
  text-transform:uppercase;color:var(--ca-rule);margin:0 0 22px}

/* ---------- FORM CARD (Gravity Forms selectors) ---------- */
.ca-formcard{background:var(--ca-white);color:var(--ca-near);border-radius:3px;padding:clamp(18px,2vw,24px);min-width:0}
.ca-formcard__head{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.ca-formcard__head strong{font-family:'Oswald',sans-serif;font-weight:400;font-size:22px;letter-spacing:2px;
  text-transform:uppercase;color:var(--ca-near)}
.ca-formcard__head span{font-size:13px;line-height:20px;color:#4A4A4A}
.ca-formcard .gform_wrapper{margin:0}
.ca-formcard .gform_fields{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ca-formcard .gfield{margin:0;padding:0;list-style:none}
.ca-formcard .gfield_label{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#4A4A4A;margin:0 0 6px}
.ca-formcard .gfield_required{color:var(--ca-gold);margin-left:2px}
.ca-formcard .ginput_container input[type=text],
.ca-formcard .ginput_container input[type=tel],
.ca-formcard .ginput_container input[type=email],
.ca-formcard .ginput_container select{
  width:100%;background:var(--ca-white);color:var(--ca-near);border:1px solid var(--ca-rule);border-radius:3px;
  font-family:'Montserrat',sans-serif;font-size:16px;line-height:1.3;padding:12px 14px;min-height:48px;
  transition:border-color var(--ca-dur-fast) var(--ca-ease),box-shadow var(--ca-dur-fast) var(--ca-ease)}
.ca-formcard .ginput_container input:focus,.ca-formcard .ginput_container select:focus{
  outline:none;border-color:var(--ca-gold);box-shadow:0 0 0 2px rgba(141,103,49,.18)}
.ca-formcard .ginput_container_select select{-webkit-appearance:none;appearance:none;padding-right:42px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%238D6731' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:14px 9px}
.ca-formcard .gfield_consent .ginput_container{display:flex;gap:10px;align-items:flex-start}
.ca-formcard .gfield_consent input[type=checkbox]{-webkit-appearance:none;appearance:none;
  width:22px;height:22px;min-width:22px;margin:1px 0 0;cursor:pointer;background:var(--ca-white);
  border:1px solid var(--ca-rule);border-radius:2px;display:grid;place-content:center;
  transition:border-color var(--ca-dur-fast) var(--ca-ease)}
.ca-formcard .gfield_consent input[type=checkbox]:hover{border-color:var(--ca-gold)}
.ca-formcard .gfield_consent input[type=checkbox]:checked{border-color:var(--ca-gold)}
.ca-formcard .gfield_consent input[type=checkbox]:checked::after{content:"";width:12px;height:7px;
  border-left:2px solid var(--ca-gold);border-bottom:2px solid var(--ca-gold);transform:rotate(-45deg) translateY(-2px)}
.ca-formcard .gfield_consent input[type=checkbox]:focus-visible{outline:2px solid var(--ca-gold);outline-offset:2px}
.ca-formcard .gfield_consent label{font-size:12px;line-height:18px;color:#4A4A4A;margin:0}
.ca-formcard .gform_footer{margin:16px 0 0;padding:0}
.ca-formcard .gform_button{width:100%;background:var(--ca-gold);color:var(--ca-white);border:none;border-radius:3px;
  font-family:'Oswald',sans-serif;font-size:18px;letter-spacing:2px;text-transform:uppercase;
  padding:15px 24px;min-height:56px;cursor:pointer;
  transition:background-color var(--ca-dur-fast) var(--ca-ease),transform var(--ca-dur-fast) var(--ca-ease)}
.ca-formcard .gform_button:hover{background:var(--ca-gold-hover)}
.ca-formcard .gform_button:active{transform:scale(.99)}
.ca-formcard__note{font-size:11px;line-height:17px;color:#6B6B6B;margin:10px 0 0}
.ca-formcard .ca-formerr{font-size:12px;color:#A03030;margin:8px 0 0;display:none}
.ca-formcard.is-invalid .ca-formerr{display:block}
.ca-formcard .ca-formok{display:none;font-size:14px;line-height:21px;color:var(--ca-gold);margin:10px 0 0}
.ca-formcard.is-sent .ca-formok{display:block}
.ca-formcard--dark{background:transparent;color:var(--ca-white);padding:0}
.ca-formcard--dark .gfield_label,.ca-formcard--dark .gfield_consent label{color:var(--ca-sand)}
.ca-formcard--dark .ca-formcard__note{color:var(--ca-rule)}
.ca-formcard--dark .ca-formcard__head strong{color:var(--ca-white)}
.ca-formcard--dark .ca-formcard__head span{color:var(--ca-sand)}

/* ---------- CTA BAND ---------- */
.ca-cta{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid var(--ca-charcoal)}
.ca-cta__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}
.ca-cta__scrim{position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.82)}
.ca-cta__grid{position:relative;max-width:var(--ca-shell);margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(24px,4vw,48px);align-items:center}
.ca-contactlist{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:23px}
.ca-contactlist a{text-decoration:none}

/* ---------- FOOTER ---------- */
.ca-footer{background:var(--ca-black);color:var(--ca-sand);padding:clamp(36px,5vw,64px) var(--ca-gut) 28px}
.ca-footer__grid{max-width:var(--ca-shell);margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}
.ca-footer__col{display:flex;flex-direction:column;gap:10px}
.ca-footer__col h2{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;letter-spacing:3px;
  text-transform:uppercase;color:var(--ca-white);margin:0}
.ca-footer img{height:52px;width:auto;display:block}
.ca-footer address{font-style:normal;font-size:14px;line-height:22px}
.ca-footer a{color:var(--ca-gold-on-dark);text-decoration:none;font-size:14px;line-height:22px}
.ca-footer a:hover{color:var(--ca-sand)}
.ca-footer__links{display:flex;flex-direction:column;gap:8px}
.ca-footer__seal{border:1px solid var(--ca-charcoal);border-radius:3px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.ca-footer__seal b{font-family:'Oswald',sans-serif;font-weight:400;font-size:14px;letter-spacing:2px;
  text-transform:uppercase;color:var(--ca-white)}
.ca-footer__seal span{font-size:11px;line-height:16px;color:var(--ca-rule)}
.ca-footer__base{max-width:var(--ca-shell);margin:28px auto 0;padding-top:18px;border-top:1px solid var(--ca-charcoal);
  display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;font-size:11px;line-height:17px;color:var(--ca-rule)}
.ca-footer__base nav{display:flex;gap:16px;flex-wrap:wrap}
.ca-footer__base a{font-size:11px;color:var(--ca-rule)}

/* ---------- MOBILE CONTACT BAR ---------- */
.ca-mobilebar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:140;background:var(--ca-black);
  border-top:1px solid var(--ca-charcoal);grid-template-columns:1fr 1fr 1fr}
.ca-mobilebar a{min-height:var(--ca-bar);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;text-decoration:none;color:var(--ca-sand);border-right:1px solid var(--ca-charcoal)}
body.ca-dark .ca-mobilebar a:last-child{border-right:none;background:var(--ca-gold);color:var(--ca-white)}
.ca-mobilebar b{font-family:'Oswald',sans-serif;font-weight:400;font-size:14px;letter-spacing:2px;text-transform:uppercase}
.ca-mobilebar span{font-size:9px;letter-spacing:1px}

/* ---------- POPUPS ---------- */
.ca-pop{display:none}
.ca-pop.is-open{display:block}
.ca-pop__veil{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.80);display:flex;align-items:center;
  justify-content:center;padding:16px;overflow:auto;animation:ca-fade .2s ease}
.ca-pop__panel{position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;border-radius:3px;padding:22px}
.ca-pop__panel--light{background:var(--ca-white);color:var(--ca-near)}
.ca-pop__panel--dark{background:var(--ca-black);border:1px solid var(--ca-gold);color:var(--ca-white)}
.ca-pop__close{position:absolute;top:8px;right:8px;width:44px;height:44px;background:transparent;
  border:1px solid var(--ca-rule);border-radius:3px;color:inherit;font-size:18px;cursor:pointer}
.ca-pop__head{display:flex;flex-direction:column;gap:8px;padding:6px 52px 14px 0}
.ca-pop--slide .ca-pop__veil{background:transparent;align-items:flex-end;justify-content:flex-start;pointer-events:none;
  padding:0 0 calc(var(--ca-bar) + 16px) 16px;animation:ca-slide .3s ease}
.ca-pop--slide .ca-pop__panel{max-width:380px;pointer-events:auto;box-shadow:0 24px 60px rgba(0,0,0,.6)}
@keyframes ca-fade{from{opacity:0}to{opacity:1}}
@keyframes ca-slide{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* ---------- FILM GRAIN ---------- */
.ca-grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1023px){
  .ca-phero__grid{grid-template-columns:1fr;gap:22px}
}
@media (max-width:899px){
  .ca-utility{display:none}
  .ca-nav{display:none}
  .ca-header__actions .ca-btn{display:none}
  .ca-header__call{display:flex;align-items:center;justify-content:center;justify-self:center;
    font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:1px;color:var(--ca-gold-on-dark);
    text-decoration:none;min-height:44px;padding:0 4px;white-space:nowrap}
  .ca-burger{display:flex}
  .ca-logo img{height:30px}
  .ca-mobilebar{display:grid}
}
@media (max-width:767px){
  body.ca-dark{font-size:16px;line-height:25px}
  .ca-scroller .ca-case{flex:0 0 78%}
  .ca-btn--gold{width:100%}
  .ca-phero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.56) 45%,rgba(0,0,0,.62) 100%)}
  .ca-pop__panel{padding:18px}
  .ca-table{font-size:14px}
  .ca-table th,.ca-table td{padding:12px 8px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}

.ca-formcard .gform_footer{margin:16px 0 0;padding:0}
.ca-formcard button[type=submit],.ca-formcard .c-btn,.ca-formcard .gform_button{width:100%;background:var(--ca-gold);color:var(--ca-white);border:none;border-radius:3px;font-family:'Oswald',sans-serif;font-weight:400;font-size:18px;line-height:1.2;letter-spacing:2px;text-transform:uppercase;padding:15px 24px;min-height:56px;cursor:pointer;transition:background-color var(--ca-dur-fast) var(--ca-ease)}
.ca-formcard button[type=submit]:hover,.ca-formcard .c-btn:hover,.ca-formcard .gform_button:hover{background:var(--ca-gold-hover);color:var(--ca-white)}
.ca-formcard .gfield--type-consent,.ca-formcard fieldset.gfield{border:0;padding:0;margin:0;min-width:0}
.ca-formcard .gfield--type-consent>legend,.ca-formcard fieldset.gfield>legend{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ca-formcard .ginput_container_consent{display:flex;gap:10px;align-items:flex-start}
.ca-formcard .ginput_container_consent label{font-size:12px;line-height:18px;color:#4A4A4A;font-weight:400;margin:0}
.ca-formcard--dark .ginput_container_consent label{color:var(--ca-sand)}
.ca-formcard .gfield_required_text{display:none}
.ca-formcard .gfield_label>.gfield_required,.ca-formcard legend>.gfield_required{color:var(--ca-gold);margin-left:2px;font-size:inherit;letter-spacing:0}
.ca-formcard .gfield_label>.gfield_required::after{content:"*"}
body.ca-interior{margin:0;background:var(--ca-white);font-family:'Montserrat',sans-serif;padding-bottom:var(--ca-bar)}
body.ca-interior .ca-header{background:rgba(15,15,15,.98);border-bottom-color:var(--ca-charcoal)}
body.ca-interior .ca-mobilebar a:last-child{border-right:none;background:var(--ca-gold);color:var(--ca-white)}
body.ca-interior .ca-nav__link{color:var(--ca-white)}
body.ca-interior .ca-grain{display:none}
@media (max-width:899px){body.ca-interior .ca-mobilebar{display:grid}}

/* ---- published WordPress content inside the design frame (procedure pages) ---- */
.ca-published{color:var(--ca-near)}
.ca-published .ca-prose{max-width:var(--ca-shell);margin:0 auto}
.ca-published img{max-width:100%;height:auto}
.ca-published h1,.ca-published h2,.ca-published h3,.ca-published h4{font-family:'Oswald',sans-serif;font-weight:400;letter-spacing:2px;color:var(--ca-near);margin:1.4em 0 .5em}
.ca-published h2{font-size:clamp(24px,3.4vw,32px);text-transform:uppercase}
.ca-published h3{font-size:clamp(19px,2.4vw,24px)}
.ca-published p,.ca-published li{font-family:'Montserrat',sans-serif;font-size:17px;line-height:28px;color:#333}
.ca-published a{color:var(--ca-gold);text-decoration:underline}
.ca-published a:hover{color:var(--ca-gold-hover)}
.ca-published ul,.ca-published ol{padding-left:22px;margin:0 0 1.2em}
.ca-published table{width:100%;border-collapse:collapse;margin:1.2em 0}
.ca-published th,.ca-published td{border:1px solid #DDD;padding:10px 12px;text-align:left;font-size:15px}
.ca-published iframe,.ca-published video{max-width:100%}
.ca-published .ca-btn{text-decoration:none}

/* The published page carries the theme's own hero banner; the design already
   supplies one, so hide the duplicate rather than showing two stacked heroes. */
.ca-published .acf_hero_block{display:none}
.ca-published .acf_block:first-child.acf_hero_block{display:none}

/* language switch is now a real link, not a dead button */
a.ca-lang{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
a.ca-lang:hover{border-color:var(--ca-gold-on-dark);color:var(--ca-gold-on-dark)}

/* plain (non-ACF) interior content — e.g. the Spanish pages — gets the design's shell */
.ca-interior__main--prose{max-width:var(--ca-shell);margin:0 auto;padding:clamp(28px,5vw,64px) var(--ca-gut) clamp(40px,6vw,80px)}
.ca-interior__main--prose h1,.ca-interior__main--prose h2,.ca-interior__main--prose h3{font-family:'Oswald',sans-serif;font-weight:400;letter-spacing:2px;color:var(--ca-near);margin:1.5em 0 .5em}
.ca-interior__main--prose h1{font-size:clamp(30px,4.6vw,44px);text-transform:uppercase;margin-top:0}
.ca-interior__main--prose h2{font-size:clamp(24px,3.4vw,32px);text-transform:uppercase}
.ca-interior__main--prose h3{font-size:clamp(19px,2.4vw,24px)}
.ca-interior__main--prose p,.ca-interior__main--prose li{font-family:'Montserrat',sans-serif;font-size:17px;line-height:29px;color:#333}
.ca-interior__main--prose ul,.ca-interior__main--prose ol{padding-left:22px;margin:0 0 1.4em}
.ca-interior__main--prose li{margin-bottom:8px}
.ca-interior__main--prose a{color:var(--ca-gold);text-decoration:underline}
.ca-interior__main--prose a:hover{color:var(--ca-gold-hover)}
.ca-interior__main--prose em{color:#555;font-size:15px;line-height:24px;display:inline-block;margin-top:6px}
.ca-interior__main--prose img{max-width:100%;height:auto}

/* ==========================================================================
   Accessibility
   - Visible keyboard focus on every interactive element (WCAG 2.4.7). The design
     shipped with none, which makes the site unusable by keyboard.
   - Skip link (WCAG 2.4.1).
   - gold-on-dark text raised from #A87C3D (4.31:1 on charcoal — fails) to
     #B2864A (4.91:1 — passes). The gold CTA colour is unchanged.
   ========================================================================== */
:root{--ca-gold-on-dark:#B2864A}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{
  outline:3px solid var(--ca-gold-on-dark);
  outline-offset:2px;
  border-radius:2px;
}
.ca-panel-light a:focus-visible,.ca-panel-light button:focus-visible,
.ca-formcard a:focus-visible,.ca-formcard button:focus-visible,
.ca-formcard input:focus-visible,.ca-formcard select:focus-visible,
.ca-published a:focus-visible,.ca-interior__main a:focus-visible{
  outline:3px solid var(--ca-gold);
  outline-offset:2px;
}
.ca-btn:focus-visible{outline:3px solid var(--ca-white);outline-offset:3px}
.ca-mobilebar a:focus-visible{outline:3px solid var(--ca-white);outline-offset:-3px}

.ca-skip{
  position:absolute;left:-9999px;top:0;z-index:300;
  background:var(--ca-gold);color:var(--ca-white);
  font-family:'Oswald',sans-serif;letter-spacing:2px;text-transform:uppercase;
  padding:14px 22px;text-decoration:none;border-radius:0 0 3px 0;
}
.ca-skip:focus{left:0}

/* dialog semantics support */
.ca-pop[aria-hidden="true"]{display:none}

/* the four-field form swapped in where a legacy form was embedded */
.ca-formcard--swapped{background:var(--ca-white);border:1px solid #E2E2E2;border-radius:3px;padding:clamp(18px,2vw,28px);margin:24px 0;max-width:620px}
.ca-published .ca-formcard--swapped,.ca-interior__main .ca-formcard--swapped{margin-left:0;margin-right:0}

/* Eyebrow over photography: #B2864A is too dark for 12px letter-spaced text on   a scrimmed photo (~2:1). A lighter gold keeps the accent and clears AA. */
:root{--ca-gold-on-image:#F5E3C4}
.ca-pin .ca-eyebrow,.ca-hero .ca-eyebrow,.ca-onimage .ca-eyebrow,.ca-phero .ca-eyebrow,.ca-phero .ca-crumbs a,.ca-phero__copy a:not(.ca-btn),.ca-phero__copy .ca-link,.ca-pin .ca-scrub-rise a:not(.ca-btn),.ca-pin .ca-link{color:var(--ca-gold-on-image);text-shadow:0 1px 3px rgba(0,0,0,.55)}
.ca-pin .ca-h2,.ca-pin .ca-lede{text-shadow:0 1px 3px rgba(0,0,0,.45)}
.ca-phero .ca-h1,.ca-phero .ca-lede{text-shadow:0 1px 3px rgba(0,0,0,.45)}

/* --------------------------------------------------------------------------
   Local scrim. Instead of darkening the whole photograph to protect one line
   of 12px text, darken only the area the copy occupies and let the image stay
   rich everywhere else. This is what allows the brand gold #B2864A to be used
   over photography at all: the core gold #8D6731 cannot reach 4.5:1 at 12px
   over ANY scrim, so it stays on solid panels only.
   -------------------------------------------------------------------------- */
.ca-pin .ca-scrub-rise,.ca-phero__copy{position:relative;z-index:1}

@media (max-width:820px){}

/* Ghost buttons over photography have no backdrop, so their text rides directly
   on the image and fails wherever the photo is bright. Give them a translucent
   fill in on-image contexts only — same language as the trust chips. */
.ca-phero .ca-btn--ghost,.ca-pin .ca-btn--ghost,.ca-hero .ca-btn--ghost,.ca-onimage .ca-btn--ghost{background:rgba(0,0,0,.45);border-color:rgba(245,227,196,.72);color:var(--ca-gold-on-image)}
.ca-phero .ca-btn--ghost:hover,.ca-pin .ca-btn--ghost:hover,.ca-hero .ca-btn--ghost:hover,.ca-onimage .ca-btn--ghost:hover{background:rgba(0,0,0,.62);border-color:#F5E3C4}

/* The restored original content contains theme components that supply their own
   light-on-dark treatment. Forcing our ink onto their headings and paragraphs
   put near-black text on a dark photo. Let those subtrees inherit again. */
.ca-published :is(.c-procedures__content,.c-procedure__text,.c-disclaimer) :is(h1,h2,h3,h4,h5,p,li,span),
.ca-interior__main--prose :is(.c-procedures__content,.c-procedure__text,.c-disclaimer) :is(h1,h2,h3,h4,h5,p,li,span){color:inherit}

/* Theme's inverted procedure panels paint black via ::before, but its buttons keep
   the light-panel gold (#8D6731), which measures 4.07:1 on black. Use the on-dark
   gold there — that is what the token exists for. (Pre-existing theme issue.) */
.c-procedures--inverted .c-btn,.c-procedures--inverted .c-btn:visited,.c-procedures--inverted .c-procedures__content a{color:var(--ca-gold-on-dark)!important}
.c-procedures--inverted .c-btn{border-color:rgba(178,134,74,.85)!important}
.c-procedures--inverted .c-btn:hover{color:#D8B47A;border-color:#D8B47A}

/* ========================================================================== 
   CAREAGA 2026 VISUAL IDENTITY — BRAND MANUAL ALIGNMENT
   Palette: black, dark gray, light gray, white, Careaga blue.
   Type: Madera Mirage display / Poppins body and interface.
   ========================================================================== */
:root{
  --ca-white:#FFFFFF;
  --ca-black:#000000;
  --ca-near:#000000;
  --ca-charcoal:#333333;
  --ca-rule:#BDBDBD;
  --ca-sand:#BDBDBD;
  --ca-gold:#0D2B4D;
  --ca-gold-hover:#163F6E;
  --ca-gold-on-dark:#FFFFFF;
  --ca-gold-on-image:#FFFFFF;
}

body.ca-dark,body.ca-interior{font-family:'Poppins',Arial,sans-serif;font-weight:300}
.ca-h1,.ca-h2,.ca-h3,.ca-phero__copy h1,.ca-phero__copy h2,
.ca-published h1,.ca-published h2,.ca-published h3,.ca-published h4,
.ca-interior__main--prose h1,.ca-interior__main--prose h2,.ca-interior__main--prose h3{
  font-family:'Madera Mirage','Bodoni Moda','Times New Roman',serif;
  font-weight:400;
  letter-spacing:.035em;
}
.ca-published p,.ca-published li,.ca-interior__main--prose p,
.ca-interior__main--prose li{font-family:'Poppins',Arial,sans-serif;font-weight:300}
.ca-btn,.ca-link,.ca-lang,.ca-nav__link,.ca-drop b,.ca-header__call,
.ca-mobilebar b,.ca-footer__seal b,.ca-formcard button[type=submit],
.ca-formcard .c-btn,.ca-formcard .gform_button,.ca-skip,.ca-pagination .page-numbers{
  font-family:'Poppins',Arial,sans-serif;
  font-weight:600;
  letter-spacing:.12em;
}
.ca-eyebrow,.ca-utility,.ca-footer__col h2{font-family:'Poppins',Arial,sans-serif;font-weight:400}

.ca-btn{border-radius:0}
.ca-btn--gold,.ca-formcard button[type=submit],.ca-formcard .c-btn,.ca-formcard .gform_button{
  background:#0D2B4D;
}
.ca-btn--gold:hover,.ca-formcard button[type=submit]:hover,
.ca-formcard .c-btn:hover,.ca-formcard .gform_button:hover{background:#163F6E}
.ca-btn--ghost{border-color:#FFFFFF;color:#FFFFFF}
.ca-lang,.ca-burger,.ca-drop,.ca-pop__panel,.ca-formcard,
.ca-formcard--swapped,.ca-post,.ca-footer__seal{border-radius:0}

.ca-header.is-scrolled,body.ca-interior .ca-header{background:rgba(0,0,0,.97);border-bottom-color:#333333}
.ca-nav__link:hover,.ca-nav__item.is-open>.ca-nav__link{color:#FFFFFF}
.ca-nav__link::after{background:#0D2B4D;height:2px}
.ca-drop a:hover{background:#0D2B4D}
.ca-utility__rating,.ca-utility,.ca-footer{color:#BDBDBD}
.ca-panel-light .ca-eyebrow,.ca-post__cat{color:#0D2B4D}

.ca-formcard{border-top:3px solid #0D2B4D}
.ca-formcard input,.ca-formcard select,.ca-formcard textarea{border-radius:0}
.ca-formcard input:focus,.ca-formcard select:focus,.ca-formcard textarea:focus{border-color:#0D2B4D}
.ca-footer__base{border-top-color:#0D2B4D}
.ca-mobilebar a:last-child{background:#0D2B4D!important}
.ca-pop__panel--dark{border-color:#0D2B4D}
.ca-grain{opacity:.025}

/* Branded display type needs more stroke and less tracking when it sits on a
   photograph. This preserves the editorial look without sacrificing scanning. */
.ca-phero__scrim{background:linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.72) 52%,rgba(0,0,0,.46) 72%,rgba(0,0,0,.14) 88%,rgba(0,0,0,0) 100%)}
.ca-phero .ca-h1,.ca-hero .ca-h1,.ca-onimage .ca-h1{
  max-width:780px;font-weight:600;line-height:1.08;letter-spacing:.005em;
  text-transform:none;text-shadow:0 2px 14px rgba(0,0,0,.9)}
.ca-phero .ca-lede{max-width:760px;color:#F0F0F0;text-shadow:0 2px 10px rgba(0,0,0,.9)}

@media (max-width:767px){
  .ca-phero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.70) 0%,rgba(0,0,0,.78) 100%)}
  .ca-phero .ca-h1,.ca-hero .ca-h1,.ca-onimage .ca-h1{font-size:clamp(34px,10.5vw,44px);line-height:1.1}
}

.ca-pin .ca-eyebrow,.ca-hero .ca-eyebrow,.ca-onimage .ca-eyebrow,
.ca-phero .ca-eyebrow,.ca-phero .ca-crumbs a,.ca-phero__copy a:not(.ca-btn),
.ca-phero__copy .ca-link,.ca-pin .ca-scrub-rise a:not(.ca-btn),.ca-pin .ca-link{color:#FFFFFF}
.ca-phero .ca-btn--ghost,.ca-pin .ca-btn--ghost,.ca-hero .ca-btn--ghost,.ca-onimage .ca-btn--ghost{
  border-color:rgba(255,255,255,.8);color:#FFFFFF;
}

.ca-published a,.ca-interior__main--prose a,.ca-post .ca-link{color:#0D2B4D}
.ca-published a:hover,.ca-interior__main--prose a:hover,.ca-post .ca-link:hover{color:#163F6E}
.ca-pagination .page-numbers:hover{border-color:#0D2B4D;color:#0D2B4D}
.ca-pagination .page-numbers.current{background:#0D2B4D;border-color:#0D2B4D}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline-color:#FFFFFF}
.ca-panel-light a:focus-visible,.ca-panel-light button:focus-visible,
.ca-formcard a:focus-visible,.ca-formcard button:focus-visible,
.ca-formcard input:focus-visible,.ca-formcard select:focus-visible,
.ca-published a:focus-visible,.ca-interior__main a:focus-visible{outline-color:#0D2B4D}

@media (max-width:899px){.ca-header__call{color:#FFFFFF}}

/* v3.33 — high-visibility, brand-safe conversion treatment */
.ca-btn--gold,.ca-formcard button[type=submit],.ca-formcard .c-btn,.ca-formcard .gform_button{position:relative;border:1px solid rgba(255,255,255,.78);background:linear-gradient(135deg,#163F6E 0%,#0D2B4D 72%);box-shadow:0 0 0 1px rgba(13,43,77,.96),0 12px 30px rgba(13,43,77,.42),inset 0 1px 0 rgba(255,255,255,.18);text-shadow:0 1px 1px rgba(0,0,0,.28);transition:transform .22s var(--ca-ease),box-shadow .22s var(--ca-ease),background .22s var(--ca-ease)}
.ca-btn--gold::after{content:'→';font-size:1.12em;line-height:1;margin-left:12px;transition:transform .22s var(--ca-ease)}
.ca-btn--gold:hover,.ca-formcard button[type=submit]:hover,.ca-formcard .c-btn:hover,.ca-formcard .gform_button:hover{background:linear-gradient(135deg,#1C4E83 0%,#0D2B4D 78%);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.9),0 16px 38px rgba(13,43,77,.58),inset 0 1px 0 rgba(255,255,255,.24)}
.ca-btn--gold:hover::after{transform:translateX(4px)}
.ca-panel-light .ca-btn--gold,.ca-gallery .ca-btn--gold{border-color:#0D2B4D;box-shadow:0 0 0 1px #0D2B4D,0 12px 28px rgba(13,43,77,.24),inset 0 1px 0 rgba(255,255,255,.18)}
.ca-btn--ghost{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ca-btn--ghost:hover{background:rgba(255,255,255,.14);border-color:#FFFFFF!important;color:#FFFFFF!important;transform:translateY(-2px)}

/* Results gallery and cinematic before/after comparisons. */
.ca-gallery{background:#F7F7F7;color:#000}
.ca-gallery .ca-eyebrow{color:#0D2B4D}.ca-gallery .ca-h2{color:#000}
.ca-gallery__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:32px}
.ca-gallery__head p{margin:0;color:#333;font-size:17px;line-height:1.65}
.ca-gallery__tools{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 0;border-top:1px solid #BDBDBD;border-bottom:1px solid #BDBDBD;margin-bottom:30px}
.ca-gallery__count{font-size:12px;letter-spacing:.08em;color:#333;white-space:nowrap}
.ca-gallery .ca-filter{color:#333;border-color:#BDBDBD;background:#FFF;border-radius:0}.ca-gallery .ca-filter:hover{color:#0D2B4D;border-color:#0D2B4D}.ca-gallery .ca-filter.is-active{background:#0D2B4D;border-color:#0D2B4D;color:#FFF}
.ca-gallery__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
.ca-gallery-card{background:#000;border:1px solid #333;box-shadow:0 18px 44px rgba(0,0,0,.12);min-width:0}
.ca-gallery-card__body{padding:18px 20px 20px;color:#FFF}.ca-gallery-card__body h3{font:400 clamp(22px,2vw,30px) 'Madera Mirage','Bodoni Moda','Times New Roman',serif;margin:0 0 5px}.ca-gallery-card__body span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#BDBDBD}
.ca-compare{--reveal:50%;position:relative}.ca-compare__media{position:relative;overflow:hidden;background:#1A1A1A;aspect-ratio:4/3}.ca-compare__media>img,.ca-compare__after img{width:100%;height:100%;object-fit:cover;display:block}.ca-compare__after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--reveal));will-change:clip-path}.ca-compare__after img{position:absolute;inset:0}.ca-compare__line{position:absolute;z-index:2;top:0;bottom:0;left:var(--reveal);width:2px;background:#FFF;transform:translateX(-1px)}.ca-compare__line i{position:absolute;left:50%;top:50%;width:42px;height:42px;border:1px solid #FFF;background:#0D2B4D;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px rgba(0,0,0,.4)}.ca-compare__line i::before{content:'‹  ›';position:absolute;inset:0;display:grid;place-items:center;font:600 14px Poppins,Arial,sans-serif;letter-spacing:2px;color:#FFF}.ca-compare__label{position:absolute;z-index:2;top:12px;padding:6px 9px;background:rgba(0,0,0,.66);border:1px solid rgba(255,255,255,.36);font:600 10px Poppins,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#FFF}.ca-compare__label--before{left:12px}.ca-compare__label--after{right:12px;background:#0D2B4D}.ca-compare__range{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ca-gallery-card [data-ca-gate]{position:relative}.ca-gallery-card [data-ca-gate] img{filter:blur(22px)}.ca-gallery-card [data-ca-gate].is-revealed img{filter:none}.ca-gallery-card .ca-gate{z-index:6}
.ca-gallery__note{margin-top:38px;padding:26px 0;border-top:1px solid #BDBDBD;display:flex;justify-content:space-between;align-items:center;gap:26px}.ca-gallery__note p{max-width:690px;margin:0;color:#333}
@media(max-width:899px){.ca-gallery__head{grid-template-columns:1fr}.ca-gallery__tools{align-items:flex-start;flex-direction:column}.ca-gallery__count{white-space:normal}.ca-gallery__grid{grid-template-columns:1fr}}
@media(max-width:767px){.ca-gallery .ca-filters{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.ca-gallery .ca-filter:first-child{grid-column:1/-1}.ca-gallery__note{align-items:stretch;flex-direction:column}.ca-gallery__note .ca-btn{width:100%}.ca-gallery-card__body{padding:15px 16px}.ca-compare__media{aspect-ratio:4/5}}

/* Internal patient galleries show the familiar side-by-side pair first.
   The precise slider remains available as an explicit secondary mode. */
.ca-gallery-comparison{background:#000}
.ca-compare--optional:not(.is-slider) .ca-compare__media{
  display:grid;grid-template-columns:1fr 1fr;aspect-ratio:16/9;background:#000
}
.ca-compare--optional:not(.is-slider) .ca-compare__media>img{
  position:relative;inset:auto;grid-column:1;width:100%;height:100%;object-fit:cover
}
.ca-compare--optional:not(.is-slider) .ca-compare__after{
  position:relative;inset:auto;grid-column:2;clip-path:none;will-change:auto;border-left:2px solid #fff
}
.ca-compare--optional:not(.is-slider) .ca-compare__after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ca-compare--optional:not(.is-slider) .ca-compare__line,
.ca-compare--optional:not(.is-slider) .ca-compare__range{display:none}
.ca-compare__mode{
  width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;
  margin:0;padding:11px 16px;border:0;border-top:1px solid #D8D8D8;background:#fff;color:#0D2B4D;
  font:600 13px/1.3 Poppins,Arial,sans-serif;letter-spacing:.01em;cursor:pointer
}
.ca-compare__mode i{font-style:normal;font-size:18px;line-height:1}
.ca-compare__mode:hover{background:#F5F5F7}
.ca-compare__mode:focus-visible{outline:3px solid rgba(13,43,77,.28);outline-offset:-3px}

/* v3.34 — existing WordPress patient library, rendered without copied data. */
.ca-gallery-categories{display:grid;gap:22px;margin-bottom:clamp(64px,9vw,110px)}
.ca-gallery-category{background:#FFF;border:1px solid #BDBDBD;padding:clamp(22px,3vw,38px)}
.ca-gallery-category__title{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid #BDBDBD}
.ca-gallery-category__title h3{font:400 clamp(30px,4vw,48px)/1.05 'Madera Mirage','Bodoni Moda','Times New Roman',serif;margin:5px 0 0;color:#000}
.ca-gallery-procedures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#D8D8D8;margin-top:22px;border:1px solid #D8D8D8}
.ca-gallery-procedures a{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#F7F7F7;color:#000!important;text-decoration:none;padding:16px 18px;min-height:58px;transition:background .2s ease,color .2s ease}
.ca-gallery-procedures a:hover{background:#0D2B4D;color:#FFF!important}.ca-gallery-procedures a span{font:600 13px Poppins,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}.ca-gallery-procedures a b{font:400 12px Poppins,Arial,sans-serif;min-width:28px;text-align:center;border:1px solid currentColor;padding:3px 6px}
.ca-gallery__head--recent{padding-top:clamp(44px,6vw,76px);border-top:1px solid #BDBDBD}
.ca-gallery-card__body .ca-link{display:block;width:max-content;margin-top:14px;color:#FFF!important}
.ca-gallery-data__hero{padding:clamp(150px,17vw,220px) var(--ca-gut) clamp(60px,8vw,100px);background:radial-gradient(circle at 82% 30%,rgba(13,43,77,.72),transparent 42%),#000;border-bottom:1px solid #333}
.ca-gallery-data__hero .ca-shell{display:grid;gap:14px}.ca-gallery-data__hero .ca-crumbs{margin:0}.ca-gallery-data__hero .ca-crumbs a{color:#FFF}.ca-gallery-data__hero .ca-h1{max-width:1000px}.ca-gallery-data__hero .ca-lede{color:#BDBDBD;margin:0}
.ca-gallery-case__meta{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.ca-gallery-case__description{max-width:800px;color:#333;margin:0 0 30px}.ca-gallery-procedures--archive{margin:0 0 38px}
.ca-gallery-case__meta .ca-link{color:#0D2B4D!important}
.ca-gallery-data .ca-pagination{margin-top:40px}
@media(max-width:767px){.ca-gallery-category__title,.ca-gallery-case__meta{align-items:flex-start;flex-direction:column}.ca-gallery-procedures{grid-template-columns:1fr}.ca-gallery-data__hero{padding:130px 16px 58px}.ca-gallery-category{padding:20px 16px}}
