/* Visual compositions for the segment catalogue. Checkout and pricing remain shared. */
.cv-segment{--library-radius:22px;--library-border:var(--brand-soft);--library-art-size:260px}
.cv-shape-square{--library-radius:2px;--radius:2px}
.cv-shape-cut{--library-radius:10px;--radius:10px}
.cv-shape-round{--library-radius:28px;--radius:22px}
.cv-shape-pill{--library-radius:80px;--radius:28px}
.cv-shape-arch{--library-radius:150px 150px 12px 12px;--radius:6px}
.library-hero{position:relative;isolation:isolate;margin:44px 0 64px;min-width:0}
.library-copy{position:relative;z-index:2;min-width:0}
.library-copy h1{font-family:system-ui,sans-serif;font-size:clamp(36px,4.2vw,60px);font-weight:760;line-height:1.08;letter-spacing:-2px;overflow-wrap:anywhere;margin:0 0 24px;max-width:750px}
.cv-serif .library-copy h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.8px}
.library-copy p{max-width:440px;color:var(--muted);line-height:1.7;font-size:15px;margin-bottom:28px}
.library-copy .eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.6;margin-bottom:20px;text-transform:uppercase}
.library-copy .button{min-height:48px;gap:32px}
.library-small{display:block;font-size:10px;line-height:1.7;letter-spacing:.13em;margin-top:34px;max-width:350px;text-transform:uppercase}
.library-art{position:relative;display:grid;place-items:center;min-width:0;width:100%;height:410px;overflow:hidden;background:var(--brand-soft);color:var(--brand-ink);border-radius:var(--library-radius)}
.library-art-plate{width:var(--library-art-size);height:var(--library-art-size);display:grid;place-items:center;position:relative;z-index:1;filter:drop-shadow(14px 18px 1px color-mix(in srgb,var(--brand) 9%,transparent))}
.library-art-plate svg{width:100%;height:100%}
.library-art-orbit{width:290px;height:290px;border:1px solid color-mix(in srgb,var(--brand) 25%,transparent);border-radius:50%;position:absolute;transform:translate(42px,-25px)}
.library-art-orbit:after{content:'';position:absolute;inset:22px;border-radius:50%;background:var(--brand-tint);opacity:.8}
.library-art-index,.library-art-caption{position:absolute;z-index:2;font-size:10px;letter-spacing:.13em;text-transform:uppercase;line-height:1.6;max-width:calc(100% - 48px)}
.library-art-index{top:22px;left:24px}.library-art-caption{bottom:22px;right:24px;text-align:right}
.library-caption-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding-top:16px}
.library-edition{font-family:Georgia,serif;font-size:56px;color:var(--brand);line-height:1;display:block;margin-bottom:20px}
.library-rule{height:1px;background:var(--line);max-width:200px;margin:34px 0 0}
/* Single focus: art and a floating text panel. */
.library-spotlight{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:0;padding:20px 0}
.library-stage .library-art{height:470px;border-radius:var(--library-radius)}
.library-panel{padding:38px;background:var(--paper);margin-left:-42px;z-index:2;border:1px solid var(--library-border);box-shadow:12px 12px 0 var(--brand-soft)}
.cv-reversed .library-spotlight .library-stage{order:2}.cv-reversed .library-spotlight .library-panel{order:1;margin-left:0;margin-right:-42px}
/* Dense catalogue: explanatory text above a compact technical display. */
.library-catalog{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;border-top:3px solid var(--brand);border-bottom:1px solid var(--line);padding:38px 0}
.library-catalog-art .library-art{height:315px;--library-art-size:220px;background:var(--brand-tint);border:1px solid var(--brand-soft)}
.library-catalog .library-copy h1{font-size:clamp(36px,4vw,54px)}
/* Lookbook: asymmetric typography and a tall visual. */
.library-lookbook{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.library-lookbook .library-copy h1{font-style:italic}.library-lookbook-visual{position:relative}
.library-lookbook .library-art{height:480px;border-radius:0;background:linear-gradient(145deg,var(--brand-tint),var(--brand-soft))}
.library-lookbook .library-art-plate{transform:rotate(-9deg)}
.library-wordmark{position:absolute;z-index:2;bottom:30px;left:-35px;font:italic 52px/1 Georgia,serif;color:var(--brand-deep);max-width:100%;overflow-wrap:anywhere}
.cv-reversed .library-lookbook-visual{order:-1}.cv-reversed .library-wordmark{left:auto;right:-20px}
/* Gallery: centered headline and a wide display with editorial labels. */
.library-gallery-heading{text-align:center;max-width:800px;margin:0 auto 34px}.library-gallery-heading p{margin-left:auto;margin-right:auto}.library-gallery-heading h1{margin-left:auto;margin-right:auto}
.library-gallery-stage{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 220px;align-items:center;gap:24px;border-block:1px solid var(--line);padding:22px 0}
.library-gallery-stage .library-art{height:280px;border-radius:0;--library-art-size:205px}
.library-side-label{writing-mode:vertical-rl;text-transform:uppercase;font-size:10px;letter-spacing:.16em}
.library-gallery-note{font:italic 25px/1.4 Georgia,serif;padding:20px;overflow-wrap:anywhere}
/* Luxury: arched artwork, quiet typography and hairline rules. */
.library-luxury{display:grid;grid-template-columns:1fr 1.05fr;gap:80px;align-items:center;padding:20px 24px}
.library-luxury .library-art{height:480px;border-radius:220px 220px 8px 8px;background:var(--brand-soft);--library-art-size:235px}
.library-luxury .library-art-index{top:auto;bottom:56px}.library-luxury .library-copy .button{border-radius:0}.library-luxury .library-art-caption{bottom:24px}
.cv-reversed .library-luxury-art{order:2}
/* Playful: offset shapes and soft surfaces. */
.library-playful{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;background:var(--brand-soft);padding:42px;border-radius:36px}
.library-playful .library-copy h1{font-weight:850}.library-playful .library-copy p{color:var(--brand-ink)}
.library-playful-stage{position:relative;min-width:0}.library-playful .library-art{background:var(--brand-tint);border-radius:42% 42% 28px 28px;height:380px;transform:rotate(3deg);--library-art-size:230px}
.library-dots{display:flex;gap:10px;margin-top:28px}.library-dots i{display:block;width:16px;height:16px;background:var(--brand);border-radius:50%}.library-dots i:nth-child(2){opacity:.5}.library-dots i:nth-child(3){opacity:.2}
.library-sticker{position:absolute;bottom:16px;left:-25px;background:var(--brand-deep);color:#fff;padding:12px 22px;border-radius:50%;transform:rotate(-12deg);max-width:90%;font-weight:650}
/* Menu: rounded presentation and compact horizontal products. */
.library-menu{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:36px;padding:40px;background:#fff;border:1px solid var(--brand-soft);border-radius:28px}
.library-menu .library-art{height:350px;border-radius:50%;--library-art-size:230px}.library-menu .library-art-orbit{background:var(--brand-tint);transform:none;border:0}.library-menu .library-art-index,.library-menu .library-art-caption{display:none}
.library-menu-visual{position:relative}.library-menu-label{position:absolute;right:0;bottom:10px;background:var(--brand-deep);color:#fff;font-size:11px;padding:12px 20px;border-radius:24px;max-width:100%}
.library-menu-step{display:flex;gap:25px;font-size:11px;margin-top:30px;color:var(--muted)}
/* High contrast: bold masthead, grid texture and compact products. */
.library-bold{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;background:var(--brand-deep);color:#fff;padding:44px;border-radius:12px}
.library-bold .eyebrow,.library-bold p{color:#ffffffc9}.library-bold .button{border:1px solid #ffffff70}.library-bold .library-art{background:transparent;color:var(--brand-soft);height:360px;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:28px 28px}
.library-bold .library-art-orbit:after{background:var(--brand);opacity:.12}.library-bold .library-art-orbit{border-color:#ffffff30}
.library-bold-line{margin-top:32px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #ffffff30;padding-top:14px}
/* Artisan: a masthead followed by a print-like composition. */
.library-artisan{display:grid;grid-template-columns:1fr 1fr;gap:32px 58px;align-items:center;border-block:1px solid var(--line);padding:22px 0 38px}
.library-artisan-title{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid var(--line);padding-bottom:22px}
.library-artisan .library-art{height:390px;border-radius:160px 160px 0 0;background:var(--brand-soft)}.library-artisan .library-copy h1{font-size:clamp(36px,4vw,56px)}
/* Studio: soft, centered presentation and a long decorative display. */
.library-studio{background:linear-gradient(160deg,#fff,var(--brand-soft));border-radius:110px 110px 26px 26px;padding:42px 40px 0;overflow:hidden;text-align:center}
.library-studio-copy{max-width:760px;margin:auto}.library-studio-copy p{margin-left:auto;margin-right:auto}
.library-studio-stage{max-width:820px;position:relative;margin:22px auto 0}.library-studio .library-art{height:230px;--library-art-size:185px;background:transparent;border-radius:0}.library-studio .library-art-orbit{width:400px;height:400px;transform:translate(80px,170px);background:var(--brand-soft)}
.library-studio-word{position:absolute;left:5%;top:40%;font:italic 32px Georgia,serif;z-index:2;max-width:28%;overflow-wrap:anywhere}.library-studio .library-art-index{display:none}
/* Market: catalogue-oriented banner with an anchored information strip. */
.library-market{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:center;background:var(--brand-soft);padding:36px 40px 0;border-radius:20px;overflow:hidden}
.library-market .library-copy p{color:var(--brand-ink)}.library-market-visual{position:relative}.library-market .library-art{height:325px;background:var(--brand-tint);--library-art-size:215px;border-radius:20px}
.library-market-tag{position:absolute;bottom:18px;right:-16px;background:var(--brand-deep);color:#fff;padding:10px 18px;font-size:11px;max-width:95%}
.library-market-footer{grid-column:1/-1;background:var(--brand-deep);color:#fff;display:flex;justify-content:space-between;gap:20px;margin:0 -40px;padding:16px 40px;font-size:12px}
/* Service: a visual introduction, with no booking or quotation actions. */
.library-service{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;padding:24px 0}
.library-service-stage{position:relative;padding-bottom:30px}.library-service .library-art{height:370px;background:linear-gradient(135deg,var(--brand-soft),var(--brand-tint));border-radius:28px;--library-art-size:225px}
.library-service-card{position:absolute;bottom:0;left:-30px;right:30px;border:1px solid var(--brand-soft);background:#fff;padding:20px 24px;box-shadow:0 12px 26px #182e2910;border-radius:12px}
.library-service-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.library-service-card strong{font-size:18px;color:var(--brand-deep)}
.cv-reversed .library-service-stage{order:-1}.cv-reversed .library-service-card{left:30px;right:-30px}
/* Panorama: layered landscape with a readable inset content panel. */
.library-panorama{min-height:470px;display:flex;align-items:center;padding:40px 40px 70px;overflow:hidden;border-radius:20px;background:var(--brand-soft)}
.library-panorama-background{position:absolute;inset:0;z-index:-1}.library-panorama .library-art{height:100%;border-radius:0;place-items:center end;padding-right:35px;--library-art-size:330px;background:linear-gradient(25deg,var(--brand-tint),var(--brand-soft))}.library-panorama .library-art-index,.library-panorama .library-art-caption{display:none}.library-panorama .library-art-orbit{right:70px;transform:translateY(-60px)}
.library-panorama-copy{max-width:580px;width:56%;padding:32px;background:var(--paper);border:1px solid var(--brand-soft);box-shadow:12px 12px 0 color-mix(in srgb,var(--brand) 9%,transparent)}.library-panorama .library-copy h1{font-size:clamp(34px,4vw,52px)}
.library-panorama-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:20px;padding:16px 30px;background:var(--brand-deep);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
/* Shared product components, composed according to the selected visual preset. */
.cv-segment .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cv-cards-portrait .product-art{aspect-ratio:3/4}.cv-cards-portrait .product-meta h3{font:400 23px/1.25 Georgia,serif}
.cv-cards-compact .product-grid,.cv-cards-arch .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cv-cards-compact .comparison-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}.cv-cards-compact .product-art{border-radius:7px;aspect-ratio:1.1}.cv-cards-compact .product-meta h3{font-size:17px}.cv-cards-compact .comparison-card .button{width:100%;padding:10px;font-size:12px}
.cv-cards-arch .product-art{border-radius:150px 150px 18px 18px;aspect-ratio:4/5}.cv-cards-arch .product-meta,.cv-cards-arch .comparison-card form{text-align:center}
.cv-cards-soft .comparison-card{padding:12px;background:#fff;border-radius:24px;border:1px solid var(--line)}.cv-cards-soft .product-art{border-radius:16px}
.cv-cards-wide .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.cv-cards-wide .product-art{aspect-ratio:4/3}
.cv-cards-list .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cv-cards-list .comparison-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px}.cv-cards-list .product-card{display:flex;align-items:center;gap:20px}.cv-cards-list .product-art{width:120px;flex-shrink:0;border-radius:12px}.cv-cards-list .product-art span{font-size:62px}.cv-cards-list .product-art i{width:25px;height:25px;right:8px;bottom:8px}.cv-cards-list .product-meta{padding:0}.cv-cards-list .comparison-card form{text-align:right;margin-top:12px}.cv-cards-list .comparison-card .button{padding:8px 14px;font-size:12px}
.cv-segment .product-meta{min-width:0}.cv-segment .product-meta h3{overflow-wrap:anywhere}
@media(max-width:1000px){.library-hero{--library-art-size:210px}.library-lookbook,.library-luxury,.library-service{gap:36px}.library-gallery-stage{grid-template-columns:35px minmax(0,1fr) 170px}.library-gallery-note{font-size:21px}.library-playful,.library-bold,.library-menu{padding:30px;gap:26px}.library-copy h1{font-size:42px}.library-panorama-copy{width:60%}.cv-cards-compact .product-grid,.cv-cards-arch .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.library-hero{margin:26px 0 40px;--library-art-size:210px}.library-copy h1,.cv-serif .library-copy h1{font-size:36px;letter-spacing:-1.3px;line-height:1.12}.library-copy .eyebrow{font-size:10px;letter-spacing:.11em}.library-copy p{font-size:15px}.library-art{height:300px}.library-art-orbit{width:230px;height:230px}.library-art-index,.library-art-caption{font-size:9px}.library-spotlight,.library-catalog,.library-lookbook,.library-luxury,.library-playful,.library-menu,.library-bold,.library-artisan,.library-market,.library-service{grid-template-columns:1fr;gap:28px}.library-spotlight{padding:0}.library-stage .library-art{height:290px}.library-panel,.cv-reversed .library-spotlight .library-panel{margin:-35px 14px 0;padding:24px;box-shadow:7px 7px 0 var(--brand-soft);order:2}.library-stage,.cv-reversed .library-spotlight .library-stage{order:1}.library-small{margin-top:24px}.library-catalog{padding:28px 0}.library-catalog-art .library-art{height:250px}.library-lookbook .library-art{height:340px}.library-lookbook-visual,.cv-reversed .library-lookbook-visual{order:2}.library-wordmark,.cv-reversed .library-wordmark{font-size:36px;left:12px;right:auto}.library-gallery-heading{text-align:left}.library-gallery-stage{grid-template-columns:1fr;gap:12px}.library-gallery-stage .library-art{height:260px}.library-side-label{writing-mode:horizontal-tb}.library-gallery-note{font-size:21px;padding:8px 4px}.library-luxury{padding:0}.library-luxury-art,.cv-reversed .library-luxury-art{order:2}.library-luxury .library-art{height:340px;--library-art-size:210px}.library-edition{font-size:38px;margin-bottom:15px}.library-playful,.library-menu,.library-bold{padding:28px 22px}.library-playful .library-art{height:280px;--library-art-size:200px}.library-sticker{left:-7px;font-size:13px}.library-menu .library-art{height:280px;--library-art-size:190px}.library-menu-label{font-size:10px;padding:10px 15px}.library-bold .library-art{height:280px;--library-art-size:200px}.library-artisan{padding:20px 0 28px}.library-artisan-title{font-size:9px;line-height:1.6}.library-artisan .library-art{height:300px}.library-artisan-copy{order:1}.library-artisan-title{order:0}.library-artisan-visual{order:2}.library-studio{padding:36px 20px 0;border-radius:65px 65px 20px 20px}.library-studio .library-art{height:210px;--library-art-size:165px}.library-studio-word{display:none}.library-market{padding:28px 22px 0}.library-market .library-art{height:270px;--library-art-size:185px}.library-market-tag{right:-7px}.library-market-footer{margin:0 -22px;padding:14px 22px;font-size:10px}.library-service{padding:0}.library-service-stage,.cv-reversed .library-service-stage{order:2;padding-bottom:20px}.library-service .library-art{height:300px;--library-art-size:200px}.library-service-card,.cv-reversed .library-service-card{left:14px;right:14px;padding:15px}.library-service-card strong{font-size:16px}.library-panorama{min-height:600px;padding:26px 20px 290px;align-items:flex-start}.library-panorama-copy{width:100%;max-width:none;padding:24px;box-shadow:6px 6px 0 color-mix(in srgb,var(--brand) 9%,transparent)}.library-panorama .library-art{place-items:end center;padding:0 0 72px;--library-art-size:190px}.library-panorama .library-art-orbit{bottom:70px;right:30px;transform:none}.library-panorama-caption{font-size:9px;padding:14px 18px}.cv-segment .product-grid,.cv-cards-compact .product-grid,.cv-cards-arch .product-grid,.cv-cards-wide .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cv-cards-list .product-grid{grid-template-columns:1fr}.cv-cards-list .product-art{width:105px}.cv-cards-compact .comparison-card,.cv-cards-soft .comparison-card{padding:9px}.cv-cards-portrait .product-meta h3{font-size:19px}.cv-cards-compact .product-meta h3{font-size:15px}.cv-segment .product-art span{font-size:70px}.cv-segment .product-art i{width:26px;height:26px;right:8px;bottom:8px}}
@media(prefers-reduced-motion:reduce){.cv-segment .product-art span{transition:none}.cv-segment{scroll-behavior:auto}}
