/* Approved Signature design, adapted from the full-page preview. */
:root{--ease:cubic-bezier(.22,1,.36,1)}
body{transition:background .5s,color .5s}
h1,h2,h3{text-wrap:balance}
.intro,.body-copy p{ text-wrap:pretty }
.hero{position:relative}
.hero>div{min-width:0}
.button,.signature>a,.social-links>a,.directory>a,.client-review,.npn-card,.tabs button{transition:background .3s,border-color .3s,box-shadow .45s,transform .45s var(--ease)}
.button:hover{box-shadow:0 10px 25px #165dcc30;transform:translateY(-3px)}
.text-link span,.directory b,.social-links b{transition:transform .3s}
.text-link:hover span,.directory>a:hover b,.social-links>a:hover b{transform:translate(3px,-3px)}
.client-review:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0002}
.photo-placeholder{position:relative;overflow:hidden}
.photo-placeholder:after{content:'';width:140%;height:140%;position:absolute;border:1px solid #6b8fc320;border-radius:50%;pointer-events:none;transform:rotate(-30deg);top:42%;left:25%}
.photo-placeholder>*{z-index:1}
.headshot-space{background:radial-gradient(ellipse at 50% 30%,#7597cc24,transparent 65%)}
.headshot-space:before{content:'';position:absolute;inset:15px;border:1px solid #c4d5ee20;pointer-events:none}
.tabs button:hover:not([aria-selected=true]){background:#dce7f7}
.panel:not([hidden]){animation:arrive .45s var(--ease)}
@keyframes arrive{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
.eyebrow{line-height:1.8}
.family-story{margin-bottom:0}
.family-photos{margin-top:50px}
.family-photo{min-height:320px}
.section{padding-block:100px}
.trust-section{padding-block:45px}
.consultation{padding-bottom:45px}
.audiences.section{padding-top:45px}
.mobile-contact>a:not(.button){color:#fff}
@media(max-width:700px){[data-theme] .hero:before{inset-inline:0!important}}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;transform-origin:left;transform:scaleX(0);background:#165dcc;z-index:100;pointer-events:none}
@media(max-width:700px){.section{padding-block:60px}
.trust-section{padding-block:35px}
.consultation{padding-bottom:25px}
.audiences.section{padding-top:25px}
.family-photo{min-height:270px}
.hero-actions{flex-wrap:wrap}
h2{font-size:42px}
.client-review:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}
html{scroll-behavior:auto}}
body[data-theme=signature]{background:#fbfcfe}
[data-theme=signature] header{background:#fbfcfeed;border-bottom-color:#d5e0ef}
[data-theme=signature] .hero{padding-block:80px 85px;gap:80px}
[data-theme=signature] .hero h1{font-size:clamp(54px,5.6vw,83px);line-height:1.04}
[data-theme=signature] .hero:before{content:'';position:absolute;z-index:-1;inset:-60px -30px;background:radial-gradient(ellipse at 82% 42%,#d4e3f69c,transparent 60%);pointer-events:none}
[data-theme=signature] .identity-visual{border-radius:160px 160px 12px 12px;padding:40px 35px 30px;box-shadow:0 28px 70px #172a4b26,inset 0 0 0 1px #c5d8f74a}
[data-theme=signature] .agent-card .card-top{justify-content:center;margin-top:12px}
[data-theme=signature] .headshot-space{border-radius:100px 100px 6px 6px;border-color:#b9cce730}
[data-theme=signature] .headshot-space:before{border-radius:90px 90px 4px 4px}
[data-theme=signature] .trust-section{border-block:1px solid #d8e2f0}
[data-theme=signature] .npn-card{background:#fff;border-radius:12px;box-shadow:0 12px 40px #142f5c0a;border-color:#cdd9ea}
[data-theme=signature] .family-story{background:linear-gradient(135deg,#eaf0f8,#f7f9fc)}
[data-theme=signature] .family-photo{border-style:solid;border-color:#bfcee1;background:#e2ebf7;border-radius:10px}
[data-theme=signature] .conversation{background:#f0f4fa}
.tabs{scroll-margin-top:110px}
[data-theme=signature] .tabs{gap:0;border:1px solid #d1dceb;padding:5px;border-radius:9px;background:#e6edf7;margin-bottom:20px}
[data-theme=signature] .tabs button{border:0;border-radius:5px;background:transparent}
[data-theme=signature] .tabs button[aria-selected=true]{background:#172a4b}
[data-theme=signature] .panel{border:1px solid #d5dfea;border-radius:12px;box-shadow:0 15px 35px #162a4b05}
[data-theme=signature] .consultation-steps li{border-top:2px solid #92afd4}
[data-theme=signature] .client-experiences{background:radial-gradient(ellipse at 50% 0,#233c60,transparent 70%),#111c30}
[data-theme=signature] .client-review{border-radius:10px;background:#f7f9fd}
[data-theme=signature] .contact{background:linear-gradient(120deg,#111b2e,#1d3556)}
.hero em{display:inline}
.panel{overflow:hidden}
@media(max-width:1000px) and (min-width:701px){[data-theme] .hero{gap:35px}}
@media(max-width:700px){[data-theme] .hero{grid-template-columns:1fr;gap:40px;padding-block:40px 55px}
[data-theme] .hero h1{font-size:clamp(43px,11.7vw,68px);letter-spacing:-1px}
[data-theme] .identity-visual{min-height:500px}
[data-theme] .mobile-contact a{border-radius:6px}}
.hero{isolation:isolate}
.hero>.design-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.design-atmosphere i{position:absolute;display:block;pointer-events:none}
[data-theme=signature] .design-atmosphere{background:radial-gradient(ellipse at 80% 35%,#adc9f060,transparent 66%)}
[data-theme=signature] .design-atmosphere i{width:85%;height:42%;right:-30%;top:4%;border:1px solid #719cd760;border-radius:50%;transform:rotate(-35deg);box-shadow:0 0 0 34px #8baee115,0 0 0 68px #8baee110;animation:silk-drift 9s ease-in-out infinite alternate}
[data-theme=signature] .design-atmosphere i:nth-child(2){top:44%;right:-20%;animation-delay:-4s;opacity:.65}
[data-theme=signature] .design-atmosphere i:nth-child(3){width:260px;height:260px;right:15%;top:20%;border:0;border-radius:50%;background:#b4cff35c;filter:blur(45px);box-shadow:none;animation:light-drift 8s ease-in-out infinite alternate}
@keyframes silk-drift{from{transform:translate(-18px,18px) rotate(-30deg)}to{transform:translate(25px,-26px) rotate(-43deg)}}
@keyframes light-drift{from{transform:translate(-60px,45px) scale(.9)}to{transform:translate(65px,-40px) scale(1.2)}}
.intro-run .hero .eyebrow{animation:hero-rise .85s var(--ease) both}
.intro-run .hero h1{animation:headline-in 1.15s .12s var(--ease) both}
.intro-run .hero .intro{animation:hero-rise .9s .35s var(--ease) both}
.intro-run .hero-actions{animation:hero-rise .9s .5s var(--ease) both}
.intro-run .hero-note{animation:hero-rise .9s .65s var(--ease) both}
.intro-run .identity-visual{animation:portrait-in 1.35s .2s var(--ease) backwards}
@keyframes hero-rise{from{opacity:0;transform:translateY(30px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes headline-in{from{opacity:0;transform:translateY(38px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes portrait-in{from{opacity:0;transform:perspective(1200px) rotateY(-9deg) translateY(35px) scale(.96)}to{opacity:1;transform:perspective(1200px) rotateY(0) translateY(0) scale(1)}}
.identity-visual{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .5s var(--ease),box-shadow .5s;will-change:auto}
.identity-visual:after{content:'';pointer-events:none;position:absolute;inset:-80%;background:linear-gradient(110deg,transparent 40%,#ffffff12 48%,#ffffff25 50%,#ffffff08 53%,transparent 60%);transform:translateX(-55%);animation:card-sheen 8s ease-in-out infinite;z-index:2}
@keyframes card-sheen{0%,25%{transform:translateX(-55%);opacity:0}40%{opacity:.8}65%,100%{transform:translateX(55%);opacity:0}}
.motion-ready .reveal-item{opacity:0;transform:translateY(32px);filter:blur(3px);transition:opacity .8s var(--ease),transform .9s var(--ease),filter .9s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-item.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
.motion-ready .client-review.is-visible:hover{transform:translateY(-9px);border-color:#6e9bd8;box-shadow:0 20px 45px #0003}
.button{position:relative;overflow:hidden;isolation:isolate}
.button:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 10%,#ffffff40,transparent 90%);transform:translateX(-150%) skewX(-15deg);transition:transform .65s var(--ease)}
.button:hover:after{transform:translateX(150%) skewX(-15deg)}
.npn-card:hover{box-shadow:0 16px 40px #165dcc1c;transform:translateY(-5px)}
.consultation-steps li{transition:border-color .3s,transform .4s var(--ease)}
.consultation-steps li:hover{border-color:#165dcc;transform:translateY(-5px)}
.panel:not([hidden]){animation:panel-arrive .65s var(--ease)}
@keyframes panel-arrive{from{opacity:.2;transform:translateY(16px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important;transition:none!important}
[data-motion=off] .reveal-item{opacity:1;transform:none;filter:none}
[data-motion=off] .identity-visual{transform:none}
@media(max-width:700px){.design-atmosphere{opacity:.65}
.identity-visual{transform:none!important}
.design-atmosphere i{max-width:100%}
.intro-run .hero h1{animation-duration:1s}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}
.motion-ready .reveal-item{opacity:1;transform:none;filter:none}
.identity-visual{transform:none}}
.motion-toggle{position:fixed;z-index:45;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid #b6c8e1;border-radius:20px;background:#f7faffed;backdrop-filter:blur(8px);color:#284b7b;font:600 10px var(--sans);box-shadow:0 4px 16px #14233c15}
.motion-toggle:hover{background:white}.motion-toggle[hidden]{display:none}
@media(max-width:700px){.motion-toggle{bottom:calc(86px + env(safe-area-inset-bottom,0px));right:12px}}
@media print{.design-atmosphere,.motion-toggle,.scroll-progress{display:none!important}.reveal-item{opacity:1!important;transform:none!important;filter:none!important}}

/* The supplied portrait sits within the existing Signature card. */
.headshot-space.has-headshot{min-height:0;flex:0 0 auto;border-style:solid;background:#59595b;isolation:isolate}
[data-theme=signature] .headshot-space.has-headshot{border-radius:6px}
.headshot-space.has-headshot::before,.headshot-space.has-headshot::after{display:none}
.headshot-space.has-headshot img{position:static;display:block;width:100%;height:auto;object-fit:contain}
