@font-face{font-family:Metropolis;src:url('assets/metropolis-medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--ink:#111111;--dark:#222225;--paper:#fff;--soft:#f5f5f5;--muted:#626267;--line:#dedee0;--accent:#a82c3c;--accent-hover:#8e2533;--light:#bcbcc2}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d44f6b;outline-offset:5px}p,h1,h2,h3,figure{margin:0}img{max-width:100%;display:block}::selection{background:#d9d9df;color:#19191b}.container{max-width:1280px;margin-inline:auto;padding-inline:48px}.header,.hero{background:var(--ink);color:white}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:110px}.brand{width:260px;display:block;flex-shrink:0}.brand img{width:100%;height:auto}.header nav{display:flex;align-items:center;gap:36px;font-size:14px}.header nav a{padding-block:12px}.header nav a:hover{color:#fff}.nav-contact{display:flex;gap:28px;align-items:center;border-bottom:1px solid #8e8e93}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:38px;padding-bottom:64px;align-items:center}.hero h1{font-size:clamp(48px,5.5vw,76px);font-weight:400;line-height:1.09}.hero-copy>p{color:var(--light);max-width:435px;margin-top:28px;font-size:18px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:56px;background:var(--accent);color:white;padding:15px 24px;border:0;border-radius:3px;font-size:15px;font-weight:700;transition:background .15s}.button:hover{background:var(--accent-hover)}.hero .button{margin-top:32px}.button span{font-size:23px;font-weight:400;line-height:1}.text-link{display:flex;width:fit-content;gap:24px;align-items:center;font-size:14px;border-bottom:1px solid #747477;padding-block:8px}.hero .text-link{margin-top:18px;color:#d0d0d5}.text-link:hover{color:#fff;border-color:currentColor}.portrait{min-width:0;border-radius:4px;overflow:hidden}.portrait>img{border-radius:1000px;width:100%;height:auto;aspect-ratio:1/1.02;object-fit:cover;object-position:center;box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);}.portrait figcaption{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;font-size:14px;border-top:2px solid var(--accent);background:#252527}.hero-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:25px;position:relative;font-size:14px;color:#bcbcc2}.hero-bottom:before{content:'';position:absolute;height:1px;background:#3c3c40;top:0;left:48px;right:48px}.hero-bottom a{color:white;display:flex;gap:28px}.section{padding-block:96px}h2{font-size:clamp(32px,3.5vw,46px);font-weight:400;line-height:1.2;}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:52px}.section-intro>p{max-width:450px;color:var(--muted);font-size:17px}.option{display:grid;grid-template-columns:36px 1fr 1.35fr 64px;gap:26px;border-top:1px solid var(--line);padding-block:30px;align-items:start}.service-icon{display:block;color:var(--ink);margin-top:3px;flex-shrink:0}h3{font-size:21px;font-weight:400;line-height:1.4}.option p{color:var(--muted);font-size:15px}.option .detail{font-size:13px;margin-top:10px;color:#717177}.option>a{display:flex;min-height:44px;align-items:center;justify-content:flex-end;font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b5b5ba}.option>a:hover{text-decoration-color:var(--ink)}.availability{font-size:12px;color:var(--muted);margin-top:22px;max-width:850px}.process{background:var(--dark);color:white}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}.process-intro>p{color:var(--light);margin-top:25px;max-width:390px}.process .text-link{margin-top:28px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:24px;padding-block:25px;border-top:1px solid #49494d}.steps li:first-child{padding-top:0;border-top:0}.steps li:last-child{padding-bottom:0}.step-number{font-size:14px;color:#bcbcc2;margin-top:4px}.steps h3{font-size:21px}.steps p{color:var(--light);font-size:15px;margin-top:10px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:96px}.contact-copy>p{max-width:375px;margin-top:24px;color:var(--muted);font-size:17px}.contact-note{border-top:1px solid var(--line);padding-top:24px;margin-top:52px;max-width:375px}.contact-note h3{font-size:17px}.contact-note p{font-size:14px;color:var(--muted);margin-top:12px}.form-notice{font-size:14px;color:#505056;border-left:3px solid #8b8b91;background:#f5f5f5;padding:14px 18px;margin-bottom:26px}fieldset{border:0;margin:0;padding:0;min-width:0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;margin-bottom:18px;min-width:0}label{font-size:14px;margin-bottom:8px}label span{color:var(--muted);font-size:12px}input,select,textarea{width:100%;border:1px solid #cfcfd3;border-radius:3px;background:#fafafa;padding:12px;color:#5a5a61;font-size:16px;line-height:1.5;opacity:1;-webkit-text-fill-color:#5a5a61}textarea{resize:vertical;min-height:128px}input::placeholder,textarea::placeholder{color:#77777d;-webkit-text-fill-color:#77777d;opacity:1}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.contact .button{width:100%;background:#6a6a70;cursor:not-allowed;opacity:1}.footer{background:var(--ink);color:var(--light);padding-block:40px 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px;border-bottom:1px solid #3c3c40}.footer-top .brand{width:240px}.footer-top>a:last-child{font-size:14px;display:flex;gap:24px}.disclosure{max-width:980px;font-size:12px;line-height:1.8;margin-top:26px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:22px;font-size:12px}.footer a:hover{color:white}.skip-link{position:absolute;top:-100px;left:16px;background:white;color:#19191b;padding:12px 20px;z-index:10}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero-grid{padding-top:54px;padding-bottom:80px}}
@media(max-width:1050px){.container{padding-inline:32px}.hero-grid{gap:36px}.hero h1{font-size:58px}.hero-copy>p{font-size:16px}.hero-bottom:before{left:32px;right:32px}.process-grid,.contact-grid{gap:48px}.option{grid-template-columns:28px .9fr 1.2fr 64px;gap:20px}.brand{width:235px}.header nav{gap:24px}}
@media(max-width:760px){.container{padding-inline:24px}.header-inner{min-height:86px;gap:16px}.brand{width:210px}.header nav>a:not(.nav-contact){display:none}.header nav{font-size:13px;gap:0}.nav-contact{gap:14px}.hero-grid{padding-top:32px;padding-bottom:32px;grid-template-columns:1fr;gap:36px}.hero h1{font-size:clamp(48px,10.5vw,72px);}.hero-copy>p{font-size:17px;max-width:500px;margin-top:24px}.hero .button{margin-top:26px}.hero .text-link{margin-top:14px}.portrait{max-width:540px;width:100%;margin-inline:auto}.portrait>img{object-position:center 38%}.portrait figcaption{padding:14px 20px}.hero-bottom{display:block;font-size:13px;padding-top:20px;padding-bottom:24px}.hero-bottom:before{left:24px;right:24px}.hero-bottom a{margin-top:8px;gap:16px}.section{padding-block:64px}.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:34px}h2{font-size:36px}.section-intro>p{font-size:16px}.option{grid-template-columns:26px 1fr 64px;gap:10px 14px;padding-block:25px}.option>div{grid-column:2;grid-row:2}.option>a{grid-column:3;grid-row:1}.option h3{font-size:20px;align-self:center}.option p{font-size:15px}.service-icon{align-self:center;margin-top:0;width:24px;height:24px}.option .detail{font-size:12px}.process-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.process-intro>p,.contact-copy>p{max-width:520px}.steps li{gap:20px}.steps li:first-child{border-top:1px solid #49494d;padding-top:25px}.contact-note{margin-top:28px;padding-top:20px;max-width:520px}.footer{padding-top:32px}.footer-top .brand{width:205px}.footer-top{gap:16px}.footer-top>a:last-child{gap:12px;font-size:12px}.footer-bottom{flex-wrap:wrap;gap:8px}}
@media(max-width:390px){.container{padding-inline:20px}.brand{width:180px}.header nav{font-size:12px}.nav-contact{gap:8px}.hero h1{font-size:46px}.hero-bottom:before{left:20px;right:20px}.button{font-size:14px;gap:18px;padding-inline:18px}.field-row{grid-template-columns:1fr;gap:0}.footer-top{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.header,.hero,.process,.footer{background:white;color:black}.hero-copy>p,.steps p,.process-intro>p{color:#444}.button,.text-link,.header nav,.hero-bottom,.contact{display:none}.section{padding-block:30px}.hero-grid{padding-block:20px}.portrait{max-width:280px}.footer{break-inside:avoid}}

.portrait figcaption strong{font-weight:700;color:white;font-size:17px}.portrait figcaption span:first-child{color:#bcbcc2}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px;font-size:16px}.contact-details a{border-bottom:1px solid #c6c6ca;padding-bottom:3px;overflow-wrap:anywhere}.contact-details a:hover{color:var(--ink);border-color:var(--ink)}.contact-details span{margin-left:18px}.form-notice a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.license{font-size:13px;margin-top:24px}.license+.disclosure{margin-top:12px}



/* Neutral heading typography with familiar system fallbacks. */
h1,h2,h3{font-family:Metropolis,"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500}.hero h1{font-weight:500;font-size:clamp(44px,5vw,68px)}h2{font-weight:500;}h3{font-weight:500;}@media(max-width:1050px){.hero h1{font-size:52px}}@media(max-width:760px){.hero h1{font-size:clamp(42px,9.5vw,64px)}}@media(max-width:390px){.hero h1{font-size:42px}}

/* Four-step progression, with a vertical reading order on phones. */
.process-grid{display:block}
.process-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;align-items:start}
.process-intro>p{margin:0;max-width:460px}
.process-intro>.text-link{grid-column:2;margin-top:20px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:52px}
.steps li,.steps li:first-child,.steps li:last-child{display:block;position:relative;border:0;padding:0;min-width:0}
.step-number{display:flex;align-items:center;gap:16px;color:#d1d1d5;margin:0 0 24px;font-size:15px}
.step-number::after{content:'';height:1px;background:#626267;flex:1}
.steps li:not(:last-child)::after{content:'→';position:absolute;right:-23px;top:-2px;color:#bcbcc2;font-size:18px}
.steps h3{font-size:20px;line-height:1.4}
.steps p{font-size:15px;line-height:1.7}
@media(min-width:761px) and (max-width:1000px){
 .steps{gap:20px}.steps h3{font-size:18px}.steps li:not(:last-child)::after{right:-17px;font-size:15px}
}
@media(max-width:760px){
 .option{grid-template-columns:26px minmax(0,1fr);gap:14px}
 .option h3{grid-column:2;grid-row:1}
 .option>div{grid-column:1 / -1;grid-row:2}
 .option>a{grid-column:1 / -1;grid-row:3;justify-content:flex-start;min-height:44px;width:fit-content}
 .option .detail{font-size:13px}
 .process-intro{display:block}
 .process-intro>p{margin-top:24px;max-width:none}
 .process-intro>.text-link{margin-top:20px}
 .steps{grid-template-columns:1fr;gap:0;margin-top:36px}
 .steps li,.steps li:first-child,.steps li:last-child{display:grid;grid-template-columns:30px minmax(0,1fr);gap:18px;padding:0 0 32px}
 .steps li:last-child{padding-bottom:0}
 .step-number{display:block;margin:2px 0 0;font-size:14px}
 .step-number::after{display:none}
 .steps li:not(:last-child)::after{content:'';left:10px;top:35px;bottom:10px;width:1px;height:auto;background:#626267}
 .steps h3{font-size:20px}
 .contact-grid>*{min-width:0}
 .field-row{grid-template-columns:1fr;gap:0}
 .header-inner{flex-wrap:wrap}
 .hero .button{max-width:100%}
}
@media(max-width:350px){.hero h1{font-size:36px}h2{font-size:30px}.portrait figcaption{padding-inline:16px;font-size:13px}}

.testimonials{background:#f5f5f5}
.sample-notice{font-size:14px;color:#626267;margin-top:18px;max-width:760px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:36px}
.testimonial-grid figure{border-top:1px solid #cacace;padding-top:24px;display:flex;flex-direction:column;justify-content:space-between}
.testimonial-grid blockquote{margin:0;font-size:20px;line-height:1.65}
.testimonial-grid figcaption{margin-top:24px;font-size:13px;color:#626267}
@media(max-width:760px){.testimonial-grid{grid-template-columns:1fr;gap:28px}.testimonial-grid blockquote{font-size:18px}.testimonial-grid figcaption{margin-top:16px}}

.testimonial-grid figcaption{display:flex;align-items:center;gap:14px}.testimonial-avatar{width:56px;height:56px;flex:0 0 56px;border-radius:50%;object-fit:cover;object-position:center 35%}

.testimonial-copy h3{font-size:21px;line-height:1.4;margin:0 0 18px}.testimonial-copy{flex:1}@media(max-width:760px){.testimonial-copy h3{font-size:20px;margin-bottom:14px}}

/* Keep the process link with its paragraph, independent of heading height. */
@media(min-width:761px){
 .process-intro{grid-template-rows:auto auto;row-gap:14px}
 .process-intro>h2{grid-column:1;grid-row:1 / 3}
 .process-intro>p{grid-column:2;grid-row:1}
 .process-intro>.text-link{grid-column:2;grid-row:2;margin-top:0;align-self:start}
 .step-number::after,.steps li:not(:last-child)::after{display:none}
 .step-number{margin-bottom:18px}
}

/* One quiet surface groups the process; dividers separate the stages. */
.steps{gap:0;background:#29292c;border:1px solid #414145;border-radius:4px;overflow:hidden}
.steps li,.steps li:first-child,.steps li:last-child{display:block;padding:26px 24px 28px;border:0}
.steps li:not(:first-child){border-left:1px solid #414145}
.step-marker{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.process-icon{color:#ededf0;flex-shrink:0}
.step-marker .step-number{display:block;margin:0;font-size:13px;color:#a9a9b0}
.step-number::after,.steps li:not(:last-child)::after{display:none}
.steps h3{font-size:18px}
.steps p{font-size:15px}
@media(min-width:761px) and (max-width:1000px){.steps li,.steps li:first-child,.steps li:last-child{padding:22px 18px}.steps h3{font-size:17px}}
@media(max-width:760px){
 .steps li,.steps li:first-child,.steps li:last-child{display:block;padding:24px;border:0}
 .steps li:not(:first-child){border-left:0;border-top:1px solid #414145}
 .step-marker{margin-bottom:16px}
 .steps h3{font-size:20px}
}

/* Distinct testimonial cards keep each story easy to scan. */
.testimonial-grid{gap:24px;align-items:stretch}
.testimonial-grid figure{background:#fff;border:1px solid #dedee0;border-radius:4px;padding:28px;min-width:0}
.testimonial-copy h3{margin-bottom:20px;font-size:20px;line-height:1.4}
.testimonial-grid blockquote{font-size:18px;line-height:1.75}
.testimonial-grid figcaption{border-top:1px solid #e7e7e9;padding-top:20px;margin-top:28px;gap:12px}
.testimonial-grid figcaption span{min-width:0}
@media(max-width:760px){
 .testimonial-grid{gap:20px}
 .testimonial-grid figure{padding:24px}
 .testimonial-copy h3{font-size:20px;margin-bottom:16px}
 .testimonial-grid figcaption{margin-top:24px;padding-top:18px}
}

/* Overlay the portrait caption to reduce hero height. */
.portrait{position:relative}
.portrait figcaption {
    position: absolute;
    left: 20px;
    bottom: 20px;
    max-width: calc(100% - 40px);
    padding: 14px 18px;
    background: rgba(44, 44, 47, .5);
    border: 1px solid var(--accent);
    border-radius: 3px;
    line-height: 1.65;
    backdrop-filter: blur(4px);
    box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);
}
.portrait figcaption span:first-child{color:#e2e2e5}
@media(max-width:760px){.portrait figcaption{left:14px;bottom:14px;max-width:calc(100% - 28px);padding:12px 14px;font-size:13px}}
@media(max-width:350px){.portrait figcaption{left:10px;bottom:10px;max-width:calc(100% - 20px);font-size:12px;padding:10px 12px}}

.steps{box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);}

.testimonial-grid figure{box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.02), 0 2px 2px hsl(0deg 0% 0% / 0.02), 0 4px 4px hsl(0deg 0% 0% / 0.02), 0 8px 8px hsl(0deg 0% 0% / 0.02), 0 16px 16px hsl(0deg 0% 0% / 0.02);}

.client-location{display:block;margin-top:3px;font-size:12px;color:var(--muted)}

.hero .button{box-shadow: 0 1px 1px hsl(0deg 0% 0% / 0.075), 0 2px 2px hsl(0deg 0% 0% / 0.075), 0 4px 4px hsl(0deg 0% 0% / 0.075), 0 8px 8px hsl(0deg 0% 0% / 0.075), 0 16px 16px hsl(0deg 0% 0% / 0.075);}

.hero-grid .portrait{width:90%;justify-self:end;overflow:visible;}@media(max-width:760px){.hero-grid .portrait{width:90%;max-width:486px;justify-self:center}}

/* A short, once-only reveal; content remains visible without JavaScript. */
.reveal-item{transition:opacity 480ms ease var(--reveal-delay,0ms)}
.reveal-item.reveal-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.reveal-item,.reveal-item.reveal-pending{opacity:1;transition:none}}
@media print{.reveal-item.reveal-pending{opacity:1}}
