/* ONYX — visual restyling; catalogue data and interactions are unchanged. */
:root{--ink:#f3f3f3;--muted:#a9a9a9;--ground:#111111;--panel:#1a1a1a;--rule:#3d3d3d;--paper:#e9e9e9}
html{scroll-padding-top:105px;color-scheme:dark}
body{background:#050505;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:25;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ffffff' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
main,header,.top,.institutional-nav,footer{max-width:1440px;margin-left:auto;margin-right:auto}
main{width:calc(100% - 80px);border:1px solid var(--rule);border-top:0}
.top{width:calc(100% - 80px);background:#090909;padding:14px 34px;font-size:9px;letter-spacing:1.7px;color:#bcbcbc;border-left:1px solid var(--rule);border-right:1px solid var(--rule)}
header{width:calc(100% - 80px);height:100px;padding:0 34px;background:#121311f5;backdrop-filter:blur(14px);border:1px solid var(--rule);color:var(--ink)}
.logo img{filter:invert(1);mix-blend-mode:screen;width:185px;height:48px}
header nav{gap:30px;font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:1px}
header nav a{padding:12px 0;border-bottom:1px solid transparent}
header nav a:hover{border-color:var(--ink)}
header button{border:1px solid #797979;padding:14px 18px;color:var(--ink);font-size:11px;background:transparent}
header button:hover{background:var(--ink);color:#111}
header b{border-radius:0;background:var(--ink);color:#111;padding:4px 7px;margin-left:8px}
.institutional-nav{width:calc(100% - 80px);background:#191919;color:#b0b0b0;border:1px solid var(--rule);border-top:0;justify-content:flex-end;padding:13px 34px;gap:35px;font-size:9px;letter-spacing:1px;text-transform:uppercase}
.institutional-nav a:hover{color:#fff}
.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#bbbbbb}
h1,h2,h3{font-weight:800;text-transform:uppercase}
h2{font-size:clamp(32px,3.8vw,58px);letter-spacing:-1.7px;line-height:1.05}
h3{letter-spacing:-.6px}
.hero{min-height:750px;display:grid;grid-template-columns:1.2fr 1fr;position:relative;background:radial-gradient(ellipse at top left,#292929 0,#121212 55%);padding:35px 34px 45px;gap:0;isolation:isolate}
.hero-photo{grid-column:1;grid-row:1;margin:18px 0 0 0;border:1px solid #575757;position:relative;min-height:625px;background:#2a2a2a;overflow:visible}
.hero-photo::before{content:"";position:absolute;inset:15px;border:1px solid #d4d6cf33;z-index:1;pointer-events:none}
.hero-photo::after{content:"↓";position:absolute;right:-125px;top:20px;color:#dedede;font-size:108px;font-weight:200;line-height:1}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1) brightness(.72);z-index:-1}
.hero-photo>div{bottom:0;padding:26px;font-size:8px;letter-spacing:1.6px;line-height:1.8;background:linear-gradient(transparent,#050505c9);color:#eee}
.hero-copy{grid-column:2;grid-row:1;padding:30px 0 12px 40px;position:relative;z-index:2;align-self:end}
.hero-copy>.eyebrow{max-width:270px;margin-left:15px;line-height:1.9}
h1{font-size:clamp(48px,5.15vw,81px);letter-spacing:-2px;line-height:.99;margin:40px 0 30px -150px;width:calc(100% + 150px);font-weight:900;text-shadow:0 2px 16px #0003}
h1 em{color:transparent;-webkit-text-stroke:1.25px #f3f3f3;font-style:normal;font-weight:900;display:inline-block}
.hero p{font-size:13px;line-height:1.8;max-width:335px;margin-left:auto;color:#c5c5c5}
.cta{border:1px solid #eaeaea;background:#ededed;color:#121212;padding:18px 22px;font-size:10px;text-transform:uppercase;letter-spacing:.7px;transition:background .2s,color .2s}
.cta:hover{background:transparent;color:var(--ink)}
.hero .cta{margin-top:20px;margin-left:auto;display:flex;max-width:335px}
.hero-foot{border-color:#5b5b5b;font-size:8px;margin-top:38px;padding-top:18px;color:#b1b1b1}
.intro,.catalog,.process,#contacto,.institutional{padding:80px 34px;border-top:1px solid var(--rule);background:var(--ground)}
.intro{background:#181818}
.intro>h2{max-width:760px;margin:24px 0 45px}
.sectors{gap:24px}
.sectors>a{height:345px;background:#252525;border:1px solid #575757;grid-template-columns:45% 55%;position:relative}
.sectors img{height:343px;filter:grayscale(1);object-fit:cover}
.sectors a>div{padding:25px 20px;z-index:1}
.sectors small{font-size:8px;letter-spacing:1.5px;color:#bbbbbb;line-height:1.7;display:block}
.sectors h3{font-size:clamp(24px,3vw,40px);letter-spacing:-1px;margin:22px 0;color:var(--ink)}
.sectors h3 span{font-size:28px;font-weight:400}
.sectors p{font-size:12px;color:#b7b7b7;line-height:1.8}
.sectors>a:hover{background:#323232}
.catalog{background:#111111}
.catalog-head{gap:24px}
.catalog-head h2{margin-bottom:40px}
.search{border:1px solid #585858;padding:14px 15px;min-width:285px;color:#c5c5c5;margin-bottom:18px}
.search input{color:#f3f3f3;font-size:12px;width:100%;outline:none}
.search:focus-within{border-color:#f0f0f0}
.search input::placeholder{color:#9c9c9c}
.tabs{border-color:#565656;gap:30px}
.tabs button{color:#979797;text-transform:uppercase;font-size:24px;font-weight:800;letter-spacing:-.5px;padding:18px 0}
.tabs button.active{color:#fff;border-color:#fff}
.tabs small{font-size:10px;vertical-align:super}
.tabs a{font-size:10px;text-transform:uppercase;letter-spacing:.5px}
.catalog-body{grid-template-columns:190px 1fr;gap:30px;padding-top:30px}
aside{border-color:var(--rule)}
aside button{color:#b9b9b9;border-color:#333333;font-size:12px}
aside button span{color:#8a8a8a}
aside button.active{color:#fff}
aside button.active::before{content:"→ ";font-weight:400}
#resultcount{color:#a8a8a8;font-size:10px;letter-spacing:.5px}
#grid{gap:34px 18px}
.product>button{border:1px solid #757575;position:relative;background:#e8e8e8}
.product>button::after{content:"↗";position:absolute;right:8px;top:8px;color:#fff;background:#111a;width:25px;height:25px;display:grid;place-items:center;font-size:15px;font-weight:400;pointer-events:none}
.product small{color:#b2b2b2;font-size:8px;letter-spacing:1.1px}
.product h3{font-size:13px;line-height:1.5;letter-spacing:0;min-height:40px;color:#f3f3f3}
.actions{border-color:#4a4a4a;padding-bottom:16px;gap:8px}
.actions button{color:#d1d1d1;font-size:9px;text-align:left;line-height:1.6}
.actions button:hover{color:#fff}
.actions button:last-child{color:#fff}
.note{color:#a8a8a8;font-size:10px}
.personalization{padding:32px;gap:0;background:#1b1b1b;border-color:var(--rule)}
.personalization-photo{border:1px solid #555555;min-height:715px}
.personalization-photo img{object-fit:contain}
.personalization-photo>span{font-size:8px;padding:25px;letter-spacing:1.4px}
.personalization-copy{padding:50px 0 50px 45px}
.personalization-copy h2{font-size:clamp(40px,4.7vw,70px);font-weight:900;line-height:1.03;color:transparent;-webkit-text-stroke:1px #f2f2f2}
.personalization-copy p{color:#c0c0c0;font-size:13px}
.personalization-copy .personalization-lead{color:#f4f4f4;font-size:19px;line-height:1.6}
.personalization-copy>.eyebrow{color:#c0c0c0}
.personalization-copy small{color:#b1b1b1}
.personalization-points span{border-color:#525252;color:#c9c9c9;font-size:9px}
.company{background:#151515;gap:35px 50px}
.company-heading h2{font-size:clamp(32px,4vw,60px);margin-top:24px}
.company-sign{color:#f1f1f1;letter-spacing:2px;font-size:11px}
.company-sign span{color:#ababab;font-size:8px}
.company-copy p{color:#bbbbbb;font-size:13px}
.company-copy .lead{color:#f2f2f2;font-size:21px;line-height:1.6}
.company-link{font-size:11px;color:#f3f3f3}
.company-values{gap:30px}
.company-values article{border-color:#4e4e4e}
.company-values span{color:#b6b6b6;font-size:8px}
.company-values h3{color:#f4f4f4;font-size:18px;line-height:1.4;letter-spacing:-.4px}
.company-values p{color:#bcbcbc;font-size:12px}
.shop-gallery{gap:24px;margin-top:25px}
.shop-gallery-heading h3{font-size:32px;line-height:1.1;letter-spacing:-.7px;color:#f3f3f3}
.shop-gallery-heading>p{color:#bbbbbb;font-size:11px}
.shop-gallery-heading a{color:#efefef}
.shop-gallery figure>a{border:1px solid #737373;background:#272727}
.shop-gallery img{filter:saturate(.8);height:550px}
.shop-gallery figcaption{color:#afafaf;font-size:10px;border-bottom:1px solid #4a4a4a}
.shop-gallery figcaption span{color:#eaeaea;font-size:8px}
.brands{background:#1a1a1a}
.institutional-head>p{color:#bebebe;font-size:13px}
.brand-grid{gap:1px;background:#545454;border:1px solid #545454;grid-template-columns:repeat(4,1fr)}
.brand-card{border:0;background:#f3f3f3;color:#1c1c1c;min-height:245px;padding:28px 18px}
.brand-card:hover{background:#fff}
.brand-type{color:#585858;font-size:10px}
.brand-action{color:#272727;font-size:9px;text-transform:uppercase;letter-spacing:.4px}
.brand-help{background:#282828;color:#f3f3f3}
.brand-help:hover{background:#393939}
.brand-help .brand-type,.brand-help .brand-action{color:#c8c8c8}
.brand-help .brand-name{color:transparent;-webkit-text-stroke:1px #f3f3f3;font-size:27px;font-weight:800;text-transform:uppercase}
.institutional-note{color:#aeaeae;font-size:9px}
.process{background:#131313}
.process article{border-color:#696969}
.process small{color:#b2b2b2;font-size:10px}
.process h3{color:#f3f3f3;font-size:20px;line-height:1.3}
.process p{color:#c4c4c4;font-size:13px}
#contacto{background:#111111;position:relative;padding-top:90px;padding-bottom:85px}
#contacto::after{content:"↗";position:absolute;right:40px;top:70px;font-size:110px;font-weight:400;color:#f3f3f3}
#contacto h2{font-size:clamp(42px,5.6vw,80px);line-height:1;max-width:900px;letter-spacing:-2px;font-weight:900}
.contact-details{border-top:1px solid #696969;padding-top:28px;gap:28px;font-size:11px;color:#d7d7d7}
footer{width:calc(100% - 80px);border:1px solid var(--rule);border-top:0;background:#121212;padding:30px 34px;font-size:9px;color:#b7b7b7}
footer .logo img{mix-blend-mode:screen;filter:invert(1);width:150px;height:42px}
dialog{color:#f3f3f3;background:#1c1c1c;border:1px solid #8b8b8b;box-shadow:0 30px 100px #000b}
dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}
.close{color:#f7f7f7;background:#262626;border:1px solid #8a8a8a;font-size:15px;z-index:2}
#detailbody h2,#basket h2{color:#f4f4f4;font-size:28px;font-weight:800;line-height:1.15}
#detailbody pre{color:#cecece;font:12px/1.8 Arial,Helvetica,sans-serif}
dialog p{color:#c3c3c3}
dialog .cta{background:#f3f3f3;color:#1c1c1c;border-color:#f3f3f3}
dialog .cta:hover{background:#dfdfdf}
#detailbody>img{background:#c2c2c2}
#detailbody>div>a:not(.cta){font-size:10px;display:inline-block;margin-top:12px;color:#f4f4f4}
#basket label{color:#dddddd}textarea,.item input{background:#181818;color:#f7f7f7;border-color:#747474}
.item{border-color:#555555;color:#f0f0f0}.item button{color:#f0f0f0}.item small{color:#b4b4b4}
#toast{background:#f4f4f4;color:#1d1d1d;border:1px solid #d6d6d6;font-size:12px}
@media(min-width:1450px){main>section{padding-left:45px;padding-right:45px}.hero{padding:35px 45px 45px}.personalization{padding:35px}.personalization-copy{padding-right:15px}}
@media(max-width:1050px){main,header,.top,.institutional-nav,footer{width:calc(100% - 40px)}header{padding:0 24px}.hero{padding:26px;min-height:670px;grid-template-columns:1fr 1fr}.hero-photo{min-height:570px}.hero-copy{padding-left:26px}h1{font-size:clamp(44px,5.7vw,64px);margin-left:-100px;width:calc(100% + 100px)}.hero-photo::after{right:-95px;font-size:88px}.intro,.catalog,.process,#contacto,.institutional{padding:65px 26px}.catalog-body{grid-template-columns:155px 1fr;gap:22px}.personalization{padding:26px}.personalization-copy{padding:35px 0 35px 26px}.personalization-photo{min-height:710px}.company{gap:30px}.brand-grid{grid-template-columns:repeat(4,1fr)}.brand-logo img{max-width:130px}.brand-logo--libus{padding:15px}.brand-logo--libus img{max-width:100%}.brand-logo--ombu img{max-width:95px}.brand-card{padding:20px 12px}.sectors>a{grid-template-columns:42% 58%;height:310px}.sectors img{height:308px}.sectors a>div{padding:20px 15px}.sectors h3{font-size:29px}#contacto::after{font-size:85px}}
@media(max-width:760px){header nav{gap:18px;font-size:10px}.logo img{width:155px;height:44px}.hero{grid-template-columns:1fr;min-height:0;padding:26px}.hero-photo{grid-column:1;grid-row:1;min-height:530px;margin:0 40px 0 0}.hero-photo::after{right:-44px;top:10px;font-size:70px}.hero-copy{grid-column:1;grid-row:2;padding:0;align-self:auto}.hero-copy>.eyebrow{margin:28px 0 0}.hero h1{position:relative;margin:-125px 0 30px 30px;width:calc(100% - 30px);font-size:clamp(44px,7.5vw,64px);line-height:1.03;z-index:3}.hero-copy p{max-width:420px;margin-left:30px}.hero .cta{margin-left:30px;max-width:340px}.hero-foot{margin-top:35px}.catalog-head{display:block}.search{max-width:380px;min-width:0;margin-bottom:25px}.brand-grid{grid-template-columns:repeat(2,1fr)}.company-copy .lead{font-size:18px}.institutional-head{gap:25px}.shop-gallery img{height:440px}.personalization{grid-template-columns:1fr}.personalization-photo{min-height:560px}.personalization-copy{padding:38px 12px 15px}.personalization-copy h2{font-size:58px}.personalization-copy p{max-width:550px}.company-values h3{font-size:16px}}
@media(max-width:600px){html{scroll-padding-top:85px}main,header,.top,.institutional-nav,footer{width:calc(100% - 24px)}.top{padding:11px 16px;font-size:7px;letter-spacing:.8px}header{height:82px;padding:0 15px;flex-wrap:nowrap;gap:12px}header .logo img{width:115px;height:35px}header nav{gap:12px;font-size:9px;letter-spacing:0}header button{font-size:8px;padding:10px 8px;white-space:nowrap}header b{margin-left:3px;padding:2px 4px}header nav a:last-child{display:none}.institutional-nav{padding:12px 14px;gap:12px;justify-content:space-between;font-size:7px;letter-spacing:.3px;flex-wrap:nowrap}.institutional-nav a:last-child{display:inline}.hero{padding:20px 18px 30px}.hero-photo{min-height:410px;margin-right:20px}.hero-photo::before{inset:10px}.hero-photo::after{font-size:55px;right:-28px;top:5px}.hero-photo>div{font-size:7px;padding:20px;bottom:95px}.hero-copy>.eyebrow{margin-top:24px;font-size:7px}.hero h1{margin:-90px 0 25px 7px;width:calc(100% - 7px);font-size:clamp(36px,9.2vw,54px);letter-spacing:-1.3px;line-height:1.05}.hero h1 em{-webkit-text-stroke:1px #fff}.hero-copy p{font-size:12px;margin:0 0 0 7px}.hero .cta{margin:23px 0 0 7px;max-width:100%;font-size:9px}.hero-foot{font-size:7px;margin-top:30px}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro,.catalog,.process,#contacto,.institutional{padding:50px 18px}h2{font-size:32px;letter-spacing:-1px;line-height:1.08;margin:20px 0 32px}.intro>h2{margin-bottom:30px}.sectors{gap:18px}.sectors>a{height:260px;grid-template-columns:44% 56%}.sectors img{height:258px}.sectors a>div{padding:18px 14px}.sectors h3{font-size:26px;letter-spacing:-.8px;margin:22px 0 18px}.sectors h3 span{font-size:22px}.sectors small{font-size:7px;letter-spacing:1px}.sectors p{font-size:10px}.search{padding:12px;margin-bottom:20px;max-width:100%}.tabs{gap:24px}.tabs button{font-size:21px;padding:15px 0}.tabs a{font-size:8px;letter-spacing:0}.tabs small{font-size:8px}.catalog-body{display:block;padding-top:22px}aside{padding:0;border:0;margin-bottom:22px}aside button{padding:9px 12px;background:#242424;border:1px solid #4e4e4e;font-size:10px}aside button.active{background:#eeeeee;color:#1d1d1d}aside button.active::before{content:""}#grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.product h3{font-size:11px;line-height:1.6;min-height:38px}.product small{font-size:7px;letter-spacing:.5px;margin-top:13px}.actions{gap:10px;padding-bottom:13px}.actions button{font-size:8px}.note{font-size:9px;line-height:1.8}.personalization{padding:18px;gap:0}.personalization-photo{min-height:450px}.personalization-photo>span{font-size:7px;padding:20px;letter-spacing:1px}.personalization-copy{padding:30px 2px 10px}.personalization-copy h2{font-size:48px;margin:22px 0}.personalization-copy .personalization-lead{font-size:18px}.personalization-copy p{font-size:12px}.personalization-copy small{font-size:9px}.personalization-points{gap:12px;margin-bottom:25px}.personalization-points span{font-size:8px}.personalization-copy .cta{padding:17px;font-size:9px}.company{grid-template-columns:1fr;gap:28px}.company-heading h2{font-size:36px}.company-sign{margin-top:25px}.company-copy{padding-top:0}.company-copy .lead{font-size:19px}.company-copy p{font-size:12px}.company-values{grid-template-columns:1fr;gap:24px}.company-values h3{font-size:18px}.company-values p{font-size:12px;max-width:100%}.shop-gallery{grid-template-columns:1fr;gap:22px}.shop-gallery-heading{display:block}.shop-gallery-heading h3{font-size:27px}.shop-gallery-heading>p{font-size:10px;margin-top:20px}.shop-gallery img{height:430px}.shop-gallery figcaption{font-size:9px}.shop-gallery figcaption span{font-size:7px}.institutional-head{display:block;margin-bottom:30px}.institutional-head>p{font-size:12px;max-width:100%}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-card{min-height:220px;padding:20px 10px}.brand-logo img{max-width:125px;max-height:75px}.brand-logo--libus{padding:12px;height:80px}.brand-logo--libus img{max-width:100%}.brand-logo--ombu img{max-width:95px;max-height:none}.brand-type{font-size:8px}.brand-action{font-size:8px;margin-top:25px}.brand-help .brand-name{font-size:22px}.institutional-note{font-size:8px}.process>div{grid-template-columns:1fr;gap:27px}.process h3{font-size:19px}.process p{font-size:12px}.process small{font-size:9px}#contacto h2{font-size:43px;letter-spacing:-1.5px;max-width:calc(100% - 25px)}#contacto::after{top:35px;right:15px;font-size:45px}#contacto .cta{font-size:9px;padding:17px;gap:20px}.contact-details{font-size:10px;gap:18px;margin-top:35px;padding-top:25px}footer{padding:25px 18px;font-size:8px;gap:20px}footer .logo img{width:125px;height:35px}dialog{width:94%;padding:40px 18px 25px}#detailbody{grid-template-columns:1fr;gap:25px}#detailbody h2,#basket h2{font-size:25px}#detailbody pre{font-size:11px}dialog p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.hero-photo>img{z-index:0}.hero-photo>div{z-index:2}.hero-photo::after{z-index:2}
@media(max-width:760px){.hero-copy{display:flex;flex-direction:column}.hero-copy h1{order:0}.hero-copy>.eyebrow{order:1;margin:0 0 20px 30px}.hero-copy>p{order:2}.hero-copy>.cta{order:3}.hero-copy>.hero-foot{order:4}}@media(max-width:600px){.hero-copy>.eyebrow{margin:0 0 20px 7px}}
