@charset "UTF-8";
:root{--ink:#163444;--blue:#167294;--navy:#0b3448;--muted:#62757d;--line:#dce5e9;--light:#f1f6f7;--white:#fff;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:white;font:16px/1.7 Arial,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;word-break:keep-all}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #56c7ee;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.3}h2{font-size:clamp(2rem,3.1vw,2.8rem);font-weight:600}h3{font-size:1.6rem;font-weight:600}.container{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}.header{position:absolute;inset:0 0 auto;z-index:5;color:white;border-bottom:1px solid #ffffff29}.header-inner{height:104px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-size:1.95rem;font-weight:700;line-height:1.35;letter-spacing:-.04em}nav{display:flex;gap:36px;font-size:.94rem}nav a{padding:10px 0}nav a:hover{color:#aee8ff}.hero{min-height:780px;height:94svh;max-height:1150px;position:relative;isolation:isolate;display:flex;align-items:center;color:white;background:#163e49;overflow:hidden}.hero-background{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-position:58% center}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,27,36,.64),rgba(4,27,36,.2) 55%,rgba(4,27,36,.02)),linear-gradient(0deg,rgba(4,27,36,.48),transparent 25%,transparent 80%,rgba(4,27,36,.38))}.hero-content{padding-top:100px;padding-bottom:120px}.eyebrow{color:var(--blue);font-size:.85rem;font-weight:600;letter-spacing:.1em;margin-bottom:20px}.hero .eyebrow{color:#d2f1f5;font-size:1rem;letter-spacing:.06em;margin-bottom:28px}.hero h1{font-size:clamp(4rem,7.2vw,6.8rem);line-height:1.15;letter-spacing:-.06em;font-weight:500;text-shadow:0 2px 30px #09293620}.hero-description{font-size:1.18rem;line-height:1.85;color:#eff9fb;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:36px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:46px;padding:16px 24px;font-size:1rem;font-weight:600;border-radius:5px}.primary{background:white;color:var(--navy)}.primary:hover{background:#d5eff6}.hero-link{font-size:.94rem;color:white}.hero-link span{margin-left:14px}.section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{color:var(--muted);font-size:1rem;line-height:1.9}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{height:470px;position:relative;isolation:isolate;overflow:hidden;border-radius:8px;color:white;background:var(--navy)}.service-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(3,25,37,.94),rgba(3,25,37,.12) 75%)}.service-card>img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;transition:transform .6s ease;object-position:50% 40%}.service-card:hover>img{transform:scale(1.04)}.service-body{position:absolute;bottom:30px;left:28px;right:24px}.number{font-size:.75rem;letter-spacing:.07em;color:#c3e5f0}.service-body h3{font-size:1.8rem;margin-top:12px;margin-bottom:12px}.service-body p{font-size:1rem;line-height:1.8;color:#ecf3f6}.text-link{font-size:.9rem;border-bottom:1px solid #91a9b1;padding-bottom:7px;display:inline-block}.text-link span{margin-left:20px}.text-link:hover{color:var(--blue)}.contact-wrap{color:white;background:var(--navy)}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding-block:92px}.contact .eyebrow{color:#83cde6}.contact h2{font-size:clamp(2rem,3.4vw,3rem)}.contact-copy>p:not(.eyebrow){margin-top:22px;color:#c7dce5;font-size:1rem}.contact-phone{display:block;font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.035em;font-weight:500;line-height:1.3;margin-top:32px;white-space:nowrap}.contact-details{align-self:center;padding:14px 32px;background:#ffffff08;border:1px solid #ffffff20;border-radius:10px}.contact-details>div{border-bottom:1px solid #ffffff20;padding:20px 0}.contact-details>div:last-child{border:0}.detail-label{display:block;font-size:.85rem;color:#a9c8d6;margin-bottom:6px}.contact-details p{font-size:1.03rem}.contact-details small{display:block;font-size:.85rem;margin-top:5px;color:#b9d0db}.contact-details .text-link{margin-top:18px;color:white;border-color:#87a7b6}footer{background:#082b3c;color:white;border-top:1px solid #ffffff15;padding:34px 0}.footer-inner{display:flex;justify-content:space-between;gap:25px;font-size:.88rem}.footer-inner strong{font-size:1rem;font-weight:500}.footer-inner p{font-size:.75rem;color:#adc5d0;margin-top:8px}.footer-inner>div:last-child{text-align:right}.mobile-call{display:none}.skip-link{position:fixed;left:20px;top:-100px;background:var(--navy);color:white;padding:12px 24px;z-index:30}.skip-link:focus{top:12px}
@media(min-width:1600px){.container{max-width:1400px}.hero h1{font-size:6.5rem}.service-card{height:520px}}
@media(max-width:1000px){.container{width:calc(100% - 64px)}.header-inner{height:90px;gap:20px}.brand{font-size:1.7rem}nav{gap:22px}.hero{min-height:740px}.hero h1{font-size:4.6rem}.service-grid{gap:16px}.service-card{height:410px}.service-body{left:20px;right:16px;bottom:24px}.service-body h3{font-size:1.5rem}.service-body p{font-size:1rem}.service-body p br{display:none}.contact{gap:36px}.contact-phone{font-size:2.1rem}.contact-details{padding-inline:24px}}
@media(max-width:720px){.container{width:calc(100% - 40px)}.header-inner{height:82px;gap:12px}.brand{font-size:1.45rem;gap:0}nav{display:none}.hero{height:calc(100svh - 54px);min-height:690px;max-height:960px}.hero-background{object-position:68% center}.hero-shade{background:linear-gradient(90deg,#04212d92,#04212d22),linear-gradient(0deg,#04212d9c,transparent 40%,#04212d25)}.hero-content{padding-top:70px;padding-bottom:80px}.hero .eyebrow{font-size:.88rem;margin-bottom:24px}.hero h1{font-size:clamp(3.3rem,12.8vw,5rem);line-height:1.17}.hero-description{font-size:1.04rem;margin-top:25px}.hero-actions{gap:23px;margin-top:31px}.button{padding:14px 18px;gap:24px;font-size:.94rem}.hero-link{font-size:.88rem}.hero-link span{margin-left:6px}.section{padding-block:64px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:1rem}.section-heading>.text-link{margin-top:23px}h2{font-size:2rem}.eyebrow{font-size:.81rem}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{height:380px}.service-card:first-child>img{object-position:50% 56%}.service-card:nth-child(2)>img{object-position:50% 46%}.service-body{left:26px;right:24px;bottom:25px}.service-body h3{font-size:1.75rem}.service-body p{font-size:1rem}.service-body p br{display:block}.contact{grid-template-columns:1fr;gap:35px}.contact-phone{font-size:clamp(1.8rem,8.6vw,2.7rem)}.contact-details{padding:8px 23px}.contact-details>div{padding:18px 0}.footer-inner{display:block}.footer-inner>div:last-child{text-align:left;margin-top:24px}footer{padding-bottom:106px}.mobile-call{position:fixed;inset:auto 0 0;z-index:15;background:#082e40;color:white;border-top:1px solid #ffffff25;padding:16px 20px calc(16px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;gap:12px;font-size:.88rem;font-weight:600}.mobile-call span{font-size:.82rem;font-weight:400}}
@media(max-width:360px){.brand{font-size:1.3rem}.hero-actions{gap:15px}.hero h1{font-size:3.15rem}.hero-link{font-size:.82rem}.button{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Complete blog photo archive */
.gallery-intro{font-size:1rem;color:var(--muted);margin-top:-12px;margin-bottom:45px;line-height:1.9}.work-album{margin-top:60px}.work-album:first-child{margin-top:0}.album-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.album-count{font-size:.75rem;letter-spacing:.12em;color:var(--blue)}.album-heading h3{font-size:1.45rem;margin-top:8px;line-height:1.5}.album-source{font-size:.88rem;white-space:nowrap;color:var(--muted);padding-block:7px}.album-source span{margin-left:12px}.album-source:hover{color:var(--blue)}.album-photos{columns:3;column-gap:20px}.gallery-photo{display:block;break-inside:avoid;margin-bottom:20px;border-radius:7px;overflow:hidden;background:#e5ecef}.gallery-photo img{width:100%;height:auto;object-fit:contain;transition:filter .2s}.gallery-photo:hover img{filter:brightness(1.06)}
@media(max-width:1000px){.album-photos{columns:2;column-gap:16px}.gallery-photo{margin-bottom:16px}.album-heading h3{font-size:1.3rem}}
@media(max-width:720px){.gallery-intro{margin-top:-5px;margin-bottom:32px;font-size:.94rem}.work-album{margin-top:42px}.album-heading{display:block;margin-bottom:16px}.album-heading h3{font-size:1.22rem;margin-top:6px}.album-source{display:inline-block;margin-top:5px;font-size:.82rem}.album-photos{columns:2;column-gap:10px}.gallery-photo{margin-bottom:10px;border-radius:4px}}
@media(max-width:380px){.album-photos{columns:1}}
@media(prefers-reduced-motion:reduce){.gallery-photo img{transition:none}}
.projects{background:var(--light)}
@media(prefers-reduced-motion:reduce){.service-card>img{transition:none}}
/* Contact actions and phone dialog */
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #56c7ee;outline-offset:5px}button.primary{border:0;color:var(--navy)}button.contact-phone{padding:0;border:0;background:none;text-align:left;font-family:inherit}button.mobile-call{width:100%;border-right:0;border-left:0;border-bottom:0;font-family:inherit}.email-link{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.storefront{margin:22px 0 0}.storefront img{width:100%;height:auto;border-radius:6px}.storefront figcaption{font-size:.8rem;color:#b9d0db;margin-top:8px}.dialog-open{overflow:hidden}.phone-dialog{border:0;border-radius:16px;padding:42px 34px 30px;width:min(500px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;background:white;color:var(--ink);box-shadow:0 24px 100px #0005}.phone-dialog::backdrop{background:rgba(3,23,34,.7);backdrop-filter:blur(5px)}.dialog-close{position:absolute;top:10px;right:12px;border:0;background:transparent;color:var(--muted);font-size:1.9rem;width:44px;height:44px;line-height:1;border-radius:50%}.dialog-close:hover{background:var(--light)}.phone-dialog .eyebrow{margin-bottom:14px}.phone-dialog h2{font-size:1.6rem;line-height:1.45}.phone-dialog>p:not(.eyebrow):not(.dialog-number){margin-top:12px;font-size:1rem;color:var(--muted)}.dialog-number{font-size:clamp(1.7rem,6.5vw,2.45rem);font-weight:700;letter-spacing:-.025em;margin:28px 0 22px;white-space:nowrap}.dialog-call{width:100%;background:var(--navy);color:white;justify-content:center;gap:22px}.dialog-call:hover{background:var(--blue)}.dialog-email{border-top:1px solid var(--line);padding-top:21px;margin-top:24px;font-size:.94rem;display:flex;flex-wrap:wrap;gap:8px 18px}.dialog-email span{color:var(--muted)}.dialog-email a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:720px){.phone-dialog{padding:40px 23px 26px}.phone-dialog h2{font-size:1.35rem}.phone-dialog .eyebrow{font-size:.85rem}.storefront{max-width:360px}}

@media(min-width:721px){.hero-link{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 22px;font-size:.94rem;text-shadow:0 1px 8px #082b3c80}.hero-link span{margin:0;font-size:1.35rem;line-height:1.2}.hero-link:hover{color:#c6efff}}
