@font-face{font-family:Ryven;src:local('Helvetica Neue');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#222;background:#fff;font-family:Ryven,Arial,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.08}h1{font-size:clamp(2.7rem,5.2vw,5rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.4vw,3.5rem);letter-spacing:-.035em}h3{font-size:1.25rem;line-height:1.3}.announcement{height:35px;background:#252525;color:white;text-align:center;font-size:.875rem;display:grid;place-items:center;letter-spacing:.035em}header{height:95px;display:flex;align-items:center;justify-content:space-between;padding:0 3%;background:#fff;position:relative;z-index:10;border-bottom:1px solid #eee}.logo{width:162px;flex-shrink:0}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:1rem}.nav a:hover,.text-link:hover{color:#b92335}.nav-right{display:flex;gap:22px;align-items:center}.icon-button{border:0;background:none;padding:10px;display:flex;align-items:center;gap:8px}.icon-button svg{width:21px;height:21px}.menu-toggle{display:none}.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 28px;background:#242424;color:white;border:1px solid #242424;text-align:center;transition:background .2s,color .2s}.btn:hover{background:#b31e30;border-color:#b31e30;color:white}.btn.light{background:white;border-color:white;color:#222}.btn.outline{background:transparent;color:#222;border-color:#999}.btn:disabled{cursor:default;background:#eee;color:#777;border-color:#ddd}.hero{background:#dadbd9;min-height:615px;height:calc(90vh - 130px);max-height:860px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;right:0;top:0;height:100%;width:55%;object-fit:cover;object-position:center 56%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#dadbd9 5%,#dadbd9 37%,transparent 68%);pointer-events:none}.hero-copy{position:relative;z-index:1;padding:70px 4%;max-width:800px;width:66%}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:24px}.hero-copy h1{max-width:650px;margin-bottom:30px}.hero-copy p{font-size:1.125rem;max-width:410px}.actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:32px}.intro{max-width:960px;margin:auto;text-align:center;padding:85px 32px}.intro h2{font-size:clamp(1.8rem,3vw,2.9rem);line-height:1.25}.intro p{color:#666}.section{padding:25px 3% 75px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.section-heading h2{margin:0}.text-link{text-decoration:underline;text-underline-offset:6px}.tabs{display:flex;gap:30px;overflow:auto;border-bottom:1px solid #ddd;margin:0 0 28px;scrollbar-width:thin}.tabs button,.tabs a{flex-shrink:0;background:none;border:0;padding:15px 0;font-size:1rem;border-bottom:2px solid transparent}.tabs .active{border-color:#252525}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product{min-width:0}.product-image{position:relative;display:block;background:#dadad8;overflow:hidden;aspect-ratio:3/4}.product-image img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.product-image:hover img{transform:scale(1.035)}.badge{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.9);padding:5px 10px;font-size:.75rem;letter-spacing:.03em}.product h3{margin:17px 0 6px;font-size:1.125rem}.product p{font-size:.875rem;color:#666;margin-bottom:10px}.product .product-bottom{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;padding-top:8px}.product .product-bottom a{text-decoration:underline;text-underline-offset:4px}.split{display:grid;grid-template-columns:1fr 1fr;background:#e9e9e5}.split>img{width:100%;height:580px;object-fit:cover}.split-copy{padding:70px 12%;align-self:center}.split-copy p{max-width:500px;font-size:1.125rem}.ribbon{padding:27px;text-align:center;border-top:1px solid #ddd;border-bottom:1px solid #ddd;font-size:1rem;word-spacing:7px;letter-spacing:.06em}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.principles p{color:#666}.brand-word{font-size:clamp(5rem,18vw,19rem);line-height:1;letter-spacing:.15em;text-align:center;margin:35px 0 0;padding-left:.15em;color:#d4d4d1}footer{padding:60px 4% 25px;background:#f1f1ed}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid h2{font-size:2.3rem;max-width:440px}.footer-grid h3{font-size:1rem;margin:0 0 20px}.footer-grid a{display:block;margin-bottom:12px;font-size:.875rem}.footer-bottom{border-top:1px solid #d4d4d1;padding-top:20px;margin-top:35px;display:flex;justify-content:space-between;gap:20px;font-size:.875rem;color:#666}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:2px solid #b31e30;outline-offset:5px}.muted{color:#666}.page-top{padding:55px 4% 32px}.page-top h1{margin-bottom:22px}.breadcrumb{font-size:.875rem;color:#666;margin-bottom:30px}.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.catalog-toolbar input{padding:12px;border:1px solid #bbb;width:min(100%,340px);border-radius:0}.empty{padding:50px 0;color:#666}.details{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:10px 4% 70px}.detail-image{background:#ddd;align-self:start}.detail-image img{width:100%;max-height:800px;object-fit:contain}.detail-copy{padding-top:15px}.detail-copy h1{font-size:clamp(2rem,3.5vw,3.6rem);margin-bottom:15px}.detail-copy .subtitle{font-size:1.3rem}.detail-copy .volume{margin:25px 0;border:1px solid #aaa;display:inline-block;padding:8px 18px}.purchase{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 12px}.purchase .btn{padding:12px}.notice{font-size:.875rem;color:#646464;margin:15px 0 28px}.status-label{display:inline-block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 24px;color:#963244}details{border-top:1px solid #ccc}details:last-child{border-bottom:1px solid #ccc}summary{padding:18px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';font-size:1.3rem}details[open] summary:after{content:'−'}details p{font-size:1rem;color:#555}.editorial{max-width:920px;margin:auto;padding:65px 35px 90px}.editorial h1{font-size:clamp(2.5rem,5vw,4.2rem)}.editorial p{font-size:1.15rem;line-height:1.7}.editorial h2{margin-top:55px;font-size:2rem}.quiz{max-width:1050px;margin:0 auto;padding:65px 30px 100px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:35px 0}.quiz-options a{border:1px solid #aaa;padding:24px;display:flex;justify-content:space-between;align-items:center}.quiz-options a:hover{background:#eee}.quiz small{font-size:.875rem;color:#666}dialog{border:0;padding:35px;width:min(700px,94vw);max-height:85vh}dialog::backdrop{background:#0007}dialog form{display:flex;justify-content:space-between;align-items:center}dialog form button{font-size:1.7rem;border:0;background:none}dialog input{width:100%;padding:15px;border:1px solid #888}.search-result{display:flex;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid #ddd}.search-result img{width:60px;height:80px;object-fit:cover}.search-result small{display:block;color:#666}.menu-panel{display:none}.mobile-only{display:none}@media(min-width:1700px){.section,header,.page-top{padding-left:5%;padding-right:5%}}@media(max-width:1000px){header{height:85px}.nav{gap:16px}.nav a{font-size:.875rem}.logo{width:138px}.nav-right{gap:5px}.nav-right .where{display:none}.hero{height:640px;min-height:0}.hero-copy{width:70%}.products{gap:15px}.split-copy{padding:45px 8%}.split>img{height:470px}.details{gap:5%}.purchase{grid-template-columns:1fr}}@media(max-width:700px){header{height:77px;padding:0 18px}.logo{width:135px}.nav{display:none}.icon-button span{display:none}.menu-toggle{display:flex}.hero{height:auto;min-height:750px;align-items:flex-end;background:#dadbd9}.hero-photo{top:0;width:100%;height:490px;object-fit:cover;object-position:center 47%}.hero:after{background:linear-gradient(0deg,#dadbd9 5%,#dadbd9 28%,transparent 60%)}.hero-copy{width:100%;padding:390px 23px 40px;max-width:none}.hero-copy h1{font-size:2.9rem;max-width:400px;margin-bottom:20px}.hero-copy .eyebrow{font-size:.75rem;margin-bottom:14px}.hero-copy p{font-size:1rem}.actions{gap:10px;margin-top:24px}.actions .btn{padding:11px 19px;font-size:.875rem}.intro{padding:55px 22px}.section{padding:15px 18px 50px}.section-heading{align-items:flex-end}.section-heading h2{font-size:1.9rem}.section-heading .text-link{font-size:.875rem;flex-shrink:0}.tabs{gap:24px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}.product h3{font-size:1rem;margin-top:12px}.product .product-bottom{flex-wrap:wrap;font-size:.8rem}.product p{font-size:.8rem}.badge{top:8px;left:8px;font-size:.75rem;padding:3px 6px}.split{grid-template-columns:1fr}.split>img{height:430px}.split-copy{padding:42px 25px}.split-copy h2{font-size:2.4rem}.split-copy p{font-size:1rem}.ribbon{font-size:.875rem;line-height:2;word-spacing:2px}.principles{grid-template-columns:1fr;gap:25px;margin-top:30px}.principles h3{margin-bottom:8px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid h2{font-size:2rem}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:10px}.page-top{padding:35px 20px 20px}.page-top h1{font-size:2.7rem}.catalog-toolbar{flex-wrap:wrap}.catalog-toolbar input{width:100%}.details{grid-template-columns:1fr;padding:0 20px 45px}.detail-copy{padding-top:30px}.detail-copy h1{font-size:2.3rem}.purchase{grid-template-columns:1fr}.editorial{padding:45px 23px 65px}.editorial p{font-size:1rem}.quiz{padding:45px 22px}.quiz-options{grid-template-columns:1fr}.menu-panel.open{display:flex;position:absolute;top:100%;left:0;right:0;background:white;flex-direction:column;gap:0;padding:15px 25px 30px;border-bottom:1px solid #ccc}.menu-panel a{padding:12px 0}.mobile-only{display:block}.brand-word{margin-top:45px;font-size:16vw}dialog{padding:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:700px){.hero{min-height:0}.hero-photo{height:400px}.hero-copy{padding-top:300px;padding-bottom:32px}.hero-copy h1{font-size:2.25rem;max-width:350px}.detail-image img{max-height:520px}.hero:after{background:linear-gradient(0deg,#dadbd9 0%,#dadbd9 35%,transparent 64%)}}

/* Full-frame product photography. Landscape sets get two grid columns so every
   item remains legible without opening a detail page. */
.product-wide{grid-column:span 2}
.product-image{aspect-ratio:auto;background:#a4a3a2}
.pack-frame{position:relative;display:block;width:100%;aspect-ratio:3/4;overflow:hidden;background:#a4a3a2}
.pack-frame.pack-wide{aspect-ratio:3/2}
.pack-frame img,.product-image .pack-frame img,.detail-image .pack-frame img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;transform:none;transition:none}
.pack-normalized{background:linear-gradient(130deg,#949392,#aaa9a8 58%,#b5b4b3)}
.pack-normalized img,.product-image .pack-normalized img,.detail-image .pack-normalized img{position:absolute;max-width:none;width:calc(100% * var(--pack-scale));height:calc(100% * var(--pack-scale));left:calc((1 - var(--pack-scale)) * 50%);top:var(--pack-top);mask-image:radial-gradient(ellipse 45% 60% at 50% 60%,#000 70%,transparent 100%)}
.product-image:hover img{transform:none}
.product-image:hover{outline:1px solid #aaa;outline-offset:3px}
.product .product-bottom>span{font-weight:500}
.detail-image{background:none;width:100%;max-width:600px;justify-self:center}
.split>img{height:auto;aspect-ratio:3/2;object-fit:contain;align-self:center}
.search-result .pack-thumb{width:60px;height:80px;aspect-ratio:3/4;flex-shrink:0}.search-result .pack-thumb.pack-wide{width:84px;height:56px;aspect-ratio:3/2}
.search-result .pack-thumb:not(.pack-normalized) img{width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.detail-image{max-width:390px}.product-wide h3{font-size:1.125rem}}
