/* Black and gold, responsive rail navigation. */
body{min-height:100vh;min-height:100dvh;padding:32px 32px 32px 130px!important;background:radial-gradient(ellipse at 0% 85%,#67421338,transparent 35%),#0c0c0c!important;font-family:Arial,Helvetica,sans-serif;display:flex;flex-direction:column}
.vector-backdrop{display:none!important}
body>header{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;min-height:0!important;margin:0!important}
body>header>.shell,body>header>.nav{min-height:0!important;padding:0!important}
header .brand,header .main-nav,header .links,header .mobile-menu-toggle{display:none!important}
header .cart-trigger{position:absolute;right:12px;top:0;z-index:3;font-size:12px!important}
main{max-width:1400px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;flex:1 0 auto;width:100%}
footer{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
.luxe-rail{position:fixed;z-index:100;left:25px;top:40px;width:76px;padding:14px 9px;display:flex;align-items:center;flex-direction:column;gap:15px;border:1px solid #ffffff16;border-radius:38px;background:linear-gradient(140deg,#28271faa,#101010e8);backdrop-filter:blur(22px);box-shadow:0 16px 50px #0005}
.luxe-rail a,.luxe-rail button{display:grid;place-items:center;width:54px;height:54px;border:0;border-radius:50%;background:transparent;color:#d1d0c8;cursor:pointer;text-decoration:none}
.luxe-rail a:hover,.luxe-rail button:hover,.luxe-rail [aria-current=page]{color:#f5cf79;background:linear-gradient(120deg,#79572366,#c08c272b)}
.luxe-rail svg,.luxe-drawer svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.luxe-rail .rail-brand{background:#aa813526;margin-bottom:2px}.rail-brand img{width:34px;height:34px}
.luxe-shade{position:fixed;inset:0;background:#0009;z-index:110;backdrop-filter:blur(2px)}
.luxe-drawer{position:fixed;inset:18px auto 18px 18px;width:min(370px,calc(100vw - 36px));z-index:111;border:1px solid #ffffff20;border-radius:32px;background:radial-gradient(ellipse at 110% 30%,#7c541f66,transparent 50%),linear-gradient(135deg,#1a1a1af5,#0e0e0ef5);box-shadow:20px 0 80px #0008;padding:25px;overflow-y:auto;color:#eee}
.luxe-drawer[hidden],.luxe-shade[hidden]{display:none!important}
.drawer-head{display:flex;align-items:center;gap:14px;margin-bottom:32px;font-size:16px}.drawer-head img{width:44px;height:44px}.drawer-close{margin-left:auto;border:1px solid #ffffff16;background:#ffffff08;color:#d9c49b;width:42px;height:42px;border-radius:50%;cursor:pointer}
.drawer-links{display:grid;gap:13px}.drawer-links a{display:flex;align-items:center;gap:24px;padding:20px;border:1px solid transparent;border-radius:23px;color:#e0ded8;text-decoration:none;font-size:17px}.drawer-links a:hover,.drawer-links a[aria-current=page]{background:linear-gradient(105deg,#93692255,#bb862c66);border-color:#bd8d42;color:#ffedc0}
.drawer-prompt{margin-top:32px;padding:24px 10px 0;border-top:1px solid #ffffff25}.drawer-prompt a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 17px;border:1px solid #ffffff10;border-radius:25px;color:#f5f3eb;text-decoration:none}.drawer-prompt p{font-size:13px;line-height:1.6;color:#bbb}.drawer-prompt b{display:grid;place-items:center;flex:0 0 48px;height:48px;background:#efc065;border-radius:50%;color:#15130e;font-size:27px}
.home-shell{padding:0 18px 55px!important}.home-hero{padding:65px 5px 42px!important;min-height:0}.home-hero h1{font-size:clamp(54px,6.1vw,88px);font-weight:400;letter-spacing:-.055em;line-height:1.03;max-width:850px}.home-hero h1 em{font-weight:600;color:#efbd60!important}.home-hero .eyebrow{font-weight:400;letter-spacing:.24em;color:#dab66d!important;font-size:11px}.home-hero .lead{max-width:630px;font-weight:400;color:#aaa9a3!important;margin:25px 0 0;font-size:19px}.home-hero .hint{display:none}
.home-shell>.choices{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.home-shell>.choices .choice:nth-child(n){position:relative;min-height:360px;padding:28px!important;border-radius:25px!important;overflow:hidden;background:radial-gradient(ellipse at 95% 0%,#8c622936,transparent 52%),linear-gradient(125deg,#111111,#080808)!important;border:1px solid #b88a4480!important;box-shadow:inset 0 1px 0 #ffe2a833,0 15px 38px #0003!important;text-align:left;display:flex;flex-direction:column;isolation:isolate}
.home-shell>.choices .choice:last-child{grid-column:auto!important}
.home-shell .choice-top{position:relative;z-index:2;margin-bottom:24px}.home-shell .choice-top .index{font-size:11px;font-weight:400;letter-spacing:.06em;color:#f2ca78!important}.home-shell .choice-top .arrow{display:none!important}
.home-shell .choice-title{position:relative;z-index:2;font-size:38px;font-weight:400;line-height:1.06;letter-spacing:-.045em;margin-bottom:14px!important;max-width:68%}
.home-shell .choice-copy{position:relative;z-index:2;font-size:14px;line-height:1.5;max-width:77%;color:#bbbbbb!important;margin-top:auto}
.home-shell .choice-foot{position:absolute;right:20px;bottom:24px;width:54px;height:54px;min-height:0;padding:0!important;border:1px solid #e4b658!important;border-radius:50%;font-size:0;justify-content:center;background:#0a0a0ae8;z-index:4;box-shadow:none}
.home-shell .choice-foot b{background:transparent;color:#efc46d;font-size:29px;font-weight:400;width:auto;height:auto}
.home-shell .choice-copy{padding-right:35px}
.home-shell .choice-icon{position:absolute;z-index:-1;right:-60px;top:32px;width:205px;height:155px;margin:0;transform:rotate(-28deg) skew(12deg)!important;border-radius:16px;background:linear-gradient(150deg,#c39346 0%,#4a381e 3%,#161616 7%,#262626 65%,#131313 96%,#c6933f)!important;border:1px solid #dbb76f!important;box-shadow:0 8px 0 #090909,0 9px 0 #99713b,0 19px 0 #090909,0 20px 0 #624621!important;opacity:.85}
.home-shell .choice-icon svg{display:none}.home-shell .choice:nth-child(2) .choice-icon{width:112px;height:230px;right:-24px;top:27px;transform:rotate(-23deg)!important;border-radius:27px;background:linear-gradient(100deg,#c89d54,#1a1a1a 9%,#2f2f2f 88%,#d0a158)!important}
.home-shell .choice:nth-child(2) .choice-icon:before{content:"";position:absolute;left:12px;top:14px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#373737 10%,#030303 28%,#756039 38%,#151515 49%,#b99251 53%,#1a1a1a 62%);box-shadow:0 42px 0 #0b0b0b,38px 21px 0 #0b0b0b;border:2px solid #917444}
.home-shell>.choices .choice:after{display:none!important}
@media(min-width:1500px){.home-shell>.choices .choice:nth-child(n){min-height:410px}.home-shell .choice-icon{width:250px;height:185px}}
@media(max-width:900px){body{padding:20px 18px 20px 105px!important}.luxe-rail{left:15px;width:65px;top:28px;padding:12px 6px;gap:17px}.luxe-rail a,.luxe-rail button{width:49px;height:49px}.home-shell>.choices{grid-template-columns:1fr!important}.home-shell>.choices .choice:nth-child(n){min-height:210px}.home-shell .choice-copy{max-width:80%}.home-hero h1{font-size:49px}.home-hero .lead{font-size:17px}.home-shell{padding:0 0 30px!important}.home-shell .choice-title{font-size:32px}.home-shell .choice-top{margin-bottom:15px}}
@media(max-width:520px){body{padding:16px 13px 18px 83px!important}.luxe-rail{left:10px;top:20px;width:56px;gap:18px;padding:12px 4px;border-radius:29px}.luxe-rail a,.luxe-rail button{width:44px;height:44px}.rail-brand img{width:29px;height:29px}.luxe-rail svg{width:23px;height:23px}.home-hero{padding:53px 3px 25px!important}.home-hero .eyebrow{font-size:9px;line-height:1.9;letter-spacing:.18em;margin-bottom:22px;max-width:240px}.home-hero h1{font-size:clamp(32px,8.1vw,43px);letter-spacing:-.05em}.home-hero .lead{font-size:14px;line-height:1.5;margin-top:22px}.home-shell>.choices{gap:13px!important}.home-shell>.choices .choice:nth-child(n){padding:19px 16px!important;min-height:200px;border-radius:22px!important}.home-shell .choice-title{font-size:28px}.home-shell .choice-copy{font-size:11px;max-width:87%;padding-right:21px}.home-shell .choice-top .index{font-size:9px}.home-shell .choice-foot{width:45px;height:45px;right:13px;bottom:20px}.home-shell .choice-icon{right:-93px;opacity:.65}.home-shell .choice:nth-child(2) .choice-icon{right:-38px;opacity:.65}header .cart-trigger{font-size:10px!important;padding:8px 10px!important;right:0;top:-3px}.shell{padding-left:14px!important;padding-right:14px!important}.home-shell{padding-left:0!important;padding-right:0!important}.hero h1,.page h1{font-size:36px!important;overflow-wrap:break-word}.home-hero h1{font-size:clamp(32px,8.1vw,43px)!important}.config-layout,.layout,.catalog-head,.tools,.plan-grid,.service-grid{grid-template-columns:1fr!important}.config-options{grid-template-columns:1fr!important}.luxe-drawer{inset:10px auto 10px 10px;width:min(340px,calc(100vw - 35px));padding:20px}.drawer-links a{padding:18px 15px}}

/* One consistent page origin, irrespective of each page's original markup. */
:root{--page-inset:18px;--hero-top:65px;--rail-width:76px;--rail-button:54px}
body>header .back{display:none!important}
body>header{height:0!important}
main .shell{max-width:none!important;padding-left:var(--page-inset)!important;padding-right:var(--page-inset)!important}
main>.hero,main.page,.home-hero{padding-top:var(--hero-top)!important;margin-top:0!important}
main>.hero,.home-hero{padding-bottom:42px!important}
.home-hero{padding-left:0!important;padding-right:0!important}
.hero .eyebrow,.page>.shell>.eyebrow{margin:0!important;min-height:22px;font-size:11px!important;font-weight:400;line-height:22px!important;letter-spacing:.18em!important;max-width:none!important}
.hero h1,.page>.shell>h1{margin:23px 0 25px!important;font-size:clamp(54px,6.1vw,88px)!important;line-height:1.03!important;letter-spacing:-.055em!important;font-weight:400;max-width:1050px}
.hero .lead,.hero .intro,.page>.shell>.lead{margin-top:0!important}
.luxe-rail{z-index:112;width:var(--rail-width);align-items:stretch;overflow:hidden;transition:width .42s cubic-bezier(.45,0,.2,1),box-shadow .42s ease-in-out!important}
.luxe-rail.is-expanded{width:min(330px,calc(100vw - 35px));background:linear-gradient(140deg,#242424f5,#111111fa);box-shadow:15px 0 65px #0008}
.luxe-rail a,.luxe-rail button{display:flex;align-items:center;justify-content:flex-start;flex:0 0 var(--rail-button);height:var(--rail-button);width:100%;padding:0!important;gap:0;border-radius:27px;white-space:nowrap;transform:none!important}
.rail-icon{display:grid;place-items:center;width:var(--rail-button);height:var(--rail-button);flex:0 0 var(--rail-button)}
.rail-icon svg{flex-shrink:0}.rail-icon img{flex-shrink:0}
.rail-label{display:block;flex:0 0 auto;margin-left:16px;opacity:0;visibility:hidden;font-size:16px;transition:opacity .25s ease-in-out,visibility .25s ease-in-out!important}
.rail-brand .rail-label{font-size:14px;font-weight:700}
.rail-chevron{opacity:0;margin-left:auto;margin-right:15px;font-size:25px;transition:opacity .25s ease-in-out!important}
.is-expanded .rail-label{opacity:1;visibility:visible}.is-expanded .rail-chevron{opacity:1}
.luxe-shade{display:block;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .42s ease-in-out,visibility .42s ease-in-out;background:#0008}
.luxe-shade.is-visible{visibility:visible;opacity:1;pointer-events:auto}
header .cart-trigger{display:grid!important;place-items:center;width:46px;height:46px;padding:0!important;border-radius:50%!important;background:linear-gradient(140deg,#28271faa,#101010e8)!important;border:1px solid #ffffff20!important;color:#d1d0c8!important;box-shadow:none!important}
.cart-trigger svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#cart-count{position:absolute;right:-3px;top:-3px;min-width:16px;height:16px;padding:0 3px;border-radius:50%;background:#d8ae5c;color:#131313;font-size:10px;line-height:16px;text-align:center}
.luxe-rail .rail-cart{font:inherit}
.luxe-rail .rail-cart[aria-expanded="true"]{color:#f5cf79;background:linear-gradient(120deg,#79572366,#c08c272b)}
.luxe-rail .rail-cart .rail-icon{position:relative}
.luxe-rail .rail-cart #cart-count{right:3px;top:3px;margin:0}
@media(max-width:900px){:root{--page-inset:0px;--hero-top:60px;--rail-width:65px;--rail-button:49px}.hero h1,.page>.shell>h1{font-size:49px!important}}
@media(max-width:520px){:root{--hero-top:53px;--rail-width:56px;--rail-button:44px}.hero .eyebrow,.page>.shell>.eyebrow{font-size:9px!important;line-height:18px!important;min-height:36px}.hero h1,.page>.shell>h1{font-size:clamp(32px,8.1vw,43px)!important;margin-top:22px!important}.hero .eyebrow:before{display:none!important}.luxe-rail .rail-label{font-size:15px}header .cart-trigger{width:38px;height:38px}.cart-trigger svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.luxe-rail,.rail-label,.rail-chevron,.luxe-shade{transition:none!important}}

.field select{width:100%;min-width:0;min-height:50px;padding:14px 40px 14px 15px;font:inherit;cursor:pointer;color-scheme:dark;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23dbb46b' stroke-width='1.5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 15px center!important}
.field select option{background:#191919;color:#f3f0e8}
/* Legibility and controls: one palette across all six pages. */
:root{--ink:#f3f0e8;--muted:#c3c0b7;--line:#ffffff26;--gold:#dbb46b;--accent:#dbb46b;--brown:#dbb46b}
main :is(.step,.portal,.portal-item,.finish-card,.plan,.value,.service,.aside,.config-summary,.wizard-summary){color:#f3f0e8!important}
main :is(.step p,.finish p,.rail-status,.portal-item small,.cart-item p,.cart-disclaimer,.purchase-note,.privacy,.note,.meta-label,.plan small,.config-option small,.visual-caption,.empty){color:#c3c0b7!important}
.step p,.finish p{font-size:16px;line-height:1.7!important}
.step h3{line-height:1.15;letter-spacing:-.035em}
.chips span,.status,.step>.number{background:linear-gradient(135deg,#55432870,#25231d)!important;border:1px solid #b99a5d50!important;color:#f2d89f!important;box-shadow:none!important}
.chips span{font-size:13px;line-height:1.45}.status{line-height:1.5;white-space:normal}
.portal-item small{font-size:12px;line-height:1.5}.portal-item b{font-size:14px;line-height:1.5}
.portal-head{flex-wrap:wrap;border-color:var(--line)!important}.portal-item{min-width:0;overflow-wrap:anywhere}
.step.active{border-color:#dbb46b99!important;box-shadow:inset 0 1px 0 #fff1c41a,0 14px 36px #0004!important}
.progress{background:#ffffff16}.progress span{background:linear-gradient(90deg,#97733a,#dfbd7a)}
.process,.cart-total,.portal-head,.summary-total,.example-price,.note{border-color:var(--line)!important}
.success{background:#2d2d2d!important;border-color:#c5a466!important;color:#eee8d9!important}
/* Navigation icons retain their compact shape; action buttons share this skin. */
:is(.cta,.submit,.jump,.back,.close,.stage-close,.wizard-back,.wizard-next,.filter,.cart-item button){
  background:linear-gradient(135deg,#333023,#171717)!important;
  color:#f2d494!important;border:1px solid #be995c99!important;
  border-radius:999px!important;box-shadow:inset 0 1px 0 #ffe8b31a,0 6px 18px #0002!important;
  min-height:44px;padding:12px 20px!important;font:inherit;font-size:14px;font-weight:600;
  text-decoration:none;line-height:1.4;white-space:normal;cursor:pointer;
  transition:background-color .28s ease-in-out,border-color .28s ease-in-out,box-shadow .28s ease-in-out,transform .28s ease-in-out!important;
}
:is(.cta,.submit,.jump,.back,.close,.stage-close,.wizard-back,.wizard-next,.filter,.cart-item button):hover{
  background:linear-gradient(135deg,#534126,#242424)!important;color:#ffe8b2!important;
  border-color:#e3bd77!important;box-shadow:inset 0 1px 0 #ffe8b326,0 0 18px #c5913026!important;transform:translateY(-2px)!important;
}
:is(.cta,.submit,.jump,.back,.close,.stage-close,.wizard-back,.wizard-next,.filter,.cart-item button):active{transform:translateY(0)!important}
.filter[aria-pressed=true]{background:#564329!important;border-color:#e3bd77!important;color:#fff0ce!important}
:is(button,a,input,select,textarea):focus-visible{outline:2px solid #f0c877!important;outline-offset:4px!important}
button:disabled{opacity:.5;cursor:not-allowed}
.cart-item button{align-self:start}.cart-item p{font-size:14px}.cart-total{color:#f3f0e8}
.config-option small{font-size:12px!important;line-height:1.5!important}.config-summary small,.price-note{font-size:12px!important;line-height:1.6!important}
.service-meta{gap:12px}.service-meta span{line-height:1.5!important}.service-top{flex-wrap:wrap}.package{white-space:normal}
.service h3{overflow-wrap:anywhere;hyphens:auto}
.config-pick,.product-choice{line-height:1.5;min-height:48px}.config-option{border-radius:14px!important}
.area-card .arrow{background:#ffffff0a!important;border-color:#be995c66!important;color:#f2d494}
.steps,.step>div,.finish-card>div,.config-main,.wizard-main,.plan,.service{min-width:0}
@media(max-width:1050px){.process-layout{grid-template-columns:1fr}.process-layout>.rail{position:static}.portal-grid{grid-template-columns:1fr}.finish-card{flex-direction:column;align-items:flex-start;gap:24px}}
@media(max-width:650px){
  .step{padding:22px 18px!important;gap:18px;grid-template-columns:1fr;min-height:0}.step h3{font-size:27px}.step p,.finish p{font-size:15px}
  .step>.number{width:44px;height:44px;font-size:18px}.chips{gap:6px}.chips span{font-size:12px;padding:7px 10px}
  .portal{padding:14px!important;border-radius:17px!important}.portal-item{padding:12px!important;border-radius:12px!important}
  .finish-card,.config-summary,.aside{padding:22px 18px!important}.finish h2{font-size:32px}
  .config-head,.detail-head,.cart-head,.purchase-row{flex-wrap:wrap;gap:16px}
  .config-summary dl,.summary-list{grid-template-columns:1fr!important}.config-summary dd,.summary-list dd{text-align:left!important;margin:0 0 8px!important;max-width:none!important}
  .summary-total,.example-price,.cart-item,.cart-total{flex-wrap:wrap}.cart-item{gap:12px}
  .home-shell .choice-copy{font-size:13px!important;max-width:100%;padding-right:46px}.home-shell>.choices .choice:nth-child(n){min-height:230px}
  .home-shell .choice-top .index{font-size:10px}.privacy,.note{font-size:12px!important;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){:is(.cta,.submit,.jump,.back,.close,.stage-close,.wizard-back,.wizard-next,.filter,.cart-item button){transition:none!important;transform:none!important}}

/* Global cart drawer: stays outside the page flow on every page. */
.luxe-cart-panel{
  position:fixed;
  z-index:114;
  inset:18px 18px 18px auto;
  width:min(480px,calc(100vw - 36px));
  overflow-y:auto;
  overscroll-behavior:contain;
  color:#f3f0e8;
  border:1px solid #ffffff20;
  border-radius:32px;
  background:radial-gradient(ellipse at -10% 15%,#7c541f55,transparent 48%),linear-gradient(145deg,#1d1d1df8,#0d0d0dfb);
  box-shadow:-24px 0 90px #0009;
  animation:cart-drawer-in .38s cubic-bezier(.22,.8,.25,1) both;
}
.luxe-cart-panel[hidden]{display:none!important}
.luxe-cart-panel>.shell{width:100%;max-width:none!important;padding:30px!important}
.luxe-cart-panel .cart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:25px}
.luxe-cart-panel .cart-head h2{margin:10px 0 0;font-size:clamp(34px,5vw,52px);line-height:1;letter-spacing:-.055em;font-weight:400}
.luxe-cart-panel .cart-head .index{color:#dbb46b;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.luxe-cart-panel #cart-close{flex:0 0 auto;margin:0;padding:11px 15px!important;font-size:12px!important}
.luxe-cart-panel #cart-items{display:grid;gap:12px}
.luxe-cart-panel .cart-item{display:flex;justify-content:space-between;gap:18px;margin:0;padding:18px!important;border:1px solid #ffffff18!important;border-radius:19px;background:#ffffff08!important}
.luxe-cart-panel .cart-item>div{min-width:0}
.luxe-cart-panel .cart-item strong{display:block;font-size:16px;line-height:1.3}
.luxe-cart-panel .cart-item p{margin:7px 0 12px;color:#aaa79f!important;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.luxe-cart-panel .cart-item button{padding:0!important;border:0!important;background:none!important;color:#dbb46b!important;font-size:12px!important;text-decoration:none!important;box-shadow:none!important}
.luxe-cart-panel .cart-item-price{flex:0 0 auto;color:#f0cb7e;font-size:14px;font-weight:700;white-space:nowrap}
.luxe-cart-panel .cart-empty{margin:0;padding:28px 20px;border:1px dashed #ffffff25;border-radius:19px;color:#aaa79f;text-align:center}
.luxe-cart-panel .cart-total{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-top:24px;padding-top:20px;border-top:1px solid #ffffff2c!important;font-size:14px}
.luxe-cart-panel .cart-total strong{color:#f0cb7e;font-size:24px;white-space:nowrap}
.luxe-cart-panel .cart-disclaimer{margin:18px 0 0;color:#85827a!important;font-size:11px;line-height:1.55}
@keyframes cart-drawer-in{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:520px){
  .luxe-cart-panel{inset:10px 10px 10px auto;width:calc(100vw - 20px);border-radius:25px}
  .luxe-cart-panel>.shell{padding:21px!important}
  .luxe-cart-panel .cart-head h2{font-size:34px}
  .luxe-cart-panel .cart-head{gap:10px}
  .luxe-cart-panel .cart-item{flex-direction:column;gap:10px}
}
@media(prefers-reduced-motion:reduce){.luxe-cart-panel{animation:none}}

/* Product miniatures: one visual language for every item in Classic. */
.product-art{display:grid;place-items:center;flex:0 0 auto;color:#e8bd66;border:1px solid #d8ad5630;border-radius:16px;background:radial-gradient(circle at 35% 22%,#d5a64c20,transparent 48%),#ffffff05;overflow:hidden}
.product-art svg{display:block;width:100%;height:100%;padding:10px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.product-art svg .fill{fill:currentColor;fill-opacity:.13;stroke:currentColor}
.product-art svg .ghost{opacity:.28}
.product-art--photo{padding:3px;border-color:#ffffff17;background:radial-gradient(circle at 50% 45%,#cda85c18,transparent 60%),#ffffff04}
.product-art--photo img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 10px #0005);transform:scale(1.04);transition:transform .28s ease,filter .28s ease}
.option--product:hover .product-art--photo img,.product-choice:hover .product-art--photo img,.product-choice[aria-pressed=true] .product-art--photo img{transform:scale(1.1) translateY(-2px);filter:drop-shadow(0 12px 14px #0007)}
.option--product{position:relative;display:grid!important;grid-template-columns:105px minmax(0,1fr);grid-template-rows:1fr auto;gap:14px 18px;min-height:170px!important;padding:17px!important;align-items:center;justify-content:stretch!important}
.option--product>.product-art{grid-row:1/3;width:105px;height:105px}
.option-copy{display:grid;align-content:start;gap:7px;min-width:0}
.option-copy>strong{display:block}
.option--product .option-copy>span:not(.option-price){font-size:12px;line-height:1.5}
.option-cue{align-self:end;display:inline-flex;align-items:center;gap:7px;color:#e8bd66!important;font-weight:700;letter-spacing:.02em}
.ui-ne-arrow,.option-cue-arrow{display:inline-grid;place-items:center;width:15px;height:15px;flex:0 0 15px;color:currentColor;vertical-align:-2px}
.ui-ne-arrow svg,.option-cue-arrow svg,.arrow>svg,.product-choice-arrow>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cta,.submit{align-items:center;gap:8px}
.submit:has(.ui-ne-arrow){display:inline-flex}
.arrow>svg{width:20px;height:20px}
.product-choice-arrow{display:grid;place-items:center;width:16px;height:16px}
.mini-process b.ui-ne-arrow{display:grid;width:20px;height:20px}
.capability-number>.ui-ne-arrow{width:20px;height:20px}
.product-choice{position:relative;display:grid!important;grid-template-rows:100px auto;gap:12px;align-content:start;min-height:168px!important;padding:12px!important;overflow:hidden;text-align:left}
.product-choice:after{content:none!important}
.product-choice>.product-art{width:100%;height:100px;border-radius:13px}
.product-choice-name{display:block;min-width:0;padding:0 23px 1px 3px;font-size:13px;line-height:1.35;color:#f0ede5;overflow-wrap:anywhere}
.product-choice-arrow{position:absolute;right:14px;bottom:13px;color:#dcb566;font-size:16px}
.product-choice:hover>.product-art,.product-choice[aria-pressed=true]>.product-art{color:#ffd984;border-color:#e9bd6670;background:radial-gradient(circle at 35% 22%,#d5a64c32,transparent 52%),#ffffff08}
@media(max-width:650px){
  .option--product{grid-template-columns:86px minmax(0,1fr);min-height:148px!important;gap:11px 14px;padding:14px!important}
  .option--product>.product-art{width:86px;height:86px}
  .product-choice{grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto;align-items:center;min-height:108px!important}
  .product-choice>.product-art{width:84px;height:82px}
  .product-choice-name{padding-right:25px;font-size:14px}
}
@media(orientation:landscape) and (max-width:950px) and (max-height:560px){
  body{padding:12px 14px 18px 105px!important}
  .luxe-rail{left:15px;top:10px;width:65px;padding:7px 6px;gap:5px;max-height:calc(100dvh - 20px);overflow-y:auto;scrollbar-width:none}
  .luxe-rail a,.luxe-rail button{width:49px;height:40px;min-height:40px;flex-basis:40px}
  .luxe-rail .rail-icon{height:40px}
  .shell{padding-left:16px!important;padding-right:16px!important}
  .detail .options{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .detail .option--product{grid-template-columns:96px minmax(0,1fr);grid-template-rows:1fr auto;min-height:158px!important;gap:11px 15px;padding:14px!important}
  .detail .option--product>.product-art{grid-row:1/3;width:96px;height:96px}
  .detail .option-copy>strong{font-size:17px}
  .detail .option--product .option-copy>span:not(.option-price){font-size:11px;line-height:1.42}
  .detail .option-cue{font-size:12px;gap:6px}
  .detail .path-title{margin-top:32px}
}
@media(min-width:801px) and (max-width:1100px){
  .detail .options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:380px){
  .detail .option--product{grid-template-columns:74px minmax(0,1fr);gap:10px 11px;min-height:132px!important;padding:12px!important}
  .detail .option--product>.product-art{width:74px;height:74px}
  .detail .option-copy>strong{font-size:15px;overflow-wrap:anywhere;hyphens:auto}
  .detail .option--product .option-copy>span:not(.option-price){font-size:10px;line-height:1.4}
  .detail .option-cue{font-size:11px;gap:5px}
  .detail .option-cue-arrow,.detail .option-cue-arrow svg{width:13px;height:13px;flex-basis:13px}
  .detail .config-actions{flex-direction:column;align-items:stretch}
  .detail .config-actions .back,.detail .config-actions .cta{align-self:stretch;width:100%;min-width:0}
}

/* The full assortment uses spacious portrait cards; Classic keeps its compact cards. */
.catalog-page .family ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.catalog-page .family-grid,.catalog-page .family,.catalog-page .family ul,.catalog-page .family li{min-width:0}
.catalog-page .family li{display:flex}
.catalog-page .product-choice{
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto;
  gap:15px;
  aspect-ratio:4/5;
  min-height:290px!important;
  padding:16px!important;
  align-items:stretch;
}
.catalog-page .product-choice>.product-art{
  width:100%;
  height:100%;
  min-height:0;
  padding:12px;
  border-radius:15px;
}
.catalog-page .product-choice>.product-art--photo img{transform:scale(.92)}
.catalog-page .product-choice:hover>.product-art--photo img,
.catalog-page .product-choice[aria-pressed=true]>.product-art--photo img{transform:scale(.98) translateY(-2px)}
.catalog-page .product-choice-name{
  padding:0 30px 3px 4px;
  font-size:clamp(14px,1.25vw,17px);
  line-height:1.3;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}
.catalog-page .product-choice-arrow{right:17px;bottom:17px}
@media(max-width:980px){
  .catalog-page .family ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .catalog-page .product-panel{padding:22px 15px}
  .catalog-page .family{padding:20px 14px}
  .catalog-page .family ul{grid-template-columns:minmax(0,1fr);gap:13px}
  .catalog-page .product-choice{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:minmax(0,1fr) auto;
    aspect-ratio:4/5;
    min-height:300px!important;
    padding:14px!important;
  }
  .catalog-page .product-choice>.product-art{width:100%;height:100%;padding:10px}
  .catalog-page .product-choice-name{padding:0 31px 2px 4px;font-size:15px;line-height:1.35}
  .catalog-page .product-choice-arrow{right:16px;bottom:15px}
}
@media(max-width:380px){
  .catalog-page .product-panel{padding:18px 10px}
  .catalog-page .family{padding:17px 10px}
  .catalog-page .product-stage{min-width:0;padding:18px 10px}
  .catalog-page .family h3,.catalog-page .panel-head h2{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
  .catalog-page .wizard-layout,.catalog-page .wizard-main,.catalog-page .wizard-summary{min-width:0}
  .catalog-page .stage-head h3{font-size:30px;overflow-wrap:anywhere}
  .catalog-page .wizard-progress span{font-size:9px;padding:7px 8px}
  .catalog-page .summary-list{grid-template-columns:minmax(0,1fr);gap:4px}
  .catalog-page .summary-list dd{text-align:left;max-width:none;margin-bottom:6px;overflow-wrap:anywhere}
  .catalog-page .example-price{align-items:flex-start;flex-direction:column}
}

/* Product-specific, dimension-aware configurator mockups. */
.config-mockup{margin:22px 0 26px;border:1px solid #ffffff24;border-radius:20px;background:linear-gradient(145deg,#171717,#292721);overflow:hidden;color:#f4f0e8}
.config-mockup-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:14px 18px;border-bottom:1px solid #ffffff1c;font-size:11px;letter-spacing:.05em;color:#aaa69d}
.config-mockup-head strong{font-size:12px;letter-spacing:0;color:#f3d486;text-align:right}
.config-mockup-stage{height:260px;display:grid;place-items:center;padding:30px 42px 38px;background:radial-gradient(circle at 50% 42%,#8d713626,transparent 48%),linear-gradient(145deg,#25231f,#171717);overflow:hidden}
.config-mockup-frame{position:relative;width:var(--mockup-width);height:var(--mockup-height);display:grid;place-items:center;max-width:100%;max-height:100%;border:1px solid #e9bd6690;border-radius:5px;background:linear-gradient(145deg,#ffffff12,#ffffff05);box-shadow:0 18px 35px #0008;transition:width .3s ease,height .3s ease,transform .3s ease}
.config-mockup-frame.is-round{border-radius:50%}
.config-mockup-frame>img{display:block;width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 10px 12px #0007)}
.config-mockup-frame>.product-art{width:88%;height:88%;border:0;background:transparent}
.mockup-size{position:absolute;color:#d8b467;font-size:10px;line-height:1;white-space:nowrap;font-weight:800}
.mockup-size--width{left:50%;bottom:-23px;transform:translateX(-50%)}
.mockup-size--height{right:-31px;top:50%;transform:translateY(-50%) rotate(90deg)}
.config-mockup-note{margin:0;padding:12px 18px;color:#99958c;font-size:11px;line-height:1.45}
.product-config-row{grid-column:1/-1!important;display:block!important;min-width:0;margin:3px 0 14px}
.product-config-row .product-stage{margin:0}
.product-config-row .config-mockup{margin-top:4px}
#service-options>.configurator--inline{grid-column:1/-1;min-width:0;width:100%;margin:3px 0 14px;padding-top:30px}
#service-options.options--webdesign{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.option--web-package{min-height:255px!important;padding:24px!important;gap:20px}
.option--web-package .option-copy{gap:11px}
.option--web-package .web-option-highlights{display:grid;gap:7px;margin-top:9px}
.option--web-package .web-option-highlights>span{display:block;color:#d4d0c6;font-size:12px;line-height:1.35}
.option--web-package .web-option-highlights>span:before{content:'✓';color:#eac779;margin-right:9px}
.option--web-package .option-price{margin-top:12px}
@media(max-width:650px){#service-options.options--webdesign{grid-template-columns:minmax(0,1fr)!important}.option--web-package{min-height:0!important}}

/* The footer follows the same wide desktop measure as the main content. */
.site-footer{width:100%;max-width:1400px!important;margin-left:auto!important;margin-right:auto!important}
.site-footer>.shell{width:100%;max-width:none!important}
@media(min-width:901px){
  .site-footer>.shell{padding-left:var(--page-inset)!important;padding-right:var(--page-inset)!important}
  .footer-top{gap:clamp(38px,6vw,100px)}
  .footer-top nav{justify-content:flex-end;gap:18px clamp(22px,2.5vw,38px)}
}
@media(max-width:650px){
  .config-mockup-stage{height:235px;padding:28px 37px 38px}
  .config-mockup-head{align-items:flex-start;flex-direction:column;gap:5px}
  .config-mockup-head strong{text-align:left}
  .mockup-size--height{right:-29px}
}
