/* Detailed English/Spanish service directory. Source: site.json approved fees + service_profiles.json. */
.catalog-section{background:#f9f8f4}.catalog-index{background:#fffdf8}
.catalog-heading{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:end;gap:40px;margin:0 0 30px}
.catalog-heading .eyebrow{margin-bottom:10px}.catalog-heading h2{font:400 clamp(30px,3.6vw,51px)/1.16 var(--serif);letter-spacing:-.045em;margin:0;color:#1c342c;max-width:700px}
.catalog-heading>p{font:400 14px/1.8 var(--sans);color:#606e66;margin:0 0 5px;max-width:460px}
.catalog-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.catalog-service-card{display:flex;flex-direction:column;min-width:0;min-height:226px;padding:25px;border:1px solid #d9e1d6;background:#fffdfa;color:#213b32;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.catalog-service-card:hover,.catalog-service-card:focus-visible{border-color:#a48b65;transform:translateY(-2px);box-shadow:0 12px 30px rgba(34,59,47,.08)}
.catalog-card-kicker{font:800 10px/1.5 var(--modern);letter-spacing:.15em;color:#997849}
.catalog-service-card h3{font:700 18px/1.4 var(--modern);letter-spacing:-.02em;margin:15px 0 16px;color:#1b342e}
.catalog-service-card p{font:500 12px/1.5 var(--sans);margin:auto 0 13px;color:#56675c}
.catalog-service-card strong{font:800 19px var(--modern);color:#9b6e40;margin-left:5px}
.catalog-card-link{display:flex;align-items:center;gap:9px;font:800 10px/1.5 var(--modern);letter-spacing:.045em;color:#285b4c;margin-top:auto}
.catalog-card-link .icon{width:16px;height:16px;flex-shrink:0}
.catalog-topic-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 33px}.catalog-topic-links a{border:1px solid #d8cbb9;background:#fff;padding:9px 12px;border-radius:30px;font:700 11px/1.5 var(--modern);color:#384c42;text-decoration:none}
.catalog-topic-links a:hover,.catalog-topic-links a:focus-visible{background:#173d32;color:#fff;border-color:#173d32}
.catalog-group{scroll-margin-top:110px;margin:0 0 32px}.catalog-group-head{border-bottom:1px solid #d9ded6;padding:0 0 12px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.catalog-group-head h3{font:700 22px/1.4 var(--modern);margin:0;color:#213c32}.catalog-group-head span{font:700 11px var(--modern);color:#8c7861}
.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.catalog-list-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:17px 6px;border-bottom:1px solid #e7e9e4;color:#293f36;text-decoration:none}
.catalog-list-item:hover,.catalog-list-item:focus-visible{color:#a16f3f;background:#f3f5f0}.catalog-list-item>span{font:600 13px/1.5 var(--modern)}.catalog-list-item strong{font:750 14px var(--modern);color:#94693f;white-space:nowrap}.catalog-list-item .icon{width:16px;height:16px;flex-shrink:0}
.catalog-footnote{padding:17px 21px;border-left:3px solid #c1a075;background:#f6f2ea;color:#4c5b52;font-size:13px;line-height:1.75}
.fee-card .fee-detail-learn{display:inline-flex;align-items:center;gap:9px;font:750 12px/1.4 var(--modern);text-decoration:underline;text-underline-offset:3px;color:#214b44;margin:5px 0 18px}.fee-card .fee-detail-learn .icon{width:14px;height:14px}
.specialty-detail-link{display:flex;align-items:center;gap:10px;font:750 12px var(--modern);color:#205849;text-decoration:underline;margin:22px 0}
.specialty-detail-link .icon{width:15px;height:15px}
/* Individual fee service pages */
.dd-hero{background:linear-gradient(123deg,#121e2c 0%,#152130 58%,#20374c 100%);color:#fff;overflow:hidden}
.dd-hero-inner{padding-top:35px;padding-bottom:72px}
.dd-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:45px;color:#cbd3df;font:650 11px/1.5 var(--modern)}
.dd-breadcrumbs a{color:#e3e9f0;text-decoration:underline;text-underline-offset:3px}.dd-breadcrumbs span:last-child{max-width:540px;color:#bcc7d4}
.dd-hero-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(228px,310px);gap:clamp(26px,4vw,66px);align-items:center}
.dd-hero-copy{max-width:920px}.dd-hero-copy .eyebrow{margin-bottom:18px}.dd-hero h1{font:400 clamp(34px,4.8vw,68px)/1.12 var(--serif);letter-spacing:-.05em;color:#f9faf4;margin:0 0 25px;overflow-wrap:break-word}
.dd-hero-lead{font:400 clamp(15px,1.5vw,19px)/1.85 var(--sans);color:#d8dce1;max-width:780px;margin:0}
/* Photo tiles replace the unrelated 'GC' type treatment on all 47 services. */
.dd-hero-photo{width:100%;aspect-ratio:1/1;min-width:0;display:block;align-self:center;justify-self:center;background-repeat:no-repeat;background-size:309% 309%;border-radius:12px;border:1px solid rgba(213,173,114,.6);box-shadow:0 22px 45px rgba(7,13,22,.32);position:relative;overflow:hidden;isolation:isolate}
.dd-hero-photo::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);border-radius:inherit;pointer-events:none}
.dd-detail-section{background:#fffdfa;padding:72px 0 105px}.dd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:clamp(35px,6vw,92px);align-items:start}
.dd-main{min-width:0}.dd-section-intro{margin-bottom:45px}.dd-section-intro .eyebrow{margin-bottom:10px}
.dd-section-intro h2,.dd-questions h2{font:400 clamp(29px,3.2vw,43px)/1.24 var(--serif);letter-spacing:-.045em;color:#203a31;margin:0 0 17px}
.dd-section-intro>p:not(.eyebrow){font:400 16px/1.95 var(--sans);color:#57645e;margin:0;max-width:740px}
.dd-content-block{display:grid;grid-template-columns:40px minmax(0,1fr);gap:22px;border-top:1px solid #dfe6dd;padding:33px 0 40px}
.dd-content-block .eyebrow{margin-bottom:10px}.dd-content-index{font:700 12px var(--modern);color:#a98c62;padding-top:3px}
.dd-content-block h2{font:700 clamp(20px,2.4vw,27px)/1.35 var(--modern);letter-spacing:-.027em;color:#213b31;margin:0 0 14px}
.dd-content-block p{font-size:14px;line-height:1.9;color:#4b5d51;margin:0 0 13px}
.dd-content-block .dd-muted{font-size:13px;color:#758078}
.dd-checklist{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.dd-checklist li{display:flex;align-items:flex-start;gap:13px;font:500 14px/1.65 var(--sans);color:#263d32}
.dd-checklist .icon{width:18px;height:18px;color:#9b784b;flex-shrink:0;margin-top:3px}
.dd-scope-text{padding:20px 22px;border:1px solid #e3dacb;background:#f8f5ee;border-radius:9px;white-space:normal}
.dd-content-block .dd-scope-disclaimer{font-size:12px;color:#737a74;margin:16px 0 0}
.dd-questions{border-top:1px solid #dfe6dd;padding-top:35px}.dd-questions .eyebrow{margin-bottom:10px}
.dd-faq{border-bottom:1px solid #e0e6dd}.dd-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;color:#214036;font:700 15px/1.55 var(--modern)}
.dd-faq summary::-webkit-details-marker{display:none}.dd-faq summary .icon{width:17px;height:17px;flex-shrink:0}.dd-faq[open] summary .icon{transform:rotate(45deg)}.dd-faq p{font:400 13px/1.9 var(--sans);color:#56685d;margin:0 0 20px}
.dd-side{position:sticky;top:110px;min-width:0;display:grid;gap:20px}
.dd-fee-box{border:1px solid #e3d4bf;background:#f8f3eb;border-radius:12px;padding:27px;box-shadow:0 17px 42px rgba(32,51,42,.06)}
.dd-fee-head{display:flex;flex-direction:column;gap:9px;border-bottom:1px solid #ded1bf;padding-bottom:18px;margin-bottom:16px}
.dd-fee-head>span,.dd-feature-box>span,.dd-related-box>span{font:800 10px/1.5 var(--modern);letter-spacing:.13em;color:#9a764b}
.dd-fee-head strong{font:750 clamp(42px,4vw,55px)/1.08 var(--modern);letter-spacing:-.055em;color:#1d3b30}
.dd-fee-head small{font:600 11px var(--modern);color:#69776c}.dd-fee-box>p{font:400 12px/1.7 var(--sans);color:#5e6a60;margin:0 0 20px}
.dd-cta{display:flex!important;justify-content:center!important;align-items:center!important;gap:15px;width:100%;text-align:center;min-height:48px;font-size:11px!important}.dd-cta .icon{width:16px;height:16px}
.dd-fee-back{display:block;font:700 12px/1.6 var(--modern);color:#386450;text-decoration:underline;text-underline-offset:3px;margin:20px 0 0}
.dd-feature-box{background:#eff4ed;border:1px solid #d9e5da;border-radius:10px;padding:22px 24px}.dd-feature-box h3,.dd-related-box h3{font:700 17px/1.35 var(--modern);letter-spacing:-.02em;color:#244437;margin:10px 0 12px}.dd-feature-box p{font:400 12px/1.75 var(--sans);color:#42594c;margin:0 0 13px}.dd-feature-box p:last-child{margin-bottom:0}.dd-feature-box strong{font:800 15px var(--modern);color:#805d37}.dd-new-client{border-color:#e6d4bb;background:#f8f0e5}
.dd-related-box{padding:25px;border:1px solid #e1e8dd;background:#fff}.dd-related-box ul{list-style:none;padding:0;margin:0}.dd-related-box li{border-bottom:1px solid #e7ebe6}.dd-related-box li a{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px 0;color:#315248;font:600 12px/1.6 var(--modern)}.dd-related-box li a:hover{color:#a57841}.dd-related-box li .icon{width:15px;height:15px;flex-shrink:0}
.dd-next-banner{background:#1a2a3c;padding:53px 0;color:#f4f4e9}.dd-next-banner .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.dd-next-banner .eyebrow{margin:0 0 10px;color:#c5ab86}.dd-next-banner h2{font:400 clamp(29px,3vw,42px)/1.2 var(--serif);letter-spacing:-.04em;color:#f6f6eb;margin:0 0 9px}.dd-next-banner p:not(.eyebrow){color:#d8dce1;margin:0;font:400 13px/1.75 var(--sans)}
@media(max-width:1080px){.dd-grid{grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:30px}.catalog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.dd-grid{grid-template-columns:1fr}.dd-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.dd-fee-box{grid-column:1/-1}.dd-hero-row{grid-template-columns:1fr;gap:24px}.dd-hero-photo{width:min(100%,320px);justify-self:start}.dd-hero-inner{padding-bottom:52px}.catalog-heading{grid-template-columns:1fr;gap:13px}.catalog-list{grid-template-columns:1fr}}
@media(max-width:600px){.dd-detail-section{padding:48px 0 64px}.dd-side{grid-template-columns:1fr}.dd-fee-box{grid-column:auto}.dd-content-block{grid-template-columns:1fr;gap:9px}.dd-content-index{margin-bottom:2px}.dd-scope-text{padding:15px}.catalog-card-grid{grid-template-columns:1fr}.catalog-service-card{min-height:190px}.catalog-list-item{gap:9px}.catalog-list-item>span{font-size:12px}.catalog-list-item strong{font-size:13px}.dd-next-banner .container{flex-direction:column;align-items:start}.dd-next-banner .button{width:100%;justify-content:center}.dd-breadcrumbs{margin-bottom:29px}}

/* On compact screens, photographs remain visible but do not crowd headings. */
@media(max-width:520px){.dd-hero-photo{width:min(100%,262px);max-width:262px}.dd-hero-row{gap:23px}}
@media(min-width:801px) and (max-width:1100px){.dd-hero-row{grid-template-columns:minmax(0,1fr) minmax(190px,255px);gap:26px}}

/* Family consular after-approved-I-130 tier, subordinate to the principal package price. */
.dd-fee-head>span.dd-approved-tier{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:6px;padding:13px 0 0;border-top:1px solid #e1d7cb;font:650 12px/1.4 var(--modern);letter-spacing:0;color:#344957}
.dd-fee-head .dd-approved-tier strong{font:800 21px/1.15 var(--modern);letter-spacing:-.03em;color:#1a4a6b;white-space:nowrap}

/* Robust per-service <img> hero photographs, no CSS sheet cropping required. */
.dd-hero-photo{object-fit:cover;object-position:center;display:block;height:auto;aspect-ratio:1/1;background:#192c42}


/* 2026-11-04: full-image service photos.  The earlier 310px desktop tile and
   262px mobile tile made people look vertically clipped or tiny.  Let the
   photograph scale to its natural dimensions without object-fit cropping. */
.dd-hero .dd-hero-row {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
  gap: clamp(28px, 4vw, 58px);
  align-items:center;
}
.dd-hero .dd-hero-copy { min-width:0; }
.dd-hero .dd-hero-media {
  display:block;
  min-width:0;
  width:100%;
  max-width:430px;
  margin:0;
  justify-self:end;
  align-self:center;
}
.dd-hero .dd-hero-photo {
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  overflow:visible;
  border-radius:16px;
  border:1px solid rgba(211,170,112,.58);
  box-shadow:0 24px 55px rgba(5,12,25,.27);
  background:transparent;
}
@media (max-width:1100px) {
  .dd-hero .dd-hero-row {grid-template-columns:minmax(0,1fr);gap:30px}
  .dd-hero .dd-hero-media {justify-self:center;max-width:450px;width:100%;}
  .dd-hero .dd-hero-photo {width:100%;max-width:none;}
}
@media (max-width:600px) {
  .dd-hero .dd-hero-inner {padding-bottom:45px}
  .dd-hero .dd-hero-row {gap:24px}
  .dd-hero .dd-hero-media {max-width:100%;width:100%;}
  .dd-hero .dd-hero-photo {width:100%;max-width:none;}
}
