/* Selected elements from the designer study, adapted to all three viewports. */
:root { --brand-red:#f14545; --brand-surface:#d53b3b; --brand-hover:#bd3030; --copper:var(--brand-red); }
/* Keep the approved silhouette. Color carries the mark; no moving line. */
.navigation.open-horizon .pnz-signature,
.open-menu .pnz-signature,
.request-nav .pnz-signature {
 background:linear-gradient(90deg,#f14545 0 66%,var(--h-ink,#29312b) 66% 100%);
 animation:none; filter:none; box-shadow:none;
}
.navigation.open-horizon .pnz-signature::before,
.navigation.open-horizon .pnz-signature::after,
.open-menu .pnz-signature::before,.open-menu .pnz-signature::after,
.request-nav .pnz-signature::before,.request-nav .pnz-signature::after,
.pnz-signature .signature-light { display:none; animation:none; }
.navigation.open-horizon[data-tone="ink"] .pnz-signature {
 background:linear-gradient(90deg,#ff8478 0 66%,#fcfaf2 66% 100%);
}
.navigation.open-horizon[data-tone="brand"] { --h-ink:#fffaf4; --h-muted:#fffaf4; }
.navigation.open-horizon[data-tone="brand"] .pnz-signature { background:#fffaf4; }
.header-wash[data-tone="brand"] { background:linear-gradient(to bottom,var(--brand-surface) 0 82px,transparent 96px); }
.h-brand::before,.h-brand::after { display:none; }
/* Match Cheonhyun’s desktop header scale without altering the touch layout. */
html[data-experience="desktop"] .navigation.open-horizon .pnz-signature,
html[data-experience="desktop"] .open-menu .pnz-signature { width:100px; height:39px; }
html[data-experience="desktop"] .navigation.open-horizon .h-index a,
html[data-experience="desktop"] .navigation.open-horizon .h-contact { font-size:16px; }
/* A quiet, one-pixel edge; keyboard focus remains clearly visible. */
.intro-contact,.contact-section .contact-link,.request-page .primary {
 border:1px solid transparent; box-shadow:none; border-radius:0;
 background:var(--brand-surface); color:#fff;
 transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease;
}
.intro-contact::before,.intro-contact::after,
.contact-section .contact-link::before,.contact-section .contact-link::after { display:none; }
.intro-contact:hover,.intro-contact:focus-visible,
.request-page .primary:hover,.request-page .primary:focus-visible { background:var(--brand-hover); box-shadow:none; }
.intro-contact .pnz-icon,.contact-section .contact-link .pnz-icon { transition:transform 180ms ease; }
.intro-contact:hover .pnz-icon,.contact-section .contact-link:hover .pnz-icon { transform:translate(2px,-2px); }
.intro-contact:focus-visible,.contact-section .contact-link:focus-visible,.request-page .primary:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.service-list summary strong { font-size:clamp(24px,2.15vw,34px); line-height:1.2; font-weight:500; }
.service-description p { font-size:17px; line-height:1.6; }
.service-description a { font-size:16px; }
.request-page .service-choice:hover { border-color:var(--brand-red); }
.request-page .service-choice[aria-pressed="true"] { border-color:var(--brand-red); background:#fbedea; color:#86312b; }
/* Make field photographs useful at a glance, with their explanation visible. */
.handling-studies .handling-study-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.handling-studies .handling-study { display:block; }
.handling-studies .handling-study figure { width:100%; margin:0 0 20px; }
.handling-studies .handling-study figure img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.handling-studies .handling-study h3 { font-size:clamp(23px,2vw,30px); line-height:1.15; letter-spacing:-.035em; }
.handling-studies .handling-study p { font-size:16px; line-height:1.6; }
.record-copy h2 { max-width:13ch; }
.record-copy h2 span { display:block; }
.record-copy > p:not(.fine-print) { max-width:34ch; font-size:18px; line-height:1.6; }
/* Keep the bright accent; give broad surfaces a deeper red and clear white type. */
.contact-section { background:var(--brand-surface); color:#fff; padding-top:64px; padding-bottom:32px; --line:rgb(255 250 244 / .32); }
.contact-masthead { display:flex; justify-content:space-between; gap:24px; padding-bottom:32px; border-bottom:1px solid rgb(255 250 244 / .32); font-size:15px; }
.contact-section .contact-heading { display:block; padding-top:46px; }
.contact-section .contact-heading h2 { color:inherit; font-size:clamp(64px,7.2vw,116px); line-height:1.02; max-width:13ch; }
.contact-section .contact-heading h2 em { color:inherit; }
.contact-section .contact-heading > div { display:flex; width:100%; max-width:none; justify-content:space-between; align-items:end; gap:40px; margin-top:42px; }
.contact-section .contact-heading p { color:inherit; opacity:1; font-size:18px; line-height:1.6; max-width:34ch; margin:0; }
.contact-section .contact-link { background:#fff; color:var(--brand-surface); width:320px; min-height:66px; margin-top:0; gap:24px; padding:18px 26px; flex-shrink:0; font-size:20px; }
.contact-section .contact-link:hover,.contact-section .contact-link:focus-visible { background:#f3e4de; border-color:transparent; box-shadow:none; }
.contact-section footer { color:inherit; border-top:1px solid rgb(255 250 244 / .32); margin-top:64px; padding-top:28px; font-size:14px; }
.contact-section footer a,.contact-section .footer-name,.contact-section footer>.footer-identity { color:inherit; }
.contact-section .footer-brand img { filter:brightness(0) invert(1); opacity:1; }
@media(max-width:900px) {
 .contact-section .contact-heading > div { gap:26px; }
 .contact-section .contact-link { width:260px; font-size:18px; }
 .handling-studies .handling-study-grid { gap:20px; }
}
@media(max-width:700px) {
 .service-list summary strong { font-size:25px; }
 .service-description p,.record-copy > p:not(.fine-print) { font-size:17px; }
 .handling-studies .handling-study-grid { grid-template-columns:1fr; gap:38px; }
 .handling-studies .handling-study h3 { font-size:27px; }
 .contact-section { padding-top:34px; padding-bottom:26px; }
 .contact-masthead { padding-bottom:22px; font-size:14px; }
 .contact-section .contact-heading { padding-top:30px; }
 .contact-section .contact-heading h2 { font-size:clamp(48px,12vw,76px); }
 .contact-section .contact-heading > div { display:grid; gap:24px; margin-top:28px; }
 .contact-section .contact-heading p { font-size:17px; }
 .contact-section .contact-link { width:100%; min-height:60px; font-size:18px; }
 .contact-section footer { margin-top:42px; gap:24px; }
}
@media(max-width:760px) { .header-wash[data-tone="brand"] { background:linear-gradient(to bottom,var(--brand-surface) 0 64px,transparent 84px); } }
@media(prefers-reduced-transparency:reduce) { .header-wash[data-tone="brand"] { background:var(--brand-surface)!important; } }
@media(prefers-reduced-motion:reduce) { .intro-contact,.contact-section .contact-link,.intro-contact .pnz-icon,.contact-section .contact-link .pnz-icon { transition:none; transform:none; } }
