.header-actions{display:flex;align-items:center;gap:24px}.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0}.language-switch button{background:none;border:0;color:#8e9189;font:500 12px 'Space Grotesk',sans-serif;min-width:36px;min-height:44px;cursor:pointer}.language-switch button[aria-pressed=true]{color:#f0f1eb;text-decoration:underline;text-underline-offset:6px}.language-switch>span{color:#595c54;font-size:11px}.header-actions>.pill{white-space:nowrap}
.hero-caption h2{font-family:'Space Grotesk','Noto Sans KR',sans-serif;font-size:24px;font-weight:500;line-height:1.5;letter-spacing:-.02em;word-spacing:normal;margin:0 0 14px}.hero-caption p{font-size:17px;line-height:1.85}.hero-caption>.eyebrow{font-size:12px}.hero-caption>div{max-width:540px}.about-summary{font-size:17px}.about-discussion dd,.service-note p,.steps p,.section-heading p,.service-card p{font-size:16px;line-height:1.85}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-grid>.service-card{min-height:360px;padding:28px;gap:48px}.service-card h3{font-size:25px;letter-spacing:-.025em;line-height:1.4}.service-card .eyebrow{font-size:11px;letter-spacing:.7px}.circle{flex-shrink:0}.steps article>span{font-size:14px;color:#b9bcb2}.steps h3{font-size:20px}.outro p{font-size:18px;line-height:1.8}.pill{font-size:14px;min-height:46px}.about #about-title{letter-spacing:-.025em}.field-help{display:block;margin:10px 0 0;color:#b9bdb0;font-size:14px;line-height:1.8}.form-intro{font-size:16px}.contact-intro>.email-note{font-size:14px}input::placeholder{font-size:15px}.form-panel label,.field-label{font-size:16px}#service-options [role=option]{font-size:15px}.contact-intro h1{overflow-wrap:normal}html[lang=en] .about #about-title{font-family:'Space Grotesk',sans-serif;word-break:normal;line-height:1.3}html[lang=en] .service-card h3{font-family:'Space Grotesk',sans-serif}html[lang=en] p,html[lang=en] dd{word-break:normal}
@media(max-width:1000px){.service-grid{grid-template-columns:1fr}.service-grid>.service-card{min-height:240px;gap:30px}.service-card h3{font-size:26px}.contact-page{gap:44px}.header-actions{gap:12px}}
@media(max-width:600px){header{padding:0 20px;height:84px;gap:8px}.header-actions{gap:8px}.header-actions>.pill{font-size:12px;padding:10px;gap:8px}.language-switch button{min-width:30px}.logo{font-size:20px}.logo span{font-size:10px}.hero h1{font-size:10.6vw}.hero-caption{margin:32px 0 36px;max-width:100%;width:100%}.hero-caption h2{font-size:24px;margin-top:16px}.hero-caption p{font-size:16px}.hero-caption>.pill{font-size:14px}.hero-caption>.eyebrow{font-size:11px}.about-summary,.about-discussion dd,.service-note p,.service-card p,.steps p,.section-heading p,.outro p{font-size:16px}.about #about-title{font-size:29px}.service-grid>.service-card{padding:24px;min-height:260px}.service-note h3{font-size:20px}.outro h2{font-size:10vw}.contact-page{padding:28px 20px 64px;gap:36px}.contact-intro h1{font-size:clamp(32px,8.8vw,48px);margin-bottom:20px}.contact-intro>p{font-size:16px}.email-link{font-size:16px;margin-top:14px}.field-row{grid-template-columns:1fr;gap:22px}.submit{width:100%;justify-content:space-between}.steps{min-width:0}footer{padding-inline:20px}.hero-bottom{font-size:9px}#success-view h2{font-size:26px}.form-panel h2{font-size:28px}html[lang=en] .header-actions>.pill{max-width:114px;white-space:normal;line-height:1.3}}
@media(min-width:1001px){.service-grid>.service-card{display:grid;grid-template-rows:72px 1fr;gap:24px}.service-grid>.service-card>div{align-self:start}.service-card .circle{width:28px;height:28px}}

/* Keep contact copy in meaningful sentences at every viewport. */
.contact-description>span{display:block;text-wrap:pretty}
.contact-intro>p,.form-intro,.field-help,#success-view>p{word-break:keep-all;overflow-wrap:break-word;text-wrap:pretty}

/* Editorial wrapping: deliberate thought breaks, balanced reflow, no clipped copy. */
.copy-line{display:block;text-wrap:balance;word-break:keep-all;overflow-wrap:break-word}
main p,main dd,main h2,main h3,.field-help{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
html[lang=en] main p,html[lang=en] main dd,html[lang=en] .copy-line{word-break:normal;hyphens:none}
.about-summary .copy-line:nth-child(3){margin-top:14px}
.service-card p{max-width:36ch}
#service-text,.option-label{text-wrap:balance;word-break:keep-all}
#success-view .draft-note .copy-line:last-child{overflow-wrap:anywhere}
@media(min-width:1001px){.service-grid>.service-card{min-height:390px}}
/* The decorative PCB stays inside the hero on tablet widths too. */
.hero{overflow:hidden}

/* Shared field typography and one left edge for labels, help and controls. */
.form-panel label{font-size:16px;line-height:1.6}
.form-panel label>span:first-child:not(.field-help){font-size:16px;color:#e1e4d9;margin:0;line-height:1.6}
.form-panel label>span:nth-child(2):not(.field-help){font-size:12px;color:#a5aa99;margin:0 0 0 6px}
.form-panel label>.field-help{font-size:14px;color:#b9bdb0;margin:10px 0 0;line-height:1.8}
.form-panel .field-label{font-size:16px;line-height:1.6}
.form-panel input,.form-panel textarea,.custom-select{margin-top:10px}
.attachments{margin:0;padding:0;min-width:0}.attachments h3{font-family:inherit;font-size:16px;font-weight:400;line-height:1.6;letter-spacing:normal;margin:0;color:#e1e4d9}.attachments small{font-size:12px;color:#a5aa99;margin-left:6px}.attachment-help,.file-limits{font-size:14px;line-height:1.8;color:#b9bdb0;margin:10px 0 0;text-wrap:pretty}.file-dropzone{margin-top:14px;padding:26px 20px;background:#11140f;border:1px dashed #636b57;border-radius:6px;text-align:center;transition:border-color .2s,background .2s}.file-dropzone.drag-over{border-color:#dbe4cb;background:#242c1d}.upload-mark{display:block;font-size:26px;color:#cbd4bd}.file-dropzone p{font-size:14px;color:#c1c8b7;margin:8px 0 16px}.file-choose{margin:auto;font-size:14px;cursor:pointer}.file-dropzone[aria-busy=true]{opacity:.55}.file-limits{font-size:12px;color:#a6ad9b}.file-summary{font-size:13px;color:#c3cbb7;margin:14px 0 0}.file-summary:empty{display:none}.file-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.file-row{display:flex;gap:16px;align-items:center;padding:12px 14px;border:1px solid #3b4233;border-radius:5px;min-width:0}.file-info{flex:1;min-width:0}.file-name{display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.6;color:#e3e8db}.file-size{display:block;font-size:12px;color:#a4ad97;margin-top:4px}.file-remove{flex-shrink:0;background:none;border:0;border-radius:4px;color:#c4ccb9;min-height:44px;padding:8px;cursor:pointer;font-size:13px}.file-remove:hover{background:#2b3124;color:#fff}#file-errors{white-space:pre-line;line-height:1.8}#success-files{white-space:normal;overflow-wrap:anywhere}.file-choose:disabled,.file-remove:disabled{cursor:wait;opacity:.5}
#attachment-input[hidden]{display:none}

.form-panel .field-label small{font-size:12px;color:#a5aa99;margin-left:6px}
