﻿/* Home page styles are isolated to preserve the existing navigation and other pages. */
.home-page { --home-navy:#071e2b; --home-teal:#426e70; --home-paper:#f7f6f1; --home-muted:#5a686b; background:var(--home-paper); color:var(--home-navy); font-family:Arial,Helvetica,sans-serif; }
.home-page:before,.home-page .site-grain { display:none; }
.home-container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.home-page main { overflow:clip; }
.home-page h1,.home-page h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.055em; text-wrap:balance; }
.home-page h2 { font-size:clamp(36px,4vw,60px); line-height:1.09; }
.home-page h2 em { color:var(--home-teal); font-weight:400; }
.home-page h3 { letter-spacing:-.035em; }
.home-label { display:flex; align-items:center; gap:12px; font-size:10px; line-height:1.6; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--home-teal); }
.home-section { padding:104px 0; scroll-margin-top:100px; }
.home-section h2 { margin-top:22px; }
.home-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:54px; padding:16px 23px; border:1px solid #e7a66c; background:#efaf76; color:#132732; font-size:12px; font-weight:700; border-radius:4px; transition:background .25s,transform .25s; }
.home-button:hover { background:#f7c69b; transform:translateY(-3px); }
.home-button>span,.home-link>span { font-family:Arial,sans-serif; font-size:20px; line-height:1; transition:transform .25s; }
.home-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:12px 0; border-bottom:1px solid #a9b4ad; font-size:12px; font-weight:700; }
.home-link:hover>span { transform:translate(3px,-3px); }
.home-link-light { color:#f7f6f1; border-color:#ffffff50; }
.home-page a:focus-visible,.home-page button:focus-visible { outline:3px solid #d28b50; outline-offset:5px; }
.home-hero { position:relative; min-height:760px; min-height:min(880px,100svh); display:flex; flex-direction:column; justify-content:center; background:var(--home-navy); isolation:isolate; color:#fff; }
.home-hero:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(4,22,34,.95) 0%,rgba(4,22,34,.86) 30%,rgba(4,22,34,.25) 72%),linear-gradient(0deg,rgba(4,22,34,.85),transparent 30%); }
.home-hero-image { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; object-position:65% center; animation:home-image-in 1.6s ease-out both; }
.home-hero-content { padding-top:180px; padding-bottom:125px; }
.home-hero .home-label { color:#d9e5e4; font-size:9px; }
.home-hero h1 { max-width:700px; margin:27px 0 24px; font-size:clamp(56px,6.7vw,98px); line-height:1.01; }
.home-hero-copy { max-width:470px; color:#cad5d9; font-size:15px; line-height:1.8; }
.home-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:28px; margin-top:32px; }
.home-hero-bottom { position:absolute; bottom:28px; left:0; right:0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #ffffff30; padding-top:23px; }
.home-hero-bottom p,.home-hero-bottom a { display:flex; align-items:center; gap:12px; font-size:9px; letter-spacing:.1em; }
.home-hero-bottom a { color:#d3dfe3; text-transform:uppercase; }
.home-hero-bottom a>span { font-size:18px; margin-left:15px; }
.home-coordinates { color:#a8bec8; margin-left:20px; font-size:8px; }
.home-origin-dot { display:inline-block; flex:none; width:6px; height:6px; border-radius:50%; background:#efaf76; }
.home-assurance { background:#0d2b39; color:#dce5e7; border-top:1px solid #ffffff15; }
.home-assurance .home-container { display:grid; grid-template-columns:repeat(4,1fr); }
.home-assurance p { display:flex; align-items:center; justify-content:center; gap:18px; padding:27px 12px; font-size:11px; border-right:1px solid #ffffff17; }
.home-assurance p:first-child { border-left:1px solid #ffffff17; }
.home-assurance p>span { color:#d7a174; font-size:9px; }
.home-intro-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:100px; row-gap:50px; }
.home-intro-copy { padding-top:36px; }
.home-intro-copy>p { font-size:15px; line-height:1.9; color:var(--home-muted); max-width:490px; }
.home-intro-copy .home-link { margin-top:16px; }
.home-stat { display:flex; gap:30px; align-items:center; padding-top:24px; border-top:1px solid #d5dbd3; }
.home-stat strong { font-family:Georgia,serif; font-size:64px; font-weight:400; letter-spacing:-.05em; line-height:1; }
.home-stat strong>span { color:var(--home-teal); font-size:38px; vertical-align:top; }
.home-stat p { max-width:180px; font-size:12px; line-height:1.6; color:var(--home-muted); }
.home-collection { background:#eeeee7; }
.home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:46px; }
.home-section-heading>.home-link { flex-shrink:0; margin-bottom:5px; }
.home-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.home-product { min-width:0; }
.home-product-image { position:relative; aspect-ratio:4/5; overflow:hidden; background:#16313b; border-radius:3px; }
.home-product-image:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#071e2b55,transparent 45%); pointer-events:none; }
.home-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.65,.3,1); }
.home-product:nth-child(4n + 1) img { object-position:15% center; }
.home-product:nth-child(4n + 2) img { object-position:65% center; }
.home-product:nth-child(4n + 3) img { object-position:80% center; }
.home-product:nth-child(4n + 4) img { object-position:90% center; }
.home-product a:hover img { transform:scale(1.055); }
.home-product-number { position:absolute; z-index:1; top:17px; left:17px; color:#fff; font-size:10px; letter-spacing:.1em; }
.home-product-cta { position:absolute; z-index:1; bottom:16px; right:16px; display:grid; place-items:center; width:39px; height:39px; border:1px solid #ffffff70; border-radius:50%; color:#fff; background:#08233055; font-size:21px; transition:background .25s,color .25s; }
.home-product a:hover .home-product-cta { background:#f0b57f; color:#071e2b; }
.home-product-body { padding:22px 0 4px; }
.home-product-body .home-label { font-size:8px; }
.home-product h3 { margin:9px 0; font-size:20px; line-height:1.25; font-weight:500; }
.home-species { font-family:Georgia,serif; font-style:italic; font-size:12px; color:#6b7773; }
.home-collection-note { display:flex; justify-content:space-between; align-items:center; gap:28px; border-top:1px solid #cdd4ca; margin-top:40px; padding-top:22px; }
.home-collection-note>p { max-width:540px; font-size:12px; line-height:1.7; color:var(--home-muted); }
.home-collection-note .home-link { flex-shrink:0; }
.home-heading-copy { max-width:320px; color:var(--home-muted); line-height:1.8; font-size:14px; padding-bottom:5px; }
.home-steps { display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:50px 0 0; list-style:none; }
.home-steps li { padding:0 28px; border-left:1px solid #d5dbd3; }
.home-steps li:first-child { padding-left:0; border:0; }
.home-steps li:last-child { padding-right:0; }
.home-step-top { display:flex; justify-content:space-between; align-items:center; color:var(--home-teal); }
.home-step-top>span { font-size:11px; }
.home-step-top>i { font-size:20px; font-style:normal; }
.home-steps h3 { font-family:Georgia,serif; font-weight:400; font-size:30px; margin:32px 0 14px; }
.home-steps li>p { font-size:13px; line-height:1.8; color:var(--home-muted); }
.home-network { background:var(--home-navy); color:#f7f6f1; }
.home-network-grid { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:45px; }
.home-network .home-label { color:#b7c9c8; }
.home-network h2 em { color:#a3c6bf; }
.home-network-copy>p:not(.home-label) { margin-top:25px; max-width:450px; color:#b7c7cc; font-size:14px; line-height:1.85; }
.home-markets { display:flex; flex-wrap:wrap; gap:10px 18px; margin:28px 0 20px; }
.home-markets>span { display:flex; align-items:center; gap:8px; color:#cfdbdd; font-size:10px; padding-bottom:9px; border-bottom:1px solid #ffffff20; }
.home-markets b { color:#eab386; font-size:8px; font-weight:400; }
.home-globe-panel { position:relative; min-width:0; }
.home-page .home-globe { position:relative; inset:auto; width:100%; height:450px; overflow:hidden; opacity:1; animation:none; }
.home-globe-caption { display:flex; align-items:center; gap:9px; border-top:1px solid #ffffff20; padding-top:20px; font-size:8px; letter-spacing:.1em; color:#a9bdc4; }
.home-globe-caption>span:last-child { margin-left:auto; }
.home-story-grid { display:grid; grid-template-columns:1fr .9fr; gap:90px; align-items:center; }
.home-story-photo { position:relative; margin:0; }
.home-story-photo>img { width:100%; aspect-ratio:1.05; height:auto; object-fit:cover; border-radius:3px; }
.home-story-photo figcaption { display:flex; justify-content:space-between; gap:16px; margin-top:18px; font-size:8px; letter-spacing:.12em; color:#547070; }
.home-story-photo figcaption>span { color:#687772; }
.home-story-copy>p:not(.home-label) { color:var(--home-muted); font-size:14px; line-height:1.85; margin-top:22px; max-width:450px; }
.home-story-copy>.home-link { margin-top:22px; }
.home-story-signature { margin-top:34px; padding-top:25px; border-top:1px solid #d5dbd3; }
.home-story-signature>span { font-family:Georgia,serif; font-style:italic; font-size:24px; color:var(--home-teal); }
.home-story-signature>p { margin-top:8px; font-size:10px; color:var(--home-muted); }
.home-enquiry { padding:72px 0; background:#dfe8e0; }
.home-enquiry-inner { display:flex; justify-content:space-between; align-items:center; gap:50px; }
.home-enquiry h2 { margin-top:20px; }
.home-enquiry-inner>div:last-child>p { font-size:14px; line-height:1.8; color:#48615b; margin-bottom:24px; }
.home-page .site-footer { margin:0; padding-top:68px; border:0; border-radius:0; background:#071e2b; backdrop-filter:none; }
.home-page .footer-grid { width:min(1280px,calc(100% - 96px)); gap:50px; }
.home-page .footer-brand h2 { font-size:34px; }
.home-page .footer-label { color:#a1b8bd; }
.home-page .footer-brand .eyebrow { color:#a1b8bd; font-size:8px; }
.home-page .footer-brand .eyebrow:before { background:#efaf76; box-shadow:none; width:5px; height:5px; }
.home-entrance { animation:home-rise .85s cubic-bezier(.2,.7,.2,1) both; }
.home-hero h1 { animation-delay:.08s; }
.home-hero-copy { animation-delay:.16s; }
.home-hero-actions { animation-delay:.24s; }
.home-reveal { opacity:1; transform:none; }
@media (prefers-reduced-motion:no-preference) {
  .home-motion .home-reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
  .home-motion .home-reveal.is-visible { opacity:1; transform:none; }
  .home-products .home-reveal:nth-child(4n + 2),.home-steps .home-reveal:nth-child(2) { transition-delay:.06s; }
  .home-products .home-reveal:nth-child(4n + 3),.home-steps .home-reveal:nth-child(3) { transition-delay:.12s; }
  .home-products .home-reveal:nth-child(4n + 4),.home-steps .home-reveal:nth-child(4) { transition-delay:.18s; }
}
@keyframes home-rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
@keyframes home-image-in { from { transform:scale(1.035); } to { transform:scale(1); } }
@media (min-width:1600px) { .home-hero-content { padding-top:200px; } }
@media (max-width:1100px) {
  .home-container,.home-page .footer-grid { width:calc(100% - 64px); }
  .home-intro-grid { column-gap:55px; }
  .home-products { gap:18px; }
  .home-product h3 { font-size:18px; }
  .home-story-grid { gap:45px; }
  .home-network-grid { gap:24px; }
  .home-page .home-globe { height:380px; }
  .home-page .footer-grid { grid-template-columns:1.5fr 1fr 1fr; gap:30px; }
  .home-page .footer-brand { align-items:flex-start; gap:16px; }
  .home-page .footer-brand img { width:58px; height:58px; }
}
@media (max-width:760px) {
  .home-container,.home-page .footer-grid { width:calc(100% - 40px); }
  .home-section { padding:68px 0; }
  .home-hero { min-height:740px; }
  .home-hero-content { padding-top:150px; padding-bottom:140px; }
  .home-hero-image { object-position:64% center; }
  .home-hero:after { background:linear-gradient(90deg,#041622e8,#04162250),linear-gradient(0deg,#041622e6,transparent 65%); }
  .home-hero h1 { font-size:clamp(51px,9vw,70px); max-width:550px; }
  .home-hero-copy { font-size:14px; max-width:410px; }
  .home-hero-actions { gap:16px 24px; }
  .home-hero .home-label { font-size:8px; letter-spacing:.11em; gap:8px; flex-wrap:wrap; }
  .home-coordinates { display:none; }
  .home-hero-bottom p,.home-hero-bottom a { font-size:7px; }
  .home-hero-bottom a { gap:5px; }
  .home-assurance .home-container { grid-template-columns:1fr 1fr; }
  .home-assurance p { justify-content:flex-start; padding:20px 10px; gap:12px; font-size:10px; border-bottom:1px solid #ffffff17; }
  .home-assurance p:first-child { border-left:0; }
  .home-assurance p:nth-child(even) { border-right:0; padding-left:25px; }
  .home-intro-grid { gap:32px; }
  .home-intro-grid>div:first-child,.home-intro-copy { grid-column:1/-1; }
  .home-intro-copy { padding-top:0; }
  .home-stat { flex-direction:column; align-items:flex-start; gap:14px; }
  .home-stat strong { font-size:55px; }
  .home-section-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:30px; }
  .home-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
  .home-product h3 { font-size:18px; }
  .home-product-body { padding-top:16px; }
  .home-collection-note { align-items:flex-start; flex-direction:column; gap:12px; }
  .home-steps { grid-template-columns:1fr 1fr; gap:36px 28px; margin-top:32px; }
  .home-steps li { padding:0; border:0; border-top:1px solid #d5dbd3; padding-top:18px; }
  .home-steps li:first-child { border-top:1px solid #d5dbd3; }
  .home-steps h3 { margin-top:20px; }
  .home-network-grid,.home-story-grid { grid-template-columns:1fr; gap:36px; }
  .home-page .home-globe { height:390px; max-width:520px; margin:auto; }
  .home-story-photo>img { aspect-ratio:1.2; }
  .home-enquiry { padding:60px 0; }
  .home-enquiry-inner { flex-direction:column; align-items:flex-start; gap:28px; }
  .home-page .footer-grid { grid-template-columns:1fr 1fr; gap:35px; padding-bottom:42px; }
  .home-page .footer-statement { grid-column:1/-1; }
  .home-page .footer-brand { grid-column:1/-1; }
  .home-page .footer-base { width:calc(100% - 40px); }
}
@media (max-width:400px) {
  .home-hero { min-height:770px; }
  .home-hero h1 { font-size:49px; }
  .home-hero-actions { flex-direction:column; align-items:flex-start; }
  .home-products { gap:25px 12px; }
  .home-product h3 { font-size:16px; }
  .home-product-body .home-label { font-size:7px; }
  .home-page .home-globe { height:320px; }
  .home-globe-caption { font-size:7px; }
  .home-page .footer-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page,.home-page * { scroll-behavior:auto!important; }
  .home-page *,.home-page *:before,.home-page *:after { animation:none!important; transition:none!important; }
}
