/* Design tokens: keep these as the single source of truth in the future WP theme. */
:root{--color-navy:#152238;--color-bordeaux:#781f38;--color-orange:#c94716;--color-orange-hover:#a93710;--color-paper:#fff;--color-pearl:#f4f5f7;--color-muted:#5c6472;--color-line:#e1e4e9;--font-sans:'Plus Jakarta Sans',Arial,sans-serif;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-bold:800;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--space-7:6rem;--radius-card:1.25rem;--radius-pill:100px;--container:1320px;--page-gutter:1.25rem;--shadow-soft:0 18px 55px -25px #15223830;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;color:var(--color-navy);background:var(--color-paper);font-family:var(--font-sans);font-size:1.125rem;font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}p,h1,h2,h3{margin:0}svg{display:block}::selection{background:#781f3822}a:focus-visible,button:focus-visible{outline:3px solid var(--color-orange);outline-offset:6px}.container{width:min(var(--container),calc(100% - var(--page-gutter)*2));margin-inline:auto}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;top:1rem;left:1rem;z-index:20;background:white;padding:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}
/* Header */
.header{position:relative;z-index:5;background:#fff;border-bottom:1px solid #1522380c}.header__inner{min-height:92px;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.brand{display:inline-flex;align-items:center;gap:10px}.brand__symbol{font-weight:800;font-size:3rem;letter-spacing:-.3rem;line-height:1;position:relative;padding-right:11px}.brand__symbol>span{position:absolute;right:-1px;top:2px;font-size:1.65rem;color:var(--color-bordeaux);letter-spacing:0}.brand__name{font-size:1.08rem;font-weight:800;letter-spacing:-.055em;line-height:1.05}.brand__name>span{display:block}.header__nav{display:flex;align-items:center;gap:3rem}.header__link{display:none;font-weight:500;font-size:1rem}.header__link span{margin-left:14px}.header__contact{display:flex;gap:10px;align-items:center;font-size:.9rem;font-weight:500;border-bottom:1px solid var(--color-navy);padding-block:10px}.header__contact .icon{width:19px;height:19px}.header__link:hover,.header__contact:hover{color:var(--color-bordeaux)}
/* Hero: central overlay with off-axis support elements. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#f9f9fb;padding-top:var(--space-6)}.hero__art{position:absolute;inset:0;z-index:-3;background-image:url('hero.webp');background-size:cover;background-position:center center;opacity:.9}.hero__art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff0,#ffffff42 23%,#ffffff54 50%,#ffffff30 75%,#fff0),linear-gradient(0deg,#f9f9fb 0%,#ffffff00 22%)}.hero__grid{position:absolute;inset:0;z-index:-2;opacity:.45;background-image:linear-gradient(#1522380a 1px,transparent 1px),linear-gradient(90deg,#1522380a 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(0deg,transparent,black 30%,black 80%,transparent);pointer-events:none}.hero__signal{position:absolute;width:1px;height:90px;left:calc(50% + 264px);top:0;background:linear-gradient(transparent,#c9471680,transparent);animation:signal 9s linear infinite}.hero__signal--second{left:calc(50% - 352px);animation-delay:-4s;animation-duration:12s}.hero__corner{display:none;position:absolute;top:31px;font-size:.75rem;font-weight:500;letter-spacing:.11em;color:#626674}.hero__corner--left{left:var(--page-gutter)}.hero__corner--right{right:var(--page-gutter)}.hero__content{position:relative;z-index:2;text-align:center}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.875rem;letter-spacing:.08em;font-weight:500;line-height:1.6}.hero__eyebrow{justify-content:center;font-size:.75rem;letter-spacing:.07em;gap:8px}.hero__eyebrow .icon{width:19px;height:19px;color:var(--color-bordeaux)}.hero__title{font-size:clamp(2.35rem,4.45vw,4rem);font-weight:800;line-height:1.16;letter-spacing:-.052em;margin-top:var(--space-3)}.hero__title>span{color:var(--color-bordeaux);position:relative;white-space:normal}.hero__title>span::after{content:'';position:absolute;bottom:-9px;left:0;right:0;height:7px;border-top:2px solid #781f3850;border-radius:50%;transform:rotate(-1deg)}.hero__description{margin:var(--space-4) auto 0;max-width:710px;line-height:1.8;font-size:1.125rem;color:#525b6a}.hero__break{display:none}.hero__actions{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;font-size:1rem;font-weight:500;line-height:1.4;border-radius:var(--radius-pill);padding:18px 25px;min-height:58px;transition:background .25s,transform .3s var(--ease),box-shadow .3s;width:100%;max-width:340px}.button .icon{width:21px;height:21px}.button:hover{transform:translateY(-3px)}.button--primary{background:var(--color-orange);color:white;box-shadow:0 7px 20px #c9471618}.button--primary:hover{background:var(--color-orange-hover);box-shadow:0 12px 25px #c9471628}.button--secondary{border:1px solid #15223833;background:#ffffff80}.button--secondary:hover{background:white;border-color:var(--color-navy)}.hero__note{margin-top:var(--space-3);font-size:.875rem;color:var(--color-muted);line-height:1.7}.hero__note>span{color:var(--color-bordeaux);margin-right:5px}.hero__support{display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;margin-top:var(--space-5);gap:var(--space-4);padding-bottom:var(--space-5)}
.design-card{width:260px;background:#ffffffdb;border:1px solid white;box-shadow:var(--shadow-soft);padding:10px;border-radius:14px;transform:rotate(-7deg);backdrop-filter:blur(12px);animation:float-left 8s ease-in-out infinite}.design-card__bar{display:flex;gap:4px;align-items:center;padding:1px 2px 10px}.design-card__bar>span{width:4px;height:4px;border-radius:50%;background:#bac0c9}.design-card__bar>p{margin-left:auto;font-size:.55rem;letter-spacing:.12em;color:#667085}.design-card__canvas{background:#ede8e8;border:1px solid #781f380b;border-radius:6px;min-height:128px;position:relative;overflow:visible;padding:13px;color:var(--color-bordeaux)}.design-card__mini-brand{font-weight:800;font-size:.65rem}.design-card__mini-brand>span{font-size:.4rem;vertical-align:super;margin-left:1px}.design-card__mini-title{font-size:1.6rem;font-weight:800;letter-spacing:-.06em;line-height:1.05;margin-top:12px}.design-card__mini-title>span{color:var(--color-orange)}.design-card__asterisk{width:66px;height:66px;position:absolute;right:17px;top:40px;stroke:var(--color-bordeaux);stroke-width:6}.design-card__line{width:47px;height:7px;border-radius:20px;background:var(--color-bordeaux);margin-top:12px}.design-card__pointer{position:absolute;bottom:15px;right:-27px;font-size:1rem;color:var(--color-orange);transform:rotate(7deg)}.design-card__pointer>span{font-size:.65rem;background:var(--color-orange);color:white;padding:7px 10px;border-radius:4px}.design-card__caption{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-weight:500;padding:10px 3px 1px}.design-card__caption .icon{width:14px;height:14px}.approach-card{display:flex;align-items:flex-start;gap:15px;width:290px;padding:23px 18px;background:#ffffffc9;border:1px solid #fff;border-radius:16px;box-shadow:var(--shadow-soft);backdrop-filter:blur(16px);transform:rotate(5deg);animation:float-right 9s ease-in-out infinite}.approach-card__icon{padding:10px;background:#781f380c;border:1px solid #781f3810;border-radius:12px;color:var(--color-bordeaux)}.approach-card__icon .icon{width:27px;height:27px;stroke-width:2}.approach-card__label{font-size:.63rem;letter-spacing:.065em;font-weight:500;margin-bottom:10px;color:#606774}.approach-card__title{font-size:1.2rem;font-weight:800;line-height:1.35;letter-spacing:-.035em}.approach-card__tags{display:flex;gap:5px;margin-top:14px}.approach-card__tags span{font-size:.54rem;white-space:nowrap;padding:5px 6px;background:#f2f3f6;border-radius:4px;color:#525b6a}.hero__scroll{display:none;flex-direction:column;align-items:center;gap:13px;font-size:.65rem;font-weight:500;letter-spacing:.13em;align-self:end;margin-bottom:5px}.hero__scroll-circle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #15223824;background:#fff7;transition:transform .25s}.hero__scroll .icon{width:18px;height:18px}.hero__scroll:hover .hero__scroll-circle{transform:translateY(5px)}.hero__bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #15223816;padding-block:22px;font-size:.62rem;font-weight:500;letter-spacing:.1em;color:#5d6573}.hero__bottom>span:last-child{display:none;align-items:center;gap:10px}.hero__bottom .icon{width:12px;height:12px}
/* Featured services */
.services{padding-block:var(--space-6) var(--space-4);scroll-margin-top:2rem}.services__heading{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.eyebrow__line{width:24px;height:2px;background:var(--color-bordeaux);flex-shrink:0}.services .eyebrow{font-size:.75rem;letter-spacing:.065em}.services h2{font-size:clamp(1.9rem,3.1vw,2.75rem);letter-spacing:-.05em;line-height:1.25;margin-top:18px;font-weight:800}.services h2 span{color:var(--color-bordeaux)}.services__intro{font-size:1rem;line-height:1.8;color:var(--color-muted)}.services__break{display:none}.services__grid{display:grid;grid-template-columns:1fr;gap:var(--space-2)}.service-card{--card-accent:var(--color-bordeaux);display:flex;flex-direction:column;padding:var(--space-3);min-width:0;min-height:365px;border:1px solid var(--color-line);border-radius:var(--radius-card);background:#f8f9fb;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-soft);border-color:#781f383a}.service-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.service-card__icon{width:40px;height:40px;fill:none;stroke:var(--card-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-card__number{font-size:1.2rem;font-weight:400;color:#737986}.service-card__category{font-size:.68rem;letter-spacing:.065em;font-weight:500;color:#66707d}.service-card h3{font-size:1.65rem;letter-spacing:-.045em;font-weight:800;line-height:1.22;margin-top:10px;margin-bottom:14px}.service-card__body>p:last-child{font-size:1rem;line-height:1.8;color:#5c6472}.service-card__bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #15223815;margin-top:auto;padding-top:20px;font-size:.78rem;font-weight:500}.service-card__body{margin-bottom:var(--space-4)}.service-card__bottom .icon{width:23px;height:23px}.service-card__dash{width:18px;height:1px;background:#8a8e98}.service-card--featured{--card-accent:#fff;background:var(--color-bordeaux);color:white;border-color:var(--color-bordeaux)}.service-card--featured .service-card__number{color:#e4b2bf}.service-card--featured .service-card__category{color:#efd3db}.service-card--featured .service-card__body>p:last-child{color:#f0dfe4}.service-card--featured .service-card__bottom{border-color:#ffffff30}.services__closing{display:flex;justify-content:center;align-items:center;gap:10px;font-size:.875rem;line-height:1.7;color:var(--color-muted);text-align:center;margin-top:var(--space-4);padding:var(--space-2) 0}.services__closing .icon{color:var(--color-bordeaux);width:19px;height:19px}
/* Motion is an enhancement; content is visible by default. */
.reveal--ready{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease) var(--reveal-delay,0ms),transform .7s var(--ease) var(--reveal-delay,0ms)}.reveal--visible{opacity:1;transform:translateY(0)}.service-card.reveal--visible:hover{transform:translateY(-7px)}@keyframes signal{from{transform:translateY(-100px)}to{transform:translateY(1100px)}}@keyframes float-left{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-8px) rotate(-5deg)}}@keyframes float-right{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-9px) rotate(3deg)}}
@media(min-width:600px){:root{--page-gutter:2rem}.header__link{display:block}.header__contact{font-size:1rem}.hero__eyebrow{font-size:.875rem}.hero__actions{flex-direction:row}.button{width:auto;max-width:none}.hero__support{grid-template-columns:1fr 1fr;gap:2rem;max-width:760px}.hero__bottom>span:last-child{display:flex}.services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:var(--space-4)}.services__intro{font-size:1.125rem}.hero__description{font-size:1.2rem}.hero__bottom{font-size:.65rem}.services .eyebrow{font-size:.875rem}}
@media(min-width:1024px){:root{--page-gutter:3.5rem}.header__inner{min-height:100px}.brand{gap:13px}.brand__name{font-size:1.18rem}.header__contact{padding:13px 23px;border:1px solid #15223830;border-radius:var(--radius-pill)}.hero{padding-top:84px}.hero__corner{display:block}.hero__content{max-width:970px}.hero__title{margin-top:22px}.hero__break{display:block}.hero__description{margin-top:28px;line-height:1.75}.hero__actions{margin-top:28px;gap:14px}.hero__note{margin-top:19px}.hero__support{max-width:var(--container);grid-template-columns:1fr 1fr 1fr;align-items:end;margin-top:-14px;padding-bottom:40px;pointer-events:none}.design-card{justify-self:start;margin-left:15px}.approach-card{justify-self:end;margin-right:10px;margin-bottom:15px}.hero__scroll{display:flex;pointer-events:auto}.hero__bottom{font-size:.7rem;padding-block:23px}.services{padding-top:70px}.services__heading{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:35px}.services__intro{font-size:1rem;max-width:365px;padding-bottom:4px}.services__break{display:block}.services__grid{grid-template-columns:1.15fr 1fr 1fr 1fr;gap:18px}.service-card{padding:26px 24px;min-height:410px}.service-card h3{font-size:1.8rem}.service-card__top{margin-bottom:32px}.service-card__body>p:last-child{font-size:1.025rem}.service-card__bottom{font-size:.72rem}.service-card__category{font-size:.66rem}.services__closing{margin-top:25px}}
@media(min-width:1400px){.hero__support{margin-top:-48px}.hero__content{padding-bottom:12px}.design-card{width:280px}.design-card__canvas{min-height:142px}.design-card__mini-title{font-size:1.8rem}.approach-card{width:307px;padding:25px 21px}.hero__art{background-position:center 48%}.hero__bottom{margin-top:6px}.service-card{padding:30px 28px}.service-card__body>p:last-child{font-size:1.125rem}.service-card__bottom{font-size:.8rem}.service-card__category{font-size:.72rem}.services__intro{font-size:1.125rem}}
@media(max-width:599px){.hero__art{background-size:auto 780px;background-position:center top;opacity:.38}.hero__art::after{background:linear-gradient(0deg,#f9f9fb 28%,#ffffff80 70%,#ffffff38)}.hero__support{grid-template-columns:1fr 1fr;gap:10px;align-items:center;min-height:145px;margin-top:38px;padding-bottom:25px}.design-card{width:175px;justify-self:center;padding:7px}.design-card__canvas{min-height:100px;padding:9px}.design-card__mini-title{font-size:1.2rem}.design-card__mini-brand{font-size:.5rem}.design-card__asterisk{width:41px;height:41px;right:7px}.design-card__pointer{right:-10px;bottom:8px}.design-card__pointer>span{font-size:.46rem;padding:4px}.design-card__caption{font-size:.49rem}.design-card__bar>p{font-size:.42rem}.approach-card{width:156px;gap:8px;padding:14px 10px;align-self:end;margin-bottom:20px}.approach-card__icon{padding:5px;border-radius:7px}.approach-card__icon .icon{width:17px;height:17px}.approach-card__label{font-size:.43rem;letter-spacing:0;margin-bottom:7px}.approach-card__title{font-size:.82rem}.approach-card__tags{display:none}.hero__bottom{justify-content:center;text-align:center}.hero__note{font-size:.8rem}.service-card h3 br{display:none}.service-card{min-height:335px}.service-card__body>p:last-child{font-size:1.125rem}.service-card__category{font-size:.8rem}.service-card__bottom{font-size:.875rem}.services__closing{align-items:flex-start}.hero__eyebrow{font-size:.67rem}.hero__title{font-size:clamp(2.15rem,9.5vw,3rem)}}
@media(max-width:359px){.hero__support{grid-template-columns:1fr;gap:25px}.approach-card{display:none}.hero__eyebrow{letter-spacing:0}.button{font-size:.9rem;padding-inline:18px}.brand__name{font-size:.95rem}.header__contact{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal--ready{opacity:1;transform:none}}

/* Readability floor for informational labels, distinct from decorative miniatures. */
.service-card__category{font-size:.875rem;letter-spacing:.035em}.service-card__bottom{font-size:.875rem}.approach-card__label{font-size:.75rem}.approach-card__tags span{font-size:.625rem}.hero__eyebrow{font-size:.875rem}.hero__corner{font-size:.75rem}
@media(max-width:599px){.hero__eyebrow{font-size:.75rem;letter-spacing:.025em}.approach-card__label{display:none}.approach-card__title{font-size:.875rem}.services .eyebrow{font-size:.875rem}.hero__note{font-size:.875rem}}
