:root{--navy:#0c1c39;--blue:#225bef;--ink:#122343;--muted:#58677d;--line:#dce2ea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;background:#fff;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #4884ff;outline-offset:6px}header{height:108px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Arial,sans-serif;font-size:26px;font-weight:700;letter-spacing:.07em;line-height:1.3}.brand span{display:block;font-family:inherit;font-size:11px;font-weight:400;letter-spacing:.18em;margin-top:7px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a:hover{color:var(--blue)}.nav-contact{border:1px solid var(--line);padding:12px 20px}.nav-contact span{padding-left:20px}.hero{background:var(--navy);color:white;position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:690px;padding:80px 5% 72px;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label>span{font:600 12px/1.5 Arial,sans-serif;letter-spacing:.16em}.hero .eyebrow{color:#a8c0f8}.hero h1{font-size:clamp(40px,4.7vw,70px);letter-spacing:.055em;line-height:1.55;margin:30px 0 24px;font-weight:500}.lead{font-size:17px;line-height:2.15;color:#c6d1e7}.hero-link{display:inline-flex;gap:55px;border-bottom:1px solid #6d7f9c;padding:16px 0;margin-top:20px;font-size:14px}.hero-art{position:relative;align-self:center;height:440px;margin-left:0;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover}.art-caption{position:absolute;bottom:18px;right:20px;font:10px Arial;letter-spacing:.16em;color:#a8b9d7}.hero-foot{position:absolute;bottom:22px;left:5%;right:5%;display:flex;justify-content:space-between;font:10px Arial;letter-spacing:.16em;color:#7f95b8}.section{max-width:1280px;margin:auto;padding:110px 5%;scroll-margin-top:25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section-label>span{color:var(--blue)}h2{font-size:36px;letter-spacing:.055em;line-height:1.65;font-weight:500;margin:22px 0}.large-copy{font-size:26px;line-height:1.8;margin:0 0 28px}.about-copy>p:not(.large-copy){color:var(--muted);font-size:16px}.services{max-width:none;background:#f3f6fa;padding:95px max(5%,calc((100vw - 1152px)/2))}.section-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:34px}.section-top .eyebrow{color:var(--blue)}.section-top>p{font-size:14px;color:var(--muted)}.service{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cbd4e1;padding:55px 0;gap:80px}.service-number{font:14px Arial;color:#72829d}.tag{font-size:13px;color:var(--blue);letter-spacing:.07em}.service h3{font:500 58px/1.1 Georgia,serif;letter-spacing:-.035em;margin:28px 0}.service h3 em{font-weight:400}.service h4{font-size:24px;line-height:1.75;font-weight:500;margin:0 0 20px}.service-description>p{font-size:16px;color:var(--muted)}ul{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}li{font-size:12px;border:1px solid #d1dbe9;padding:4px 10px;background:#fff}.button{background:var(--navy);color:#fff;padding:16px 24px;display:inline-flex;align-items:center;gap:48px;font-size:14px;transition:background .2s}.button:hover{background:var(--blue)}.service-description>.note{font-size:12px;line-height:1.8;margin-top:20px}.tee h3{font-family:Arial,sans-serif;font-size:60px;font-weight:600}.tee h3 em{font-style:normal;color:var(--blue);font-size:46px}.company{display:grid;grid-template-columns:1fr 1.6fr;gap:80px}dl{margin:0}dl>div{display:grid;grid-template-columns:130px 1fr;padding:25px 0;border-bottom:1px solid var(--line);font-size:15px}dt{color:var(--muted)}dd{margin:0}.contact{padding:80px 5%;background:var(--blue);color:#fff;text-align:center}.contact .eyebrow{color:#c4d3ff}.contact h2{font-size:40px}.contact p{font-size:14px}.contact>a{font:clamp(20px,3vw,36px) Arial;display:inline-block;border-bottom:1px solid #ffffff66;padding:15px 0}.contact>a span{padding-left:35px}footer{display:flex;align-items:center;justify-content:space-between;padding:50px 5%;gap:30px}footer .brand{font-size:22px}footer>p,footer>a:last-child{font-size:12px;color:var(--muted)}@media(max-width:850px){header{height:auto;min-height:100px;padding:22px 6%;gap:20px;flex-wrap:wrap}.brand{font-size:23px}nav{gap:18px;font-size:12px;flex-wrap:wrap}.nav-contact{border:0;padding:0}.nav-contact span{padding-left:5px}.hero{padding:55px 6% 60px;grid-template-columns:1fr;min-height:0}.hero h1{font-size:42px}.hero-art{height:230px;margin:25px -7% 0}.hero-foot{font-size:8px;gap:20px}.hero-foot span:last-child{max-width:150px;text-align:right}.section{padding:65px 6%}.about,.company,.service{grid-template-columns:1fr;gap:25px}h2{font-size:30px}.large-copy{font-size:23px}.section-top{display:block}.section-top>p{display:none}.service{padding:35px 0 45px}.service h3{font-size:48px;margin:15px 0}.service h3 br{display:none}.service h3 em{margin-left:10px}.tee h3{font-size:43px}.tee h3 em{font-size:35px}.service h4{font-size:22px}dl>div{grid-template-columns:100px 1fr;font-size:14px}.contact{padding:60px 6%}.contact h2{font-size:32px}.contact>a span{padding-left:10px}footer{align-items:flex-start;flex-wrap:wrap;padding:35px 6%}footer>p{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Readable typography, blue links, strong focus and generous targets, informed by DADS. */
:root{--blue:#0031d8;--ink:#1a1a1c;--muted:#4d4d4d;--line:#b3b3b3}body{font-size:16px;letter-spacing:.02em}header{height:104px}.brand span{font-size:14px;letter-spacing:.06em}nav{font-size:16px;gap:24px}nav a{text-decoration:underline;text-underline-offset:5px;padding:12px 0}.nav-contact{padding:12px 20px;border:1px solid var(--blue);color:var(--blue);border-radius:8px}.hero{background:#f1f4ff;color:var(--ink);min-height:620px;gap:40px;padding-top:64px}.hero .eyebrow{color:var(--blue);font-size:14px}.hero h1{font-weight:700;font-size:clamp(36px,4.2vw,62px);line-height:1.6}.lead{color:var(--muted);font-size:18px}.hero-link{color:var(--blue);font-size:16px;text-decoration:underline;text-underline-offset:5px;border:0;font-weight:700}.hero-art{height:370px}.hero-foot{color:#4d4d4d;font-size:12px}.art-caption{font-size:12px}.eyebrow,.section-label>span{font-size:14px}h2{font-weight:700;font-size:36px}.services{background:#f5f5f5}.section-top>p{font-size:16px}.service h3{font-family:Arial,sans-serif;font-size:46px;letter-spacing:-.02em}.service h3 em{font-style:normal;color:var(--blue)}.tag,li{font-size:14px}.service h4{font-weight:700}.button{background:var(--blue);border-radius:8px;min-height:56px;font-size:16px;text-decoration:underline;text-underline-offset:4px;font-weight:700}.button:hover{background:#0024a3}.service-description>.note{font-size:14px}dl>div{font-size:16px}dd a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.contact{background:#edf2ff;color:var(--ink)}.contact .eyebrow{color:var(--blue)}.contact p{font-size:16px}.contact>a{color:var(--blue);text-decoration:underline;text-underline-offset:8px}footer>p,footer>a:last-child{font-size:14px}a:hover{text-decoration:underline}a:focus-visible{outline:4px solid #1a1a1c;outline-offset:2px;background:#ffd43d!important;color:#1a1a1c!important;box-shadow:0 0 0 7px #ffd43d}.skip{position:absolute;top:-100px;left:12px;z-index:50;background:#fff;padding:16px;color:var(--blue)}.skip:focus{top:12px}@media(max-width:850px){header{height:auto}nav{font-size:14px;gap:16px}.hero{gap:0;min-height:0}.hero-art{margin:25px 0 0;height:230px}.hero h1{font-size:40px}.hero-foot{font-size:10px}.section-top>p{display:block}.service h3{font-size:36px}.tee h3 em{font-size:32px}dl>div{grid-template-columns:100px 1fr}.contact>a{font-size:clamp(17px,5vw,28px)}footer{gap:20px}}@media(max-width:380px){.hero h1{font-size:34px}.brand{font-size:21px}nav{gap:12px}dl>div{display:block}dt{margin-bottom:8px}}

/* Compact service directory */
.services{padding-top:56px;padding-bottom:56px}.services .section-top{padding-bottom:20px}.services h2{font-size:30px;margin:12px 0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-summary{border-top:1px solid #b3b3b3;padding:22px 0 0}.service-summary .tag{margin:0 0 8px}.service-summary h3{font:700 24px/1.5 Arial,sans-serif;letter-spacing:0;margin:0 0 10px}.service-summary>p:not(.tag){font-size:16px;color:var(--muted);margin:0 0 14px}.service-summary>a{display:inline-flex;align-items:center;min-height:44px;gap:20px;color:var(--blue);font-size:16px;text-decoration:underline;text-underline-offset:4px}.about{padding-top:80px;padding-bottom:80px}@media(max-width:700px){.service-grid{grid-template-columns:1fr;gap:24px}.services{padding-top:40px;padding-bottom:40px}.about{padding-top:56px;padding-bottom:56px}.service-summary h3{font-size:22px}}
