@font-face{font-family:"Cormorant Garamond";src:url(fonts/CormorantGaramond.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(fonts/CormorantGaramond-Italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Red Hat Display";src:url(fonts/RedHatDisplay.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}

:root{
  --green:#6F806F; --green-deep:#5A685A; --onyx:#F1EEE6; --sand:#D5C6A7; --gold:#A58550; --gold-soft:#BCA57C; --stone:#292A27;
  --serif:"Cormorant Garamond", Garamond, "Times New Roman", serif;
  --sans:"Red Hat Display", Montserrat, "Helvetica Neue", Arial, sans-serif;
  --z:1; color-scheme:light; box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(64px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
html,body{margin:0}
body{background:#1F201D;color:var(--onyx);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums}
img{max-width:100%}
button{font:inherit;color:inherit}

/* themes */
.t-green{--bg:var(--green-deep);--fg:var(--onyx);--muted:var(--sand);--line:rgba(241,238,230,.22);--accent:var(--gold-soft);--ring:var(--gold-soft)}
.t-stone{--bg:var(--stone);--fg:var(--onyx);--muted:#C9BA99;--line:rgba(241,238,230,.18);--accent:var(--gold-soft);--ring:var(--gold-soft)}
.t-onyx{--bg:var(--onyx);--fg:var(--stone);--muted:#6E6A5F;--line:rgba(41,42,39,.18);--accent:var(--gold);--ring:var(--gold)}
.t-sand{--bg:var(--sand);--fg:var(--stone);--muted:#5F5848;--line:rgba(41,42,39,.2);--accent:#8A6C3C;--ring:var(--stone)}

/* viewer chrome */
.bar{position:sticky;top:0;z-index:20;background:rgba(31,32,29,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(241,238,230,.08)}
.bar-in{display:flex;align-items:center;gap:22px;height:60px;padding:0 24px;max-width:1500px;margin:0 auto}
.bar .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--onyx);flex:none}
.bar .brand img{height:26px;width:auto}
.bar .brand span{font-size:11px;letter-spacing:.16em;color:var(--sand);white-space:nowrap}
.bar nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;justify-content:center}
.bar nav::-webkit-scrollbar{display:none}
.bar nav a{color:rgba(241,238,230,.72);text-decoration:none;font-size:12.5px;padding:8px 12px;border-radius:999px;white-space:nowrap;transition:color .2s,background .2s}
.bar nav a:hover,.bar nav a.on{color:var(--onyx);background:rgba(241,238,230,.08)}
.bar .dl{flex:none;color:var(--stone);background:var(--sand);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.04em;padding:9px 16px;border-radius:999px}
.bar .dl:hover{background:var(--onyx)}
.book{display:flex;flex-direction:column;align-items:center;gap:32px;padding:32px 16px 64px}
.book-foot{text-align:center;color:#8E8A7D;font-size:12px;padding:0 16px calc(32px + env(safe-area-inset-bottom,0px))}

/* page base: A4 landscape at 1123 x 794 css px, scaled with zoom on desktop */
.pg{position:relative;width:1123px;height:794px;overflow:hidden;background:var(--bg);color:var(--fg);zoom:var(--z);box-shadow:0 24px 70px rgba(0,0,0,.42),0 3px 12px rgba(0,0,0,.28);flex:none}
.pg h1,.pg h2,.pg h3,.pg p{margin:0}
.eyebrow{font-size:10.5px;letter-spacing:.18em;font-weight:500;color:var(--muted);text-transform:uppercase}
.rule{width:52px;height:1px;background:var(--accent)}
.logo{display:block;height:24px;width:auto}
.pnum{font-family:var(--serif);font-size:18px;font-weight:500}
.runner{position:absolute;left:58px;right:56px;bottom:32px;display:flex;justify-content:space-between;align-items:baseline;font-size:10.5px;letter-spacing:.06em;color:var(--muted)}
.runner .pnum{color:var(--fg)}
.fill{position:absolute;overflow:hidden;margin:0;background:var(--stone)}
.fill img,.fill picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.edge-v{position:absolute;top:0;width:5px;height:100%;background:var(--gold);z-index:2}

/* material switcher (web version of the multi-state objects) */
.ph{position:absolute;overflow:hidden;margin:0;background:var(--stone)}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.ph img.on{opacity:1}
.tag{position:absolute;left:22px;top:22px;background:rgba(41,42,39,.78);padding:9px 15px 10px;min-width:130px;max-width:70%;color:var(--onyx);z-index:2}
.tag small{display:block;font-size:9px;letter-spacing:.16em;color:var(--sand);margin-bottom:3px}
.tag b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.1}
.pick-row{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.pick-row .cnt{font-size:10.5px;letter-spacing:.08em;color:var(--muted);font-variant-numeric:lining-nums tabular-nums}
.sw{display:grid;grid-template-columns:repeat(var(--cols,5),1fr);row-gap:12px;column-gap:4px}
.sw button{appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--muted);font:500 10px/1.22 var(--sans);text-align:center;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}
.sw i{display:block;width:var(--d,48px);height:var(--d,48px);border-radius:50%;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.16),0 3px 8px rgba(0,0,0,.16);outline:1.5px solid transparent;outline-offset:3px;transition:outline-color .2s ease,transform .2s ease;flex:none}
.sw span{min-height:2.45em;max-width:92px}
.sw button:hover i{transform:translateY(-2px)}
.sw button:hover,.sw button[aria-pressed="true"]{color:var(--fg)}
.sw button[aria-pressed="true"] i{outline-color:var(--ring)}
.sw button:focus-visible{outline:none}
.sw button:focus-visible i{outline-color:var(--fg);outline-width:2px}
.sw.list{grid-template-columns:repeat(var(--cols,3),1fr);row-gap:10px;column-gap:10px}
.sw.list button{flex-direction:row;gap:10px;text-align:left}
.sw.list i{--d:38px}
.sw.list span{min-height:0}

/* product details table */
.spec{display:grid;grid-template-columns:repeat(var(--sc,3),1fr);column-gap:20px;margin:0}
.spec div{padding:8px 0 7px;border-top:1px solid var(--line)}
.spec div.w2{grid-column:span 2}
.spec div.w3{grid-column:span 3}
.spec div.w4{grid-column:span 4}
.spec dt{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-bottom:3px;font-weight:500;text-transform:uppercase}
.spec dd{margin:0;font-size:12px;font-weight:500;line-height:1.35}
.spec-box{position:absolute}
.spec-box h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:19px;margin-bottom:9px}
.spec-box .desc{margin-bottom:14px}

/* product common */
.prod .info{position:absolute;display:flex;flex-direction:column}
.prod .head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.prod .cat{font-size:10.5px;letter-spacing:.06em;color:var(--muted);text-align:right;line-height:1.5}
.prod .cat b{display:block;color:var(--fg);font-weight:500}
.prod .code{font-size:10.5px;letter-spacing:.18em;color:var(--muted);font-weight:500}
.prod .code em{font-style:normal;color:var(--accent);margin-left:10px;letter-spacing:.12em}
.prod h2{font-family:var(--serif);font-weight:500;font-size:var(--nsize,84px);line-height:.88;letter-spacing:.03em;margin:10px 0 0 -3px;white-space:nowrap}
.prod .kind{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--muted);margin-top:9px;line-height:1.15}
.t-green .kind,.t-stone .kind{color:var(--sand)}
.prod .ttl .rule{margin:16px 0 0}
.prod .desc{font-size:13px;line-height:1.62;opacity:.92}
.prod .info>.desc{margin-top:14px}
.prod .pick{margin-top:auto}

/* ---- Style A: Objects & Accessories (approved layout) ---- */
.pA .ph{left:0;top:0;width:540px;height:556px}
.pA .edge-v{left:540px}
.pA .spec-box{left:0;top:556px;width:540px;height:238px;background:var(--sand);color:var(--stone);padding:16px 36px 16px 34px;border-top:2px solid var(--gold);--line:rgba(41,42,39,.22);--muted:rgba(41,42,39,.66)}
.pA .spec-box h3{display:none}
.pA .info{left:545px;top:0;right:0;bottom:0;padding:42px 54px 66px 56px}
.pA .ttl{margin-top:40px}
.pA .runner{left:601px;right:54px}
/* A, landscape photo */
.pAL .ph{width:640px;height:480px}
.pAL .edge-v{left:640px}
.pAL .spec-box{top:480px;width:640px;height:314px;padding:20px 38px 18px 36px}
.pAL .info{left:645px}
.pAL .runner{left:701px}

/* ---- Style B: Lighting ---- */
.pB .ph{right:0;top:0;width:500px;height:794px}
.pB .hair{position:absolute;right:500px;top:0;width:1px;height:794px;background:var(--gold-soft);opacity:.8;z-index:2}
.pB .info{left:0;top:0;width:623px;bottom:0;padding:40px 52px 62px 58px}
.pB .ttl{margin-top:34px}
.pB .spec-box{position:static;margin-top:16px}
.pB .spec-box h3{display:none}
.pB .tag{left:auto;right:22px}
.pB .runner{left:58px;right:auto;width:513px}

/* ---- Style C: Baths & Basins ---- */
.pC .frame{position:absolute;border:1px solid var(--gold);z-index:0}
.pC .ph{box-shadow:0 18px 40px rgba(41,42,39,.18)}
.pC .info{top:0;right:0;padding:42px 56px 20px 0}
.pC .ttl{margin-top:34px}
.pC .spec-box{left:0;right:0;bottom:0;height:164px;background:var(--green-deep);color:var(--onyx);padding:20px 56px 0 48px;--line:rgba(241,238,230,.22);--muted:var(--sand);--sc:5}
.pC .spec-box h3{display:none}
.pC .runner{top:604px;bottom:auto;left:48px;right:auto}
.pCS .ph{left:48px;top:48px;width:530px;height:530px}
.pCS .frame{left:36px;top:36px;width:554px;height:554px}
.pCS .info{left:630px;height:630px}
.pCS .runner{width:530px}
.pCP .ph{left:48px;top:48px;width:440px;height:530px}
.pCP .frame{left:36px;top:36px;width:464px;height:554px}
.pCP .info{left:540px;height:630px}
.pCP .runner{width:440px}
.pCL .ph{left:48px;top:48px;width:600px;height:450px}
.pCL .frame{left:36px;top:36px;width:624px;height:474px}
.pCL .info{left:700px;height:630px}
.pCL .ldesc{position:absolute;left:48px;top:530px;width:600px}
.pCL .runner{display:none}

/* ---- Style D: Tables & Furniture (lifestyle, wide image) ---- */
.pD .ph{left:0;top:0;width:1123px;height:520px}
.pD .shade{position:absolute;left:0;right:0;top:0;height:520px;background:linear-gradient(180deg,rgba(41,42,39,.55) 0,rgba(41,42,39,0) 26%,rgba(41,42,39,0) 52%,rgba(41,42,39,.78) 100%);z-index:1;pointer-events:none}
.pD .over{position:absolute;left:56px;right:56px;top:36px;bottom:274px;z-index:2;display:flex;flex-direction:column;color:var(--onyx)}
.pD .over .head{display:flex;justify-content:space-between;align-items:flex-start}
.pD .over .cat{color:var(--sand)}
.pD .over .cat b{color:var(--onyx)}
.pD .over .ttl{margin-top:auto}
.pD .over .code{color:var(--sand)}
.pD .over .kind{color:var(--sand)}
.pD .tag{left:auto;right:56px;top:auto;bottom:296px}
.pD .base{position:absolute;left:0;right:0;top:520px;bottom:0;border-top:4px solid var(--gold);display:grid;grid-template-columns:.95fr 1.3fr .95fr;gap:36px;padding:22px 56px 20px}
.pD .base .desc{font-size:12.5px}
.pD .base .runner{position:static;margin-top:auto;padding:0}
.pD .base .c1{display:flex;flex-direction:column}
.pD .spec-box{position:static}
.pD .spec-box h3{display:none}
.pD .pick{margin:0}

/* ---- density helpers (applied by the generator for long content) ---- */
.dense .desc{font-size:12.4px;line-height:1.58}
.dense .spec dd{font-size:11.5px}
.dense .ttl{margin-top:26px!important}

/* ---- cover ---- */
.cover .fill{right:0;top:0;width:560px;height:794px}
.cover .edge-v{left:563px}
.cover .in{position:absolute;left:0;top:0;width:563px;height:794px;padding:62px 60px 58px 64px;display:flex;flex-direction:column}
.cover .logo{height:54px}
.cover h1{font-family:var(--serif);font-weight:500;font-size:110px;line-height:.84;margin-top:auto}
.cover h1 em{display:block;font-style:italic;color:var(--sand);font-size:.62em;margin-top:14px}
.cover .lead{font-size:15px;line-height:1.7;max-width:34ch;margin-top:30px;opacity:.92}
.cover .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:44px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.14em;color:var(--sand)}

/* ---- welcome / contents ---- */
.welcome .l{position:absolute;left:0;top:0;width:560px;height:794px;padding:62px 56px 60px 64px;display:flex;flex-direction:column}
.welcome .r{position:absolute;right:0;top:0;width:563px;height:794px;padding:56px 64px 60px 56px;background:var(--sand);color:var(--stone);display:flex;flex-direction:column;--line:rgba(41,42,39,.22);--muted:rgba(41,42,39,.66)}
.welcome h1{font-family:var(--serif);font-weight:500;font-size:60px;line-height:1.02;margin-top:64px}
.welcome .rule{margin:28px 0 24px}
.welcome .body p{font-size:14px;line-height:1.75;max-width:43ch}
.welcome .body p+p{margin-top:13px}
.welcome .sign{margin-top:auto;display:flex;align-items:center;gap:14px;font-size:10.5px;letter-spacing:.14em;color:var(--muted)}
.welcome .sign img{height:34px}
.toc{list-style:none;margin:26px 0 0;padding:0}
.toc li{border-top:1px solid var(--line)}
.toc li:last-child{border-bottom:1px solid var(--line)}
.toc a{display:grid;grid-template-columns:42px 1fr auto;align-items:baseline;gap:8px;padding:12px 0;color:inherit;text-decoration:none}
.toc .n{font-family:var(--serif);font-size:18px;color:#8A6C3C}
.toc .t{font-family:var(--serif);font-size:23px;line-height:1.1}
.toc .t small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.04em;color:var(--muted);margin-top:3px}
.toc .p{font-size:12px;letter-spacing:.06em;color:var(--muted)}
.toc a:hover .t{color:#8A6C3C}
.welcome .r .runner{left:56px;right:64px}

/* ---- category opener ---- */
.opener .fill{right:0;top:0;width:520px;height:794px}
.opener .edge-v{left:603px}
.opener .num{position:absolute;left:250px;top:14px;font-family:var(--serif);font-weight:400;font-size:400px;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--accent);opacity:.5}
.opener .in{position:absolute;left:0;top:0;width:603px;height:794px;padding:62px 60px 58px 64px;display:flex;flex-direction:column}
.opener .top{display:flex;justify-content:space-between;align-items:center}
.opener h1{font-family:var(--serif);font-weight:500;font-size:86px;line-height:.92;margin-top:auto}
.opener .rule{margin:26px 0 20px}
.opener .intro{font-size:14.5px;line-height:1.75;max-width:42ch;opacity:.92}
.opener .facts{display:flex;gap:40px;margin-top:30px;padding-top:16px;border-top:1px solid var(--line)}
.opener .facts div{font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.opener .facts b{display:block;font-family:var(--serif);font-size:24px;letter-spacing:0;text-transform:none;color:var(--fg);font-weight:500;margin-top:4px}
.opener .cap{position:absolute;right:20px;bottom:20px;z-index:2;background:rgba(41,42,39,.72);color:var(--onyx);font-size:10px;letter-spacing:.12em;padding:7px 11px}

/* ---- wine collection overview ---- */
.wine .in{position:absolute;left:0;top:0;width:360px;height:794px;padding:62px 36px 58px 64px;display:flex;flex-direction:column}
.wine h1{font-family:var(--serif);font-weight:500;font-size:64px;line-height:.95;margin-top:auto}
.wine .rule{margin:24px 0 18px}
.wine .in p{font-size:14px;line-height:1.72;opacity:.92}
.wine .grid{position:absolute;left:360px;top:48px;right:48px;bottom:48px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px}
.wine .grid a{position:relative;display:block;overflow:hidden;color:var(--onyx);text-decoration:none;background:var(--stone)}
.wine .grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.wine .grid a:hover img{transform:scale(1.03)}
.wine .grid span{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;background:linear-gradient(transparent,rgba(41,42,39,.82));font-family:var(--serif);font-size:24px;line-height:1}
.wine .grid small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.14em;color:var(--sand);margin-bottom:5px}

/* ---- special collection ---- */
.sc .fig{position:absolute;overflow:hidden;margin:0;background:var(--stone)}
.sc .fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sc .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 12px;background:linear-gradient(transparent,rgba(41,42,39,.8));color:var(--onyx);font-size:10.5px;letter-spacing:.08em}
.sc .cap b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:0;margin-top:3px}
.sc .txt{position:absolute;display:flex;flex-direction:column}
.sc .txt h1{font-family:var(--serif);font-weight:500;font-size:64px;line-height:.95}
.sc .txt h2{font-family:var(--serif);font-weight:500;font-size:44px;line-height:1}
.sc .txt .rule{margin:22px 0 18px}
.sc .txt p{font-size:13.5px;line-height:1.72;opacity:.92}
.sc .txt p+p{margin-top:11px}
.sc .code{font-size:10.5px;letter-spacing:.18em;color:var(--muted);font-weight:500;margin-bottom:10px}
.sc-hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,32,29,.82) 0,rgba(31,32,29,.35) 45%,rgba(31,32,29,0) 70%);z-index:1}
.sc-hero .txt{left:64px;top:60px;bottom:58px;width:400px;z-index:2;color:var(--onyx)}
.sc-hero .txt .code{color:var(--sand)}

/* ---- materials ---- */
.materials .l{position:absolute;left:0;top:0;width:640px;height:794px;padding:58px 52px 56px 64px;display:flex;flex-direction:column}
.materials h1{font-family:var(--serif);font-weight:500;font-size:60px;line-height:.95;margin-top:34px}
.materials .rule{margin:22px 0 18px}
.materials .lead{font-size:13.5px;line-height:1.7;max-width:50ch;opacity:.92}
.materials h3{font-size:10.5px;letter-spacing:.18em;color:var(--muted);font-weight:500;margin:26px 0 14px}
.matgrid{display:grid;grid-template-columns:repeat(var(--mc,5),1fr);gap:14px 8px}
.matgrid div{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.matgrid i{width:56px;height:56px;border-radius:50%;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 3px 8px rgba(0,0,0,.14)}
.matgrid span{font-size:10.5px;font-weight:500;line-height:1.25}
.materials .r{position:absolute;right:0;top:0;width:483px;height:794px;background:var(--green-deep);color:var(--onyx);padding:62px 60px 60px 56px;display:flex;flex-direction:column;justify-content:center;gap:46px}
.note .n{font-size:10.5px;letter-spacing:.18em;color:var(--sand);font-weight:500}
.note h2{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1;margin:10px 0 14px}
.note p{font-size:14px;line-height:1.75;opacity:.92;max-width:36ch}
.materials .r .mark{height:42px;width:auto;align-self:flex-start;opacity:.9}
.materials .runner{right:539px}

/* ---- contact / back cover ---- */
.contact .in{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr}
.contact .l{padding:62px 60px 60px 64px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-right:1px solid var(--line)}
.contact .l .logo{height:auto;width:380px}
.contact .l p{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--sand);margin-top:34px;line-height:1.25}
.contact .r{padding:62px 64px 60px 60px;display:flex;flex-direction:column;justify-content:center}
.contact h2{font-family:var(--serif);font-weight:500;font-size:46px;margin:12px 0 26px}
.contact dl{margin:0}
.contact dl div{display:grid;grid-template-columns:150px 1fr;padding:13px 0;border-top:1px solid var(--line)}
.contact dl div:last-child{border-bottom:1px solid var(--line)}
.contact dt{font-size:10.5px;letter-spacing:.16em;color:var(--sand);text-transform:uppercase;padding-top:3px}
.contact dd{margin:0;font-size:15px;font-weight:500}
.contact dd a{color:inherit;text-decoration:none}
.contact .made{margin-top:28px;font-size:11px;letter-spacing:.16em;color:var(--sand)}

@media (prefers-reduced-motion:reduce){.ph img,.sw i,.wine .grid img{transition:none}}

/* print / PDF rendering */
body.print .bar,body.print .book-foot{display:none}
body.print .book{padding:0;gap:0;display:block}
body.print .pg{zoom:1!important;box-shadow:none}
body.print .ph img{transition:none}

/* ---------- mobile: pages reflow instead of shrinking ---------- */
@media (max-width:760px){
  .bar-in{height:54px;padding:0 14px;gap:12px}
  .bar .brand span{display:none}
  .bar nav{justify-content:flex-start}
  .bar nav a{font-size:12px;padding:7px 10px}
  .bar .dl{padding:8px 12px;font-size:11px}
  .book{padding:0 0 32px;gap:0}
  .pg{width:100%;height:auto;zoom:1;box-shadow:none;overflow:visible}
  .pg *{position:static!important}
  .pg .ldesc,.pg .in,.pg .l,.pg .r,.pg .txt,.pg .grid,.pg .figs,.pg .info,.pg .spec-box,.pg .base,.pg .over,.pg .mhead,.pg .c1{width:auto!important;height:auto!important;max-width:100%;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}
  .pg h1,.pg h2{overflow-wrap:break-word}
  .pg .ph,.pg .fill,.pg .fig{position:relative;width:auto!important;height:auto!important;left:auto!important;right:auto!important;top:auto!important}
  .pg .ph,.pg .fill,.pg .fig,.wine .grid a{position:relative!important}
  .pg .ph img,.pg .fill img,.pg .fig img,.wine .grid img{position:absolute!important;inset:0}
  .pg .tag,.pg .cap,.pg .shade,.wine .grid span,.opener .cap{position:absolute!important}
  .edge-v,.frame,.hair,.opener .num{display:none}
  .runner{display:flex!important;padding:14px 22px 26px;width:auto!important}

  .prod{display:flex;flex-direction:column}
  .prod .ph{aspect-ratio:var(--mob-ar,9/10);order:1}
  .prod .info{order:2;padding:22px 22px 4px!important;width:auto!important}
  .prod .head{order:0;margin-bottom:20px}
  .prod .ttl{order:1;margin-top:0!important}
  .prod .pick{order:2;margin-top:22px}
  .prod .info>.desc{order:3;margin-top:20px}
  .prod h2{font-size:min(14vw,58px)!important;white-space:normal}
  .pD .base{order:2}
  .prod .kind{font-size:20px}
  .prod .desc{font-size:14.5px}
  .prod .spec-box{order:3;padding:20px 22px!important;margin:18px 0 0;height:auto!important;border-top:0;width:auto!important}
  .pB .spec-box,.pD .spec-box{order:4}
  .prod .spec-box h3{display:block}
  .spec{--sc:2!important}
  .spec div.w4,.spec div.w3,.spec div.w2{grid-column:span 2}
  .spec dd{font-size:13px}
  .prod .runner{order:5}
  .pCL .ldesc{order:3;padding:0 22px;margin-top:16px}
  .sw,.sw.list{--cols:5!important;row-gap:14px;column-gap:4px}
  .sw.list button{flex-direction:column;text-align:center;gap:7px}
  .sw i,.sw.list i{--d:52px!important}
  .sw button{font-size:10.5px}
  .tag{left:14px!important;right:auto!important;top:14px!important;bottom:auto!important;padding:8px 12px 9px;min-width:0}
  .tag b{font-size:17px}
  .pD .shade,.pD .over{display:none}
  .pD .base{display:flex;flex-direction:column;gap:0;padding:0;border-top:0}
  .pD .base .c1{order:1}
  .pD .mhead{display:block!important;padding:22px 22px 0}
  .pD .pick{order:2;padding:0 22px;margin-top:22px}
  .pD .base .desc{padding:20px 22px 0;font-size:14.5px}
  .pD .spec-box{order:3}
  .pD .base .runner{order:5;margin:0}

  .cover{display:flex;flex-direction:column}
  .cover .fill{order:2;aspect-ratio:4/5}
  .cover .in{padding:34px 22px 30px}
  .cover .logo{height:40px;margin-bottom:56px}
  .cover h1{font-size:66px}
  .cover .meta{margin-top:30px;gap:10px;flex-wrap:wrap}

  .welcome .l,.welcome .r,.materials .l,.materials .r,.wine .in,.opener .in{padding:40px 22px}
  .welcome h1{font-size:42px;margin-top:30px}
  .welcome .sign{margin-top:34px}
  .toc .t{font-size:21px}

  .opener{display:flex;flex-direction:column}
  .opener .fill{order:2;aspect-ratio:4/3}
  .opener h1{font-size:56px;margin-top:70px}
  .opener .facts{gap:26px;flex-wrap:wrap}

  .wine .in{display:block}
  .wine h1{font-size:48px}
  .wine .grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 22px 26px}
  .wine .grid a{position:relative;aspect-ratio:4/5}
  .wine .grid span{position:absolute;font-size:19px}

  .sc{display:flex;flex-direction:column}
  .sc .txt{padding:36px 22px 20px;width:auto!important}
  .sc .txt h1{font-size:46px}
  .sc .txt h2{font-size:36px}
  .sc .figs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 22px 22px}
  .sc .fig{aspect-ratio:4/5}
  .sc .fig.big{grid-column:1/3;aspect-ratio:var(--mob-ar,4/5)}
  .sc-hero .fig{aspect-ratio:4/5}
  .sc-hero .shade{display:none}
  .sc-hero .txt{color:var(--fg)}

  .materials h1{font-size:44px;margin-top:10px}
  .matgrid{grid-template-columns:repeat(4,1fr)}
  .materials .r{gap:40px}

  .contact .in{display:block}
  .contact .l{padding:50px 22px 36px;border-right:0;border-bottom:1px solid var(--line)}
  .contact .l .logo{width:100%;max-width:340px}
  .contact .r{padding:36px 22px 50px}
  .contact dl div{grid-template-columns:1fr;gap:4px}
}
@media (min-width:761px){.pD .mhead{display:none}}

/* A, tall photo (very tall objects such as the crane pair): full-height photo, details in the text column */
.pAT .ph{left:0;top:0;width:460px;height:794px}
.pAT .edge-v{left:460px}
.pAT .info{left:465px;top:0;right:0;bottom:0;padding:42px 54px 62px 56px}
.pAT .spec-box{position:static;width:auto;height:auto;background:none;color:inherit;padding:0;border-top:0;margin-top:16px;--line:rgba(241,238,230,.22);--muted:var(--sand)}
.pAT .runner{left:521px;right:54px}
@media (max-width:760px){.pAT .spec-box{order:4}}

@media (min-width:761px){
  .pC .spec{grid-template-columns:.9fr 1fr 1.75fr .8fr .8fr;column-gap:18px}
  .pC .spec div.w3{grid-column:span 3}
.spec div.w4{grid-column:span 4}
}
body.print .ph img:not(.on){display:none}

/* ================= Revision 1 ================= */
/* page number + section, always bottom-left */
.folio{position:absolute;left:48px;bottom:24px;display:flex;align-items:baseline;gap:14px;z-index:6;color:var(--ff,var(--fg))}
.folio b{font-family:var(--serif);font-size:18px;font-weight:500}
.folio span{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;opacity:.72}
.pA,.pAL,.pD,.heritage,.welcome,.materials{--ff:var(--stone)}
.pC,.sc-hero{--ff:var(--onyx)}
.runner{display:none!important}

/* details: same three-row table everywhere, larger type */
.spec{grid-template-columns:repeat(3,1fr)!important;column-gap:22px}
.spec div.w2{grid-column:span 2}
.spec dt{font-size:9.5px}
.spec dd{font-size:12.8px;line-height:1.38}
.dense .spec dd{font-size:12.2px}
.prod .desc{font-size:14px;line-height:1.66}
.dense .desc{font-size:13.2px;line-height:1.6}

/* A: approved layout, description on the green side */
.pA .spec-box{padding:18px 36px 54px 34px}
.pA .info{padding-bottom:40px}
/* A landscape */
.pAL .ph{width:600px;height:450px}
.pAL .edge-v{left:600px}
.pAL .spec-box{top:450px;width:600px;height:344px;padding:24px 38px 60px 36px}
.pAL .info{left:605px}
/* A tall: photo on the right so the page number stays bottom-left */
.pAT .ph{left:auto;right:0}
.pAT .edge-v{left:auto;right:460px}
.pAT .info{left:0;right:465px;padding:42px 56px 70px 58px}

/* B + special collection product pages */
.pB .info{padding-bottom:70px}
.pBW .ph{right:0;top:0;width:620px;height:794px}
.pBW .hair{position:absolute;right:620px;top:0;width:1px;height:794px;background:var(--gold-soft);opacity:.8;z-index:2}
.pBW .info{left:0;top:0;width:503px;bottom:0;padding:40px 46px 70px 52px}
.pBW .ttl{margin-top:30px}
.pBW .spec-box{position:static;margin-top:14px}
.pBW .spec-box h3{display:none}
.pBW .tag{left:auto;right:22px}

/* C: details band with the same three rows */
.pC .spec-box{height:204px;padding:20px 56px 0 48px}
@media (min-width:761px){.pC .spec{grid-template-columns:1fr 1fr 1.2fr!important}}
.pCS .ph{left:48px;top:48px;width:500px;height:500px}
.pCS .frame{left:36px;top:36px;width:524px;height:524px}
.pCS .info{left:600px;height:590px}
.pCP .ph{left:48px;top:48px;width:420px;height:500px}
.pCP .frame{left:36px;top:36px;width:444px;height:524px}
.pCP .info{left:520px;height:590px}
.pCL .ph{left:48px;top:48px;width:560px;height:420px}
.pCL .frame{left:36px;top:36px;width:584px;height:444px}
.pCL .info{left:656px;height:590px}

/* D: "shown in" tag bottom-right of the photo, above the material circles */
.pD .tag{top:auto!important;bottom:18px;right:56px;left:auto}
.pD .base{padding-bottom:58px}
.pD .base .c1{display:block}

/* openers / special / text pages: room for the page number */
.opener .in{padding-bottom:84px}
.opener .top .pnum{display:none}
.wine .in{padding-bottom:84px}
.welcome .r{padding-bottom:40px}
.welcome .l{padding-bottom:84px}
.materials .l{padding-bottom:80px}
.materials .r{width:503px;gap:30px;padding:56px 56px 56px 52px}
.materials .l{width:620px}
.note h2{font-size:31px;margin:8px 0 10px}
.note p{font-size:13.6px;line-height:1.66;max-width:none}
.sc-hero .txt{bottom:92px;width:440px}
.sc .txt .lead,.heritage .lead{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.3;opacity:1;margin-bottom:12px}

/* heritage */
.heritage .fill{right:0;top:0;width:563px;height:794px}
.heritage .edge-v{left:560px}
.heritage .txt{position:absolute;left:64px;top:62px;bottom:92px;width:430px;display:flex;flex-direction:column}
.heritage h1{font-family:var(--serif);font-weight:500;font-size:54px;line-height:1.02;margin-top:auto}
.heritage .rule{margin:24px 0 20px}
.heritage .txt p{font-size:14px;line-height:1.72}
.heritage .txt p+p{margin-top:12px}

/* icons pages */
.icons .ihead{position:absolute;left:64px;right:64px;top:54px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.icons .ihead h2{font-family:var(--serif);font-weight:500;font-size:52px;line-height:1;margin-top:10px}
.icons .ihead p{font-size:13.5px;line-height:1.7;max-width:46ch;opacity:.9;text-align:right}
.icons .ihead .cont{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--muted)}
.icons .igrid{position:absolute;left:64px;right:64px;top:160px;bottom:72px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 1fr;gap:14px}
.icons .igrid .fig{position:relative}

@media (max-width:760px){
  .folio{position:static!important;padding:16px 22px 26px;order:20}
  .pg .heritage .txt,.heritage .txt{padding:40px 22px 24px}
  .heritage{display:flex;flex-direction:column}
  .heritage .fill{order:2;aspect-ratio:1/1}
  .heritage h1{font-size:42px}
  .icons{display:flex;flex-direction:column}
  .icons .ihead{display:block;padding:36px 22px 20px}
  .icons .ihead p{text-align:left;margin-top:12px}
  .icons .igrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 22px 10px}
  .icons .igrid .fig{aspect-ratio:1/1}
  .sc-heroP{display:flex;flex-direction:column}
  .sc-heroP .fig{aspect-ratio:4/5}
  .materials .r{width:auto!important;padding:40px 22px}
}
body.print .ph img:not(.on){display:none}
/* fit fixes */
.pD .base{padding-bottom:66px}
.pD .base .desc{font-size:13px;line-height:1.58}
.pAT .ttl{margin-top:26px}
.pAT h2{--nsize:72px!important;font-size:72px}
.pAT .desc{font-size:13.2px;line-height:1.58}
.pAT .spec-box{margin-top:12px}
.pAT .spec dd{font-size:12px}
.pBW .ph{width:580px}
.pBW .hair{right:580px}
.pBW .info{width:543px;padding-bottom:66px}
.pBW .desc{font-size:13.2px;line-height:1.58}
.pBW .spec dd{font-size:12px}
.pBW .ttl{margin-top:24px}
/* bands: room for the three-row details plus page number */
.pA:not(.pAL):not(.pAT) .ph{height:516px}
.pA:not(.pAL):not(.pAT) .spec-box{top:516px;height:278px}
.pC .spec-box{height:240px}
.pCS .ph{width:466px;height:466px}.pCS .frame{width:490px;height:490px}.pCS .info{left:566px;height:554px}
.pCP .ph{width:390px;height:466px}.pCP .frame{width:414px;height:490px}.pCP .info{left:490px;height:554px}
.pCL .ph{width:560px;height:420px}.pCL .frame{width:584px;height:444px}.pCL .info{left:656px;height:554px}
.pC .ttl{margin-top:26px}
.pC .sw i{--d:42px}
.pD .over .ttl{max-width:620px}
.pAT h2{--nsize:64px!important;font-size:64px}
.pAT .kind{font-size:20px}
.pAT .ttl{margin-top:18px}
.pAT .sw i{--d:42px}
.pBW .ttl{margin-top:16px}
.pBW .sw i{--d:40px}
.pBW h2{--nsize:60px!important;font-size:60px}
.pBW .kind{font-size:19px}
.heritage .txt .lead{font-size:22px;line-height:1.3}
.pC .pick{padding-top:14px}.pC .desc{font-size:13.4px;line-height:1.6}
.sc-hero .shade{background:linear-gradient(90deg,rgba(31,32,29,.9) 0,rgba(31,32,29,.72) 38%,rgba(31,32,29,.25) 58%,rgba(31,32,29,0) 72%)!important}
@media (max-width:760px){.spec{grid-template-columns:1fr 1fr!important}.spec div.w2{grid-column:span 2}}
