/* Aadikriya — workshop photographs, flat surfaces and a restrained industrial palette. */
:root {
  --ink: #172f35; --deep: #10292f; --surface: #e7e8e2; --surface-hover: #dce1da;
  --paper: #f3f1eb; --silver: #e5e6df; --accent: #9c591d; --accent-hover: #e5ad62;
  --accent-mid: #c18b4d; --accent-deep: #704419; --accent-ink: #3d534f;
  --muted: #596963; --subtle: #63736d; --soft-text: #3d534f; --line: #c5ccc3;
  --line-strong: #8e9d92; --line-on-light: #bec6bc; --body-on-light: #53645e;
  --focus: #9c591d; --heading: Arial, Helvetica, sans-serif;
}
body { background: var(--paper); color: var(--ink); }
h1,h2,h3 { font-weight: 600; }
.section-pad { padding-block: 96px; }
.eyebrow { font-size: 10px; letter-spacing: 1.4px; font-weight: 650; }
.button { border-radius: 0; box-shadow: none; font-size: 12px; min-height: 50px; }
.button:hover { transform: none; }
.button-accent { background: #e9aa4f; color: #172f35; }
.button-accent:hover { background: #f0bb6a; }
.button-dark { background: #172f35; color: #f3f1eb; }
.button-dark:hover { background: #2b474b; }
.button-outline:hover { background: #e3e5dd; }
.text-link { text-underline-offset: 5px; }
.round-link { border-radius: 0; }
.round-link:hover { background: #172f35; color: #f3f1eb; }
.header-shell { background: #f3f1ebf7; backdrop-filter: blur(12px); border-bottom: 1px solid #c5ccc3; }
.site-header { height: 84px; }
.site-header .brand-image { width: 205px; }
.site-header nav { gap: 23px; }
.site-header nav>a { color: #233d40; font-size: 11px; }
.site-header nav>a[aria-current=location] { color: #8e4c12; text-decoration: underline; text-underline-offset: 7px; }
.site-header nav>.button { font-size: 11px; padding-inline: 18px; min-height: 42px; }
.reading-progress { background: transparent; }
.reading-progress span { background: #b77a34; }
.opening { padding-top: 12px; }
.hero { grid-template-columns: .92fr 1.12fr; align-items: start; gap: 55px; padding-top: 55px; padding-bottom: 50px; }
.hero-copy { padding-top: 16px; }
.hero h1 { font-size: clamp(51px,5.1vw,77px); line-height: 1.04; letter-spacing: -3.8px; margin-block: 32px 27px; font-weight: 600; }
.hero h1 span { color: #56756b; }
.hero-copy>p { font-size: 15px; line-height: 1.8; max-width: 390px; color: #52655e; }
.hero-actions { margin-top: 31px; gap: 23px; flex-wrap: wrap; }
.hero-actions .button { font-size: 11px; gap: 22px; padding-inline: 19px; }
.hero-actions .text-link { font-size: 11px; gap: 14px; }
.hero-note { border-top: 1px solid #bac6ba; padding-top: 23px; margin-top: 45px; max-width: 390px; gap: 21px; font-size: 10px; color: #607169; }
.heritage-year { font: 500 35px/1 var(--heading); letter-spacing: -1.6px; color: #172f35; }
.hero-note strong { color: #3d534f; font-weight: 400; }
.hero-visual { height: 420px; background: #d9ded5; }
.hero-photo { filter: none; object-position: 60% center; }
.hero-visual::before,.hero-visual::after { display: none; }
.hero-image-caption { position: static; padding: 19px 0 17px; color: #172f35; border-bottom: 1px solid #bbc7bb; align-items: center; gap: 10px; }
.hero-image-caption small { display: block; font-size: 8px; letter-spacing: 1px; color: #607169; }
.hero-image-caption strong { display: block; color: #172f35; font-size: 17px; font-weight: 500; margin-top: 4px; }
#hero-provenance { font-size: 7px; letter-spacing: .7px; margin-left: auto; color: #607169; text-align: right; max-width: 90px; }
.hero-image-caption button { color: #172f35; border: 1px solid #9cafa0; border-radius: 0; width: 37px; height: 37px; font-size: 16px; margin-left: 8px; }
.hero-image-caption button:hover { background: #172f35; color: #fff; }
.hero-selector { margin-top: 12px; gap: 16px; }
.hero-selector button { border: 0; padding-top: 3px; font-size: 10px; color: #67786d; }
.hero-selector button[aria-pressed=true] { color: #172f35; font-weight: 650; }
.hero-selector button:hover { color: #172f35; text-decoration: underline; }
.hero-selector button span { color: #8b602d; }
.capability-strip { border-top-color: #172f35; padding-block: 25px; }
.capability-strip strong { color: #172f35; font-size: 14px; }
.capability-strip a>span:last-child { color: #172f35; }
.capability-strip a:hover strong { color: #8e4c12; }
.company-section { gap: 90px; padding-top: 85px; padding-bottom: 85px; }
.company-story h2 { font-size: 37px; font-weight: 500; letter-spacing: -1.5px; }
.company-story .company-lead { color: #172f35; font-size: 18px; }
.company-lead strong { color: #172f35; font-weight: 650; }
.company-story p { color: #596963; }
.company-facts { gap: 27px 37px; }
.company-facts>div { padding-top: 15px; }
.company-facts dd { color: #172f35; font-size: 45px; margin-block: 12px 6px; }
.company-facts dd.place-name { font-size: 27px; }
.company-facts dt { font-size: 8px; }
.heritage-line { color: #596963; letter-spacing: 1px; }
.heritage-line strong { color: #172f35; }
.section-heading { margin-bottom: 41px; align-items: start; }
.section-heading h2 { font-size: 42px; line-height: 1.13; letter-spacing: -1.7px; font-weight: 500; max-width: 680px; }
.section-heading>p { font-size: 13px; padding-top: 33px; }
.capability-layout { gap: 70px; }
.capability-tabs>[role=tab] { padding-block: 25px; }
.capability-tabs>[role=tab]>span:nth-child(2) { font-size: 23px; font-weight: 500; }
.capability-tabs>[role=tab][aria-selected=true] { color: #172f35; }
.capability-tabs>[role=tab][aria-selected=true] .tab-number { color: #9c591d; }
.capability-tabs>[role=tab][aria-selected=true] .tab-arrow { color: #9c591d; }
.capability-photo { height: 325px; }
.capability-photo img { filter: none; }
.capability-photo>span { color: #f3f1eb; background: #172f35e6; font-size: 7px; }
.capability-description h3 { font-size: 20px; font-weight: 500; }
.capability-description p { font-size: 13px; }
.capability-help button { color: #172f35; }
.capability-facts li { border: 0; border-right: 1px solid #b5c2b6; padding: 0 12px 0 0; }
.capability-facts li:last-child { border-right: 0; }
.applications-section,.quality-section { --paper:#f3f1eb; --muted:#b2c1b9; --subtle:#a7b9ae; --soft-text:#d8e0d8; --accent:#e6ae65; --line:#3c5355; --line-strong:#718982; background:#172f35; color:var(--paper); }
.sector-heading { display: grid; grid-template-columns: .9fr 2fr 1.1fr; gap: 32px; align-items: start; margin-bottom: 55px; }
.sector-heading .eyebrow { color: #d9b77e; padding-top: 8px; }
.sector-heading h2 { font-size: clamp(34px,3.2vw,47px); line-height: 1.12; letter-spacing: -1.6px; font-weight: 500; }
.sector-heading>p { color: #b8c7bf; font-size: 12px; line-height: 1.9; padding-top: 7px; }
.sector-layout { display: grid; grid-template-columns: 1fr 1.23fr; gap: 75px; }
.sector-photograph { margin: 0; min-width: 0; }
.sector-photograph>img { width: 100%; height: 375px; object-position: 55% center; }
.sector-photograph figcaption { margin-top: 18px; display: flex; gap: 30px; align-items: start; }
.sector-photograph figcaption>span { font-size: 7px; letter-spacing: 1px; color: #d9b77e; padding-top: 4px; flex-shrink: 0; }
.sector-photograph figcaption p { font-size: 11px; color: #b2c1b9; line-height: 1.7; max-width: 240px; }
.sector-photograph>.text-link { font-size: 11px; color: #f3f1eb; margin-top: 28px; border-bottom: 1px solid #8fa294; padding-bottom: 6px; }
.sector-list { border-top: 1px solid #789084; }
.sector-row { display: grid; grid-template-columns: 32px 1fr 35px; gap: 17px; padding: 23px 0; border-bottom: 1px solid #496162; align-items: start; }
.sector-number { font-size: 9px; color: #caa773; padding-top: 6px; font-variant-numeric: tabular-nums; }
.sector-row h3 { font-size: 22px; line-height: 1.2; letter-spacing: -.6px; font-weight: 500; }
.sector-row p { color: #b2c1b9; font-size: 12px; line-height: 1.75; margin-top: 9px; max-width: 430px; }
.sector-row:first-child { padding-top: 24px; padding-bottom: 27px; }
.sector-row:first-child h3 { font-size: 37px; letter-spacing: -1.2px; color: #edbc79; }
.sector-enquiry { background: transparent; color: #e3e9df; font-size: 26px; width: 35px; min-height: 40px; line-height: 1; }
.sector-enquiry:hover { background: #e9aa4f; color: #172f35; }
.sector-foot { display: flex; justify-content: space-between; gap: 45px; border-top: 1px solid #496162; margin-top: 45px; padding-top: 25px; }
.sector-foot p { color: #a7b9ae; font-size: 10px; max-width: 580px; line-height: 1.8; }
.sector-foot .text-link { color: #e4c394; font-size: 11px; flex-shrink: 0; }
.machinery-section { background: #e8e9e2; border: 0; }
.machine-filters { gap: 6px; }
.machine-filters button { color: #395049; border: 1px solid #aebcaf; padding: 10px 14px; border-radius: 0; background: transparent; }
.machine-filters button[aria-pressed=true] { background: #172f35; border-color: #172f35; color: #f3f1eb; }
.machine-table thead { background: #d6dcd2; color: #455d51; }
.machine-table tbody th { color: #172f35; }
.machine-table td { color: #3d534f; }
.machine-table th,.machine-table td { padding-block: 17px; }
.machine-table tbody tr:hover { background: #dfe4da; }
.machine-support .button { background: #172f35; color: #f3f1eb; }
.work-section { background: #f9f8f3; }
.project-card { border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.project-image { border-radius: 0; }
.project-image img { filter: none; }
.project-caption { padding-top: 15px; }
.project-caption strong { font-size: 17px; font-weight: 500; }
.project-grid:not(.is-filtered) .project-card:first-child .project-caption strong { font-size: 20px; }
.project-caption small { letter-spacing: .5px; }
.project-zoom { background: #f3f1eb; color: #172f35; }
.project-card:hover .project-zoom { background: #e9aa4f; }
.project-card:hover img { transform: scale(1.025); }
.filter.active { background: #172f35; color: #f3f1eb; }
.filter span { color: #cda269; }
.gallery-bottom>span { letter-spacing: .6px; }
.workshop-photo img { filter: none; }
.workshop-copy h2 { font-size: 44px; font-weight: 500; letter-spacing: -1.8px; }
.workshop-copy>p { font-size: 14px; line-height: 1.85; }
.workshop-copy .text-link { color: #172f35; }
.quality-grid h3 { font-weight: 500; font-size: 24px; }
.quality-grid p { font-size: 13px; }
.production-support h3 { font-size: 24px; font-weight: 500; }
.customer-section { padding-block: 80px; }
.customer-grid { border: 0; grid-template-columns: repeat(4,1fr); gap: 0 30px; }
.customer-grid li { justify-content: flex-start; text-align: left; border: 0; border-top: 1px solid #bcc7bb; padding: 22px 0; min-height: 75px; color: #3f5550; font-size: 17px; }
.process-section { background: #e5e7df; border: 0; }
.process-grid { gap: 40px; }
.process-grid article { border-radius: 0; background: none; box-shadow: none; padding: 21px 0 0; border: 0; border-top: 1px solid #a2b09f; }
.process-number { color: #687b6b; font-size: 33px; }
.process-number>span { display: none; }
.process-grid h3 { font-size: 22px; font-weight: 500; }
.process-grid p { font-size: 13px; }
.faq-intro h2 { font-size: 40px; font-weight: 500; }
.faq-intro>.text-link { color: #172f35; }
.faq-list details[open] summary { color: #172f35; }
.faq-list summary>span { color: #8f632f; }
.faq-list summary { font-size: 17px; }
.faq-list details p { font-size: 13px; }
.contact-section { background: #ddbd8c; border-radius: 0; box-shadow: none; padding-block: 49px 24px; }
.contact-section>.eyebrow { color: #4f452e; }
.contact-row h2 { font-size: 51px; max-width: 630px; letter-spacing: -2px; font-weight: 500; }
.contact-row h2>span { color: #172f35; }
.contact-label,.contact-action p,.contact-details p { color: #494f3d; }
.contact-details,.contact-bottom { border-color: #a49573; }
.contact-bottom>span:last-child { display: none; }
.footer { width: 100%; max-width: none; padding-inline: max(56px,calc((100% - 1392px)/2)); background: #172f35; color: #f3f1eb; --muted:#b2c1b9; --subtle:#a7b9ae; --line:#3c5355; }
.mobile-enquiry { background: #f3f1ebf7; color: #172f35; border-color: #bdc6bb; }
.mobile-enquiry small { color: #596963; }
dialog { border-radius: 0; background: #f3f1eb; }
dialog::backdrop { background: #10292fe6; backdrop-filter: blur(3px); }
.video-dialog { background: #172f35; color: #f3f1eb; }
.video-dialog p { color: #b2c1b9; }
.enquiry-steps li[aria-current=step] { border-color: #9c591d; }
.form-grid input,.form-grid select,.form-grid textarea { background: #faf9f5; border-radius: 0; }
.result-check { color: #f3f1eb; background: #172f35; }
@media (min-width:1600px) { .hero-visual { height: 470px; } .hero h1 { font-size: 80px; } }
@media (max-width:1150px) {
 .hero { gap: 35px; } .hero h1 { font-size: clamp(45px,5.4vw,62px); letter-spacing: -2.9px; }
 .hero-visual { height: 390px; } .hero-copy>p { font-size: 14px; }
 .site-header nav { gap: 14px; } .site-header .brand-image { width: 183px; }
 .site-header nav>.button { padding-inline: 14px; gap: 12px; font-size: 10px; }
 .section-pad { padding-block: 78px; } .section-heading h2 { font-size: 37px; }
 .company-section { gap: 45px; } .capability-layout { gap: 40px; }
 .sector-heading { grid-template-columns: 1.7fr 1fr; gap: 20px 45px; }
 .sector-heading .eyebrow { grid-column: 1/-1; }
 .sector-layout { gap: 40px; } .sector-photograph>img { height: 330px; }
 .sector-photograph figcaption { display: block; } .sector-photograph figcaption p { margin-top: 8px; max-width: none; }
 .sector-row { gap: 12px; grid-template-columns: 24px 1fr 35px; }
 .contact-row h2 { font-size: 43px; } .customer-grid { gap: 0 24px; }
}
@media (max-width:900px) and (min-width:801px) { .site-header .brand-image { width: 170px; } .site-header nav { gap: 10px; } .site-header nav>a { font-size: 10px; } .site-header nav>.button { padding-inline: 11px; gap: 8px; } }
@media (max-width:800px) {
 .site-header { height: 76px; } .site-header .brand-image { width: 195px; }
 .site-header nav { background: #f3f1eb; border-color: #bdc6bb; } .site-header nav>a { color: #172f35; font-size: 14px; }
 .menu-toggle { border-color: #a7b5a7; } .menu-toggle span { background: #172f35; }
 .hero { gap: 24px; padding-block: 35px; } .hero-copy { padding-top: 0; }
 .hero h1 { font-size: clamp(36px,5.3vw,46px); letter-spacing: -2px; margin-block: 24px; }
 .hero .eyebrow { font-size: 7px; } .hero-copy>p { font-size: 13px; }
 .hero-visual { height: 320px; } .hero-image-caption strong { font-size: 14px; }
 #hero-provenance { display: none; } .hero-image-caption button { margin-left: auto; width: 32px; height: 32px; }
 .hero-image-caption { padding-block: 14px; } .hero-actions { gap: 17px; margin-top: 23px; }
 .hero-note { margin-top: 26px; padding-top: 17px; gap: 15px; } .heritage-year { font-size: 29px; }
 .hero-selector button { font-size: 9px; } .hero-selector button span { display: inline; }
 .section-pad { padding-block: 65px; } .section-heading h2 { font-size: 33px; }
 .section-heading>p { font-size: 11px; } .company-section { gap: 40px; }
 .capability-layout { gap: 27px; } .capability-tabs>[role=tab]>span:nth-child(2) { font-size: 19px; }
 .capability-description p { font-size: 12px; } .capability-description h3 { font-size: 18px; }
 .sector-heading { margin-bottom: 35px; } .sector-heading h2 { font-size: 34px; }
 .sector-heading>p { font-size: 11px; } .sector-layout { grid-template-columns: .8fr 1.2fr; gap: 30px; }
 .sector-photograph>img { height: 290px; } .sector-row { grid-template-columns: 21px 1fr 30px; gap: 9px; padding-block: 21px; }
 .sector-row h3 { font-size: 19px; } .sector-row:first-child h3 { font-size: 31px; }
 .sector-row p { font-size: 11px; } .sector-enquiry { width: 30px; font-size: 23px; }
 .sector-photograph>.text-link { font-size: 10px; gap: 13px; align-items: start; }
 .sector-foot { gap: 25px; } .sector-foot .text-link { font-size: 10px; gap: 15px; }
 .workshop-copy h2 { font-size: 34px; } .workshop-copy>p { font-size: 12px; }
 .customer-grid { grid-template-columns: repeat(3,1fr); } .customer-grid li { font-size: 15px; }
 .faq-intro h2 { font-size: 32px; } .contact-row h2 { font-size: 38px; }
 .footer { padding-inline: 22px; }
}
@media (max-width:590px) {
 .hero { grid-template-columns: 1fr; gap: 30px; padding-top: 26px; padding-bottom: 28px; }
 .hero h1 { font-size: clamp(42px,11.4vw,64px); line-height: 1.04; letter-spacing: -2.2px; margin-block: 24px; }
 .hero .eyebrow { font-size: 8px; letter-spacing: 1.3px; }
 .hero-copy>p { font-size: 14px; max-width: 410px; }
 .hero-actions { flex-wrap: wrap; gap: 22px; margin-top: 25px; }
 .hero-actions .button { font-size: 10px; min-height: 48px; padding-inline: 15px; gap: 15px; }
 .hero-actions .text-link { font-size: 10px; gap: 10px; }
 .hero-note { display: flex; margin-top: 28px; font-size: 9px; }
 .hero-visual { height: 295px; } .hero-photo { object-position: 61% center; }
 .hero-image-caption strong { font-size: 16px; } .hero-image-caption small { font-size: 7px; }
 .hero-selector { margin-top: 12px; } .hero-selector button { font-size: 10px; padding-top: 0; }
 .capability-strip { padding-block: 20px; } .capability-strip strong { font-size: 11px; }
 .section-pad { padding-block: 57px; } .section-heading { margin-bottom: 30px; }
 .section-heading h2 { font-size: 34px; letter-spacing: -1.3px; max-width: 380px; }
 .section-heading>p { padding-top: 0; margin-top: 19px; font-size: 12px; }
 .company-story h2 { font-size: 33px; } .company-story .company-lead { font-size: 18px; }
 .company-facts { gap: 25px 20px; } .company-facts dd { font-size: 41px; }
 .company-facts dd.place-name { font-size: 24px; } .company-facts dt { font-size: 7px; }
 .capability-layout { gap: 30px; } .capability-tabs>[role=tab] { padding-block: 20px; }
 .capability-tabs>[role=tab]>span:nth-child(2) { font-size: 21px; }
 .capability-photo { height: 275px; } .capability-description h3 { font-size: 20px; }
 .capability-facts li { font-size: 9px; padding-right: 8px; }
 .sector-heading { display: block; margin-bottom: 30px; }
 .sector-heading h2 { font-size: 34px; letter-spacing: -1.3px; margin-top: 20px; }
 .sector-heading>p { margin-top: 20px; padding-top: 0; max-width: 310px; font-size: 12px; }
 .sector-layout { grid-template-columns: 1fr; gap: 31px; }
 .sector-photograph>img { height: 235px; }
 .sector-photograph figcaption { margin-top: 12px; } .sector-photograph figcaption p { font-size: 10px; margin-top: 5px; }
 .sector-photograph>.text-link { display: none; }
 .sector-row { padding-block: 23px; grid-template-columns: 23px 1fr 34px; gap: 11px; }
 .sector-row h3 { font-size: 21px; } .sector-row:first-child h3 { font-size: 34px; }
 .sector-row p { font-size: 12px; } .sector-row:first-child { padding-top: 22px; }
 .sector-enquiry { width: 34px; min-height: 44px; }
 .sector-foot { display: block; margin-top: 28px; padding-top: 20px; }
 .sector-foot .text-link { margin-top: 18px; font-size: 11px; }
 .machine-table tr { border: 0; border-top: 1px solid #9daf9f; border-radius: 0; padding: 17px 0; background: none; }
 .machine-table tbody th { font-size: 18px; } .machine-table td { font-size: 11px; padding: 5px 0; }
 .machine-table th { padding: 0; } .machine-table td::before { color: #596d61; }
 .machine-table tbody tr:hover { background: none; }
 .machine-filters button { font-size: 10px; padding: 9px 11px; }
 .project-caption strong { font-size: 14px; } .project-caption small { font-size: 6px; }
 .project-grid:not(.is-filtered) .project-card:first-child .project-caption strong { font-size: 20px; }
 .project-caption>span:last-child { display: none; }
 .workshop-copy h2 { font-size: 35px; } .workshop-copy>p { font-size: 13px; }
 .quality-grid h3 { font-size: 21px; } .quality-grid p { font-size: 12px; }
 .customer-grid { grid-template-columns: 1fr 1fr; gap: 0 20px; }
 .customer-grid li { font-size: 14px; min-height: 72px; padding: 18px 0; }
 .process-grid article { grid-template-columns: 32px 1fr; gap: 0 20px; }
 .process-grid h3 { font-size: 22px; } .process-grid p { font-size: 12px; }
 .faq-intro h2 { font-size: 34px; } .faq-list summary { font-size: 16px; }
 .faq-list details p { font-size: 12px; }
 .contact-section { padding: 30px 24px 22px; } .contact-row h2 { font-size: 39px; letter-spacing: -1.6px; }
 .contact-details p { font-size: 10px; } .contact-person .contact-label { font-size: 6px; }
 .footer { padding-top: 35px; padding-bottom: 24px; }
}
@media (prefers-reduced-motion:reduce) { .project-card:hover img { transform: none; } }
