body.page-template-template-services-hub .cats{background:#fff}
body.page-template-template-services-hub .cats .head{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:end;margin-bottom:48px;max-width:none;width:100%}
body.page-template-template-services-hub .cats h2{font-family:"Fraunces",serif;font-weight:300;font-size:var(--h2);letter-spacing:-.015em;max-width:520px}
body.page-template-template-services-hub .cats h2 em{font-style:italic;color:var(--accent-deep)}
body.page-template-template-services-hub .cats .head p{color:var(--muted);max-width:540px}
body.page-template-template-services-hub .cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
body.page-template-template-services-hub .cat-grid > .cat{height:100%}
body.page-template-template-services-hub .cat{padding:34px 30px 30px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);display:flex;flex-direction:column;gap:14px;background:#fff;transition:background .25s}
body.page-template-template-services-hub .cat:hover{background:var(--bg-warm)}
body.page-template-template-services-hub .cat .num{font-family:"Fraunces",serif;color:var(--gold);font-size:.8rem;letter-spacing:.22em}
body.page-template-template-services-hub .cat h3{font-family:"Fraunces",serif;font-weight:400;font-size:1.45rem;letter-spacing:-.01em}
body.page-template-template-services-hub .cat .desc{font-size:.92rem;color:var(--muted)}
body.page-template-template-services-hub .cat ul{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
body.page-template-template-services-hub .cat ul li a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink-2);transition:color .2s,padding .25s}
body.page-template-template-services-hub .cat ul li a:hover{color:var(--accent-deep);padding-left:6px}
body.page-template-template-services-hub .cat ul li a span{color:var(--muted);font-weight:500}
body.page-template-template-services-hub .cat .cta{margin-top:auto;padding-top:14px;font-size:.86rem;font-weight:500;display:inline-flex;gap:8px;align-items:center;color:var(--ink)}
body.page-template-template-services-hub .cat .cta:hover{color:var(--accent-deep)}
body.page-template-template-services-hub .cat.emerg{grid-column:auto;grid-row:auto;justify-self:stretch;align-self:stretch;background:var(--dark);color:#fff;border-color:var(--dark);position:relative;overflow:hidden}
body.page-template-template-services-hub .cat-grid > .cat.emerg{grid-column:auto;grid-row:auto}
body.page-template-template-services-hub .cat-grid > .cat.emerg,
body.page-template-template-services-hub .cat-grid > .cat.emerg:hover{flex-direction:column;align-items:flex-start;gap:14px;padding:34px 30px 30px}
body.page-template-template-services-hub .cat.emerg:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(127,166,181,.18),transparent 60%);pointer-events:none}
body.page-template-template-services-hub .cat.emerg .num{color:var(--accent)}
body.page-template-template-services-hub .cat.emerg h3{color:#fff}
body.page-template-template-services-hub .cat.emerg .desc{color:#b9bdc2}
body.page-template-template-services-hub .cat.emerg ul{border-top-color:rgba(255,255,255,.12)}
body.page-template-template-services-hub .cat.emerg ul li a{color:#dfe2e6;border-bottom-color:rgba(255,255,255,.1)}
body.page-template-template-services-hub .cat.emerg ul li a:hover{color:var(--accent)}
body.page-template-template-services-hub .cat.emerg ul li a span{color:#7a808a}
body.page-template-template-services-hub .cat.emerg .cta{color:#fff}
body.page-template-template-services-hub .cat.emerg .cta:hover{color:var(--accent)}
body.page-template-template-services-hub .dir{background:var(--bg-warm)}
body.page-template-template-services-hub .dir .head{margin-bottom:48px;max-width:680px}
body.page-template-template-services-hub .dir h2{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(28px,3.4vw,48px);margin-bottom:14px;letter-spacing:-.015em}
body.page-template-template-services-hub .dir h2 em{font-style:italic;color:var(--accent-deep)}
body.page-template-template-services-hub .dir .head p{color:var(--muted)}
body.page-template-template-services-hub .dir-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
body.page-template-template-services-hub .dir-group{padding:34px 30px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff}
body.page-template-template-services-hub .dir-group .gh{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}
body.page-template-template-services-hub .dir-group .gh h3{font-family:"Fraunces",serif;font-weight:400;font-size:1.3rem;letter-spacing:-.01em}
body.page-template-template-services-hub .dir-group .gh .n{font-family:"Fraunces",serif;color:var(--gold);font-size:.78rem;letter-spacing:.22em}
body.page-template-template-services-hub .dir-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
body.page-template-template-services-hub .dir-group ul li a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);transition:padding .25s}
body.page-template-template-services-hub .dir-group ul li:last-child a{border-bottom:0}
body.page-template-template-services-hub .dir-group ul li a:hover{padding-left:6px}
body.page-template-template-services-hub .dir-group ul li .ttl{display:flex;flex-direction:column;gap:3px}
body.page-template-template-services-hub .dir-group ul li .ttl strong{font-weight:500;font-size:.95rem;color:var(--ink)}
body.page-template-template-services-hub .dir-group ul li .ttl em{font-style:normal;color:var(--muted);font-size:.82rem}
body.page-template-template-services-hub .dir-group ul li .arr{color:var(--accent-deep);font-size:.9rem;transition:transform .25s}
body.page-template-template-services-hub .dir-group ul li a:hover .arr{transform:translateX(4px)}
body.page-template-template-services-hub .decide{background:#fff}
body.page-template-template-services-hub .decide .head{margin-bottom:46px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}
body.page-template-template-services-hub .decide h2{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(28px,3.4vw,48px);max-width:520px;letter-spacing:-.015em}
body.page-template-template-services-hub .decide h2 em{font-style:italic;color:var(--accent-deep)}
body.page-template-template-services-hub .decide .head p{color:var(--muted);max-width:480px}
body.page-template-template-services-hub .dec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
body.page-template-template-services-hub .dec{padding:28px 24px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--bg-warm);display:flex;flex-direction:column;gap:12px;min-height:230px}
body.page-template-template-services-hub .dec .ico{width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-deep)}
body.page-template-template-services-hub .dec .ico svg{display:block}
body.page-template-template-services-hub .dec h3{font-family:"Fraunces",serif;font-weight:400;font-size:1.08rem;letter-spacing:-.01em;color:var(--ink)}
body.page-template-template-services-hub .dec .rec{font-size:.85rem;color:var(--muted);flex:1}
body.page-template-template-services-hub .dec .lnk{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--accent-deep)}
body.page-template-template-services-hub .decide .foot{margin-top:30px;text-align:center}
body.page-template-template-services-hub .cmp{background:var(--bg-soft);padding:0}
body.page-template-template-services-hub .cmp-grid{display:grid;grid-template-columns:1fr 1fr}
body.page-template-template-services-hub .cmp .side{padding:clamp(40px,5vw,72px) var(--pad);display:flex;flex-direction:column;gap:16px;position:relative}
body.page-template-template-services-hub .cmp .side + .side{border-left:1px solid var(--line-strong)}
body.page-template-template-services-hub .cmp .side .vis{aspect-ratio:16/9;overflow:hidden;margin-bottom:14px}
body.page-template-template-services-hub .cmp .side .vis img{width:100%;height:100%;object-fit:cover}
body.page-template-template-services-hub .cmp .side h3{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(24px,2.4vw,34px);letter-spacing:-.015em}
body.page-template-template-services-hub .cmp .side h3 em{font-style:italic;color:var(--accent-deep)}
body.page-template-template-services-hub .cmp .side p{color:var(--muted);max-width:480px;font-size:.96rem}
body.page-template-template-services-hub .cmp .side a.lnk{margin-top:6px;font-size:.86rem;font-weight:500;display:inline-flex;gap:8px;align-items:center;color:var(--ink)}
body.page-template-template-services-hub .cmp .side a.lnk:hover{color:var(--accent-deep)}
body.page-template-template-services-hub .emerg-band{background:var(--dark);color:#fff;position:relative;overflow:hidden;padding:clamp(64px,8vw,128px) var(--pad)}
body.page-template-template-services-hub .emerg-band:before{content:"";position:absolute;inset:0;background-image:linear-gradient(120deg,rgba(127,166,181,.08),transparent 55%),var(--alvora-services-emerg-bg,none);background-position:center,center;background-size:100% 100%,cover;opacity:.16;pointer-events:none}
body.page-template-template-services-hub .emerg-band .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;position:relative}
body.page-template-template-services-hub .emerg-band .eyebrow{color:var(--accent)}
body.page-template-template-services-hub .emerg-band h2{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.015em;margin:14px 0 18px}
body.page-template-template-services-hub .emerg-band h2 em{font-style:italic;color:var(--accent)}
body.page-template-template-services-hub .emerg-band .lead{color:#b9bdc2;max-width:520px;margin-bottom:28px}
body.page-template-template-services-hub .emerg-band .ctas{display:flex;gap:12px;flex-wrap:nowrap;align-items:center}
body.page-template-template-services-hub .eb-points{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
body.page-template-template-services-hub .eb-point{padding:20px 22px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);min-height:90px;display:flex;align-items:center;gap:14px}
body.page-template-template-services-hub .eb-point .n{font-family:"Fraunces",serif;color:var(--gold);font-size:.78rem;letter-spacing:.22em;min-width:30px}
body.page-template-template-services-hub .eb-point h3{font-family:"Fraunces",serif;font-weight:400;font-size:1.02rem;color:#fff}
body.page-template-template-services-hub .process{background:#fff}
body.page-template-template-services-hub .process .head{text-align:center;margin-bottom:48px}
body.page-template-template-services-hub .process .head h2{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(28px,3.4vw,48px)}
body.page-template-template-services-hub .process .head p{color:var(--muted);max-width:540px;margin:14px auto 0}
body.page-template-template-services-hub .p-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong)}
body.page-template-template-services-hub .p-step{padding:30px 22px 26px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);min-height:200px;display:flex;flex-direction:column;gap:10px}
body.page-template-template-services-hub .p-step:nth-child(4n){border-right:0}
body.page-template-template-services-hub .p-step .n{font-family:"Fraunces",serif;font-size:2.4rem;color:var(--ink);font-weight:300;line-height:1;letter-spacing:-.02em}
body.page-template-template-services-hub .p-step h3{font-size:.95rem;font-weight:500;margin-top:auto}
body.page-template-template-services-hub .p-step p{font-size:.82rem;color:var(--muted)}
body.page-template-template-services-hub .areas{background:var(--bg-warm)}
body.page-template-template-services-hub .areas .grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:60px;align-items:start}
body.page-template-template-services-hub .areas h2{font-family:"Fraunces",serif;font-weight:300;font-size:clamp(28px,3.4vw,48px);margin:12px 0 18px;letter-spacing:-.015em}
body.page-template-template-services-hub .areas h2 em{font-style:italic;color:var(--accent-deep)}
body.page-template-template-services-hub .areas .lead{color:var(--muted);max-width:480px;margin-bottom:22px}
body.page-template-template-services-hub .areas .note{font-size:.85rem;color:var(--muted);padding:14px 0;border-top:1px solid var(--line);max-width:480px}
body.page-template-template-services-hub .area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
body.page-template-template-services-hub .area-cell{padding:18px 18px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:#fff;font-size:.92rem;display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;font-weight:500;line-height:1.2;text-align:left}
body.page-template-template-services-hub .area-cell:before{content:"";width:5px;height:5px;background:var(--accent-deep);border-radius:50%;display:block;flex:none;align-self:center}
@media (max-width:1024px){
body.page-template-template-services-hub .cats .head{grid-template-columns:1fr;gap:20px}
body.page-template-template-services-hub .cat-grid{grid-template-columns:1fr}
body.page-template-template-services-hub .dir-grid{grid-template-columns:1fr}
body.page-template-template-services-hub .decide .head{grid-template-columns:1fr;gap:20px}
body.page-template-template-services-hub .dec-grid{grid-template-columns:repeat(2,1fr)}
body.page-template-template-services-hub .cmp-grid{grid-template-columns:1fr}
body.page-template-template-services-hub .cmp .side + .side{border-left:0;border-top:1px solid var(--line-strong)}
body.page-template-template-services-hub .emerg-band .grid{grid-template-columns:1fr;gap:36px}
body.page-template-template-services-hub .p-grid{grid-template-columns:repeat(2,1fr)}
body.page-template-template-services-hub .p-step:nth-child(4n){border-right:1px solid var(--line-strong)}
body.page-template-template-services-hub .p-step:nth-child(2n){border-right:0}
body.page-template-template-services-hub .areas .grid{grid-template-columns:1fr;gap:36px}
body.page-template-template-services-hub .area-grid{grid-template-columns:repeat(2,1fr)}
body.page-template-template-services-hub .emerg-band .ctas{flex-wrap:wrap}
}
@media (max-width:640px){
body.page-template-template-services-hub .dec-grid{grid-template-columns:1fr}
body.page-template-template-services-hub .eb-points{grid-template-columns:1fr}
body.page-template-template-services-hub .p-grid{grid-template-columns:1fr}
body.page-template-template-services-hub .p-step{border-right:0!important}
body.page-template-template-services-hub .area-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
  body.page-template-template-services-hub .hub-hero .grid,
  body.page-template-template-services-hub-php .hub-hero .grid{
    grid-template-columns:1fr;
    height:auto;
    min-height:auto;
    max-height:none;
  }
  body.page-template-template-services-hub .hub-hero .text,
  body.page-template-template-services-hub-php .hub-hero .text{
    width:100%;
    height:auto;
  }
  body.page-template-template-services-hub .hub-hero .vis,
  body.page-template-template-services-hub-php .hub-hero .vis{
    width:100%;
    height:clamp(320px,45vw,520px);
    min-height:0;
  }
  body.page-template-template-services-hub .hub-hero .meta,
  body.page-template-template-services-hub-php .hub-hero .meta{
    position:absolute;
    top:24px;
    right:24px;
    display:flex;
    gap:18px;
    max-width:calc(100% - 48px);
    flex-wrap:wrap;
    color:#fff;
    z-index:1;
  }
}

@media (max-width:640px){
  body.page-template-template-services-hub .hub-hero .vis,
  body.page-template-template-services-hub-php .hub-hero .vis{
    height:clamp(320px,90vw,420px);
  }
  body.page-template-template-services-hub .hub-hero .meta,
  body.page-template-template-services-hub-php .hub-hero .meta{
    display:none;
  }
}
