:root{--ink:#0b0d0c;--panel:#121513;--line:#2b302c;--cream:#f0eadb;--muted:#a9aaa3;--gold:#b56f47;--red:#942f2c}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--ink);color:var(--cream);font-family:"DM Sans",sans-serif}
body.locked{overflow:hidden}
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(5,6,5,.92);backdrop-filter:blur(18px);display:grid;place-items:center;padding:24px}
.age-gate.hidden{display:none}
.age-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);padding:42px;text-align:center;box-shadow:0 30px 90px #000}
.monogram,.brand-mark{display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:"Playfair Display",serif}
.monogram{width:72px;height:72px;margin:0 auto 28px;border-radius:50%;font-size:30px}
.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:12px;color:var(--gold);font-weight:600}
.age-card h1,.hero h1,h2{font-family:"Playfair Display",serif;font-weight:600}
.age-card h1{font-size:42px;margin:12px 0}
.age-card p:not(.eyebrow){color:var(--muted);line-height:1.7}
.age-actions,.hero-actions,.visit-actions{display:flex;gap:12px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;text-decoration:none;color:var(--cream);border:1px solid var(--line);font-weight:600;background:transparent;cursor:pointer}
.button.primary{background:var(--gold);border-color:var(--gold);color:#15120c}
.button:hover{transform:translateY(-2px)}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,13,12,.92);backdrop-filter:blur(14px);z-index:20}
.brand{display:flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;font-weight:600;line-height:1.05}
.brand small{color:var(--muted);font-weight:400}
.brand-mark{width:42px;height:42px;border-radius:50%;font-size:17px}
.site-header nav{display:flex;gap:30px}
.site-header nav a,.header-call{color:var(--muted);text-decoration:none;font-size:14px}
.site-header nav a:hover,.header-call:hover{color:var(--cream)}
.header-call{border-bottom:1px solid var(--gold);padding-bottom:4px}
.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5vw;padding:6vw clamp(20px,7vw,110px)}
.hero h1{font-size:clamp(48px,6.2vw,96px);line-height:.98;letter-spacing:-.045em;margin:18px 0 28px}
.hero h1 em{color:var(--gold);font-weight:500}
.hero-text{font-size:19px;line-height:1.65;max-width:610px;color:var(--muted)}
.hero-actions{justify-content:flex-start}
.quick-facts{display:flex;gap:28px;margin-top:48px;color:var(--muted);font-size:13px;flex-wrap:wrap}
.quick-facts strong{display:block;color:var(--cream);font-size:21px}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;height:min(66vh,680px);object-fit:cover;filter:saturate(.85) contrast(1.08);border-radius:50% 50% 4px 4px}
.hero-photo:before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--gold);border-radius:50% 50% 4px 4px;z-index:-1}
.hero-photo figcaption{position:absolute;right:-20px;bottom:34px;background:var(--cream);color:var(--ink);padding:14px 18px;font-family:"Playfair Display",serif;font-style:italic}
.tour-trigger{display:block;position:relative;overflow:hidden;border-radius:50% 50% 4px 4px;color:var(--cream);isolation:isolate}
.tour-trigger:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(9,8,6,.78) 100%);pointer-events:none;z-index:1}
.tour-trigger img{display:block;transition:transform .7s ease,filter .7s ease}
.tour-trigger:hover img{transform:scale(1.025);filter:saturate(.95) contrast(1.08)}
.tour-trigger:focus-visible{outline:3px solid var(--gold);outline-offset:7px}
.tour-overlay{position:absolute;left:50%;bottom:76px;z-index:2;display:grid;justify-items:center;gap:7px;transform:translateX(-50%);width:max-content;text-align:center;text-shadow:0 2px 20px rgba(0,0,0,.8);pointer-events:none}
.tour-badge{display:grid;place-items:center;width:80px;height:80px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(14,12,8,.58);box-shadow:0 12px 38px rgba(0,0,0,.35),inset 0 0 0 6px rgba(255,255,255,.08);font-size:23px;font-weight:700;letter-spacing:.05em;backdrop-filter:blur(7px)}
.tour-label{font-family:"Playfair Display",serif;font-size:25px;font-weight:600}
.tour-hint{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.catalogue,.services{padding:110px clamp(20px,7vw,110px)}
.catalogue{background:var(--cream);color:var(--ink)}
.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:56px}
.section-heading h2{font-size:clamp(42px,5vw,72px);letter-spacing:-.035em;margin:8px 0 0}
.section-heading>p{color:#66675f;line-height:1.7;max-width:580px}
.catalogue-toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:30px}
.search{display:flex;align-items:center;gap:10px;border-bottom:1px solid #777;width:min(410px,100%);padding:10px 2px}
.search input{border:0;background:none;outline:none;width:100%;font:inherit;color:var(--ink)}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter{border:1px solid #b9b3a6;background:transparent;padding:10px 16px;border-radius:30px;cursor:pointer}
.filter.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#bfb8aa;border:1px solid #bfb8aa}
.cigar-card{background:var(--cream);min-height:290px;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.cigar-card[hidden]{display:none}
.card-no{color:#8e897f;font-family:"Playfair Display",serif}
.cigar-card p{text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:#777}
.cigar-card h3{font:600 36px "Playfair Display",serif;margin:6px 0 22px}
.cigar-card dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid #bbb4a7;padding-top:18px}
.cigar-card dl div+div{border-left:1px solid #bbb4a7;padding-left:18px}
.cigar-card dt{font-size:11px;text-transform:uppercase;color:#777}
.cigar-card dd{margin:5px 0 0}
.legal-note{font-size:13px;line-height:1.6;color:#6b685f;margin:28px 0 0}
.services{background:var(--panel)}
.services .section-heading>p{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-grid article{padding:34px 26px;min-height:240px;border-right:1px solid var(--line)}
.service-grid article:last-child{border:0}
.service-grid span{color:var(--gold);font-size:12px}
.service-grid h3{font:600 27px "Playfair Display",serif;margin-top:58px}
.service-grid p{color:var(--muted);line-height:1.6}
.visit{padding:90px clamp(20px,7vw,110px);display:flex;align-items:end;justify-content:space-between;gap:30px;background:var(--red)}
.visit h2{font-size:clamp(42px,5vw,72px);margin:10px 0 25px}
.visit p{line-height:1.6}
.visit .address{font-size:20px}
.visit .button.primary{background:var(--cream);border-color:var(--cream)}
.visit-copy{max-width:680px}
.opening-hours{margin-top:32px;padding-top:26px;border-top:1px solid rgba(255,255,255,.28)}
.hours-title{margin:0 0 14px;color:var(--cream);font:600 22px "Playfair Display",serif}
.hours-row{display:flex;align-items:flex-start;justify-content:space-between;gap:34px;max-width:480px;color:rgba(255,255,255,.8);font-size:16px;line-height:1.55}
.hours-row strong{color:var(--cream);font-size:18px;text-align:right}
.hours-note{margin:14px 0 0;color:rgba(255,255,255,.68);font-size:13px}
footer{padding:50px clamp(20px,7vw,110px);display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:30px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
footer p:last-child{text-align:right}
@media(max-width:900px){.site-header nav{display:none}
.hero{grid-template-columns:1fr;padding-top:70px}
.hero-photo img{height:55vh}
.hero-photo figcaption{position:static;width:max-content;max-width:100%;margin:16px 0 0 auto;text-align:center}
.section-heading{grid-template-columns:1fr;gap:14px}
.cards{grid-template-columns:repeat(2,1fr)}
.service-grid{grid-template-columns:repeat(2,1fr)}
.service-grid article:nth-child(2){border-right:0}
.visit{align-items:flex-start;flex-direction:column}
footer{grid-template-columns:1fr}
footer p:last-child{text-align:left}
}
@media(max-width:600px){.age-card{padding:30px 20px}
.age-card h1{font-size:34px}
.site-header{height:72px}
.hero{min-height:auto;padding-bottom:90px}
.hero h1{font-size:52px}
.quick-facts{gap:20px}
.catalogue,.services{padding-top:75px;padding-bottom:75px}
.catalogue-toolbar{flex-direction:column}
.cards{grid-template-columns:1fr}
.service-grid{grid-template-columns:1fr}
.service-grid article{border-right:0;border-bottom:1px solid var(--line)}
.service-grid article:last-child{border-bottom:0}
.visit-actions{justify-content:flex-start}
.header-call{font-size:13px}
}

.departments{padding:100px clamp(20px,7vw,110px);background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.departments-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:48px}
.departments-intro h2,.department-copy h2{font-family:"Playfair Display",serif;font-size:clamp(40px,5vw,70px);line-height:1.02;letter-spacing:-.035em;margin:8px 0 0}
.departments-intro>p,.department-copy>p:last-child{color:var(--muted);line-height:1.7;max-width:580px}
.department-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.department-nav a{min-height:86px;display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);background:#171a18;color:var(--cream);text-decoration:none;font:600 19px "Playfair Display",serif;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.department-nav a span{font:500 11px "DM Sans",sans-serif;color:var(--gold);letter-spacing:.12em}
.department-nav a:after{content:"↓";margin-left:auto;color:var(--gold);font-family:"DM Sans",sans-serif}
.department-nav a:hover,.department-nav a:focus-visible{transform:translateY(-3px);border-color:var(--gold);background:#1e211e;outline:none}
.department-sections{background:var(--ink)}
.department-detail{min-height:72vh;padding:95px clamp(20px,7vw,110px);display:grid;grid-template-columns:minmax(250px,.72fr) 1.28fr;gap:6vw;align-items:center;border-bottom:1px solid var(--line)}
.department-detail:nth-child(even){background:var(--panel)}
.department-copy>span{display:block;color:var(--gold);font-family:"Playfair Display",serif;font-size:22px;margin-bottom:48px}
.department-copy h2{font-size:clamp(42px,4.6vw,68px);overflow-wrap:anywhere}
.photo-slots{display:grid;grid-template-columns:1.35fr .9fr;grid-template-rows:repeat(2,minmax(175px,1fr));gap:12px;min-height:520px}
.photo-slots div{border:1px solid #3b403c;background:linear-gradient(145deg,#1b1e1c,#111311);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;position:relative;overflow:hidden}
.department-detail:nth-child(even) .photo-slots div{background:linear-gradient(145deg,#202420,#151815)}
.photo-slots div:first-child{grid-row:1 / 3}
.photo-slots div:before{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:#5a5f5a;font:300 58px "DM Sans",sans-serif}
.photo-slots span{position:relative;color:var(--cream);font-weight:600}
.photo-slots small{position:relative;color:var(--muted);margin-top:5px}
.photo-slots .has-image{padding:0;background:#111}
.photo-slots .has-image:before{content:"";z-index:1;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.78))}
.photo-slots .has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.photo-slots .has-image span{z-index:2;padding:22px;font-family:"Playfair Display",serif;font-size:20px}
.photo-slots .has-image:hover img{transform:scale(1.035)}
#puff .photo-slots .has-image{background:#2c211b}
#puff .photo-slots .has-image:before{display:none}
#puff .photo-slots .has-image img{height:calc(100% - 64px);object-fit:contain}
#puff .photo-slots .has-image:hover img{transform:none}
#puff .photo-slots .has-image span{display:flex;align-items:center;width:100%;min-height:64px;background:#2c211b}
.photo-slots.count-1{grid-template-columns:1fr;grid-template-rows:1fr}
.photo-slots.count-2{grid-template-columns:repeat(2,1fr);grid-template-rows:1fr}
.photo-slots.count-4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,minmax(220px,1fr))}
.photo-slots.count-1 div:first-child,.photo-slots.count-2 div:first-child,.photo-slots.count-4 div:first-child{grid-row:auto}
.department-detail:target{box-shadow:inset 5px 0 0 var(--gold)}
.accessories-detail{display:block;padding-top:110px;padding-bottom:130px}
.accessories-detail>.department-copy{max-width:750px;margin-bottom:75px}
.accessories-detail .department-copy>span{margin-bottom:24px}
.accessories-galleries{display:grid;gap:90px}
.accessories-group{border-top:1px solid var(--line);padding-top:30px}
.accessories-group-heading{display:flex;align-items:baseline;gap:28px;margin-bottom:28px}
.accessories-group-heading span{font-size:12px;letter-spacing:.15em;color:var(--gold)}
.accessories-group-heading h3{font:500 clamp(27px,3vw,42px) "Playfair Display",serif;margin:0;color:var(--cream)}
.accessories-photos{display:grid;gap:18px}
.accessories-photos.one{grid-template-columns:1fr}
.accessories-photos.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.accessories-photos.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.accessories-photos figure{margin:0;position:relative;min-width:0;height:clamp(340px,44vw,640px);overflow:hidden;background:#111;border:1px solid var(--line)}
.accessories-photos img{display:block;width:100%;height:100%;object-fit:cover}
.accessories-photos .cartujano-crop img{transform:scale(1.16);transform-origin:right center}
.accessories-photos figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 22px 20px;color:var(--cream);font:500 20px "Playfair Display",serif;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.accessories-photos.one figure{max-width:1100px}

@media(max-width:900px){.departments-intro{grid-template-columns:1fr;gap:12px}.department-nav{grid-template-columns:repeat(2,1fr)}.department-detail{min-height:auto;grid-template-columns:1fr;padding-top:76px;padding-bottom:76px}.department-copy>span{margin-bottom:25px}.photo-slots{min-height:440px}}
@media(max-width:600px){html{scroll-padding-top:72px}.departments{padding-top:72px;padding-bottom:72px}.department-nav{grid-template-columns:1fr}.department-nav a{min-height:70px;font-size:18px}.department-detail{gap:34px}.photo-slots{grid-template-columns:1fr 1fr;grid-template-rows:260px 170px;min-height:0}.photo-slots div:first-child{grid-column:1 / 3;grid-row:auto}.photo-slots div{padding:16px}.departments-intro h2{font-size:43px}}
@media(max-width:600px){.photo-slots.count-1{grid-template-columns:1fr;grid-template-rows:360px}.photo-slots.count-1 div:first-child{grid-column:auto}.photo-slots.count-2{grid-template-columns:1fr;grid-template-rows:repeat(2,300px)}.photo-slots.count-2 div:first-child{grid-column:auto}.photo-slots.count-4{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,220px)}.photo-slots.count-4 div:first-child{grid-column:auto}.photo-slots .has-image span{padding:16px;font-size:18px}}
@media(max-width:700px){.accessories-detail{padding-top:80px;padding-bottom:90px}.accessories-detail>.department-copy{margin-bottom:48px}.accessories-galleries{gap:58px}.accessories-group-heading{gap:16px}.accessories-photos.two,.accessories-photos.three{grid-template-columns:1fr}.accessories-photos figure{height:420px}}

/* Palette tabacco: il marchio resta sullo sfondo, dietro a testi e fotografie. */
:root{--ink:#4b352b;--panel:#5a4033;--line:#9b7e68;--cream:#fff5e7;--muted:#e9d6c6;--gold:#e9bd8d;--red:#634638}
body{background:var(--ink);isolation:isolate}
body::before{content:"";position:fixed;inset:88px 0 0;z-index:0;pointer-events:none;background:url("assets/logo-rivendita-24.png") center center / min(80vw,870px) auto no-repeat;opacity:.76;filter:brightness(2.35) saturate(1.25)}
main,footer{position:relative;z-index:1}
.site-header{background:rgba(75,53,43,.96)}
.age-gate{background:rgba(28,18,14,.94)}
.age-card{background:#5a4033;box-shadow:0 30px 90px rgba(17,9,5,.65)}
.hero{background:rgba(75,53,43,.22)}
.departments{background:rgba(90,64,51,.78)}
.department-sections{background:transparent}
.department-detail:nth-child(odd){background:rgba(75,53,43,.68)}
.department-detail:nth-child(even),.services{background:rgba(90,64,51,.79)}
.department-nav a{background:#604637;border-color:#a48770}
.department-nav a:hover,.department-nav a:focus-visible{background:#705241}
.photo-slots div,.department-detail:nth-child(even) .photo-slots div{border-color:var(--line);background:#513a2e}
.catalogue{background:rgba(105,76,58,.87);color:var(--cream)}
.catalogue .section-heading>p,.legal-note,.cigar-card p,.cigar-card dt,.card-no{color:var(--muted)}
.search{border-color:var(--line)}
.search input{color:var(--cream)}
.search input::placeholder{color:var(--muted);opacity:1}
.filter{border-color:var(--line);background:#50392e;color:var(--cream)}
.filter.active{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.cards{background:var(--line);border-color:var(--line)}
.cigar-card{background:#4d372c;color:var(--cream)}
.cigar-card dl,.cigar-card dl div+div{border-color:var(--line)}
.visit{background:rgba(99,70,56,.87)}
footer{background:rgba(75,53,43,.78)}
.button.primary{color:#39271f}
.hero-photo figcaption{color:#39271f}
.photo-slots .has-image,.accessories-photos figure{background:#38261d}
@media(max-width:600px){body::before{inset:72px 0 0;background-size:105vw auto;opacity:.62}}

.format-table-wrap{overflow-x:auto;border:1px solid var(--line);background:#5b4032}
.format-table{border-collapse:collapse;width:100%;min-width:680px;text-align:left}
.format-table caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.format-table thead{background:#50382d}
.format-table th,.format-table td{padding:20px 24px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.55}
.format-table thead th{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.format-table tbody th{font:600 19px "Playfair Display",serif;color:var(--cream);white-space:nowrap}
.format-table tbody tr:last-child th,.format-table tbody tr:last-child td{border-bottom:0}
.format-table tbody tr:nth-child(even){background:#684b3b}
.format-table tbody td:nth-child(2){font-weight:600;color:var(--cream)}
.format-table tbody td:last-child{color:var(--muted)}
.format-source{margin:22px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.format-source a{color:var(--cream);text-underline-offset:3px}
@media(max-width:700px){.format-table th,.format-table td{padding:16px 18px}.format-table{min-width:630px}}

.spirits-detail{display:block;padding-top:100px;padding-bottom:115px}
.spirits-detail .department-copy{max-width:650px;margin-bottom:42px}
.spirits-detail .department-copy>span{margin-bottom:24px}
.spirits-panorama{position:relative;margin:0;border:1px solid var(--line);overflow:hidden;background:#3b291f}
.spirits-panorama img{display:block;width:100%;height:auto}
.spirits-mobile-slices{display:none}
.spirits-panorama figcaption{position:absolute;bottom:0;left:0;padding:35px 25px 18px;width:100%;color:var(--cream);font:600 22px "Playfair Display",serif;background:linear-gradient(transparent,rgba(0,0,0,.75))}
@media(max-width:700px){.spirits-detail{padding-top:75px;padding-bottom:80px}.spirits-panorama figcaption{font-size:18px}}
@media(max-width:600px){.spirits-panorama>img{display:none}.spirits-mobile-slices{display:grid;gap:10px}.spirits-slice{background-image:url("assets/spirits-reparto.jpeg");background-repeat:no-repeat}.spirits-slice-left{aspect-ratio:860 / 347;background-size:178.605% 100%;background-position:left center}.spirits-slice-right{aspect-ratio:676 / 347;background-size:227.219% 100%;background-position:right center}}

/* Scattered cigar marks frame the photographs without hiding their subject. */
.cigars-detail{display:block;padding-top:105px;padding-bottom:115px}
.cigars-detail>.department-copy{max-width:780px;margin-bottom:48px}
.cigars-scene{position:relative;width:min(100%,1450px);height:clamp(1250px,106vw,1700px);margin-inline:auto}
.cigars-gallery{position:absolute;z-index:1;left:18%;right:18%;top:9%;bottom:9%;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:18px}
.cigars-gallery figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);background:#33251f}
.cigars-gallery img{width:100%;height:100%;object-fit:contain;display:block}
.cigars-brands figure{position:absolute;z-index:2;margin:0;width:14.5%;height:116px;transform:rotate(var(--tilt,0deg));transition:transform .2s ease}
.cigars-brands figure:hover{transform:translateY(-8px) rotate(0deg);z-index:3}
.cigars-brands img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;transform:scale(var(--logo-size,1.08))}
.cigars-brands figure:nth-child(1),.cigars-brands figure:nth-child(6),.cigars-brands figure:nth-child(9),.cigars-brands figure:nth-child(12),.cigars-brands figure:nth-child(17){--logo-size:1.25}
.cigars-brands figure:nth-child(1){left:5%;top:1%;--tilt:-6deg}
.cigars-brands figure:nth-child(2){left:29%;top:0;--tilt:3deg}
.cigars-brands figure:nth-child(3){left:53%;top:2%;--tilt:-4deg}
.cigars-brands figure:nth-child(4){left:77%;top:0;--tilt:5deg}
.cigars-brands figure:nth-child(5){left:1%;top:15%;--tilt:-3deg}
.cigars-brands figure:nth-child(6){left:2%;top:31%;--tilt:4deg}
.cigars-brands figure:nth-child(7){left:0;top:47%;--tilt:-6deg}
.cigars-brands figure:nth-child(8){left:2%;top:63%;--tilt:4deg}
.cigars-brands figure:nth-child(9){left:1%;top:79%;--tilt:-3deg}
.cigars-brands figure:nth-child(10){left:84%;top:15%;--tilt:5deg}
.cigars-brands figure:nth-child(11){left:83%;top:31%;--tilt:-5deg}
.cigars-brands figure:nth-child(12){left:84%;top:47%;--tilt:3deg}
.cigars-brands figure:nth-child(13){left:83%;top:63%;--tilt:4deg}
.cigars-brands figure:nth-child(14){left:84%;top:79%;--tilt:-5deg}
.cigars-brands figure:nth-child(15){left:5%;top:90.5%;--tilt:3deg}
.cigars-brands figure:nth-child(16){left:29%;top:90.5%;--tilt:-4deg}
.cigars-brands figure:nth-child(17){left:53%;top:90.5%;--tilt:5deg}
.cigars-brands figure:nth-child(18){left:77%;top:90.5%;--tilt:-3deg}
@media(max-width:1100px){
  .cigars-scene{height:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;padding:10px 8px 20px}
  .cigars-gallery{position:relative;left:auto;right:auto;top:auto;bottom:auto;order:1;grid-column:1/-1;height:auto;margin:16px 4%;grid-template-rows:repeat(2,auto)}
  .cigars-gallery figure{aspect-ratio:4 / 3}
  .cigars-brands{display:contents}
  .cigars-brands figure,.cigars-brands figure:nth-child(n){position:relative;left:auto;top:auto;width:auto;height:105px;order:2}
  .cigars-brands figure:nth-child(-n+8){order:0}
}
@media(max-width:700px){
  .cigars-detail{padding-top:80px;padding-bottom:90px}
  .cigars-detail>.department-copy{margin-bottom:25px}
  .cigars-scene{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
  .cigars-gallery{margin:12px 0;gap:12px}
  .cigars-brands figure,.cigars-brands figure:nth-child(n){height:100px}
  .cigars-brands figure:nth-child(-n+6){order:0}
  .cigars-brands figure:nth-child(7),.cigars-brands figure:nth-child(8){order:2}
}
@media(max-width:400px){.cigars-brands figure,.cigars-brands figure:nth-child(n){height:90px}}

/* Puff marks surround the full-width shop photograph. */
.puff-detail{display:block;padding-top:105px;padding-bottom:115px}
.puff-detail>.department-copy{max-width:780px;margin-bottom:45px}
.puff-scene{position:relative;width:min(100%,1450px);height:730px;margin-inline:auto}
.puff-gallery{position:absolute;z-index:1;left:20%;right:20%;top:19%;bottom:19%;margin:0;overflow:hidden;border:1px solid var(--line);background:#2c211b}
.puff-gallery img{display:block;width:100%;height:100%;object-fit:contain}
.puff-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:36px 25px 20px;color:var(--cream);font:600 21px "Playfair Display",serif;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.puff-brands figure{position:absolute;z-index:2;margin:0;width:var(--w,18%);height:var(--h,130px);transform:rotate(var(--tilt,0deg));transition:transform .2s ease}
.puff-brands figure:hover{transform:translateY(-7px) rotate(0deg);z-index:3}
.puff-brands img{display:block;width:100%;height:100%;object-fit:contain}
.puff-brands figure:nth-child(1){left:2%;top:0;--w:25%;--h:130px;--tilt:-5deg}
.puff-brands figure:nth-child(2){left:43%;top:0;--w:14%;--h:145px;--tilt:4deg}
.puff-brands figure:nth-child(3){left:72%;top:2%;--w:25%;--h:110px;--tilt:-3deg}
.puff-brands figure:nth-child(4){left:1%;top:28%;--w:18%;--h:170px;--tilt:5deg}
.puff-brands figure:nth-child(5){left:82%;top:31%;--w:17%;--h:125px;--tilt:-5deg}
.puff-brands figure:nth-child(6){left:2%;top:60%;--w:17%;--h:145px;--tilt:-4deg}
.puff-brands figure:nth-child(7){left:82%;top:61%;--w:17%;--h:145px;--tilt:5deg}
.puff-brands figure:nth-child(8){left:25%;top:82%;--w:20%;--h:125px;--tilt:-4deg}
.puff-brands figure:nth-child(9){left:61%;top:79%;--w:18%;--h:155px;--tilt:4deg}
@media(max-width:1100px){
  .puff-scene{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}
  .puff-gallery{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:1/-1;order:1;height:470px;margin:8px 3%}
  .puff-brands{display:contents}
  .puff-brands figure,.puff-brands figure:nth-child(n){position:relative;left:auto;top:auto;width:auto;height:135px;order:2}
  .puff-brands figure:nth-child(-n+3){order:0}
  .puff-brands figure:nth-child(9){height:160px}
}
@media(max-width:700px){
  .puff-detail{padding-top:80px;padding-bottom:90px}
  .puff-detail>.department-copy{margin-bottom:25px}
  .puff-scene{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
  .puff-gallery{height:300px;margin:10px 0}
  .puff-gallery figcaption{font-size:18px}
  .puff-brands figure,.puff-brands figure:nth-child(n){height:115px}
  .puff-brands figure:nth-child(-n+4){order:0}
  .puff-brands figure:nth-child(9){height:145px}
}
@media(max-width:400px){.puff-gallery{height:250px}.puff-brands figure,.puff-brands figure:nth-child(n){height:100px}.puff-brands figure:nth-child(9){height:130px}}
