@font-face{font-family:Noto;src:url(fonts/noto-regular.woff2) format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Noto;src:url(fonts/noto-bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--paper:#f7f6f2;--ink:#171c23;--muted:#686d73;--blue:#315af2;--line:#d9dbd9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Noto,Arial,sans-serif;font-size:15px;line-height:1.8;word-break:keep-all}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35;letter-spacing:-.055em}img{display:block;max-width:100%;height:auto}.wrap{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}.skip{position:fixed;left:20px;top:-100px;padding:10px;background:var(--ink);color:white;z-index:10}.skip:focus{top:10px}.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:700 28px/1 Arial,sans-serif;letter-spacing:-1.5px}.brand span{color:var(--blue)}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{margin-left:20px}.menu-toggle{display:none}.eyebrow{display:block;font-size:11px;letter-spacing:.09em;color:var(--muted);line-height:1.6}.hero{padding-top:68px;padding-bottom:64px}.hero .eyebrow{color:var(--blue);font-size:13px;letter-spacing:.01em;margin-bottom:26px}.hero h1{font-size:clamp(44px,5.5vw,78px);line-height:1.26;letter-spacing:-.065em}.hero h1 span{color:var(--blue)}.hero-bottom{margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:32px}.hero-bottom p{color:var(--muted);font-size:14px}.button{display:inline-flex;justify-content:space-between;gap:35px;align-items:center;background:var(--blue);color:#fff;padding:17px 23px;font-size:13px;font-weight:700;white-space:nowrap}.button:hover{background:#2145cc}.button span{font-size:19px}.work{padding-bottom:16px}.work-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.work-heading .eyebrow{margin-bottom:8px}.work h2{font-family:Noto,Arial,sans-serif;font-size:24px;letter-spacing:-.025em}.work h2 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:18px;letter-spacing:0}.text-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:4px;display:inline-flex;gap:25px;align-items:center}.project-frame{display:block;border:1px solid #ced1d5;background:#eeefed;padding:14px;transition:transform .2s}.project-frame:hover{transform:translateY(-3px)}.frame-bar{display:flex;justify-content:space-between;align-items:center;color:#818892;font:10px/1 Arial,sans-serif;letter-spacing:1px;padding:5px 4px 17px}.project-frame img{width:100%;border:1px solid #dedfdc}.work-caption{margin-top:15px;color:var(--muted);font-size:11px}.section{padding-top:108px;padding-bottom:100px}.section-heading{margin-bottom:42px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:36px;letter-spacing:-.05em}.service{border-top:1px solid var(--line);display:grid;grid-template-columns:50px 1fr 1.1fr;gap:20px;padding:30px 0}.service:last-child{border-bottom:1px solid var(--line)}.row-no{font-size:11px;color:var(--blue);padding-top:5px}.service h3{font-size:22px}.service p{font-size:13px;color:#454b52}.service ul{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:6px 16px;flex-wrap:wrap;color:var(--muted);font-size:11px}.service li:before{content:'—';margin-right:7px;color:#969ca4}.section-note{font-size:11px;color:var(--muted);margin-top:20px}.diagnosis{background:#eaece9;padding:82px 0}.diagnosis-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.diagnosis h2{margin:24px 0;font-size:33px}.diagnosis-intro{font-size:13px;color:var(--muted);max-width:350px}.sample-label{display:inline-block;font-size:10px;border:1px solid #bbc2c4;padding:3px 9px;margin-top:24px}.comparison{background:var(--paper);padding:26px}.comparison-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:21px}.comparison h3{font-size:17px}.comparison-top>span{color:var(--blue);font-size:26px}.hours-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:25px}.hours-row span{display:block;font-size:10px;color:var(--muted);word-break:break-word}.hours-row strong{display:block;font-size:17px;letter-spacing:-.06em;margin-top:10px}.hours-row>div:last-child strong{color:var(--blue)}.data-note{font-size:10px;color:var(--muted);margin:22px 0}.proposal{border-top:1px solid var(--line);padding-top:20px}.proposal>span{font-size:10px;color:var(--blue)}.proposal p{font-size:12px;margin-top:8px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.steps li{border-top:1px solid var(--line);padding-top:22px}.steps li>span{color:var(--blue);font-size:12px}.steps h3{font-size:20px;margin:18px 0 13px}.steps p{color:var(--muted);font-size:13px}.about{padding-top:38px;padding-bottom:88px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr}.about h2{font-size:25px}.about h2 span{font-size:13px;font-weight:400;color:var(--muted);margin-left:20px;letter-spacing:0}.about p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:20px}.contact{background:var(--blue);color:#fff;padding:70px 0 24px}.contact-inner{display:grid;grid-template-columns:1fr auto;gap:36px}.contact h2{font-size:38px}.contact p{font-size:13px;line-height:1.9;margin-top:20px;color:#e1e7ff}.contact-action{display:flex;flex-direction:column;align-items:flex-start}.button-white{background:#fff;color:var(--blue)}.button-white:hover{background:#e8edff}.email{font:15px/1.4 Arial,sans-serif;margin-top:20px;border-bottom:1px solid #a6b7ff;padding-bottom:5px}#copy-email{background:none;color:#fff;border:0;padding:12px 0;font-size:11px}#copy-status{min-height:20px;font-size:11px;margin:0}.contact-guidance{grid-column:1/-1;border-top:1px solid #ffffff40;margin-top:10px;padding-top:18px}.contact-guidance p{font-size:10px;margin-top:5px;color:#d6dfff}.contact-guidance span{margin-left:14px}.footer{height:110px;display:flex;align-items:center;justify-content:space-between}.footer p{font-size:11px;color:var(--muted)}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero-bottom{align-items:flex-start;flex-direction:column}.diagnosis-layout{gap:36px}.service{grid-template-columns:30px 1fr 1.15fr;gap:16px}.service h3{font-size:19px}.contact h2{font-size:32px}.hours-row{grid-template-columns:1fr;gap:16px}.hours-row strong{margin-top:4px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:auto;min-height:84px;flex-wrap:wrap;gap:24px;padding-block:25px}.brand{font-size:25px}.menu-toggle{display:block;background:none;border:0;font-size:12px}.js nav{display:none}.js nav.open{display:flex}nav{width:100%;flex-wrap:wrap;gap:16px;font-size:12px}.nav-contact{margin-left:auto}.hero{padding-top:48px;padding-bottom:44px}.hero h1{font-size:clamp(30px,7.7vw,52px)}.hero-bottom{margin-top:24px;gap:24px}.hero-bottom p{font-size:12px}.desktop-break{display:none}.hero .eyebrow{font-size:11px;margin-bottom:20px}.work-heading{align-items:center}.work h2{font-size:22px}.work h2 span{display:block;margin:6px 0 0;font-size:10px}.text-link{font-size:11px;gap:12px}.project-frame{padding:8px}.frame-bar{font-size:8px;padding-bottom:10px}.work-caption{font-size:10px;line-height:1.8}.section{padding-block:66px}.section-heading{margin-bottom:28px}h2{font-size:28px}.service{grid-template-columns:22px 1fr;gap:6px 12px;padding-block:25px}.service h3{font-size:20px}.service>div{grid-column:2}.service p{margin-top:10px;font-size:12px}.service ul{display:block;font-size:11px;margin-top:12px}.service li+li{margin-top:4px}.diagnosis{padding-block:58px}.diagnosis-layout{grid-template-columns:1fr;gap:30px}.diagnosis h2{font-size:29px;margin-block:18px}.diagnosis-intro{max-width:100%;font-size:12px}.sample-label{margin-top:16px}.comparison{padding:22px}.hours-row{grid-template-columns:1fr 1fr;gap:16px}.hours-row strong{font-size:16px}.steps{grid-template-columns:1fr;gap:24px}.steps li{display:grid;grid-template-columns:24px 1fr;gap:0 12px;padding-top:20px}.steps h3{font-size:19px;margin:0}.steps p{grid-column:2;font-size:12px;margin-top:12px}.about{grid-template-columns:1fr;gap:22px;padding-bottom:55px}.about h2 span{display:block;margin:10px 0 0;font-size:12px}.about p:not(.eyebrow){font-size:12px}.contact{padding-top:48px}.contact-inner{grid-template-columns:1fr;gap:30px}.contact h2{font-size:30px}.contact p{font-size:12px}.contact-guidance span{display:block;margin:8px 0}.contact-guidance p{font-size:10px}.footer{height:90px}.footer .brand{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Imported original portfolio — independent images, preserved source labels. */
.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}.portfolio{padding-top:15px;padding-bottom:16px}.portfolio-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.portfolio-heading h2{margin-top:13px;font-size:34px}.portfolio-heading>p{font-size:13px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.portfolio-image{display:block;background:#ede9df;overflow:hidden}.portfolio-image img{width:100%;aspect-ratio:4/3;object-fit:contain;transition:transform .3s ease}.portfolio-image:hover img{transform:scale(1.015)}.portfolio-meta{padding-top:17px}.portfolio-tag{font-size:10px;color:var(--blue)}.portfolio-meta h3{font-size:21px;margin-top:7px}.portfolio-meta h3 a{display:flex;justify-content:space-between;align-items:center;gap:15px}.portfolio-meta h3 a:hover{color:var(--blue)}.portfolio-meta h3 span[aria-hidden]{font-size:20px;font-weight:400}.portfolio-meta p{font-size:12px;color:var(--muted);margin-top:8px}.portfolio-source{font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:30px;margin-top:30px}.portfolio-source a{margin-left:15px;border-bottom:1px solid #a9afb3}.corrections-heading{margin-top:50px;margin-bottom:22px;display:flex;align-items:center;gap:25px}.corrections-heading h3{font-size:24px}.correction{border-top:1px solid var(--line)}.correction:last-child{border-bottom:1px solid var(--line)}.correction summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font-size:16px;list-style:none}.correction summary::-webkit-details-marker{display:none}.correction summary span{font-size:22px;color:var(--blue)}.correction[open] summary span{transform:rotate(45deg)}.correction summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.correction>p{font-size:13px;color:var(--muted);max-width:740px;margin:0 0 24px}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:0 auto 35px}.before-after figure{margin:0}.before-after figcaption,.film-label{font-size:11px;margin-bottom:12px;color:var(--muted)}.before-after img{width:100%;height:auto;border:1px solid var(--line)}.filmstrips{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:30px}.filmstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.filmstrip img{border:1px solid var(--line);width:100%}.film-label span{float:right;font-size:10px}.correction a:focus-visible{outline-offset:3px}
@media(max-width:700px){.portfolio-heading{display:block;margin-bottom:24px}.portfolio-heading h2{font-size:28px}.portfolio-heading>p{margin-top:17px;font-size:12px}.portfolio-grid{grid-template-columns:1fr;gap:30px}.portfolio-meta h3{font-size:21px}.portfolio-meta p{font-size:12px}.portfolio-source a{display:block;width:fit-content;margin:10px 0 0}.corrections-heading{display:block;margin-top:36px}.corrections-heading h3{font-size:24px;margin-top:10px}.correction summary{font-size:15px;padding-block:20px}.correction>p{font-size:12px}.before-after{gap:12px;margin-bottom:24px}.filmstrips{grid-template-columns:1fr;gap:20px}.filmstrip{gap:5px}}

/* Production accessibility fixes measured by Lighthouse. */
.diagnosis .eyebrow,.diagnosis-intro{color:#555b61}
.contact p,.contact-guidance p,.contact-guidance span{color:#fff}

.contact a:focus-visible,.contact button:focus-visible,.detail-contact a:focus-visible,.detail-contact button:focus-visible{outline:3px solid #fff;outline-offset:5px}
html:not(.js) .menu-toggle,html:not(.js) .contact #copy-email{display:none}
