/**
 * Theme Name: Kfra.me
 * Theme URI: https://kfra.me/
 * Description: Custom lightweight theme for kfra.me.
 * Version: 0.19.14
 * Author: kfra.me
 * Author URI: https://kfra.me/
 * Requires at least: 6.0
 * Requires PHP: 8.0
 * Text Domain: kfra-me
 */

:root{--bg:#F2F2F2;--ink:#323232;--pad:clamp(18px,3vw,48px);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}body{font-family:var(--mono)}
.hero{position:relative;min-height:100svh;overflow:hidden;padding:calc(var(--pad)*2.4) var(--pad) var(--pad);display:grid;grid-template-rows:auto 1fr auto}
.typing-claim{white-space:pre}.typing-claim.typing:after{content:"";display:inline-block;width:1px;height:1em;margin-left:2px;background:currentColor;vertical-align:-.15em;animation:blink .8s steps(1,end) infinite}@keyframes blink{50%{opacity:0}} .hero-topline,.hero-bottomline{position:relative;z-index:5;display:flex;justify-content:space-between;gap:20px;font:11px/1 var(--mono);letter-spacing:.04em}
.hero-mark{position:relative;z-index:3;display:grid;place-items:center;min-height:55vh}
.k-brand--hero{display:block;width:min(72vw,760px);max-height:65vh;height:auto}
.hero-grid-system{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}
/* Primary structural system: a sparse, coherent 12 × 8 editorial/wireframe module. */
.grid-v,.grid-h{position:absolute;display:block}
.grid-v{top:0;bottom:0;width:1px;background:rgba(50,50,50,.075)}
.grid-h{left:0;right:0;height:1px;background:rgba(50,50,50,.075)}
.v1{left:8.333%}.v2{left:25%}.v3{left:41.667%}.v4{left:50%}.v5{left:58.333%}.v6{left:75%}.v7{left:91.667%}
.h1{top:20%}.h2{top:40%}.h3{top:50%}.h4{top:60%}.h5{top:80%}
/* Secondary guides are deliberately incomplete and alternate by region. */
.dash-v,.dash-h{position:absolute;opacity:.72}
.dash-v{top:10%;bottom:10%;width:1px;border-left:1px dashed rgba(50,50,50,.065)}
.dash-h{left:8.333%;right:8.333%;height:1px;border-top:1px dashed rgba(50,50,50,.065)}
.dv1{left:16.667%}.dv2{left:33.333%}.dv3{left:66.667%}.dv4{left:83.333%}
.dh1{top:30%}.dh2{top:70%}.dh3{top:90%}
/* Wireframe placeholders: selected modules only, alternating left/right around the central mark. */
.wire{position:absolute;border:1px solid rgba(50,50,50,.07);width:16.667%;height:20%;}
.wire:before,.wire:after{content:"";position:absolute;inset:0}
.wire:before{background:linear-gradient(to bottom right,transparent calc(50% - .5px),rgba(50,50,50,.055) 50%,transparent calc(50% + .5px))}
.wire:after{background:linear-gradient(to top right,transparent calc(50% - .5px),rgba(50,50,50,.055) 50%,transparent calc(50% + .5px))}
.w1{left:8.333%;top:20%}.w2{left:75%;top:40%}.w3{left:25%;top:60%}.w4{left:58.333%;top:80%}
/* Crosshair marks occur at meaningful system intersections rather than everywhere. */
.cross{position:absolute;width:13px;height:13px;transform:translate(-50%,-50%)}
.cross:before,.cross:after{content:"";position:absolute;background:rgba(50,50,50,.10)}
.cross:before{left:6px;top:0;width:1px;height:13px}.cross:after{left:0;top:6px;width:13px;height:1px}
.c1{left:8.333%;top:20%}.c2{left:91.667%;top:40%}.c3{left:25%;top:80%}.c4{left:75%;top:80%}.c5{left:50%;top:50%}
/* Short registration/crop accents reinforce the construction-system reading. */
.reg{position:absolute;width:24px;height:24px;opacity:.65}
.reg:before,.reg:after{content:"";position:absolute;background:rgba(50,50,50,.075)}
.reg:before{width:1px;height:24px;left:0;top:0}.reg:after{height:1px;width:24px;left:0;top:0}
.r1{left:var(--pad);top:calc(var(--pad)*1.4)}.r2{right:var(--pad);top:calc(var(--pad)*1.4);transform:scaleX(-1)}
.r3{left:var(--pad);bottom:var(--pad);transform:scaleY(-1)}.r4{right:var(--pad);bottom:var(--pad);transform:scale(-1)}
.hero-bottomline{padding-top:10px}
.section{position:relative;overflow:hidden;min-height:70vh;padding:12vh var(--pad);display:grid;place-items:center;border-top:1px solid rgba(50,50,50,.08)}
.section--dark{background:#323232;color:#fff}.section-inner{position:relative;z-index:3;width:min(1100px,100%)}
.section-grid-system{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}
.statement{font-size:clamp(42px,8vw,110px);line-height:.9;letter-spacing:-.05em;margin:0}
.ideas-inner{display:flex;flex-direction:column;align-items:flex-start}.ideas-inner .statement{margin:0 0 clamp(22px,3vw,42px)}.client-list{max-width:980px;font:12px/1.75 var(--mono);letter-spacing:.035em}.client-sep{opacity:.55}
.footer{min-height:60vh;background:#323232;color:#fff;padding:var(--pad);display:flex;align-items:flex-end;justify-content:space-between;gap:30px;font:11px var(--mono)}
.k-footer{width:min(30vw,300px);height:auto}
@media(max-width:700px){.hero{padding-top:calc(var(--pad)*1.7)}.k-brand--hero{width:min(86vw,760px)}.wire{width:25%;height:15%}.w1{left:0;top:20%}.w2{left:75%;top:40%}.w3{left:16.667%;top:60%}.w4{left:58.333%;top:80%}.dash-v{top:12%;bottom:12%}.hero-topline,.hero-bottomline{font-size:9px}.section{min-height:60vh}.statement{font-size:clamp(38px,13vw,82px)}.footer{min-height:45vh}.k-footer{width:35vw}}


/* v0.13 — asymmetric editorial alignment */
.ideas-inner{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2.083vw;align-items:start;}
.ideas-inner .statement{grid-column:3 / span 5;margin:0 0 clamp(22px,3vw,42px);}
.ideas-inner .client-list{grid-column:3 / span 6;max-width:none;}
.section--ideas .section-inner{width:100%;}
.section--dark .section-inner{width:100%;}
.section--dark .statement{margin-left:58.333%;}
@media(max-width:700px){
  .section{padding-left:24px;padding-right:24px;}
  .ideas-inner{display:block;}
  .ideas-inner .statement{margin:0 0 24px 0;}
  .ideas-inner .client-list{max-width:100%;}
  .section--dark .statement{margin-left:42%;}
}

/* v0.14.3 — photographic K mask test: official K geometry */
.section--work{min-height:100vh;}
.work-inner{width:100%;min-height:76vh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:2.083vw;align-items:center;}
.photo-k{grid-column:1 / span 8;width:min(68vw,900px);aspect-ratio:1125.73 / 974.87;justify-self:start;margin:0 0 0 -5vw;overflow:visible;background:transparent;}
.photo-k svg{display:block;width:100%;height:100%;overflow:visible;}
.photo-k image{display:block;}
.section--work .statement{grid-column:9 / span 3;margin:0;align-self:center;}
@media(max-width:700px){
  .section--work{min-height:100svh;padding-top:10vh;padding-bottom:10vh;}
  .work-inner{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(28px,8vw,56px);min-height:78svh;}
  .photo-k{width:min(120vw,660px);align-self:flex-start;margin-left:-22vw;}
  .section--work .statement{margin-left:18%;font-size:clamp(34px,11vw,68px);}
}



/* v0.15.2 — paper background transition section */
.section--paper{
  min-height:52vh;
  padding:0;
  display:block;
  background:var(--bg);
  border-top:0;
  border-bottom:1px solid rgba(50,50,50,.08);
}
.paper-background{
  position:absolute;
  inset:0;
  background-image:url("assets/media/paper_background_01.webp");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
@media(max-width:700px){
  .section--paper{min-height:42vh;}
  .paper-background{background-size:auto 100%;}
}


/* v0.16.0 — K/claim scroll states */
/* v0.15.8 — paper-to-system background transition */
.hero--paper{
  position:relative;
  isolation:isolate;
  background-color:#f2f2f2;
  background-image:none;
}
.hero--paper::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url("assets/media/paper_background_01.webp");
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  opacity:1;
  transition:opacity .42s ease;
  pointer-events:none;
}
.hero--paper > *{position:relative;z-index:1}
body.has-scrolled .hero--paper::before{opacity:0}
.k-brand--hero{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate3d(-50%,-50%,0);
  z-index:3;
  opacity:.25;
  filter:blur(18px);
  transition:opacity .9s ease,filter .9s ease,visibility 0s linear 0s;
}
.k-brand--hero.is-focused{
  opacity:1;
  filter:blur(0);
}
.k-brand--hero.is-transitioning{
  will-change:opacity,filter;
}
.k-brand--hero.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,filter .2s ease,visibility 0s linear .2s;
}

/* Same typographic character/dimensions as the original claim. */
.typing-claim{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate3d(-50%,-50%,0);
  z-index:6;
  pointer-events:none;
  font:11px/1 var(--mono);
  letter-spacing:.04em;
  white-space:nowrap;
  opacity:1;
  visibility:visible;
  transition:opacity .15s ease,visibility .15s ease;
}
.typing-claim.is-hidden{opacity:0;visibility:hidden;}
.typing-claim.is-top{
  left:var(--pad);
  top:var(--pad);
  transform:none;
  opacity:1;
  visibility:visible;
}

@media(max-width:700px){
  .k-brand--hero{width:min(86vw,760px);}
  .hero--paper::before{background-size:auto 100%;background-position:center center;}
}
@media(prefers-reduced-motion:reduce){
  .k-brand--hero{transition:none;}
  .typing-claim{transition:none;}
}


/* v0.17.0 — K-mask mixed Media Library media stage */
/* K-mask media: fill the complete SVG mask without changing the K geometry. */
.video-k .k-mask-video,
.video-k .k-mask-image{
  display:block;
  position:absolute;
  inset:0;
  width:115%;
  height:115%;
  min-width:115%;
  min-height:115%;
  margin:-7.5%;
  object-fit:cover;
  object-position:center center;
  border:0;
}

.video-k{
  position:relative;
}

.video-k .k-mask-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:hidden;
  -webkit-clip-path:url("#kframe-video-clip");
  clip-path:url("#kframe-video-clip");
}

/* The SVG remains in the DOM only as a reusable clipPath definition. */
.video-k .k-mask-defs{
  position:absolute;
  width:1px;
  height:1px;
  overflow:visible;
  pointer-events:none;
}

.video-k .k-mask-video,
.video-k .k-mask-image{
  opacity:0;
}

.video-k .k-mask-video{
  transition:opacity .08s linear;
}

.video-k .k-mask-image{
  transition:opacity .08s linear, transform 0s linear;
  transform:scale(1);
}

.video-k .k-mask-video.is-active,
.video-k .k-mask-image.is-active{
  opacity:1;
}

.video-k .k-mask-video.is-buffer,
.video-k .k-mask-image.is-buffer{
  opacity:0;
}

@media(prefers-reduced-motion:reduce){
  .video-k .k-mask-image{
    transition:opacity .08s linear !important;
  }
}

/* v0.19.13 — hero contact control remains fixed above all page content */
.hero-footer-link{
  position:fixed;
  right:var(--pad);
  bottom:clamp(21px,2.53vw,37px);
  top:auto;
  transform:none;
  z-index:9999;
  display:block;
  width:min(9vw,52px);
  height:auto;
  line-height:0;
  text-decoration:none;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility 0s linear .22s;
}
.hero-footer-link.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .22s ease;
}
.hero-footer-link.is-hidden-footer{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.hero-footer-link img{display:block;width:100%;height:auto;}
.hero-footer-link:focus-visible{outline:1px solid currentColor;outline-offset:6px;}
.whatsapp-footer{
  display:block;
  width:189px;
  height:40px;
  position:relative;
  line-height:0;
  text-decoration:none;
  flex:none;
}
.whatsapp-footer .whatsapp-icon{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  transition:opacity .18s ease;
}
.whatsapp-footer .whatsapp-icon-white{opacity:1;}
.whatsapp-footer .whatsapp-icon-green{opacity:0;}
.whatsapp-footer:hover .whatsapp-icon-white,
.whatsapp-footer:focus-visible .whatsapp-icon-white{opacity:0;}
.whatsapp-footer:hover .whatsapp-icon-green,
.whatsapp-footer:focus-visible .whatsapp-icon-green{opacity:1;}
.whatsapp-footer:focus-visible{outline:1px solid #25D366;outline-offset:4px;border-radius:8px;}
@media(max-width:700px){
  .hero-footer-link{right:1rem;bottom:max(18px,calc(env(safe-area-inset-bottom) + 2px));top:auto;transform:none;width:min(16vw,38px);}
  .whatsapp-footer{width:189px;height:40px;max-width:100%;}
}

/* v19.25 local — WORK text layered above the K mask */
.work-inner{
  width:100%;
  min-height:76vh;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:2.083vw;
  align-items:center;
}
.work-label{
  grid-column:4;
  grid-row:1;
  align-self:start;
  justify-self:start;
  margin-top:0;
  font-size:clamp(.9rem,1.05vw,1rem);
  line-height:1.2;
  font-weight:600;
  position:relative;
  z-index:4;
}
.work-content{
  grid-column:5 / span 8;
  grid-row:1;
  min-width:0;
  align-self:center;
  position:relative;
  z-index:4;
}
.work-intro{
  width:min(100%,1000px);
  margin:0;
  font-family:"Space Grotesk",sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:clamp(1rem,1.28vw,1.2rem);
  line-height:1.2;
  letter-spacing:-.018em;
}
.work-intro strong{font-weight:700;}
.work-services{
  margin:clamp(2.5rem,4vw,4rem) 0 0;
  font:12px/1.75 var(--mono);
  letter-spacing:.015em;
}
.work .photo-k,
.section--work .photo-k{
  grid-column:1 / span 8;
  grid-row:1;
  position:relative;
  z-index:1;
  margin:0 0 0 -5vw;
  transform:translateY(clamp(-11rem,-12vw,-8rem));
}

.site-footer{
  background:#323232;
  color:#fff;
  width:100%;
  padding:clamp(5rem,9vw,9rem) 0 clamp(2rem,4vw,3.5rem);
}
.footer-inner{
  width:100%;
  margin:0;
  padding:0 clamp(1rem,3vw,3rem);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  position:relative;
  box-sizing:border-box;
}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start;}
.footer-brand-row{display:flex;align-items:center;gap:1.5rem;}
.footer-logo-extended{display:block;width:min(210px,22.4vw);height:auto;}
.footer-logo-mono{display:block;width:clamp(33.6px,3.5vw,53.2px);height:auto;}
.footer-payoff,.footer-services,.footer-contact p,.footer-addresses p,.footer-tax p,.footer-bottom p{margin:0;}
.footer-payoff{margin-top:1.5rem;font-size:clamp(.9rem,1.1vw,1.05rem);letter-spacing:.04em;}
.footer-services{margin-top:.35rem;font-size:clamp(.78rem,.9vw,.9rem);letter-spacing:.08em;}
.footer-contact{margin-top:clamp(3.5rem,6vw,6rem);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.45;text-align:left;}
.footer-contact p + p{margin-top:.35rem;}
.footer-contact a{color:inherit;text-decoration:none;}
.footer-addresses{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,7vw,8rem);margin-top:clamp(3rem,5vw,5rem);max-width:none;font-size:clamp(.9rem,1.05vw,1rem);line-height:1.45;text-align:left;}
.footer-label{margin-bottom:.45rem !important;font-size:.7em;letter-spacing:.08em;text-transform:uppercase;opacity:.65;}
.footer-tax{margin-top:clamp(2.5rem,4vw,4rem);font-size:clamp(.78rem,.9vw,.9rem);letter-spacing:.02em;text-align:left;}
.footer-bottom{width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:clamp(5rem,10vw,10rem);}
.footer-credit{margin-left:auto !important;text-align:right;font-size:.62rem;letter-spacing:.02em;opacity:.55;}
.footer-credit a{color:inherit;text-decoration:none;}

@media(max-width:700px){
  .work-inner{display:block;padding-top:clamp(4rem,10vw,6rem);padding-bottom:clamp(5rem,12vw,8rem);}
  .work-label{margin-bottom:2.5rem;}
  .work-content{width:100%;}
  .work-intro{width:100%;font-size:clamp(1rem,4.3vw,1.2rem);line-height:1.22;}
  .work-services{margin-top:3.5rem;font-size:11px;line-height:1.8;}
  .work .photo-k,.section--work .photo-k{display:block;margin-top:clamp(4rem,10vw,6rem);margin-left:-22vw;transform:translateY(clamp(-6rem,-12vw,-4rem));z-index:1;}
  .work-assets{display:block;}
  .site-footer{padding:13rem 0 1.75rem;overflow-x:clip;}
  .footer-inner{width:100%;max-width:100%;padding:0 1rem;}
  .footer-brand-row{gap:1rem;align-items:center;}
  .footer-logo-extended{width:min(135px,37.5vw);}
  .footer-logo-mono{width:clamp(29px,7.875vw,42px);}
  .footer-contact{margin-top:3.5rem;text-align:left;}
  .footer-addresses{grid-template-columns:1fr;gap:2rem;margin-top:3rem;text-align:left;}
  .footer-tax{margin-top:2.5rem;text-align:left;}
  .footer-bottom{margin-top:5rem;}
  .site-footer .footer-bottom .footer-credit{font-size:.31rem !important;line-height:1.2 !important;}
  .site-footer .footer-contact p:nth-child(2) .footer-separator{display:none;}
  .site-footer .footer-contact p:nth-child(2) a{display:block;}
  html,body{max-width:100%;overflow-x:clip;}
  .hero,.section,.site-footer{max-width:100%;overflow-x:clip;}
  .section--work{overflow-x:clip;overflow-y:visible;}
  .work-inner{width:100%;max-width:100%;}
}

/* v0.19.9 — footer WhatsApp placement */
.footer-contact .whatsapp-footer{margin-top:.7rem;}

/* v0.19.13 — footer WhatsApp attention flash */
.whatsapp-footer.is-attention .whatsapp-icon-white{opacity:0;}
.whatsapp-footer.is-attention .whatsapp-icon-green{opacity:1;}



/* v19.16 local — Ideas take form: editorial client grid */
.section--ideas{
  min-height:70vh;
  padding-top:clamp(5rem,8vw,8rem);
  padding-bottom:clamp(5rem,8vw,8rem);
}
.section--ideas .section-inner{width:100%;}
.ideas-inner{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:2.083vw;
  align-items:start;
}
.ideas-label{
  grid-column:1 / span 2;
  font-size:clamp(.9rem,1.05vw,1rem);
  line-height:1.2;
  font-weight:600;
}
.ideas-content{
  grid-column:4 / span 9;
  min-width:0;
}
.ideas-intro{
  width:min(100%,1000px);
  margin:0;
  font-family:"Space Grotesk", sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:clamp(1rem,1.28vw,1.2rem);
  line-height:1.2;
  letter-spacing:-.018em;
}
.ideas-intro strong{font-weight:700;}
.client-list{
  max-width:none;
  margin-top:clamp(4rem,6vw,6rem);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:clamp(2rem,5vw,5rem);
  align-items:start;
  font:12px/1.75 var(--mono);
  letter-spacing:.015em;
}
.client-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.client-column span{display:block;}
@media(max-width:700px){
  .section--ideas{min-height:auto;padding-top:4rem;padding-bottom:5rem;}
  .ideas-inner{display:block;}
  .ideas-label{margin-bottom:2.5rem;}
  .ideas-content{width:100%;}
  .ideas-intro{width:100%;font-size:clamp(1rem,4.3vw,1.2rem);line-height:1.22;}
  .client-list{margin-top:3.5rem;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem;row-gap:0;font-size:11px;line-height:1.8;}
  .client-column{margin-bottom:0;}
}

/* v19.22 local — Chi siamo: same editorial alignment as Clienti */
.section--about{
  min-height:70vh;
  padding-top:clamp(5rem,8vw,8rem);
  padding-bottom:clamp(5rem,8vw,8rem);
}
.about-inner{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:2.083vw;
  align-items:start;
}
.about-label{
  grid-column:1 / span 2;
  font-size:clamp(.9rem,1.05vw,1rem);
  line-height:1.2;
  font-weight:600;
}
.about-content{
  grid-column:4 / span 9;
  min-width:0;
}
.about-intro{
  width:min(100%,1000px);
  margin:0;
  font-family:"Space Grotesk",sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:clamp(1rem,1.28vw,1.2rem);
  line-height:1.2;
  letter-spacing:-.018em;
}
.about-intro strong{font-weight:700;}
@media(max-width:700px){
  .section--about{min-height:auto;padding-top:4rem;padding-bottom:5rem;}
  .about-inner{display:block;}
  .about-label{margin-bottom:2.5rem;}
  .about-content{width:100%;}
  .about-intro{width:100%;font-size:clamp(1rem,4.3vw,1.2rem);line-height:1.22;}
}

@media(min-width:701px){
  .work-label{transform:translateY(clamp(-5.2rem,-5.7vw,-4rem));}
}

/* v19.26 — WORK responsive K alignment
   Desktop: K contained on the left, text layered above it.
   Mobile: K becomes a fluid, fully contained top element; text follows below. */
@media(min-width:701px){
  .section--work{overflow:hidden;}
  .work-inner{
    position:relative;
    min-height:76vh;
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:2.083vw;
    align-items:center;
  }
  .work .photo-k,
  .section--work .photo-k{
    grid-column:1 / span 8;
    grid-row:1;
    width:min(42vw,700px);
    max-width:100%;
    justify-self:start;
    align-self:center;
    margin:0;
    transform:none;
    position:relative;
    z-index:1;
  }
  .work-label{
    grid-column:4;
    grid-row:1;
    z-index:4;
  }
  .work-content{
    grid-column:5 / span 8;
    grid-row:1;
    z-index:4;
  }
}

@media(max-width:700px){
  .section--work{
    overflow-x:clip;
    overflow-y:visible;
    padding-left:24px;
    padding-right:24px;
  }
  .work-inner{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    width:100%;
    max-width:100%;
    min-height:auto;
    padding-top:clamp(3rem,8vw,4rem);
    padding-bottom:clamp(5rem,12vw,8rem);
    gap:0;
  }
  .work .photo-k,
  .section--work .photo-k{
    order:1;
    display:block;
    width:min(100%,calc(100vw - 48px));
    max-width:100%;
    height:auto;
    aspect-ratio:1125.73 / 974.87;
    align-self:flex-start;
    justify-self:auto;
    margin:0;
    transform:none;
    position:relative;
    z-index:1;
  }
  .work-label{
    order:2;
    margin:clamp(2.5rem,8vw,4rem) 0 2rem;
    position:relative;
    z-index:4;
  }
  .work-content{
    order:3;
    width:100%;
    min-width:0;
    position:relative;
    z-index:4;
  }
  .work-intro{
    width:100%;
    max-width:100%;
    font-size:clamp(1rem,4.3vw,1.2rem);
    line-height:1.22;
  }
  .work-services{
    margin-top:3.5rem;
    max-width:100%;
    font-size:11px;
    line-height:1.8;
  }
}

/* v19.27 — global ink, WORK light background, social/footer refinements */
html,body{color:#323232;}
.section{color:#323232;}
.section--work{background:#f2f2f2;color:#323232;}
.site-footer{background:#323232;color:#f2f2f2;}
.site-footer a{color:#f2f2f2;}
.instagram-footer{
  display:block;
  width:28px;
  height:28px;
  margin-top:.8rem;
  line-height:0;
  text-decoration:none;
}
.instagram-footer img{display:block;width:100%;height:100%;}
.instagram-footer[aria-disabled="true"]{cursor:default;}

@media(max-width:700px){
  .instagram-footer{width:26px;height:26px;margin-top:.8rem;}
}

/* v19.28 — institutional header standard, footer composition and WORK reference layout */
.hero-topline .typing-claim,
.footer-payoff em{font-style:italic;text-transform:none;}

.footer-services{letter-spacing:.06em;}
.footer-brand .footer-tax{margin-top:.35rem;}
.footer-tax p{margin:0;}
.footer-contact{margin-top:clamp(3.5rem,6vw,6rem);}
.footer-addresses{grid-template-columns:repeat(2,minmax(0,1fr));}

@media(min-width:701px){
  /* v19.29 — WORK aligned to the same editorial grid as Clienti / Chi siamo */
  .section--work{overflow:hidden;}
  .section--work .work-inner{
    position:relative;
    display:block;
    min-height:76vh;
    width:100%;
  }
  .section--work .work-label{
    display:block!important;
    position:absolute;
    left:0;
    top:25%;
    margin:0;
    z-index:4;
    transform:none;
    font-size:clamp(.9rem,1.05vw,1rem);
    line-height:1.2;
    font-weight:600;
  }
  .section--work .photo-k{
    position:absolute;
    left:12.8%;
    top:5%;
    width:min(40vw,650px);
    max-width:none;
    margin:0;
    transform:none;
    z-index:1;
  }
  .section--work .work-content{
    position:absolute;
    left:51.2%;
    top:29%;
    width:46%;
    max-width:none;
    margin:0;
    z-index:4;
  }
}

@media(max-width:700px){
  .section--work .work-label{
    order:2;
    display:block!important;
    margin:clamp(2.5rem,8vw,4rem) 0 2rem;
    position:relative;
    z-index:4;
    transform:none;
  }
  .section--work .work-content{order:3;}
  .footer-brand .footer-tax{margin-top:.35rem;}
  .footer-contact{margin-top:3.5rem;}
  .footer-addresses{grid-template-columns:1fr;}
  .instagram-footer{margin-top:3.5rem;}
}

/* v19.30 — restore desktop Work label visibility after v19.27 hide rule */


/* v19.34 — closing CTA belongs to WORK, not to a separate section */
.section--work .work-contact{
  margin:clamp(5rem,7vw,8rem) 0 0;
  width:min(100%,1000px);
  font-family:"Space Grotesk",sans-serif;
  font-weight:400;
  font-style:normal;
  font-size:clamp(1.5rem,2.4vw,2.45rem);
  line-height:1.08;
  letter-spacing:-.025em;
  min-height:1.08em;
}
.section--work .work-contact-typed{display:inline;}
.section--work .work-contact-email{
  display:inline;
  margin:0;
  color:#323232;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(1.45rem,2.15vw,2.15rem);
  line-height:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
}
.section--work .work-contact.typing::after{
  content:'|';
  display:inline-block;
  margin-left:.06em;
  animation:contact-caret .8s steps(1,end) infinite;
}
.section--work .work-contact.is-complete::after{display:none;}

@media(max-width:700px){
  .section--work .work-contact{
    margin-top:clamp(4.5rem,12vw,6rem);
    width:100%;
    font-size:clamp(1.45rem,7vw,2.2rem);
  }
  .section--work .work-contact-email{font-size:clamp(1.35rem,6.5vw,1.9rem);}
}

/* v0.19.10 — clean WP build from approved local state. */

/* v0.19.11 — mobile accessibility: enlarge footer touch areas without changing visible typography */
@media(max-width:700px){
  .site-footer .footer-contact p > a:not(.whatsapp-footer){
    display:inline-block;
    padding:12px 6px;
  }
  .site-footer .footer-contact p:nth-child(2) a{
    display:block;
    padding:12px 6px;
  }
  .site-footer .footer-bottom .footer-credit > a{
    display:inline-block;
    padding:12px 6px;
  }
}
