@font-face{font-family:KnovContact;src:url('/fonts/pretendard/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--ink:#171717;--accent:#171717;--line:#777777;--font:KnovContact,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}header{padding:26px 2.5vw 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:block;width:min(46vw,590px)}.brand img{width:100%;height:auto;display:block}nav{display:flex;gap:32px;font-size:15px}nav a[aria-current]{font-weight:700}nav a:hover,aside a:hover{color:var(--accent)}main{width:100%;max-width:1360px;margin-inline:auto;padding:0 16px}.intro{padding-top:70px}.intro h1{color:var(--accent);font-size:clamp(42px,4.8vw,68px);font-weight:400;letter-spacing:-.055em;line-height:1.15;margin:0 0 28px}.contact-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;margin:56px 0 80px}aside{grid-column:span 6;padding-right:0}dl{margin:0}dl>div{display:grid;grid-template-columns:35% 65%;margin-bottom:44px;gap:8px;font-size:15px;line-height:1.55}dt{font-weight:650}dd{margin:0;overflow-wrap:anywhere}dd a{display:block;width:fit-content}form{grid-column:span 4;width:100%;min-width:0;scroll-margin-top:24px}.field{margin-bottom:28px}.field label{display:block;font-size:14px;margin-bottom:9px;line-height:1.4;letter-spacing:-.02em}.optional{color:#777;font-size:11px;font-weight:400;margin-left:5px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:9px 15px;font-size:14px;line-height:1.4;min-height:39px;box-shadow:0 0 0 .3px var(--line);appearance:none}.field input::placeholder,.field textarea::placeholder{color:#888888;opacity:1}.field select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none'%3E%3Cpath d='m1 1 6 6 6-6' stroke='%23171717' stroke-width='1.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;cursor:pointer}.field textarea{min-height:136px;resize:vertical;padding-top:13px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:2px}.field [aria-invalid=true]{border-color:#171717}.error{font-size:12px;color:#171717;margin:8px 0 0;line-height:1.5}details{margin:-6px 0 32px}summary{display:flex;align-items:center;font-size:13px;min-height:30px;cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.plus{margin-left:auto;font-size:20px;font-weight:300}details[open] .plus{transform:rotate(45deg)}details[open] summary{margin-bottom:20px}details .field{margin-bottom:22px}.privacy{font-size:12px;line-height:1.7;margin:0 0 22px;color:#666}.privacy a{text-decoration:underline;text-underline-offset:3px}.submit{color:var(--accent);border:1px solid var(--accent);border-radius:11px;padding:10px 17px;background:white;font-size:14px;min-height:40px;display:flex;align-items:center;gap:18px;cursor:pointer}.submit:hover{color:white;background:var(--accent)}.preview-note{font-size:11px;color:#777;margin-top:16px;line-height:1.6}#form-status{font-size:14px;padding:18px;background:#f4f4f4;line-height:1.7;border-radius:11px}footer{width:100%;max-width:1360px;margin-inline:auto;border-top:1px solid #dedede;background:#fff;color:var(--ink);display:flex;justify-content:space-between;align-items:center;padding:24px 16px;font-size:12px}.skip{position:fixed;top:-100px;background:#fff;padding:14px;z-index:10}.skip:focus{top:0}:focus-visible{outline:2px solid #171717;outline-offset:4px}[hidden]{display:none!important}
@media(min-width:1600px){header,footer{padding-left:32px;padding-right:32px}.intro{padding-top:80px}.contact-grid{margin-top:64px}dl>div{font-size:18px;margin-bottom:52px}.field label{font-size:16px}.field input,.field select{font-size:16px;min-height:46px}.field textarea{font-size:16px;min-height:160px}.field{margin-bottom:32px}}
@media(max-width:800px){header{padding:24px 20px;display:block}.brand{width:100%;max-width:480px}nav{margin-top:28px;gap:25px;font-size:14px}main{padding:0 20px}.intro{padding-top:35px}.intro h1{font-size:43px}.contact-grid{grid-template-columns:1fr;margin-top:32px;margin-bottom:48px;gap:46px}aside{padding:0;grid-row:2;grid-column:1}dl>div{grid-template-columns:36% 64%;margin-bottom:24px;font-size:14px;gap:0}form{grid-column:1;width:100%;max-width:none}.field input,.field select,.field textarea{font-size:16px;min-height:46px}.field{margin-bottom:24px}.field textarea{min-height:150px}.submit{min-height:44px;font-size:15px}footer{padding:28px 20px}.preview-note{margin-bottom:0}}
@media(max-width:390px){.intro h1{font-size:39px}dd a{font-size:13px}nav{justify-content:space-between;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Match the existing site's navigation scale; retain the larger contact-page logo. */
header{padding-right:clamp(38.4px,2.88vw,76.8px);align-items:flex-start}
.brand-block{flex:none;width:min(46vw,590px)}
.brand-block .brand{width:100%}
.brand-description{margin:17px 0 0;font-size:14px;line-height:1.5;font-weight:400;letter-spacing:-.02em;color:#555}
.site-menu{--nav-unit:clamp(12px,.9vw,24px);display:flex;align-items:center;flex:none;gap:0;font-size:calc(var(--nav-unit)*1.05);line-height:2;margin-top:8px;color:rgba(17,17,17,.7)}
.nav-studio{display:flex;align-items:center;gap:clamp(24px,3.5vw,72px)}
.site-menu a{white-space:nowrap}
.site-menu a:hover{text-decoration:underline;text-underline-offset:4px}
.site-menu .nav-commercial{position:relative;margin-left:clamp(36px,5.5vw,112px);background:#111;color:#fff;border-radius:3px;padding:4px 14px;line-height:1.5;text-decoration:none}
.nav-commercial::before{content:"";position:absolute;left:calc(clamp(36px,5.5vw,112px)/-2);top:50%;transform:translateY(-50%);height:1.7em;width:1px;background:#c9c9c9}
.site-menu .nav-commercial:hover{background:#303030;color:#fff;text-decoration:none}
.nav-language{position:relative;margin:0 0 0 clamp(20px,2.5vw,48px)}
.nav-language summary{font-size:clamp(11.4px,.855vw,22.8px);letter-spacing:.04em;line-height:2;min-height:0;gap:5px}
.nav-language[open] summary{margin:0}
.language-options{position:absolute;top:calc(100% + 8px);right:0;z-index:10;min-width:110px;padding:8px 0;border:1px solid #ddd;background:white}
.language-options a{display:block;padding:5px 14px;font-size:12px}
@media(max-width:1100px) and (min-width:801px){header{gap:24px}.brand-block{width:40vw}.nav-studio{gap:24px}.site-menu .nav-commercial{margin-left:36px}.nav-commercial::before{left:-18px}.nav-language{margin-left:20px}}
@media(max-width:800px){header{padding:24px 20px}.brand-block{width:100%;max-width:480px}.brand-description{font-size:12px;margin-top:12px}.site-menu{margin-top:26px;font-size:12.5px;justify-content:flex-start;gap:0}.nav-studio{gap:clamp(12px,3.5vw,24px)}.site-menu .nav-commercial{padding:3px 7px;margin-left:24px}.nav-commercial::before{left:-12px;height:1.5em}.nav-language{margin-left:auto}.nav-language summary{font-size:11.4px}}

/* Form audit: keyboard focus, server receipt and invisible bot field. */
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.submit:disabled{opacity:.55;cursor:wait}
.receipt{grid-column:span 4;min-width:0;padding:24px 0;line-height:1.7}
.receipt h2{font-size:26px;letter-spacing:-.04em;font-weight:500}
.receipt a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.receipt{grid-column:1}}
/* The original switches its form columns at 1024px; avoid a 243px tablet form. */
@media(min-width:801px) and (max-width:1023px){
 .contact-grid{grid-template-columns:1fr;gap:46px;margin-top:32px}
 form,.receipt{grid-column:1;width:100%}
 aside{grid-column:1;grid-row:2}
 .field input,.field select,.field textarea{font-size:16px;min-height:46px}
}
@media(max-width:360px){
 .site-menu{font-size:11.5px}
 .nav-studio{gap:10px}
 .site-menu .nav-commercial{margin-left:18px;padding-inline:6px}
 .nav-commercial::before{left:-9px}
 .nav-language{margin-left:auto;padding-left:8px}
 .nav-language summary{font-size:10.5px;gap:3px}
 .nav-language svg{width:13px;height:13px}
}

/* Optional project fields: readable disclosure and a generous touch target. */
form > details > summary{font-size:16px;font-weight:500;min-height:48px;line-height:1.5;padding:8px 0}
form > details > summary .optional{font-size:12px;margin-left:8px}
form > details > summary .plus{font-size:26px;font-weight:400;line-height:1;width:32px;text-align:center}

/* Existing language control and its keyboard/outside-click behavior. */
.site-menu .langsw{position:relative;margin-left:clamp(20px,2.5vw,48px)}
.site-menu .language{border:0;padding:0;background:transparent;color:inherit;font:inherit;font-size:clamp(11.4px,.855vw,22.8px);line-height:2;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;gap:5px}
.site-menu .language svg{width:16px;height:16px}
.site-menu .chevron{font-size:.7em;opacity:.6}
.site-menu .dmenu{display:none;position:absolute;right:0;top:100%;z-index:10;min-width:110px;padding:8px 0;background:#fff;border:1px solid #ddd}
.site-menu .langsw.open .dmenu{display:flex;flex-direction:column}
.site-menu .dmenu a{font-size:12px;padding:5px 14px}
.site-menu .dmenu a:hover{background:#f3f3f3}
@media(min-width:801px) and (max-width:1100px){.site-menu .langsw{margin-left:20px}}
@media(max-width:800px){.site-menu .langsw{margin-left:auto}.site-menu .language{font-size:11.4px}}
@media(max-width:360px){.site-menu .langsw{padding-left:8px}.site-menu .language{font-size:10.5px;gap:3px}.site-menu .language svg{width:13px;height:13px}}
.receipt h2{margin-top:0}
