
/* ==========================================================================
   CAREAGA PLASTIC SURGERY — HOMEPAGE
   Complete page: header, navigation, all sections, footer, popups.
   Pairs with the ca-* motion system already live on careaga.bonalta.com.
   All classes prefixed ca- so nothing collides with Pss Framework v2.
   ========================================================================== */

/* ---------- TOKENS ---------- */
: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:.7s; --ca-dur-fast:.35s;
  --ca-bar:56px;                 /* fixed mobile contact bar */
  --ca-shell:1280px;
  --ca-gut:clamp(16px,4vw,56px);
}

/* ---------- RESET / CANVAS ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
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 .ca-section{background-color:transparent}
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-pad{padding:clamp(40px,6vw,80px) var(--ca-gut)}
.ca-h1{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(30px,4.6vw,44px);
  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(28px,5vw,40px);
  line-height:1.1;letter-spacing:2px;margin:0;text-wrap:pretty}
.ca-h3{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(22px,3vw,28px);
  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:27px;margin:0;color:var(--ca-sand)}
.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}
/* Anchors carry the canvas link colour (body.ca-dark a), which outranks a single
   class — so button colours are declared at anchor specificity. */
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)}
body.ca-dark a.ca-link{color:var(--ca-gold-on-dark)}
.ca-btn--sm{font-size:14px;letter-spacing:1px;padding:12px 18px;min-height:44px}
.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}

/* ==========================================================================
   1. UTILITY ROW  (#ca-utility)  — desktop only
   ========================================================================== */
.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)}

/* ==========================================================================
   2. HEADER + NAVIGATION  (#ca-header)
   Transparent over the hero, solid near-black once scrolled.
   ========================================================================== */
.ca-header{position:sticky;top:0;z-index:120;background:transparent;
  border-bottom:1px solid rgba(255,255,255,.10);
  transition:background-color var(--ca-dur-fast) var(--ca-ease),border-color var(--ca-dur-fast) var(--ca-ease)}
.ca-header.is-scrolled{background:rgba(15,15,15,.96);border-bottom-color:var(--ca-charcoal);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.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:46px;transition:height var(--ca-dur-fast) var(--ca-ease)}
.ca-header.is-scrolled .ca-logo img{height:34px}

.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;
  transition:color var(--ca-dur-fast) var(--ca-ease)}
.ca-nav__link:hover,.ca-nav__item.is-open>.ca-nav__link{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{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)}

/* progress rail inside the header */
.ca-rail{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:rgba(255,255,255,.12)}
.ca-rail>i{display:block;height:100%;background:var(--ca-gold);
  transform:scaleX(var(--scroll,0));transform-origin:left center;will-change:transform}

/* mobile drawer */
.ca-drawer{display:none;position:fixed;left:0;right:0;top:0;bottom:0;z-index:119;
  background:var(--ca-black);padding:76px 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}
.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}

/* ==========================================================================
   3. HERO  (#ca-hero)
   ========================================================================== */
.ca-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--ca-white)}
.ca-hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%;z-index:-2}
.ca-hero__scrim{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.60) 58%,rgba(0,0,0,.34) 76%,rgba(0,0,0,.10) 90%,rgba(0,0,0,0) 100%)}
.ca-hero__grid{position:relative;max-width:var(--ca-shell);margin:0 auto;
  padding:clamp(28px,4vw,56px) var(--ca-gut) clamp(20px,3vw,32px);
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(24px,4vw,48px);align-items:center}
.ca-hero__copy{display:flex;flex-direction:column;gap:18px;min-width:0}
.ca-hero__chips{display:flex;gap:10px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.ca-hero__chips li{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-sand);
  border:1px solid var(--ca-charcoal);border-radius:2px;padding:7px 12px;background:rgba(15,15,15,.55)}
.ca-hero__count{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ca-hero__count b{font-family:'Oswald',sans-serif;font-weight:400;font-size:clamp(40px,6vw,64px);
  line-height:1;letter-spacing:2px;color:var(--ca-white)}
.ca-hero__count span{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-sand)}
.ca-hero__actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ca-hero__actions em{font-style:normal;font-size:13px;letter-spacing:1px;color:var(--ca-sand)}
.ca-cue{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;
  padding:0 0 18px;color:var(--ca-sand);font-size:11px;letter-spacing:.35em;text-transform:uppercase}
.ca-cue i{display:block;width:1px;height:26px;background:linear-gradient(180deg,var(--ca-gold-on-dark),rgba(168,124,61,0))}
.ca-cue b{font-weight:400;animation:ca-nudge 2.2s ease-in-out infinite}
@keyframes ca-nudge{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(6px);opacity:1}}

/* ---------- 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}
/* GF wrapper — style GF's own classes, do not invent field markup */
.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)}
/* procedure select — custom gold chevron, native picker on mobile */
.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{background:var(--ca-white);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}
/* dark variant, used inside the two dark popups */
.ca-formcard--dark{background:transparent;color:var(--ca-white);padding:0}
.ca-formcard--dark .gfield_label{color:var(--ca-sand)}
.ca-formcard--dark .gfield_consent label{color:var(--ca-sand)}
.ca-formcard--dark .ca-formcard__note{color:var(--ca-rule)}

/* ==========================================================================
   4. TRUST STRIP  (#ca-trust)
   ========================================================================== */
.ca-trust{border-top:1px solid var(--ca-charcoal);border-bottom:1px solid var(--ca-charcoal);
  padding:22px 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)}

/* ==========================================================================
   5. MOTION PRIMITIVES (reveal / split / scene / prism / track)
   ========================================================================== */
[data-reveal]{opacity:0;transform:translate3d(0,18px,0);
  transition:opacity var(--ca-dur) var(--ca-ease),transform var(--ca-dur) var(--ca-ease);
  transition-delay:calc(var(--i,0) * 90ms);will-change:opacity,transform}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal="scale"]{transform:translate3d(0,24px,0) scale(.97)}
[data-reveal="left"]{transform:translate3d(-28px,0,0)}
[data-reveal="right"]{transform:translate3d(28px,0,0)}
.ca-mask{overflow:hidden;display:inline-block}
.ca-mask>span{display:block;transform:translate3d(0,110%,0);
  transition:transform .9s var(--ca-ease);transition-delay:calc(var(--i,0) * 80ms)}
.is-in .ca-mask>span,.ca-mask.is-in>span{transform:none}
[data-hero-step]{opacity:0;transform:translate3d(0,16px,0)}

.ca-scene{position:relative}
.ca-scene[data-len="130"]{height:130vh}
.ca-scene[data-len="160"]{height:160vh}
.ca-scene[data-len="200"]{height:200vh}
.ca-scene[data-len="250"]{height:250vh}
.ca-scene[data-len="320"]{height:320vh}
.ca-pin{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.ca-pin--rows{display:grid;grid-template-rows:auto 1fr auto;place-items:center;
  gap:clamp(12px,2vh,28px);padding:clamp(20px,4vh,48px) var(--ca-gut)}
.ca-pin--rows>*{width:100%;display:flex;flex-direction:column;align-items:center}
.ca-scrub-fade{opacity:var(--p)}
.ca-scrub-rise{transform:translate3d(0,calc((1 - var(--p)) * 40px),0);opacity:1;opacity:min(1,calc(var(--p) * 3))}
.ca-scrub-zoom{transform:scale(calc(1 + var(--p) * .18))}
.ca-scrub-dim{filter:none}.ca-pin .ca-scrub-zoom{filter:brightness(calc(.88 + var(--p) * .12))}

.ca-stage3d{perspective:1200px;width:min(90vw,900px);aspect-ratio:16/10;max-height:56vh;min-height:0}
.ca-box{position:relative;width:100%;height:100%;transform-style:preserve-3d;
  transform:rotateX(calc(var(--p) * -90deg));transition:transform .05s linear}
.ca-face{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden;border-radius:14px}
.ca-face img{width:100%;height:100%;object-fit:cover;display:block}
.ca-face--a{transform:translateZ(var(--half,280px))}
.ca-face--b{transform:rotateX(90deg) translateZ(var(--half,280px))}
.ca-facelabel{position:absolute;left:14px;bottom:14px;z-index:2;font-family:'Oswald',sans-serif;
  font-size:13px;letter-spacing:3px;text-transform:uppercase;padding:6px 12px;border-radius:2px}
.ca-facelabel--before{color:var(--ca-white);background:rgba(0,0,0,.55)}
.ca-facelabel--after{color:var(--ca-black);background:var(--ca-sand)}

.ca-track-clip{width:100%;align-self:stretch;overflow:hidden}
.ca-track{display:flex;gap:24px;align-self:stretch;will-change:transform;
  transform:translate3d(calc(var(--p) * var(--shift,0px) * -1),0,0)}
.ca-track>*{flex:0 0 auto}
.ca-lift{transition:transform var(--ca-dur-fast) var(--ca-ease),box-shadow var(--ca-dur-fast) var(--ca-ease),
  border-color var(--ca-dur-fast) var(--ca-ease)}
@media(hover:hover){.ca-lift:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28)}}

/* 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")}

/* ==========================================================================
   6. RESULTS BAND  (#ca-results)
   ========================================================================== */
.ca-results__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.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-case{flex:0 0 320px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.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)}
/* consent gate — surgical photographs of intimate areas stay covered until asked for.
   Add data-ca-gate to any before/after container, on this page or a gallery page. */
[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)}

/* ==========================================================================
   7. PROCEDURE TRACK  (#ca-procedures)
   ========================================================================== */
.ca-card{flex:0 0 300px;border:1px solid var(--ca-charcoal);border-radius:3px;padding:24px;
  display:flex;flex-direction:column;gap:8px;text-decoration:none;background:var(--ca-near)}
.ca-card:hover{border-color:var(--ca-gold-on-dark)}
.ca-card b{font-family:'Oswald',sans-serif;font-weight:400;font-size:20px;letter-spacing:2px;
  text-transform:uppercase;color:var(--ca-white)}
.ca-card p{font-size:13px;line-height:20px;color:var(--ca-sand);margin:0}
.ca-card em{font-style:normal;font-size:12px;letter-spacing:1px;color:var(--ca-gold-on-dark);margin-top:auto}

/* ==========================================================================
   8. OWNED ASSETS PANEL  (#ca-owned) — the first light section
   ========================================================================== */
.ca-owned__grid{max-width:var(--ca-shell);margin:0 auto;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,4vw,48px)}
.ca-owned__card{border:1px solid #CCCCCC;border-radius:3px;padding:clamp(20px,3vw,32px);
  display:flex;flex-direction:column;gap:14px}
.ca-owned__card p{font-size:18px;line-height:27px;margin:0}
.ca-owned__card .ca-btn{align-self:flex-start}

/* ==========================================================================
   9. SURGEONS  (#ca-surgeons)
   ========================================================================== */
.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}
.ca-person__frame{position:relative;aspect-ratio:4/5;background:var(--ca-navy);overflow:hidden}
.ca-person__frame img{position:absolute;inset:0;width:100%;height:100%;margin:0!important;object-fit:cover;object-position:center center;display:block}
.ca-person__frame--careaga img{object-position:center 38%}
.ca-person__frame--ramos img{object-position:center center}
.ca-person__frame--myers img{object-position:center 34%}
.ca-shotbrief{position:absolute;inset:0;border:1px dashed var(--ca-rule);display:flex;flex-direction:column;
  gap:8px;align-items:flex-start;justify-content:flex-end;padding:18px;background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 12px,transparent 12px 24px)}
.ca-shotbrief b{font-family:'Oswald',sans-serif;font-weight:400;font-size:11px;letter-spacing:3px;
  text-transform:uppercase;color:var(--ca-gold-on-dark)}
.ca-shotbrief span{font-size:12px;line-height:18px;color:var(--ca-sand)}
.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%}

/* ==========================================================================
   10. FACILITY  (#ca-facility)
   ========================================================================== */
.ca-facility{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,4vw,40px);align-items:center}
.ca-facility__shots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ca-facility__shots figure{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--ca-charcoal)}
.ca-facility__shots figure:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.ca-facility__shots img{width:100%;height:100%;object-fit:cover;display:block}
.ca-facility__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ca-facility__list li{display:flex;gap:12px;font-size:16px;line-height:24px;color:var(--ca-sand)}
.ca-facility__list b{font-family:'Oswald',sans-serif;font-weight:400;letter-spacing:2px;color:var(--ca-gold-on-dark);
  min-width:22px}

/* ==========================================================================
   11. FINAL CTA  (#ca-final)
   ========================================================================== */
.ca-final{position:relative;isolation:isolate;overflow:hidden}
.ca-final__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}
.ca-final__scrim{position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.80)}
.ca-final__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-final__copy{display:flex;flex-direction:column;gap:16px}
.ca-final__contact{display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:23px}
.ca-final__contact a{text-decoration:none}

/* ==========================================================================
   12. FOOTER  (#ca-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:56px;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)}

/* ==========================================================================
   13. FIXED MOBILE CONTACT BAR  (#ca-mobilebar) — never animated out
   ========================================================================== */
.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}

/* ==========================================================================
   14. POPUPS  (#ca-pop-booking / #ca-pop-pricing / #ca-pop-crisalix)
   ========================================================================== */
.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}}

/* ==========================================================================
   15. RESPONSIVE
   ========================================================================== */
@media (max-width:1023px){
  .ca-hero__grid{grid-template-columns:1fr;gap:22px}
  .ca-facility__shots figure:first-child{aspect-ratio:16/9}
}
@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-header.is-scrolled .ca-logo img{height:26px}
  .ca-mobilebar{display:grid}
}
@media (max-width:767px){
  body.ca-dark{font-size:16px;line-height:25px}
  .ca-track-clip{overflow:visible}
  .ca-scene[data-len]{height:200vh}
  .ca-scene[data-quick][data-len]{height:130vh}
  .ca-scene[data-track][data-len]{height:auto}
  .ca-scene[data-track] .ca-pin{position:static;height:auto;display:block}
  .ca-track{transform:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;
    -webkit-overflow-scrolling:touch}
  .ca-track>*{scroll-snap-align:start}
  .ca-card{flex:0 0 82%}
  .ca-case{flex:0 0 78%}
  .ca-hero__scrim{background:linear-gradient(180deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.86) 60%,rgba(0,0,0,.92) 100%)}
  .ca-hero__grid{padding:20px 16px 24px}
  .ca-btn--gold{width:100%}
  .ca-pop__panel{padding:18px}
}

/* ==========================================================================
   16. REDUCED MOTION — collapses the whole system to a readable static page
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal],[data-hero-step]{opacity:1!important;transform:none!important}
  .ca-mask>span{transform:none!important}
  .ca-scene{height:auto!important}
  .ca-pin{position:static;height:auto}
  .ca-box{transform:none}
  .ca-face--b{display:none}
  .ca-scrub-rise,.ca-scrub-zoom{transform:none;opacity:1}
  .ca-scrub-dim{filter:none}
  .ca-track{transform:none;overflow-x:auto;scroll-snap-type:x mandatory}
}

.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}

/* post listings — archives, blog index, search */
.ca-listhead{max-width:var(--ca-shell);margin:0 auto;padding:clamp(28px,5vw,56px) var(--ca-gut) 0}
.ca-listhead .ca-h1{color:var(--ca-near)}
.ca-listhead .ca-lede{color:#555;margin-top:10px}
.ca-posts{max-width:var(--ca-shell);margin:0 auto;padding:clamp(20px,4vw,40px) var(--ca-gut);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(20px,3vw,32px)}
.ca-post{display:flex;flex-direction:column;gap:8px;border:1px solid #E2E2E2;border-radius:3px;padding:0 0 20px;overflow:hidden;background:var(--ca-white)}
.ca-post__frame{display:block;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>*:not(.ca-post__frame){margin-left:20px;margin-right:20px}
.ca-post__cat{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ca-gold);margin-top:16px}
.ca-post .ca-h3{font-size:20px;line-height:1.25;text-transform:none;letter-spacing:1px}
.ca-post .ca-h3 a{color:var(--ca-near);text-decoration:none}
.ca-post .ca-h3 a:hover{color:var(--ca-gold)}
.ca-post__meta{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#777;margin:0}
.ca-post p{font-size:15px;line-height:24px;color:#444;margin:0}
.ca-post .ca-link{color:var(--ca-gold);align-self:flex-start;margin-top:auto}
.ca-pagination{max-width:var(--ca-shell);margin:0 auto;padding:0 var(--ca-gut) clamp(40px,6vw,72px);display:flex;gap:8px;flex-wrap:wrap}
.ca-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--ca-rule);border-radius:3px;font-family:'Oswald',sans-serif;letter-spacing:1px;color:var(--ca-near);text-decoration:none}
.ca-pagination .page-numbers:hover{border-color:var(--ca-gold);color:var(--ca-gold)}
.ca-pagination .page-numbers.current{background:var(--ca-gold);border-color:var(--ca-gold);color:var(--ca-white)}
@media (max-width:767px){.ca-posts{grid-template-columns:1fr}}

/* ==========================================================================
   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{font-family:'Poppins',Arial,sans-serif;font-weight:300;background:#000000}
.ca-h1,.ca-h2,.ca-h3,
.ca-phero__copy h1,.ca-phero__copy h2,
.ca-pin h2,.ca-section h2{
  font-family:'Madera Mirage','Bodoni Moda','Times New Roman',serif;
  font-weight:400;
  letter-spacing:.035em;
}
.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{
  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-trust,.ca-proof,.ca-section--light{border-color:#BDBDBD}
.ca-card,.ca-case,.ca-doc,.ca-facility__item{border-color:#333333}
.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}

/* High-contrast display typography over photography. The brand's Bodoni-style
   face remains the focal point, but a display weight, tighter spacing and a
   controlled measure keep its fine strokes legible on cinematic imagery. */
.ca-standard__scrim{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.74) 48%,rgba(0,0,0,.52) 66%,rgba(0,0,0,.18) 84%,rgba(0,0,0,0) 100%)}
.ca-standard__copy{position:relative;max-width:790px;padding:0 var(--ca-gut);display:flex;
  flex-direction:column;gap:18px;align-items:flex-start;opacity:1}
.ca-standard__title{max-width:720px;font-size:clamp(36px,5vw,58px)!important;
  font-weight:600!important;line-height:1.08!important;letter-spacing:-.01em!important;
  text-transform:none!important;text-shadow:0 2px 14px rgba(0,0,0,.9)!important}
.ca-hero .ca-h1,.ca-phero .ca-h1,.ca-onimage .ca-h1{
  font-weight:600;line-height:1.08;letter-spacing:.005em;text-transform:none;
  text-shadow:0 2px 14px rgba(0,0,0,.9)}

@media (max-width:767px){
  .ca-standard__scrim{background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.68) 72%,rgba(0,0,0,.58) 100%)}
  .ca-standard__title{font-size:clamp(34px,10.5vw,46px)!important;line-height:1.1!important}
}

.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;
}

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{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)}

/* Cinematic result reveal: one controlled layer, no sticky cube or distortion. */
.ca-result-film{position:relative;overflow:hidden;padding:clamp(72px,10vw,144px) var(--ca-gut);background:#000;color:#FFF;isolation:isolate}
.ca-result-film::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 40%,rgba(13,43,77,.54),transparent 46%);z-index:-1}
.ca-result-film__intro{width:min(100%,760px);margin:0 auto clamp(30px,5vw,58px);text-align:center;display:grid;gap:14px}
.ca-result-film__intro p{margin:0 auto;max-width:650px;color:#BDBDBD;font-size:clamp(16px,1.7vw,20px);line-height:1.65}
.ca-compare{--reveal:54%;position:relative}
.ca-compare__media{position:relative;overflow:hidden;background:#1A1A1A;aspect-ratio:16/10}
.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);box-shadow:0 0 18px rgba(0,0,0,.55)}
.ca-compare__line i{position:absolute;left:50%;top:50%;width:46px;height:46px;border:1px solid #FFF;background:#0D2B4D;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px rgba(0,0,0,.42)}
.ca-compare__line i::before{content:'‹  ›';position:absolute;inset:0;display:grid;place-items:center;font:600 16px Poppins,Arial,sans-serif;letter-spacing:3px;color:#FFF}
.ca-compare__label{position:absolute;z-index:2;top:18px;padding:7px 11px;background:rgba(0,0,0,.66);border:1px solid rgba(255,255,255,.38);font:600 11px Poppins,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.ca-compare__label--before{left:18px}.ca-compare__label--after{right:18px;background:#0D2B4D}
.ca-compare__range{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ca-compare--feature{width:min(100%,1120px);margin:0 auto;border:1px solid #333;padding:clamp(8px,1vw,14px);background:#080808;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.ca-compare--feature .ca-compare__media{min-height:420px;max-height:720px}
.ca-result-film__foot{width:min(100%,1120px);margin:18px auto 0;display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;color:#BDBDBD;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.ca-result-film__foot .ca-link{justify-self:end;color:#FFF}
.ca-result-film[data-reveal]{opacity:1;transform:none}
.ca-result-film .ca-compare--feature{opacity:0;transform:scale(1.035) translateY(26px);transition:opacity 1s var(--ca-ease),transform 1.4s var(--ca-ease)}
.ca-result-film.is-in .ca-compare--feature{opacity:1;transform:none}
@media(max-width:767px){.ca-result-film{padding:64px 16px}.ca-compare--feature .ca-compare__media{min-height:0;aspect-ratio:4/5}.ca-result-film__foot{grid-template-columns:1fr;text-align:center}.ca-result-film__foot .ca-link{justify-self:center}.ca-compare__label{top:10px}.ca-compare__label--before{left:10px}.ca-compare__label--after{right:10px}}
@media(prefers-reduced-motion:reduce){.ca-result-film .ca-compare--feature{opacity:1;transform:none}}
