:root{--blue:#123f62;--ink:#203647;--muted:#526573;--line:#d9e2e8;--light:#f1f6f9;--accent:#187aa2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid #d07a20;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.65;letter-spacing:.05em}h3{font-size:1.25rem;line-height:1.6}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:0}header{min-height:100px;padding:20px 4%;display:flex;gap:32px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}.brand{display:flex;gap:13px;align-items:center;white-space:nowrap}.brand-mark{background:var(--blue);color:white;font-family:Georgia,serif;font-size:32px;line-height:48px;width:48px;text-align:center;border-radius:50% 50% 10% 50%}.brand small{display:block;font-size:12px;letter-spacing:.08em}.brand strong{display:block;font-size:23px;letter-spacing:.04em}nav{display:flex;gap:26px;font-size:14px;font-weight:bold}.header-contact{background:var(--blue);color:white;padding:13px 22px;font-size:14px;white-space:nowrap}.header-contact:hover,.button:hover{background:#225e85;color:white}.header-contact span{margin-left:20px}.hero{display:grid;grid-template-columns:1.1fr 1fr;max-width:1600px;margin:auto;min-height:630px}.hero-copy{padding:85px 30px 36px max(6vw,30px);background:var(--light)}.eyebrow{font-size:13px;color:var(--accent);font-weight:bold;letter-spacing:.18em;margin-bottom:20px}h1{font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.65;letter-spacing:.035em;font-weight:700;margin-bottom:26px}.intro{color:var(--muted);line-height:2.1}.button{margin-top:36px;background:var(--blue);color:white;padding:15px 26px;display:inline-flex;gap:55px;align-items:center}.hero-foot{display:flex;gap:14px;align-items:center;font-size:11px;letter-spacing:.1em;margin-top:55px;color:var(--muted)}.hero-foot i{width:16px;height:1px;background:#a0b6c6}.hero-photo{position:relative;overflow:hidden;min-height:580px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 54%}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:75px 35px 28px;color:white;background:linear-gradient(transparent,rgba(9,28,43,.78))}.photo-caption span{display:block;font-size:21px;letter-spacing:.09em}.photo-caption small{font-size:12px}.trust-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1200px;margin:auto;padding:28px 30px;border-bottom:1px solid var(--line)}.trust-bar>p:first-child{display:flex;gap:10px;align-items:baseline}.trust-bar strong{font-family:Georgia,serif;font-size:40px;font-weight:normal;color:var(--blue)}.trust-bar>p:nth-child(2){font-size:16px;letter-spacing:.07em}.trust-bar>a{font-size:12px}.trust-bar b{display:block;font-size:25px;line-height:1.4;letter-spacing:.05em}.mobile{display:none}.section{max-width:1200px;margin:auto;padding:95px 30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:45px}.section-heading>p{color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services article{padding:33px 28px 30px;border-right:1px solid var(--line)}.services article:first-child{padding-left:0}.services article:last-child{border:0;padding-right:0}.number{font-size:12px;letter-spacing:.14em;color:var(--accent)}.services h3{margin:22px 0 14px}.services p{color:var(--muted);font-size:15px}.services a{display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:bold;margin-top:25px}.works-section{background:var(--light)}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.works img{width:100%;height:320px;object-fit:cover}.works figure:nth-child(2) img{object-position:center}.works small{font-size:12px;color:var(--accent);display:block;margin:19px 0 6px}.price-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.price-section h2{margin-bottom:20px}.text-link{display:inline-block;border-bottom:1px solid var(--blue);margin-top:28px;font-size:14px}.price-box table{border-collapse:collapse;width:100%}.price-box caption{text-align:left;font-size:14px;border-bottom:2px solid var(--blue);padding-bottom:12px}.price-box th,.price-box td{padding:22px 0;border-bottom:1px solid var(--line);text-align:left}.price-box th{font-weight:500}.price-box td{text-align:right}.price-box strong{font-size:32px;letter-spacing:.03em;font-weight:600}.price-box th small{display:block;font-size:12px;color:var(--muted)}.price-example{margin-top:24px;background:var(--light);padding:22px;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:14px}.price-example small{font-size:12px}.note{font-size:12px;color:var(--muted);margin-top:15px;line-height:1.8}.about-section{background:var(--blue);color:white}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:90px}.about .eyebrow{color:#9ad6ef}.about h2{margin-bottom:28px}.about>div>p:not(.eyebrow){font-size:15px;line-height:2.2;color:#deebf3}.area{border-top:1px solid #54718a;margin-top:32px;padding-top:20px}.area small{font-size:12px;color:#b7d8eb}.area p{font-size:16px;margin-top:5px}dl{margin:0}dl>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #54718a;padding:17px 0;font-size:14px}dt{color:#bdd5e5}dd{margin:0}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.contact h2{font-size:clamp(1.65rem,2.8vw,2.3rem)}.contact>div>p:last-child{margin-top:20px;color:var(--muted);font-size:14px}.contact-detail{text-align:center;border-left:1px solid var(--line);padding-left:36px}.contact-detail>span{font-size:14px}.phone{font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:bold;display:block;color:var(--blue);letter-spacing:.02em;white-space:nowrap}.contact-detail>p{font-size:14px;color:var(--muted)}.map-link{display:flex;justify-content:space-between;border:1px solid var(--line);padding:13px 22px;margin-top:25px;font-size:14px}footer{background:var(--light);padding:35px 5%;display:flex;flex-wrap:wrap;gap:20px;align-items:center;font-size:12px}footer .footer-brand{font-size:18px;font-weight:bold}footer small{margin-left:auto;font-size:12px}
@media(min-width:1600px){.hero-copy{padding-left:90px}}@media(max-width:1100px){header{gap:18px;flex-wrap:wrap}nav{order:3;width:100%;justify-content:center;gap:40px}.hero{min-height:540px}.hero-copy{padding-top:60px}.hero-photo{min-height:540px}.hero-foot{gap:8px;font-size:10px}.section{padding-top:70px;padding-bottom:70px}.price-section,.about{gap:40px}.contact{gap:25px}.works img{height:280px}.contact-detail{padding-left:20px}.trust-bar{gap:16px}.trust-bar>p:nth-child(2){font-size:14px}}
@media(max-width:700px){html{scroll-padding-top:20px}header{padding:18px 20px;gap:18px}.brand strong{font-size:18px}.brand small{font-size:10px}.brand-mark{width:38px;line-height:38px;font-size:27px}.header-contact{font-size:12px;padding:10px}.header-contact span{display:none}nav{gap:0;justify-content:space-between;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:43px 24px 28px}h1{font-size:clamp(1.9rem,7.2vw,2.8rem);margin-bottom:18px}.intro{font-size:14px}.button{margin-top:25px;padding:12px 22px;font-size:14px}.hero-foot{margin-top:30px;gap:13px}.hero-photo{min-height:330px}.hero-photo>img{object-position:50% 53%}.photo-caption{padding:65px 24px 20px}.photo-caption span{font-size:17px}.trust-bar{padding:22px 24px;flex-wrap:wrap;justify-content:flex-start;gap:12px 22px}.trust-bar strong{font-size:32px}.trust-bar>p:nth-child(2){font-size:13px}.trust-bar>a{width:100%;display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:14px}.trust-bar b{font-size:22px}.mobile{display:block}.section{padding:55px 24px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px;font-size:14px}.eyebrow{font-size:12px;margin-bottom:13px}.services{grid-template-columns:1fr}.services article,.services article:first-child,.services article:last-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.services article:last-child{border-bottom:0}.services h3{margin-top:13px}.services a{margin-top:18px}.works{grid-template-columns:1fr;gap:32px}.works img{height:320px;object-position:50% 50%}.works small{margin-top:13px}.price-section,.about,.contact{grid-template-columns:1fr;gap:32px}.price-section p{font-size:14px}.price-example{padding:18px 14px}.price-box strong{font-size:28px}.price-section .note{font-size:12px}dl>div{grid-template-columns:100px 1fr}.contact-detail{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.phone{font-size:32px}footer{display:block;padding:28px 24px}footer p{margin:10px 0}footer small{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Before / after project photographs */
.work-comparisons{display:grid;gap:38px}.work-case{background:#fff;padding:28px;border:1px solid var(--line)}.case-heading{display:flex;align-items:baseline;gap:24px;margin-bottom:22px}.comparison-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.comparison-pair figure{min-width:0;background:#e9eef2}.comparison-pair figcaption{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#526573;color:white;font-size:15px;font-weight:bold}.comparison-pair figcaption span{font-size:13px;letter-spacing:.12em}.comparison-pair .after figcaption{background:var(--blue)}.comparison-pair a{display:block}.comparison-pair img{width:100%;height:390px;object-fit:contain}.comparison-pair a:hover{outline:2px solid var(--accent);outline-offset:2px}.photo-help{font-size:14px;color:var(--muted);margin-top:22px;text-align:center}
@media(max-width:700px){.work-comparisons{gap:24px}.work-case{padding:14px}.case-heading{display:block;margin-bottom:16px}.case-heading h3{margin-top:7px;font-size:18px}.comparison-pair{gap:10px}.comparison-pair figcaption{padding:8px;display:block;font-size:14px}.comparison-pair figcaption span{display:block;font-size:12px;line-height:1.5}.comparison-pair img{height:auto;aspect-ratio:3/4;object-fit:contain}.photo-help{font-size:13px;text-align:left}}
.email-contact{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.email-contact span{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}.email-contact a{display:inline-block;font-size:clamp(16px,1.8vw,21px);color:var(--blue);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}
.brand-content{display:block}.brand .company-logo{width:290px;height:auto;margin-top:7px}.footer-brand img{width:230px;height:auto}footer .footer-brand{display:inline-block}@media(max-width:700px){.brand .company-logo{width:210px;margin-top:5px}.brand small{font-size:10px}.footer-brand img{width:210px}}@media(max-width:370px){.brand .company-logo{width:180px}}
