/* ============================================================
   INTERCOM MINI-SITE — components layered on solution-fashion.css
   Used by solutions/intercom-adhesives.html, -machines.html,
   -applications.html. No token redefinition; inherits the
   fashion palette.
   ============================================================ */

/* --- MINI-SITE BAR: sits under the global subnav --- */
.ic-bar{background:var(--dark);color:var(--paper);border-bottom:1px solid rgba(245,241,234,.14);position:sticky;top:var(--ic-top,44px);z-index:28}
.ic-bar .container{display:flex;align-items:center;gap:clamp(18px,3vw,44px);padding-top:12px;padding-bottom:12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.ic-bar .container::-webkit-scrollbar{display:none}
.ic-bar .house{font-family:'Italiana',serif;font-size:19px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;flex:none}
.ic-bar .house em{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:.16em;color:rgba(245,241,234,.5);text-transform:none;margin-left:10px}
.ic-bar nav{display:flex;gap:clamp(14px,2.4vw,32px);flex-wrap:nowrap;margin-left:auto}
.ic-bar nav a{flex:none}
.ic-bar nav a{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:rgba(245,241,234,.62);padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.ic-bar nav a:hover{color:var(--paper);border-bottom-color:var(--gold-bright)}
.ic-bar nav a.on{color:var(--gold-bright);border-bottom-color:var(--gold-bright)}

/* --- SECOND-LEVEL SECTION MENU (sticky, scrollspy) --- */
.ic-sub{background:var(--ink);color:var(--paper);border-bottom:1px solid rgba(245,241,234,.12);position:sticky;top:var(--ic-sub-top,88px);z-index:27}
.ic-sub .container{display:flex;align-items:center;gap:0;padding-top:0;padding-bottom:0;overflow-x:auto;scrollbar-width:none}
.ic-sub .container::-webkit-scrollbar{display:none}
.ic-sub .lead{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:rgba(245,241,234,.38);letter-spacing:.1em;padding-right:26px;white-space:nowrap;flex:none}
.ic-sub a{position:relative;flex:none;padding:14px 18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(245,241,234,.55);white-space:nowrap;transition:color .2s,background .2s}
.ic-sub a .i{color:rgba(245,241,234,.28);margin-right:8px;letter-spacing:.1em}
.ic-sub a:hover{color:var(--paper);background:rgba(245,241,234,.05)}
.ic-sub a.on{color:var(--gold-bright)}
.ic-sub a.on::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--gold-bright)}
@media(max-width:760px){.ic-sub .lead{display:none}.ic-sub a{padding:12px 14px}}

/* --- FILM: single embedded player with caption --- */
.film{position:relative}
.film .screen{position:relative;overflow:hidden;background:#000;border:1px solid var(--rule);aspect-ratio:16/9}
.film .screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.film .screen .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:rgba(245,241,234,.4)}
.film .ctrl{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;gap:8px}
.film .ctrl button{background:rgba(10,10,10,.62);border:1px solid rgba(245,241,234,.34);color:var(--paper);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:8px 13px;backdrop-filter:blur(6px);transition:background .2s,color .2s}
.film .ctrl button:hover{background:var(--gold-bright);color:var(--ink);border-color:var(--gold-bright)}
.film .tag{position:absolute;left:0;top:0;z-index:4;background:rgba(10,10,10,.62);color:var(--gold-bright);font-size:9px;letter-spacing:.26em;text-transform:uppercase;padding:8px 14px;backdrop-filter:blur(6px)}
.film figcaption{margin-top:12px;display:grid;gap:4px}
.film figcaption .t{font-family:'Italiana',serif;font-size:19px;letter-spacing:.02em}
.film figcaption .d{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14.5px;color:var(--soft);line-height:1.5}
.film figcaption .src{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:2px}
.is-dark .film figcaption .d{color:rgba(245,241,234,.62)}
.is-dark .film figcaption .src{color:var(--gold-bright)}

/* --- FILM BAND: full-bleed cinematic strip --- */
.film-band{position:relative;overflow:hidden;background:#000;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.film-band video{display:block;width:100%;height:clamp(320px,44vw,620px);object-fit:cover}
.film-band .over{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,5vw,64px);background:linear-gradient(0deg,rgba(10,10,10,.82) 0%,rgba(10,10,10,.3) 42%,rgba(10,10,10,0) 74%);pointer-events:none}
.film-band .over .l{font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:12px}
.film-band .over h3{font-family:'Italiana',serif;font-weight:400;font-size:clamp(28px,3.6vw,50px);line-height:1.05;color:var(--paper);letter-spacing:.01em;max-width:20ch}
.film-band .over h3 em{font-family:'Cormorant Garamond',serif;font-style:italic}
.film-band .over p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(15px,1.5vw,19px);color:rgba(245,241,234,.72);margin-top:10px;max-width:52ch}
.film-band .ctrl{position:absolute;right:clamp(18px,3vw,34px);top:clamp(18px,3vw,34px);z-index:4;display:flex;gap:8px}
.film-band .ctrl button{background:rgba(10,10,10,.55);border:1px solid rgba(245,241,234,.3);color:var(--paper);font-size:9px;letter-spacing:.22em;text-transform:uppercase;padding:8px 13px;backdrop-filter:blur(6px);transition:background .2s,color .2s}
.film-band .ctrl button:hover{background:var(--gold-bright);color:var(--ink);border-color:var(--gold-bright)}

/* --- FILM INDEX: every film on the page, listed --- */
.film-index{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(245,241,234,.16);border:1px solid rgba(245,241,234,.16)}
.film-index a{background:var(--dark);padding:22px 22px 24px;display:flex;flex-direction:column;gap:6px;transition:background .2s}
.film-index a:hover{background:#0a0a0a}
.film-index .n{font-size:9.5px;letter-spacing:.26em;color:var(--gold-bright)}
.film-index .t{font-family:'Italiana',serif;font-size:20px;letter-spacing:.02em;color:var(--paper)}
.film-index .d{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:rgba(245,241,234,.55);line-height:1.5}
@media(max-width:820px){.film-index{grid-template-columns:1fr}}

/* --- IN-PAGE JUMP ROW --- */
.ic-jump{display:flex;flex-wrap:wrap;gap:1px;background:var(--rule);border:1px solid var(--rule);margin:34px 0 0}
.ic-jump a{flex:1 1 auto;background:var(--paper);padding:14px 18px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--soft);text-align:center;transition:background .2s,color .2s;min-width:140px}
.ic-jump a:hover{background:var(--ink);color:var(--paper)}
.is-dark .ic-jump,section[style*="--dark"] .ic-jump{background:rgba(245,241,234,.2);border-color:rgba(245,241,234,.2)}
.is-dark .ic-jump a{background:var(--dark);color:rgba(245,241,234,.7)}
.is-dark .ic-jump a:hover{background:var(--gold-bright);color:var(--ink)}

/* --- CHIPS --- */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px}
.chip{display:inline-block;padding:4px 10px;border:1px solid var(--gold-soft);color:var(--gold-deep);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
a.chip:hover{background:var(--gold);color:var(--paper);border-color:var(--gold)}
.is-dark .chip{border-color:rgba(217,181,106,.42);color:var(--gold-bright)}
.is-dark a.chip:hover{background:var(--gold-bright);color:var(--ink)}

/* --- SKU GRID (adhesives) --- */
.sku-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.sku{background:var(--paper);display:flex;flex-direction:column;scroll-margin-top:150px}
.sku .pic{aspect-ratio:4/3;position:relative;overflow:hidden;background:transparent;border-bottom:1px solid var(--softest)}
.sku .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px;mix-blend-mode:multiply}
.sku .pic .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:rgba(10,10,10,.35)}
.sku .body{padding:20px 20px 20px;display:flex;flex-direction:column;flex:1;gap:9px}
.sku .code{font-family:'Italiana',serif;font-size:22px;letter-spacing:.02em;line-height:1}
.sku .code sup{font-size:10px;vertical-align:super}
.sku .use{font-size:13px;line-height:1.6;color:var(--soft)}
.sku .use strong{color:var(--ink);font-weight:500}
.sku:hover{background:var(--cream)}
@media(max-width:1180px){.sku-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.sku-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.sku-grid{grid-template-columns:1fr}}

/* --- FAMILY HEADER --- */
.fam{margin:64px 0 22px;display:grid;grid-template-columns:auto 1fr;gap:0 22px;align-items:baseline}
.fam:first-of-type{margin-top:0}
.fam .let{font-family:'Italiana',serif;font-size:56px;line-height:.8;color:var(--gold);grid-row:span 2}
.fam h3{font-family:'Italiana',serif;font-size:clamp(24px,2.6vw,34px);font-weight:400;letter-spacing:.02em;line-height:1.05}
.fam p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--soft);margin-top:4px;max-width:78ch}
.is-dark .fam .let{color:var(--gold-bright)}
.is-dark .fam p{color:rgba(245,241,234,.6)}

/* --- PROPERTY GRID --- */
.props{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.prop{background:var(--paper);padding:24px 22px 26px}
.prop h4,.prop h3.was-h4{font-family:'Italiana',serif;font-size:18px;font-weight:400;letter-spacing:.02em;color:var(--gold-deep);margin-bottom:8px}
.prop p{font-size:12.5px;line-height:1.6;color:var(--soft)}
.is-dark .props{background:rgba(245,241,234,.16);border-color:rgba(245,241,234,.16)}
.is-dark .prop{background:var(--dark)}
.is-dark .prop h4,.is-dark .prop h3.was-h4{color:var(--gold-bright)}
.is-dark .prop p{color:rgba(245,241,234,.68)}
@media(max-width:1100px){.props{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.props{grid-template-columns:1fr}}

/* --- MACHINE ROWS: big plate + spec --- */
.mach{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:0;border:1px solid var(--rule);margin-bottom:-1px;background:var(--paper);scroll-margin-top:150px}
.mach .pic{position:relative;overflow:hidden;background:var(--cream);border-right:1px solid var(--softest);min-height:270px}
.mach .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:22px;mix-blend-mode:multiply}
.mach .pic .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:rgba(10,10,10,.35)}
.mach .meta{padding:36px 38px 34px;display:flex;flex-direction:column;gap:12px}
.mach .model{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.mach .model h3{font-family:'Italiana',serif;font-size:clamp(26px,2.8vw,38px);font-weight:400;letter-spacing:.02em;line-height:1}
.mach .model .yr{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);border:1px solid var(--gold-soft);padding:3px 9px}
.mach .conf{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--gold-deep)}
.mach .lead{font-size:14.5px;line-height:1.72;color:var(--soft);max-width:66ch}
.mach .lead strong{color:var(--ink);font-weight:500}
.mach dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin-top:6px;font-size:12.5px}
.mach dt{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);padding-top:2px}
.mach dd{color:var(--soft)}
@media(max-width:900px){.mach{grid-template-columns:1fr}.mach .pic{min-height:230px;border-right:none;border-bottom:1px solid var(--softest)}.mach .meta{padding:28px 24px}}

/* --- SMALL PRODUCT ROW (guns, presses, devices) --- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.trio.two{grid-template-columns:repeat(2,1fr)}
.trio .item{background:var(--paper);display:flex;flex-direction:column;scroll-margin-top:150px}
.trio .pic{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--cream)}
.trio .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:18px;mix-blend-mode:multiply}
.trio .pic .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:rgba(10,10,10,.35)}
.trio .body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:9px;flex:1;border-top:1px solid var(--softest)}
.trio h4,.trio h3.was-h4{font-family:'Italiana',serif;font-size:22px;font-weight:400;letter-spacing:.02em;line-height:1.05}
.trio h4 em,.trio h3.was-h4 em{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13.5px;color:var(--gold-deep);margin-top:5px;letter-spacing:.03em}
.trio p{font-size:13px;line-height:1.65;color:var(--soft)}
@media(max-width:900px){.trio,.trio.two{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.trio,.trio.two{grid-template-columns:1fr}}

/* --- SECTOR BLOCK (applications) --- */
.sector{border-top:1px solid var(--softer);padding:56px 0;scroll-margin-top:150px}
.sector:first-of-type{border-top:none;padding-top:8px}
.sector-head{display:grid;grid-template-columns:auto 1fr;gap:0 24px;align-items:baseline;margin-bottom:26px}
.sector-head .n{font-family:'Italiana',serif;font-size:20px;color:var(--gold);letter-spacing:.16em}
.sector-head h3{font-family:'Italiana',serif;font-size:clamp(30px,3.6vw,50px);font-weight:400;letter-spacing:.01em;line-height:1}
.sector-head h3 span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.44em;color:var(--soft);margin-left:14px;letter-spacing:.02em}
.sector-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:start}
.sector-grid.flip > .media{order:2}
.sector-grid .media{position:relative}
.sector-grid .media .frame{position:relative;overflow:hidden;background:var(--dark);aspect-ratio:4/3;border:1px solid var(--rule)}
.sector-grid .media .frame img,.sector-grid .media .frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sector-grid .media .frame .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:rgba(245,241,234,.4)}
.sector-grid .media .cap{margin-top:10px;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.sector .chal{font-size:15.5px;line-height:1.75;color:var(--soft);margin-bottom:18px}
.sector .chal strong{color:var(--ink);font-weight:500}
.sector ul.why{list-style:none;display:grid;gap:10px;margin:0 0 22px}
.sector ul.why li{position:relative;padding-left:20px;font-size:14px;line-height:1.65;color:var(--soft)}
.sector ul.why li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:1px;background:var(--gold)}
.rec{display:grid;gap:16px;border-top:1px solid var(--softer);padding-top:20px}
.rec .lab{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
@media(max-width:900px){.sector-grid{grid-template-columns:1fr}.sector-grid.flip > .media{order:0}}

/* --- SECTOR INDEX TILES --- */
.sector-tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.sector-tiles a{background:var(--paper);padding:22px 20px 24px;display:flex;flex-direction:column;gap:6px;transition:background .2s}
.sector-tiles a:hover{background:var(--ink);color:var(--paper)}
.sector-tiles a:hover .sub{color:rgba(245,241,234,.6)}
.sector-tiles .num{font-size:9.5px;letter-spacing:.26em;color:var(--gold)}
.sector-tiles .nm{font-family:'Italiana',serif;font-size:21px;letter-spacing:.02em;line-height:1}
.sector-tiles .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12.5px;color:var(--soft)}
/* Ten sectors: 10 divides evenly by 5 and by 2, never by 3 — a 3-up row would
   leave two empty cells whose container background (--rule, near-black) shows
   through as a solid block. Do not reintroduce a 3-column step here. */
@media(max-width:1000px){.sector-tiles{grid-template-columns:repeat(2,1fr)}}

/* --- VIDEO PAIR --- */
.vid-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vid{position:relative}
.vid .frame{position:relative;overflow:hidden;background:var(--ink);aspect-ratio:16/9;border:1px solid var(--rule)}
.vid .frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vid .cap{margin-top:10px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14.5px;color:var(--soft)}
.is-dark .vid .cap{color:rgba(245,241,234,.65)}
@media(max-width:800px){.vid-grid{grid-template-columns:1fr}}

/* --- DOCUMENT LIST --- */
.docs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.docs a,.docs div{background:var(--paper);padding:22px 24px;display:flex;flex-direction:column;gap:5px;transition:background .2s}
.docs a:hover{background:var(--cream)}
.docs .t{font-family:'Italiana',serif;font-size:19px;letter-spacing:.02em}
.docs .d{font-size:12.5px;color:var(--soft);line-height:1.6}
.docs .go{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-top:4px}
@media(max-width:700px){.docs{grid-template-columns:1fr}}

/* --- CROSS-LINK BAND --- */
.ic-cross{background:var(--dark);color:var(--paper);border-top:1px solid rgba(245,241,234,.14)}
.ic-cross .container{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0}
.ic-cross a{padding:clamp(30px,4vw,52px) clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:8px;border-right:1px solid rgba(245,241,234,.14);transition:background .25s}
.ic-cross a:last-child{border-right:none}
.ic-cross a:hover{background:#0a0a0a}
.ic-cross .l{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-bright)}
.ic-cross .h{font-family:'Italiana',serif;font-size:clamp(24px,2.6vw,34px);font-weight:400;letter-spacing:.02em;line-height:1.05}
.ic-cross .d{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:rgba(245,241,234,.6)}
/* Two-card variant. The base rule declares three columns, so a two-child row
   leaves an empty third cell painted with .ic-cross's own dark background.
   Declared above the mobile override so the media query still wins. */
.ic-cross.two .container{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.ic-cross .container{grid-template-columns:1fr}.ic-cross a{border-right:none;border-bottom:1px solid rgba(245,241,234,.14)}}

/* --- NOTE STRIP --- */
.note{border-left:2px solid var(--gold);padding:4px 0 4px 20px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17.5px;line-height:1.6;color:var(--soft);max-width:82ch}
.note b{font-style:normal;font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-top:8px;font-weight:500}
.is-dark .note{border-left-color:var(--gold-bright);color:rgba(245,241,234,.85)}
.is-dark .note b{color:rgba(245,241,234,.5)}

/* --- BENEFIT LIST (two-column dense) --- */
.bens{columns:2;column-gap:56px;list-style:none;margin:0}
.bens li{break-inside:avoid;padding:13px 0 13px 22px;position:relative;border-bottom:1px solid rgba(245,241,234,.14);font-size:14px;line-height:1.6;color:rgba(245,241,234,.72)}
.bens li::before{content:"";position:absolute;left:0;top:20px;width:10px;height:1px;background:var(--gold-bright)}
.bens li strong{color:var(--paper);font-weight:500;display:block;font-family:'Italiana',serif;font-size:17px;letter-spacing:.02em;margin-bottom:3px}
@media(max-width:760px){.bens{columns:1}}

/* --- PRINT --- */
@media print{
  .ic-bar,.ic-sub,.ic-jump,.ic-cross,.film .ctrl,.film-band .ctrl{display:none!important}
  .film-band video{height:260px}
  .sku-grid,.props,.trio{grid-template-columns:repeat(3,1fr)!important}
  .sector-tiles{grid-template-columns:repeat(5,1fr)!important}
  .mach{grid-template-columns:1fr!important;page-break-inside:avoid}
  .sector{page-break-inside:avoid}
}

/* FormSubmit honeypot — must never be visible. A visitor who reads
   "Leave this field empty" as an instruction loses their enquiry silently. */
.hp,.cta-form .hp,form .hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;margin:0!important;padding:0!important}
