:root{--accent:#236249;--ink:#182B31;--muted:#53656A;--paper:#FAFBF9;--line:#D9E2DF;--soft:#EFF4F1;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;font-size:16px;line-height:1.8;word-break:keep-all}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.3;letter-spacing:-.06em}h1{font-size:clamp(34px,4.5vw,66px)}h2{font-size:clamp(28px,3.1vw,44px)}h3{font-size:23px}p{overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{max-width:100%;display:block;height:auto}figure{min-width:0}figcaption{font-size:13px;color:var(--muted);padding-top:12px}button{cursor:pointer}a:hover{text-decoration:underline;text-underline-offset:5px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.section{padding:100px 0}.eyebrow{text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.12em;margin-bottom:18px}.skip{position:fixed;top:-100px;z-index:99;background:white;padding:10px}.skip:focus{top:0}.topline{background:var(--accent);color:white;font-size:12px;font-weight:700;padding:8px 0}.topline .wrap{display:flex;justify-content:space-between;gap:12px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.admin-bar .site-header{top:32px}.header-row{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:white;width:44px;height:48px;border-radius:12px;font-size:27px;font-weight:bold}.brand strong{display:block;font-size:20px;line-height:1.35;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:.19em;color:var(--muted);margin-top:5px}#site-menu{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:bold}.nav-call{background:var(--accent);color:#fff;padding:10px 18px;border-radius:8px}.menu-toggle{display:none}.hero{padding:70px 0 80px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.hero-copy{position:relative;z-index:2;min-width:0}.hero-heading{font-size:clamp(25px,2.6vw,38px);font-weight:700;letter-spacing:-.055em;line-height:1.4;color:var(--accent);margin:24px 0}.hero-intro{font-size:17px;color:var(--muted);max-width:600px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--accent);color:white;border:1px solid var(--accent);border-radius:8px;font-size:15px;font-weight:800;padding:14px 23px;min-height:55px}.button.outline{background:transparent;color:var(--accent)}.hero-notes{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.hero-figure{position:relative}.hero-figure>img{width:100%;height:550px;object-fit:cover;border-radius:var(--radius)}.hero-figure figcaption{position:absolute;bottom:20px;left:20px;right:20px;background:#102B32E8;color:#fff;padding:18px 22px;border-radius:10px}.hero-figure figcaption span{display:block;font-size:10px;letter-spacing:.2em;opacity:.8}.hero-figure figcaption strong{display:block;font-size:15px;margin-top:7px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:38px}.section-head>p{color:var(--muted);font-size:15px;max-width:450px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{display:flex;flex-direction:column;min-height:295px;padding:30px 25px;border:1px solid var(--line);background:white;border-radius:var(--radius);transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);border-color:var(--accent);text-decoration:none}.card-no{display:block;font-size:15px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.1em;margin-bottom:26px}.service-card h3{font-size:21px}.service-card p{color:var(--muted);font-size:14px;line-height:1.75;margin:18px 0 26px}.card-more{margin-top:auto;font-weight:bold;font-size:13px;display:flex;justify-content:space-between;gap:10px}.card-more b{font-size:22px;color:var(--accent)}.guide-section{background:var(--soft)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.guide-grid figure img{width:100%;height:500px;object-fit:cover;border-radius:var(--radius)}.guide-copy>p:not(.eyebrow){margin-top:24px;color:var(--muted)}.prepare-list{padding:0;list-style:none;counter-reset:prepare;margin:26px 0}.prepare-list li{counter-increment:prepare;padding:13px 0;border-bottom:1px solid #CBD7D1;font-size:14px;display:flex;gap:14px}.prepare-list li:before{content:'0' counter(prepare);color:var(--accent);font-weight:800}.text-link{font-size:14px;font-weight:800;color:var(--accent);display:inline-block}.local-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.local-card{padding:26px 22px;border-top:3px solid var(--accent);background:#fff}.local-card h3{font-size:22px}.local-card p{font-size:14px;color:var(--muted);margin:16px 0 24px}.area-note{padding:20px;background:var(--soft);margin-top:22px;color:var(--muted);font-size:14px}.photo-section{border-top:1px solid var(--line)}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.photo-grid img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius)}.contact{padding:74px 0;background:var(--accent);color:white}.contact .eyebrow{color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.contact h2{font-size:37px}.contact p:not(.eyebrow){margin-top:22px;font-size:14px;color:#ffffffde}.contact-number{font-size:clamp(27px,3.7vw,48px);font-weight:bold;letter-spacing:-.04em;padding:34px 0;border-top:1px solid #ffffff65;border-bottom:1px solid #ffffff65}.contact-number small{display:block;font-size:14px;letter-spacing:0;font-weight:normal;margin-bottom:10px}.contact-number span{display:block;font-size:14px;text-align:right;margin-top:14px}.site-footer{padding:45px 0;background:#11282E;color:#C1D0D1;font-size:13px}.footer-row{display:flex;justify-content:space-between;gap:30px;margin-bottom:20px}.footer-row strong{font-size:21px;color:#fff}.footer-row p{margin-top:9px}.footer-row a{display:inline-block;margin-left:20px}.mobile-call{display:none}.breadcrumb{display:flex;gap:13px;font-size:12px;color:var(--muted);padding-top:32px}.page-intro{padding-top:54px;padding-bottom:48px}.page-intro h1{font-size:clamp(29px,3.7vw,49px)}.page-intro>p:not(.eyebrow){max-width:860px;margin:25px 0 0;font-size:17px;color:var(--muted)}.page-intro>.text-link{margin-top:25px}.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.pills a{font-size:13px;border:1px solid var(--line);padding:9px 17px;border-radius:30px;background:#fff}.service-details{padding-bottom:70px}.detail-row{display:grid;grid-template-columns:220px 1fr;gap:50px;padding:42px 0;border-top:1px solid var(--line)}.detail-row h2{font-size:26px;max-width:790px}.detail-row>div>p{color:var(--muted);margin:22px 0;font-size:16px}.detail-label p{font-weight:700;color:var(--accent)}.detail-label .card-no{font-size:35px;margin-bottom:8px}.prepare{background:var(--soft);padding:18px 22px;border-left:3px solid var(--accent);margin:24px 0}.prepare strong{font-size:13px}.prepare p{color:var(--muted);font-size:14px;margin-top:6px}.scope-section{background:var(--soft)}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}.scope-grid article{background:#fff;padding:30px;border-radius:var(--radius)}.scope-grid h3{font-size:21px}.scope-grid p{font-size:15px;color:var(--muted);margin-top:16px}.dispatch{border:1px solid var(--accent);background:#fff;padding:25px;margin-top:30px;border-radius:var(--radius)}.dispatch strong{font-size:19px;color:var(--accent)}.dispatch p{font-size:14px;color:var(--muted);margin-top:8px}.area-section{padding-top:10px}.search-box{display:flex;align-items:center;gap:24px;padding:25px;background:var(--soft);border-radius:var(--radius);margin-bottom:30px}.search-box label{font-size:14px;font-weight:700}.search-box input{width:44%;min-width:0;border:1px solid #A4B6B7;background:white;border-radius:8px;padding:13px 15px;font-size:15px}.search-box span{font-size:13px;white-space:nowrap}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.area-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;scroll-margin-top:120px}.area-card small{color:var(--muted);font-size:12px}.area-card h2{font-size:22px;margin:8px 0 12px}.area-card p{font-size:13px;color:var(--muted)}.area-card details{border-top:1px solid var(--line);padding-top:15px;margin-top:16px}.area-card summary{cursor:pointer;font-size:13px;color:var(--accent);font-weight:700}.area-card details p{margin-top:12px;line-height:2.1}.area-card:target{outline:3px solid var(--accent);outline-offset:3px}.regional-guides{background:var(--soft)}.regional-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.regional-grid article{padding:30px;background:white;border-radius:var(--radius)}.regional-grid h3{font-size:23px}.regional-grid article>p:not(.eyebrow){margin:18px 0;color:var(--muted);font-size:15px}.area-back{display:block;margin-top:15px;font-size:13px;color:var(--muted)}.directory-basis{margin-top:30px;font-size:14px;color:var(--muted)}.prose{padding-block:70px;min-height:50vh}.prose p{margin:24px 0}.prose article{padding:30px 0;border-bottom:1px solid var(--line)}[hidden]{display:none!important}
/* Five structural treatments with regional accent palettes. */
.design-field{--paper:#FCFCF8;--soft:#EEF2E8;--radius:8px}.design-field .hero{padding:0 0 55px}.design-field .hero-grid{position:relative;display:block;padding-top:90px;padding-bottom:90px;width:100%;max-width:none;min-height:660px}.design-field .hero-copy{width:570px;margin-left:max(32px,calc((100vw - 1200px)/2));background:#fcfcf8f5;padding:38px}.design-field .hero-figure{position:absolute;inset:0 0 0 30%;z-index:0}.design-field .hero-figure>img{height:100%;width:100%;border-radius:0}.design-field .hero-figure figcaption{left:auto;right:30px;max-width:320px;bottom:25px}.design-field .hero h1{font-size:clamp(34px,3.7vw,56px)}.design-field .hero-heading{font-size:28px}.design-field .service-card{border:0;border-bottom:4px solid var(--accent)}
.design-precision{--paper:#F6F9FC;--soft:#EAF1F8;--radius:3px}.design-precision .hero-grid{gap:40px;grid-template-columns:1.05fr 1fr}.design-precision .hero-figure>img{height:600px}.design-precision .hero-copy{border-left:5px solid var(--accent);padding-left:30px}.design-precision .service-card{border-top:4px solid var(--accent)}.design-precision .card-no{font-size:33px;line-height:1;margin-bottom:30px}.design-precision .guide-grid{grid-template-columns:1fr 1.15fr}
.design-studio{--paper:#FBF9F7;--soft:#F0EDEA;--radius:28px}.design-studio .hero-grid{display:flex;flex-direction:column;gap:42px}.design-studio .hero-copy{text-align:center;max-width:920px}.design-studio .hero-intro{max-width:850px}.design-studio .hero-heading{margin:15px 0 22px}.design-studio .hero .actions,.design-studio .hero-notes{justify-content:center}.design-studio .hero-figure{width:100%}.design-studio .hero-figure>img{height:470px}.design-studio .hero-figure figcaption{left:auto;min-width:280px;max-width:45%}.design-studio .service-grid{grid-template-columns:1fr 1fr}.design-studio .service-card{min-height:245px}.design-studio .guide-copy{order:-1}.design-studio .local-section{padding-top:35px}
.design-editorial{--paper:#FBF8F1;--soft:#F1E9DA;--radius:0px}.design-editorial .hero-grid{grid-template-columns:1.25fr 1fr;gap:80px}.design-editorial .hero-figure>img{height:620px}.design-editorial .hero-copy h1{font-family:Georgia,'Malgun Gothic',serif;font-weight:800}.design-editorial .hero-heading{font-size:29px;border-top:2px solid var(--ink);padding-top:25px}.design-editorial .service-grid{grid-template-columns:1fr 1fr}.design-editorial .service-card{min-height:240px;border:0;border-top:1px solid var(--ink);background:transparent;padding-left:0}.design-editorial .service-card .card-no{font-size:45px;margin-bottom:22px}.design-editorial .hero-figure figcaption{border-radius:0;left:-28px;right:28px}.design-editorial .photo-grid{grid-template-columns:1fr 1.35fr}
.design-contrast{--paper:#F7FAFA;--soft:#EAF0EF;--radius:18px}.design-contrast .hero{background:#132D35;color:#fff;padding:80px 0}.design-contrast .hero .eyebrow,.design-contrast .hero-heading{color:#E8F1D0}.design-contrast .hero-intro,.design-contrast .hero-notes{color:#D2E0DF}.design-contrast .hero-notes{border-color:#527178}.design-contrast .hero .button{background:#F2F5E9;color:#193A40;border-color:#F2F5E9}.design-contrast .hero .button.outline{background:transparent;color:white;border-color:#A9BFBC}.design-contrast .hero-figure>img{height:530px;border-radius:100px 18px 100px 18px}.design-contrast .hero-figure figcaption{left:35px;right:35px;bottom:25px;border-radius:12px}.design-contrast .service-grid{gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden}.design-contrast .service-card{border-radius:0;border-width:0 1px 0 0}.design-contrast .card-no{font-size:28px}.design-contrast .contact{background:#132D35}
@media(max-width:1080px){#site-menu{gap:15px;font-size:12px}.header-row{gap:16px}.brand strong{font-size:18px}.hero-grid,.design-editorial .hero-grid{gap:32px}.hero h1{font-size:43px}.hero-heading{font-size:29px}.hero-figure>img{height:480px}.guide-grid{gap:35px}.service-grid,.local-grid{grid-template-columns:1fr 1fr}.service-card{min-height:250px}.contact-number{font-size:34px}.design-field .hero-copy{width:520px}.design-field .hero-grid{min-height:620px}}
@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 36px)}body{font-size:15px}.section{padding:60px 0}.topline{font-size:10px;padding:7px 0}.header-row{min-height:76px}.brand strong{font-size:18px}.brand-mark{width:36px;height:40px;font-size:23px}.brand small{font-size:8px}.brand{gap:9px}.menu-toggle{display:flex;gap:9px;align-items:center;border:1px solid var(--line);padding:8px 11px;background:white;border-radius:8px;font-size:12px;color:var(--ink)}#site-menu{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:18px;box-shadow:0 10px 20px #10272f12;gap:0}#site-menu.is-open{display:flex;flex-direction:column;align-items:stretch}#site-menu a{padding:13px;font-size:14px}.admin-bar .site-header{top:46px}.hero{padding:42px 0 55px}.hero-grid,.design-precision .hero-grid,.design-editorial .hero-grid{grid-template-columns:1fr;gap:33px}.hero h1{font-size:36px;letter-spacing:-.07em}.hero-heading,.design-editorial .hero-heading{font-size:26px;margin:20px 0}.hero-intro{font-size:15px}.hero-figure>img,.design-precision .hero-figure>img,.design-editorial .hero-figure>img{height:360px}.hero-figure figcaption{left:15px;right:15px;padding:14px 17px}.hero-figure figcaption strong{font-size:13px}.button{padding:12px 17px;gap:15px;font-size:14px;min-height:50px}.hero-notes{gap:12px;font-size:10px;margin-top:25px}.eyebrow{font-size:11px;margin-bottom:15px}.section-head{display:block;margin-bottom:28px}.section-head>p,.section-head>.text-link{margin-top:20px;font-size:14px}.section h2{font-size:29px}.service-grid,.design-studio .service-grid,.design-editorial .service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:23px 18px;min-height:285px}.service-card h3{font-size:19px}.service-card p{font-size:13px}.card-no{margin-bottom:18px}.guide-grid,.design-precision .guide-grid{grid-template-columns:1fr;gap:28px}.guide-grid figure img{height:300px}.guide-copy>p:not(.eyebrow){font-size:14px}.prepare-list li{font-size:13px}.local-grid{gap:12px}.local-card{padding:22px 17px}.local-card h3{font-size:19px}.local-card p{font-size:13px}.photo-grid,.design-editorial .photo-grid{grid-template-columns:1fr;gap:26px}.photo-grid img{height:280px}.contact{padding:50px 0}.contact-grid{grid-template-columns:1fr;gap:28px}.contact h2{font-size:31px}.contact-number{font-size:34px;padding:22px 0}.site-footer{padding:35px 0 100px}.footer-row{display:block}.footer-row>div+div{margin-top:22px}.footer-row a{margin:0 18px 0 0}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--accent);color:white;display:flex;gap:16px;justify-content:center;align-items:center;min-height:58px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -3px 18px #11272e25;font-size:13px}.mobile-call strong{font-size:19px}.breadcrumb{padding-top:22px}.page-intro{padding-top:35px;padding-bottom:35px}.page-intro h1{font-size:29px}.page-intro>p:not(.eyebrow){font-size:15px}.detail-row{grid-template-columns:1fr;gap:12px;padding:32px 0}.detail-label{display:flex;gap:15px;align-items:center}.detail-label .card-no{font-size:23px;margin:0}.detail-label p{font-size:13px}.detail-row h2{font-size:22px}.detail-row>div>p{font-size:14px;margin:18px 0}.scope-grid{grid-template-columns:1fr;gap:14px}.scope-grid article{padding:24px}.scope-grid p{font-size:14px}.dispatch{padding:22px}.search-box{flex-wrap:wrap;gap:12px;padding:18px}.search-box label{width:100%}.search-box input{width:calc(100% - 78px)}.area-grid{grid-template-columns:1fr 1fr;gap:12px}.area-card{padding:20px 16px}.area-card h2{font-size:19px}.regional-grid{grid-template-columns:1fr}.regional-grid article{padding:24px}.regional-grid h3{font-size:22px}.design-field .hero-grid{padding:0;min-height:0;display:flex;flex-direction:column;gap:0}.design-field .hero-copy{width:auto;margin:0;padding:40px 18px;background:var(--paper)}.design-field .hero h1{font-size:36px}.design-field .hero-figure{position:relative;inset:auto;width:100%;order:0}.design-field .hero-figure>img{height:350px}.design-field .hero-figure figcaption{left:18px;right:18px;max-width:none;bottom:18px}.design-field .hero{padding-bottom:0}.design-precision .hero-copy{padding-left:17px;border-left-width:3px}.design-studio .hero-copy{text-align:left}.design-studio .hero .actions,.design-studio .hero-notes{justify-content:flex-start}.design-studio .hero-figure>img{height:320px}.design-studio .hero-figure figcaption{max-width:none;min-width:0;left:15px}.design-studio .guide-copy{order:0}.design-studio .local-section{padding-top:25px}.design-editorial .hero-figure figcaption{left:15px;right:15px}.design-editorial .service-card{padding:20px 10px 20px 0}.design-contrast .hero{padding:42px 0}.design-contrast .hero-figure>img{height:340px;border-radius:65px 15px 65px 15px}.design-contrast .service-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.design-contrast .service-card{border-bottom:1px solid var(--line)}}
@media(max-width:370px){.hero h1,.design-field .hero h1{font-size:32px}.service-grid,.design-studio .service-grid,.design-editorial .service-grid,.design-contrast .service-grid,.area-grid,.local-grid{grid-template-columns:1fr}.service-card{min-height:220px}.brand strong{font-size:16px}.topline .wrap span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

.followup-copy{max-width:900px;margin-top:26px;line-height:1.9;color:var(--muted)}.photo-grid.single{grid-template-columns:1fr}.photo-grid.single img{height:430px;object-position:center}.photo-grid.single figure{max-width:100%}@media(max-width:760px){.photo-grid.single img{height:290px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

.area-card{min-width:0}.area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.area-card h2{overflow-wrap:anywhere}@media(max-width:760px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:370px){.area-grid{grid-template-columns:1fr}}

/* v1.0.1: preserve complete photographs and separate text from image content. */
.design-field .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);width:min(1200px,calc(100% - 64px));margin-inline:auto;min-height:0;padding-block:64px;gap:48px}
.design-field .hero-copy{width:auto;margin:0;padding:0;background:transparent}
.design-field .hero-figure{position:relative;inset:auto;z-index:auto}
.hero-figure>img,.design-field .hero-figure>img,.design-precision .hero-figure>img,.design-studio .hero-figure>img,.design-editorial .hero-figure>img,.design-contrast .hero-figure>img{height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:var(--radius)}
.hero-figure figcaption,.design-field .hero-figure figcaption,.design-studio .hero-figure figcaption,.design-editorial .hero-figure figcaption,.design-contrast .hero-figure figcaption{position:static;max-width:none;min-width:0;background:transparent;color:var(--muted);padding:13px 0 0;border-radius:0}
.design-contrast .hero-figure figcaption{color:#D2E0DF}
.hero-figure figcaption span{display:none}.hero-figure figcaption strong{margin:0;font-size:13px;line-height:1.6}
.guide-grid figure img,.photo-grid img,.photo-grid.single img{height:auto;aspect-ratio:3/2;object-fit:contain}
.hero-grid>*{min-width:0}
@media(min-width:761px) and (max-width:1020px){.hero-grid,.design-field .hero-grid,.design-precision .hero-grid,.design-editorial .hero-grid{display:grid;grid-template-columns:1fr;gap:32px}.design-field .hero-grid{padding-block:48px}.design-field .hero-copy{width:auto}.hero-copy{max-width:850px}.hero-figure{width:100%;max-width:900px;margin-inline:auto}}
@media(max-width:760px){.design-field .hero-grid{width:calc(100% - 36px);display:flex;padding-block:40px;gap:30px}.design-field .hero-copy{padding:0}.hero-figure>img{max-height:none}.site-header{max-height:100dvh}#site-menu{max-height:calc(100dvh - 134px);overflow-y:auto}html{scroll-padding-bottom:82px}}
