/* Shared product presentation. Original coastal colours, Plex and brand assets. */
:root{--product-max:1440px;--product-wide:1440px;--product-gutter:clamp(20px,3vw,48px);--product-section:clamp(64px,7vw,108px);--product-ease:cubic-bezier(.2,.7,.2,1);--product-radius:8px;--product-nav-height:64px}
body{font-size:16px;line-height:1.6}
.product-wrap{width:100%;max-width:var(--product-max);padding-inline:var(--product-gutter);margin-inline:auto}
.product-wrap--wide{max-width:var(--product-wide)}
.product-section{padding-block:var(--product-section)}
.product-eyebrow{margin:0 0 20px;font:500 12px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.product-title{font:500 clamp(42px,4.3vw,70px)/1.06 var(--sans);letter-spacing:-.045em;margin:0;max-width:15ch;text-wrap:balance}
.product-lede{font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--text2);max-width:53ch;margin:24px 0 0}
.product-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);gap:48px;align-items:end;margin-bottom:36px}
.product-heading h2,.product-h2{font:500 clamp(30px,3vw,46px)/1.12 var(--sans);letter-spacing:-.035em;margin:0;text-wrap:balance}
.product-heading p:not(.product-eyebrow){color:var(--muted);font-size:17px;max-width:54ch;margin:0}
.product-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px}
.product-note{font-size:14px;line-height:1.6;color:var(--muted)}
.product-rule{border:0}
.product-text-link{color:var(--text);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:5px;font-weight:500}
.product-text-link:hover{color:var(--accent);text-decoration-color:var(--accent)}
.product-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid var(--line2);border-radius:4px;font:500 11px/1.3 var(--sans);letter-spacing:.035em;white-space:nowrap;color:var(--text2)}
.product-badge--free{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.btn{border-radius:4px;min-height:44px;height:auto;padding:13px 20px;font-size:14px;line-height:1.2;transition:background 140ms,border-color 140ms,color 140ms}
.btn--sm{padding:10px 14px;min-height:38px;font-size:13px}
.nav{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
.nav>.wrap{max-width:var(--product-wide);padding-inline:var(--product-gutter)}
.nav__in{height:var(--product-nav-height);gap:36px}
.nav__logo{flex-shrink:0}.nav__logo img{height:47px;width:auto;margin:0}
.nav__links{font:500 14px/1 var(--sans);letter-spacing:0;text-transform:none;gap:18px}
.nav__links a{padding-block:23px!important;display:block}
.nav__links a[aria-current=page]{box-shadow:inset 0 -2px var(--accent)}
.nav__tools{gap:12px}.iconbtn{width:38px;height:38px;border-radius:4px}
.nav__mobile-download{display:none}
.nav__download{white-space:nowrap;flex-shrink:0}
.foot{padding:64px 0 32px;background:var(--bg2)}
.foot>.wrap{max-width:var(--product-wide);padding-inline:var(--product-gutter)}
.foot__in{gap:30px 72px;align-items:start}.foot__in img{height:54px}
.foot__links{font:400 14px/1.5 var(--sans);letter-spacing:0;text-transform:none;gap:14px 28px;max-width:720px;justify-self:end}
.foot__legal{font:400 12px/1.7 var(--sans);color:var(--muted);max-width:105ch}
.foot__signature{max-width:30ch;color:var(--muted);font-size:14px;margin:14px 0 0}
.product-disclosure{margin-top:24px;padding-top:18px;font-size:14px;color:var(--muted)}
.product-disclosure summary{cursor:pointer;color:var(--text);font-weight:500;list-style-position:outside;margin-left:18px}
.product-disclosure p{max-width:75ch}.product-disclosure table{width:100%;max-width:680px;border-collapse:collapse;margin-top:16px;font-size:13px}
.product-disclosure th,.product-disclosure td{text-align:left;padding:9px 0;border-bottom:1px solid var(--line);font-weight:400}.product-disclosure td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.product-disclosure code{font-size:12px;overflow-wrap:anywhere}
.product-motion{animation:product-enter 280ms var(--product-ease) both}
@keyframes product-enter{from{transform:translateY(6px)}to{transform:translateY(0)}}
@media(min-width:861px) and (max-width:1100px){.nav__in{gap:24px}.nav__links{gap:18px}.nav__tools>.hide-xs{display:none}}
@media(max-width:860px){.product-heading{grid-template-columns:1fr;gap:20px}.product-title{font-size:clamp(40px,7vw,60px);max-width:18ch}.nav__in{gap:14px}.nav__logo img{height:44px}.nav__links{gap:0}.nav nav.is-open .nav__links a{padding:16px 0!important}.foot__links{justify-self:start;justify-content:flex-start}.product-heading p:not(.product-eyebrow){font-size:16px}}
@media(min-width:861px) and (max-width:1100px){
  .nav nav{display:none}.nav .menu-btn{display:inline-grid}
  .nav nav.is-open{display:block;position:absolute;inset:100% 0 auto;background:var(--bg);border-bottom:1px solid var(--line)}
  .nav nav.is-open .nav__links{flex-direction:column;gap:0;padding:8px var(--product-gutter) 18px}
  .nav nav.is-open .nav__links a{padding:16px 0!important}
}
@media(max-width:600px){.nav__download{display:none}.nav__mobile-download{display:list-item}.nav__logo img{height:38px}.nav__tools{gap:8px}}
@media(prefers-reduced-motion:no-preference){body,.nav,.foot{transition:background-color 160ms ease,color 160ms ease}}
@media(prefers-reduced-motion:reduce){.product-motion{animation:none}html{scroll-behavior:auto}}
