/* Shared corporate components. CMS colours and content remain authoritative. */
main{--control-radius:6px}main h1,main h2{letter-spacing:-.035em;line-height:1.15}main h3{letter-spacing:-.02em}main .actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:28px}
main .button,main .text-link{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:13px 21px;border:1px solid transparent;border-radius:var(--control-radius);font-size:14px;font-weight:600;line-height:1.45;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;white-space:normal;text-align:center}
main .button{background:var(--primary);color:#fff;box-shadow:0 3px 8px #10252b12}main .button:hover{transform:none;filter:none;background:color-mix(in srgb,var(--primary) 85%,#000);box-shadow:0 5px 16px #10252b25}main .text-link,main .button.outline{background:transparent;color:var(--primary);border-color:#174a5035;box-shadow:none}main .text-link:hover,main .button.outline:hover{background:#174a500b;border-color:var(--primary)}main .nav-icon{flex:0 0 19px;width:19px;height:19px}
main .hero .button,main .dark .button,main .cta .button,main .corporate-hero .button{background:#fff;color:#163a40;box-shadow:none}main .hero .text-link,main .dark .text-link,main .cta .text-link,main .corporate-hero .text-link{border-color:#ffffff65;color:#fff;background:#ffffff0a}main .hero .text-link:hover{background:#ffffff20}main a:focus-visible,main button:focus-visible{outline:3px solid #be8b55;outline-offset:4px}
main .hero h1{font-size:clamp(40px,5.4vw,78px);line-height:1.12;max-width:840px}main .hero-content{max-width:1000px}main .hero-description{max-width:560px;font-size:18px}main .section-heading{align-items:end;gap:28px;margin-bottom:34px}main .section-heading h2{font-size:clamp(30px,3.2vw,46px);max-width:660px}main .section-heading p{max-width:520px;line-height:1.8}
main .services{background:#ecefeb;color:var(--graphite)}main .services .section-heading p{color:#606b68}main .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}main .service-card{display:grid;grid-template-columns:42% 1fr;grid-template-rows:auto 1fr auto;column-gap:24px;padding:20px;background:#fff;border:1px solid #dde3df;border-radius:8px;overflow:hidden;box-shadow:0 4px 18px #20352a05}main .card-number{display:none}main .service-card .swatch{grid-column:1;grid-row:1/4;height:100%;min-height:245px;max-height:310px;margin:0;border-radius:4px;background:#eef0ed}main .service-card .swatch:empty{display:none}main .service-card:has(.swatch:empty){grid-template-columns:1fr;background:var(--primary);color:#fff}main .service-card h3{font-size:25px;line-height:1.25;margin:10px 0 12px}main .service-card p{color:#64706b;font-size:14px;line-height:1.75;margin:0 0 18px}main .service-card:has(.swatch:empty) p{color:#e0e9e5;max-width:420px}main .service-card>a{position:static;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;width:100%;height:auto;min-height:44px;border:0;border-top:1px solid #dce2de;border-radius:0;padding:12px 0 0;color:inherit;font-size:13px;font-weight:600;line-height:1.5}
main .split{gap:5%;align-items:center}main .split-art{height:460px;border-radius:8px;overflow:hidden}main .split-copy h2{font-size:clamp(32px,3.3vw,48px)}main .split-copy p{font-size:16px;line-height:1.85}main .collection img{border-radius:6px;height:350px}main .collection figure:nth-child(2){margin-top:0}main .collection-grid{gap:20px}main .collection figcaption{font-size:14px;padding:14px 0;color:#4d5b55}main .cta{padding-block:58px}main .cta h2{font-size:clamp(32px,3.5vw,50px)}
main .corporate-hero{min-height:460px}main .corporate-copy{padding:48px 10%}main .corporate-copy h1{font-size:clamp(36px,4vw,56px)}main .corporate-art{min-height:460px}main .corporate-hero:has(.corporate-art:empty){grid-template-columns:1fr;background:var(--primary)}main .corporate-art:empty{display:none}main .corporate-copy>p{font-size:16px;line-height:1.85}main .process-section{background:#f0f2ee}main .process-section h2{font-size:32px}main .process-section ol{gap:24px;margin-top:28px}main .process-section li{font-size:15px;line-height:1.8}main .process-section li:before{font-size:24px;margin-bottom:14px}main .faq-section{padding-block:12px}main .faq-section details{border:1px solid #dce2de;padding:22px;border-radius:6px;background:#fff}main .faq-section summary{font-size:19px;font-weight:500}main .faq-section p{line-height:1.9}
main .catalog-hero,main .catalog-hero-art{min-height:360px}main .catalog-hero h1{font-size:clamp(38px,4vw,60px)}main .catalog-hero>div:first-child{padding:46px 10%}main .catalog-filters{border-radius:8px;background:#fff;padding:24px;gap:14px}main .catalog-filters input,main .catalog-filters select{border-radius:5px;background:#fff}main .catalog-card{border:1px solid #dde3df;border-radius:8px;background:#fff;overflow:hidden}main .catalog-card-copy{padding:22px;border:0}main .catalog-card-copy h3{font-size:23px}main .catalog-main-art{min-height:520px}main .catalog-product-copy{padding:40px 8%}main .catalog-product-copy h1{font-size:clamp(36px,4vw,56px)}main .catalog-empty{grid-column:1/-1;border:1px solid #dde3df;border-radius:8px;padding:28px;background:#fff;font-size:16px}
main .editorial-head{background:#edf0eb;color:var(--graphite);padding-block:56px}main .editorial-head h1{font-size:clamp(36px,4vw,56px)}main .editorial-head>p{color:#607069}main .editorial-filters a{color:var(--primary);border-color:#bfcac4;border-radius:5px;padding:10px 15px}main .editorial-card{border:1px solid #dce2de;border-radius:8px;overflow:hidden;background:#fff;padding:0 24px 24px}main .editorial-card img{width:calc(100% + 48px);max-width:none;margin-inline:-24px}main .editorial-card h2,main .editorial-card h3{font-size:26px}main .editorial-card>a{font-weight:600;color:var(--primary)}main .editorial-article{max-width:860px}main .editorial-article p{font-size:17px;line-height:1.9}main .contact-directory{border-radius:8px}main .contact-directory a{font-size:clamp(16px,2vw,23px)}main .inquiry-heading h1{font-size:clamp(34px,4vw,54px)}main .inquiry-form{border-radius:8px}main .inquiry-form input,main .inquiry-form select,main .inquiry-form textarea{border-radius:5px}.contact-unavailable{max-width:680px;padding-block:20px}
@media(max-width:900px){main .service-card{grid-template-columns:1fr}main .service-card .swatch{grid-column:auto;grid-row:auto;height:220px;min-height:0;max-height:none}main .service-card h3{margin-top:22px}main .split-art{height:370px}}
@media(max-width:600px){main .actions{align-items:stretch;gap:10px}main .actions>a{flex:1 1 auto}main .hero .actions{display:grid;grid-template-columns:1fr;max-width:300px}main .button,main .text-link{font-size:14px;min-height:48px;padding:12px 18px}main .hero-content h1{font-size:39px!important}main .hero-description{font-size:16px}main .service-grid{grid-template-columns:1fr;gap:16px}main .service-card{padding:16px}main .service-card .swatch{height:240px}main .service-card h3{font-size:25px}main .section-heading{display:block}main .section-heading p{margin-top:18px}main .split-art{height:310px}main .split-copy h2{font-size:34px}main .corporate-hero{min-height:0}main .corporate-copy{padding:36px 6%}main .corporate-art{min-height:280px}main .catalog-hero>div:first-child{padding:34px 6%}main .catalog-main-art{min-height:0}main .catalog-product-copy{padding:32px 6%}main .editorial-head{padding-block:38px}main .editorial-grid>.editorial-card:only-child:has(>img){display:block}main .editorial-card h2{font-size:26px}main .cta{padding-block:40px}}
@media(prefers-reduced-motion:reduce){main .button,main .text-link{transition:none}}
