/* SPN interface layer. Bootstrap JS components retain SPN's own visual system. */
:root{--ease-out:cubic-bezier(.18,.78,.22,1);--glass:rgba(255,255,255,.88)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{transition:background .4s,box-shadow .4s}
.header-inner{position:relative;transition:height .4s,padding .4s,width .4s,border-radius .4s,background .4s,box-shadow .4s;transform:translateZ(0)}
.header.scrolled{background:transparent;box-shadow:none;border-color:transparent;pointer-events:none}
.header.scrolled .header-inner{height:76px;top:12px;width:calc(100% - 80px);border:1px solid #ffffffb8;border-radius:16px;padding:0 24px;background:var(--glass);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);box-shadow:0 12px 40px #08283f12;pointer-events:auto}
.header.scrolled .brand{width:205px}
.desktop-nav{position:relative;isolation:isolate;gap:30px}
.desktop-nav a{z-index:1;transition:color .25s}
.desktop-nav a:after{display:none}
.nav-highlight{position:absolute;left:0;top:calc(50% - 17px);height:34px;border-radius:9px;background:#0b3a6e08;border:1px solid #0b3a6e08;z-index:0;pointer-events:none;opacity:0;transition:transform .35s var(--ease-out),width .35s var(--ease-out),opacity .2s}
.header-cta{border:0;gap:20px;padding-left:15px}
.header-cta-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #0b3a6e24;border-radius:50%;transition:background .25s,color .25s,transform .3s}
.header-cta:hover .header-cta-icon{background:var(--navy);color:white;transform:rotate(5deg)}
.header-cta:hover svg{transform:none}
.button{position:relative;isolation:isolate;overflow:hidden;border-radius:7px;transform:translate(var(--magnet-x,0),var(--magnet-y,0));transition:background .3s,color .3s,transform .25s var(--ease-out),box-shadow .3s}
.button:before{content:'';position:absolute;inset:0;background:radial-gradient(140px circle at var(--light-x,50%) var(--light-y,50%),#ffffff42,transparent 75%);opacity:0;transition:opacity .3s;z-index:0;pointer-events:none}
.button:hover:before{opacity:1}
.button>span,.button>svg{position:relative;z-index:1}
.button.primary:hover{box-shadow:0 10px 24px #0b3a6e20}
.button.gold:hover{box-shadow:0 10px 30px #e7b65328}
.button>svg{border:1px solid currentColor;border-radius:50%;padding:4px;width:28px;height:28px;opacity:.8}
.hero>.hero-image{transform:translate3d(var(--hero-pan-x,0px),calc(var(--hero-scroll,0px) + var(--hero-pan-y,0px)),0) scale(1.055);object-position:50% 57%}
.hero-atmosphere{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-content{z-index:2}
.hero-content>.eyebrow{display:inline-flex;border:1px solid #ffffff38;padding:10px 14px;border-radius:30px;background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero-content>.eyebrow:before{content:'';width:4px;height:4px;border-radius:50%;background:#ecc879;box-shadow:0 0 12px #ecc87970}
.hero-line{display:block;clip-path:inset(0 -3% 0 -3%);animation:headline-unveil 1.3s var(--ease-out) both}
.hero-line:last-child{animation-delay:.16s}
@keyframes headline-unveil{from{clip-path:inset(0 -3% 100% -3%);transform:translateY(17px)}to{clip-path:inset(0 -3% 0 -3%);transform:translateY(0)}}
.hero-spotlight{position:absolute;bottom:175px;right:max(56px,calc((100vw - 1488px)/2));width:326px;z-index:3;border:1px solid #ffffff45;border-radius:16px;overflow:hidden;background:#08283f8c;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 20px 50px #021b2920;animation:spotlight-in 1s .55s var(--ease-out) both}
@keyframes spotlight-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.spotlight-top{display:flex;justify-content:space-between;gap:16px;font-size:6px;letter-spacing:.1em;color:#dce7e5;padding:17px 18px;border-bottom:1px solid #ffffff1c}
.spotlight-top>span:last-child{font-size:8px;letter-spacing:.06em;white-space:nowrap;color:#f1cb87}
.spotlight-body{display:grid;grid-template-columns:1.15fr .85fr;min-height:146px;padding:18px;gap:15px;align-items:center}
.spotlight-copy>.eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:14px;color:#e1d1ae}
.spotlight-copy h2{font-family:var(--serif);font-style:italic;font-size:27px;line-height:1.14;letter-spacing:-.04em;color:#fff;margin-bottom:16px}
.spotlight-body>img{height:120px;object-fit:cover;border-radius:9px}
.spotlight-action{display:flex;align-items:center;gap:17px;color:#e6eae3;font-size:9px}
.spotlight-action svg{width:14px;height:14px}
.spotlight-bottom{padding:0 18px 16px;display:flex;align-items:center;justify-content:space-between}
.spotlight-bottom>span{font-size:6px;letter-spacing:.13em;display:flex;gap:7px;align-items:center;color:#c9d7db}
.spotlight-dot{width:3px;height:3px;background:#e3b55e;border-radius:50%}
.spotlight-bottom>div{display:flex;gap:6px}
.spotlight-bottom button{width:27px;height:27px;border:1px solid #ffffff38;border-radius:50%;display:grid;place-items:center;padding:5px;color:white;transition:background .25s}
.spotlight-bottom button:hover{background:#ffffff1a}
.spotlight-bottom button svg{width:15px;height:15px}
.spotlight-bottom button:first-child svg{transform:rotate(180deg)}
.carousel{position:relative}
.carousel-inner{position:relative;width:100%;overflow:hidden}
.carousel-inner:after{display:block;clear:both;content:''}
.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .65s var(--ease-out)}
.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}
.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}
.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}
.collection-image,.product-picture{border-radius:12px;isolation:isolate}
.collection-image:after,.product-picture:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(360px circle at var(--light-x,50%) var(--light-y,50%),#fff2,transparent 70%);transition:opacity .4s}
.collection-image:hover:after,.product-picture:hover:after{opacity:1}
.collection-image img,.product-picture img{transition:transform 1s var(--ease-out),filter .8s}
.collection-card:hover .collection-image img,.product-card:hover .product-picture img{transform:scale(1.055);filter:saturate(1.04)}
.collection-image .circle-arrow,.product-picture .circle-arrow{z-index:3}
.collection-more{padding:23px 26px;background:var(--cream);border:1px solid #e8e9e1;border-radius:12px}
.product-image-link{position:absolute;inset:0;display:block}
.quick-view-button{position:absolute;left:16px;bottom:17px;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:10px 13px;background:#fffffff0;border:1px solid #ffffffc7;border-radius:30px;color:var(--ink);font-size:10px;font-weight:500;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 3px 10px #092d4b12;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .3s var(--ease-out),background .25s}
.quick-view-button svg{width:16px;height:16px}
.quick-view-button:hover{background:white}
.product-card:hover .quick-view-button,.product-card:focus-within .quick-view-button{opacity:1;transform:translateY(0)}
.product-info h3 a{display:inline-block;transition:color .25s}
.product-info h3 a:hover{color:#a17f3c}
.catalogue-toolbar{position:sticky;top:106px;z-index:25;background:#ffffffed;border:1px solid #e4e9e9;box-shadow:0 10px 30px #092d4b06;border-radius:15px;gap:20px;padding:14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.filters{gap:5px}
.filter{padding:10px 13px;border-radius:25px;font-size:10px;transition:background .25s,color .25s,box-shadow .25s;min-height:34px}
.filter:after{display:none}
.filter.active{background:var(--navy);color:#fff;box-shadow:0 3px 10px #0b3a6e15}
.filter:not(.active):hover{background:#0b3a6e08;color:var(--ink)}
.product-search{background:var(--cream);border-radius:8px;padding:0 12px}
.product-search input{width:135px}
.catalogue-summary{padding:28px 3px}
.product-number{background:#ffffffd9;border-radius:20px;color:var(--ink);mix-blend-mode:normal;width:27px;height:27px;display:grid;place-items:center;letter-spacing:0}
.product-info .eyebrow{font-size:8px;letter-spacing:.1em}
.will-reveal{transition-delay:var(--reveal-delay,0ms)}
.journey-grid{position:relative}
.journey-grid:after{content:'';position:absolute;left:0;top:-1px;width:100%;height:1px;background:linear-gradient(90deg,var(--gold),#d5a54130);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out);pointer-events:none}
.journey-grid.journey-active:after{transform:scaleX(1)}
.journey-step h3{transition:color .3s}
.journey-step:hover h3{color:#a17f3c}
.faq-list details[open] p{animation:answer-in .35s var(--ease-out)}
@keyframes answer-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.contact-form-wrap{border:1px solid #e3e6e0;border-radius:18px;box-shadow:0 18px 55px #092d4b05}
.contact-image{border-radius:12px}
.field input,.field textarea{transition:border-color .25s,box-shadow .25s}
.detail-image{border-radius:13px}
.detail-origin{border-radius:30px}
.map-control{display:table;margin-left:auto;margin-right:auto;border:1px solid #ffffff20;border-radius:30px;background:#ffffff05;padding:5px}
.map-control button{display:inline-block;min-height:34px;padding:9px 17px;border:0;border-radius:25px;transition:color .3s,background .3s;letter-spacing:.02em}
.map-control button.active{background:#e8bb6d;color:#092d4b;border:0}
.back-top{transition:color .25s}
.back-top:hover{color:#e5ba68}
/* The components below implement Bootstrap's documented transition classes. */
.fade{transition:opacity .25s ease}
.fade:not(.show){opacity:0}
.offcanvas{position:fixed;top:0;bottom:0;right:0;z-index:1060;width:min(520px,calc(100vw - 16px));max-width:100%;visibility:hidden;outline:0;background:var(--cream);color:var(--ink);transform:translateX(100%);transition:transform .55s var(--ease-out);border-left:1px solid #ffffffa0;border-radius:22px 0 0 22px;padding:36px;overflow-y:auto;display:flex;flex-direction:column}
.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}
.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}
.offcanvas-backdrop{position:fixed;inset:0;z-index:1055;background:#041e2a73;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.offcanvas-backdrop.fade{opacity:0}
.offcanvas-backdrop.show{opacity:1}
.menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px}
.menu-top .eyebrow{font-size:9px;letter-spacing:.18em}
.icon-close{position:relative;width:40px;height:40px;background:#fff;border:1px solid #092d4b1a;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .25s,transform .3s}
.icon-close:hover{background:#ece8dd;transform:rotate(8deg)}
.icon-close span{position:absolute;width:16px;height:1px;background:var(--ink);transform:rotate(45deg)}
.icon-close span:last-child{transform:rotate(-45deg)}
.drawer-nav{padding:10px 0 30px}
.drawer-nav>a{display:grid;grid-template-columns:26px 1fr 22px;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid #0b3a6e15;font-size:31px;font-weight:400;letter-spacing:-.055em;opacity:0;transform:translateY(13px);transition:opacity .4s var(--ease-out),transform .5s var(--ease-out),color .3s}
.drawer-nav>a:nth-child(2){transition-delay:35ms}.drawer-nav>a:nth-child(3){transition-delay:70ms}.drawer-nav>a:nth-child(4){transition-delay:105ms}.drawer-nav>a:nth-child(5){transition-delay:140ms}
.offcanvas.show .drawer-nav>a{opacity:1;transform:none}
.drawer-nav a:hover,.drawer-nav a[aria-current]{color:#aa873f}
.menu-index{font-size:8px;letter-spacing:.06em;color:#7a8b93}
.drawer-nav>a>svg{width:20px;height:20px}
.menu-bottom{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:35px}
.menu-bottom>.eyebrow,.menu-bottom .eyebrow{font-size:7px}
.menu-bottom p{font-size:25px;line-height:1.35;color:var(--ink);letter-spacing:-.04em;margin:17px 0 0}
.menu-bottom p em{color:#9f7e3d}
.menu-bottom>img{width:112px;height:126px;object-fit:cover;border-radius:60px 60px 9px 9px;flex-shrink:0}
.modal-open{overflow:hidden}
.modal{position:fixed;top:0;left:0;z-index:1080;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}
.modal-dialog{position:relative;width:calc(100% - 56px);margin:28px auto;max-width:960px;pointer-events:none;transition:transform .45s var(--ease-out),opacity .35s;transform:translateY(24px) scale(.975);opacity:0}
.modal.show .modal-dialog{transform:none;opacity:1}
.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 56px)}
.modal-content{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;max-height:calc(100dvh - 56px);overflow:auto;pointer-events:auto;background:#faf9f6;border:1px solid #ffffffa3;border-radius:19px;outline:0;box-shadow:0 30px 100px #041e2a30}
.modal-backdrop{position:fixed;inset:0;z-index:1070;background:#021a2ba8;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.modal-backdrop.fade{opacity:0}
.modal-backdrop.show{opacity:1}
.quick-view-close{position:absolute;right:18px;top:18px;z-index:3;background:#ffffffdd}
.quick-view-visual{position:relative;min-height:580px;overflow:hidden;background:#ddd7c8}
.quick-view-visual>img{position:absolute;inset:0;object-fit:cover;transition:opacity .3s}
.quick-origin{position:absolute;left:24px;bottom:24px;display:flex;gap:10px;align-items:center;font-size:8px;letter-spacing:.09em;background:#fffffff0;padding:12px 15px;border-radius:30px;color:var(--ink)}
.quick-origin svg{width:22px;height:22px}
.quick-view-copy{padding:65px 38px 36px}
.quick-view-copy>.eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:24px;color:#8a7446}
.quick-view-copy h2{font-size:43px;line-height:1.1;letter-spacing:-.055em;margin-bottom:19px}
.quick-view-note{font-family:var(--serif);font-style:italic;color:#a38344;letter-spacing:-.03em;font-size:19px;line-height:1.5;margin-bottom:20px}
.quick-view-copy>p:not(.quick-view-note){font-size:12px;line-height:1.9;margin-bottom:22px}
.quick-view-facts{border-top:1px solid #d9ded9;border-bottom:1px solid #d9ded9;padding:18px 0;margin:25px 0;display:flex;flex-direction:column;gap:12px;font-size:9px}
.quick-view-facts>span{display:flex;justify-content:space-between;color:var(--muted);gap:20px}
.quick-view-facts strong{font-weight:500;color:var(--ink)}
.quick-view-copy .button{width:100%;gap:18px;padding:15px 17px;font-size:10px}
.quick-view-copy .text-link{font-size:10px;gap:25px;margin-top:12px}
.quick-view-modal.is-loading .quick-view-visual>img{opacity:.3}
.quick-view-modal.is-loading .quick-view-note,.quick-view-modal.is-loading #quickViewDescription{opacity:0}
@media(min-width:1700px){.hero-spotlight{right:max(80px,calc((100vw - 1488px)/2));width:360px;bottom:190px}.spotlight-body{min-height:170px}.spotlight-body>img{height:140px}.spotlight-copy h2{font-size:31px}}
@media(max-width:1200px){.desktop-nav{gap:22px}.header.scrolled .brand{width:185px}.header.scrolled .header-inner{width:calc(100% - 56px);padding:0 20px}.hero-spotlight{right:40px;width:285px;bottom:155px}.spotlight-copy h2{font-size:24px}.spotlight-body{gap:12px;padding:15px}.spotlight-body>img{height:110px}.spotlight-top{padding:14px 15px;font-size:5px}.spotlight-bottom{padding:0 15px 13px}.catalogue-toolbar{gap:12px}.filter{padding:9px 10px;font-size:9px}.product-search input{width:120px}.modal-dialog{max-width:900px;width:calc(100% - 48px);margin:24px auto}}
@media(max-width:1100px){.hero-spotlight{display:none}.desktop-nav{gap:18px}}
@media(max-width:1000px){.header.scrolled .header-inner{height:68px;top:8px;width:calc(100% - 40px);padding:0 18px;border-radius:13px}.header.scrolled .brand{width:185px}.header-cta{margin-right:4px;font-size:11px;gap:16px}.header-cta-icon{width:33px;height:33px}.header-cta-icon>svg{width:16px;height:16px}.catalogue-toolbar{top:91px;align-items:stretch}.product-search{align-self:stretch}.product-search input{width:auto;flex:1}.quick-view-button{opacity:1;transform:none}.modal-dialog{max-width:800px;width:calc(100% - 40px);margin:20px auto}.modal-dialog-centered{min-height:calc(100% - 40px)}.modal-content{max-height:calc(100dvh - 40px)}.quick-view-copy{padding:60px 28px 30px}.quick-view-copy h2{font-size:37px}.quick-view-visual{min-height:590px}.quick-view-copy .button{font-size:9px}}
@media(max-width:700px){.header.scrolled .header-inner{width:calc(100% - 24px);padding:0 13px;top:7px;height:64px;border-radius:12px}.header.scrolled .brand{width:168px}.header-cta{font-size:9px;gap:9px;margin:0;padding:0}.header-cta-icon{width:29px;height:29px}.header-cta-icon>svg{width:14px;height:14px}.header-inner{gap:14px}.header.scrolled .header-inner{gap:11px}.hero>.hero-image{object-position:62% center}.hero-content>.eyebrow{padding:8px 11px;font-size:6px;letter-spacing:.13em;gap:8px;margin-bottom:27px}.hero-content>.eyebrow:before{width:3px;height:3px}.hero-description .button{font-size:11px;padding:13px 17px}.button>svg{width:26px;height:26px}.collection-image,.product-picture{border-radius:9px}.collection-more{padding:23px 19px;gap:19px 24px}.product-picture .circle-arrow{display:none}.quick-view-button{left:9px;bottom:11px;padding:9px 10px;font-size:9px;min-height:35px;gap:6px}.quick-view-button svg{width:14px;height:14px}.product-number{left:11px;top:11px;width:23px;height:23px;font-size:7px}.catalogue-toolbar{position:relative;top:auto;padding:11px;border-radius:13px;gap:12px}.filters{gap:4px}.filter{font-size:9px;padding:9px 11px;min-height:33px}.product-search{border:0;padding:0 10px}.product-search input{padding:10px 0;font-size:12px}.catalogue-summary{padding:24px 1px}.product-info .eyebrow{font-size:7px;letter-spacing:.08em}.journey-grid:after{display:none}.contact-form-wrap{border-radius:13px}.map-control{margin-left:0;margin-right:0;padding:4px}.map-control button{font-size:8px;min-height:32px;padding:9px 12px}.offcanvas{padding:26px;width:calc(100vw - 16px);border-radius:18px 0 0 18px}.menu-top{padding-bottom:24px}.menu-top .eyebrow{font-size:8px}.drawer-nav{padding:5px 0 20px}.drawer-nav>a{font-size:29px;grid-template-columns:20px 1fr 19px;gap:13px;padding:20px 0}.drawer-nav>a>svg{width:18px;height:18px}.menu-index{font-size:7px}.menu-bottom{gap:20px;padding-top:28px}.menu-bottom p{font-size:25px}.menu-bottom>img{width:95px;height:112px}.menu-bottom .eyebrow{font-size:6px;letter-spacing:.1em}.modal-dialog{width:calc(100% - 28px);margin:14px auto}.modal-dialog-centered{min-height:calc(100% - 28px)}.modal-content{grid-template-columns:1fr;border-radius:14px;max-height:calc(100dvh - 28px)}.quick-view-visual{min-height:0;height:230px}.quick-view-visual>img{object-position:50% 55%}.quick-view-close{position:fixed;top:27px;right:28px;width:35px;height:35px;z-index:4}.quick-origin{left:16px;bottom:16px;font-size:7px;padding:9px 12px}.quick-origin svg{width:19px;height:19px}.quick-view-copy{padding:29px 25px 27px}.quick-view-copy>.eyebrow{font-size:7px;margin-bottom:16px}.quick-view-copy h2{font-size:37px;margin-bottom:15px}.quick-view-note{font-size:19px;margin-bottom:17px}.quick-view-copy>p:not(.quick-view-note){font-size:12px;margin-bottom:20px}.quick-view-facts{padding:16px 0;margin:20px 0;font-size:9px}.quick-view-copy .button{font-size:10px;padding:14px 16px}.quick-view-copy .text-link{font-size:10px;margin-top:9px}}
@media(max-width:380px){.header-cta{display:none}.header.scrolled .brand{width:170px}.drawer-nav>a{font-size:27px}.quick-view-copy{padding:26px 22px}.quick-view-copy h2{font-size:33px}.quick-view-visual{height:210px}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere{display:none}.hero>.hero-image{transform:scale(1.025)!important}.hero-line{clip-path:none;animation:none}.hero-spotlight{animation:none}.button{transform:none}.carousel-item,.modal-dialog,.offcanvas,.drawer-nav>a,.nav-highlight{transition:none}.offcanvas.show .drawer-nav>a{transform:none;opacity:1}.quick-view-button{opacity:1;transform:none}.journey-grid:after{display:none}}
