/*
 * 3DProyect — Art direction 02
 * Industrial editorial system inspired by material, extrusion and supply flow.
 * Kept separate from the structural stylesheet so the visual layer is easy to evolve.
 */
:root{
  --ad-black:#111315;
  --ad-graphite:#1c2023;
  --ad-paper:#f1f0eb;
  --ad-white:#fff;
  --ad-orange:#ff7200;
  --ad-orange-dark:#b84d00;
  --ad-line:rgba(23,27,29,.18);
  --ad-line-dark:rgba(255,255,255,.17);
}
body{background:var(--ad-paper);color:var(--ad-black)}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.62'/%3E%3C/svg%3E")}
h1,h2,h3{font-weight:620;letter-spacing:-.06em}
.container{--container:1380px}
.section{position:relative;overflow:hidden}

/* Header: a compact black instrument bar, always connected to the hero. */
.site-header{position:sticky;top:0;z-index:100;background:rgba(17,19,21,.96);color:#fff;border:0;border-bottom:1px solid var(--ad-line-dark);backdrop-filter:blur(16px)}
.admin-bar .site-header{top:32px}
.header-inner{min-height:78px}
.brand-name{color:#fff;font-size:28px;letter-spacing:-.075em}
.brand-name>span{color:#fff}
.brand-tagline{color:#9ea4a7;font-size:8px;letter-spacing:.24em;text-transform:uppercase}
.brand.has-official-logo{line-height:0}
.brand-official{display:block;width:var(--tdp-logo-width,220px);max-width:44vw;line-height:0}
.brand-official-image{display:block;width:100%;height:auto;object-fit:contain}
.site-header .brand.has-custom-logo{padding:0;background:transparent}
.site-nav a{color:#fff;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.site-nav a::after{background:var(--ad-orange);bottom:3px}
.site-nav .header-cta{background:var(--ad-orange);color:var(--ad-black);border-color:var(--ad-orange);letter-spacing:0;text-transform:none}
.site-nav .header-cta:hover{background:#ff8f32;color:#000}
.menu-toggle{border-color:#ffffff3d;color:#fff}

/* Hero: full-stage product composition, not a card-based split screen. */
.hero{min-height:calc(100svh - 78px);background:var(--ad-black);color:#fff;isolation:isolate;overflow:hidden}
.hero::before{content:"";display:block;position:absolute;z-index:-1;width:min(67vw,980px);aspect-ratio:1;right:-10vw;top:50%;transform:translateY(-50%);border:clamp(72px,9vw,148px) solid var(--ad-orange);border-radius:50%;opacity:.94}
.hero::after{content:"01";display:block;position:absolute;z-index:-2;right:-.04em;bottom:-.3em;color:#ffffff08;font-size:min(42vw,660px);font-weight:750;line-height:1;letter-spacing:-.12em}
.hero-inner{min-height:calc(100svh - 78px);padding-top:clamp(58px,8vh,105px);padding-bottom:27px;display:flex;align-items:flex-start}
.hero-inner::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--gutter) + 51%);width:1px;background:linear-gradient(transparent,var(--ad-line-dark) 15%,var(--ad-line-dark) 88%,transparent)}
.hero-media{inset:2% -2% 4% auto;width:61%;z-index:1;pointer-events:none}
.hero-media img{width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 42px 45px rgba(0,0,0,.38));transform:rotate(-3deg) scale(1.04)}
.hero .eyebrow{max-width:52%;color:#c7cbcd;margin:0 0 42px;font-size:10px;letter-spacing:.18em}
.hero .eyebrow::before{width:28px;height:1px;background:var(--ad-orange)}
.hero-code{position:absolute;top:clamp(58px,8vh,105px);right:var(--gutter);z-index:3;margin:0;color:#fff;font-size:9px;letter-spacing:.23em;writing-mode:vertical-rl;text-transform:uppercase}
.hero-title{position:relative;z-index:3;max-width:60%;margin:0 0 28px;color:#fff;font-size:clamp(61px,7vw,116px);line-height:.91;letter-spacing:-.077em;text-wrap:initial}
.hero-title .accent{display:inline-block;color:var(--ad-orange);margin-top:.08em}
.hero-copy{position:relative;z-index:3;color:#bcc2c4;max-width:510px;font-size:14px;line-height:1.75}
.hero-actions{position:relative;z-index:3;margin-top:29px}
.hero .button-primary .wp-block-button__link{background:var(--ad-orange);color:#111315;border-color:var(--ad-orange)}
.hero .button-outline .wp-block-button__link{color:#fff;border:0;border-bottom:1px solid #ffffff6b;border-radius:0;padding-inline:0}
.hero .button-outline .wp-block-button__link:hover{color:var(--ad-orange);border-color:var(--ad-orange)}
.hero-footer{position:relative;z-index:3;color:#aeb3b5;border-color:var(--ad-line-dark);font-size:9px;letter-spacing:.16em}

/* Opening statement: oversized type and an architectural B2B watermark. */
.intro-section{background:var(--ad-paper);padding-block:clamp(100px,12vw,180px)}
.intro-section::before{content:"B2B";position:absolute;right:-.04em;top:-.22em;color:transparent;-webkit-text-stroke:1px rgba(17,19,21,.1);font-size:clamp(220px,31vw,520px);font-weight:760;line-height:1;letter-spacing:-.11em}
.intro-grid{position:relative;grid-template-columns:.62fr 1.38fr;gap:8%}
.intro-heading{padding-top:11px}
.intro-heading .section-title{font-size:clamp(48px,5.4vw,84px);line-height:1.01;max-width:860px}
.intro-copy{padding:20px 0 0;max-width:720px;margin-left:auto}
.intro-copy>p:first-child{font-size:clamp(20px,2vw,29px);line-height:1.48;letter-spacing:-.025em}
.intro-copy>.intro-highlight{border:0;border-top:1px solid var(--ad-line);padding:25px 0 0;margin-top:34px;font-size:14px}

/* Materials: sticky editorial lead, photographic triptych, index as a precision table. */
.materials-section{background:#deded8;padding-top:clamp(100px,10vw,150px);padding-bottom:clamp(132px,12vw,190px);overflow:visible}
.materials-section>.container{display:grid;grid-template-columns:minmax(260px,.64fr) minmax(0,1.36fr);column-gap:7%;row-gap:0;align-items:start}
.materials-section .section-heading{display:block;position:sticky;top:120px;margin:0;grid-column:1;grid-row:1 / span 3}
.materials-section .section-heading .section-label,.materials-section .section-heading .section-title,.materials-section .section-heading .section-intro{display:block;margin:0;max-width:420px}
.materials-section .section-heading .section-title{font-size:clamp(48px,5vw,78px);line-height:.98;margin-top:30px}
.materials-section .section-heading .section-intro{font-size:13px;line-height:1.8;margin-top:30px;color:#4b5153}
.materials-section .filament-gallery{grid-column:2;grid-row:1;display:grid;grid-template-columns:1.15fr .8fr .8fr;gap:1px;background:#1b1e20;border:1px solid #1b1e20;margin:0 0 42px}
.filament-gallery>.filament-photo{position:relative;margin:0!important;padding:0;background:#f8f8f6;overflow:hidden;min-height:390px}
.filament-gallery>.filament-photo::before{position:absolute;z-index:2;left:17px;top:16px;color:#5b6163;font-size:8px;letter-spacing:.18em;text-transform:uppercase}
.filament-gallery>.filament-photo:nth-child(1)::before{content:"01 / NATURAL"}
.filament-gallery>.filament-photo:nth-child(2)::before{content:"02 / NEUTRAL"}
.filament-gallery>.filament-photo:nth-child(3)::before{content:"03 / COLOUR"}
.filament-gallery>.filament-photo::after{content:"";position:absolute;left:17px;right:17px;bottom:17px;height:3px;background:var(--ad-orange);transform-origin:left;transform:scaleX(.12);transition:transform .55s cubic-bezier(.22,1,.36,1)}
.filament-gallery>.filament-photo:hover::after{transform:scaleX(1)}
.filament-photo img{height:100%;min-height:390px;object-fit:contain;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.filament-photo:hover img{transform:scale(1.045)}
.materials-section .material-teaser-list{grid-column:2;grid-row:2;border-top:1px solid #1b1e20}
.material-teaser-row{grid-template-columns:55px minmax(180px,.8fr) 1fr 38px;min-height:105px;border-color:rgba(17,19,21,.22);padding:24px 2px}
.material-teaser-row .material-number,.material-teaser-row>p{color:#4b5153}
.material-teaser-row:hover{padding-inline:16px;background:var(--ad-black);color:#fff}
.material-teaser-row:hover p{color:#c4c8c9}
.material-teaser-row h3{font-size:clamp(30px,3.2vw,54px);line-height:1}
.materials-section .materials-bottom{grid-column:2;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;min-height:74px;margin-top:48px}
.materials-section .materials-bottom .wp-block-buttons,.materials-section .materials-bottom .wp-block-button{margin:0!important;align-self:center}
.materials-section .materials-bottom .wp-block-button__link{position:relative;z-index:2}
.materials-section .availability-note{color:#4b5153}

/* Commercial process: a sticky manifesto facing a vertical supply flow. */
.process-section{background:var(--ad-black);color:#fff;padding-block:clamp(100px,11vw,170px)}
.process-section>.container{display:grid;grid-template-columns:.82fr 1.18fr;column-gap:9%;row-gap:0;align-items:start}
.process-section .section-heading{position:sticky;top:120px;display:block;margin:0;grid-column:1;grid-row:1 / span 2}
.process-section .section-heading>*{display:block;margin:0;max-width:520px}
.process-section .section-title{font-size:clamp(48px,5.4vw,84px);line-height:.98;margin-top:30px}
.process-section .section-intro{font-size:13px;line-height:1.8;margin-top:30px!important;max-width:430px}
.process-section .process-list{grid-column:2;display:block;margin:0;border-top:1px solid var(--ad-line-dark)}
.process-step{display:grid;grid-template-columns:110px 1fr;gap:30px;align-items:start;padding:31px 0 36px;border-bottom:1px solid var(--ad-line-dark)}
.process-step .step-number{font-size:clamp(58px,6vw,92px);margin:0;color:var(--ad-orange);font-weight:300;line-height:.8}
.process-step .step-content{padding-top:4px}
.process-step .step-content h3{font-size:clamp(26px,2.8vw,40px);margin:0 0 12px}
.process-step .step-content p{font-size:13px;max-width:500px}
.process-section>.container>.wp-block-buttons{grid-column:2;margin-top:34px}

/* Audiences read as a catalogue index rather than feature cards. */
.audience-section{background:#f5f3ed;padding-block:clamp(90px,10vw,150px)}
.audience-section .section-heading{margin-bottom:75px}
.audience-section .section-title{font-size:clamp(52px,6vw,92px);line-height:.95}
.audience-row{position:relative;grid-template-columns:.85fr 1fr;padding:34px 0;transition:padding .45s cubic-bezier(.22,1,.36,1),color .25s}
.audience-row::before{content:"↗";position:absolute;left:0;top:44px;color:var(--ad-orange);opacity:0;transform:translateX(-15px);transition:.35s}
.audience-row:hover{padding-left:48px;color:var(--ad-orange-dark)}
.audience-row:hover::before{opacity:1;transform:none}
.audience-row h3{font-size:clamp(36px,4vw,64px);line-height:1}

/* A single unapologetic orange conversion moment. */
.closing-cta{background:var(--ad-orange);color:var(--ad-black);border:0;padding-block:clamp(90px,10vw,150px)}
.closing-cta::after{content:"↗";position:absolute;right:2vw;bottom:-.23em;font-size:min(30vw,450px);line-height:1;color:#1113150d}
.closing-cta>.container{position:relative;z-index:1;grid-template-columns:1.35fr .65fr}
.closing-cta .section-label::before{background:var(--ad-black)}
.closing-cta h2{font-size:clamp(58px,7vw,108px);line-height:.91;max-width:980px}
.closing-cta p:not(.section-label){color:#3d250f;font-size:15px;padding-top:10px}
.closing-cta .button-dark .wp-block-button__link{background:var(--ad-black)}

/* Internal pages: brutalist editorial opening, giant navigation index. */
.page-hero{min-height:560px;display:flex;align-items:flex-end;padding-block:78px;background:var(--ad-black);border:0;overflow:hidden}
.page-hero::before{content:"";position:absolute;width:52vw;height:52vw;right:-27vw;top:-28vw;border:90px solid var(--ad-orange);border-radius:50%;opacity:.95}
.page-hero .container{position:relative;z-index:1}
.page-hero .eyebrow{font-size:9px;letter-spacing:.18em}
.page-hero-grid{grid-template-columns:minmax(0,1fr) .35fr;align-items:end}
.page-title{font-size:clamp(62px,7.5vw,116px);line-height:.91;letter-spacing:-.075em;max-width:1120px}
.page-title .accent{color:var(--ad-orange)}
.page-lead{font-size:14px;line-height:1.8;color:#b8bdbe;max-width:560px}
.page-hero .page-index{font-size:clamp(160px,22vw,340px);line-height:.63;color:#666b6e;letter-spacing:-.11em;transform:translateY(.12em)}

/* The provided partnership photograph becomes a cinematic intermission. */
.commercial-visual{background:var(--ad-black);padding:0;overflow:hidden}
.commercial-visual>.container{max-width:none;padding:0}
.commercial-photo{position:relative;margin:0!important;height:min(68vw,770px);overflow:hidden}
.commercial-photo::after{content:"RAPPORTI / FORNITURA / B2B";position:absolute;left:var(--gutter);bottom:24px;color:#fff;font-size:9px;letter-spacing:.24em}
.commercial-photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 50%;filter:saturate(.72) contrast(1.08)}
.commercial-visual+.services-section{padding-top:clamp(85px,9vw,130px)}
.service-row{grid-template-columns:80px 1fr 1fr;min-height:150px;align-items:start;padding:37px 0}
.service-row h2{font-size:clamp(30px,3.2vw,48px);line-height:1.05}
.service-row .step-number{font-size:13px;color:var(--ad-orange-dark);letter-spacing:.14em}

/* Forms and catalogue use the same severe material language. */
.form-section,.catalogue-section,.about-section{background:var(--ad-paper)}
.contact-layout{grid-template-columns:.72fr 1.28fr;column-gap:9%;row-gap:45px}
.contact-main{background:#fff;padding:clamp(26px,4vw,62px);box-shadow:0 1px 0 #0000000e}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border:0;border-bottom:1px solid #8c9391;border-radius:0;background:transparent;padding-inline:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--ad-orange-dark);box-shadow:0 2px 0 var(--ad-orange-dark)}
.material-item summary{min-height:112px;padding:30px 0}
.material-item summary h2,.material-name{font-size:clamp(38px,5vw,70px);line-height:.95}
.material-item[open]{background:#fff;padding-inline:clamp(18px,3vw,42px)}
.catalogue-section{padding-top:70px}
.catalogue-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(28px,6vw,90px);margin-bottom:65px;padding-bottom:55px;border-bottom:1px solid var(--ad-line)}
.catalogue-overview-photo{margin:0!important;background:#fff;overflow:hidden}
.catalogue-overview-photo img{display:block;width:100%;height:300px;object-fit:contain;transition:transform .6s var(--ease)}
.catalogue-overview-copy h2{font-size:clamp(32px,3.5vw,54px);line-height:1.05;margin:22px 0}
.catalogue-overview-copy>p:not(.section-label){font-size:14px;line-height:1.75;max-width:590px;color:#50575a}
.catalogue-facts{display:flex;flex-wrap:wrap;gap:30px 55px;border-top:1px solid var(--ad-line);padding-top:22px;margin-top:25px}
.catalogue-facts>.catalogue-fact{margin:0!important}
.catalogue-fact p{font-size:11px;color:#50575a;margin:0}
.catalogue-fact .catalogue-fact-value{font-size:clamp(28px,3vw,42px);line-height:1.1;letter-spacing:-.05em;color:var(--ad-black);margin-bottom:7px;font-weight:600}
.catalogue-overview-copy>.catalogue-overview-note{font-size:11px!important;margin-top:20px;max-width:520px}
.material-body.has-material-image{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(26px,4vw,60px);max-width:none;padding-left:74px}
.material-visual{align-self:start;min-width:0;padding-top:5px}
.material-catalogue-image{margin:0!important}
.material-visual>.material-image img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:400px}
.material-body .material-catalogue-image img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;max-height:400px}
.material-photo-link{display:block;color:inherit;text-decoration:none;margin-bottom:28px}
.material-photo-link>span{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid var(--ad-line);padding-block:10px;font-size:11px;font-weight:600}
.material-photo-link:hover>span{color:var(--ad-orange-dark);border-color:var(--ad-orange-dark)}
.material-photo-note,.material-pack-note,.material-source{font-size:11px!important;line-height:1.7;color:#5b6265!important}
.material-specs{display:block;margin:25px 0;font-size:13px}
.material-specs>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--ad-line);padding-block:13px}
.material-specs dt{font-weight:500;color:#5b6265}
.material-specs dd{margin:0;color:var(--ad-black);line-height:1.65;overflow-wrap:anywhere}
.material-key-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:22px;border-block:1px solid var(--ad-line);margin-block:24px}
.material-key-specs>div{display:block;padding:0;border:0}
.material-key-specs dt{font-size:10px;margin-bottom:10px}
.material-key-specs dd{font-size:clamp(18px,2vw,28px);font-weight:600;letter-spacing:-.045em;line-height:1.2}
.material-key-specs dd:empty{display:none}
.material-specs-heading{font-size:18px;letter-spacing:-.035em;margin-top:28px}
.material-pack-specs{margin-top:0}
.material-source{border-top:1px solid var(--ad-line);padding-top:15px;margin-top:20px}
.material-cta{margin-top:20px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.catalogue-overview-photo:hover img{transform:scale(1.025)}}
@media(max-width:700px){
  .catalogue-section{padding-top:45px}
  .catalogue-overview{grid-template-columns:1fr;gap:28px;margin-bottom:40px;padding-bottom:35px}
  .catalogue-overview-photo img{height:240px}
  .catalogue-overview-copy h2{font-size:36px}
  .material-body.has-material-image{display:flex;flex-direction:column-reverse;padding-left:0;gap:30px}
  .material-key-specs{gap:10px}
  .material-key-specs dd{font-size:20px}
  .material-specs>div{grid-template-columns:110px minmax(0,1fr);gap:15px}
  .material-key-specs>div{display:block}
  .material-visual{width:100%}
}

/* Footer: quiet, dense, architectural. */
.site-footer{background:#0b0d0e;color:#fff;padding-top:82px;border-top:1px solid #ffffff1f}
.footer-main{grid-template-columns:1.35fr .65fr 1fr;gap:10%;padding-bottom:68px}
.footer-brand .brand-name{font-size:40px}
.footer-official-logo{display:block;width:260px;max-width:100%;margin-bottom:24px;line-height:0}
.footer-official-logo img{display:block;width:100%;height:auto;object-fit:contain}
.material-image.material-placeholder{margin:0;align-self:start}
.material-image.material-placeholder img{display:block;width:100%;max-width:none;aspect-ratio:1;object-fit:contain;background:#fff;padding:20px;transition:transform .5s var(--ease)}
.material-image.material-placeholder figcaption{font-size:11px;letter-spacing:.04em;color:var(--color-muted);margin-top:12px}
.editorial-photo{margin-top:35px!important;overflow:hidden}
.editorial-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.8);transition:transform .7s var(--ease)}
.contact-photo{margin-top:30px!important;max-width:320px;overflow:hidden}
.contact-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:16px;transition:transform .7s var(--ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.editorial-photo:hover img,.contact-photo:hover img{transform:scale(1.035)}}
.footer-label{color:#858c8f!important}
.footer-bottom{border-color:#ffffff1a;padding-block:27px;color:#92989a}

/* Scroll motion is a reveal of structure, never a theatrical effect. */
.reveal-ready{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
/* An observed element must not be clipped out of its own intersection rectangle. */
.filament-photo.reveal-ready,.commercial-photo.reveal-ready{transform:translateY(24px)}
.filament-photo.reveal-ready.is-visible,.commercial-photo.reveal-ready.is-visible{opacity:1;transform:none}
.hero-media{transform:translate3d(var(--hero-shift-x,0),var(--hero-shift-y,0),0);transition:transform .9s cubic-bezier(.22,1,.36,1)}
.hero-media img{animation:tdp-spool-float 6.5s ease-in-out infinite alternate}
.button,.wp-block-button__link{position:relative;overflow:hidden}
.button::after,.wp-block-button__link::after{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.button:hover::after,.wp-block-button__link:hover::after{transform:translate(3px,-3px)}
.page-hero::before{animation:tdp-ring-breathe 10s ease-in-out infinite alternate}
.section-label::before{transform-origin:left;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.section-heading.is-visible .section-label::before{transform:scaleX(1.8)}
.form-check{transition:color .2s,transform .2s}
.form-check:hover{color:#9a4000;transform:translateX(2px)}
@keyframes tdp-spool-float{from{transform:rotate(-3deg) scale(1.04) translateY(-5px)}to{transform:rotate(-1deg) scale(1.055) translateY(7px)}}
@keyframes tdp-ring-breathe{from{transform:scale(.97);opacity:.86}to{transform:scale(1.035);opacity:1}}

@media(max-width:1100px){
  .hero-title{font-size:clamp(58px,8vw,88px)}
  .hero-media{width:58%;right:-6%}
  .materials-section>.container,.process-section>.container{column-gap:5%;row-gap:0}
  .filament-gallery>.filament-photo,.filament-photo img{min-height:310px}
}

@media(min-width:881px) and (max-height:820px){
  .hero-inner{padding-top:40px}
  .hero .eyebrow{margin-bottom:25px}
  .hero-title{font-size:clamp(56px,5.6vw,76px);max-width:51%;margin-bottom:20px}
  .hero-copy{line-height:1.62}
  .hero-actions{margin-top:21px}
  .hero-code{top:40px}
}

@media(max-width:880px){
  .admin-bar .site-header{top:46px}
  .header-inner{min-height:72px}
  .site-nav{background:var(--ad-black);border-color:var(--ad-line-dark);padding-bottom:14px}
  .hero{display:block;min-height:960px}
  .hero-inner{min-height:960px;padding-top:50px}
  .hero::before{width:680px;right:-290px;top:59%;border-width:95px}
  .hero::after{font-size:520px;bottom:-.2em}
  .hero-inner::after{display:none}
  .hero .eyebrow{max-width:80%;margin-bottom:34px}
  .hero-title{max-width:92%;font-size:clamp(58px,10vw,84px)}
  .hero-copy{max-width:520px}
  .hero-media{position:absolute;inset:auto -12% 5% auto;width:73%;height:58%;z-index:1}
  .hero-code{top:51%;right:24px}
  .hero-footer{margin-top:auto;padding-top:290px}
  .intro-grid{grid-template-columns:1fr;gap:55px}
  .intro-copy{margin:0;max-width:680px}
  .materials-section>.container,.process-section>.container{display:block}
  .materials-section .section-heading,.process-section .section-heading{position:relative;top:auto;margin-bottom:55px}
  .materials-section .filament-gallery,.materials-section .material-teaser-list,.materials-section .materials-bottom{grid-row:auto}
  .materials-section .materials-bottom{grid-template-columns:1fr;margin-top:38px;gap:24px}
  .materials-section .section-heading .section-title,.process-section .section-title{max-width:700px}
  .filament-gallery>.filament-photo,.filament-photo img{min-height:260px}
  .process-section .process-list{margin-top:0}
  .process-section>.container>.wp-block-buttons{margin-top:35px}
  .page-hero{min-height:500px}
  .page-hero-grid{grid-template-columns:1fr}
  .page-hero .page-index{display:none}
  .commercial-photo{height:68vw;min-height:430px}
  .contact-layout{grid-template-columns:1fr}
}

@media(max-width:600px){
  .admin-bar .site-header{top:0}
  .header-inner{min-height:68px;padding-block:11px}
  .brand-name{font-size:24px}
  .brand-official{width:170px;max-width:52vw}
  .footer-official-logo{width:230px}
  .site-header .brand.has-custom-logo{max-width:190px}
  .hero{min-height:880px}
  .hero-inner{min-height:880px;padding-top:35px}
  .hero .eyebrow{font-size:8px;margin-bottom:26px}
  .hero-title{font-size:clamp(49px,13.2vw,65px);max-width:100%;line-height:.93}
  .hero-copy{font-size:13px;max-width:330px}
  .hero::before{width:480px;right:-250px;top:64%;border-width:66px}
  .hero-media{width:91%;height:45%;right:-24%;bottom:11%}
  .hero-code{top:59%;font-size:7px}
  .hero-footer{padding-top:245px;gap:10px}
  .hero-footer p:nth-child(2){display:none}
  .intro-section::before{font-size:245px;top:.04em}
  .intro-heading .section-title,.materials-section .section-heading .section-title,.process-section .section-title,.audience-section .section-title{font-size:45px}
  .intro-copy>p:first-child{font-size:20px}
  .materials-section .filament-gallery{grid-template-columns:1fr 1fr;margin-bottom:30px}
  .filament-gallery>.filament-photo:first-child{grid-column:1/-1;min-height:330px}
  .filament-gallery>.filament-photo:first-child img{min-height:330px}
  .filament-gallery>.filament-photo:not(:first-child),.filament-gallery>.filament-photo:not(:first-child) img{min-height:210px}
  .material-teaser-row{min-height:96px}
  .material-teaser-row:hover{padding-inline:8px}
  .process-step{grid-template-columns:72px 1fr;gap:17px;padding:28px 0}
  .process-step .step-number{font-size:50px}
  .audience-section .section-heading{margin-bottom:45px}
  .audience-row{grid-template-columns:1fr;gap:15px}
  .audience-row:hover{padding-left:34px}
  .audience-row h3{font-size:38px}
  .closing-cta>.container{display:block}
  .closing-cta h2{font-size:56px;max-width:100%}
  .closing-cta p:not(.section-label){margin-top:25px}
  .closing-cta .wp-block-buttons{margin-top:30px}
  .page-hero{min-height:455px;padding-block:55px}
  .page-title{font-size:52px}
  .page-hero::before{width:560px;height:560px;right:-410px;top:-330px;border-width:62px}
  .commercial-photo{height:72vw;min-height:310px}
  .commercial-photo::after{left:23px;bottom:17px;font-size:7px}
  .service-row{min-height:0}
  .contact-main{padding:25px 18px}
  .site-footer{padding-top:56px}
}

@media(prefers-reduced-motion:reduce){
  .hero-media,.hero-media img,.page-hero::before,.filament-photo img{animation:none!important;transform:none!important;transition:none!important}
  .filament-photo.reveal-ready,.commercial-photo.reveal-ready{clip-path:none}
}
/* Native material pages and visible crawlable navigation. */
.tdp-breadcrumb-band{background:#15191b;color:#ccd0d0;padding:16px 0;border-bottom:1px solid #ffffff12}.tdp-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px 14px;padding:0;margin:0;font-size:12px;line-height:1.6}.tdp-breadcrumbs li+li::before{content:' / ';margin-right:14px;color:#7a8183}.tdp-breadcrumbs a{text-decoration:none}.tdp-breadcrumbs a:hover{text-decoration:underline;color:var(--ad-orange)}.material-links{display:flex;flex-wrap:wrap;gap:0 28px}.material-single .page-title{font-size:clamp(44px,6.4vw,94px);overflow-wrap:anywhere;max-width:1160px}.material-single .page-lead{max-width:730px}.material-single .material-body{padding:0;gap:clamp(26px,4vw,60px)}.material-single .material-copy>h2{font-size:clamp(24px,2.3vw,34px);margin:0 0 24px;letter-spacing:-.04em}.material-supply{border-top:1px solid var(--line);padding:48px 0;margin-top:54px;display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(26px,4vw,60px)}.material-supply h2{font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-.05em;max-width:490px}.material-supply p{max-width:650px}.material-other{margin-bottom:0}.material-single .material-visual{min-width:0}.material-single .material-photo-link{display:block}
@media(max-width:700px){.material-single .material-body.has-material-image,.material-supply{grid-template-columns:1fr}.material-single .page-title{font-size:clamp(40px,8vw,60px);line-height:1.05;letter-spacing:-.055em}.material-supply{padding:34px 0;gap:22px}.tdp-breadcrumbs ol{font-size:11px;gap:6px 10px}.tdp-breadcrumbs li+li::before{margin-right:10px}}
.material-supply .text-link>span{display:none}.site-nav .current-menu-parent>a::after{transform:scaleX(1)}

/* Ordered footer with prominent links to the published policies. */
.footer-main{grid-template-columns:1.3fr .75fr 1fr 1fr;gap:36px;padding-bottom:48px}
.footer-main>*,.footer-brand>p{min-width:0}
.footer-brand{grid-column:auto}
.footer-linkedin{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;margin-top:12px;padding:10px 14px;border:1px solid #ffffff45;color:#eef0ed;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none}
.footer-linkedin svg{flex:none}
.footer-linkedin:hover{border-color:var(--ad-orange);color:var(--ad-orange)}
.footer-linkedin:focus-visible{outline:2px solid var(--ad-orange);outline-offset:4px}
.footer-label{line-height:1.5;margin-top:0}
.footer-links a,.footer-contact a{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.footer-brand>p,.footer-contact address{font-size:13px;line-height:1.8}
.footer-information .footer-policy-links{margin-top:22px;padding-top:18px;border-top:1px solid #ffffff25}
.footer-policy-links a{display:inline-block;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{font-size:12px;gap:28px}
.footer-bottom a{font-size:12px}
.footer-copyright{white-space:nowrap}
@media(max-width:1000px){.footer-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.footer-brand{grid-column:1/-1}.footer-brand>p{max-width:440px}}
@media(max-width:600px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-links{grid-column:1;grid-row:2}.footer-information{grid-column:2;grid-row:2}.footer-contact{grid-row:3}.footer-contact address{margin-bottom:0}.footer-bottom{gap:20px}.footer-legal{overflow-wrap:anywhere}}
