:root { --paper:#f8f7f4; --surface:#ffffff; --surface-soft:#f0f2ec; --ink:#18241c; --muted:#637067; --line:#d9ded7; --accent:#a8241e; --accent-dark:#7f1915; --radius:12px; --display:"Playfair Display",Georgia,serif; --body:"DM Sans",Arial,sans-serif; --mono:"DM Mono",monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:84px; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); -webkit-font-smoothing:antialiased; } img { display:block; max-width:100%; } a { color:inherit; } button,input { font:inherit; } button { cursor:pointer; } .material-symbols-outlined { font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; line-height:1; } .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.promo-bar { min-height:30px; display:flex; align-items:center; justify-content:center; gap:24px; padding:7px 20px; background:var(--accent); color:#fff; font:700 .64rem/1 var(--body); letter-spacing:.05em; text-transform:uppercase; }.promo-bar span:first-child { display:flex; align-items:center; gap:6px; }.promo-bar .material-symbols-outlined { font-size:.9rem; }
.site-header { position:sticky; top:0; z-index:20; height:68px; display:flex; align-items:center; gap:36px; padding:0 max(24px,calc((100vw - 1360px)/2)); background:rgba(248,247,244,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }.brand-lockup { display:grid; gap:3px; text-decoration:none; white-space:nowrap; }.brand-lockup span { color:var(--accent); font:500 .52rem/1 var(--mono); letter-spacing:.13em; text-transform:uppercase; }.brand-lockup strong { font:700 1.55rem/.9 var(--display); }.desktop-nav { display:flex; align-items:center; gap:clamp(16px,2.2vw,34px); margin-left:auto; }.desktop-nav a { text-decoration:none; font:700 .65rem/1 var(--body); letter-spacing:.035em; text-transform:uppercase; }.desktop-nav a:hover { color:var(--accent); }.header-actions { display:flex; align-items:center; gap:18px; }.header-actions>a:first-child { display:grid; place-items:center; }.header-order { padding:10px 13px; border:1px solid var(--ink); border-radius:var(--radius); color:var(--ink); text-decoration:none; font:700 .61rem/1 var(--body); letter-spacing:.04em; text-transform:uppercase; }.header-order:hover { background:var(--ink); color:#fff; }
.hero { position:relative; min-height:500px; overflow:hidden; isolation:isolate; }.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 54%; filter:brightness(.54) saturate(.78); }.hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,23,17,.96) 0%,rgba(16,23,17,.78) 38%,rgba(16,23,17,.1) 78%); }.hero-copy { position:relative; z-index:1; max-width:630px; padding:clamp(72px,9vw,118px) max(24px,calc((100vw - 1360px)/2)); color:#fff; }.hero h1 { margin:0; font:700 clamp(2.8rem,5.1vw,5.1rem)/.98 var(--display); letter-spacing:-.055em; }.hero h1 em { display:inline-block; padding-bottom:5px; color:#e8b351; font-weight:600; line-height:1.1; }.hero-copy>p { max-width:490px; margin:21px 0 27px; color:#f4f1ea; font-size:1rem; line-height:1.6; }.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 17px; border:1px solid transparent; border-radius:var(--radius); text-decoration:none; font:700 .66rem/1 var(--body); letter-spacing:.045em; text-transform:uppercase; }.button span { margin-left:8px; }.button-primary { background:var(--accent); color:#fff; }.button-primary:hover { background:var(--accent-dark); }.button-quiet { border-color:rgba(255,255,255,.78); color:#fff; }.button-quiet:hover { background:#fff; color:var(--ink); }
.section { width:min(1360px,calc(100% - 48px)); margin:0 auto; padding:76px 0; }.section-heading { max-width:630px; margin-bottom:28px; }.section-heading h2,.catalogue-head h2,.story-copy h2,.newsletter h2 { margin:0; font:700 clamp(1.85rem,3vw,2.8rem)/1.08 var(--display); letter-spacing:-.04em; }.section-heading p,.catalogue-head p,.story-copy p { margin:10px 0 0; color:var(--muted); font-size:.93rem; line-height:1.6; }.section-heading-row { max-width:none; display:flex; justify-content:space-between; align-items:end; gap:24px; }.text-link { flex:0 0 auto; color:var(--accent); font:700 .65rem/1 var(--body); letter-spacing:.055em; text-decoration:none; text-transform:uppercase; }.text-link span { margin-left:5px; }
.category-section { padding-bottom:68px; }.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.collection-card { position:relative; min-height:155px; overflow:hidden; display:flex; align-items:end; padding:17px; border:1px solid var(--line); border-radius:var(--radius); background:#253328; color:#fff; text-align:left; }.collection-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.62) saturate(.82); }.collection-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(12,22,15,.78),rgba(12,22,15,.05)); }.collection-card span { position:relative; z-index:1; font:700 1.15rem/1 var(--display); }.collection-card.is-active { outline:2px solid var(--accent); outline-offset:3px; }
.featured-section { padding-top:0; }.featured-grid,.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.product-card { position:relative; min-width:0; padding:9px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); cursor:pointer; }.product-card:focus-visible,.collection-card:focus-visible,a:focus-visible,input:focus-visible,button:focus-visible { outline:3px solid #d9865e; outline-offset:3px; }.product-photo { position:relative; overflow:hidden; aspect-ratio:1/1; border-radius:calc(var(--radius) - 4px); background:var(--surface-soft); }.product-photo img { width:100%; height:100%; object-fit:cover; }.product-placeholder { width:100%; height:100%; display:grid; place-items:center; gap:5px; color:var(--muted); font-size:.72rem; }.order-btn { position:absolute; right:8px; bottom:8px; width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--accent); color:#fff; text-decoration:none; }.order-btn:hover { background:var(--accent-dark); }.stock-badge { position:absolute; top:8px; left:8px; padding:5px 7px; border-radius:6px; background:var(--ink); color:#fff; font:700 .55rem/1 var(--body); letter-spacing:.04em; text-transform:uppercase; }.product-info { padding:11px 3px 4px; }.product-name { margin:0; font:700 .88rem/1.25 var(--body); }.product-brand,.product-category,.product-unit { margin:5px 0 0; color:var(--muted); font-size:.68rem; line-height:1.35; }.product-category { color:var(--accent); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }.product-price { margin:10px 0 0; color:var(--ink); font:700 .77rem/1 var(--body); }.is-out-of-stock { opacity:.62; }.product-skeleton { min-height:300px; border-radius:var(--radius); background:linear-gradient(110deg,#eaeee8 30%,#f6f7f4 45%,#eaeee8 60%); background-size:200% 100%; animation:skeleton 1.4s linear infinite; }
.service-strip { width:min(1360px,calc(100% - 48px)); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-soft); }.service-strip>div { min-height:126px; padding:25px 28px; border-right:1px solid var(--line); }.service-strip>div:last-child { border:0; }.service-strip .material-symbols-outlined { color:var(--accent); }.service-strip h3 { margin:11px 0 5px; font:700 .9rem/1.1 var(--body); }.service-strip p { margin:0; color:var(--muted); font-size:.74rem; line-height:1.5; }
.story-section { width:min(1360px,calc(100% - 48px)); margin:76px auto; display:grid; grid-template-columns:1.08fr .92fr; align-items:stretch; overflow:hidden; border-radius:var(--radius); background:#e8ece5; }.story-section>img { width:100%; height:100%; min-height:320px; object-fit:cover; }.story-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:clamp(34px,5vw,72px); }.story-copy p { max-width:430px; margin:17px 0 24px; }.products-section { border-top:1px solid var(--line); }.catalogue-head { display:flex; align-items:end; justify-content:space-between; gap:26px; margin-bottom:28px; }.search-field { width:min(100%,340px); position:relative; display:block; }.search-field .material-symbols-outlined { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--muted); font-size:1.05rem; }.search-field input { width:100%; height:45px; padding:0 13px 0 40px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); color:var(--ink); }.products-header { display:flex; justify-content:flex-end; margin-bottom:12px; }.grid-count { color:var(--muted); font:500 .66rem/1 var(--mono); }
.inspiration-section { border-top:1px solid var(--line); }.inspiration-grid { display:grid; grid-template-columns:1.18fr 1fr 1fr; gap:16px; }.inspiration-grid article { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }.inspiration-grid img { width:100%; aspect-ratio:16/9; object-fit:cover; }.inspiration-grid h3 { margin:14px 15px 5px; font:700 1.08rem/1.15 var(--display); }.inspiration-grid p { margin:0 15px 18px; color:var(--muted); font-size:.74rem; line-height:1.5; }
.newsletter { width:min(1360px,calc(100% - 48px)); margin:0 auto 50px; display:flex; align-items:center; justify-content:space-between; gap:34px; padding:34px; border-radius:var(--radius); background:#203126; color:#fff; }.newsletter>div { position:relative; padding-left:43px; }.newsletter .material-symbols-outlined { position:absolute; left:0; top:3px; color:#d9b95f; font-size:1.7rem; }.newsletter h2 { font-size:1.75rem; }.newsletter p { margin:7px 0 0; color:#d8dfd8; font-size:.8rem; }.newsletter-form { width:min(100%,400px); }.newsletter-form label { display:block; margin-bottom:7px; color:#d8dfd8; font-size:.68rem; }.newsletter-form>div { display:flex; }.newsletter-form input { min-width:0; flex:1; height:43px; padding:0 12px; border:1px solid #8c9a8d; border-radius:var(--radius) 0 0 var(--radius); background:transparent; color:#fff; }.newsletter-form input::placeholder { color:#c2cbc3; }.newsletter-form button { padding:0 16px; border:0; border-radius:0 var(--radius) var(--radius) 0; background:var(--accent); color:#fff; font:700 .64rem/1 var(--body); letter-spacing:.05em; text-transform:uppercase; }
.site-footer { display:grid; grid-template-columns:1.4fr 1fr 1.3fr; gap:36px; padding:48px max(24px,calc((100vw - 1360px)/2)) 27px; background:#18241c; color:#eff2ee; }.site-footer strong { font:700 1.4rem/1 var(--display); }.site-footer h2 { margin:0 0 11px; color:#d9b95f; font:700 .62rem/1 var(--body); letter-spacing:.06em; text-transform:uppercase; }.site-footer p,.site-footer a,.site-footer span { display:block; margin:8px 0; color:#c5cec6; font-size:.74rem; line-height:1.5; text-decoration:none; }.site-footer a:hover { color:#fff; }.site-footer small { grid-column:1/-1; margin-top:8px; padding-top:20px; border-top:1px solid #3a4a3d; color:#a9b5aa; font-size:.64rem; }
.product-dialog { width:min(820px,calc(100vw - 32px)); padding:0; border:0; border-radius:var(--radius); background:var(--surface); color:var(--ink); }.product-dialog::backdrop { background:rgba(12,20,14,.66); }.product-dialog__surface { position:relative; display:grid; grid-template-columns:1fr 1fr; }.product-dialog__close { position:absolute; z-index:2; top:12px; right:12px; width:36px; height:36px; border:0; border-radius:50%; background:#fff; color:var(--ink); }.product-dialog__visual { min-height:360px; background:var(--surface-soft); }.product-dialog__visual .product-photo { height:100%; border-radius:var(--radius) 0 0 var(--radius); }.product-dialog__content { padding:45px 34px 34px; }.product-dialog__content p { color:var(--muted); font-size:.82rem; }.product-dialog__content h2 { margin:9px 0 17px; font:700 2rem/1.05 var(--display); }.product-dialog__content a { display:inline-flex; margin-top:17px; padding:12px 14px; border-radius:var(--radius); background:var(--accent); color:#fff; text-decoration:none; font:700 .65rem/1 var(--body); letter-spacing:.04em; text-transform:uppercase; }.detail-flying-image { position:fixed; z-index:100; overflow:hidden; pointer-events:none; border-radius:var(--radius); }
@media (hover:hover) and (pointer:fine) { .collection-card img,.product-photo img,.inspiration-grid img,.story-section>img { transition:transform 180ms ease,filter 180ms ease; }.collection-card:hover img,.product-card:hover .product-photo img,.inspiration-grid article:hover img,.story-section:hover>img { transform:scale(1.04); filter:saturate(1.08); }.button,.header-order,.order-btn,.collection-card,.product-card { transition:transform 160ms ease,background-color 160ms ease,border-color 160ms ease; }.button:hover,.header-order:hover { transform:translateY(-1px); }.collection-card:hover,.product-card:hover { border-color:#acb8aa; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.001ms!important; transition-duration:.001ms!important; } }
@media (max-width:800px) { .promo-bar span:last-child,.desktop-nav { display:none; }.site-header { height:61px; padding:0 18px; }.header-order { display:none; }.header-actions { margin-left:auto; }.hero { min-height:470px; }.hero-copy { padding:65px 22px; }.hero h1 { font-size:2.85rem; }.section,.service-strip,.story-section,.newsletter { width:calc(100% - 36px); }.section { padding:54px 0; }.section-heading-row,.catalogue-head,.newsletter { align-items:flex-start; flex-direction:column; }.category-grid { display:flex; overflow-x:auto; padding:3px; scroll-snap-type:x mandatory; }.collection-card { min-width:218px; scroll-snap-align:start; }.featured-grid,.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.service-strip { grid-template-columns:1fr; }.service-strip>div { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }.service-strip>div:last-child { border-bottom:0; }.story-section { grid-template-columns:1fr; margin:54px auto; }.story-section>img { min-height:235px; }.catalogue-head { margin-bottom:21px; }.search-field { width:100%; }.inspiration-grid { grid-template-columns:1fr; }.newsletter { padding:28px 22px; }.newsletter-form { width:100%; }.site-footer { grid-template-columns:1fr 1fr; padding:38px 18px 32px; }.site-footer>div:first-child { grid-column:1/-1; }.product-dialog__surface { grid-template-columns:1fr; }.product-dialog__visual { min-height:250px; }.product-dialog__visual .product-photo { border-radius:var(--radius) var(--radius) 0 0; }.product-dialog__content { padding:28px 22px; } }
@keyframes skeleton { to { background-position:-200% 0; } }
@media (prefers-color-scheme:dark) { :root { --paper:#172019; --surface:#202b22; --surface-soft:#27342a; --ink:#edf2ec; --muted:#bdc8bd; --line:#3b4a3d; }.site-header { background:rgba(23,32,25,.94); }.hero-scrim { background:linear-gradient(90deg,rgba(8,13,10,.96),rgba(8,13,10,.78) 42%,rgba(8,13,10,.16)); }.product-skeleton { background:linear-gradient(110deg,#27342a 30%,#334137 45%,#27342a 60%); }.service-strip,.story-section { background:#27342a; }.newsletter { background:#101711; }.site-footer { background:#101711; }.header-order { border-color:#edf2ec; }.collection-card.is-active { outline-color:#df765f; } }
