
/* Service / audience hero variants */
.page-header.tone-warm{
  background:
    radial-gradient(ellipse at 80% 30%, rgba(234,143,69,.35) 0%, transparent 55%),
    radial-gradient(ellipse at 15% 80%, rgba(252,178,174,.25) 0%, transparent 55%),
    linear-gradient(135deg, #0d2f3e 0%, #12465b 55%, #1a5970 100%);
}

/* ============================================================
   PHOTO INSIDE VISUAL CONTAINERS
   ============================================================ */
.visual.has-photo,
.portrait.has-photo,
.includes-band .visual.has-photo,
.bio .portrait.has-photo{
  background:none !important;
}
.visual.has-photo .label,
.visual.has-photo .pad,
.portrait.has-photo .label,
.portrait.has-photo .pad,
.portrait.has-photo .placeholder{
  display:none;
}
.visual.has-photo,
.portrait.has-photo{
  position:relative;overflow:hidden;
}
.visual.has-photo img,
.portrait.has-photo img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;display:block;
}
/* Subtle warm overlay to keep the cohesive teal/cream tone */
.visual.has-photo::after,
.portrait.has-photo::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, transparent 0%, transparent 60%, rgba(13,37,48,.18) 100%);
  pointer-events:none;
}

/* Visual gradient placeholders (used in includes-band & elsewhere) */
.v-estate{
  background:
    radial-gradient(ellipse at 70% 25%, rgba(252,178,174,.5) 0%, transparent 60%),
    radial-gradient(ellipse at 30% 80%, rgba(234,143,69,.35) 0%, transparent 55%),
    linear-gradient(135deg, #1a4757 0%, #12465b 60%, #2d6577 100%);
}
.v-probate{
  background:
    radial-gradient(ellipse at 60% 50%, rgba(124,194,201,.4) 0%, transparent 65%),
    radial-gradient(ellipse at 25% 25%, rgba(252,178,174,.28) 0%, transparent 55%),
    linear-gradient(120deg, #0f3a4a 0%, #1a5970 70%, #2d5a6e 100%);
}
.v-guardian{
  background:
    radial-gradient(ellipse at 30% 30%, rgba(234,143,69,.45) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 75%, rgba(252,178,174,.3) 0%, transparent 55%),
    linear-gradient(160deg, #12465b 0%, #1f5a73 70%, #1a4757 100%);
}
.v-trustadmin{
  background:
    radial-gradient(ellipse at 40% 60%, rgba(252,178,174,.42) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 30%, rgba(124,194,201,.3) 0%, transparent 55%),
    linear-gradient(145deg, #1a5970 0%, #2d6577 70%, #386b7f 100%);
}

/* INTRO band */
.intro-band{padding:120px 0 100px;background:var(--cream)}
.intro-band .grid{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.intro-band h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(34px,3.8vw,52px);line-height:1.05;letter-spacing:-.015em;
  color:var(--teal-deep);font-variation-settings:"opsz" 144, "SOFT" 50;
}
.intro-band h2 em{font-style:italic;color:var(--teal);font-variation-settings:"opsz" 144, "SOFT" 100}
.intro-band .body p{font-size:17px;line-height:1.65;color:var(--ink-2);margin-bottom:18px}
.intro-band .body p:last-child{margin-bottom:0}
.intro-band .body p strong{color:var(--teal-deep);font-weight:600}

/* CONSIDERATIONS strip — 3 columns */
.cons{background:var(--cream-2);padding:120px 0;border-top:1px solid var(--rule)}
.cons .head{margin-bottom:60px;max-width:780px}
.cons h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.015em;
  color:var(--teal-deep);font-variation-settings:"opsz" 144, "SOFT" 50;
}
.cons h2 em{font-style:italic;color:var(--teal);font-variation-settings:"opsz" 144, "SOFT" 100}
.cons .sub{margin-top:18px;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:600px}
.cons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--rule)}
.cons-grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.cons-grid.cols-4{grid-template-columns:repeat(2,1fr)}.cons-grid.cols-4 .cons-card:nth-child(2){border-right:none}.cons-grid.cols-4 .cons-card:nth-child(-n+2){border-bottom:1px solid var(--rule)}}
.cons-card{padding:42px 32px 36px 0;border-right:1px solid var(--rule)}
.cons-card:not(:first-child){padding-left:32px}
.cons-card:last-child{border-right:none;padding-right:0}
.cons-card .nr{
  font-family:var(--serif);font-style:italic;font-size:24px;color:var(--accent-2);
  font-weight:300;line-height:1;margin-bottom:24px;display:block;letter-spacing:.04em;
  font-variation-settings:"opsz" 144, "SOFT" 100;
}
.cons-card h3{
  font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;
  color:var(--teal-deep);margin-bottom:12px;letter-spacing:-.01em;
}
.cons-card h3 em{font-style:italic;color:var(--teal)}
.cons-card p{font-size:15px;line-height:1.6;color:var(--ink-2)}

/* INCLUDES block */
.includes-band{padding:120px 0;background:var(--cream)}
.includes-band .grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.includes-band .visual{
  position:relative;aspect-ratio:5/6;border-radius:14px;overflow:hidden;
}
.includes-band .visual .label{
  position:absolute;left:18px;top:18px;z-index:3;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;
  letter-spacing:.08em;color:rgba(247,241,230,.8);
  background:rgba(13,37,48,.55);padding:6px 10px;border-radius:999px;
}
.includes-band .visual .pad{
  position:absolute;inset:18px;border:1px dashed rgba(247,241,230,.22);
  border-radius:6px;pointer-events:none;
}
.includes-band .visual::after{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(45deg, transparent 0, transparent 56px, rgba(255,255,255,.015) 56px, rgba(255,255,255,.015) 57px);
  pointer-events:none;
}
.includes-band h2{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(34px,3.8vw,52px);line-height:1.05;letter-spacing:-.015em;
  color:var(--teal-deep);margin-bottom:24px;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.includes-band h2 em{font-style:italic;color:var(--teal);font-variation-settings:"opsz" 144, "SOFT" 100}
.includes-band .intro{font-size:17px;line-height:1.6;color:var(--ink-2);margin-bottom:28px;max-width:520px}
.includes-list{margin-top:6px}
.includes-list h4{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600;margin-bottom:18px;
}
.includes-list ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.includes-list ul li{
  font-size:14.5px;line-height:1.45;color:var(--ink-2);
  display:flex;gap:10px;align-items:flex-start;
}
.includes-list ul li::before{
  content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-2);
  margin-top:7px;flex-shrink:0;
}

/* FEE callout */
.fee-callout{
  margin-top:32px;display:flex;align-items:flex-start;gap:14px;
  padding:20px 24px;background:rgba(81,167,176,.08);
  border-left:3px solid var(--teal);border-radius:0 8px 8px 0;
  max-width:540px;
}
.fee-callout .key{
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--teal);font-weight:700;flex-shrink:0;margin-top:2px;
}
.fee-callout .val{font-size:14.5px;color:var(--ink-2);line-height:1.55}

/* RELATED links band */
.related{padding:110px 0;background:var(--cream-2);border-top:1px solid var(--rule)}
.related .head{margin-bottom:40px;max-width:780px}
.related h2{
  font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.2vw,40px);
  line-height:1.1;color:var(--teal-deep);letter-spacing:-.015em;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.related h2 em{font-style:italic;color:var(--teal);font-variation-settings:"opsz" 144, "SOFT" 100}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-card{
  display:block;padding:28px 28px 26px;border-radius:12px;
  background:var(--cream);border:1px solid var(--rule);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s;
}
.related-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px -16px rgba(13,37,48,.18);
  border-color:var(--teal);
}
.related-card h3{
  font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.18;
  color:var(--teal-deep);margin-bottom:8px;letter-spacing:-.01em;
}
.related-card p{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:14px}
.related-card .arr-link{
  font-size:12.5px;color:var(--accent-2);font-weight:600;letter-spacing:.04em;
  display:inline-flex;align-items:center;gap:6px;
  transition:gap .2s ease;
}
.related-card:hover .arr-link{gap:10px}

/* LEGAL body */
.legal{padding:90px 0 110px;background:var(--cream)}
.legal .wrap{max-width:820px}
.legal h2{
  font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.6vw,32px);
  line-height:1.2;color:var(--teal-deep);margin:48px 0 14px;letter-spacing:-.01em;
  font-variation-settings:"opsz" 144, "SOFT" 50;
}
.legal h2:first-of-type{margin-top:0}
.legal h2 em{font-style:italic;color:var(--teal);font-variation-settings:"opsz" 144, "SOFT" 100}
.legal h3{
  font-family:var(--sans);font-weight:600;font-size:16px;
  color:var(--teal-deep);margin:28px 0 8px;letter-spacing:.02em;
}
.legal p,.legal li{font-size:16px;line-height:1.7;color:var(--ink-2);margin-bottom:14px}
.legal ul{padding-left:22px;margin-bottom:18px}
.legal li{margin-bottom:8px}
.legal a{color:var(--teal);border-bottom:1px solid currentColor}
.legal a:hover{color:var(--teal-deep)}
.legal .updated{
  font-size:13px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;
  font-weight:600;margin-bottom:36px;
}

@media (max-width:880px){
  .intro-band .grid,.includes-band .grid{grid-template-columns:1fr;gap:32px}
  .cons-grid{grid-template-columns:1fr}
  .cons-card{border-right:none;border-bottom:1px solid var(--rule);padding:32px 0!important}
  .cons-card:last-child{border-bottom:none}
  .related-grid{grid-template-columns:1fr}
  .includes-list ul{grid-template-columns:1fr}
}
