/* ==========================================================================
   Professional Service Businesses Industry Page (ps-page)
   Same brand palette/type as the rest of the site
   (navy / gold / white, from variables.css) — its
   own layout language lives here, isolated from
   css/industry-page.css and the other industry pages
   so no other page is touched.

   Signature motif for this page: a small corner-bracket
   "crop mark" eyebrow tag (.ps-tag), standing in for the
   gold line-flourish used elsewhere — a nod to drafting /
   blueprint marks, fitting an engineer/consultant/architect
   audience.
   ========================================================================== */

.ps-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--color-gold);

    letter-spacing:2.4px;

    font-size:.78rem;

    font-weight:700;

    text-transform:uppercase;

    margin-bottom:22px;

}
.ps-tag i{

    display:block;

    width:9px;

    height:9px;

    border-top:2px solid currentColor;

    border-left:2px solid currentColor;

}
.ps-tag i:last-child{

    border-top:none;

    border-left:none;

    border-bottom:2px solid currentColor;

    border-right:2px solid currentColor;

}
.ps-queries .ps-tag,
.ps-ai .ps-tag,
.ps-why .ps-tag{

    color:var(--color-gold);

}

/* ==========================================
   01 — HERO
   Full-bleed photo, centered vignette copy, a
   faint blueprint grid fading in and out over the
   image in place of the usual gleam sweep.
========================================== */

.ps-hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    padding-top:120px;

}
.ps-hero__media{

    position:absolute;

    inset:-5%;

    z-index:0;

}
.ps-hero__media img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center 38%;

    animation:psHeroZoom 38s ease-in-out infinite alternate;

    will-change:transform;

}
.ps-hero__scrim{

    position:absolute;

    inset:0;

    z-index:0;

    background:

        radial-gradient(ellipse 62% 56% at 50% 38%, rgba(8,21,45,.86) 0%, rgba(8,21,45,.34) 62%, rgba(8,21,45,0) 100%),

        linear-gradient(180deg, rgba(8,21,45,.6) 0%, rgba(8,21,45,.12) 26%, rgba(8,21,45,.14) 66%, rgba(8,21,45,.7) 100%);

}
.ps-hero__blueprint{

    position:absolute;

    inset:0;

    z-index:0;

    pointer-events:none;

    opacity:0;

    background-image:

        repeating-linear-gradient(0deg, rgba(216,177,75,.16) 0 1px, transparent 1px 64px),

        repeating-linear-gradient(90deg, rgba(216,177,75,.16) 0 1px, transparent 1px 64px);

    animation:psBlueprintFade 10s ease-in-out infinite;

}
.ps-hero__grain{

    position:absolute;

    inset:0;

    z-index:0;

    opacity:.05;

    mix-blend-mode:overlay;

    pointer-events:none;

    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='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

}
.ps-hero__inner{

    position:relative;

    z-index:1;

    text-align:center;

    margin-top:-150px;

    transform:translateX(-4%);

}
.ps-hero__copy{

    max-width:840px;

    margin:0 auto;

}
.ps-hero__copy h1{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2.3rem, 4.2vw, 3.6rem);

    line-height:1.24;

    letter-spacing:-.5px;

    color:var(--color-white);

    text-shadow:0 10px 34px rgba(0,0,0,.55);

    margin-bottom:26px;

}
.ps-hero__copy h1 em{

    font-style:italic;

    color:var(--color-gold);

}
.ps-hero__lede{

    font-size:1.1rem;

    line-height:1.8;

    color:var(--color-text);

    text-shadow:0 4px 18px rgba(0,0,0,.5);

    max-width:680px;

    margin:0 auto 22px;

}
.ps-hero__punch{

    font-family:var(--font-heading);

    font-style:italic;

    font-weight:600;

    font-size:1.35rem;

    line-height:1.5;

    color:var(--color-gold-hover);

    text-shadow:0 4px 18px rgba(0,0,0,.5);

    max-width:600px;

    margin:0 auto 38px;

}
.ps-hero .hero__buttons{

    justify-content:center;

}
.ps-tag,
.ps-hero__copy h1,
.ps-hero__lede,
.ps-hero__punch,
.ps-hero .hero__buttons{

    opacity:0;

    animation:psHeroFadeUp .85s cubic-bezier(.22,.68,0,1) forwards;

}
.ps-hero__copy .ps-tag{ animation-delay:.15s; }
.ps-hero__copy h1{ animation-delay:.32s; }
.ps-hero__lede{ animation-delay:.5s; }
.ps-hero__punch{ animation-delay:.64s; }
.ps-hero .hero__buttons{ animation-delay:.78s; }

.ps-hero__scrollcue{

    position:absolute;

    left:50%;

    bottom:32px;

    z-index:1;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:8px;

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

    font-size:.68rem;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    transform:translateX(-50%);

    opacity:0;

    animation:psHeroFadeUp .8s cubic-bezier(.22,.68,0,1) forwards;

    animation-delay:1.05s;

}
.ps-hero__scrollcue svg{

    width:16px;

    height:16px;

    animation:psHeroBob 2.2s ease-in-out infinite;

}
@keyframes psHeroZoom{

    from{ transform:scale(1); }

    to{ transform:scale(1.08); }

}
@keyframes psBlueprintFade{

    0%, 100%{ opacity:0; }

    45%, 65%{ opacity:1; }

}
@keyframes psHeroFadeUp{

    from{ opacity:0; transform:translateY(20px); }

    to{ opacity:1; transform:translateY(0); }

}
@keyframes psHeroBob{

    0%, 100%{ transform:translateY(0); }

    50%{ transform:translateY(6px); }

}

/* ==========================================
   02 — THE REFERRAL ISN'T THE END OF THE SALE
   Navy. Stacked, slightly-rotated quote chips on
   the left; the "then what happens" sequence runs
   down the right on a gold connector line.
========================================== */

.ps-referral{

    background:var(--color-background);

    padding:var(--space-3xl) 0;

}
.ps-referral__head{

    max-width:760px;

    margin:0 auto 54px;

    text-align:center;

}
.ps-referral__head h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2rem, 3.2vw, 2.6rem);

    line-height:1.3;

    letter-spacing:-.5px;

    color:var(--color-white);

}
.ps-referral__head p{

    margin-top:18px;

    font-size:1.08rem;

    color:var(--color-text);

}
.ps-referral__grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}
.ps-referral__quotes{

    display:flex;

    flex-direction:column;

    gap:16px;

}
.ps-referral__quote{

    background:var(--color-card);

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

    border-radius:var(--radius-md);

    box-shadow:0 14px 30px rgba(0,0,0,.22);

    padding:18px 24px;

    font-family:var(--font-heading);

    font-style:italic;

    font-size:1.15rem;

    color:var(--color-white);

    max-width:400px;

}
.ps-referral__quote--1{ transform:rotate(-1.4deg); }
.ps-referral__quote--2{ transform:rotate(1deg); margin-left:24px; }
.ps-referral__quote--3{ transform:rotate(-.8deg); }
.ps-referral__then{

    margin-top:6px;

    font-weight:700;

    color:var(--color-gold);

}
.ps-referral__sequence ol{

    list-style:none;

    position:relative;

    padding-left:26px;

    margin:0;

}
.ps-referral__sequence ol::before{

    content:"";

    position:absolute;

    left:3px;

    top:8px;

    bottom:8px;

    width:1px;

    background:rgba(216,177,75,.3);

}
.ps-referral__sequence li{

    position:relative;

    padding:9px 0;

    font-size:1.05rem;

    color:var(--color-text);

}
.ps-referral__sequence li::before{

    content:"";

    position:absolute;

    left:-26px;

    top:18px;

    width:7px;

    height:7px;

    border-radius:50%;

    background:var(--color-gold);

}
.ps-referral__trust{

    margin:24px 0 0 26px;

    padding-left:20px;

    border-left:3px solid var(--color-gold);

    font-family:var(--font-heading);

    font-style:italic;

    font-weight:600;

    font-size:1.3rem;

    color:var(--color-white);

}
.ps-referral__close{

    max-width:760px;

    margin:56px auto 0;

    text-align:center;

    font-size:1.15rem;

    line-height:1.7;

    color:var(--color-text);

}
.ps-referral__close em{

    font-style:italic;

    color:var(--color-white);

    font-weight:600;

}

/* ==========================================
   03 — PEOPLE SEARCH FOR EXPERTISE
   White. Photo + query examples, then a full-width
   "communicate more than your name" strip.
========================================== */

.ps-queries{

    background:var(--color-white);

    padding:var(--space-3xl) 0 0;

}
.ps-queries__grid{

    display:grid;

    grid-template-columns:1fr 1.15fr;

    gap:64px;

    align-items:center;

}
.ps-queries__media{

    border-radius:var(--radius-lg);

    overflow:hidden;

    box-shadow:var(--shadow-card);

    aspect-ratio:4/3;

}
.ps-queries__media img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:psMediaZoom 24s ease-in-out infinite alternate;

    will-change:transform;

}
.ps-queries__col h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2rem, 3.2vw, 2.6rem);

    line-height:1.3;

    letter-spacing:-.5px;

    color:var(--color-background);

    margin-bottom:30px;

}
.ps-queries__list{

    display:flex;

    flex-direction:column;

    gap:18px;

}
.ps-queries__item{

    display:flex;

    align-items:flex-start;

    gap:14px;

}
.ps-queries__item svg{

    flex:none;

    width:34px;

    height:34px;

    padding:8px;

    box-sizing:border-box;

    border-radius:50%;

    background:rgba(8,21,45,.05);

    color:var(--color-gold);

}
.ps-queries__item p{

    font-size:1.02rem;

    line-height:1.6;

    color:rgba(8,21,45,.78);

    font-style:italic;

}
.ps-queries__item p span{

    display:block;

    margin-top:2px;

    font-size:.86rem;

    font-style:normal;

    font-weight:600;

    color:rgba(8,21,45,.45);

}
.ps-queries__note{

    margin-top:26px;

    font-size:1.02rem;

    color:rgba(8,21,45,.6);

}
.ps-queries__communicate{

    max-width:800px;

    margin:64px auto 0;

    padding:50px 0;

    border-top:1px solid rgba(8,21,45,.08);

    text-align:center;

}
.ps-queries__communicate-lede{

    font-size:1.15rem;

    color:rgba(8,21,45,.7);

    margin-bottom:26px;

}
.ps-queries__communicate-lede s{

    color:rgba(8,21,45,.35);

}
.ps-queries__pills{

    position:relative;

    height:76px;

    max-width:640px;

    margin:0 auto;

}
.ps-queries__pills span{

    position:absolute;

    top:50%;

    left:50%;

    white-space:nowrap;

    background:rgba(8,21,45,.04);

    border:1px solid rgba(8,21,45,.1);

    border-radius:var(--radius-pill);

    padding:10px 20px;

    font-size:.94rem;

    font-weight:600;

    color:var(--color-background);

    opacity:0;

    animation:psPillCycle 20s ease-in-out infinite;

    animation-fill-mode:backwards;

}
.ps-queries__pills:hover span{

    animation-play-state:paused;

}
.ps-queries__pills span:nth-child(1){ animation-delay:0s; }
.ps-queries__pills span:nth-child(2){ animation-delay:4s; }
.ps-queries__pills span:nth-child(3){ animation-delay:8s; }
.ps-queries__pills span:nth-child(4){ animation-delay:12s; }
.ps-queries__pills span:nth-child(5){ animation-delay:16s; }

@keyframes psPillCycle{

    0%{ opacity:0; transform:translate(-50%,-50%) translateX(-26px) scale(.9); }

    6%{ opacity:1; transform:translate(-50%,-50%) translateX(0) scale(1); }

    12%{ opacity:1; transform:translate(-50%,-50%) translateX(0) scale(1.16); }

    17%{ opacity:1; transform:translate(-50%,-50%) translateX(0) scale(1.16); color:var(--color-gold-hover); }

    20%{ opacity:0; transform:translate(-50%,-50%) translateX(26px) scale(.9); }

    100%{ opacity:0; }

}

/* ==========================================
   04 — EXPERTISE, MADE TANGIBLE
   Navy. Two columns instead of a tall stack: the
   Meticulous Expertise / Tangible Results diptych
   on the left, headline + "generic claim vs.
   evidence" contrast on the right.
========================================== */

.ps-tangible{

    background:var(--color-background);

    padding:var(--space-2xl) 0;

}
.ps-tangible__row{

    display:grid;

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

    gap:56px;

    align-items:center;

}
.ps-tangible__media{

    border-radius:var(--radius-lg);

    overflow:hidden;

    box-shadow:var(--shadow-card);

    border:1px solid rgba(216,177,75,.2);

    aspect-ratio:1/1;

}
.ps-tangible__media img{

    width:100%;

    height:100%;

    object-fit:cover;

}
.ps-tangible__col h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(1.9rem, 2.8vw, 2.4rem);

    line-height:1.3;

    letter-spacing:-.5px;

    color:var(--color-white);

}
.ps-tangible__col h2 em{

    font-style:italic;

    color:var(--color-gold);

}
.ps-tangible__col > p{

    margin-top:16px;

    font-size:1rem;

    line-height:1.75;

    color:var(--color-text);

}
.ps-tangible__contrast{

    margin-top:26px;

    padding:22px 24px;

    background:rgba(255,255,255,.03);

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

    border-radius:var(--radius-md);

}
.ps-tangible__old-label{

    display:block;

    font-size:.74rem;

    font-weight:700;

    letter-spacing:1.2px;

    text-transform:uppercase;

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

    margin-bottom:8px;

}
.ps-tangible__old p{

    font-style:italic;

    font-size:.98rem;

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

    text-decoration:line-through;

    text-decoration-color:rgba(255,255,255,.3);

}
.ps-tangible__arrow{

    width:18px;

    height:18px;

    margin:14px 0;

    color:var(--color-gold);

}
.ps-tangible__evidence-label{

    display:block;

    font-size:.74rem;

    font-weight:700;

    letter-spacing:1.2px;

    text-transform:uppercase;

    color:var(--color-gold);

    margin-bottom:12px;

}
.ps-tangible__tags{

    display:grid;

    grid-template-columns:repeat(4, auto);

    justify-content:start;

    gap:8px;

}
.ps-tangible__tags span{

    background:rgba(216,177,75,.1);

    border:1px solid rgba(216,177,75,.3);

    border-radius:var(--radius-pill);

    padding:7px 14px;

    font-size:.84rem;

    font-weight:600;

    color:var(--color-gold-hover);

}
.ps-tangible__close{

    margin-top:26px;

    padding-left:20px;

    border-left:3px solid var(--color-gold);

    font-family:var(--font-heading);

    font-weight:600;

    font-style:italic;

    font-size:1.5rem;

    line-height:1.42;

    color:var(--color-white);

}
.ps-tangible__close em{

    font-style:italic;

    color:var(--color-gold);

}

/* ==========================================
   05 — SEO + AI SEARCH
   White. AI conversation bubbles on the right,
   the closing line gets the gold shine treatment.
========================================== */

.ps-ai{

    background:var(--color-white);

    padding:var(--space-3xl) 0;

}
.ps-ai__grid{

    display:grid;

    grid-template-columns:2fr 3fr;

    gap:64px;

    align-items:start;

}
.ps-ai__grid .ps-ai__col{

    min-width:0;

}
.ps-ai__grid .ps-ai__col:first-child h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2rem, 3.2vw, 2.6rem);

    line-height:1.3;

    letter-spacing:-.5px;

    color:var(--color-background);

}
.ps-ai__grid .ps-ai__col:first-child p{

    margin-top:18px;

    font-size:1.06rem;

    line-height:1.8;

    color:rgba(8,21,45,.68);

}
.ps-ai__bubble{

    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:center;

    background:rgba(8,21,45,.03);

    border:1px solid rgba(8,21,45,.09);

    border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 4px;

    padding:22px 26px;

    min-height:230px;

    overflow:hidden;

}
.ps-ai__bubble + .ps-ai__bubble{

    margin-top:16px;

}
.ps-ai__bubble-tag{

    display:inline-block;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:1.2px;

    text-transform:uppercase;

    color:var(--color-gold);

    margin-bottom:10px;

}
.ps-ai__bubble p{

    font-family:var(--font-heading);

    font-style:italic;

    font-size:1.08rem;

    line-height:1.55;

    color:var(--color-background);

}
.ps-ai__typed{

    overflow:hidden;

}
.ps-ai__typed--a{

    animation:psAiTypeA 9s ease-out infinite;

}
.ps-ai__typed--b{

    animation:psAiTypeB 7s ease-out infinite;

    animation-delay:.5s;

}
.ps-ai__typed--c{

    animation:psAiTypeC 6s ease-out infinite;

    animation-delay:1s;

}
.ps-ai__match{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:14px;

    padding:6px 13px;

    background:rgba(76,217,123,.12);

    border:1px solid rgba(76,217,123,.35);

    border-radius:var(--radius-pill);

    color:#2E9E5B;

    font-size:.8rem;

    font-weight:700;

    opacity:0;

    transform:translateY(6px);

}
.ps-ai__match svg{

    flex:none;

    width:13px;

    height:13px;

}
.ps-ai__match--a{

    animation:psAiMatchA 9s ease infinite;

}
.ps-ai__match--b{

    animation:psAiMatchB 7s ease infinite;

    animation-delay:.5s;

}
.ps-ai__match--c{

    animation:psAiMatchC 6s ease infinite;

    animation-delay:1s;

}
@keyframes psAiTypeA{

    0%{ max-height:0; opacity:1; }

    48%{ max-height:300px; opacity:1; }

    88%{ max-height:300px; opacity:1; }

    96%{ max-height:300px; opacity:0; }

    100%{ max-height:0; opacity:0; }

}
@keyframes psAiTypeB{

    0%{ max-height:0; opacity:1; }

    43%{ max-height:300px; opacity:1; }

    88%{ max-height:300px; opacity:1; }

    96%{ max-height:300px; opacity:0; }

    100%{ max-height:0; opacity:0; }

}
@keyframes psAiTypeC{

    0%{ max-height:0; opacity:1; }

    37%{ max-height:300px; opacity:1; }

    88%{ max-height:300px; opacity:1; }

    96%{ max-height:300px; opacity:0; }

    100%{ max-height:0; opacity:0; }

}
@keyframes psAiMatchA{

    0%, 43%{ opacity:0; transform:translateY(6px); }

    49%{ opacity:1; transform:translateY(0); }

    88%{ opacity:1; transform:translateY(0); }

    96%, 100%{ opacity:0; transform:translateY(6px); }

}
@keyframes psAiMatchB{

    0%, 38%{ opacity:0; transform:translateY(6px); }

    44%{ opacity:1; transform:translateY(0); }

    88%{ opacity:1; transform:translateY(0); }

    96%, 100%{ opacity:0; transform:translateY(6px); }

}
@keyframes psAiMatchC{

    0%, 32%{ opacity:0; transform:translateY(6px); }

    38%{ opacity:1; transform:translateY(0); }

    88%{ opacity:1; transform:translateY(0); }

    96%, 100%{ opacity:0; transform:translateY(6px); }

}
.ps-ai__lede{

    margin-top:22px;

    font-size:1.02rem;

    line-height:1.8;

    color:rgba(8,21,45,.68);

}
.ps-ai__shine{

    margin-top:22px;

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(1.45rem, 2.3vw, 1.85rem);

    line-height:1.4;

    color:var(--color-background);

}
.ps-ai__shine em{

    font-style:italic;

    background-image:linear-gradient(100deg, var(--color-gold) 20%, #fbe8b0 40%, var(--color-gold) 60%);

    background-size:220% 100%;

    -webkit-background-clip:text;

    background-clip:text;

    color:transparent;

    animation:psShine 5s linear infinite;

}
@keyframes psShine{

    0%{ background-position:220% 0; }

    100%{ background-position:-220% 0; }

}

/* ==========================================
   06 — STOP HIDING YOUR BEST WORK
   Navy. Two columns like the sections around it,
   but the pull-quote is pulled out of the text
   flow entirely and floats as a glass panel
   overlapping the bottom of the photo — the
   layered-card treatment is what sets this section
   apart, not a different grid shape.
========================================== */

.ps-portfolio{

    background:var(--color-background);

    padding:var(--space-3xl) 0;

}
.ps-portfolio__grid{

    display:grid;

    grid-template-columns:1fr 1.05fr;

    gap:64px;

    align-items:center;

}
.ps-portfolio__media{

    position:relative;

    padding-bottom:56px;

}
.ps-portfolio__frame{

    border-radius:var(--radius-lg);

    overflow:hidden;

    box-shadow:var(--shadow-card);

    aspect-ratio:4/3;

}
.ps-portfolio__frame img{

    width:100%;

    height:100%;

    object-fit:cover;

    animation:psMediaZoom 26s ease-in-out infinite alternate;

    will-change:transform;

}
@keyframes psMediaZoom{

    from{ transform:scale(1); }

    to{ transform:scale(1.07); }

}
.ps-portfolio__quote{

    position:absolute;

    left:28px;

    right:28px;

    bottom:0;

    background:rgba(17,32,64,.82);

    backdrop-filter:blur(10px);

    -webkit-backdrop-filter:blur(10px);

    border:1px solid rgba(216,177,75,.28);

    border-radius:var(--radius-md);

    box-shadow:0 20px 40px rgba(0,0,0,.35);

    padding:20px 24px;

    font-family:var(--font-heading);

    font-style:italic;

    font-weight:600;

    font-size:1.15rem;

    line-height:1.5;

    color:var(--color-white);

}
.ps-portfolio__quote em{

    font-style:italic;

    color:var(--color-gold);

}
.ps-portfolio__col h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2rem, 3.2vw, 2.6rem);

    line-height:1.3;

    letter-spacing:-.5px;

    color:var(--color-white);

    margin-bottom:20px;

}
.ps-portfolio__col > p{

    font-size:1.02rem;

    line-height:1.8;

    color:var(--color-text);

}
.ps-portfolio__col s{

    color:rgba(201,209,220,.5);

}
.ps-portfolio__intro{

    margin-top:22px;

    font-weight:700;

    color:var(--color-white);

}
.ps-portfolio__pills{

    display:flex;

    flex-direction:column;

    gap:13px;

    margin-top:18px;

}
.ps-portfolio__pills span{

    position:relative;

    padding-left:28px;

    font-size:1rem;

    font-weight:500;

    color:var(--color-text);

}
.ps-portfolio__pills span::before{

    content:"";

    position:absolute;

    left:2px;

    top:3px;

    width:7px;

    height:12px;

    border-right:2px solid var(--color-gold);

    border-bottom:2px solid var(--color-gold);

    transform:rotate(40deg);

}

/* ==========================================
   07 — WHY RANK YOU BIZ
   White. "You Know" vs "We Learn" panel, a
   struck-through "not a template" row, and a
   bold closing line.
========================================== */

.ps-why{

    background:var(--color-white);

    padding:var(--space-3xl) 0;

}
.ps-why__head{

    max-width:820px;

    margin:0 auto 50px;

    text-align:center;

}
.ps-why__head h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2rem, 3.4vw, 2.8rem);

    line-height:1.3;

    letter-spacing:-.5px;

    color:var(--color-background);

}
.ps-why__head h2 em{

    font-style:italic;

    color:var(--color-gold-hover);

}
.ps-why__grid{

    display:grid;

    grid-template-columns:.8fr 1.2fr;

    gap:0;

    max-width:920px;

    margin:0 auto;

    border:1px solid rgba(8,21,45,.1);

    border-radius:var(--radius-lg);

    overflow:hidden;

}
.ps-why__col{

    padding:34px 36px;

}
.ps-why__col:first-child{

    background:rgba(8,21,45,.03);

    border-right:1px solid rgba(8,21,45,.1);

}
.ps-why__col:last-child{

    background:var(--color-white);

}
.ps-why__col-label{

    display:block;

    font-size:.76rem;

    font-weight:700;

    letter-spacing:1.4px;

    text-transform:uppercase;

    color:var(--color-gold);

    margin-bottom:16px;

}
.ps-why__col ul{

    list-style:none;

}
.ps-why__col li{

    padding:8px 0;

    font-size:1.04rem;

    color:rgba(8,21,45,.7);

}
.ps-why__col p{

    font-size:1.04rem;

    line-height:1.8;

    color:rgba(8,21,45,.7);

}
.ps-why__then{

    max-width:640px;

    margin:32px auto 0;

    text-align:center;

    font-size:1.1rem;

    font-weight:600;

    color:var(--color-background);

}
.ps-why__not{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:12px;

    margin:34px auto 0;

}
.ps-why__not span{

    background:rgba(8,21,45,.03);

    border:1px solid rgba(8,21,45,.08);

    border-radius:var(--radius-pill);

    padding:9px 18px;

    font-size:.86rem;

    color:rgba(8,21,45,.4);

}
.ps-why__final{

    margin-top:34px;

    text-align:center;

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(1.5rem, 2.6vw, 2rem);

    color:var(--color-background);

}
.ps-why__final em{

    font-style:italic;

    color:var(--color-gold-hover);

}

/* ==========================================
   08 — FINAL CTA
   White, centered close, echoing the hero's
   lede + punch-line rhythm on the way out.
========================================== */

.ps-final{

    background:var(--color-background);

    padding:var(--space-3xl) 0 var(--space-lg);

}
.ps-final__inner{

    max-width:760px;

    margin:0 auto;

    text-align:center;

}
.ps-final__inner h2{

    font-family:var(--font-heading);

    font-weight:600;

    font-size:clamp(2.1rem, 3.6vw, 3rem);

    line-height:1.28;

    letter-spacing:-.5px;

    color:var(--color-white);

}
.ps-final__inner h2 em{

    font-style:italic;

    color:var(--color-gold);

}
.ps-final__inner > p{

    margin-top:24px;

    font-size:1.1rem;

    line-height:1.85;

    color:var(--color-text);

}
.ps-final__punch{

    margin-top:18px !important;

    font-family:var(--font-heading);

    font-style:italic;

    font-weight:600;

    font-size:1.3rem;

    color:var(--color-white) !important;

}
.ps-final__buttons{

    justify-content:center;

    margin-top:36px;

}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width:1000px){

    .ps-referral__grid,
    .ps-queries__grid,
    .ps-ai__grid,
    .ps-portfolio__grid,
    .ps-tangible__row{ grid-template-columns:1fr; gap:44px; }

    .ps-tangible__media{ max-width:420px; margin:0 auto; }

    .ps-tangible__tags{ grid-template-columns:repeat(2, auto); }

    .ps-why__grid{ grid-template-columns:1fr; }

    .ps-why__col:first-child{ border-right:none; border-bottom:1px solid rgba(8,21,45,.1); }

}
@media (max-width:900px){

    .ps-hero{ min-height:92vh; padding:130px 0 60px; }

    .ps-hero__scrollcue{ display:none; }

    .ps-hero__inner{ transform:none; }

}
@media (max-width:560px){

    .ps-hero{ padding:70px 0 50px; }

    .ps-referral__quote{ max-width:none; }

    .ps-referral__quote--2{ margin-left:0; }

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

    .ps-hero__media img,
    .ps-queries__media img,
    .ps-portfolio__frame img{ animation:none; }

    .ps-hero__blueprint{ animation:none; opacity:.5; }

    .ps-queries__pills{ position:static; height:auto; display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:none; }

    .ps-queries__pills span{ position:static; animation:none; opacity:1; transform:none; }

    .ps-ai__typed{ animation:none; max-height:none; opacity:1; }

    .ps-ai__match{ animation:none; opacity:1; transform:none; }

    .ps-ai__shine em{ animation:none; background:none; -webkit-text-fill-color:var(--color-gold-hover); color:var(--color-gold-hover); }

    .ps-tag,
    .ps-hero__copy h1,
    .ps-hero__lede,
    .ps-hero__punch,
    .ps-hero .hero__buttons,
    .ps-hero__scrollcue,
    .ps-hero__scrollcue svg{

        animation:none;

        opacity:1;

    }

}
