/* =========================================================
   WHAT WE DO V2
========================================================= */

.tml-wwd2-page {
    --wwd2-navy: #101c2a;
    --wwd2-navy-2: #17283a;
    --wwd2-gold: #c89a48;
    --wwd2-gold-dark: #a87627;
    --wwd2-cream: #f7f3ec;
    --wwd2-paper: #fcfaf6;
    --wwd2-text: #17202b;
    --wwd2-muted: #6c747d;
    --wwd2-border: rgba(16,28,42,.11);

    overflow: hidden;

    background: #fff;
}


/* =========================================================
   HERO
========================================================= */

.tml-wwd2-hero {
    position: relative;

    min-height: 730px;

    display: flex;

    background-image:
        var(--tml-wwd2-hero-image);

    background-size: cover;

    background-position:
        center right;

    background-repeat: no-repeat;

    background-color:
        var(--wwd2-navy);
}


.tml-wwd2-hero-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(6,15,24,.98) 0%,
            rgba(6,15,24,.93) 37%,
            rgba(6,15,24,.73) 64%,
            rgba(6,15,24,.39) 100%
        );
}


.tml-wwd2-hero-glow {
    position: absolute;

    width: 540px;
    height: 540px;

    right: -170px;
    bottom: -250px;

    border-radius: 50%;

    border:
        1px solid
        rgba(207,164,84,.18);

    box-shadow:
        0 0 0 90px
        rgba(207,164,84,.025);
}


.tml-wwd2-hero-shell {
    position: relative;
    z-index: 2;

    width: 90%;

    padding-top: 28px;
    padding-bottom: 70px;
}


.tml-wwd2-breadcrumb {
    display: flex;

    align-items: center;

    gap: 8px;

    color:
        rgba(255,255,255,.46);

    font-size: 9px;
}


.tml-wwd2-breadcrumb a {
    color:
        rgba(255,255,255,.65);

    text-decoration: none;
}


.tml-wwd2-hero-grid {
    min-height: 610px;

    display: grid;

    grid-template-columns:
        minmax(0,1.1fr)
        minmax(360px,.9fr);

    gap: 80px;

    align-items: center;
}


.tml-wwd2-hero-copy {
    max-width: 790px;
}


.tml-wwd2-hero-kicker,
.tml-wwd2-eyebrow {
    color:
        var(--wwd2-gold);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .14em;

    text-transform: uppercase;
}


.tml-wwd2-hero-copy h1 {
    max-width: 770px;

    margin:
        20px 0 0;

    color: white !important;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(58px,6vw,88px);

    font-weight: 500;

    line-height: .98;
}


.tml-wwd2-hero-copy h1 em {
    display: block;

    margin-top: 12px;

    color:
        #e2bc72;

    font-style: italic;
}


.tml-wwd2-hero-copy p {
    max-width: 690px;

    margin:
        28px 0 0;

    color:
        rgba(255,255,255,.68);

    font-size: 15px;

    line-height: 1.8;
}


.tml-wwd2-hero-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 33px;
}


.tml-wwd2-btn {
    min-height: 51px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding:
        0 23px;

    border-radius:
        999px;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .07em;

    text-decoration: none;

    text-transform: uppercase;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease;
}


.tml-wwd2-btn:hover {
    transform:
        translateY(-3px);
}


.tml-wwd2-btn-gold {
    color: #fff;

    background:
        var(--wwd2-gold);
}


.tml-wwd2-btn-gold:hover {
    color:
        var(--wwd2-navy);

    background: #fff;
}


.tml-wwd2-btn-ghost {
    color: #fff;

    border:
        1px solid
        rgba(255,255,255,.22);

    background:
        rgba(255,255,255,.035);
}


/* =========================================================
   HERO COMPASS
========================================================= */

.tml-wwd2-compass {
    position: relative;

    width: 420px;
    height: 420px;

    justify-self: end;
}


.tml-wwd2-compass-ring {
    position: absolute;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius: 50%;
}


.tml-wwd2-compass-ring-one {
    inset: 35px;
}


.tml-wwd2-compass-ring-two {
    inset: 90px;

    border-color:
        rgba(201,154,72,.22);
}


.tml-wwd2-compass-core {
    position: absolute;

    inset: 125px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border:
        1px solid
        rgba(201,154,72,.28);

    background:
        rgba(12,27,42,.72);

    backdrop-filter:
        blur(10px);

    text-align: center;
}


.tml-wwd2-compass-icon {
    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    color:
        #e2bc72;
}


.tml-wwd2-compass-icon svg {
    width: 34px;
    height: 34px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.5;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.tml-wwd2-compass-core small {
    margin-top: 8px;

    color:
        rgba(255,255,255,.45);

    font-size: 7px;

    letter-spacing: .1em;

    text-transform: uppercase;
}


.tml-wwd2-compass-core strong {
    margin-top: 8px;

    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size: 16px;

    font-weight: 500;

    line-height: 1.35;
}


.tml-wwd2-compass-note {
    position: absolute;

    min-width: 130px;

    padding:
        14px 16px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius: 13px;

    background:
        rgba(11,24,37,.76);

    backdrop-filter:
        blur(10px);

    box-shadow:
        0 14px 35px
        rgba(0,0,0,.15);
}


.tml-wwd2-compass-note strong {
    display: block;

    color:
        #e2bc72;

    font-family:
        Georgia,
        serif;

    font-size: 19px;

    font-weight: 500;
}


.tml-wwd2-compass-note span {
    display: block;

    margin-top: 3px;

    color:
        rgba(255,255,255,.48);

    font-size: 7px;

    letter-spacing: .06em;

    text-transform: uppercase;
}


.tml-wwd2-compass-note-one {
    left: 0;
    top: 58px;
}


.tml-wwd2-compass-note-two {
    right: 0;
    top: 145px;
}


.tml-wwd2-compass-note-three {
    left: 34px;
    bottom: 40px;
}


/* =========================================================
   TRUST STRIP
========================================================= */

.tml-wwd2-trust-strip {
    background:
        var(--wwd2-paper);

    border-bottom:
        1px solid
        var(--wwd2-border);
}


.tml-wwd2-trust-grid {
    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));
}


.tml-wwd2-trust-grid > div {
    display: grid;

    grid-template-columns:
        38px 1fr;

    gap: 13px;

    align-items: center;

    padding:
        24px 25px;

    border-right:
        1px solid
        var(--wwd2-border);
}


.tml-wwd2-trust-grid > div:last-child {
    border-right: 0;
}


.tml-wwd2-trust-grid > div > span {
    color:
        rgba(16,28,42,.26);

    font-family:
        Georgia,
        serif;

    font-size: 17px;
}


.tml-wwd2-trust-grid strong {
    display: block;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;
}


.tml-wwd2-trust-grid small {
    display: block;

    margin-top: 2px;

    color:
        var(--wwd2-muted);

    font-size: 9px;

    letter-spacing: .06em;

    text-transform: uppercase;
}


/* =========================================================
   INTRO
========================================================= */

.tml-wwd2-intro {
    padding:
        115px 0;
}


.tml-wwd2-intro-grid {
    display: grid;

    grid-template-columns:
        .85fr 1fr .55fr;

    gap: 65px;

    align-items: start;
}


.tml-wwd2-intro-title h2 {
    margin:
        15px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(40px,4vw,58px);

    font-weight: 500;

    line-height: 1.06;
}


.tml-wwd2-intro-title h2 em {
    display: block;

    color:
        var(--wwd2-gold-dark);

    font-style: italic;
}


.tml-wwd2-intro-copy p {
    margin:
        0 0 18px;

    color:
        var(--wwd2-muted);

    font-size: 15px;
    text-align: justify;

    line-height: 1.85;
}


.tml-wwd2-intro-statement {
    padding:
        26px 23px;

    border-left:
        2px solid
        var(--wwd2-gold);

    background:
        var(--wwd2-cream);
}


.tml-wwd2-intro-statement > span {
    color:
        var(--wwd2-gold);

    font-family:
        Georgia,
        serif;

    font-size: 48px;

    line-height: .7;
}


.tml-wwd2-intro-statement p {
    margin:
        15px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size: 18px;

    line-height: 1.55;
}


/* =========================================================
   SERVICES
========================================================= */

.tml-wwd2-services {
    padding:
        115px 0;

    background:
        #f4f0e9;
}


.tml-wwd2-services-head {
    display: grid;

    grid-template-columns:
        1fr .7fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 54px;
}


.tml-wwd2-services-head h2 {
    margin:
        14px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(42px,4.2vw,61px);

    font-weight: 500;

    line-height: 1.05;
}


.tml-wwd2-services-head h2 em {
    display: block;

    color:
        var(--wwd2-gold-dark);

    font-style: italic;
}


.tml-wwd2-services-head > p {
    margin: 0;

    color:
        var(--wwd2-muted);

    font-size: 12px;

    line-height: 1.8;
}


/* =========================================================
   SERVICE GRID
========================================================= */

.tml-wwd2-service-grid {
    display: grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    grid-auto-flow: dense;

    gap: 18px;
}


.tml-wwd2-card {
    position: relative;

    min-height: 330px;

    display: flex;

    flex-direction: column;

    overflow: hidden;

    padding:
        25px;

    border:
        1px solid
        rgba(16,28,42,.08);

    border-radius:
        20px 20px 52px 20px;

    color:
        var(--wwd2-text);

    text-decoration: none;

    background:
        #fff;

    box-shadow:
        0 12px 35px
        rgba(16,28,42,.045);

    transition:
        transform .42s cubic-bezier(.22,1,.36,1),
        box-shadow .4s ease,
        border-color .35s ease;
}


.tml-wwd2-card::after {
    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    right: -100px;
    bottom: -110px;

    border-radius: 50%;

    border:
        1px solid
        currentColor;

    opacity: .11;

    transition:
        transform .45s ease;
}


.tml-wwd2-card:hover {
    transform:
        translateY(-8px);

    border-color:
        rgba(16,28,42,.14);

    box-shadow:
        0 26px 58px
        rgba(16,28,42,.10);
}


.tml-wwd2-card:hover::after {
    transform:
        scale(1.35);
}


.tml-wwd2-card-large {
    grid-column:
        span 2;

    min-height: 350px;
}


.tml-wwd2-card-wide {
    grid-column:
        span 2;
}


.tml-wwd2-card-tall {
    grid-row:
        span 2;

    min-height: 678px;
}


/* CARD COLOR ACCENTS */

.tml-wwd2-card-warm {
    background:
        linear-gradient(
            145deg,
            #fff,
            #fbf3e5
        );
}


.tml-wwd2-card-blue {
    background:
        linear-gradient(
            145deg,
            #fff,
            #eef4fa
        );
}


.tml-wwd2-card-green {
    background:
        linear-gradient(
            145deg,
            #fff,
            #edf5f0
        );
}


.tml-wwd2-card-gold {
    background:
        linear-gradient(
            145deg,
            #fff,
            #f7f0de
        );
}


.tml-wwd2-card-rose {
    background:
        linear-gradient(
            145deg,
            #fff,
            #f9eeee
        );
}


.tml-wwd2-card-rust {
    background:
        linear-gradient(
            145deg,
            #fff,
            #f7eee8
        );
}


.tml-wwd2-card-purple {
    background:
        linear-gradient(
            145deg,
            #fff,
            #f2eef8
        );
}


.tml-wwd2-card-dark {
    color: #fff;

    border-color:
        rgba(255,255,255,.08);

    background:
        linear-gradient(
            145deg,
            #192c40,
            #0f1c2a
        );
}


.tml-wwd2-card-dark
.tml-wwd2-card-body h3,
.tml-wwd2-card-dark
.tml-wwd2-card-footer {
    color: #fff;
}


.tml-wwd2-card-dark
.tml-wwd2-card-body p {
    color:
        rgba(255,255,255,.55);
}


.tml-wwd2-card-dark
.tml-wwd2-card-no {
    color:
        rgba(255,255,255,.27);
}


/* TOP */

.tml-wwd2-card-top {
    display: flex;

    align-items: center;
    justify-content: space-between;
}


.tml-wwd2-card-no {
    color:
        rgba(16,28,42,.24);

    font-family:
        Georgia,
        serif;

    font-size: 18px;
}


.tml-wwd2-card-icon {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(168,118,39,.22);

    border-radius:
        14px;

    background:
        rgba(200,154,72,.08);

    color:
        var(--wwd2-gold-dark);

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}


.tml-wwd2-card:hover
.tml-wwd2-card-icon {
    transform:
        rotate(-6deg)
        scale(1.08);

    color: #fff;

    background:
        var(--wwd2-gold-dark);
}


.tml-wwd2-card-icon svg {
    width: 23px;
    height: 23px;

    fill: none;

    stroke:
        currentColor;

    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* BODY */

.tml-wwd2-card-body {
    margin-top: 42px;
}


.tml-wwd2-card-tall
.tml-wwd2-card-body {
    margin-top: auto;

    margin-bottom: 60px;
}


.tml-wwd2-card-body > span {
    color:
        var(--wwd2-gold-dark);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.tml-wwd2-card-body h3 {
    margin:
        8px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size: 26px;

    font-weight: 500;

    line-height: 1.15;
}


.tml-wwd2-card-body p {
    max-width: 700px;

    margin:
        14px 0 0;

    color:
        var(--wwd2-muted);

    font-size: 12px;

    line-height: 1.75;
}


.tml-wwd2-card-footer {
    position: relative;
    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-top: auto;

    padding-top: 26px;

    color:
        var(--wwd2-navy);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: .05em;

    text-transform: uppercase;
}


.tml-wwd2-card-footer i {
    font-size: 17px;

    font-style: normal;

    transition:
        transform .3s ease;
}


.tml-wwd2-card:hover
.tml-wwd2-card-footer i {
    transform:
        translate(4px,-4px);
}


/* =========================================================
   APPROACH
========================================================= */

.tml-wwd2-approach {
    padding:
        115px 0;

    background: #fff;
}


.tml-wwd2-approach-head {
    max-width: 760px;
}


.tml-wwd2-approach-head h2 {
    margin:
        14px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(42px,4vw,58px);

    font-weight: 500;

    line-height: 1.06;
}


.tml-wwd2-approach-head h2 em {
    color:
        var(--wwd2-gold-dark);

    font-style: italic;
}


.tml-wwd2-approach-head p {
    margin:
        21px 0 0;

    color:
        var(--wwd2-muted);

    font-size: 12px;

    line-height: 1.8;
}


/* HORIZONTAL STEP RIBBON */

.tml-wwd2-approach-track {
    display: grid;

    grid-template-columns:
        repeat(5,minmax(0,1fr));

    margin-top: 60px;

    border-top:
        1px solid
        var(--wwd2-border);

    border-bottom:
        1px solid
        var(--wwd2-border);
}


.tml-wwd2-approach-step {
    position: relative;

    min-height: 350px;

    padding:
        29px 24px;

    border-right:
        1px solid
        var(--wwd2-border);

    transition:
        background .35s ease,
        transform .35s ease;
}


.tml-wwd2-approach-step:last-child {
    border-right: 0;
}


.tml-wwd2-approach-step:hover {
    z-index: 2;

    transform:
        translateY(-6px);

    background:
        var(--wwd2-cream);
}


.tml-wwd2-approach-step > span {
    color:
        var(--wwd2-gold);

    font-family:
        Georgia,
        serif;

    font-size: 22px;
}


.tml-wwd2-approach-step h3 {
    margin:
        40px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;

    line-height: 1.3;
}


.tml-wwd2-approach-step p {
    margin:
        14px 0 0;

    color:
        var(--wwd2-muted);

    font-size: 12px;

    line-height: 1.78;
}


/* =========================================================
   WHO WE HELP
========================================================= */

.tml-wwd2-who {
    position: relative;

    padding:
        110px 0;

    overflow: hidden;

    background:
        #0e1b29;
}


.tml-wwd2-who-orbit {
    position: absolute;

    width: 700px;
    height: 700px;

    left: -360px;
    top: -260px;

    border:
        1px solid
        rgba(201,154,72,.09);

    border-radius: 50%;

    box-shadow:
        0 0 0 110px
        rgba(201,154,72,.018);
}


.tml-wwd2-who-grid {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        .75fr 1.25fr;

    gap: 90px;

    align-items: start;
}


.tml-wwd2-who-copy {
    position: sticky;

    top: 120px;
}


.tml-wwd2-who-copy h2 {
    margin:
        15px 0 0;

    color: white !important;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(42px,4.2vw,61px);

    font-weight: 500;

    line-height: 1.05;
}


.tml-wwd2-who-copy h2 em {
    display: block;

    color:
        #e2bc72;

    font-style: italic;
}


.tml-wwd2-who-copy p {
    margin:
        23px 0 0;

    color:
        rgba(255,255,255,.48);

    font-size: 12px;

    line-height: 1.8;
}


.tml-wwd2-who-list {
    border-top:
        1px solid
        rgba(255,255,255,.11);
}


.tml-wwd2-who-item {
    display: grid;

    grid-template-columns:
        65px
        1fr;

    gap: 24px;

    padding:
        31px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.11);

    transition:
        padding-left .3s ease;
}


.tml-wwd2-who-item:hover {
    padding-left: 13px;
}


.tml-wwd2-who-item > span {
    color:
        #e2bc72;

    font-family:
        Georgia,
        serif;

    font-size: 18px;
}


.tml-wwd2-who-item h3 {
    margin: 0;

    color: white !important;

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;
}


.tml-wwd2-who-item p {
    max-width: 650px;

    margin:
        9px 0 0;

    color:
        rgba(255,255,255,.46);

    font-size: 11px;

    line-height: 1.75;
}


/* =========================================================
   FAQ - TAB/STAGE DESIGN
========================================================= */

.tml-wwd2-faq {
    padding:
        115px 0;

    background:
        #f7f4ee;
}


.tml-wwd2-faq-head {
    display: grid;

    grid-template-columns:
        1fr .45fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 52px;
}


.tml-wwd2-faq-head h2 {
    max-width: 760px;

    margin:
        14px 0 0;

    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(42px,4.2vw,60px);

    font-weight: 500;

    line-height: 1.06;
}


.tml-wwd2-faq-head h2 em {
    display: block;

    color:
        var(--wwd2-gold-dark);

    font-style: italic;
}


.tml-wwd2-faq-head > p {
    margin: 0;

    color:
        var(--wwd2-muted);

    font-size: 13px;
}


/* FAQ GRID */

.tml-wwd2-faq-grid {
    display: grid;

    grid-template-columns:
        .85fr 1.15fr;

    gap: 24px;

    align-items: stretch;
}


/* QUESTION NAV */

.tml-wwd2-faq-nav {
    border:
        1px solid
        var(--wwd2-border);

    border-radius:
        20px;

    overflow: hidden;

    background: #fff;
}


.tml-wwd2-faq-tab {
    width: 100%;

    min-height: 78px;

    display: grid;

    grid-template-columns:
        36px
        1fr
        26px;

    gap: 12px;

    align-items: center;

    padding:
        14px 18px;

    border: 0;

    border-bottom:
        1px solid
        var(--wwd2-border);

    background:
        transparent;

    text-align: left;

    cursor: pointer;

    transition:
        background .25s ease,
        color .25s ease;
}


.tml-wwd2-faq-tab:last-child {
    border-bottom: 0;
}


.tml-wwd2-faq-tab > span {
    color:
        var(--wwd2-gold-dark);

    font-family:
        Georgia,
        serif;

    font-size: 13px;
}


.tml-wwd2-faq-tab strong {
    color:
        var(--wwd2-navy);

    font-family:
        Georgia,
        serif;

    font-size: 15px;

    font-weight: 500;

    line-height: 1.3;
}


.tml-wwd2-faq-tab i {
    color:
        var(--wwd2-gold-dark);

    font-size: 16px;

    font-style: normal;

    transition:
        transform .3s ease;
}


.tml-wwd2-faq-tab:hover,
.tml-wwd2-faq-tab.is-active {
    background:
        var(--wwd2-navy);
}


.tml-wwd2-faq-tab:hover strong,
.tml-wwd2-faq-tab.is-active strong {
    color: #fff;
}


.tml-wwd2-faq-tab:hover > span,
.tml-wwd2-faq-tab.is-active > span,
.tml-wwd2-faq-tab:hover i,
.tml-wwd2-faq-tab.is-active i {
    color:
        #e2bc72;
}


.tml-wwd2-faq-tab.is-active i {
    transform:
        translateX(4px);
}


/* ANSWER STAGE */

.tml-wwd2-faq-stage {
    position: relative;

    min-height: 500px;

    overflow: hidden;

    border-radius:
        20px 20px 72px 20px;

    background:
        var(--wwd2-navy);

    box-shadow:
        0 22px 55px
        rgba(16,28,42,.12);
}


.tml-wwd2-faq-stage::after {
    content: "?";

    position: absolute;

    right: 28px;
    bottom: -80px;

    color:
        rgba(255,255,255,.025);

    font-family:
        Georgia,
        serif;

    font-size:
        320px;

    line-height: 1;
}


.tml-wwd2-faq-answer {
    position: absolute;

    inset: 0;

    z-index: 2;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding:
        55px;

    opacity: 0;

    visibility: hidden;

    transform:
        translateY(18px);

    transition:
        opacity .35s ease,
        transform .35s ease,
        visibility .35s ease;
}


.tml-wwd2-faq-answer.is-active {
    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);
}


.tml-wwd2-faq-answer > span {
    color:
        #e2bc72;

    font-family:
        Georgia,
        serif;

    font-size: 18px;
}


.tml-wwd2-faq-answer h3 {
    max-width: 650px;

    margin:
        20px 0 0;

    color: white !important;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(28px,3vw,42px);

    font-weight: 500;

    line-height: 1.15;
}


.tml-wwd2-faq-answer p {
    max-width: 700px;

    margin:
        23px 0 0;

    color:
        rgba(255,255,255,.58);

    font-size: 13px;

    line-height: 1.85;
}


/* =========================================================
   REVEAL
========================================================= */

.tml-wwd2-reveal {
    opacity: 0;

    transform:
        translateY(25px);

    transition:
        opacity .75s ease,
        transform .75s
        cubic-bezier(.22,1,.36,1);
}


.tml-wwd2-reveal.is-visible {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .tml-wwd2-hero-grid {
        grid-template-columns: 1fr;
    }


    .tml-wwd2-compass {
        justify-self: start;

        transform:
            scale(.88);

        transform-origin:
            left top;
    }


    .tml-wwd2-intro-grid {
        grid-template-columns:
            1fr 1fr;
    }


    .tml-wwd2-intro-statement {
        grid-column:
            1 / -1;
    }


    .tml-wwd2-services-head {
        grid-template-columns: 1fr;

        gap: 24px;
    }


    .tml-wwd2-service-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .tml-wwd2-card-large,
    .tml-wwd2-card-wide {
        grid-column:
            span 1;
    }


    .tml-wwd2-card-tall {
        grid-row:
            span 1;

        min-height: 330px;
    }


    .tml-wwd2-card-tall
    .tml-wwd2-card-body {
        margin-top: 42px;
        margin-bottom: 0;
    }


    .tml-wwd2-approach-track {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .tml-wwd2-approach-step {
        border-bottom:
            1px solid
            var(--wwd2-border);
    }


    .tml-wwd2-who-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }


    .tml-wwd2-who-copy {
        position: static;
    }


    .tml-wwd2-faq-grid {
        grid-template-columns: 1fr;
    }


    .tml-wwd2-faq-stage {
        min-height: 430px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 720px) {

    .tml-wwd2-hero {
        min-height: 660px;

        background-position:
            62% center;
    }


    .tml-wwd2-hero-grid {
        min-height: auto;

        padding-top: 70px;
    }


    .tml-wwd2-hero-copy h1 {
        font-size:
            clamp(48px,13vw,65px);
    }


    .tml-wwd2-hero-actions {
        flex-direction: column;
    }


    .tml-wwd2-btn {
        width: 100%;
    }


    .tml-wwd2-compass {
        display: none;
    }


    .tml-wwd2-trust-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }


    .tml-wwd2-trust-grid > div:nth-child(2) {
        border-right: 0;
    }


    .tml-wwd2-trust-grid > div:nth-child(-n+2) {
        border-bottom:
            1px solid
            var(--wwd2-border);
    }


    .tml-wwd2-intro,
    .tml-wwd2-services,
    .tml-wwd2-approach,
    .tml-wwd2-who,
    .tml-wwd2-faq {
        padding:
            75px 0;
    }


    .tml-wwd2-intro-grid {
        grid-template-columns: 1fr;

        gap: 36px;
    }


    .tml-wwd2-intro-statement {
        grid-column: auto;
    }


    .tml-wwd2-service-grid {
        grid-template-columns: 1fr;
    }


    .tml-wwd2-card,
    .tml-wwd2-card-large,
    .tml-wwd2-card-wide,
    .tml-wwd2-card-tall {
        grid-column: auto;
        grid-row: auto;

        min-height: 315px;
    }


    .tml-wwd2-approach-track {
        display: flex;

        gap: 14px;

        overflow-x: auto;

        padding-bottom: 18px;

        border: 0;

        scroll-snap-type:
            x mandatory;

        scrollbar-width: none;
    }


    .tml-wwd2-approach-track::-webkit-scrollbar {
        display: none;
    }


    .tml-wwd2-approach-step {
        min-width: 270px;

        min-height: 340px;

        border:
            1px solid
            var(--wwd2-border);

        border-radius:
            18px;

        scroll-snap-align: start;
    }


    .tml-wwd2-who-item {
        grid-template-columns:
            45px 1fr;

        gap: 15px;
    }


    .tml-wwd2-faq-head {
        grid-template-columns: 1fr;

        gap: 20px;
    }


    .tml-wwd2-faq-stage {
        min-height: 475px;

        border-radius:
            18px 18px 50px 18px;
    }


    .tml-wwd2-faq-answer {
        padding:
            34px 24px;
    }


    .tml-wwd2-faq-tab {
        grid-template-columns:
            30px 1fr 22px;

        padding:
            13px 14px;
    }


    .tml-wwd2-faq-tab strong {
        font-size: 14px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .tml-wwd2-reveal {
        opacity: 1;

        transform: none;

        transition: none;
    }


    .tml-wwd2-card,
    .tml-wwd2-approach-step,
    .tml-wwd2-who-item {
        transition: none;
    }

}