/* IBS STYLES — Each selector block is labelled for maintenance.
 * Start with :root for colours/fonts. Desktop rules first, responsive overrides at the end.
 * Keep RTL and reduced-motion rules when changing layout. */
/* STYLE: :root */
:root {
  --paper:#f7f5f0;
  --ink:#182d40;
  --navy:#122d4a;
  --orange:#e87b32;
  --muted:#56616a;
  --line:#d7d9d6;
  --white:#fff;
  --serif:Georgia,'Times New Roman',serif;
  --body:Arial,Tahoma,sans-serif;
}

/* STYLE: * */
* {
  box-sizing:border-box;
}

/* STYLE: html */
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

/* STYLE: body */
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.6 var(--body);
}

/* STYLE: a */
a {
  color:inherit;
  text-decoration:none;
}

/* STYLE: button,input,select,textarea */
button,input,select,textarea {
  font:inherit;
}

/* STYLE: button,a,input,select,textarea */
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent;
}

/* STYLE: button */
button {
  cursor:pointer;
}

/* STYLE: button:disabled */
button:disabled {
  cursor:default;
}

/* STYLE: a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #b5571d;
  outline-offset:5px;
}

/* STYLE: h1,h2,h3,p */
h1,h2,h3,p {
  margin:0;
}

/* STYLE: h1,h2 */
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.035em;
}

/* STYLE: h1 */
h1 {
  font-size:clamp(2.8rem,5.6vw,5.8rem);
}

/* STYLE: h2 */
h2 {
  font-size:clamp(2.1rem,3.9vw,4rem);
}

/* STYLE: h3 */
h3 {
  font-size:1.35rem;
  line-height:1.35;
  font-weight:500;
}

/* STYLE: p */
p {
  color:var(--muted);
}

/* STYLE: p+p */
p+p {
  margin-top:1.15rem;
}

/* STYLE: img */
img {
  display:block;
  max-width:100%;
}

/* STYLE: button */
button {
  border:0;
}

/* STYLE: figure */
figure {
  margin:0;
}

/* STYLE: em */
em {
  font-weight:400;
}

/* STYLE: main */
main {
  min-height:60vh;
}

/* STYLE: main:focus */
main:focus {
  outline:none;
}

/* STYLE: [hidden] */
[hidden] {
  display:none!important;
}

/* STYLE: .skip */
.skip {
  position:fixed;
  top:-100px;
  left:20px;
  background:var(--navy);
  color:white;
  padding:15px;
  z-index:100;
}

/* STYLE: .skip:focus */
.skip:focus {
  top:10px;
}

/* STYLE: header */
header {
  height:100px;
  display:flex;
  align-items:center;
  gap:28px;
  padding:0 3.5%;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:20;
}

/* STYLE: .brand */
.brand {
  flex:0 0 84px;
}

/* STYLE: .brand img */
.brand img {
  width:84px;
  height:84px;
  object-fit:contain;
  mix-blend-mode:multiply;
}

/* STYLE: nav */
nav {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:21px;
  flex:1;
}

/* STYLE: nav a */
nav a {
  font-size:14px;
  line-height:1.35;
  padding:12px 0;
  position:relative;
}

/* STYLE: nav a[aria-current]:after,nav a:hover:after */
nav a[aria-current]:after,nav a:hover:after {
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:var(--orange);
}

/* STYLE: .header-tools */
.header-tools {
  display:flex;
  gap:19px;
  align-items:center;
  font-size:14px;
  white-space:nowrap;
}

/* STYLE: .header-quote */
.header-quote {
  background:var(--navy);
  color:white;
  padding:13px 18px;
}

/* STYLE: .shortlist-link */
.shortlist-link {
  font-size:20px;
}

/* STYLE: .shortlist-link span */
.shortlist-link span {
  font-size:14px;
}

/* STYLE: #menu-toggle */
#menu-toggle {
  display:none;
  background:none;
  color:var(--ink);
}

/* STYLE: .button */
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border:1px solid var(--ink);
  padding:15px 22px;
  color:var(--ink);
  background:transparent;
  font-size:14px;
  line-height:1.5;
  min-height:52px;
  transition:background .2s,color .2s;
}

/* STYLE: .button:hover */
.button:hover {
  background:var(--ink);
  color:white;
}

/* STYLE: .button.orange */
.button.orange {
  background:var(--orange);
  border-color:var(--orange);
  color:#18232e;
}

/* STYLE: .button.orange:hover */
.button.orange:hover {
  background:#f19453;
  border-color:#f19453;
}

/* STYLE: .eyebrow */
.eyebrow {
  font-size:12px;
  font-weight:600;
  letter-spacing:.13em;
  margin-bottom:24px;
  text-transform:uppercase;
  color:inherit;
}

/* STYLE: .hero */
.hero {
  min-height:650px;
  height:calc(100vh - 146px);
  max-height:920px;
  position:relative;
  display:grid;
  grid-template-columns:48% 52%;
  background:#ece8df;
}

/* STYLE: .hero-copy */
.hero-copy {
  position:relative;
  padding:85px 7% 75px 9%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  grid-column:1;
  grid-row:1;
}

/* STYLE: .hero-copy h1 */
.hero-copy h1 {
  font-size:clamp(3.4rem,5.1vw,5.7rem);
  margin-bottom:30px;
}

/* STYLE: .hero-copy>p:not(.eyebrow) */
.hero-copy>p:not(.eyebrow) {
  max-width:410px;
  font-size:17px;
}

/* STYLE: .hero-image */
.hero-image {
  grid-column:2;
  grid-row:1;
  position:relative;
  min-width:0;
  overflow:hidden;
}

/* STYLE: .hero-image img */
.hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:60% center;
}

/* STYLE: .image-note */
.image-note {
  position:absolute;
  bottom:16px;
  left:20px;
  right:20px;
  width:fit-content;
  max-width:calc(100% - 40px);
  background:#122d4ae8;
  color:white;
  padding:6px 10px;
  font-size:12px;
}

/* STYLE: .actions */
.actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:22px;
  margin-top:32px;
}

/* STYLE: .quiet-link */
.quiet-link {
  border-bottom:1px solid var(--ink);
  font-size:14px;
}

/* STYLE: .scope-strip */
.scope-strip {
  padding:19px 4.5%;
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
  font-size:12px;
  letter-spacing:.12em;
}

/* STYLE: .section */
.section {
  padding:90px 6%;
  max-width:1800px;
  margin:auto;
}

/* STYLE: .section-heading */
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:60px;
  margin-bottom:45px;
}

/* STYLE: .section-heading>p */
.section-heading>p {
  max-width:340px;
}

/* STYLE: .section-heading h2 */
.section-heading h2 {
  max-width:740px;
}

/* STYLE: .text-link */
.text-link {
  display:inline-block;
  border-bottom:1px solid currentColor;
  padding-bottom:6px;
  font-size:14px;
}

/* STYLE: .space-top */
.space-top {
  margin-top:34px;
}

/* STYLE: .material-pair */
.material-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}

/* STYLE: .material-photo */
.material-photo {
  height:440px;
  position:relative;
  overflow:hidden;
  background:var(--navy);
}

/* STYLE: .material-photo>img */
.material-photo>img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.65);
  transition:transform .4s;
}

/* STYLE: .material-photo:hover>img */
.material-photo:hover>img {
  transform:scale(1.03);
}

/* STYLE: .material-photo>div */
.material-photo>div {
  position:absolute;
  bottom:35px;
  left:35px;
  right:35px;
  color:white;
}

/* STYLE: .material-photo h3 */
.material-photo h3 {
  font-family:var(--serif);
  font-size:2.8rem;
  margin:12px 0;
}

/* STYLE: .material-photo span */
.material-photo span {
  font-size:14px;
}

/* STYLE: .material-links */
.material-links {
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* STYLE: .material-links a */
.material-links a {
  border-bottom:1px solid var(--line);
  padding:20px 0;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:1.2rem;
}

/* STYLE: .material-links a:hover */
.material-links a:hover {
  color:#a34f1b;
}

/* STYLE: .tinted */
.tinted {
  background:#edeae2;
  max-width:none;
}

/* STYLE: .products */
.products {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}

/* STYLE: .products.five */
.products.five {
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px;
}

/* STYLE: .product-card */
.product-card {
  position:relative;
  min-width:0;
}

/* STYLE: .product-card>a>img */
.product-card>a>img {
  width:100%;
  height:370px;
  object-fit:cover;
  transition:filter .2s;
}

/* STYLE: .product-card>a:hover>img */
.product-card>a:hover>img {
  filter:brightness(1.06);
}

/* STYLE: .five .product-card>a>img */
.five .product-card>a>img {
  height:340px;
}

/* STYLE: .product-label */
.product-label {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:18px 0 10px;
  border-bottom:1px solid #bfc4c4;
}

/* STYLE: .product-label span */
.product-label span {
  font-size:12px;
  letter-spacing:.07em;
}

/* STYLE: .product-label h3 */
.product-label h3 {
  font-family:var(--serif);
  font-size:1.75rem;
  margin-top:5px;
  text-align:start;
}

/* STYLE: .save */
.save {
  position:absolute;
  top:12px;
  inset-inline-end:12px;
  background:var(--paper);
  color:var(--ink);
  padding:8px 12px;
  min-height:40px;
  font-size:14px;
}

/* STYLE: .save[aria-pressed=true] */
.save[aria-pressed=true] {
  background:var(--navy);
  color:white;
}

/* STYLE: .caption */
.caption {
  font-size:14px;
  margin:22px 0;
  max-width:880px;
}

/* STYLE: .application-grid */
.application-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
}

/* STYLE: .application-grid a */
.application-grid a {
  padding:25px 20px;
  border-top:1px solid var(--line);
  display:flex;
  gap:20px;
  align-items:center;
}

/* STYLE: .application-grid h3 */
.application-grid h3 {
  flex:1;
  font-size:1.1rem;
}

/* STYLE: .application-grid a>span */
.application-grid a>span {
  font-size:13px;
  color:var(--muted);
}

/* STYLE: .application-grid a:hover */
.application-grid a:hover {
  background:#eeeae2;
}

/* STYLE: .navy */
.navy {
  background:var(--navy);
  color:white;
  max-width:none;
}

/* STYLE: .navy p */
.navy p {
  color:#d6dce3;
}

/* STYLE: .steps */
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px;
}

/* STYLE: .steps article */
.steps article {
  border-top:1px solid #9ca8b3;
  padding-top:24px;
}

/* STYLE: .steps article>span */
.steps article>span {
  color:var(--orange);
  font-size:1rem;
}

/* STYLE: .steps h3 */
.steps h3 {
  margin:20px 0 14px;
}

/* STYLE: .project-grid */
.project-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
}

/* STYLE: .project-card */
.project-card {
  background:#e7e9e6;
  padding:32px;
  min-height:310px;
  display:flex;
  flex-direction:column;
  position:relative;
  border-top:3px solid var(--navy);
}

/* STYLE: .project-card:nth-child(2),.project-card:nth-child(3) */
.project-card:nth-child(2),.project-card:nth-child(3) {
  background:#dfe4e7;
}

/* STYLE: .project-top,.project-bottom */
.project-top,.project-bottom {
  font-size:13px;
}

/* STYLE: .project-top */
.project-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

/* STYLE: .project-card h3 */
.project-card h3 {
  font-family:var(--serif);
  font-size:clamp(1.9rem,3vw,3rem);
  max-width:450px;
  line-height:1.12;
  margin:35px 0 40px;
  letter-spacing:-.02em;
}

/* STYLE: .project-bottom */
.project-bottom {
  margin-top:auto;
  border-top:1px solid #a3aeb6;
  padding-top:16px;
}

/* STYLE: .inspiration-band */
.inspiration-band {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  background:#e9e6de;
}

/* STYLE: .inspiration-band>div */
.inspiration-band>div {
  position:relative;
  min-height:460px;
}

/* STYLE: .inspiration-band img */
.inspiration-band img {
  width:100%;
  height:100%;
  object-fit:cover;
}

/* STYLE: .inspiration-band article */
.inspiration-band article {
  padding:70px 12%;
  align-self:center;
}

/* STYLE: .inspiration-band h2 */
.inspiration-band h2 {
  margin-bottom:25px;
}

/* STYLE: .inspiration-band .text-link */
.inspiration-band .text-link {
  margin-top:25px;
}

/* STYLE: .closing */
.closing {
  background:var(--navy);
  color:white;
  padding:70px 6%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

/* STYLE: .closing h2 */
.closing h2 {
  font-size:clamp(2.1rem,4vw,4rem);
}

/* STYLE: .closing .button */
.closing .button {
  flex-shrink:0;
}

/* STYLE: footer */
footer {
  background:#0b2136;
  color:white;
  padding:65px 6% 25px;
}

/* STYLE: .footer-top */
.footer-top {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:70px;
}

/* STYLE: .footer-top h2 */
.footer-top h2 {
  font-size:2rem;
  margin-bottom:15px;
}

/* STYLE: .footer-top p */
.footer-top p {
  color:#c3ced8;
  font-size:14px;
  max-width:330px;
}

/* STYLE: .footer-nav,.footer-contact */
.footer-nav,.footer-contact {
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:9px;
  font-size:14px;
}

/* STYLE: .footer-contact a[dir] */
.footer-contact a[dir] {
  font-size:18px;
}

/* STYLE: .footer-bottom */
.footer-bottom {
  margin-top:50px;
  padding-top:25px;
  border-top:1px solid #425466;
  display:flex;
  justify-content:space-between;
  font-size:13px;
}

/* STYLE: .footer-bottom a */
.footer-bottom a {
  display:inline-block;
  padding:5px;
}

/* STYLE: .mobile-contact */
.mobile-contact {
  display:none;
}

/* STYLE: .breadcrumb */
.breadcrumb {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  margin:30px 6% 0;
  font-size:13px;
  color:var(--muted);
}

/* STYLE: .breadcrumb a */
.breadcrumb a {
  text-decoration:underline;
  text-underline-offset:4px;
}

/* STYLE: .page-heading */
.page-heading {
  padding:50px 6% 65px;
  max-width:1250px;
}

/* STYLE: .page-heading h1 */
.page-heading h1 {
  margin-bottom:28px;
}

/* STYLE: .lead */
.lead {
  font-size:18px;
  max-width:730px;
}

/* STYLE: .top-zero */
.top-zero {
  padding-top:0;
}

/* STYLE: .category-grid */
.category-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

/* STYLE: .category-card */
.category-card {
  padding:30px;
  background:#eceeea;
  display:flex;
  flex-direction:column;
  min-height:300px;
  border-top:2px solid #9aa6af;
}

/* STYLE: .category-card h2,.category-card h3 */
.category-card h2,.category-card h3 {
  font:400 1.9rem/1.15 var(--serif);
  letter-spacing:-.02em;
  margin-bottom:24px;
}

/* STYLE: .category-card p */
.category-card p {
  margin-bottom:26px;
}

/* STYLE: .category-card .text-link */
.category-card .text-link {
  align-self:start;
  margin-top:auto;
}

/* STYLE: a.category-card:hover */
a.category-card:hover {
  background:#e1e6e5;
}

/* STYLE: .accessories */
.accessories {
  border-top:1px solid var(--line);
  margin-top:50px;
  padding-top:40px;
}

/* STYLE: .accessories p */
.accessories p {
  margin:14px 0 25px;
}

/* STYLE: .catalogue-toolbar */
.catalogue-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin-bottom:30px;
}

/* STYLE: .catalogue-toolbar h2 */
.catalogue-toolbar h2 {
  margin-bottom:20px;
}

/* STYLE: .catalogue-toolbar>div */
.catalogue-toolbar>div {
  max-width:650px;
}

/* STYLE: .catalogue-toolbar label */
.catalogue-toolbar label {
  width:300px;
  flex-shrink:0;
}

/* STYLE: .catalogue-toolbar input */
.catalogue-toolbar input {
  margin-top:10px;
}

/* STYLE: #result-count */
#result-count {
  margin-bottom:20px;
  font-size:14px;
}

/* STYLE: .split-text */
.split-text {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding:55px 0;
  border-top:1px solid var(--line);
  margin-top:40px;
}

/* STYLE: .split-text .button */
.split-text .button {
  margin:20px 12px 0 0;
}

/* STYLE: .product-detail */
.product-detail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:75px;
  padding-top:45px;
}

/* STYLE: .sample-main>img */
.sample-main>img {
  height:700px;
  width:100%;
  object-fit:cover;
}

/* STYLE: .product-information h1 */
.product-information h1 {
  font-size:3.5rem;
  text-align:start;
  margin-bottom:25px;
}

/* STYLE: .product-information .lead */
.product-information .lead {
  font-size:17px;
}

/* STYLE: .specs */
.specs {
  margin:30px 0;
}

/* STYLE: .specs>div */
.specs>div {
  display:flex;
  justify-content:space-between;
  gap:25px;
  border-top:1px solid var(--line);
  padding:13px 0;
  font-size:14px;
}

/* STYLE: .specs dd */
.specs dd {
  margin:0;
}

/* STYLE: .variants */
.variants {
  display:flex;
  gap:12px;
  margin:20px 0 30px;
}

/* STYLE: .variants a */
.variants a {
  width:65px;
  text-align:center;
  font-size:13px;
  padding:5px;
  border:1px solid transparent;
}

/* STYLE: .variants a.active */
.variants a.active {
  border-color:var(--ink);
}

/* STYLE: .variants img */
.variants img {
  height:75px;
  width:100%;
  object-fit:cover;
}

/* STYLE: .stack-actions */
.stack-actions {
  display:grid;
  gap:12px;
  margin:25px 0;
}

/* STYLE: .product-information>p */
.product-information>p {
  margin-bottom:22px;
}

/* STYLE: .other-experience */
.other-experience {
  margin-top:75px;
}

/* STYLE: .other-experience h2 */
.other-experience h2 {
  margin-bottom:35px;
}

/* STYLE: .gallery-hero img */
.gallery-hero img {
  width:100%;
  max-height:700px;
  object-fit:cover;
}

/* STYLE: .gallery-hero figcaption */
.gallery-hero figcaption {
  font-size:14px;
  margin-top:15px;
  color:var(--muted);
}

/* STYLE: .history */
.history {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:start;
}

/* STYLE: .year */
.year {
  font-family:var(--serif);
  font-size:clamp(5rem,14vw,14rem);
  line-height:1;
  color:#345167;
}

/* STYLE: .history h2 */
.history h2 {
  margin-bottom:30px;
}

/* STYLE: .document-list article */
.document-list article {
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:center;
  padding:40px 0;
  border-top:1px solid var(--line);
}

/* STYLE: .document-list h2 */
.document-list h2 {
  font-size:2rem;
  margin-bottom:18px;
}

/* STYLE: .document-list .button */
.document-list .button {
  flex-shrink:0;
}

/* STYLE: .contact-layout */
.contact-layout {
  display:grid;
  grid-template-columns:.8fr 1.5fr;
  gap:90px;
}

/* STYLE: .contact-layout aside h2 */
.contact-layout aside h2 {
  font-size:2rem;
  margin-bottom:25px;
}

/* STYLE: .contact-layout aside>p */
.contact-layout aside>p {
  margin:22px 0;
}

/* STYLE: .phone-list */
.phone-list {
  display:flex;
  flex-direction:column;
  align-items:start;
  margin:30px 0;
  font-size:1.5rem;
}

/* STYLE: .form-grid */
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin:30px 0;
}

/* STYLE: label */
label {
  font-size:14px;
  display:block;
}

/* STYLE: input:not([type=checkbox]),select,textarea */
input:not([type=checkbox]),select,textarea {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  border:1px solid #a4afb5;
  background:#fff;
  padding:12px;
  color:var(--ink);
  border-radius:0;
  margin-top:8px;
  font-size:16px;
}

/* STYLE: input[disabled] */
input[disabled] {
  background:#e3e5e4;
}

/* STYLE: .checkline */
.checkline {
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
  font-size:14px;
}

/* STYLE: .checkline input */
.checkline input {
  width:18px;
  height:18px;
  accent-color:var(--navy);
  flex-shrink:0;
}

/* STYLE: .optional */
.optional {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:18px 0;
}

/* STYLE: .optional summary,summary */
.optional summary,summary {
  cursor:pointer;
  min-height:28px;
}

/* STYLE: .error */
.error {
  color:#a8291c;
  margin-top:15px;
  font-size:14px;
}

/* STYLE: .faq */
.faq {
  margin-top:65px;
}

/* STYLE: .faq h2 */
.faq h2 {
  font-size:2.5rem;
  margin-bottom:25px;
}

/* STYLE: .faq details */
.faq details {
  border-top:1px solid var(--line);
  padding:19px 0;
}

/* STYLE: .faq details p */
.faq details p {
  margin-top:18px;
  font-size:15px;
}

/* STYLE: .fallback */
.fallback {
  min-height:220px;
}

/* STYLE: #form-status */
#form-status {
  margin-top:15px;
}

/* STYLE: .toast:not(:empty) */
.toast:not(:empty) {
  position:fixed;
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
  padding:13px 25px;
  background:var(--navy);
  color:white;
  z-index:40;
  box-shadow:0 2px 15px #0002;
}

/* STYLE: .shortlist-check */
.shortlist-check {
  flex-wrap:wrap;
}

/* STYLE: html[dir=rtl] */
html[dir=rtl] {
  --serif:Tahoma,Arial,sans-serif;
}

/* STYLE: html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3 */
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3 {
  letter-spacing:0;
  line-height:1.4;
}

/* STYLE: html[dir=rtl] .eyebrow */
html[dir=rtl] .eyebrow {
  letter-spacing:0;
}

/* STYLE: html[dir=rtl] .hero-copy */
html[dir=rtl] .hero-copy {
  padding:60px 9% 60px 7%;
}

/* STYLE: html[dir=rtl] .hero-copy h1 */
html[dir=rtl] .hero-copy h1 {
  font-size:clamp(2.8rem,4.5vw,4.8rem);
}

/* STYLE: html[dir=rtl] .project-card h3 */
html[dir=rtl] .project-card h3 {
  font-size:clamp(1.5rem,2.7vw,2.5rem);
}

/* STYLE: html[dir=rtl] nav */
html[dir=rtl] nav {
  gap:16px;
}

/* STYLE: html[dir=rtl] .product-label h3 */
html[dir=rtl] .product-label h3 {
  font-family:Georgia,serif;
}

/* STYLE: @media(min-width:1600px) */
@media(min-width:1600px) {
  /* STYLE: header */
  header {
    padding-inline:6%;
  }

  /* STYLE: .hero-copy */
  .hero-copy {
    padding-inline-start:12%;
  }

}

/* STYLE: @media(max-width:1200px) */
@media(max-width:1200px) {
  /* STYLE: header */
  header {
    gap:20px;
    padding-inline:4%;
    height:90px;
  }

  /* STYLE: #menu-toggle */
  #menu-toggle {
    display:block;
    margin-inline-end:auto;
  }

  /* STYLE: .brand */
  .brand {
    flex-basis:70px;
  }

  /* STYLE: .brand img */
  .brand img {
    width:70px;
    height:70px;
  }

  /* STYLE: nav */
  nav {
    display:none;
    position:absolute;
    top:90px;
    left:0;
    right:0;
    background:var(--paper);
    padding:25px 6%;
    box-shadow:0 10px 20px #0001;
  }

  /* STYLE: nav.open */
  nav.open {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
  }

  /* STYLE: .hero */
  .hero {
    min-height:580px;
    height:auto;
  }

  /* STYLE: .hero-copy */
  .hero-copy {
    padding-block:75px;
  }

  /* STYLE: .hero-copy h1 */
  .hero-copy h1 {
    font-size:4rem;
  }

  /* STYLE: .hero-image */
  .hero-image {
    min-height:600px;
  }

  /* STYLE: .products.five */
  .products.five {
    gap:16px;
  }

  /* STYLE: .five .product-card>a>img */
  .five .product-card>a>img {
    height:270px;
  }

  /* STYLE: .five .save */
  .five .save {
    top:8px;
    inset-inline-end:8px;
    padding:7px 9px;
  }

  /* STYLE: .contact-layout */
  .contact-layout {
    gap:50px;
  }

  /* STYLE: .product-detail */
  .product-detail {
    gap:45px;
  }

  /* STYLE: .category-grid */
  .category-grid {
    grid-template-columns:repeat(2,1fr);
  }

}

/* STYLE: @media(max-width:760px) */
@media(max-width:760px) {
  /* STYLE: html */
  html {
    scroll-padding-top:80px;
  }

  /* STYLE: header */
  header {
    height:80px;
    gap:12px;
    padding:0 4%;
  }

  /* STYLE: .brand */
  .brand {
    flex-basis:62px;
  }

  /* STYLE: .brand img */
  .brand img {
    width:62px;
    height:62px;
  }

  /* STYLE: nav */
  nav {
    top:80px;
  }

  /* STYLE: .header-tools */
  .header-tools {
    gap:15px;
  }

  /* STYLE: .header-quote */
  .header-quote {
    display:none;
  }

  /* STYLE: .hero */
  .hero {
    display:flex;
    flex-direction:column-reverse;
    min-height:0;
  }

  /* STYLE: .hero-copy,html[dir=rtl] .hero-copy */
  .hero-copy,html[dir=rtl] .hero-copy {
    padding:45px 6% 50px;
  }

  /* STYLE: .hero-copy h1 */
  .hero-copy h1 {
    font-size:3.4rem;
    line-height:1.08;
  }

  /* STYLE: .hero-copy>p:not(.eyebrow) */
  .hero-copy>p:not(.eyebrow) {
    font-size:16px;
  }

  /* STYLE: .hero-image */
  .hero-image {
    height:380px;
    min-height:0;
  }

  /* STYLE: .hero-image img */
  .hero-image img {
    object-position:center;
  }

  /* STYLE: .hero .eyebrow */
  .hero .eyebrow {
    font-size:11px;
    margin-bottom:20px;
  }

  /* STYLE: .hero-copy .actions */
  .hero-copy .actions {
    gap:20px;
  }

  /* STYLE: .hero-copy .button */
  .hero-copy .button {
    padding:14px 18px;
  }

  /* STYLE: .scope-strip */
  .scope-strip {
    font-size:10px;
    letter-spacing:.04em;
    padding:15px 6%;
    flex-wrap:wrap;
    gap:8px;
  }

  /* STYLE: .section */
  .section {
    padding:58px 6%;
  }

  /* STYLE: .section-heading */
  .section-heading {
    display:block;
    margin-bottom:30px;
  }

  /* STYLE: .section-heading>p */
  .section-heading>p {
    margin-top:25px;
    max-width:none;
  }

  /* STYLE: h1 */
  h1 {
    font-size:2.8rem;
  }

  /* STYLE: h2 */
  h2 {
    font-size:2.5rem;
  }

  /* STYLE: .material-pair */
  .material-pair {
    grid-template-columns:1fr;
    gap:20px;
  }

  /* STYLE: .material-photo */
  .material-photo {
    height:330px;
  }

  /* STYLE: .material-links a */
  .material-links a {
    font-size:1.1rem;
    padding:18px 0;
  }

  /* STYLE: .products,.products.five */
  .products,.products.five {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 16px;
  }

  /* STYLE: .product-card>a>img,.five .product-card>a>img */
  .product-card>a>img,.five .product-card>a>img {
    height:270px;
  }

  /* STYLE: .products.five .product-card:last-child */
  .products.five .product-card:last-child {
    grid-column:auto;
  }

  /* STYLE: .save */
  .save {
    top:8px;
    inset-inline-end:8px;
    padding:7px 9px;
  }

  /* STYLE: .product-label span */
  .product-label span {
    font-size:11px;
  }

  /* STYLE: .caption */
  .caption {
    font-size:13px;
  }

  /* STYLE: .application-grid */
  .application-grid {
    grid-template-columns:1fr 1fr;
  }

  /* STYLE: .application-grid a */
  .application-grid a {
    gap:10px;
    padding:20px 8px;
  }

  /* STYLE: .application-grid h3 */
  .application-grid h3 {
    font-size:1rem;
  }

  /* STYLE: .steps */
  .steps {
    grid-template-columns:1fr;
    gap:28px;
  }

  /* STYLE: .steps h3 */
  .steps h3 {
    margin-top:12px;
  }

  /* STYLE: .project-grid */
  .project-grid {
    gap:16px;
    grid-template-columns:1fr;
  }

  /* STYLE: .project-card */
  .project-card {
    min-height:260px;
    padding:25px;
  }

  /* STYLE: .project-card h3 */
  .project-card h3 {
    font-size:2.5rem;
    margin:28px 0;
  }

  /* STYLE: .inspiration-band */
  .inspiration-band {
    grid-template-columns:1fr;
  }

  /* STYLE: .inspiration-band>div */
  .inspiration-band>div {
    min-height:0;
    height:320px;
  }

  /* STYLE: .inspiration-band article */
  .inspiration-band article {
    padding:45px 6%;
  }

  /* STYLE: .closing */
  .closing {
    padding:55px 6%;
    display:block;
  }

  /* STYLE: .closing .button */
  .closing .button {
    margin-top:30px;
  }

  /* STYLE: .footer-top */
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:40px 24px;
  }

  /* STYLE: .footer-top>div:first-child */
  .footer-top>div:first-child {
    grid-column:1/-1;
  }

  /* STYLE: .footer-bottom */
  .footer-bottom {
    gap:20px;
  }

  /* STYLE: footer */
  footer {
    padding-bottom:90px;
  }

  /* STYLE: .footer-contact a[dir] */
  .footer-contact a[dir] {
    font-size:16px;
  }

  /* STYLE: .footer-contact a */
  .footer-contact a {
    overflow-wrap:anywhere;
  }

  /* STYLE: .mobile-contact */
  .mobile-contact {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:30;
    display:grid;
    grid-template-columns:1fr 1.4fr 1fr;
    background:var(--paper);
    border-top:1px solid var(--line);
    padding-bottom:env(safe-area-inset-bottom);
  }

  /* STYLE: .mobile-contact a */
  .mobile-contact a {
    text-align:center;
    padding:16px 5px;
    font-size:14px;
  }

  /* STYLE: .mobile-contact a:nth-child(2) */
  .mobile-contact a:nth-child(2) {
    background:var(--navy);
    color:white;
  }

  /* STYLE: .breadcrumb */
  .breadcrumb {
    margin-top:22px;
    font-size:12px;
  }

  /* STYLE: .page-heading */
  .page-heading {
    padding:38px 6% 40px;
  }

  /* STYLE: .lead */
  .lead {
    font-size:17px;
  }

  /* STYLE: .top-zero */
  .top-zero {
    padding-top:0;
  }

  /* STYLE: .category-grid */
  .category-grid {
    grid-template-columns:1fr;
  }

  /* STYLE: .category-card */
  .category-card {
    min-height:260px;
    padding:25px;
  }

  /* STYLE: .catalogue-toolbar */
  .catalogue-toolbar {
    display:block;
  }

  /* STYLE: .catalogue-toolbar label */
  .catalogue-toolbar label {
    margin-top:28px;
    width:100%;
  }

  /* STYLE: .split-text */
  .split-text {
    grid-template-columns:1fr;
    gap:25px;
    padding:35px 0;
  }

  /* STYLE: .product-detail */
  .product-detail {
    grid-template-columns:1fr;
    gap:28px;
    padding-top:30px;
  }

  /* STYLE: .sample-main>img */
  .sample-main>img {
    height:470px;
  }

  /* STYLE: .product-information h1 */
  .product-information h1 {
    font-size:2.8rem;
  }

  /* STYLE: .variants */
  .variants {
    gap:10px;
  }

  /* STYLE: .variants a */
  .variants a {
    width:calc(20% - 8px);
  }

  /* STYLE: .history */
  .history {
    grid-template-columns:1fr;
    gap:30px;
  }

  /* STYLE: .year */
  .year {
    font-size:7rem;
  }

  /* STYLE: .document-list article */
  .document-list article {
    display:block;
  }

  /* STYLE: .document-list .button */
  .document-list .button {
    margin-top:25px;
  }

  /* STYLE: .contact-layout */
  .contact-layout {
    grid-template-columns:1fr;
    gap:45px;
  }

  /* STYLE: .contact-layout aside */
  .contact-layout aside {
    border-bottom:1px solid var(--line);
    padding-bottom:35px;
  }

  /* STYLE: .form-grid */
  .form-grid {
    grid-template-columns:1fr;
    gap:20px;
  }

  /* STYLE: .toast:not(:empty) */
  .toast:not(:empty) {
    bottom:80px;
    width:85%;
    text-align:center;
  }

  /* STYLE: .project-card h3 */
  .project-card h3 {
    max-width:100%;
  }

  /* STYLE: .eyebrow */
  .eyebrow {
    font-size:12px;
  }

  /* STYLE: html[dir=rtl] .hero-copy h1 */
  html[dir=rtl] .hero-copy h1 {
    font-size:2.85rem;
  }

}

/* STYLE: @media(prefers-reduced-motion:reduce) */
@media(prefers-reduced-motion:reduce) {
  /* STYLE: html */
  html {
    scroll-behavior:auto;
  }

  /* STYLE: *,*:before,*:after */
  *,*:before,*:after {
    transition:none!important;
    animation:none!important;
  }

}


/* STYLE: Six-finish selector wraps cleanly on small screens. */
.variants { flex-wrap: wrap; }

/* ABOUT A01 — Full-height identity and actual material composition. */
.story-hero { background:#102a43; color:#f8f4eb; display:grid; grid-template-columns:1.05fr 1fr; padding:72px 6% 0; gap:0 7%; }
.story-title { align-self:center; padding:40px 0 80px; }
.story-title h1 { font-size:clamp(3.6rem,7.2vw,8rem); line-height:1.02; margin-bottom:32px; }
.story-title>p:not(.eyebrow) { color:#d5dce3; font-size:19px; line-height:1.7; }
.story-scroll { display:inline-block; margin-top:48px; border-bottom:1px solid #a5b2bc; padding:0 0 8px; font-size:14px; }
.story-materials { align-self:end; }
.story-materials>div { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; height:570px; align-items:end; }
.story-materials img { width:100%; height:93%; object-fit:cover; }
.story-materials img:nth-child(2) { height:100%; }
.story-materials img:nth-child(3) { height:82%; }
.story-materials figcaption { display:flex; justify-content:space-between; gap:15px; padding:22px 0; color:#cbd4dc; font-size:12px; }
.story-footnote { grid-column:1/-1; border-top:1px solid #456078; display:flex; gap:35px; justify-content:space-between; padding:26px 0; margin-top:30px; font-size:12px; letter-spacing:.12em; }
/* ABOUT A02 — Origins and factual two-date timeline. */
.story-origins { display:grid; grid-template-columns:1fr 1.12fr; gap:8%; padding-block:105px; }
.story-margin h2 { font-size:clamp(2.1rem,3.5vw,3.6rem); }
.story-lead { font-size:23px; line-height:1.6; color:var(--ink); }
.story-body>p+p { margin-top:26px; }
.story-timeline { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:45px; }
.story-timeline article { border-top:2px solid var(--orange); padding-top:22px; }
.story-timeline strong { font:400 clamp(3rem,5vw,5rem)/1 Georgia,serif; display:block; margin-bottom:16px; }
.story-timeline h3 { font-size:17px; margin-bottom:8px; }
.story-timeline p { font-size:14px; }
/* ABOUT A03 — Named project evidence, using typography rather than substitute project photos. */
.story-proof { background:#e5e8e7; max-width:none; }
.story-projects { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #9daeb8; border-bottom:1px solid #9daeb8; }
.story-projects article { padding:32px 30px 35px 0; min-height:300px; display:flex; flex-direction:column; }
.story-projects article+article { border-inline-start:1px solid #b8c2c8; padding-inline-start:30px; }
.story-projects article>span { color:#647987; font-size:14px; margin-bottom:30px; }
.story-projects .eyebrow { font-size:11px; margin-bottom:16px; }
.story-projects h3 { font:400 clamp(1.7rem,2.8vw,2.8rem)/1.15 var(--serif); margin-bottom:26px; letter-spacing:-.025em; }
.story-projects article>p:last-child { margin-top:auto; font-size:14px; color:#314b60; }
.story-proof-bottom { display:flex; gap:60px; justify-content:space-between; align-items:center; margin-top:35px; }
.story-proof-bottom p { max-width:650px; }
.story-proof-bottom a { flex-shrink:0; }
/* ABOUT A04 — Approved catalogue spread; actual document images, not a fabricated archive. */
.story-collection { display:grid; grid-template-columns:1.25fr 1fr; gap:8%; align-items:center; padding-block:110px; }
.catalogue-display { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:36px 26px 0; background:#e2ded3; }
.catalogue-display figure:first-child { transform:translateY(-18px) rotate(-3deg); }
.catalogue-display figure:nth-child(2) { transform:translateY(18px) rotate(3deg); }
.catalogue-display img { width:100%; height:auto; box-shadow:0 14px 24px #25344025; }
.catalogue-display .caption { grid-column:1/-1; font-size:12px; margin-top:36px; }
.story-collection h2 { margin-bottom:28px; }
.story-collection .text-link { margin-top:30px; }
/* ABOUT A05 — System index and plain brand names. */
.story-systems { display:grid; grid-template-columns:1fr 1.25fr; gap:8%; background:#ecebe5; max-width:none; }
.story-systems>div>p:not(.eyebrow) { margin-top:24px; max-width:360px; }
.systems-index>a { display:flex; gap:22px; align-items:start; padding:24px 0; border-top:1px solid #b4bfc2; }
.systems-index>a>div { flex:1; }
.systems-index h3 { font:400 1.8rem/1.2 var(--serif); margin-bottom:12px; }
.systems-index>a>span { font-size:14px; }
.systems-index p { font-size:15px; }
.story-brand-line { padding:35px 6%; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:32px; flex-wrap:wrap; }
.story-brand-line>span { font-size:12px; max-width:150px; letter-spacing:.08em; }
.story-brand-line>div { display:flex; flex:1; gap:30px; justify-content:space-around; flex-wrap:wrap; }
.story-brand-line b { font:400 1.45rem/1.3 Georgia,serif; }
.story-brand-line>a { font-size:14px; border-bottom:1px solid; }
/* ABOUT A06 — Local presence and direct contact. */
.story-today { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding-block:95px; }
.story-today h2 { margin-bottom:24px; }
.story-today .button { margin-top:28px; }
.story-phone { display:inline-block; margin-inline-start:25px; font-size:18px; }
/* HOME H05 — Heritage link; no duplicated quotation steps. */
.home-heritage { display:grid; grid-template-columns:1fr 1fr; gap:9%; background:var(--navy); color:white; padding:75px 6%; }
.home-heritage-date { display:flex; flex-direction:column; justify-content:center; border-inline-end:1px solid #5a6d80; }
.home-heritage-date span { font-size:13px; letter-spacing:.12em; }
.home-heritage-date strong { font:400 clamp(6rem,14vw,13rem)/1.1 Georgia,serif; }
.home-heritage p { color:#d0dbe4; margin-bottom:26px; }
.home-heritage h2 { margin-bottom:25px; }
/* PORTFOLIO — Sector selection and complete register. */
.portfolio-toolbar { display:flex; justify-content:space-between; align-items:end; gap:30px; padding-bottom:40px; border-bottom:1px solid var(--line); }
.portfolio-toolbar label { min-width:280px; }
.portfolio-sector { display:grid; grid-template-columns:.8fr 1.6fr; gap:65px; padding:60px 0; border-bottom:1px solid var(--line); }
.sector-heading h2 { font-size:2.4rem; margin-bottom:22px; }
.sector-heading p:not(.eyebrow) { font-size:14px; max-width:300px; }
.project-register { display:grid; grid-template-columns:1fr 1fr; gap:0 30px; }
.project-register article { padding:22px 0; border-top:1px solid #c1c8cb; }
.project-register h3 { font-size:1.15rem; line-height:1.45; margin-bottom:12px; }
.project-register p { font-size:14px; }
/* BRANDS — Grouped supply portfolio, without fabricated brand logos. */
.brand-directory { background:#e9e9e2; max-width:none; scroll-margin-top:110px; }
.brand-groups { display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px; }
.brand-groups article { padding:30px 0; border-top:1px solid #afb9bc; }
.brand-groups h3 { color:#5d6c74; font-size:14px; margin-bottom:22px; }
.brand-groups article>div { display:flex; flex-wrap:wrap; gap:12px 24px; }
.brand-groups span { font:400 1.55rem/1.5 Georgia,serif; color:#18354e; }
/* RTL — Preserve readable Arabic hierarchy in the editorial sections. */
html[dir=rtl] .story-title h1 { font-size:clamp(3rem,6vw,6.5rem); line-height:1.4; }
html[dir=rtl] .story-projects h3 { font:400 1.7rem/1.65 Tahoma,Arial,sans-serif; letter-spacing:0; }
html[dir=rtl] .story-footnote,html[dir=rtl] .story-brand-line>span { letter-spacing:0; }
/* MOBILE — The story becomes an ordered editorial sequence, with no hidden content. */
@media(max-width:900px) {
 .story-hero { gap:0 5%; padding-top:40px; }
 .story-title h1 { font-size:4rem; }
 .story-materials>div { height:440px; gap:9px; }
 .story-title>p:not(.eyebrow) { font-size:16px; }
 .story-origins,.story-collection,.story-systems,.story-today { gap:5%; }
 .story-projects h3 { font-size:1.8rem; }
 .portfolio-sector { gap:35px; grid-template-columns:1fr 1.6fr; }
 .brand-groups { grid-template-columns:1fr 1fr; }
 .story-proof-bottom { align-items:start; gap:30px; }
}
@media(max-width:650px) {
 .story-hero { display:block; padding:40px 6% 0; }
 .story-title { padding:0 0 35px; }
 .story-title h1 { font-size:3.6rem; }
 .story-title>p:not(.eyebrow) { font-size:17px; }
 .story-scroll { margin-top:26px; }
 .story-materials>div { height:360px; gap:12px; }
 .story-footnote { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:8px; padding:20px 0; font-size:11px; }
 .story-origins,.story-collection,.story-systems,.story-today { grid-template-columns:1fr; gap:35px; padding-block:60px; }
 .story-lead { font-size:20px; }
 .story-timeline { margin-top:32px; gap:20px; }
 .story-projects { grid-template-columns:1fr; }
 .story-projects article,.story-projects article+article { border-inline-start:0; min-height:0; padding:26px 0; }
 .story-projects article+article { border-top:1px solid #b8c2c8; }
 .story-projects article>span { margin-bottom:15px; }
 .story-projects h3 { font-size:2.1rem; }
 .story-proof-bottom { display:block; }
 .story-proof-bottom a { margin-top:25px; }
 .catalogue-display { padding:35px 18px 0; gap:12px; }
 .story-collection h2 { margin-bottom:22px; }
 .story-brand-line { gap:24px; padding-block:30px; }
 .story-brand-line>span { max-width:none; width:100%; }
 .story-brand-line>div { justify-content:flex-start; gap:18px 26px; }
 .story-phone { margin:20px 0 0; display:block; }
 .home-heritage { grid-template-columns:1fr; gap:35px; padding:50px 6%; }
 .home-heritage-date { border-inline-end:0; border-bottom:1px solid #5a6d80; padding-bottom:30px; }
 .home-heritage-date strong { font-size:7rem; }
 .portfolio-toolbar { display:block; }
 .portfolio-toolbar label { min-width:0; }
 .portfolio-toolbar>a { margin-top:25px; }
 .portfolio-sector { grid-template-columns:1fr; gap:22px; padding-block:40px; }
 .sector-heading p:not(.eyebrow) { max-width:none; }
 .project-register { grid-template-columns:1fr; }
 .brand-groups { grid-template-columns:1fr 1fr; gap:0 22px; }
 .brand-groups span { font-size:1.3rem; }
 html[dir=rtl] .story-title h1 { font-size:3.3rem; }
}
