@font-face{font-family:Allura;src:url('fonts/Allura-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('fonts/Sora-Variable.ttf') format('truetype');font-style:normal;font-weight:100 800;font-display:swap}
@font-face{font-family:'DM Sans';src:url('fonts/DMSans-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:Manrope;src:url('fonts/Manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}

/* A single visual language across the home page and four service pages. */
body{font-family:'DM Sans',Arial,sans-serif}
.site-header{position:sticky!important;top:0;z-index:50;background:rgba(250,249,252,.93)!important;border-bottom:1px solid #ddd7e8;box-shadow:0 1px 0 rgba(30,22,49,.04);backdrop-filter:blur(18px)}
.header-inner{min-height:84px!important;gap:clamp(15px,2vw,30px)!important}
.site-header .brand{display:inline-flex!important;flex-direction:column;justify-content:center;align-items:flex-start;gap:0!important;flex:1 1 auto;min-width:215px;max-width:none;color:#191721;text-decoration:none!important;letter-spacing:0!important;white-space:nowrap}
.site-header .brand .brand-signature{display:block;font:400 clamp(2.3rem,3vw,2.7rem)/.78 Allura,'Segoe Script',cursive;letter-spacing:.005em;transform:translateY(3px)}
.site-header .brand .brand-descriptor{display:block;align-self:flex-start;margin-top:11px;margin-left:110px;color:#6350ba;font:700 .57rem/1.2 Sora,Arial,sans-serif;letter-spacing:.3em}
.site-header nav,.site-header .site-nav{gap:clamp(14px,1.8vw,27px)!important;font:600 .8rem/1.3 Sora,Arial,sans-serif!important;letter-spacing:-.025em}
.site-header nav a,.site-header .site-nav a{position:relative;color:#252132;text-decoration:none!important;white-space:nowrap;padding:9px 0}
.site-header nav a::after,.site-header .site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:#6350ba;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-header nav a:hover,.site-header .site-nav a:hover{color:#6350ba}
.site-header nav a:hover::after,.site-header .site-nav a:hover::after,.site-header nav a:focus-visible::after,.site-header .site-nav a:focus-visible::after{transform:scaleX(1)}
.language-picker{border-color:#afa4cd!important}
.language-picker button{font-family:Sora,Arial,sans-serif!important}
.hero .eyeline,.hero .eyebrow,.section-kicker,.booking-tag{font-family:Sora,Arial,sans-serif}
.service-group h3{font-family:Manrope,Arial,sans-serif!important;font-weight:800!important;letter-spacing:-.045em}
.n2l-card h3,.service-card h3,.related-card strong{font-family:Manrope,Arial,sans-serif}
.service-art img,.work-art img,.portrait-about img{transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .5s ease;transform-origin:center}
.n2l-card::before{transition:transform .5s cubic-bezier(.2,.75,.2,1),opacity .35s ease,filter .35s ease}
.n2l-card{transition:border-color .25s ease}
.service-card,.related-card,.work-item{transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s ease,border-color .35s ease}
.button{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease}
.hero-art .art-core{transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s ease!important;transform:translateX(calc(-50% + var(--art-x,0px))) translateY(var(--art-y,0px)) rotate(-8deg)!important}
.hero-art .art-core img{filter:grayscale(1) invert(1) contrast(4)!important;mix-blend-mode:screen;border-radius:30px}
.hero-art:hover .art-core{box-shadow:0 50px 115px rgba(0,0,0,.44),inset 0 1px rgba(255,255,255,.34)!important}
.hero[class*="hero-"]::after{transform:translate3d(var(--art-x,0px),calc(-50% + var(--art-y,0px)),0) rotate(var(--art-r,0deg));transition:transform .35s cubic-bezier(.2,.75,.2,1),opacity .35s ease;will-change:transform}
.hero[class*="hero-"]:hover::after{opacity:.55}
.work-item{border:0!important;border-top:1px solid #bfb5d6!important;box-shadow:none!important}
.service-group .service-art{width:68px;height:68px;grid-column:2}
.work-art{width:58px;height:58px}
.n2l-card::before{width:46px;height:46px;right:10px}
.n2l-card{padding-right:72px}
.service-card{min-height:205px;padding:25px;border-top-width:1px}
.service-card::before{content:"";display:block;width:24px;height:2px;background:#6350ba;margin:0 0 20px}
.step>span.step-mark{display:block;width:24px;height:2px;background:var(--ember);font-size:0;margin:0 0 19px}
.step-num{width:25px;height:2px;background:var(--ember);font-size:0!important;margin-bottom:22px}
.custom-scope{background:#fbfafc}
.custom-scope-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(35px,8vw,100px);align-items:center}
.custom-scope .section-kicker{color:#6350ba;font:700 .8rem Sora,Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.custom-scope h2{max-width:650px}
.custom-scope p:not(.section-kicker){color:#514d5d;font-size:1.12rem;line-height:1.7}
.custom-scope .button{margin-top:18px}
.about-facts{border-left:0!important;padding-left:0!important}
.about-portrait{margin:0 0 27px;max-width:310px}
.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;filter:none!important}
.about-portrait figcaption{padding-top:11px;color:#6350ba;font:600 .72rem Sora,Arial,sans-serif;letter-spacing:.06em}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .service-group:hover .service-art img,.work-item:hover .work-art img{transform:translateY(-7px) rotate(-3deg) scale(1.06);filter:drop-shadow(0 13px 14px rgba(99,80,186,.16))}
  .n2l-card:hover::before,.n2l-card:focus-within::before{transform:translateY(-8px) rotate(-5deg) scale(1.08);opacity:1;filter:drop-shadow(0 14px 17px rgba(99,80,186,.2))}
  .n2l-card:hover{border-top-color:#6350ba}
  .service-card:hover,.related-card:hover,.work-item:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(29,20,57,.08)!important}
  .button:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(22,16,36,.15)}
  .portrait-about:hover img{transform:scale(1.045)}
}

@media(max-width:980px){.site-header .brand{min-width:185px}.site-header .brand .brand-signature{font-size:2.25rem}.site-header .brand .brand-descriptor{margin-left:102px}.site-header nav,.site-header .site-nav{gap:15px!important;font-size:.74rem!important}}
@media(max-width:760px){.site-header{position:relative!important}.header-inner{min-height:72px!important;padding-top:7px}.site-header .brand{min-width:0}.site-header .brand .brand-signature{font-size:2.15rem}.site-header .brand .brand-descriptor{font-size:.53rem;margin-left:87px}.site-header nav,.site-header .site-nav{scrollbar-width:none}.site-header nav::-webkit-scrollbar,.site-header .site-nav::-webkit-scrollbar{display:none}.hero[class*="hero-"]:hover::after{opacity:.16}.custom-scope-grid{grid-template-columns:1fr}.n2l-card{padding-right:65px}.n2l-card::before{width:40px;height:40px;right:0}.service-group .service-art{width:54px;height:54px}.work-art{width:45px;height:45px}.about-portrait{max-width:270px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.service-art img,.work-art img,.portrait-about img,.n2l-card::before,.service-card,.related-card,.work-item,.button,.hero-art .art-core,.hero[class*="hero-"]::after{transition:none!important;animation:none!important;transform:none!important}.hero-art .art-core{transform:translateX(-50%) rotate(-8deg)!important}.hero[class*="hero-"]::after{transform:translateY(-50%)!important}}

@view-transition{navigation:auto}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important}}

/* Home page refinement: paired service columns, fully linked cards, and a compact portrait story. */
#services{background:linear-gradient(145deg,#f8f6fc 0%,#f0edf7 100%)}
#services .section-intro{max-width:840px}
#services .services{gap:clamp(22px,3vw,42px);align-items:start}
#services .service-group{grid-template-columns:minmax(0,1fr) 68px;align-content:start;padding:29px clamp(22px,2.6vw,34px) 32px;background:rgba(255,255,255,.8);border:1px solid #dcd5eb;border-top:3px solid #6350ba;border-radius:14px;box-shadow:0 22px 55px rgba(44,29,84,.055)}
#services .service-group h3{font-size:clamp(1.45rem,2vw,1.8rem)!important;line-height:1.2;min-height:2.45em;display:flex;align-items:center;max-width:350px}
#services .service-group .service-art{grid-column:2;width:60px;height:60px;justify-self:end;margin:0}
#services .service-list{margin-top:16px}
#services .service-list li{padding:17px 0}
#services .service-list li:first-child{border-top-color:#bcb1d5}
#services .more-it{margin-top:20px;background:#f3effa;border-radius:8px;padding:18px}
.n2l-card{color:var(--ink);text-decoration:none!important;cursor:pointer;transition:background .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}
.n2l-card p{margin-bottom:0!important}
.n2l-card .card-arrow{position:absolute;right:3px;bottom:24px;font:600 1.25rem Sora,Arial,sans-serif;color:#6350ba;transition:transform .3s ease}
.n2l-card:hover,.n2l-card:focus-visible{background:rgba(255,255,255,.5);border-top-color:#6350ba;transform:translateY(-3px);box-shadow:0 12px 30px rgba(48,32,91,.07)}
.n2l-card:hover .card-arrow,.n2l-card:focus-visible .card-arrow{transform:translate(4px,-4px)}
.about{background:#201a32!important;color:#fff;border:0}
.about-grid{grid-template-columns:minmax(280px,.84fr) minmax(0,1.16fr)!important;gap:clamp(42px,6vw,90px);align-items:center}
.about .about-portrait{width:100%;max-width:420px;margin:0;position:relative}
.about .about-portrait img{aspect-ratio:4/4.6;object-position:center 28%;border-radius:12px;box-shadow:0 25px 65px rgba(0,0,0,.2)}
.about .about-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 22px 18px;background:linear-gradient(transparent,rgba(15,11,26,.72));border-radius:0 0 12px 12px;color:#fff;font:600 .86rem Sora,Arial,sans-serif;letter-spacing:.025em}
.about .section-kicker{color:#d4befa;font:700 .72rem Sora,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.about h2{font-size:clamp(2.45rem,4vw,4rem);max-width:680px;margin-bottom:25px}
.about .about-lead{color:#e8e0f2;font-size:1.13rem;line-height:1.7;max-width:590px}
.about-points{display:grid;grid-template-columns:1fr;gap:0;margin-top:26px;border-top:1px solid rgba(255,255,255,.28)}
.about-points p{color:#e0d8ec;margin:0;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.97rem;line-height:1.5}
.about-points p::before{content:"";display:inline-block;width:18px;height:2px;background:#f3b880;vertical-align:middle;margin-right:13px}
.footer-linkedin{display:inline-flex;align-items:center;gap:7px;margin-top:16px;color:#0a66c2!important;text-decoration:none;font:700 .85rem Sora,Arial,sans-serif}
.footer-linkedin svg{display:block;width:24px;height:24px;fill:currentColor}
.footer-linkedin:hover{text-decoration:underline}
@media(max-width:760px){#services .services{grid-template-columns:1fr;gap:20px}#services .service-group{grid-template-columns:minmax(0,1fr) 54px;padding:24px 20px}#services .service-group h3{min-height:0;font-size:1.5rem!important}#services .service-group .service-art{width:50px;height:50px}.about-grid{grid-template-columns:1fr!important;gap:32px}.about .about-portrait{max-width:320px}.about h2{font-size:clamp(2.25rem,8vw,3.5rem)}}
@media(prefers-reduced-motion:reduce){.n2l-card,.n2l-card .card-arrow{transition:none!important}.n2l-card:hover,.n2l-card:focus-visible,.n2l-card:hover .card-arrow,.n2l-card:focus-visible .card-arrow{transform:none!important}}
