:root{--ink:#152027;--muted:#48575c;--paper:#f4f3ef;--line:#d8ddd7;--red:#c91e34;--green:#a9cc39;--blue:#78c9e2;--gallery:#ed4756;--edge:clamp(16px,4.5vw,72px);--max:1280px;font:16px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
body{margin:0}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.18em}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #237da0;outline-offset:3px}
p,h1,h2,h3,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:740;line-height:1.04;letter-spacing:-.048em;text-wrap:balance}
h1{font-size:clamp(40px,4.8vw,76px)}
h2{font-size:clamp(28px,3vw,44px)}
h3{font-size:clamp(21px,2vw,28px)}
p{max-width:66ch}
.shell{width:min(var(--max),calc(100% - 2 * var(--edge)));margin-inline:auto}
.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:10px;z-index:10}
.skip:focus{top:8px}
.mast{background:#151d22;color:white}
.bar{display:flex;align-items:center;gap:clamp(12px,2vw,30px);min-height:78px;padding-block:10px}
.logo img{width:166px;height:auto}
.mainnav{display:flex;align-items:center;gap:clamp(13px,2vw,30px);margin-left:auto}
.mainnav a,.languages summary,.store{font-weight:700;font-size:14px;text-decoration:none;line-height:1.4}
.mainnav a{padding-block:9px;border-bottom:2px solid transparent}
.mainnav a:hover,.mainnav a[aria-current]{border-color:#fff}
.languages{position:relative}
.languages summary{cursor:pointer;display:block;padding:9px 8px;border:1px solid #667278;border-radius:3px;list-style:none;white-space:nowrap}
.languages summary::-webkit-details-marker{display:none}
.languages summary::after{content:'⌄';margin-left:6px}
.languages nav{position:absolute;z-index:4;right:0;top:calc(100% + 5px);min-width:135px;display:grid;gap:1px;padding:6px;background:white;color:var(--ink);border:1px solid var(--line);box-shadow:0 5px 20px #14202720}
.languages nav a{padding:6px 10px;text-decoration:none;font-size:14px}
.languages nav a:hover,.languages nav a[aria-current]{background:#edf0ea;text-decoration:underline}
.store,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:11px 17px;background:var(--red);color:#fff;text-decoration:none;font-weight:700;font-size:14px;line-height:1.3;border:0;border-radius:3px;cursor:pointer;text-align:center}
.store:hover,.btn:hover{background:#aa142b}
.plain{font-weight:700;font-size:14px;color:var(--ink)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:21px}
.hero{display:grid;grid-template-columns:1fr 1.08fr;margin:clamp(16px,2.7vw,38px) 0 0;border:1px solid var(--line);background:white}
.copy{min-width:0;align-self:center;padding:clamp(23px,3.6vw,54px)}
.kicker{display:flex;align-items:center;gap:9px;margin-bottom:14px;font:700 11px/1.45 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a71a2a}
.kicker::before{content:'';height:2px;width:24px;flex:none;background:var(--red)}
.copy>p:not(.kicker){margin-top:15px;color:var(--muted);font-size:clamp(16px,1.2vw,19px)}
.hero-art{position:relative;min-width:0;min-height:clamp(270px,25vw,390px);background:#e7e9e4;overflow:hidden}
.hero-art img{position:absolute;width:100%;height:100%;object-fit:cover}
.home-hero .hero-art{min-height:clamp(330px,31vw,440px)}
.hero:has(.book) .hero-art{background:#e8e8df}
.hero-art.book img,.hero-art.sample img{object-fit:contain}
.hero-art.sample{background:#e6e5df}
.stripe{display:flex;height:6px}
.stripe span{flex:1}
.stripe span:nth-child(1){background:var(--green)}.stripe span:nth-child(2){background:var(--blue)}.stripe span:nth-child(3){background:var(--gallery)}
.section{margin-top:clamp(36px,4.7vw,69px)}
.section-head{display:flex;align-items:center;gap:20px;margin-bottom:20px}
.section-head::after{content:'';flex:1;min-width:15px;height:1px;background:#cbd1c9}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.lib{display:block;min-width:0;background:#fff;border:1px solid var(--line);text-decoration:none;border-radius:3px;overflow:hidden}
.card:hover,.lib:hover{border-color:#7b8987}
.card:hover h3,.lib:hover h3{text-decoration:underline}
.card img{width:100%;aspect-ratio:1.85;object-fit:cover}
.card-body{padding:17px 19px 20px}
.card-body h3,.lib h3{font-size:clamp(20px,2vw,26px);display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.arr{font-size:.72em;color:#9d2234;font-weight:400}
.card p,.lib p{margin-top:8px;font-size:14px;line-height:1.45;color:var(--muted)}
.lib{position:relative;display:grid;grid-template-columns:clamp(48px,5vw,77px) minmax(0,1fr);align-items:center;gap:14px;padding:19px 16px;border-top:4px solid var(--accent)}
.lib img{width:100%;object-fit:contain}
.lib small{display:block;margin-bottom:4px;color:#5d696c;font:bold 11px/1.4 Arial,sans-serif;letter-spacing:.12em}
.duo{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.duo>img{width:100%;height:100%;min-height:220px;max-height:450px;object-fit:cover}
.duo .copy p:not(.kicker){font-size:16px}
.specs{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line)}
.specs div{padding:20px clamp(12px,2vw,26px);border-left:1px solid var(--line)}
.specs div:first-child{border:0}
.specs dt{font-size:13px;color:var(--muted)}.specs dd{margin-top:6px;font-weight:bold;font-size:clamp(20px,2.4vw,31px);line-height:1.2}
.panel{padding:clamp(18px,3vw,38px);border:1px solid var(--line);border-radius:3px;background:#fff}
.panel h2{margin-bottom:14px}.panel>p{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:18px;align-items:start}
.contact-grid address,.footer address{font-style:normal}
.contact-grid .map{width:100%;aspect-ratio:1.55;border:0;margin-top:17px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fields .wide{grid-column:1/-1}
.fields label{display:block;margin-bottom:4px;font-size:14px;font-weight:bold}
.fields :is(input,select,textarea){font:inherit;width:100%;max-width:100%;min-height:42px;padding:8px 11px;border:1px solid #869398;border-radius:3px;color:var(--ink);background:white}
.fields textarea{resize:vertical}
.trap{display:none!important}
.form-status{margin-top:12px;font-weight:700}
.challenge{margin:15px 0;max-width:100%;min-height:66px}
.btn:disabled{opacity:.65;cursor:wait}
.media{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(20px,3vw,46px)}
.media iframe{width:100%;aspect-ratio:16/9;border:0;background:#172128}
.media h2{margin-bottom:15px}
.footer{margin-top:clamp(44px,6vw,82px);padding:32px 0 25px;border-top:4px solid #25353b;background:#182226;color:#f7f8f5}
.footgrid{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer strong{display:block;font-size:20px;letter-spacing:-.03em}
.footer address,.footer a,.footer p{font-size:14px;color:#e0e6e3}
.footer nav{display:grid;gap:5px}
.legal{border-top:1px solid #536066;margin-top:22px;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.minilinks{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:16px}
.minilinks a{font-weight:bold;color:#214956;font-size:14px}
@media(max-width:940px){.bar{gap:12px;flex-wrap:wrap}.mainnav{gap:14px}.logo img{width:142px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.lib{grid-template-columns:1fr;align-content:start}.lib img{width:70px;height:87px;object-position:left}.copy{padding:24px}h1{font-size:clamp(36px,5.7vw,55px)}}
@media(max-width:720px){.bar{padding:12px 0 8px;min-height:0}.logo{margin-right:auto}.logo img{width:118px}.mainnav{order:1;margin:0;border-top:1px solid #55616a;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:2px 16px}.mainnav a{font-size:13px;padding-block:7px}.store{padding:8px 10px;min-height:36px;font-size:13px}.languages summary{padding:6px}.hero,.duo,.contact-grid,.media{grid-template-columns:1fr}.hero-art,.home-hero .hero-art{min-height:0;aspect-ratio:1.95}.copy{padding:23px 19px}.kicker{margin-bottom:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.libraries{grid-template-columns:1fr}.lib{grid-template-columns:55px minmax(0,1fr);align-items:center;padding:13px;gap:14px}.lib img{width:55px;height:76px}.duo>img{min-height:0;aspect-ratio:1.95}.specs{grid-template-columns:1fr}.specs div,.specs div:first-child{border:0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 15px}.specs dd{margin:0}.card-body{padding:13px}.fields{grid-template-columns:1fr}.challenge{min-height:64px}.legal{flex-wrap:wrap}}
@media(max-width:435px){.grid:not(.libraries){grid-template-columns:1fr}.logo img{width:94px}.shell{width:calc(100% - 24px)}.bar{gap:7px}.store{max-width:46%}.hero-art.sample{aspect-ratio:1.65}.contact-grid .panel{padding:14px}.g-recaptcha{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.film{display:grid;place-items:center;position:relative;overflow:hidden;border-radius:3px}
.film img{width:100%;aspect-ratio:1.9;object-fit:cover}
.film b{display:grid;place-items:center;position:absolute;width:58px;height:58px;border:2px solid white;border-radius:50%;background:#132026da;color:white;font-size:22px}
h1,h2,h3,.btn,.store,.mainnav a{overflow-wrap:anywhere}
@media(max-width:435px){h1,h2,h3{hyphens:auto}}
@media(max-width:720px){.home-hero .hero-art{aspect-ratio:1.5}}
