:root{--ink:#0b1f33;--deep:#0b1f33;--deep-2:#0b1f33;--cream:#f7f9fc;--cream-2:#f7f9fc;--white:#f7f9fc;--lime:#DDEBFF;--text:#f7f9fc;--muted:rgba(247,249,252,.69);--hero-photo:none;--studio-image:none;font-family:Manrope,Arial,sans-serif;color:var(--text);background:var(--ink);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,textarea,select,summary{outline-offset:4px}
:focus-visible{outline:2px solid #ddebff}
::selection{background:#f7f9fc;color:#0b1f33}
[hidden]{display:none!important}
.site-shell{position:relative;overflow:hidden;isolation:isolate}
.wrap{width:min(100% - 72px,1280px);margin-inline:auto}
.skip-link{position:absolute;z-index:100;top:-60px;left:16px;padding:12px 18px;background:#ffffff;color:#0b1f33;border-radius:8px}
.skip-link:focus{top:12px}
.site-header{height:118px;display:flex;align-items:center;gap:48px;position:relative;z-index:10}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}
.brand-logo{display:block;width:auto;height:56px;max-width:none}
.brand-mark{display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(247,249,252,.52);border-radius:15px;background:rgba(247,249,252,.08);backdrop-filter:blur(10px)}
.brand-mark svg{width:35px;height:35px;fill:none;stroke:#f7f9fc;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.brand-name{display:grid;line-height:.98;font-size:16px;font-weight:800;letter-spacing:.14em}
.brand-name span{margin-top:4px;color:#f7f9fc;letter-spacing:.3em;font-size:10px}
.desktop-nav{display:flex;align-items:center;gap:32px;margin-left:auto}
.desktop-nav a{color:rgba(255,255,255,.8);font-size:17px;font-weight:700;transition:color .2s}
.desktop-nav a:hover,.header-cta:hover{color:var(--lime)}
.header-cta{display:flex;align-items:center;gap:17px;margin-left:5px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.7);font-size:17px;font-weight:800;white-space:nowrap}
.header-cta span{font-size:17px;font-weight:400}
.menu-toggle,.mobile-nav{display:none}
.glass{background:rgba(247,249,252,.095);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.11),0 24px 52px rgba(11,31,51,.12);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.hero{position:relative;min-height:870px;display:flex;flex-direction:column;justify-content:space-between;margin-top:-118px;padding-top:118px;padding-bottom:80px}
.hero-atmosphere{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,rgba(11,31,51,.83) 0%,rgba(11,31,51,.66) 43%,rgba(11,31,51,.42) 100%),linear-gradient(180deg,rgba(11,31,51,.12),rgba(11,31,51,.35) 70%,#0b1f33 100%),var(--hero-photo);background-position:center,center,center 36%;background-size:cover,cover,cover}
.hero-atmosphere:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 17%,rgba(221,235,255,.12),transparent 34%),linear-gradient(180deg,transparent 72%,rgba(11,31,51,.34))}
.hero-content{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:end;gap:55px;flex:1;padding-top:105px;padding-bottom:125px}
.eyebrow,.kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.22em;color:#DDEBFF}
.eyebrow{display:flex;align-items:center;gap:11px;margin-bottom:32px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#f7f9fc;box-shadow:0 0 0 5px rgba(247,249,252,.12)}
.hero h1{max-width:1040px;margin:0;font-size:clamp(66px,7.9vw,122px);line-height:.99;letter-spacing:-.08em;font-weight:600}
h1 em,h2 em{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.045em}
.hero h1 em{color:#f7f9fc}
.hero-copy>p{max-width:520px;margin:34px 0 0;color:rgba(255,255,255,.82);font-size:18px;line-height:1.7}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:56px;padding:0 22px;border:1px solid transparent;border-radius:11px;font-size:13px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(11,31,51,.15)}
.button-light{background:#f7f9fc;color:#0b1f33}
.button-light:hover{background:#f7f9fc}
.button span{font-size:20px;font-weight:400}
.text-link{display:inline-flex;align-items:center;gap:19px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.65);font-size:13px;font-weight:700}
.text-link span{font-size:18px;font-weight:400}
.text-link:hover{color:var(--lime)}
.hero-side-note{align-self:end;padding-bottom:15px;color:rgba(255,255,255,.77)}
.side-note-line{display:block;width:37px;height:1px;background:#f7f9fc;margin-bottom:17px}
.hero-side-note p{font-size:14px;line-height:1.6;font-weight:600;margin:0 0 41px}
.hero-side-note>span:last-child{font-size:9px;letter-spacing:.14em;white-space:nowrap}
.hero-foot{display:flex;justify-content:space-between;gap:25px;padding-top:22px;padding-bottom:25px;border-top:1px solid rgba(255,255,255,.24);font-size:10px;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.68)}
.light-section{color:#0b1f33;background:var(--cream)}
.services-section{padding:118px 0 126px}
.section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:8%;align-items:end}
.dark-kicker{color:#52657a}
.section-heading h2,.about-head h2,.process-copy h2,.questions-intro h2,.contact-copy h2{margin:20px 0 0;font-size:clamp(47px,5vw,76px);line-height:1.07;font-weight:600;letter-spacing:-.068em}
.section-heading h2 em,.about-head h2 em{color:#52657a}
.section-heading>p{max-width:390px;margin:0 0 5px;font-size:16px;line-height:1.75;color:#52657a}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:49px}
.service-card{min-height:365px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(11,31,51,.12);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.83),rgba(247,249,252,.5));box-shadow:0 20px 48px rgba(11,31,51,.045),inset 0 1px 0 #ffffff;transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 26px 55px rgba(11,31,51,.09),inset 0 1px 0 #ffffff}
.service-card-top{display:flex;justify-content:space-between;align-items:start;color:#52657a;font-size:12px;font-weight:700}
.service-glyph{display:grid;place-items:center;width:36px;height:36px;border:1px solid #f7f9fc;border-radius:50%;font-size:18px;font-weight:400}
.service-card h3{font-size:25px;font-weight:600;letter-spacing:-.05em;margin:0 0 13px}
.service-card p{max-width:320px;color:#52657a;font-size:14px;line-height:1.7;margin:0}
.service-tag{display:inline-block;align-self:flex-start;padding:9px 12px;background:#f7f9fc;border:1px solid #f7f9fc;border-radius:100px;color:#52657a;font-size:10px;font-weight:800;letter-spacing:.04em}
.service-card-featured{background:linear-gradient(145deg,#0b1f33,#0b1f33);border-color:#0b1f33;color:#f7f9fc;box-shadow:0 20px 48px rgba(11,31,51,.13),inset 0 1px 0 rgba(255,255,255,.14)}
.service-card-featured:hover{box-shadow:0 26px 55px rgba(11,31,51,.2),inset 0 1px 0 rgba(255,255,255,.14)}
.service-card-featured .service-card-top,.service-card-featured p{color:rgba(247,249,252,.75)}
.service-card-featured .service-glyph{border-color:rgba(255,255,255,.31)}
.service-card-featured .service-tag{background:#DDEBFF;border-color:#DDEBFF;color:#0b1f33}
.service-more{display:flex;justify-content:center;margin-top:28px}
.process-section{padding:128px 0;background:linear-gradient(135deg,#0b1f33,#0b1f33 65%,#0b1f33)}
.process-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;align-items:center}
.process-photo{position:relative;min-height:655px;border-radius:26px;background-image:var(--studio-image);background-size:cover;background-position:56% center;box-shadow:0 28px 60px rgba(11,31,51,.16);overflow:hidden}
.process-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(11,31,51,.42))}
.photo-caption{position:absolute;z-index:1;left:23px;right:23px;bottom:23px;display:flex;align-items:center;gap:15px;padding:20px;border-radius:15px;color:#ffffff;font-size:14px;font-weight:700;line-height:1.45}
.caption-star{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#DDEBFF;color:#0b1f33;font-size:26px;font-weight:400}
.process-copy h2 em,.questions-intro h2 em,.contact-copy h2 em{color:#f7f9fc}
.process-intro{max-width:530px;margin:27px 0 39px;font-size:16px;line-height:1.75;color:var(--muted)}
.process-steps{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.21)}
.process-steps li{display:grid;grid-template-columns:45px 1fr;gap:17px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.21)}
.process-steps li>span{padding-top:4px;color:#ddebff;font-size:11px;font-weight:800;letter-spacing:.12em}
.process-steps h3{font-size:18px;font-weight:600;margin:0 0 7px;letter-spacing:-.025em}
.process-steps p{max-width:420px;margin:0;font-size:13px;line-height:1.65;color:rgba(255,255,255,.64)}
.process-more{display:inline-flex;align-items:center;gap:25px;margin-top:29px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.64);font-size:13px;font-weight:800}
.process-more:hover{color:#DDEBFF}
.process-more span{font-size:18px;font-weight:400}
.about-section{padding:126px 0 120px;background:var(--cream-2)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}
.about-head h2{max-width:600px}
.about-copy{padding-top:40px}
.about-copy p{max-width:530px;font-size:15px;line-height:1.8;color:#52657a;margin:0 0 18px}
.about-copy .about-lead{font-size:22px;line-height:1.55;letter-spacing:-.025em;color:#0b1f33;font-weight:600}
.dark-link{display:inline-flex;align-items:center;gap:26px;margin-top:15px;padding-bottom:10px;border-bottom:1px solid #52657a;font-size:13px;font-weight:800;color:#0b1f33}
.dark-link span{font-size:18px;font-weight:400}
.dark-link:hover{color:#52657a}
.value-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:99px;padding-top:30px;border-top:1px solid #ddebff}
.value-strip>div{padding:4px 27px 0;border-right:1px solid #f7f9fc}
.value-strip>div:first-child{padding-left:0}
.value-strip>div:last-child{border-right:0}
.value-strip span{display:block;margin-bottom:32px;color:#52657a;font-size:11px;font-weight:800}
.value-strip strong{display:block;font-size:20px;font-weight:700;letter-spacing:-.035em}
.value-strip p{max-width:240px;color:#52657a;font-size:13px;line-height:1.6;margin:7px 0 0}
.questions-section{padding:124px 0 132px;background:#0b1f33}
.questions-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%}
.questions-intro h2{font-size:clamp(44px,4.5vw,66px)}
.questions-intro p{max-width:380px;margin:24px 0 0;color:var(--muted);font-size:15px;line-height:1.75}
.faq-list{border-top:1px solid rgba(255,255,255,.2)}
.faq-list details{border-bottom:1px solid rgba(255,255,255,.2)}
.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:15px;font-weight:700;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#f7f9fc;font-size:20px;font-weight:400;line-height:1;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list p{max-width:530px;margin:-4px 45px 24px 0;color:rgba(255,255,255,.67);font-size:13px;line-height:1.75}
.contact-section{position:relative;padding:132px 0 150px;background:#0b1f33}
.contact-atmosphere{position:absolute;inset:0;background-image:linear-gradient(90deg,#0b1f33 8%,rgba(11,31,51,.94) 53%,rgba(11,31,51,.77)),linear-gradient(180deg,#0b1f33,transparent 45%,#0b1f33),var(--hero-photo);background-size:cover;background-position:center,center,right 62%;opacity:.77;pointer-events:none}
.contact-grid{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;align-items:start;gap:12%}
.contact-copy{padding-top:20px}
.contact-copy h2{font-size:clamp(53px,5.2vw,80px)}
.contact-copy>p{max-width:440px;margin:26px 0 43px;color:var(--muted);font-size:16px;line-height:1.7}
.contact-email{display:inline-flex;gap:16px;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.63);font-size:16px;font-weight:700;word-break:break-word}
.contact-email:hover{color:#DDEBFF}
.contact-email span{font-size:20px;font-weight:400}
.contact-form{display:grid;gap:18px;padding:32px;border-radius:25px;background:rgba(247,249,252,.1)}
.form-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.2);font-size:10px;font-weight:800;letter-spacing:.19em;color:#f7f9fc}
.form-head span:last-child{font-size:26px;line-height:1;font-weight:400}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:block;min-width:0}
.contact-form label>span{display:block;margin:0 0 8px;color:rgba(255,255,255,.78);font-size:11px;font-weight:700}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;min-width:0;border:1px solid rgba(255,255,255,.21);border-radius:10px;background:rgba(255,255,255,.11);color:#f7f9fc;padding:14px 15px;outline:none;transition:border-color .2s,background .2s}
.contact-form input,.contact-form select{min-height:50px}
.contact-form textarea{min-height:135px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.44)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#DDEBFF;background:rgba(255,255,255,.15);box-shadow:0 0 0 3px rgba(247,249,252,.1)}
.contact-form option{color:#0b1f33;background:#f7f9fc}
.submit-button{width:100%;border:0;margin-top:3px}
.form-note{min-height:18px;margin:0;text-align:center;color:rgba(255,255,255,.56);font-size:11px;line-height:1.5}
.form-note-alert{color:#f7f9fc}
.site-footer{background:#0b1f33}
.footer-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid rgba(255,255,255,.15)}
.footer-inner>span,.footer-inner>a:last-child{font-size:11px;color:rgba(255,255,255,.6)}
.footer-inner>a:last-child:hover{color:#DDEBFF}
@media(max-width:1050px){
  .wrap{width:min(100% - 52px,1280px)}
  .site-header{gap:23px}
  .desktop-nav{gap:21px}
  .hero h1{font-size:clamp(62px,8.3vw,100px)}
  .services-section,.process-section,.about-section,.questions-section{padding-block:100px}
  .service-card{padding:23px;min-height:375px}
  .process-photo{min-height:590px}
  .process-grid{gap:6%}
  .questions-grid{gap:7%}
  .contact-grid{gap:7%}
}
@media(max-width:760px){
  .wrap{width:min(100% - 40px,650px)}
  .site-header{height:92px}
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:50px;height:50px;margin-left:auto;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(247,249,252,.12);backdrop-filter:blur(12px)}
  .menu-toggle span{width:17px;height:1.5px;background:#ffffff;transition:transform .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .mobile-nav:not([hidden]){display:grid;position:absolute;top:86px;right:0;left:0;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(11,31,51,.97);backdrop-filter:blur(24px);box-shadow:0 28px 45px rgba(11,31,51,.25)}
  .mobile-nav a{padding:14px 15px;border-radius:8px;font-size:16px;font-weight:700}
  .mobile-nav a:hover{background:rgba(255,255,255,.08)}
  .hero{margin-top:-92px;padding-top:92px;padding-bottom:70px;min-height:805px}
  .hero-content{display:block;padding-top:120px;padding-bottom:82px}
  .hero h1{font-size:clamp(56px,10vw,82px)}
  .hero-copy>p{font-size:16px}
  .hero-side-note{display:none}
  .hero-foot{font-size:9px;letter-spacing:.09em}
  .hero-foot span:last-child{display:none}
  .section-heading,.process-grid,.about-grid,.questions-grid,.contact-grid{grid-template-columns:1fr}
  .section-heading{gap:20px}
  .section-heading>p{max-width:540px}
  .services-section,.process-section,.about-section,.questions-section{padding-block:82px}
  .service-grid{grid-template-columns:1fr;gap:12px;margin-top:35px}
  .service-card{min-height:250px;padding:24px}
  .service-card h3{font-size:24px}
  .service-card p{max-width:520px}
  .service-card-top{margin-bottom:25px}
  .service-tag{margin-top:25px}
  .process-grid{gap:49px}
  .process-photo{min-height:410px;order:2}
  .process-copy{order:1}
  .process-intro{margin-bottom:28px}
  .about-grid{gap:0}
  .about-copy{padding-top:22px}
  .value-strip{margin-top:62px}
  .questions-grid{gap:37px}
  .questions-intro p{max-width:540px}
  .contact-section{padding:88px 0 100px}
  .contact-grid{gap:42px}
  .contact-copy{padding-top:0}
  .contact-copy>p{margin-bottom:25px}
  .contact-form{max-width:650px}
}
@media(max-width:520px){
  .wrap{width:min(100% - 34px,650px)}
  .brand-logo{height:48px}
  .brand-mark{width:46px;height:46px}
  .brand-name{font-size:13px}
  .brand-name span{font-size:9px}
  .hero{min-height:770px}
  .hero-atmosphere{background-position:center,center,56% center}
  .hero-content{padding-top:103px;padding-bottom:70px}
  .eyebrow,.kicker{font-size:9px;letter-spacing:.17em}
  .hero h1{font-size:clamp(48px,12vw,65px);letter-spacing:-.072em}
  .hero-copy>p{font-size:15px;margin-top:25px}
  .hero-actions{gap:14px;margin-top:28px}
  .button{min-height:53px;padding:0 18px;gap:25px}
  .text-link{font-size:12px}
  .hero-foot{font-size:8px;gap:12px}
  .hero-foot span:nth-child(2){text-align:right}
  .services-section,.process-section,.about-section,.questions-section{padding-block:70px}
  .section-heading h2,.about-head h2,.process-copy h2,.questions-intro h2,.contact-copy h2{font-size:clamp(42px,10.5vw,56px)}
  .section-heading>p{font-size:14px}
  .service-card{min-height:260px}
  .process-photo{min-height:350px}
  .photo-caption{left:13px;right:13px;bottom:13px;padding:13px;font-size:12px}
  .caption-star{width:36px;height:36px;font-size:22px}
  .process-intro{font-size:14px}
  .process-steps li{padding:20px 0}
  .about-copy .about-lead{font-size:19px}
  .about-copy p{font-size:14px}
  .value-strip{grid-template-columns:1fr;margin-top:48px;padding-top:0}
  .value-strip>div,.value-strip>div:first-child{padding:22px 0;border-right:0;border-bottom:1px solid #f7f9fc}
  .value-strip>div:last-child{border-bottom:0}
  .value-strip span{margin-bottom:8px}
  .value-strip p{max-width:none}
  .questions-intro p{font-size:14px}
  .faq-list summary{font-size:14px;padding:21px 0}
  .contact-section{padding:75px 0 80px}
  .contact-copy>p{font-size:14px}
  .contact-email{font-size:14px}
  .contact-form{padding:20px;gap:15px;border-radius:19px}
  .form-row{grid-template-columns:1fr;gap:15px}
  .footer-inner{min-height:130px;flex-wrap:wrap;align-content:center;gap:17px}
  .footer-inner>span{order:3;flex-basis:100%}
}
@media(max-width:360px){
  .hero h1{font-size:45px}
  .hero-foot{letter-spacing:0}
  .hero-foot span:nth-child(2){display:none}
  .contact-email{font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
