*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;--paper:#f5f2eb;--ink:#212e40;--accent:#902f27;--emphasis:#eac18a;--edge:#c9c6bd;--panel:#fffdf9;--heading:Georgia,'Times New Roman',serif;--r:0px;background:var(--paper);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}
body.v2{--paper:#faf8ef;--ink:#28382d;--accent:#47603f;--emphasis:#e2ce9c;--edge:#c8cbbc;--panel:#fffcf3;--r:14px}
body.v3{--paper:#f1f3f4;--ink:#172a36;--accent:#0b4c66;--emphasis:#d8eacb;--edge:#c5ccce;--panel:#fff;--heading:Arial,Helvetica,sans-serif;--r:5px}
a{color:inherit} img{max-width:100%;height:auto} button,input,textarea,select{font:inherit} button,summary{cursor:pointer} a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c87916;outline-offset:4px}
.sitehead{padding:12px max(4.8vw,calc((100vw - 1370px)/2));display:flex;align-items:center;gap:24px;position:relative;z-index:20;color:var(--ink);background:var(--panel);border-bottom:1px solid var(--edge)}
.sitehead .brand{display:flex;align-items:center;flex:none;text-decoration:none}.sitehead .brand img{display:block;width:128px;height:44px;object-fit:contain}
.sitehead nav{display:flex;align-items:center;margin-left:auto;gap:clamp(20px,3.2vw,50px)}.sitehead nav a,.sitehead summary{font-size:14px;font-weight:650;text-decoration:none}
.sitehead nav>a,.sitehead summary{padding:12px 0;display:block}.sitehead summary{list-style:none}.sitehead summary::-webkit-details-marker{display:none}.sitehead summary:after{content:'⌄';display:inline-block;margin-left:.4em;transform:translateY(-.12em)}.sitehead details[open] summary:after{transform:rotate(180deg)}
.sitehead details{position:relative}.sitehead .sub{position:absolute;top:calc(100% + 3px);left:0;width:max-content;min-width:220px;max-width:330px;padding:8px;background:var(--panel);border:1px solid var(--edge);box-shadow:0 12px 24px #0002;border-radius:var(--r);display:grid;z-index:2}
.sitehead .sub a{display:block;padding:10px 12px}.sitehead a[aria-current=page],.sitehead nav a:hover,.sitehead summary:hover{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.sitehead .menu{display:none}.button,.topcta{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:var(--accent);color:white;font-weight:700;text-decoration:none;border:1px solid transparent;border-radius:var(--r);padding:12px 18px;line-height:1.28;min-height:44px;transition:transform .2s,box-shadow .2s}.topcta{font-size:14px;white-space:nowrap}.button:hover,.topcta:hover{transform:translateY(-2px);box-shadow:0 4px 0 #0003}
.v1 .sitehead{border-top:4px solid var(--ink)}.v2 .sitehead .brand{order:0}.v2 .sitehead nav{margin-left:clamp(15px,4vw,75px)}.v2 .topcta{margin-left:auto;border-radius:30px}.v3 .sitehead{background:var(--ink);color:white;border:0}.v3 .sitehead .sub{background:var(--ink);border-color:#56707d}.v3 .sitehead .topcta{background:var(--emphasis);color:var(--ink)}.v3 .sitehead a[aria-current=page],.v3 .sitehead nav a:hover,.v3 .sitehead summary:hover{color:var(--emphasis)}
.wrap{width:min(1240px,90%);margin:0 auto;padding:clamp(26px,5vw,80px) 0}.intro{max-width:880px;margin-bottom:clamp(25px,4vw,58px)}.intro h1,.detail h1,.contactgrid h1{font:500 clamp(40px,6.2vw,89px)/1.02 var(--heading);letter-spacing:-.055em;margin:.28em 0}.intro p,.detail p,.contactgrid p{max-width:63ch;line-height:1.65}.intro p{font-size:clamp(16px,1.55vw,21px)}.wrap h2{font:500 clamp(28px,3.5vw,52px)/1.12 var(--heading);letter-spacing:-.035em}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(14px,2.7vw,42px);row-gap:clamp(28px,3.5vw,56px)}
.card{display:flex;flex-direction:column;min-width:0;text-decoration:none;border-bottom:1px solid var(--edge);padding-bottom:15px;overflow:hidden}.card img{display:block;width:100%;height:clamp(140px,19vw,265px);object-fit:contain;background:#eeefec;transition:transform .35s ease}.card h3{font:600 clamp(20px,2vw,30px)/1.16 var(--heading);letter-spacing:-.025em;margin:15px 0 8px}.card span{color:var(--accent);font-size:13px;font-weight:bold}.card:hover img{transform:scale(1.026)}.card:hover h3{text-decoration:underline;text-underline-offset:4px}.v2 .card{background:var(--panel);border:1px solid var(--edge);border-radius:var(--r);padding:12px}.v2 .card img{border-radius:7px}.v3 .grid{gap:1px;background:var(--edge);border:1px solid var(--edge)}.v3 .card{background:var(--panel);padding:16px;border:0}.v3 .card h3{font-size:clamp(18px,1.65vw,25px)}
.detail,.contactgrid{display:grid;grid-template-columns:1.05fr 1fr;align-items:start;gap:clamp(24px,6vw,95px);margin:24px 0 46px;min-width:0}.detail>img,.detail>picture img,.detail>figure img{width:100%;height:auto;max-height:520px;object-fit:contain;background:#eeefec;border-radius:var(--r)}.detail h1{font-size:clamp(36px,4.4vw,68px)}.detail p{font-size:18px}.detail>*,.contactgrid>*{min-width:0}.contactgrid a{overflow-wrap:anywhere}
#enquiry{padding:clamp(18px,3.5vw,42px);background:var(--panel);border:1px solid var(--edge);border-radius:var(--r);display:grid;gap:14px}#enquiry label{display:grid;gap:5px;font-weight:bold;font-size:14px}#enquiry :is(input,textarea,select){width:100%;background:var(--paper);border:1px solid var(--edge);border-radius:3px;color:var(--ink);min-height:45px;padding:9px 11px;font-weight:400}#enquiry textarea{min-height:110px;resize:vertical}#enquiry button{justify-self:start}
footer{background:var(--ink);color:white;padding:clamp(32px,5.5vw,85px) max(5vw,calc((100vw - 1240px)/2));display:flex;gap:clamp(22px,5vw,80px);align-items:flex-start;flex-wrap:wrap}footer section,footer>div{min-width:0;flex:1 1 170px}footer h2,footer h3{font:500 23px/1.2 var(--heading);margin:0 0 12px}footer p{margin:.4em 0}footer a{overflow-wrap:anywhere;text-decoration-thickness:1px;text-underline-offset:4px}footer section>a,footer>div>a{display:block;padding:4px 0}footer img{width:112px;display:block}footer svg,.float svg,.topcta svg{width:1.4em;height:1.4em;flex:none}.v2 footer{border-top:6px double var(--emphasis)}.v3 footer{border-top:6px solid var(--emphasis)}
.float{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));right:16px;z-index:12;border-radius:999px;background:#086540;color:white;display:flex;align-items:center;justify-content:center;gap:.45em;min-width:48px;min-height:48px;padding:10px 13px;font-weight:bold;text-decoration:none;box-shadow:0 5px 14px #0003;transition:opacity .18s,transform .18s}.float.footer-in-view{opacity:0;pointer-events:none;transform:translateY(8px)}
.chooser{--paper:#f5f2eb;--ink:#162337}.chooser main{max-width:1350px;margin:auto;padding:clamp(24px,6vw,92px) 5vw}.chooser h1{max-width:16ch;margin:.3em 0;font:500 clamp(44px,6.7vw,100px)/.98 Georgia,serif;letter-spacing:-.055em}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.5vw,35px);margin-top:40px}.choices>a{display:block;background:#fffcf5;text-decoration:none;border:1px solid #c5c2b9;padding:12px 12px 22px;transition:transform .25s}.choices>a:hover{transform:translateY(-5px)}.choices>a img{display:block;width:100%;height:clamp(160px,18vw,250px);object-fit:contain;background:#e9e8e2}.choices>a h2{font:500 clamp(26px,2.4vw,40px)/1.12 Georgia,serif;margin:18px 8px 8px}.choices>a p{margin:7px 8px;color:#3e494a}
@media(max-width:900px){.sitehead{gap:14px}.sitehead nav{gap:18px}.detail,.contactgrid{gap:26px}}
@media(max-width:760px){
.sitehead{padding:9px 5%;gap:10px}.sitehead .brand img{width:97px;height:38px}.sitehead .menu{display:flex;align-items:center;justify-content:center;color:inherit;border:1px solid currentColor;background:transparent;border-radius:var(--r);width:44px;height:44px;padding:8px}.sitehead .menu svg{width:23px;height:23px}.sitehead .topcta{margin-left:auto;padding:9px 12px;font-size:13px}.sitehead nav,.v2 .sitehead nav{display:none;position:absolute;left:5%;right:5%;top:100%;background:var(--panel);color:var(--ink);border:1px solid var(--edge);margin:0;padding:8px 15px 12px;box-shadow:0 14px 25px #0002;max-height:70dvh;overflow:auto}.sitehead.nav-open nav{display:grid;gap:0}.sitehead nav>a,.sitehead summary{min-height:44px;padding:10px 4px}.sitehead .sub,.v3 .sitehead .sub{position:static;width:100%;min-width:0;max-width:none;box-shadow:none;background:transparent;color:inherit;border:0;border-left:2px solid var(--edge);padding:0 0 0 8px}.sitehead .sub a{min-height:44px}.v3 .sitehead a[aria-current=page],.v3 .sitehead nav a:hover,.v3 .sitehead summary:hover{color:var(--accent)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail,.contactgrid{grid-template-columns:1fr}.detail>img,.detail>picture img{max-height:365px}.choices{grid-template-columns:1fr;margin-top:24px}.choices>a img{height:190px}footer{display:grid;grid-template-columns:1fr 1fr;gap:25px 16px;font-size:14px}.float{bottom:12px;right:10px}.wrap{width:90%}}
@media(max-width:470px){.card h3{font-size:18px}.card span{font-size:12px}.v2 .card,.v3 .card{padding:9px}.card img{height:130px}.sitehead .topcta svg{width:16px;height:16px}footer section:first-child:not(:last-child){grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}
body.v1{--paper:#f4f1e9;--ink:#112338;--accent:#163651;--emphasis:#f4bd60;--panel:#fffdf8;--heading:Arial,Helvetica,sans-serif}
.v1 .intro h1,.v1 .detail h1,.v1 .contactgrid h1,.v1 .wrap h2{font-weight:750}.v1 .sitehead{border-top-color:#f4bd60}.v1 .topcta{color:#112338;background:#f4bd60}
body.v2{--paper:#f6f1e7;--ink:#48281f;--accent:#703d2d;--emphasis:#e6ddcc;--edge:#c9bca7;--panel:#fffaf0}
body.v3{--paper:#f4f5ee;--ink:#20392e;--accent:#315244;--emphasis:#d5ef75;--edge:#bdc9bb;--panel:#fff}
footer .brand img{height:auto}.sitehead .brand img{object-fit:contain}.chooser .choices span{display:block;margin:12px 8px 0;font-weight:650}
.sitehead{position:sticky;top:0;box-shadow:0 2px 14px #14233014}.sitehead .brand img{width:143px;height:auto}.v1 .sitehead .brand img{border-radius:3px}.chooser main>img{height:auto}.catalog-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:24px;background:var(--panel);border:1px solid var(--edge);border-top:3px solid var(--accent)}.catalog-tools label{display:grid;gap:6px;font-weight:650;flex:1 1 180px}.catalog-tools :is(input,select,.filter-reset){font:inherit;color:var(--ink);min-height:44px;border:1px solid var(--edge);background:var(--paper);padding:8px 11px;max-width:100%;border-radius:var(--r)}.filter-reset{cursor:pointer}.filter-count{width:100%;font-size:14px}.wrap [hidden]{display:none!important}.sitehead .menu{font-size:20px}.card:focus-visible,.hx a:focus-visible,.sitehead a:focus-visible{outline:3px solid #b96900;outline-offset:2px}
@media(max-width:760px){.sitehead .brand img{width:104px;height:auto}.catalog-tools{padding:16px;gap:12px}}
@media(prefers-reduced-motion:no-preference){.enter-block{animation:block-enter .62s cubic-bezier(.18,.74,.35,1) both}.hx-copy{animation:block-enter .72s both}.hx1 .hx-hero figure,.hx2 .hx-pair figure,.hx3 .hx-display{overflow:hidden}.hx1 .hx-hero figure>img{animation:metal-pan 6s ease-in-out infinite alternate}.hx2 .hx-pair figure>img{animation:metal-pan 7s ease-in-out infinite alternate-reverse}.hx2 .hx-pair figure+figure>img{animation-delay:-3s}.hx3 .hx-display img{animation:metal-pan 5s ease-in-out infinite alternate}.button:active,.hx-link:active,.topcta:active{transform:scale(.97)}@keyframes metal-pan{from{transform:scale(1)}to{transform:scale(1.065) translateY(-.6%)}}@keyframes block-enter{from{opacity:.25;translate:0 18px}to{opacity:1;translate:0 0}}}
