/* R16 content pages (guides, policies, search, gift guide): server-owned content in the storefront shell. */
.pub16 .v-header{position:sticky;top:0}
.pub16 main{width:min(100% - var(--gutter)*2,1100px);margin:clamp(40px,6vw,80px) auto clamp(70px,9vw,120px);overflow-wrap:anywhere}
.pub16 main>h1{font-family:var(--disp);font-variation-settings:'opsz' 144,'SOFT' 50;font-weight:560;font-size:clamp(2.8rem,6vw,5.2rem);line-height:1;letter-spacing:-.02em;margin:0 0 28px;animation:pub-in 1s var(--ease-out) both}
@keyframes pub-in{from{opacity:0;transform:translateY(18px)}}
.pub16 main>p,.pub16 main>div,.pub16 main>h2,.pub16 main>h3,.pub16 main>ul:not(.public-portraits),.pub16 main>ol{max-width:68ch}
.pub16 main p{margin-block:14px;font-size:1.06rem;line-height:1.7;color:var(--ink-2)}
.pub16 main h2,.pub16 main h3{font-family:var(--disp);font-weight:560;line-height:1.15;margin:40px 0 12px}
.pub16 main h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.pub16 main h3{font-size:1.35rem}
.pub16 main a{color:var(--rust);text-underline-offset:.2em}
.pub16 main li{margin-block:10px;line-height:1.6}
.pub16 main table{display:block;max-width:100%;overflow:auto;border-collapse:collapse}
.pub16 main th,.pub16 main td{padding:10px;border:1px solid var(--line-2)}
.pub16 main img{max-width:100%;height:auto}
.public-notice{display:inline-block;padding:10px 16px;border-radius:12px;background:rgba(140,74,43,.08);color:var(--rust)!important;font-size:.9rem!important}
.public-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,34px) clamp(16px,2vw,28px);list-style:none;padding:0;margin:36px 0;max-width:none}
.public-portraits>li{margin:0;min-width:0}
.public-portrait{display:grid;gap:12px;color:var(--ink)!important;text-decoration:none!important}
.public-media{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:#e6ddd0;box-shadow:0 18px 40px -30px rgba(22,17,13,.55);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.public-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.pub16 .public-media img{height:100%}
.public-portrait:hover .public-media{transform:translateY(-6px);box-shadow:0 40px 70px -34px rgba(22,17,13,.55)}
.public-portrait:hover .public-media img{transform:scale(1.05)}
.public-name{font:560 1.4rem/1.15 var(--disp)}
.public-action{font:600 .9rem/1 var(--sans);color:var(--muted)}
.public-portrait:hover .public-action{color:var(--ink)}
@media (max-width:900px){.public-portraits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.public-portraits{grid-template-columns:1fr}}
.public-footer nav{display:flex}
/* Policy and guide bodies arrive with their own headings; keep them below the page title. */
.pub16 main>div :is(h1,h2,h3,h4){font-family:var(--disp);font-weight:560;letter-spacing:-.01em;line-height:1.15}
.pub16 main>div h1{font-size:clamp(1.7rem,2.8vw,2.3rem);margin:8px 0 14px}
.pub16 main>div h2{font-size:clamp(1.35rem,2.1vw,1.7rem);margin:36px 0 10px}
.pub16 main>div h3,.pub16 main>div h4{font-size:1.2rem;margin:28px 0 8px}
.pub16 main :is(h1,h2,h3,h4) :is(strong,b){font-weight:inherit}
.pub16 main hr{border:0;border-top:1px solid var(--line);margin:32px 0}
/* Some policies place their own h1s directly in main: only the first is the page title. */
.pub16 main>h1~h1{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:44px 0 12px;animation:none;letter-spacing:-.01em}
.pub16 main>h1~h2{font-size:clamp(1.3rem,2vw,1.6rem)}

/* Photo guide (built in; the Shopify page body is empty). */
.pg-lead{font-size:1.15rem;max-width:52ch}
.pg-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 40px}
.pg-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.pg-list li{position:relative;padding-left:30px}
.pg-list li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--ok,#2f6b46)}
.pg-list li::after{content:"";position:absolute;left:6px;top:calc(.2em + 5px);width:8px;height:5px;border:solid #fff;border-width:0 0 2px 2px;rotate:-45deg}
.pg-bad li::before{background:var(--rust)}
.pg-bad li::after{left:5px;top:calc(.2em + 9px);width:10px;height:0;border-width:2px 0 0;rotate:0deg}
.pg-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:40px 0 8px;max-width:640px}
.pg-example img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:14px;background:#f7f6f3}
.pg-example img+img{object-fit:contain}
.pg-example figcaption{grid-column:1/-1;color:var(--muted);font-size:.92rem}
@media (max-width:720px){.pg-cols{grid-template-columns:1fr}}
.pub16 main a.v-btn{color:#fff8ee;text-decoration:none;background-image:none}
