/* Text spacing is consistent; spacing between layout regions stays independent. */
main h1,main h2,main h3,main h4,main p,main .eyebrow,main .hero-promises,main .contact-slogan{margin-bottom:8px!important}
.hero-promises{gap:20px;margin-top:8px}
.hero-promises span{display:flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:none}
.hero-promises span:before{content:'';display:block;width:4px;height:4px;flex:none;background:#d11f34}
#process .process-list article:first-child{border-top:0}
.faq-category-heading{display:grid;grid-template-columns:60px 1fr;gap:25px;align-items:start}
.faq-category-heading .step-number{font-size:22px;font-weight:700;line-height:1.4;color:#161616;padding-top:2px}
.faq-category-heading h3{font-size:23px!important;font-weight:600;letter-spacing:-.8px;line-height:1.4;margin-top:0}
.contact .contact-slogan{font-weight:700;line-height:1.25;letter-spacing:-.045em}
@media(max-width:760px){.hero-promises{gap:10px 18px}.faq-category-heading{grid-template-columns:35px 1fr;gap:15px}.faq-category-heading h3{font-size:24px!important}.faq-category-heading .step-number{font-size:22px}}

/* Space types introduce the supporting explanation in each service chapter. */
.fields-options .field-panel .field-examples{display:block;color:#d11f34;font-weight:700;font-size:13px;margin:8px 0 8px;padding-bottom:0;line-height:1.5;letter-spacing:.025em}
.fields-options .field-panel p{margin-top:0}

/* Updated solution and FAQ copy. */
.solution-description,.solution-consultation p,.faq-heading>p{font-size:16px;line-height:1.75;word-break:keep-all}
.solution-description{max-width:800px;margin:20px auto 8px;color:#666}
.worries .standards-heading{margin-bottom:36px}
.solution-consultation{text-align:center;max-width:820px;margin:0 auto 48px}
.solution-consultation h3{font-size:clamp(22px,2vw,30px);line-height:1.4;letter-spacing:-.04em}
.solution-consultation p{color:#666;margin-top:12px}
.faq-heading>p{margin-top:18px;color:#666}
@media(max-width:760px){.solution-consultation{margin-bottom:32px}.solution-description{margin-top:16px}.solution-consultation h3{font-size:22px!important}}

/* Unified section introduction scale across desktop and mobile. */
main h1,main h2,main .contact-slogan{font-size:3.5vw!important;line-height:1.25!important}
.hero .cover-copy>p,.fields-heading>p,.standards-heading>p,.timeless-full-stage .cover-copy>p,.process .cover-copy>p,.faq-heading>p,.contact-copy>p:not(.notice){font-size:16px!important;line-height:1.75!important}
@media(max-width:760px){main h1,main h2,main .contact-slogan{font-size:24px!important;line-height:1.3!important}.hero .cover-copy>p,.fields-heading>p,.standards-heading>p,.timeless-full-stage .cover-copy>p,.process .cover-copy>p,.faq-heading>p,.contact-copy>p:not(.notice){font-size:15px!important;line-height:1.75!important}}

/* Smaller section titles and black alpha hierarchy on the brand background. */
main h1,main h2,main .contact-slogan,.field-toggle,.field-option:not(.is-active) .field-toggle{font-size:3vw!important}
.faq.faq-categories{color:#000}
.faq-category-heading .step-number{color:rgba(0,0,0,.55)}
.faq-heading>p,.faq-questions p{color:rgba(0,0,0,.7);opacity:1}
.faq-questions details{border-color:rgba(0,0,0,.25)}
@media(max-width:760px){main h1,main h2,main .contact-slogan,.field-toggle,.field-option:not(.is-active) .field-toggle{font-size:22px!important}}

/* Matches Interior reference: fixed, compact typography hierarchy. */
body{font-family:Pretendard,'Apple SD Gothic Neo','Malgun Gothic',Arial,sans-serif}
main h1,main h2,main .contact-slogan{font-size:36px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:-1px!important}
main h3,.field-toggle,.field-option:not(.is-active) .field-toggle,.faq-category-heading h3{font-size:20px!important;font-weight:700!important;line-height:1.5!important;letter-spacing:-.6px!important}
main p,.cover p,.fields-heading p,.field-panel p,.process-list p,.phase-row p,.phase-heading>p,.hero .cover-copy>p,.standards-heading>p,.timeless-full-stage .cover-copy>p,.process .cover-copy>p,.faq-heading>p,.contact-copy>p:not(.notice){font-size:16px!important;font-weight:400!important;line-height:1.7!important;letter-spacing:-.4px}
main .notice,main .eyebrow,.field-panel .field-examples{font-size:13px!important}
@media(max-width:760px){main h1,main h2,main .contact-slogan{font-size:30px!important}main h3,.field-toggle,.field-option:not(.is-active) .field-toggle,.faq-category-heading h3{font-size:20px!important}main p,.cover p,.fields-heading p,.field-panel p,.process-list p,.phase-row p,.phase-heading>p,.hero .cover-copy>p,.standards-heading>p,.timeless-full-stage .cover-copy>p,.process .cover-copy>p,.faq-heading>p,.contact-copy>p:not(.notice){font-size:14px!important}main .notice{font-size:13px!important}}

/* All section introductions use a centered composition on every viewport. */
main .cover-copy,main .fields-heading,main .standards-heading,main .faq-heading,main .contact-copy,main .phase-heading,main .process-end{text-align:center!important}
main .cover-copy{width:100%;max-width:1000px!important;margin-inline:auto!important}
main .cover-copy h1,main .cover-copy h2,main .cover-copy p,main .contact-copy h2,main .contact-copy>p,main .phase-heading>p{margin-inline:auto!important}
main .section-badge{margin-inline:auto!important}
.hero-promises,.process-index{justify-content:center}
.fields-options,.field-panel,.fields-mobile-summary,.worries-grid article{text-align:center!important}
.field-toggle,.field-option:not(.is-active) .field-toggle{width:100%;text-align:center!important}
.field-panel p{margin-inline:auto!important}
.faq-category-heading{justify-items:start;text-align:left}
.process-end{justify-content:center}

/* Service carousel and inquiry retain their own left aligned reading layout. */
main .fields-options,main .field-panel,main .fields-mobile-summary{ text-align:left!important }
main .field-toggle,main .field-option:not(.is-active) .field-toggle{font-size:30px!important;text-align:left!important}
main .field-panel p,main .field-panel .field-examples,main .fields-mobile-summary p,main .fields-mobile-summary .field-examples{text-align:left!important;margin-inline:0!important}
#brief.contact{background:#000;color:#fff}
main #brief .contact-copy{text-align:left!important}
main #brief .contact-copy h2,main #brief .contact-copy>p{margin-inline:0!important}
#brief .contact-copy>p{color:rgba(255,255,255,.75);opacity:1}
#brief .contact-copy>.notice{color:rgba(255,255,255,.5)}
#brief label{color:rgba(255,255,255,.8)}
#brief input,#brief select,#brief textarea{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.25);color:#fff;color-scheme:dark}
#brief input::placeholder,#brief textarea::placeholder{color:rgba(255,255,255,.45);opacity:1}
#brief input:focus-visible,#brief select:focus-visible,#brief textarea:focus-visible{outline:2px solid rgba(255,255,255,.65);outline-offset:2px}
#brief .btn{background:#fff;color:#000;border-color:#fff}
#brief #result{background:rgba(255,255,255,.08);color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.25)}
/* Match the FAQ and inquiry section gutters instead of capping each process row. */
#process .process-list{width:100%;padding-left:7vw;padding-right:7vw;box-sizing:border-box}
#process .process-list article{width:100%;max-width:none;margin-inline:0;box-sizing:border-box}
#process .cover-copy{max-width:none!important}
@media(max-width:760px){#process .process-list{padding-left:6vw;padding-right:6vw}}

/* The carousel owns its spacing; shared heading margins must not enlarge its rows. */
main .fields-options .field-option,main .fields-options .field-option h3,main .fields-options .field-toggle{margin:0!important}
.fields-visual{overflow:hidden;border-radius:28px}
.fields-heading{flex-shrink:0;position:relative;z-index:3}
@media(max-width:760px){
 .fields-stage{justify-content:flex-start}
 .fields-heading{margin-bottom:18px!important}
 .fields-layout{flex:0 0 auto;justify-content:flex-start;gap:18px}
 .fields-visual{flex:0 0 clamp(100px,20svh,180px);height:clamp(100px,20svh,180px);min-height:0;max-height:none;border-radius:20px}
 .fields-options{gap:4px;flex:0 0 auto}
 main .fields-options .field-toggle{line-height:1.2!important}
}

/* Restore a landscape image rather than compressing its height. */
@media(max-width:760px){
 .fields-visual{flex:0 0 auto;height:auto;aspect-ratio:16/9;min-height:0;max-height:none}
 .fields-heading>p{max-width:none}
 .fields-layout{gap:16px}
}

/* Responsive dividers between the three solution promises. */
.worries-grid{gap:0}
.worries-grid article{padding:0 2.5vw;min-width:0}
.worries-grid article+article{border-left:1px solid rgba(0,0,0,.18)}
.worries-grid article p{margin-inline:auto}
.process-tags{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:24px}
.process-tags button{font:inherit;font-size:14px;padding:10px 24px;border:1px solid rgba(255,255,255,.55);border-radius:24px;color:#fff;background:transparent;cursor:pointer}
.process-tags button[aria-pressed=true]{color:#000;background:#fff;border-color:#fff}
.process-tags button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.process-optional{display:inline-block;vertical-align:middle;margin-left:8px;font-size:12px;font-weight:400;padding:2px 7px;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:rgba(255,255,255,.7)}
@media(max-width:760px){.worries-grid{gap:0}.worries-grid article{padding:24px 0}.worries-grid article:first-child{padding-top:0}.worries-grid article:last-child{padding-bottom:0}.worries-grid article+article{border-left:0;border-top:1px solid rgba(0,0,0,.18)}.process-tags button{padding:9px 20px}}

/* Mobile FAQ category labels form a single, left aligned pair. */
@media(max-width:760px){
 .faq-category-heading{display:flex;align-items:baseline;justify-content:flex-start;gap:12px;text-align:left;justify-items:start}
 .faq-category-heading .step-number{flex:0 0 auto;padding:0;margin:0;line-height:1.5}
 main .faq-category-heading h3{flex:0 1 auto;text-align:left;margin:0!important;padding:0}
}

/* Desktop service imagery takes priority over the supporting text column. */
@media(min-width:1024px){
 .fields-layout{grid-template-columns:minmax(0,64fr) minmax(0,36fr);gap:3.5vw}
 .fields-visual{width:100%;min-width:0}
 .fields-options{width:100%;min-width:0}
 .fields-panel p,.field-panel p{max-width:100%}
}

/* FAQ category labels match the mobile process number column exactly. */
@media(max-width:760px){
 .faq-category-heading{display:grid;grid-template-columns:35px minmax(0,1fr);gap:15px;align-items:start;justify-items:start;text-align:left}
 .faq-category-heading .step-number{width:35px;padding:0;margin:0;text-align:left;line-height:1.4}
 main .faq-category-heading h3{text-align:left;margin:0!important;padding:0;line-height:1.4!important}
}

/* Category labels align to the start of their grid cells, not the center. */
.faq-category-heading{justify-items:start;text-align:left;align-items:start}
.faq-category-heading .step-number{justify-self:start;text-align:left}
main .faq-category-heading h3{justify-self:start;text-align:left;margin:0!important;padding:0}
