:root { --ink:#080d19; --navy:#07101f; --blue:#0b2a55; --ivory:#f8f4ed; --gold:#c6a15b; --muted:#6d6861; --line:rgba(8,13,25,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:'Montserrat',sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.skip { position:fixed; left:18px; top:-70px; z-index:20; padding:12px 16px; background:white; }
.skip:focus { top:18px; }
.announce { padding:9px 5vw; background:var(--gold); color:var(--ink); font-size:10px; font-weight:600; letter-spacing:.12em; text-align:center; text-transform:uppercase; }
.site-head { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:0 5vw; background:var(--navy); color:var(--ivory); border-bottom:1px solid rgba(255,255,255,.14); }
.brand { display:flex; align-items:center; gap:10px; font-weight:600; letter-spacing:.14em; }
.brand i { color:var(--gold); font-style:normal; }
.site-head nav { display:flex; flex-wrap:wrap; gap:24px; color:rgba(248,244,237,.72); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.site-head nav a:hover { color:white; }
.crumbs { display:flex; flex-wrap:wrap; gap:9px; padding:18px 5vw; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; }
.crumbs span { color:#aaa297; }
.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.82fr); min-height:720px; }
.product__visual { min-height:720px; position:relative; background:var(--blue); }
.product__visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.concept-badge { position:absolute; left:24px; bottom:22px; padding:10px 13px; background:rgba(6,11,22,.84); color:#f4dfb6; font-size:9px; letter-spacing:.12em; text-transform:uppercase; backdrop-filter:blur(10px); }
.product__copy { display:flex; flex-direction:column; justify-content:center; padding:70px clamp(30px,6vw,90px); }
.eyebrow { margin:0 0 18px; color:#9b7535; font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
h1,h2,h3 { font-family:'Playfair Display',serif; font-weight:500; }
h1 { margin:0; font-size:clamp(52px,6vw,88px); line-height:.92; letter-spacing:-.045em; }
.lead { max-width:660px; margin:26px 0 0; color:#5e5952; font-family:'Playfair Display',serif; font-size:18px; line-height:1.62; }
.price { margin:30px 0 6px; font-family:'Playfair Display',serif; font-size:30px; }
.price-note { color:var(--muted); font-size:10px; line-height:1.55; }
.specs { margin:30px 0 0; border-top:1px solid var(--line); }
.specs div { display:flex; justify-content:space-between; gap:25px; padding:15px 0; border-bottom:1px solid var(--line); }
.specs span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.specs b { font-family:'Playfair Display',serif; font-size:15px; font-weight:500; text-align:right; }
.actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:28px; }
.cta { min-height:51px; display:flex; align-items:center; justify-content:center; padding:0 20px; background:var(--ink); color:white; font-size:10px; font-weight:600; letter-spacing:.09em; text-align:center; text-transform:uppercase; }
.cta--gold { background:var(--gold); color:var(--ink); }
.cta--line { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.cta--light-line { background:transparent; color:var(--ivory); border:1px solid rgba(248,244,237,.56); }
.actions--wide { max-width:650px; }
.section { padding:100px 7vw; }
.section--navy { background:var(--navy); color:var(--ivory); }
.section-head { display:grid; grid-template-columns:.7fr 1.3fr; gap:7vw; align-items:end; margin-bottom:46px; }
.section h2 { max-width:720px; margin:0; font-size:clamp(44px,5.5vw,78px); line-height:.94; letter-spacing:-.04em; }
.section h2 em { color:var(--gold); font-weight:500; }
.section-head p { max-width:680px; margin:0; color:#686159; font-family:'Playfair Display',serif; font-size:18px; line-height:1.65; }
.section--navy .section-head p { color:rgba(248,244,237,.62); }
.promise-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.promise-grid article { min-height:210px; padding:28px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.promise-grid small { color:var(--gold); letter-spacing:.12em; }
.promise-grid h3 { margin:48px 0 12px; font-size:23px; }
.promise-grid p { margin:0; color:rgba(248,244,237,.56); font-size:11px; line-height:1.7; }
.related-grid,.catalog-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.tile { padding:0 0 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.tile img { width:100%; aspect-ratio:4/5; object-fit:cover; background:#e8e1d7; }
.tile div { padding:20px 18px 0; }
.tile small { color:#9b7535; font-size:9px; letter-spacing:.1em; }
.tile h3 { min-height:52px; margin:8px 0 12px; font-size:22px; line-height:1.12; }
.tile p { margin:0; color:var(--muted); font-size:10px; }
.content { max-width:1120px; margin:auto; padding:92px 6vw; }
.content h1 { max-width:900px; }
.content h2 { margin:58px 0 16px; font-size:35px; }
.content h3 { margin:32px 0 10px; font-size:24px; }
.content p,.content li { color:#5f5a53; font-size:14px; line-height:1.85; }
.content ul,.content ol { padding-left:22px; }
.content .callout { margin:38px 0; padding:25px; border:1px solid var(--line); background:#eee7dc; }
.content .actions { max-width:650px; }
.content .text-link { display:inline-block; color:#8c692d; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.location-card { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:end; margin:42px 0 56px; padding:30px; border:1px solid var(--line); background:#eee7dc; }
.location-card small,.location-card strong,.location-card > div > a { display:block; }
.location-card small { margin-bottom:12px; color:#8b6b33; font-size:9px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; }
.location-card strong { max-width:540px; font-family:'Playfair Display',serif; font-size:23px; font-weight:500; line-height:1.45; }
.location-card > div > a { margin-top:10px; color:#8b692f; font-size:13px; font-weight:600; }
.location-card .actions { margin:0; }
.link-grid { display:grid; grid-template-columns:repeat(2,1fr); margin:28px 0 52px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.link-grid a { min-height:128px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.2); }
.link-grid strong,.link-grid span { display:block; }
.link-grid strong { font-family:'Playfair Display',serif; font-size:21px; font-weight:500; }
.link-grid span { margin-top:10px; color:var(--muted); font-size:10px; line-height:1.6; }
.content-edit { margin:64px 0 0; }
.content-edit__head { display:grid; grid-template-columns:.9fr 1.1fr; gap:45px; align-items:end; margin-bottom:30px; }
.content-edit__head h2 { margin:0; }
.content-edit__head p { margin:0; }
.content-edit .catalog-grid { grid-template-columns:repeat(3,1fr); }
.faq-stack { margin-top:68px; border-top:1px solid var(--line); }
.faq-stack h2 { margin-bottom:24px; }
.faq-stack details { border-bottom:1px solid var(--line); }
.faq-stack summary { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:20px 0; cursor:pointer; font-family:'Playfair Display',serif; font-size:19px; list-style:none; }
.faq-stack summary::-webkit-details-marker { display:none; }
.faq-stack summary span { color:var(--gold); font-family:'Montserrat',sans-serif; }
.faq-stack details p { margin:0; padding:0 42px 22px 0; }
.category-hero { padding:88px 7vw 78px; background:linear-gradient(130deg,var(--navy),#0b2b58); color:var(--ivory); }
.category-hero h1 { max-width:920px; }
.category-hero .lead { color:rgba(248,244,237,.66); }
.site-foot { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:6vw; padding:62px 5vw; background:#040812; color:var(--ivory); }
.site-foot h2 { margin:0; color:var(--gold); font-size:38px; }
.site-foot p,.site-foot a { color:rgba(248,244,237,.58); font-size:11px; line-height:1.8; }
.site-foot nav { display:flex; flex-direction:column; gap:8px; }
.contact-static { position:fixed; right:20px; bottom:20px; z-index:10; display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.contact-static a { min-width:104px; min-height:42px; display:flex; align-items:center; justify-content:center; padding:0 14px; border:1px solid rgba(190,159,98,.4); background:#fffdf8; color:var(--ink); box-shadow:0 12px 40px rgba(0,0,0,.2); font-size:8px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.contact-static a:first-child { background:var(--gold); }
.contact-static a:last-child { background:var(--navy); color:#fff; }
@media (max-width:980px) { .product,.section-head,.content-edit__head,.location-card { grid-template-columns:1fr; } .product__visual { min-height:620px; } .promise-grid,.related-grid,.catalog-grid,.content-edit .catalog-grid { grid-template-columns:repeat(2,1fr); } .site-head { align-items:flex-start; flex-direction:column; padding-top:18px; padding-bottom:16px; } .site-head nav { width:100%; flex-wrap:nowrap; gap:20px; padding-bottom:3px; overflow-x:auto; scrollbar-width:none; } .site-head nav::-webkit-scrollbar { display:none; } .site-head nav a { flex:0 0 auto; white-space:nowrap; } }
@media (max-width:620px) { .announce { font-size:8px; } .site-head { min-height:68px; } .product { display:block; } .product__visual { min-height:520px; } .product__copy { padding:50px 22px; } .actions { grid-template-columns:1fr; } .section,.content { padding:70px 20px; } .section-head { margin-bottom:34px; } .promise-grid,.related-grid,.catalog-grid,.content-edit .catalog-grid,.link-grid { grid-template-columns:1fr; } .location-card { padding:22px; } .content-edit__head { gap:10px; } .promise-grid article { min-height:170px; } .site-foot { grid-template-columns:1fr; padding:54px 20px 110px; } .contact-static { right:12px; bottom:12px; flex-direction:row; gap:5px; } .contact-static a { min-width:0; min-height:42px; padding:0 12px; } }

/* International enquiry: native validation, readable controls, mobile layout. */
.quote-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:32px 0;padding:28px;background:#f3efe7;color:#07101f;border:1px solid #d6c9b3;border-radius:4px}
.quote-form label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:600;line-height:1.5;min-width:0}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;box-sizing:border-box;min-height:48px;padding:12px;border:1px solid #827665;border-radius:2px;background:#fff;color:#07101f;font:400 16px/1.5 Montserrat,sans-serif}
.quote-form textarea{resize:vertical;min-height:120px}.quote-form .wide{grid-column:1/-1}.quote-form .consent{display:flex;flex-direction:row;align-items:flex-start;font-weight:400}.quote-form input[type=checkbox]{width:22px;min-width:22px;min-height:22px;margin:2px 8px 0 0}.quote-form button{cursor:pointer;border:0;min-height:48px;font:600 15px Montserrat,sans-serif}.quote-form :focus-visible{outline:3px solid #9a6915;outline-offset:3px}.quote-form [hidden]{display:none!important}.quote-form p{margin:0;font-size:14px}.quote-form a{text-decoration:underline}.quote-form button:disabled{opacity:.65;cursor:wait}
@media(max-width:640px){.quote-form{grid-template-columns:1fr;padding:20px;gap:18px}}

.currency-strip{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0 4px;color:#5f5a53;font-size:13px;line-height:1.5}
.currency-strip label{display:flex;align-items:center;gap:10px;color:#07101f;font-weight:600}
.currency-strip select{min-height:44px;padding:8px 34px 8px 12px;border:1px solid #827665;background:#fff;color:#07101f;font:600 14px Montserrat,sans-serif;cursor:pointer}
.currency-strip select:focus-visible{outline:3px solid #9a6915;outline-offset:3px}
.currency-strip--global{justify-content:center;margin:0;padding:10px 5vw;border-bottom:1px solid var(--line);background:#f3efe7}
.currency-strip--global span{max-width:760px}
@media(max-width:620px){.currency-strip--global{align-items:flex-start;flex-direction:column;gap:5px}.currency-strip--global span{font-size:12px}}
