/* October refinement: clear hierarchy, natural photographs, restrained brand red. */
:root{--ink:#222927;--red:#b62c26;--pale:#f1f2ee;--line:#d9ddd7;--bg:#fbfaf7}
body{line-height:2}header{background:#fbfaf7fa}.nav{min-height:100px}.logo .company-logo{width:285px}.links a{position:relative}.links a[aria-current=page]{color:var(--red)}.links a[aria-current=page]:after{content:'';height:2px;background:var(--red);position:absolute;bottom:-8px;left:0;right:0}.links .nav-contact{border:1px solid var(--ink);padding:9px 18px;border-radius:2px}.links .nav-contact:hover{background:var(--ink);color:#fff}
.hero{padding-top:48px!important;padding-bottom:46px!important}.hero .wrap{grid-template-columns:47% 53%;row-gap:28px}.hero h1{font-size:clamp(1.9rem,3.05vw,2.65rem);line-height:1.75}.hero .lead{max-width:27em}.hero-figure{margin-left:22px}.hero-figure img{height:500px;border-radius:3px 58px 3px 3px;object-position:50% 44%}.hero-figure figcaption{font:500 .875rem/1.8 var(--sans);color:var(--sub);margin-top:12px}.cta{font-weight:500;padding:15px 25px;transition:background .15s ease}.plain-link{padding:5px 0}.work-index{grid-column:1/-1;display:flex;align-items:center;gap:26px;padding:23px 0 0!important;border-top:1px solid var(--line);margin-top:8px}.work-index>span{font-size:.8125rem;color:var(--sub);margin-right:auto}.work-index a{font-size:.875rem;text-decoration:none;border-bottom:1px solid var(--line);padding:4px 0}.work-index a:hover{color:var(--red);border-color:var(--red)}
#next{padding-top:62px;padding-bottom:68px}.split>img{transform:rotate(-1deg);border-width:6px}.quote{font-size:2rem}.quote small{max-width:32em}.qualifications{display:block;margin-top:4px;padding-top:0;border-bottom:1px solid var(--line)}.qualifications summary{position:relative;cursor:pointer;list-style:none;font-size:.9375rem;padding:21px 38px 21px 0}.qualifications summary::-webkit-details-marker{display:none}.qualifications summary:after{content:'＋';position:absolute;right:4px;color:var(--red)}.qualifications[open] summary:after{content:'−'}.qualifications .taglist{padding:0 0 24px}.duo{grid-template-columns:1.2fr 1fr;gap:32px}.duo img{height:300px}.duo figure:nth-child(2) img{height:245px}
.grid3{grid-template-columns:repeat(6,1fr);gap:25px 28px}.grid3>.card{grid-column:span 2;padding-top:22px}.grid3>.card:nth-child(3){grid-column:span 2}.grid3>.featured-service{grid-column:span 3;display:flex;flex-direction:column;border:0;padding:0;margin-top:7px}.featured-service img{width:100%;height:250px;object-fit:cover;object-position:center 35%;margin-bottom:22px;border-radius:2px}.featured-service .tag{margin-bottom:8px}.featured-service h3{font-size:1.6rem;margin-bottom:12px}.featured-service p{max-width:30em}.featured-service .service-link{align-self:flex-start;margin-top:20px;border-bottom:1px solid var(--red);padding-bottom:4px;text-decoration:none}.card h3{font-family:var(--sans);font-size:1.1rem;font-weight:700}.featured-service h3{font-family:var(--serif);font-size:1.6rem}.stats .num{font-size:2.2rem}.stats .label{font-size:.875rem}.badges{gap:45px}.badge img{height:100px;width:88px}.certificate:hover .badge span{text-decoration:underline}.about-split{grid-template-columns:1.1fr .9fr;gap:80px}.ceo-card img{aspect-ratio:4/3;object-position:78% center}.info{padding-top:10px}.info dt{font-size:.875rem}.recruit{background:#293430;padding-block:80px}.recruit .kicker{color:#edb9ab!important}.recruit .cta:hover{background:#eee9df}.contact-methods .tel{padding-top:10px}.contact-methods strong{font-weight:500}.footer-inner{padding-bottom:10px}footer .company-logo{width:255px}
[data-page=recruit] .hero .wrap{grid-template-columns:44% 56%}[data-page=recruit] .hero img{border-radius:3px 58px 3px 3px;object-position:center 42%}[data-page=recruit] .hero h1{font-size:3.7rem}.working-together h2{max-width:20em}.appeal .card:nth-child(2){padding-top:22px}.appeal .card:nth-child(3){padding-top:44px}.reqtable td{background:#ffffff80}.faq-item summary{font-weight:500}.faq-item:hover summary{color:var(--red)}
@media(max-width:1000px){.logo .company-logo{width:245px}.links{gap:18px}.hero h1{font-size:2rem}.hero-figure img{height:450px}.work-index{gap:20px}.about-split{gap:45px}.featured-service img{height:220px}}
@media(max-width:760px){.nav{min-height:78px}.nav .logo{width:clamp(170px,55vw,220px)}.logo .company-logo{width:100%}.links{top:78px}.links .nav-contact{margin-top:10px;padding:12px 15px;text-align:center}.links a[aria-current=page]:after{display:none}.hero{padding-top:28px!important;padding-bottom:30px!important}.hero h1{font-size:clamp(1.3rem,5.6vw,2rem);line-height:1.85}.hero .wrap>div{padding-right:0}.hero .lead{max-width:none}.hero-figure{margin:12px 0 0}.hero-figure img{height:auto;aspect-ratio:5/4;border-radius:3px 38px 3px 3px}.hero-figure figcaption{font-size:.8125rem}.work-index{display:flex!important;flex-wrap:wrap;gap:10px 18px;margin-top:10px;width:100%;padding-top:16px!important}.work-index>span{width:100%;font-size:.8125rem}.work-index a{font-size:.8125rem}.hero .cta{padding:13px 17px}.hero .plain-link{margin-left:16px}.hero-actions .plain-link{margin-left:16px}#next{padding:32px 0 45px}.split{gap:26px}.quote{font-size:1.65rem}.qualifications{margin-top:0}.qualifications summary{font-size:.875rem;line-height:1.8;padding:19px 30px 19px 0}.split>img{width:91%}.duo{gap:16px}.duo img{height:195px}.duo figure:nth-child(2) img{height:150px}.grid3{display:block}.grid3>.card{padding:22px 0}.grid3>.featured-service{padding:25px 0 12px}.featured-service img{height:auto;aspect-ratio:16/10;margin-bottom:17px;object-position:center 32%}.featured-service h3{font-size:1.45rem}.featured-service .tag{font-size:.8125rem}.featured-service .service-link{margin-top:14px}.stats .num{font-size:1.85rem}.badge img{height:88px;width:72px}.about-split{gap:28px}.ceo-card{width:78%}.ceo-card img{aspect-ratio:3/2}.recruit{padding:55px 5%}.contact-inner h2{margin-bottom:20px}.mail strong{font-size:1rem}footer .logo{width:235px}footer .company-logo{width:100%}[data-page=recruit] .hero h1{font-size:2.65rem}[data-page=recruit] .hero img{margin-top:14px;border-radius:3px 38px 3px 3px}.appeal .card:nth-child(2),.appeal .card:nth-child(3){padding-top:24px}.reqtable td{padding:8px 14px 20px}.reqtable th{padding-left:14px}.faq-item summary{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.cta{transition:none}}

/* Match the paired work photographs at every viewport. */
#works .duo{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}#works .duo figure:nth-child(2){padding-top:0}#works .duo img,#works .duo figure:nth-child(2) img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 38%}


.certificate-item{flex:1;min-width:0}.certificate-item .certificate{display:block}.certificate-item .badge img{width:110px;height:115px;object-fit:contain}.certificate-item .badge{align-items:center}@media(max-width:760px){.certificate-item{margin-bottom:24px}.certificate-item .certificate{margin-bottom:0}.certificate-item .badge img{width:88px;height:100px}}

.qualification-images{display:grid;grid-template-columns:1.15fr .9fr;gap:24px;align-items:start;margin:28px 0 8px}.qualification-images figure{margin:0}.qualification-images img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:2px 34px 2px 2px}.qualification-images figcaption{margin-top:10px;color:var(--sub);font-size:.82rem}
@media(max-width:760px){.qualification-images{grid-template-columns:1fr;gap:22px;margin-top:22px}.qualification-images img{aspect-ratio:auto;border-radius:2px 28px 2px 2px}}

.work-explainer .wrap>p[style]{max-width:76ch!important}.qualification-images{grid-template-columns:1fr 1fr;gap:28px}.qualification-images img{aspect-ratio:auto;object-fit:contain;background:#f0f0ed;border-radius:2px 34px 2px 2px}
@media(max-width:900px){.qualification-images{grid-template-columns:1fr;gap:26px}.qualification-images figure{max-width:760px}.qualification-images img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}}

/* Work story: clear hierarchy and matched illustration cards. */
.work-explainer{background:#f1f1ec;padding:96px 0!important}.work-explainer .wrap{width:min(1320px,90%)}
.work-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:end;margin-bottom:42px}.work-intro .kicker{margin-bottom:12px}.work-intro h2{max-width:15em;margin:0;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.6}.work-lead{max-width:none;color:var(--sub);font-size:1.05rem;line-height:2.05;margin:0}
.qualification-images{grid-template-columns:1fr 1fr;gap:28px;margin:0 0 42px}.qualification-images figure{min-width:0}.qualification-images img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#e8e8e2;border-radius:3px 52px 3px 3px}.qualification-images figcaption{font-size:.9rem;margin-top:13px;color:var(--ink)}.qualification-images figcaption span{display:inline-block;color:var(--red);font-size:.78rem;margin-right:8px}
.work-details{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid #c9ccc4;padding-top:28px;color:var(--sub);font-size:.96rem;line-height:2}.work-details p{margin:0}.work-details>div{display:grid;grid-template-columns:auto 1fr;gap:18px}.work-details strong{color:var(--ink);white-space:nowrap}
@media(max-width:900px){.work-explainer{padding:70px 0!important}.work-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.work-intro h2{max-width:22em}.work-lead{font-size:1rem}.qualification-images{grid-template-columns:1fr;gap:28px;margin-bottom:30px}.qualification-images figure{max-width:760px}.qualification-images img{aspect-ratio:16/10}.work-details{grid-template-columns:1fr;gap:20px}.work-details>div{grid-template-columns:1fr;gap:4px}}
@media(max-width:760px){.work-explainer{padding:55px 0!important}.work-intro h2{font-size:1.7rem}.work-details{font-size:.94rem}.qualification-images img{border-radius:2px 32px 2px 2px}}

.contact-hero{padding:76px 0 54px!important}.contact-hero .wrap{max-width:1120px}.contact-hero h1{font:800 clamp(2.2rem,4vw,3.3rem)/1.55 var(--serif);letter-spacing:.025em;margin:0 0 20px}.contact-hero .lead{max-width:45em;margin:0}.contact-options{padding-top:42px!important;background:var(--pale)}.contact-options h2{font-size:clamp(1.65rem,2.5vw,2.1rem);margin-bottom:32px}.contact-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contact-option{border-top:1px solid var(--line);padding:22px 0 4px}.contact-option-no{font:600 1.25rem var(--serif);color:var(--red);margin-bottom:14px}.contact-option .tag{margin-bottom:10px}.contact-option h3{font:700 1.35rem/1.7 var(--serif);margin-bottom:10px}.contact-option p{color:var(--sub);margin:0 0 20px}.contact-option .cta{margin-top:4px}.contact-option-note{margin-top:28px;color:var(--sub);font-size:.875rem}.contact-hero+.contact-options .wrap{max-width:1120px}
@media(max-width:760px){.contact-hero{padding:48px 0 36px!important}.contact-hero h1{font-size:2.1rem}.contact-options{padding-top:38px!important}.contact-option-grid{grid-template-columns:1fr;gap:24px}.contact-option h3{font-size:1.2rem}}

.contact-form{max-width:850px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}.form-field{display:flex;flex-direction:column;gap:8px}.form-field label{font-weight:500;font-size:.9375rem}.required,.optional{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:2px;font-size:.75rem;font-weight:400;vertical-align:2px}.required{background:#a94132;color:#fff}.optional{background:#e7e9e1;color:var(--sub)}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #c9cec5;border-radius:2px;background:#fff;color:var(--ink);font:inherit;line-height:1.7;padding:12px 14px}.form-field input,.form-field select{min-height:52px}.form-field textarea{resize:vertical;min-height:175px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #a94132;outline-offset:2px}.form-field-wide{grid-column:1/-1}.field-help{font-size:.8125rem;color:var(--sub)}.privacy-check{display:flex;align-items:flex-start;gap:11px;margin:24px 0;color:var(--sub);font-size:.875rem;line-height:1.8}.privacy-check input{width:18px;height:18px;flex:none;margin:5px 0 0;accent-color:var(--red)}.form-submit{border:0;cursor:pointer;min-width:240px;font:500 1rem/1.6 var(--sans)}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-result{max-width:700px;padding:35px;background:#fff;border-top:2px solid var(--red)}.form-result h1{font:800 1.8rem/1.6 var(--serif);margin-bottom:14px}.form-result p{color:var(--sub);margin-bottom:22px}.form-result.error{border-color:#a94132}
@media(max-width:760px){.form-grid{grid-template-columns:1fr;gap:18px}.form-field-wide{grid-column:auto}.form-submit{width:100%}.form-result{padding:25px 20px}}

/* Keep the post-submit screen within the same site frame as the form. */
.contact-result{min-height:calc(100svh - 94px - 160px);display:flex;align-items:center;padding:72px 0!important;background:var(--pale)}
.contact-result .wrap{width:min(960px,90%)}
.contact-result .eyebrow{margin-bottom:18px}
.contact-result .form-result{width:100%;max-width:none;margin:0;padding:clamp(28px,5vw,58px);border-top:2px solid var(--red);background:#fff;box-shadow:0 12px 36px #29312c0b}
.contact-result .form-result.error{border-top-color:var(--red)}
.contact-result .result-mark{margin:0 0 12px;color:var(--red);font-size:.82rem;letter-spacing:.08em}
.contact-result .form-result h1{font-size:clamp(1.65rem,3vw,2.15rem);margin-bottom:16px}
.contact-result .form-result>p:not(.result-mark){max-width:58em;margin-bottom:28px;line-height:2}
.result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.result-actions .plain-link{margin:0}
@media(max-width:760px){.contact-result{min-height:calc(100svh - 70px - 190px);padding:52px 0!important}.contact-result .wrap{width:min(100% - 36px,640px)}.contact-result .form-result{padding:28px 22px}.result-actions{align-items:stretch;flex-direction:column}.result-actions .cta{width:100%;text-align:center}.result-actions .plain-link{align-self:center;padding:8px}}

/* Keep the form's title, fields, consent and submit action on one centered column. */
.contact-options .kicker,.contact-options h2{max-width:850px;margin-left:auto;margin-right:auto}.contact-form{margin:0 auto}
