/* Product showcase. Established Findalys world, art-directed feature mockups. */
.product-page{--product-muted:#596477;--product-rule:#d8cfbb;overflow:clip}
.product-wrap{max-width:1260px;margin-inline:auto;padding-inline:40px}
.product-hero{padding-block:68px 52px}
.product-hero-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:44px}
.product-page .product-hero h1{font-size:clamp(34px,3.5vw,49px);max-width:15ch;line-height:1.13}
.product-hero h1 span{color:#806119}
.product-hero-copy>p{margin-top:25px;max-width:35ch;font-size:17px}
.product-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.product-picture{position:relative;margin:0;min-width:0}
.product-picture img{display:block;width:100%;height:auto;aspect-ratio:3/2;border-radius:14px;outline:1px solid oklch(0 0 0 / .07);outline-offset:-1px}
.product-picture figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:10px;font-size:12px;line-height:1.5;color:var(--product-muted)}
.product-picture figcaption a{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0;padding-block:10px;text-decoration-thickness:1px}
.product-picture figcaption a:hover{color:#806119}
.product-index{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:19px;border-block:1px solid var(--product-rule)}
.product-index>p{font-size:14px;line-height:1.5;color:#283550}
.product-index nav{display:flex;flex-wrap:wrap;gap:5px 26px}
.product-index a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:#806119;text-decoration-thickness:1px}
.product-chapter{scroll-margin-top:88px;padding-block:86px}
.product-split{display:grid;grid-template-columns:.78fr 1.22fr;gap:64px;align-items:center}
.product-split--reverse{grid-template-columns:1.22fr .78fr}
.product-split--reverse .product-copy{order:2}
.product-split--reverse .product-picture{order:1}
.product-copy h2,.product-copy h3{max-width:19ch;font-size:clamp(28px,2.8vw,38px);line-height:1.2}
.product-copy>p{margin-top:22px;max-width:40ch;font-size:16px}
.product-copy .product-detail{margin-top:20px;padding-top:18px;border-top:1px solid var(--product-rule);font-size:14px;color:#596477;max-width:40ch}
.product-copy .page-link{margin-top:14px}
.product-source-section{background:#111c35;color:#f7f4ee}
.product-source-section .product-copy>p{color:#ced5e2}
.product-source-section .product-copy .product-detail{color:#edcc83;border-color:#ffffff24}
.product-source-section .product-picture figcaption{color:#ced5e2}
.product-source-section .product-picture figcaption a:hover{color:#edcc83}
.product-source-section .product-picture img{outline-color:oklch(1 0 0 / .1)}
.product-action-points{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:19px}
.product-action-points li{padding-top:15px;border-top:1px solid var(--product-rule)}
.product-action-points strong{display:block;color:#111c35;font-weight:500;font-size:16px;margin-bottom:6px}
.product-action-points span{font-size:14px;line-height:1.6;color:#596477;display:block;max-width:38ch}
.product-trace-section{background:#eeebe4}
.product-integration{padding-block:70px 58px}
.product-integration-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.product-integration h2{max-width:20ch}
.product-integration-head p{font-size:16px;max-width:46ch}
.product-connection{margin-top:34px;padding-block:25px;border-block:1px solid var(--product-rule);display:grid;grid-template-columns:1fr 60px 1fr 60px 1fr;align-items:center;text-align:center}
.product-connection div{display:grid;gap:7px}
.product-connection strong{font-size:17px;font-weight:500;line-height:1.4}
.product-connection span{font-size:13px;color:#596477;line-height:1.5}
.product-connection svg{width:100%;height:20px;color:#a88a45}
.product-connection .connection-assistant strong{font-family:'Playfair Display',Georgia,serif;font-size:24px}
.product-pilotage{padding-block:24px 74px;scroll-margin-top:88px}
.product-pilotage-head{display:flex;justify-content:space-between;align-items:start;gap:64px;padding-bottom:18px}
.product-pilotage-head h2{max-width:19ch}
.product-pilotage-head>p{max-width:46ch;font-size:15px}
.product-pilotage-head>p strong{color:#111c35;font-weight:500}
.product-dsi-chapter{padding-block:64px}
.product-dsi-chapter .product-copy h3{font-weight:500;letter-spacing:-.025em}
.product-tech-link{margin-top:33px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:26px;border-top:1px solid var(--product-rule)}
.product-tech-link p{font-size:15px;max-width:48ch}
.product-page .page-button{transition:background .18s,color .18s,transform .18s cubic-bezier(.2,0,0,1)}
.product-page .page-button:active{transform:scale(.96)}
.product-page :focus-visible{outline:2px solid #a88a45;outline-offset:5px}
.product-source-section :focus-visible{outline-color:#edcc83}
.product-page .page-contact>.page-wrap{padding-block:54px}
.product-page .page-contact h2{max-width:24ch}
@media(min-width:1000px){.product-hero .product-picture{margin-right:-10px}}
@media(max-width:999px){
 .product-wrap{padding-inline:28px}.product-hero-grid{grid-template-columns:.86fr 1.14fr;gap:24px}
 .product-hero{padding-block:45px 32px}.product-hero-copy>p{font-size:16px}
 .product-split,.product-split--reverse{gap:35px;grid-template-columns:1fr 1.2fr}.product-split--reverse{grid-template-columns:1.2fr 1fr}
 .product-chapter{padding-block:62px}.product-copy h2,.product-copy h3{font-size:30px}
 .product-index{align-items:flex-start;flex-direction:column;gap:8px}.product-integration-head,.product-pilotage-head{gap:32px}
}
@media(max-width:700px){
 .product-wrap{padding-inline:22px}.product-hero{padding-block:32px 25px}
 .product-hero-grid,.product-split,.product-split--reverse,.product-integration-head{grid-template-columns:1fr;gap:27px}
 .product-page .product-hero h1{font-size:36px;max-width:16ch}.product-hero-copy>p{margin-top:18px;max-width:37ch}
 .product-hero-actions{margin-top:18px;gap:17px}
 .product-picture{margin-inline:-7px!important}.product-picture img{border-radius:10px}
 .product-picture figcaption{padding-inline:7px;gap:12px;font-size:12px}.product-picture figcaption>span{max-width:25ch}
 .product-index{padding-block:15px}.product-index nav{gap:0 23px}.product-index>p{font-size:13px}
 .product-chapter{padding-block:41px}.product-copy h2,.product-copy h3{font-size:29px;max-width:21ch}
 .product-copy>p{margin-top:17px;font-size:16px;max-width:none}.product-copy .product-detail{max-width:none;font-size:14px;margin-top:17px}
 .product-split--reverse .product-copy{order:0}.product-split--reverse .product-picture{order:0}
 .product-action-points{gap:15px;margin-top:20px}.product-integration{padding-block:40px 24px}
 .product-integration-head{gap:17px}.product-integration h2,.product-pilotage-head h2{font-size:29px;max-width:22ch}
 .product-connection{grid-template-columns:1fr;gap:12px;margin-top:25px;padding-block:25px}
 .product-connection svg{width:40px;transform:rotate(90deg);justify-self:center;height:30px}
 .product-connection div{gap:4px}.product-pilotage{padding-block:26px 39px}
 .product-pilotage-head{display:block;padding-bottom:0}.product-pilotage-head>p{margin-top:17px;font-size:15px}
 .product-tech-link{flex-direction:column;align-items:flex-start;gap:10px;margin-top:0;padding-top:23px}
 .product-page .page-contact>.page-wrap{padding-block:35px}.product-page .page-contact h2{font-size:28px}
}

/* The artwork stays in the reading journey; mobile gets a full-screen viewer. */
.product-viewer{position:fixed;inset:0;margin:auto;width:min(1320px,calc(100% - 64px));height:min(1000px,calc(100dvh - 64px));max-width:none;max-height:none;padding:0;border:0;border-radius:16px;background:#f7f4ee;color:#111c35;box-shadow:0 24px 80px #050b1b66;overflow:hidden}
.product-viewer::backdrop{background:#111c35cc;backdrop-filter:blur(6px)}
.product-viewer-frame{height:100%;display:flex;flex-direction:column}
.product-viewer-hint{display:none}
.product-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 22px;border-bottom:1px solid #d8cfbb;flex-shrink:0}
.product-viewer-toolbar h2{margin:0;font:500 16px/1.5 Inter,sans-serif;text-wrap:balance}
.product-viewer-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.product-viewer button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 14px;border:0;border-radius:8px;background:transparent;color:#111c35;font:500 14px/1.4 Inter,sans-serif;cursor:pointer;transition:background 150ms,transform 150ms cubic-bezier(.2,0,0,1)}
.product-viewer button:hover{background:#e9e3d8}.product-viewer button:active{transform:scale(.96)}
.product-viewer button[aria-pressed=true]{background:#111c35;color:#f7f4ee}
.product-viewer :focus-visible{outline:2px solid #806119;outline-offset:3px}
.product-viewer-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#a88a45 #eee8dd;touch-action:pan-x pan-y pinch-zoom}
.product-viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px}
.product-viewer.is-zoomed .product-viewer-stage{display:block}
.product-viewer.is-zoomed .product-viewer-stage img{width:1536px;max-width:none;max-height:none;margin-inline:auto}
@media(max-width:700px){
 .product-viewer{width:100%;height:100dvh;border-radius:0}
 .product-viewer-toolbar{align-items:flex-start;flex-direction:column;gap:5px;padding:calc(12px + env(safe-area-inset-top)) 16px 10px}
 .product-viewer-toolbar h2{font-size:15px;max-width:100%}
 .product-viewer-controls{width:100%;justify-content:space-between}
 .product-viewer-stage{padding:16px 0 calc(16px + env(safe-area-inset-bottom))}
 .product-viewer-stage img{border-radius:0}
 .product-viewer.is-zoomed .product-viewer-stage img{width:1100px}
 .product-viewer.is-zoomed .product-viewer-hint{display:block;flex-shrink:0;margin:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #d8cfbb;font:400 14px/1.5 Inter,sans-serif;color:#596477;text-align:center}
}
@media(prefers-reduced-motion:no-preference){
 .product-viewer[open]{animation:product-viewer-in .2s cubic-bezier(.16,1,.3,1)}
 @keyframes product-viewer-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.product-viewer button{transition:none}}
@media(prefers-reduced-motion:no-preference){
 [data-product-reveal].product-arrived .product-copy{animation:product-copy-in .7s cubic-bezier(.16,1,.3,1) both}
 [data-product-reveal].product-arrived .product-picture{animation:product-image-in .95s cubic-bezier(.16,1,.3,1) .1s both}
 .product-hero-copy{animation:product-copy-in .65s cubic-bezier(.16,1,.3,1) both}
 .product-hero .product-picture{animation:product-image-in .95s cubic-bezier(.16,1,.3,1) .1s both}
 @keyframes product-copy-in{from{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:none}}
 @keyframes product-image-in{from{opacity:.55;transform:translateY(23px) scale(.98);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
}
