/* Craft catalogue: photo-led layout, calm typography, small colour accents. */
:root{--color-ink:#302d32;--color-muted:#6e6971;--color-accent:#78445c;--color-paper:#fff;--color-paper-2:#f8f5f6;--color-rule:#e9e3e7}
body{color:#302d32;letter-spacing:-.018em}.brand-word,.section-heading h2,.showcase-heading h2,.payments .section-heading h2{color:#302d32}.section-heading h2,.showcase-heading h2{letter-spacing:-.035em;line-height:1.35}.section-heading p,.showcase-heading p{color:#6e6971;line-height:1.8}.header-inner>nav a{color:#5d5761}.nav-cta,.form-submit{background:#493442;border-color:#493442}.brand small{color:#817780}.task-strip strong,.photo-category-heading h3,.job-steps h3,.job-action h3,.payments figcaption strong{color:#3b333c}.task-strip small,.product-photo p,.job-steps p,.job-steps small{color:#716a73}.application-form{box-shadow:none;border-color:#e9e3e7}.application-form input:not([type=checkbox]),.application-form select,.application-form textarea{background:#fbfafb;border-color:#ded5dc;color:#302d32}.company-details,.company-details a{color:#716a73}.company-details strong{color:#3b333c}
#work{scroll-margin-top:100px}#work>.section-heading{margin-bottom:32px}#work>.section-heading h2{font-size:34px;font-weight:700}#work>.section-heading p{font-size:15px;max-width:480px}
.project-rate-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:46px}
.project-rate-card{display:block;padding:0;background:transparent;border:0;border-radius:0;overflow:visible;text-align:left;box-shadow:none;color:#302d32;transition:none;min-width:0}
.project-rate-card:hover{border:0;box-shadow:none;transform:none}.project-rate-card:focus-visible{outline:2px solid #78445c;outline-offset:6px;border-radius:8px}
.rate-photo{display:block;border-radius:10px;overflow:hidden;background:#f3eef1;aspect-ratio:4/3}.rate-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.project-rate-card:hover .rate-photo img{transform:scale(1.025)}
.rate-copy{display:block;padding:20px 0 0}.rate-card-top{display:block;padding:0;font-size:23px;line-height:1.4;font-weight:700;letter-spacing:-.035em}
.rate-card-tags{display:flex;flex-wrap:wrap;gap:0;margin:8px 0 18px;padding:0;line-height:1.6}.rate-card-tags>span{font-size:13px;background:none;padding:0;color:#777078;border:0;border-radius:0}.rate-card-tags>span+span:before{content:'·';margin:0 7px;color:#b5a6b2}
.rate-card-bottom{position:static;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;background:transparent;padding:0;text-align:left;color:#78445c}
.rate-card-bottom>small{display:block;background:none;border:0;padding:0;margin:0;font-size:12px;font-weight:400;color:#777078;border-radius:0;white-space:nowrap}
.rate-card-bottom>strong{font-family:Arial,'Noto Sans KR',sans-serif;display:inline-flex;align-items:baseline;gap:4px;font-size:32px;font-weight:700;color:#78445c;line-height:1.2;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.rate-card-bottom strong>span{display:inline;margin:0;font-family:'Noto Sans KR',sans-serif;font-size:14px;font-weight:400;letter-spacing:-.015em;color:#78445c}.rate-card-bottom i{font-style:normal;color:#847b84;font-size:12px;margin-left:5px}
.rate-card-detail{display:flex;align-items:center;justify-content:space-between;margin:16px 0 0;padding:12px 0 0;border-top:1px solid #e9e3e7;background:none;font-size:12px;font-weight:400;color:#615661}.rate-card-detail:after{content:none}.rate-card-detail svg{width:15px;height:15px;color:#806c7b}
.project-price{background:#f8f4f7;border-color:#e7dfe5;border-radius:8px}.project-price strong{color:#78445c}.project-price>span,.project-price p,.project-price small{color:#7a6c77}.project-tags>span{background:#f5f0f3;color:#776373}.project-tabs>button{border-color:#e4dde2;color:#776373}.project-tabs>button[aria-pressed=true]{border-color:#9d7b91;background:#faf5f8;color:#70475f;box-shadow:0 0 0 1px #9d7b91}.consult-popup-copy h2,.project-dialog-brand strong{color:#302d32}.project-dialog-brand>span,.project-terms dd{color:#7a717a}.project-terms dt{color:#493b47}
@media(max-width:1000px) and (min-width:761px){.project-rate-cards{gap:20px}.rate-card-top{font-size:20px}.rate-card-tags>span{font-size:11px}.rate-card-bottom>strong{font-size:28px}.rate-card-bottom{gap:6px}.rate-card-bottom i{margin-left:2px}}
@media(max-width:760px){#work{scroll-margin-top:90px}#work>.section-heading{margin-bottom:26px}#work>.section-heading h2{font-size:28px;line-height:1.4}#work>.section-heading p{font-size:14px;line-height:1.8}.project-rate-cards{grid-template-columns:1fr;gap:0;margin-bottom:36px}.project-rate-card{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto;column-gap:18px;row-gap:0;padding:20px 0;border-bottom:1px solid #e9e3e7;border-radius:0}.project-rate-card:first-child{padding-top:0}.project-rate-card:hover{border-bottom:1px solid #e9e3e7}.rate-photo{aspect-ratio:auto;width:112px;height:146px;border-radius:8px}.rate-copy{padding:0;min-width:0;display:flex;flex-direction:column}.rate-card-top{font-size:19px;padding:0;line-height:1.4}.rate-card-tags{margin:7px 0 12px;gap:0}.rate-card-tags>span{font-size:11px}.rate-card-tags>span+span:before{margin:0 5px}.rate-card-bottom{align-items:baseline;justify-content:flex-start;gap:5px;flex-wrap:wrap;margin-top:auto}.rate-card-bottom>small{flex:0 0 100%;font-size:11px;line-height:1.3}.rate-card-bottom>strong{font-size:29px;line-height:1.15}.rate-card-bottom strong>span{font-size:13px}.rate-card-bottom i{font-size:11px;margin-left:4px}.rate-card-detail{margin:10px 0 0;padding:0;border:0;font-size:12px}.rate-card-detail svg{width:13px;height:13px}.project-price strong{font-size:34px}}
@media(max-width:360px){.project-rate-card{grid-template-columns:92px minmax(0,1fr);gap:14px}.rate-photo{width:92px;height:145px}.rate-card-top{font-size:18px}.rate-card-tags>span{font-size:10px}.rate-card-bottom>strong{font-size:28px}}
@media(prefers-reduced-motion:reduce){.rate-photo img{transition:none}}
/* Responsive catalogue proportions: square work photos and content-sized rows. */
@media(max-width:760px){
 .project-rate-cards{width:100%;max-width:640px;margin-left:auto;margin-right:auto}
 .project-rate-card{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:18px;align-items:center;padding:18px 0}
 .rate-photo{width:100%;height:auto;aspect-ratio:1/1;align-self:center;border-radius:10px}
 .rate-photo img{aspect-ratio:1/1;object-fit:cover}
 .rate-copy{display:block;padding:0}
 .rate-card-top{font-size:clamp(18px,3.2vw,23px);line-height:1.35}
 .rate-card-tags{margin:6px 0 10px;line-height:1.5}
 .rate-card-tags>span{font-size:clamp(11px,1.9vw,13px)}
 .rate-card-bottom{display:block;margin:0}
 .rate-card-bottom>small{font-size:11px;line-height:1.3;margin-bottom:3px}
 .rate-card-bottom>strong{font-size:clamp(28px,4.8vw,34px);line-height:1.15}
 .rate-card-detail{margin:10px 0 0;font-size:11px;justify-content:flex-start;gap:8px;line-height:1.4}
}
@media(max-width:360px){
 .project-rate-card{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:13px;padding:16px 0}
 .rate-card-top{font-size:17px}.rate-card-tags{margin:5px 0 8px}.rate-card-tags>span{font-size:10px}
 .rate-card-tags>span+span:before{margin:0 3px}.rate-card-bottom>strong{font-size:27px}
 .rate-card-bottom strong>span{font-size:11px}.rate-card-bottom i{font-size:10px;margin-left:2px}
}
@media(min-width:481px) and (max-width:760px){
 .project-rate-cards{max-width:540px}.project-rate-card{grid-template-columns:180px minmax(0,1fr);gap:24px}
 .rate-card-top{font-size:22px}.rate-card-tags>span{font-size:13px}.rate-card-bottom>strong{font-size:34px}
 .rate-card-bottom>small,.rate-card-detail{font-size:12px}
}

/* Company overview uses the same colors and type hierarchy as the work catalogue. */
.company-section {
 background: #f8f5f6;
 color: #302d32;
 padding: clamp(36px, 5vw, 68px) 0;
}
.company-section .company-layout { display: block; }
.company-intro { margin-bottom: 28px; }
.company-section .company-intro h2 {
 font-size: clamp(25px, 3vw, 38px);
 line-height: 1.35;
 margin: 0 0 9px;
 word-break: keep-all;
}
.company-section p { color: #655a63; line-height: 1.7; word-break: keep-all; }
.company-intro p { margin: 0; max-width: 44rem; }
.company-services {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 column-gap: 28px;
 border-top: 1px solid #e0d5de;
}
.company-section .company-services > div {
 grid-template-columns: 38px minmax(0, 1fr);
 grid-template-rows: auto 1fr;
 gap: 3px 12px;
 padding: 20px 0 0;
 border-bottom: 0;
}
.company-section .company-services span {
 display: grid;
 place-items: center;
 width: 38px;
 height: 38px;
 padding: 0;
 border-radius: 10px;
 background: #ede4ea;
 color: #78445c;
}
.company-services .service-icon { width: 20px; height: 20px; }
.company-section .company-services h3 { margin: 0; font-size: 17px; line-height: 1.45; }
.company-section .company-services p { margin: 0; font-size: 13px; }
.hero .opening-content h1 { overflow-wrap: anywhere; }
@media (max-width: 760px) {
 .hero .opening-content h1 { font-size: clamp(28px, 8.5vw, 36px); }
 .hero-actions { flex-wrap: wrap; }
}

.contact-progress {
 position: fixed;
 z-index: 80;
 inset-inline: 0;
 bottom: calc(78px + env(safe-area-inset-bottom, 0px));
 width: fit-content;
 max-width: calc(100% - 28px);
 margin-inline: auto;
 color: #691744;
 text-shadow: 0 0 2px #fff, 0 0 4px #fff, 0 1px 2px #fff;
}
.contact-progress[hidden], .contact-progress [hidden] { display: none; }
.contact-progress-row { display: flex; gap: 10px; align-items: flex-start; }
.contact-progress-copy { flex: 1; min-width: 0; word-break: keep-all; }
.contact-progress-title { display: block; font-size: 14px; line-height: 1.5; }
.contact-progress-copy p { margin: 2px 0 0; font-size: 12px; line-height: 1.55; color: #4d3446; }
.contact-progress-spinner {
 flex: none;
 width: 17px;
 height: 17px;
 margin-top: 2px;
 border: 2px solid #dfb6cc;
 border-top-color: #9b245e;
 border-radius: 50%;
 animation: contact-spin .8s linear infinite;
}
@keyframes contact-spin { to { transform: rotate(360deg); } }
.contact-progress[data-state="waiting"] .contact-progress-spinner { display: none; }
.contact-progress-close {
 flex: none;
 border: 0;
 background: transparent;
 color: inherit;
 text-shadow: inherit;
 font: inherit;
 font-size: 20px;
 line-height: 1;
 padding: 0;
 width: 34px;
 height: 34px;
 margin: -6px 0 0;
 cursor: pointer;
}
.contact-progress-manual {
 display: inline-flex;
 align-items: center;
 min-height: 34px;
 margin-top: 3px;
 color: inherit;
 font-size: 12px;
 font-weight: 700;
 text-decoration: underline;
 text-underline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
 .contact-progress-spinner { animation: none; }
}
@media (max-width: 760px) {
 .company-intro { margin-bottom: 20px; }
 .company-services { grid-template-columns: 1fr; }
 .company-section .company-services > div { padding: 13px 0; }
 .company-section .company-services > div + div { border-top: 1px solid #e0d5de; }
 .company-section .company-services > div:last-child { padding-bottom: 0; }
}
