/* =========================================================
   Somossy Eszter — "Nordic grid × Spanish geometry"
   Palette: paper white, ink black, brand red, stone grey
   ========================================================= */
:root{
  --red:#FA3B3B;
  --ink:#242424;
  --paper:#FEFEFE;
  --stone:#BFBFBF;
  --black:var(--ink);
  --white:var(--paper);
  --grey:var(--stone);
  --ink-2:rgba(36,36,36,.72);
  --line:rgba(36,36,36,.14);
  --mist:#F6F5F4;            /* paper with a breath of stone */
  --blush:rgba(250,59,59,.07);
  --sans:"Familjen Grotesk",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --wrap:1200px;
  --pad:clamp(1.25rem,4vw,2.75rem);
  --space:clamp(4.5rem,9vw,8rem);
  --r:6px;
  --tiles:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 48'%3E%3Cpath d='M0 0H48A48 48 0 0 1 0 48Z' fill='%23FA3B3B'/%3E%3Cpath d='M48 48a24 24 0 0 1 48 0z' fill='%23242424'/%3E%3Ccircle cx='120' cy='24' r='14' fill='none' stroke='%23BFBFBF' stroke-width='3'/%3E%3Ccircle cx='120' cy='24' r='4' fill='%23FA3B3B'/%3E%3Cpath d='M192 0V48H144A48 48 0 0 1 192 0Z' fill='%23242424'/%3E%3C/svg%3E");
  box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(84px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.06}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.muted{color:var(--ink-2)}
.hl{color:var(--red);font-weight:600}
.measure{max-width:64ch}
.mark{display:block;width:40px;height:26px;margin-bottom:1.25rem}

/* ---------- buttons & links ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--red);color:var(--paper);text-decoration:none;font-weight:600;font-size:1rem;letter-spacing:-.005em;padding:.9em 1.55em;border-radius:999px;transition:background .2s,color .2s,box-shadow .2s}
.btn:hover{background:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.note{font-size:.9063rem;color:var(--ink-2);margin-top:.85rem}
.tlink{color:var(--ink);font-weight:600;text-decoration:none;background:linear-gradient(var(--red),var(--red)) left bottom/100% 2px no-repeat;padding-bottom:2px;transition:background-size .25s,color .2s}
.tlink:hover{color:var(--red);background-size:0 2px}

/* ---------- announcement + header ---------- */
.announce{display:block;background:var(--ink);color:var(--paper);text-decoration:none;font-size:.875rem;padding-top:env(safe-area-inset-top,0px)}
.announce .wrap{display:flex;align-items:center;gap:.5rem 1.25rem;flex-wrap:wrap;min-height:42px;padding-top:.5rem;padding-bottom:.5rem}
.announce b{background:var(--red);font-weight:600;padding:.1rem .65rem;border-radius:999px;font-size:.8125rem}
.announce .when{color:rgba(254,254,254,.65)}
.announce .go{margin-left:auto;transition:transform .2s}
.announce:hover .go{transform:translateX(4px)}
@media (max-width:640px){.announce .when{display:none}}

.site-head{position:sticky;top:0;z-index:20;background:rgba(254,254,254,.94);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}
.site-head.scrolled{border-bottom-color:var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:1.5rem;position:relative}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:600;font-size:1.0625rem;letter-spacing:-.015em;white-space:nowrap}
.brand svg{width:30px;height:30px}
.nav{display:flex;align-items:center;gap:clamp(1rem,1.8vw,1.75rem)}
.nav a{text-decoration:none;font-size:.9688rem;color:var(--ink-2);white-space:nowrap;position:relative;padding:.3rem 0;transition:color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink)}
.nav a:not(.btn):not(.lang)::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:not(.btn):not(.lang):hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav .lang{font-weight:600;color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:.15rem .6rem;font-size:.8125rem}
.nav .lang:hover{background:var(--ink);color:var(--paper)}
.nav .btn{font-size:.9375rem;padding:.65em 1.25em;color:var(--paper)}
.menu-btn{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--ink)}
@media (max-width:1100px){
  .menu-btn{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:.5rem var(--pad) 1.5rem;display:none}
  .nav.open{display:flex}
  .nav a{padding:.85rem 0;width:100%;border-bottom:1px solid var(--line);font-size:1.0625rem}
  .nav a::after{display:none}
  .nav .lang{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.85rem 0;font-size:1.0625rem}
  .nav .btn{margin-top:1rem;width:auto;border-bottom:0;padding:.75em 1.5em}
}

/* ---------- section scaffolding ---------- */
section{padding:var(--space) 0}
.band{background:var(--mist)}
.dark{background:var(--ink);color:var(--paper)}
.dark p,.dark .muted{color:rgba(254,254,254,.74)}
.dark .btn--ghost{color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper)}
.dark .btn--ghost:hover{background:var(--paper);color:var(--ink)}
.dark .btn:not(.btn--ghost):hover{background:var(--paper);color:var(--ink)}
.h2{font-size:clamp(2.2rem,4.4vw,3.6rem);max-width:18ch}
.lede{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.5;color:var(--ink-2);max-width:58ch;margin-top:1.1rem}
.sec-head{margin-bottom:clamp(2.5rem,5vw,3.75rem)}

/* signature: azulejo tile strip built from the icon geometry */
.tiles{height:44px;background:var(--tiles) repeat-x left center/176px 44px}
.tiles--thin{height:22px;background-size:88px 22px;opacity:.9}

/* ---------- HERO ---------- */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(4rem,8vw,6.5rem);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.hero h1{font-size:clamp(2.6rem,5.6vw,5rem);line-height:.98;letter-spacing:-.04em;max-width:12ch;margin-bottom:2rem}
.hero p{max-width:52ch;color:var(--ink-2)}
.hero p.strong{color:var(--ink);font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.35;letter-spacing:-.005em;margin:1.5rem 0 2rem;max-width:34ch}
.portrait{position:relative;justify-self:end;width:100%;max-width:440px;isolation:isolate}
.portrait .ph{position:relative;z-index:2;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--mist)}
.portrait .ph img{width:100%;height:100%;object-fit:cover;object-position:52% 30%}
.portrait::before{content:"";position:absolute;z-index:1;width:72%;aspect-ratio:1;border-radius:50%;background:var(--red);right:-18%;top:-10%}
.portrait::after{content:"";position:absolute;z-index:3;width:26%;aspect-ratio:1;border-radius:50%;background:var(--ink);left:-9%;bottom:9%;box-shadow:0 0 0 8px var(--paper)}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .portrait{justify-self:center;max-width:330px;order:-1;margin:1rem 0 1.5rem}
}

/* ---------- SERVICES ---------- */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,3vw,3rem);margin-top:1.75rem;max-width:940px}
.audience p{margin:0;color:var(--ink-2);font-size:1.0625rem;padding-top:1rem;border-top:2px solid var(--ink)}
.audience p + p{border-top-color:var(--red)}
@media (max-width:760px){.audience{grid-template-columns:1fr}}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem);align-items:start}
.svc{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--r);padding:clamp(1.6rem,2.4vw,2.25rem);overflow:hidden;transition:transform .25s,box-shadow .25s}
.svc:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--ink)}
.svc::before{content:"";position:absolute;top:0;right:0;width:96px;height:96px;background:var(--blush);border-bottom-left-radius:96px}
.svc-icon{position:relative;width:60px;height:60px;margin-bottom:1.75rem}
.svc h3{font-size:clamp(1.35rem,1.9vw,1.6rem);margin-bottom:1rem;letter-spacing:-.025em}
.svc p{color:var(--ink-2)}
.svc .foot{margin-top:auto;padding-top:1.25rem}
.svc .foot .note{margin-top:.7rem}
.svc-more{margin-top:1rem;border-top:1px solid var(--line)}
.svc-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;font-weight:600;font-size:.9688rem}
.svc-more>summary::-webkit-details-marker{display:none}
.svc-more .inner{padding:.25rem 0 .75rem;font-size:.9688rem}
.svc-more h4{font-size:.9688rem;margin:1.1rem 0 .4rem}
.svc-more h4:first-child{margin-top:0}
@media (max-width:900px){.services{grid-template-columns:1fr}}

/* plus toggle */
.plus{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ink);position:relative;transition:background .2s,border-color .2s,transform .25s}
.plus::before,.plus::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .25s,background .2s}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open]>summary .plus{background:var(--red);border-color:var(--red)}
details[open]>summary .plus::before,details[open]>summary .plus::after{background:var(--paper)}
details[open]>summary .plus::after{transform:translate(-50%,-50%) rotate(0)}

.dots li{position:relative;padding-left:1.4rem;margin:.45rem 0;color:var(--ink-2)}
.dots li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--red)}
.dots li:nth-child(even)::before{background:transparent;border:1.5px solid var(--ink)}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:1.25rem 0 0;font-size:.9063rem;color:var(--ink-2)}
.facts span{display:flex;align-items:center;gap:.5rem}
.facts span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}

/* ---------- SRD teaser (on black, the loop image belongs here) ---------- */
#srd.dark{position:relative;overflow:hidden}
.srd-teaser{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2.5rem,6vw,6rem);align-items:center}
.srd-teaser .h2{max-width:14ch;color:var(--paper)}
.srd-teaser .lede{color:rgba(254,254,254,.7)}
.quiet-quote{margin:2rem 0 2.25rem;padding-left:1.1rem;border-left:2px solid var(--red);font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.6rem);line-height:1.3;max-width:34ch}
.dark .quiet-quote{color:var(--paper)}
.frame{border-radius:var(--r);overflow:hidden;background:var(--ink)}
.teaser-img{justify-self:end;width:100%;max-width:440px}
@media (max-width:860px){.srd-teaser{grid-template-columns:1fr}.teaser-img{justify-self:start}}

/* ---------- ABOUT ---------- */
.about-top{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.about-top .h2{max-width:10ch}
.about-top p{color:var(--ink-2)}
.about-top p.em{color:var(--ink);font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.55rem);line-height:1.35;margin:1.5rem 0}
.about-more{margin-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.about-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.15rem 0;font-weight:600;font-size:1rem;line-height:1.35}
.about-more>summary::-webkit-details-marker{display:none}
.more-body{padding:.5rem 0 2rem}
.about-foot{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem)}
.about-foot p{margin:0;color:var(--ink-2)}
.cv{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.25rem,2.5vw,2rem)}
.cv h3{font-size:.9688rem;font-weight:700;padding-top:.9rem;border-top:2px solid var(--ink);margin-bottom:.75rem;letter-spacing:0}
.cv div:nth-child(2) h3{border-top-color:var(--red)}
.cv li{padding:.3rem 0;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
@media (max-width:960px){.cv{grid-template-columns:1fr 1fr}.about-top,.about-foot{grid-template-columns:1fr}}
@media (max-width:560px){.cv{grid-template-columns:1fr}}
.princ-wrap{margin-top:clamp(3rem,6vw,4.5rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.princ-wrap h3{font-size:clamp(1.5rem,2.4vw,2rem);max-width:14ch}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chips li{display:flex;align-items:center;gap:.55rem;padding:.55rem 1rem .55rem .7rem;border-radius:999px;background:var(--mist);font-weight:600;font-size:1rem}
.chips li::before{content:"";width:18px;height:18px;border-radius:50%;flex:none;background:var(--red)}
.chips li:nth-child(3n+2)::before{background:var(--ink)}
.chips li:nth-child(3n)::before{background:transparent;box-shadow:inset 0 0 0 2px var(--stone)}
@media (max-width:860px){.princ-wrap{grid-template-columns:1fr}}

/* ---------- TESTIMONIALS ---------- */
.quotes{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(1rem,2vw,1.5rem);align-items:stretch}
.q{margin:0;display:flex;flex-direction:column;background:var(--paper);border-radius:var(--r);padding:clamp(1.5rem,2.4vw,2.1rem)}
.q:first-child{background:var(--ink);color:var(--paper)}
.q .qm{order:-1;font-family:var(--serif);color:var(--red);font-size:4.2rem;line-height:.7;height:2rem;display:block;margin-bottom:.75rem}
.q blockquote{margin:0 0 1.5rem;font-size:1.0625rem;line-height:1.55}
.q:first-child blockquote{font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.55rem);line-height:1.32}
.q .cat{order:2;margin-top:auto;font-weight:600;font-size:.9063rem;padding-top:1rem;border-top:1px solid var(--line)}
.q:first-child .cat{border-top-color:rgba(254,254,254,.2)}
.q .who{order:3;color:var(--ink-2);font-size:.875rem}
.q:first-child .who{color:rgba(254,254,254,.65)}
.q blockquote{order:1}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}
details.more{margin-top:clamp(1.5rem,3vw,2.25rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
details.more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 0;font-weight:600;font-size:1.0625rem}
details.more>summary::-webkit-details-marker{display:none}
.more-q{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem clamp(2rem,5vw,4rem);padding-top:.5rem}
.more-q figure{margin:0}
.more-q blockquote{margin:0 0 .6rem;font-size:1rem;line-height:1.55}
.more-q figcaption{color:var(--ink-2);font-size:.875rem;display:flex;align-items:center;gap:.6rem}
.more-q figcaption::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--red);flex:none}
@media (max-width:760px){.more-q{grid-template-columns:1fr}}

/* ---------- CREDO: the one bold colour block ---------- */
.credo{position:relative;overflow:hidden;background:var(--red);color:var(--paper);text-align:center;padding:clamp(3.75rem,7vw,5.5rem) 0}
.credo::before,.credo::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.credo::before{width:clamp(180px,26vw,340px);aspect-ratio:1;background:var(--ink);left:-6%;bottom:-55%}
.credo::after{width:clamp(110px,15vw,200px);aspect-ratio:1;box-shadow:inset 0 0 0 2px rgba(254,254,254,.55);right:6%;top:-30%}
.credo .wrap{position:relative;z-index:1}
.credo svg{display:none}
.credo .credo-main{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.02;letter-spacing:-.015em;color:var(--paper)}
.credo .credo-sub{margin:1rem 0 0;font-size:1.0625rem;color:rgba(254,254,254,.88)}

/* ---------- FINAL CTA ---------- */
.final{text-align:center}
.final svg{display:block;width:min(88px,26vw);height:auto;margin:0 auto 1.25rem}
.final h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 auto 1.6rem;max-width:none}
.final p{color:var(--ink-2);max-width:56ch;margin:0 auto 1.75rem}
.final--short{padding:clamp(3.5rem,6vw,5rem) 0}

/* ---------- FOOTER ---------- */
.site-foot{background:var(--ink);color:var(--paper);padding:0 0 calc(2.5rem + env(safe-area-inset-bottom,0px))}
.site-foot::before{content:"";display:block;height:44px;background:var(--tiles) repeat-x left center/176px 44px;margin-bottom:3rem}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:2.25rem;border-bottom:1px solid rgba(254,254,254,.14)}
.site-foot .brand{color:var(--paper)}
.foot-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}
.foot-nav a,.legal a{color:rgba(254,254,254,.75);text-decoration:none;font-size:.9375rem}
.foot-nav a:hover,.legal a:hover{color:var(--red)}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.875rem;color:rgba(254,254,254,.55)}
.legal{display:flex;flex-wrap:wrap;gap:.25rem .9rem;align-items:center}
.legal span{color:rgba(254,254,254,.25)}
.foot-bot p{margin:0}

/* ---------- SUBPAGES ---------- */
.page-head{position:relative;overflow:hidden;padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,3.5rem)}
.page-head::after{content:"";position:absolute;width:clamp(200px,30vw,420px);aspect-ratio:1;border-radius:50%;background:var(--red);right:calc(-1 * clamp(80px,10vw,160px));top:calc(-1 * clamp(80px,9vw,150px));z-index:0}
.page-head::before{content:"";position:absolute;width:clamp(70px,9vw,120px);aspect-ratio:1;border-radius:50%;background:var(--ink);right:clamp(120px,22vw,330px);top:clamp(110px,14vw,220px);z-index:0}
.page-head .wrap{position:relative;z-index:1}
.page-head h1{font-size:clamp(2.5rem,5.4vw,4.6rem);line-height:.98;letter-spacing:-.04em;max-width:15ch}
.crumb{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--ink-2);text-decoration:none;margin-bottom:1.75rem}
.crumb:hover{color:var(--red)}
@media (max-width:760px){.page-head::before{display:none}.page-head::after{opacity:.9}}
.srd-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:end}
.srd-intro .h2{max-width:none}
@media (max-width:860px){.srd-intro{grid-template-columns:1fr}}
.single-fig{max-width:420px;margin:0 auto}
.ws-img{border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.pull{margin:clamp(3.5rem,7vw,5.5rem) auto 0;max-width:860px;text-align:center}
.pull svg{display:block;width:40px;height:26px;margin:0 auto 1.5rem}
.pull blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.25}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem 2rem;margin-top:clamp(2.5rem,5vw,3.5rem);text-align:center}
.cta-row p{margin:0;color:var(--ink-2);max-width:58ch}
.case{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.case .h2{max-width:16ch;font-size:clamp(2rem,3.6vw,3rem)}
.case h3{font-size:1.15rem;margin:1.75rem 0 1rem}
.case p{color:var(--ink-2)}
.case-cta{margin-top:2.25rem;padding-top:1.75rem;border-top:1px solid var(--line)}
.explorer{border:1.5px solid var(--ink);border-radius:var(--r);overflow:hidden;background:var(--paper)}
.explorer-bar{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);font-size:.875rem;flex-wrap:wrap}
.explorer-bar .lights{display:flex;gap:6px}
.explorer-bar .lights i{width:10px;height:10px;border-radius:50%;background:var(--stone)}
.explorer-bar .lights i:first-child{background:var(--red)}
.explorer-bar .lights i:nth-child(2){background:var(--ink)}
.explorer-bar a{color:var(--ink-2);text-decoration:none}
.explorer-bar strong{font-weight:600;margin-left:auto}
.explorer iframe{display:block;width:100%;height:540px;border:0;background:var(--mist)}
.explorer-note{font-size:.875rem;color:var(--ink-2);padding:.9rem 1.1rem;border-top:1px solid var(--line);margin:0}
@media (max-width:960px){.case{grid-template-columns:1fr}}
.link-list{margin-top:.75rem;border-top:1px solid var(--line)}
.link-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600}
.link-list a:hover{color:var(--red)}
.link-list span.arr{flex:none;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center}
.link-list a:hover span.arr{background:var(--red);border-color:var(--red)}
.link-list a:hover span.arr path{stroke:var(--paper)}

/* ---------- PROJECTS ---------- */
.proj-group{padding:clamp(2.75rem,5vw,4rem) 0 0;display:grid;gap:1.75rem}
.proj-group:first-child{padding-top:0}
.proj-group>header{display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;border-bottom:2px solid var(--ink)}
.proj-group>header svg{width:44px;height:44px;flex:none}
.proj-group>header h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.proj-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
@media (max-width:760px){.proj-list{grid-template-columns:1fr}}
.proj{display:flex;flex-direction:column;background:var(--mist);border-radius:var(--r);padding:clamp(1.5rem,2.4vw,2.1rem)}
.proj:has(> details[open]){grid-column:1/-1;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink)}
.proj .role{align-self:flex-start;font-size:.8125rem;font-weight:600;padding:.2rem .7rem;border-radius:999px;background:var(--paper);margin-bottom:1rem}
.proj .role.new{background:var(--red);color:var(--paper)}
.proj h3{font-size:clamp(1.25rem,1.8vw,1.45rem);margin-bottom:.7rem;letter-spacing:-.02em}
.proj .topic{color:var(--ink);font-size:1rem;margin-bottom:1rem}
.proj blockquote{margin:0 0 1rem;font-family:var(--serif);font-size:1.3rem;border-left:2px solid var(--red);padding-left:.9rem}
.facts-dl{margin:0 0 1rem;display:grid;grid-template-columns:auto 1fr;gap:.4rem .9rem;font-size:.9375rem;line-height:1.5;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts-dl dt{font-weight:600}
.facts-dl dd{margin:0;color:var(--ink-2)}
.proj .tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 1rem}
.proj .tags span{font-size:.8125rem;color:var(--ink);background:var(--paper);padding:.2rem .6rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.proj-more{margin:0 0 1rem;border-top:1px solid var(--line)}
.proj-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;font-weight:600;font-size:.9688rem}
.proj-more>summary::-webkit-details-marker{display:none}
.proj-more .inner{padding:.5rem 0 1.25rem;font-size:1rem}
.proj-more .inner p{color:var(--ink-2)}
.proj-more h4{font-size:1rem;margin:1.5rem 0 .5rem}
.proj .actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:auto;padding-top:.5rem}
.proj .actions .btn{font-size:.9375rem;padding:.6em 1.3em}
.proj .tlink{align-self:flex-start}

/* workshop detail blocks (inside project cards) */
.ws-facts{display:grid;grid-template-columns:.8fr 1.4fr .9fr;margin-top:2rem;border-top:2px solid var(--ink)}
.ws-facts div{padding:1.1rem 1.25rem 0 0}
.ws-facts div + div{padding-left:1.25rem;border-left:1px solid var(--line)}
.ws-facts p{margin:0;font-size:.9688rem}
@media (max-width:860px){.ws-facts{grid-template-columns:1fr}.ws-facts div + div{padding-left:0;border-left:0;border-top:1px solid var(--line);margin-top:1rem}}
.more-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,5vw,4rem);margin-top:2rem}
.checks li{display:flex;gap:.8rem;align-items:flex-start;padding:.75rem 0;border-bottom:1px solid var(--line);font-weight:600}
.checks li:first-child{padding-top:0}
.checks li svg{flex:none;width:20px;height:20px;margin-top:.2em}
@media (max-width:860px){.more-cols{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.25rem,3vw,2.5rem);margin-top:2.5rem}
.step-num{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.step-num b{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:1.05rem;border:1.5px solid var(--ink);background:var(--paper)}
.step:first-child .step-num b{background:var(--red);border-color:var(--red);color:var(--paper)}
.step:nth-child(2) .step-num b{background:var(--ink);color:var(--paper)}
.step-num::after{content:"";flex:1;height:1.5px;background:var(--stone)}
.step:last-child .step-num::after{background:linear-gradient(90deg,var(--stone),rgba(191,191,191,0))}
.step h3{font-size:1.15rem;font-weight:700;margin-bottom:.9rem;letter-spacing:0}
.step p{color:var(--ink-2);font-size:.9688rem}
.step p b{color:var(--ink);font-weight:600}
.step .take{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--line);color:var(--ink)}
.step .take b{color:var(--red)}
@media (max-width:860px){.steps{grid-template-columns:1fr}.step-num::after{display:none}}
.claim{color:var(--ink);font-weight:600}
.sub{color:var(--ink);font-weight:500}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
.site-foot::before{background-color:var(--paper)}
.services{align-items:stretch}
.page-head::after{width:clamp(220px,26vw,360px);right:calc(-1 * clamp(130px,15vw,220px));top:calc(-1 * clamp(140px,16vw,230px))}
.page-head::before{width:clamp(36px,4vw,56px);right:clamp(150px,17vw,250px);top:clamp(20px,2.5vw,34px)}

/* ===== round 7 ===== */
:root{
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  /* SRD chain: linked circles, red common ground where they meet */
  --tiles:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 48'%3E%3Cg fill='none' stroke-width='2'%3E%3Ccircle cx='-12' cy='24' r='16' stroke='%23BFBFBF'/%3E%3Ccircle cx='12' cy='24' r='16' stroke='%23242424'/%3E%3Ccircle cx='36' cy='24' r='16' stroke='%23BFBFBF'/%3E%3Ccircle cx='60' cy='24' r='16' stroke='%23242424'/%3E%3Ccircle cx='84' cy='24' r='16' stroke='%23BFBFBF'/%3E%3Ccircle cx='108' cy='24' r='16' stroke='%23242424'/%3E%3C/g%3E%3Cpath d='M24 13.42A16 16 0 0 1 24 34.58A16 16 0 0 1 24 13.42Z' fill='%23FA3B3B'/%3E%3Cpath d='M72 13.42A16 16 0 0 1 72 34.58A16 16 0 0 1 72 13.42Z' fill='%23FA3B3B'/%3E%3C/svg%3E");
}
.tiles{height:40px;background:var(--tiles) repeat-x left center/80px 40px}
.site-foot::before{height:40px;background:var(--paper) var(--tiles) repeat-x left center/80px 40px}
.hero p.strong,.about-top p.em,.quiet-quote,.q:first-child blockquote,.pull blockquote,.proj blockquote{font-style:italic;font-weight:300}
/* credo: two perspectives meeting in common ground */
.credo{background:var(--mist);color:var(--ink);text-align:left;padding:clamp(4rem,7vw,6rem) 0}
.credo::before,.credo::after{content:none}
.credo-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.credo-art{width:100%;max-width:420px;height:auto;justify-self:end}
.credo .credo-main{color:var(--ink);font-style:italic;font-weight:300;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.05;letter-spacing:-.02em}
.credo .credo-sub{color:var(--ink-2);font-size:1.125rem;margin-top:1rem}
@media (max-width:760px){.credo-grid{grid-template-columns:1fr}.credo-art{justify-self:start;max-width:300px}}
.credo svg.credo-art{display:block;margin:0}

/* ===== round 8: one clear sans, fewer circles ===== */
:root{--serif:var(--sans)}
.hero p.strong,.about-top p.em,.quiet-quote,.q:first-child blockquote,.pull blockquote,.proj blockquote,.credo .credo-main{font-family:var(--sans);font-style:normal}
.hero p.strong{font-weight:500;font-size:clamp(1.2rem,1.6vw,1.4rem);line-height:1.45;max-width:40ch}
.about-top p.em{font-weight:500;font-size:clamp(1.15rem,1.5vw,1.3rem);line-height:1.5}
.quiet-quote{font-weight:500;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.45}
.q:first-child blockquote{font-weight:500;font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.5}
.pull blockquote{font-weight:500;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;letter-spacing:-.02em}
.proj blockquote{font-weight:500;font-size:1.05rem}
.credo .credo-main{font-weight:600;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em;line-height:1.05}
.q .qm{font-family:var(--sans);font-weight:700;font-size:3rem;line-height:.8}
.portrait::before,.portrait::after{content:none}
.page-head::before{content:none}
.proj-group>header svg{display:none}

/* ===== round 8: one readable sans, fewer circles, clearer cards ===== */
:root{--serif:var(--sans)}
.hero p.strong,.about-top p.em,.quiet-quote,.q:first-child blockquote,.pull blockquote,.proj blockquote,.credo .credo-main{font-family:var(--sans);font-style:normal}
.hero p.strong{font-weight:500;font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.45;letter-spacing:-.01em;max-width:40ch}
.about-top p.em{font-weight:500;font-size:clamp(1.15rem,1.6vw,1.3rem);line-height:1.5}
.quiet-quote{font-weight:500;font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.45}
.q:first-child blockquote{font-weight:500;font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.5}
.q .qm{font-family:var(--sans);font-weight:700;font-size:3rem;line-height:.8;height:1.6rem}
.pull blockquote{font-weight:500;font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.35}
.proj blockquote{font-weight:500;font-size:1.05rem}
.credo .credo-main{font-weight:600;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em;line-height:1.05}
.portrait::before,.portrait::after{content:none}
.pull svg,.final svg{display:none}

/* project cards: scannable structure */
.proj-group>header{padding-bottom:1rem}
.facts-dl{display:grid;grid-template-columns:1fr;gap:.85rem;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:0;margin:0 0 .75rem}
.facts-dl .fact{padding-left:.9rem;border-left:3px solid var(--ink)}
.facts-dl .fact:nth-child(2){border-left-color:var(--red)}
.facts-dl .fact:nth-child(3){border-left-color:var(--stone)}
.facts-dl dt{font-size:.8125rem;font-weight:600;color:var(--ink-2);margin-bottom:.1rem}
.facts-dl dd{color:var(--ink);font-size:.9688rem;line-height:1.45}
.proj .topic{font-size:1.0313rem;line-height:1.5;color:var(--ink-2)}
.proj h3{margin-bottom:.6rem}
.proj .tags{margin:.25rem 0 .75rem}
:root{--sans:"Figtree",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}
h1,h2,h3,h4{letter-spacing:-.02em}
.hero h1,.page-head h1{letter-spacing:-.03em}

/* =========================================================
   PROJECTS PAGE — product-grade UI (scoped)
   ========================================================= */
.page-projektek{background:#F6F5F4}
.page-projektek .site-head{background:rgba(254,254,254,.96)}
.page-projektek .site-foot{margin-top:clamp(4rem,8vw,6rem)}
.page-projektek .site-foot::before{display:none}
.page-projektek .site-foot{padding-top:3rem}

.phero{padding:clamp(3rem,6vw,4.75rem) 0 clamp(1.75rem,3vw,2.5rem)}
.phero .crumb{margin-bottom:1.5rem}
.phero h1{font-size:clamp(2.6rem,5vw,4rem);letter-spacing:-.035em;line-height:1}
.phero-lede{margin:1rem 0 0;max-width:60ch;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2)}

.pnav{position:sticky;top:76px;z-index:15;background:rgba(246,245,244,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(36,36,36,.08)}
.pnav .wrap{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-top:.7rem;padding-bottom:.7rem}
.pnav .wrap::-webkit-scrollbar{display:none}
.pnav a{flex:none;text-decoration:none;font-size:.9375rem;font-weight:500;color:var(--ink-2);padding:.5rem .95rem;border-radius:999px;transition:background .2s,color .2s}
.pnav a:hover{background:rgba(36,36,36,.06);color:var(--ink)}
.pnav a.is-active{background:var(--ink);color:var(--paper)}

.pbody{padding-top:.5rem}
.pgroup{padding:0;margin-top:clamp(2.75rem,5vw,3.75rem);scroll-margin-top:150px}
.pgroup-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.25rem}
.pgroup-head h2{font-size:clamp(1.4rem,2.2vw,1.75rem);letter-spacing:-.025em}
.pgroup-head .count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 .5rem;border-radius:999px;background:rgba(36,36,36,.07);font-size:.8125rem;font-weight:600;color:var(--ink-2)}

.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,1.6vw,1.25rem)}
@media (max-width:820px){.pgrid{grid-template-columns:1fr}}

.pcard{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid rgba(36,36,36,.08);border-radius:14px;padding:clamp(1.4rem,2.2vw,1.85rem);scroll-margin-top:150px;transition:border-color .2s,box-shadow .25s}
.pcard:hover{border-color:rgba(36,36,36,.16);box-shadow:0 10px 30px -12px rgba(36,36,36,.18)}
.pcard:has(details[open]){grid-column:1/-1;border-color:rgba(36,36,36,.2)}
.chip{align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;letter-spacing:.01em;color:var(--ink);background:#F2F1EF;padding:.3rem .7rem;border-radius:999px}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.pcard-title{font-size:clamp(1.2rem,1.7vw,1.35rem);letter-spacing:-.02em;line-height:1.2;margin:.95rem 0 .5rem}
.pcard-topic{margin:0;color:var(--ink-2);font-size:1rem;line-height:1.55}
.pcard-quote{margin:1rem 0 0;padding:.75rem 1rem;background:#F6F5F4;border-radius:10px;font-weight:500;font-size:.9688rem;color:var(--ink)}
.pcard-meta{margin:1.25rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(36,36,36,.08);display:grid;gap:.75rem}
.pcard-meta div{display:grid;grid-template-columns:76px 1fr;gap:.9rem;align-items:baseline}
.pcard-meta dt{font-size:.8125rem;font-weight:600;color:rgba(36,36,36,.55)}
.pcard-meta dd{margin:0;font-size:.9375rem;line-height:1.5;color:var(--ink)}
@media (max-width:480px){.pcard-meta div{grid-template-columns:1fr;gap:.1rem}}
.pcard-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:1.1rem 0 0}
.pcard-tags li{font-size:.75rem;color:var(--ink-2);padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(36,36,36,.12)}

.pcard-more{margin-top:1.25rem;border-top:1px solid rgba(36,36,36,.08)}
.pcard-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:.9rem 0 .2rem;font-weight:600;font-size:.9375rem;color:var(--ink)}
.pcard-more>summary::-webkit-details-marker{display:none}
.pcard-more>summary:hover{color:var(--red)}
.pcard-more .chev{transition:transform .25s}
.pcard-more[open] .chev{transform:rotate(180deg)}
.pcard-more-body{padding:.9rem 0 .25rem;font-size:.9688rem;max-width:880px}
.pcard-more-body p{color:var(--ink-2)}
.pcard-more-body h4{font-size:.9688rem;margin:1.25rem 0 .4rem}
.pcard-more-body h4:first-child{margin-top:.25rem}
.pcard-more-body .dots li::before{background:var(--red);border:0;width:6px;height:6px;top:.62em}
.pcard-more-body .claim,.pcard-more-body .sub{color:var(--ink)}
.pcard-more-body .ws-facts{border-top:1px solid rgba(36,36,36,.12);margin-top:1.5rem}
.pcard-more-body .steps{margin-top:2rem}
.pcard-more-body .step:nth-child(2) .step-num b{background:var(--paper);color:var(--ink)}

.pcard-foot{margin-top:auto;padding-top:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap}
.pcard-tags + .pcard-foot{margin-top:auto}
.pcard > .pcard-tags{margin-bottom:0}
.pcard-foot::before{content:"";flex-basis:100%;height:0}
.pcard-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9375rem;color:var(--ink);text-decoration:none;padding:.35rem 0}
.pcard-link:hover{color:var(--red)}
.pcard-btn{margin-left:auto;font-size:.9063rem;padding:.6em 1.15em}

.pcta{margin-top:clamp(3.5rem,6vw,4.5rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap;background:var(--ink);color:var(--paper);border-radius:18px;padding:clamp(1.75rem,3.5vw,2.75rem) clamp(1.5rem,4vw,3rem)}
.pcta h2{font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:-.02em;color:var(--paper)}
.pcta p{margin:.4rem 0 0;color:rgba(254,254,254,.68);font-size:.9688rem}
.pcta .btn:hover{background:var(--paper);color:var(--ink)}
.pcard-foot::before{content:none}
.pcard-more + .pcard-foot{padding-top:.75rem}
.phero{padding-top:clamp(2rem,4vw,3rem)}

/* projects: section intros, audience filter, compact cards */
.pgroup-head{display:block;margin-bottom:1.4rem;max-width:760px}
.pgroup-title{display:flex;align-items:center;gap:.7rem}
.pgroup-desc{margin:.6rem 0 0;color:var(--ink-2);font-size:1rem;line-height:1.55}
.pfilter{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:1.75rem}
.pfilter-label{font-size:.875rem;font-weight:600;color:rgba(36,36,36,.55);margin-right:.35rem}
.pfilter button{font:inherit;font-size:.9063rem;font-weight:500;color:var(--ink);background:var(--paper);border:1px solid rgba(36,36,36,.14);border-radius:999px;padding:.45rem .95rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pfilter button:hover{border-color:var(--ink)}
.pfilter button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pcard[hidden],.pgroup[hidden],.pnav a[hidden]{display:none}
.pempty{margin-top:3rem;color:var(--ink-2)}
.pcard--compact{padding:clamp(1.2rem,1.8vw,1.5rem)}
.pcard--compact .pcard-title{font-size:1.15rem;margin-top:.8rem}
.pcard--compact .pcard-topic{font-size:.9688rem}
.pcard--compact .pcard-more-body .pcard-meta{margin-top:0;padding-top:0;border-top:0;margin-bottom:1rem}
#egyuttmukodesek .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:820px){#egyuttmukodesek .pgrid{grid-template-columns:1fr}}

/* projects: two zones */
.pzone{padding:clamp(2.75rem,5vw,4rem) 0 clamp(3rem,6vw,4.5rem)}
.pzone--proof{background:var(--paper);border-top:1px solid rgba(36,36,36,.08);border-bottom:1px solid rgba(36,36,36,.08);margin-top:clamp(1rem,3vw,2rem)}
.pzone-head{max-width:760px;margin-bottom:.5rem}
.pzone-head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.03em;line-height:1.08}
.pzone-head p{margin:.75rem 0 0;font-size:clamp(1.05rem,1.4vw,1.15rem);color:var(--ink-2);line-height:1.55}
.pzone .pgroup:first-of-type{margin-top:clamp(2rem,4vw,2.75rem)}
.pgroup-head h3{font-size:clamp(1.25rem,1.9vw,1.5rem);letter-spacing:-.02em}
.pgroup--bare{margin-top:0}
.pgroup--bare .pzone-head{margin-bottom:clamp(1.75rem,3vw,2.25rem)}
.pzone--proof .pcard{background:#F6F5F4;border-color:transparent}
.pzone--proof .pcard:hover{border-color:rgba(36,36,36,.12)}
.pzone--proof .pcard-quote{background:var(--paper)}
.pzone--proof .chip{background:var(--paper)}
.page-projektek .pcta{margin-top:clamp(3rem,6vw,4.5rem)}

/* ===== projects × logo system ===== */
.ico{width:18px;height:18px;flex:none}
.phero-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}
.meet{width:clamp(180px,22vw,300px);height:auto;margin-right:clamp(0rem,3vw,3rem)}
.meet circle{fill:none;stroke-width:1.3}
.meet .m1{stroke:var(--ink)}.meet .m2,.meet .m3{stroke:var(--stone)}
.meet .md{fill:var(--red);stroke:none;transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .meet .m1{animation:meet1 1.6s cubic-bezier(.6,0,.2,1) both}
  .meet .m2{animation:meet2 1.6s cubic-bezier(.6,0,.2,1) both}
  .meet .m3{animation:meet3 1.6s cubic-bezier(.6,0,.2,1) both}
  .meet .md{animation:meetdot .5s 1.35s cubic-bezier(.3,1.6,.5,1) both}
}
@keyframes meet1{from{transform:translate(-14px,-9px)}to{transform:none}}
@keyframes meet2{from{transform:translate(14px,-9px)}to{transform:none}}
@keyframes meet3{from{transform:translate(0,16px)}to{transform:none}}
@keyframes meetdot{from{transform:scale(0)}to{transform:scale(1)}}
@media (max-width:760px){.phero-grid{grid-template-columns:1fr}.meet{display:none}}

.pfilter button{display:inline-flex;align-items:center;gap:.45rem}
.pfilter button[aria-pressed="true"] .ico{filter:invert(1) brightness(1.8)}

.pzone{position:relative;overflow:hidden}
.pzone>.wrap{position:relative}
.zone-art{position:absolute;right:calc(-1 * var(--pad));top:-1.5rem;width:clamp(260px,34vw,460px);height:auto;pointer-events:none;opacity:.9}
.pgroup--bare{position:relative}
.zone-art--b{top:-2.5rem}
.pzone-head{position:relative;z-index:1}
@media (max-width:860px){.zone-art{width:220px;opacity:.5}}

.pcard-tags li{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .65rem .22rem .4rem}
.pcard-tags .ico{width:16px;height:16px}
.pcard-link .ico{width:20px;height:20px}

.tgl{width:34px;height:20px;flex:none}
.tgl circle{fill:none;stroke-width:1.4;transition:transform .35s cubic-bezier(.6,0,.2,1)}
.tgl .tl{stroke:var(--ink);transform:translateX(-3px)}
.tgl .tr{stroke:var(--stone);transform:translateX(3px)}
.tgl .tlens{fill:var(--red);opacity:0;transition:opacity .25s .15s}
.pcard-more[open] .tgl .tl,.pcard-more[open] .tgl .tr{transform:none}
.pcard-more[open] .tgl .tlens{opacity:1}
.pcard-more>summary:hover .tgl .tl{transform:translateX(-1.5px)}
.pcard-more>summary:hover .tgl .tr{transform:translateX(1.5px)}

.pcta{position:relative;overflow:hidden}
.pcta>*{position:relative;z-index:1}
.pcta .cta-art{position:absolute;z-index:0;right:-60px;top:50%;transform:translateY(-50%);width:420px;height:auto;opacity:.9}
@media (max-width:760px){.pcta .cta-art{opacity:.35}}
.meet{width:clamp(170px,18vw,240px);margin-right:0}
.pfilter .ico{width:22px;height:22px}
.pcard-tags .ico{width:19px;height:19px}

/* projects: plus toggle back, calm closing panel */
.pcard-more>summary .plus{width:30px;height:30px}
.pcard-more>summary .plus::before,.pcard-more>summary .plus::after{width:11px}
.pcard-tags li{padding:.2rem .6rem}
.page-projektek .pcta{background:var(--paper);color:var(--ink);border:1px solid rgba(36,36,36,.08)}
.page-projektek .pcta h2{color:var(--ink)}
.page-projektek .pcta p{color:var(--ink-2)}
.page-projektek .pcta .btn:hover{background:var(--ink);color:var(--paper)}
.page-projektek .pcta .cta-art{opacity:.55}
.page-projektek .pcta .cta-art{right:-170px;opacity:.45;width:380px}

/* closing panel: where you are × where you want to go = first conversation */
.pcta2{margin-top:clamp(3rem,6vw,4.5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;background:var(--paper);border:1px solid rgba(36,36,36,.08);border-radius:20px;padding:clamp(1.75rem,4vw,3.25rem)}
.pcta2 h2{font-size:clamp(1.6rem,2.8vw,2.3rem);letter-spacing:-.03em;line-height:1.1;max-width:16ch}
.pcta2 p{margin:1rem 0 1.75rem;color:var(--ink-2);font-size:1.0625rem;max-width:44ch}
.pcta2-note{display:block;margin-top:.9rem;font-size:.9063rem;color:var(--ink-2)}
.pcta2-art{width:100%;height:auto;overflow:visible}
.pcta2-art circle{fill:none;stroke-width:1.5}
.pcta2-art .c1 circle{stroke:var(--ink)}
.pcta2-art .c2 circle{stroke:var(--stone)}
.pcta2-art text{font-family:var(--sans);font-size:17px;font-weight:600;fill:var(--ink);letter-spacing:-.01em}
.pcta2-art .c1 text{text-anchor:middle}
.pcta2-art .c2 text{text-anchor:middle;fill:rgba(36,36,36,.62)}
.pcta2-art .lens path{fill:var(--red)}
.pcta2-art .lens text{fill:var(--paper);text-anchor:middle;font-size:15px}
@media (prefers-reduced-motion:no-preference){
  .pcta2-art .c1,.pcta2-art .c2{transition:transform 1.1s cubic-bezier(.6,0,.2,1)}
  .pcta2-art .lens{transition:opacity .5s .85s,transform .6s .85s cubic-bezier(.3,1.5,.5,1);transform-box:fill-box;transform-origin:center}
  .pcta2:not(.in) .c1{transform:translateX(-46px)}
  .pcta2:not(.in) .c2{transform:translateX(46px)}
  .pcta2:not(.in) .lens{opacity:0;transform:scale(.6)}
}
@media (max-width:860px){.pcta2{grid-template-columns:1fr}.pcta2-art{max-width:460px;margin:0 auto}}

/* closing panel: interference of two perspectives */
.pcta2{position:relative;overflow:hidden;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pcta2-art{position:absolute;right:0;top:0;width:58%;height:100%;overflow:hidden}
.pcta2-art text{display:none}
.pcta2-text{position:relative;z-index:1}
.pcta2-art .lens{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .pcta2-art .r1,.pcta2-art .r2{transition:transform 1.4s cubic-bezier(.6,0,.2,1)}
  .pcta2:not(.in) .r1{transform:translateX(-40px)}
  .pcta2:not(.in) .r2{transform:translateX(40px)}
  .pcta2-art .lens{transition:opacity .6s 1s,transform .8s 1s cubic-bezier(.3,1.4,.5,1)}
  .pcta2:not(.in) .lens{opacity:0;transform:scale(.7)}
  .pcta2.in .c1,.pcta2.in .c2{transform:none}
}
@media (max-width:860px){
  .pcta2{grid-template-columns:1fr;padding-bottom:240px}
  .pcta2-art{top:auto;bottom:0;width:100%;height:240px}
}
.pcta2{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.pcta2-text{display:contents}
.pcta2 h2,.pcta2 p{grid-column:1}
.pcta2 .btn{grid-column:2;grid-row:1 / span 2;align-self:center}
.pcta2-note{grid-column:2;text-align:center;margin-top:-.25rem}
@media (max-width:860px){.pcta2{grid-template-columns:1fr;padding-bottom:clamp(1.75rem,4vw,3.25rem)}.pcta2 .btn,.pcta2-note{grid-column:1;grid-row:auto;justify-self:start;text-align:left}}
.pcta2{display:flex!important;align-items:center;justify-content:space-between;gap:2rem 3rem;flex-wrap:wrap}
.pcta2-text{display:block}
.pcta2 h2{max-width:22ch}
.pcta2 p{margin:.75rem 0 0;max-width:52ch}
.pcta2-act{display:flex;flex-direction:column;align-items:center;gap:.6rem}
.pcta2-act .btn{grid-column:auto;grid-row:auto}
.pcta2-note{margin:0;text-align:center}
@media (max-width:860px){.pcta2-act{align-items:flex-start}.pcta2-note{text-align:left}}
.pcard-meta--inner{margin:0 0 1.25rem;padding-top:0;border-top:0}
.pcard-topic{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pgroup-desc{max-width:60ch}

/* card bottom bar: details toggle + actions on one aligned row */
.pcard{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.25rem;align-content:start}
.pcard>*{grid-column:1 / -1}
.pcard>.pcard-more{grid-column:1;align-self:start;margin-top:1.25rem;border-top:1px solid rgba(36,36,36,.08)}
.pcard>.pcard-foot{grid-column:2;align-self:start;margin-top:1.25rem;padding-top:.7rem;border-top:1px solid rgba(36,36,36,.08);display:flex;align-items:center;gap:1.25rem;justify-content:flex-end}
.pcard>.pcard-foot:only-of-type{}
.pcard:not(:has(.pcard-more))>.pcard-foot{grid-column:1 / -1;justify-content:space-between}
.pcard>.pcard-foot .pcard-btn{margin-left:0}
.pcard-more>summary{justify-content:flex-start;gap:.6rem;padding:.95rem 0 .95rem}
.pcard-more>summary:hover{color:var(--ink)}
.pcard-more>summary:hover .plus{border-color:var(--red)}
.pcard-more>summary .plus{width:24px;height:24px;border-width:1.5px}
.pcard-more>summary .plus::before,.pcard-more>summary .plus::after{width:9px}
.pcard-more[open]{grid-column:1 / -1}
.pcard:has(.pcard-more[open])>.pcard-foot{grid-row:auto;grid-column:1 / -1;border-top:1px solid rgba(36,36,36,.08);padding-top:1rem;margin-top:.5rem}
.pcard-more + .pcard-foot{padding-top:.7rem}
@media (max-width:520px){.pcard{grid-template-columns:1fr}.pcard>.pcard-more,.pcard>.pcard-foot{grid-column:1 / -1}.pcard>.pcard-foot{justify-content:space-between;border-top:0;margin-top:.25rem;padding-top:0}}

/* bottom bar v2 (replaces grid approach) */
.pcard{display:flex;flex-direction:column}
.pcard>*{grid-column:auto}
.chip{align-self:flex-start}
.pcard-bar{margin-top:auto;padding-top:1.25rem;display:flex;align-items:center;gap:1rem 1.25rem}
.pcard-bar::before{content:none}
.pcard-bar{border-top:0}
.pcard-bar>.pcard-more{flex:1 1 auto;min-width:0;margin:0;border-top:1px solid rgba(36,36,36,.08)}
.pcard-bar>.pcard-foot{flex:0 0 auto;margin:0;padding:0;border:0;display:flex;align-items:center;gap:1.25rem;justify-content:flex-end;align-self:stretch;border-top:1px solid rgba(36,36,36,.08);padding-top:.55rem;margin-left:-1.25rem;padding-left:1.25rem}
.pcard-bar:not(:has(.pcard-more))>.pcard-foot{flex:1 1 auto;justify-content:space-between;margin-left:0;padding-left:0}
.pcard-bar:not(:has(.pcard-more))>.pcard-foot:has(.pcard-btn:only-child){justify-content:flex-end}
.pcard-bar:has(.pcard-more[open]){flex-wrap:wrap}
.pcard-bar:has(.pcard-more[open])>.pcard-more{flex-basis:100%}
.pcard-bar:has(.pcard-more[open])>.pcard-foot{flex:1 1 100%;margin-left:0;padding-left:0;padding-top:1rem}
.pcard-more>summary{padding:.85rem 0}
.pcard:has(details[open]){grid-column:1/-1}
@media (max-width:520px){.pcard-bar{flex-wrap:wrap}.pcard-bar>.pcard-more{flex-basis:100%}.pcard-bar>.pcard-foot{flex:1 1 100%;margin-left:0;padding-left:0;justify-content:space-between;border-top:0;padding-top:0}}
/* bar v3: single divider on the bar, natural widths, wrap if needed */
.pcard-bar{border-top:1px solid rgba(36,36,36,.08);margin-top:auto;padding-top:.35rem;flex-wrap:wrap;row-gap:.5rem}
.pcard>.pcard-tags{margin-bottom:1.25rem}
.pcard-bar>.pcard-more{flex:0 0 auto;border-top:0;margin:0}
.pcard-bar>.pcard-foot{flex:1 1 auto;border-top:0;margin:0;padding:0;justify-content:flex-end;align-self:center}
.pcard-bar:not(:has(.pcard-more))>.pcard-foot{justify-content:space-between;padding-top:.5rem}
.pcard-bar:has(.pcard-more[open])>.pcard-more{flex:1 1 100%}
.pcard-bar:has(.pcard-more[open])>.pcard-foot{flex:1 1 100%;padding-top:1rem;border-top:1px solid rgba(36,36,36,.08)}
.pcard-bar{padding-top:.35rem}
.pcard-bar .pcard-link{white-space:nowrap}
@media (max-width:520px){.pcard-bar>.pcard-foot{flex-basis:100%;justify-content:space-between}}

/* text highlight (marker) + hero photo detail */
mark.hlm{background:rgba(250,59,59,.16);color:inherit;padding:.02em .18em;margin:0 -.04em;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.pzone-head mark.hlm{background:rgba(250,59,59,.14)}
.phero-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.phero-photo{margin:0;width:clamp(220px,24vw,330px);aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--mist)}
.phero-photo img{width:100%;height:100%;object-fit:cover;object-position:30% 40%}
@media (max-width:860px){.phero-grid{grid-template-columns:1fr}.phero-photo{width:100%;max-width:none;aspect-ratio:16/7;order:-1;margin-bottom:.5rem}.phero-photo img{object-position:30% 45%}}
mark.hlm{color:var(--ink)}

/* tools section: halftone photo detail */
.pgroup-headrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,3rem);align-items:end;margin-bottom:1.4rem}
.pgroup-headrow .pgroup-head{margin-bottom:0}
.pgroup-fig{margin:0;width:clamp(150px,15vw,200px);aspect-ratio:900/1036;border-radius:12px;overflow:hidden;background:var(--paper);border:1px solid rgba(36,36,36,.08)}
.pgroup-fig img{width:100%;height:100%;object-fit:cover;image-rendering:auto}
@media (max-width:640px){.pgroup-headrow{grid-template-columns:1fr}.pgroup-fig{width:150px}}
.pgroup-headrow{align-items:center}
.pgroup-fig{width:clamp(150px,16vw,220px)}

/* =========================================================
   PROJECTS — "tile" redesign (square controls, offset tiles)
   ========================================================= */
.page-projektek{--tile-warm:#ECE8E2;--tile-blush:#F6E9E8;--hair:rgba(36,36,36,.14)}
.page-projektek{background:var(--paper)}
/* square controls everywhere on this page */
.page-projektek .btn,.page-projektek .nav .btn,.page-projektek .nav .lang,.page-projektek .announce b{border-radius:0}
.page-projektek .btn{padding:.85em 1.4em;font-size:.9375rem;letter-spacing:0}
.page-projektek .pcard-btn,.page-projektek .pcard-foot .btn{background:var(--ink);color:var(--paper)}
.page-projektek .pcard-btn:hover{background:var(--red)}
/* small caps labels */
.page-projektek .crumb,.page-projektek .pfilter-label,.page-projektek .chip,.page-projektek .pcard-meta dt,.page-projektek .pcard-tags li,.page-projektek .pcard-more>summary,.page-projektek .pnav a{text-transform:uppercase;letter-spacing:.1em;font-size:.6875rem;font-weight:600}
/* hero */
.page-projektek .phero{padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem)}
.page-projektek .phero h1{font-size:clamp(3.4rem,8vw,6.4rem);letter-spacing:-.05em;line-height:.92}
.page-projektek .phero-lede{font-size:clamp(1.15rem,1.8vw,1.45rem);color:var(--ink);max-width:30ch;line-height:1.4;margin-top:1.5rem}
/* segmented filter */
.page-projektek .pfilter{gap:0;margin-top:2.5rem;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);display:inline-flex;flex-wrap:wrap;align-items:stretch}
.page-projektek .pfilter-label{display:flex;align-items:center;padding:0 1.1rem 0 0;margin:0;color:rgba(36,36,36,.5)}
.page-projektek .pfilter button{border:0;border-left:1px solid var(--hair);border-radius:0;background:transparent;padding:.85rem 1.1rem;font-size:.875rem}
.page-projektek .pfilter button:hover{background:rgba(36,36,36,.04)}
.page-projektek .pfilter button[aria-pressed="true"]{background:var(--tile-warm);color:var(--ink);border-color:var(--hair)}
/* category nav: square tabs */
.page-projektek .pnav{background:rgba(254,254,254,.95);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.page-projektek .pnav .wrap{gap:0;padding-top:0;padding-bottom:0}
.page-projektek .pnav a{border-radius:0;padding:1.05rem 1.2rem;border-right:1px solid var(--hair);color:var(--ink-2)}
.page-projektek .pnav a:first-child{border-left:1px solid var(--hair)}
.page-projektek .pnav a:hover{background:rgba(36,36,36,.04);color:var(--ink)}
.page-projektek .pnav a.is-active{background:var(--ink);color:var(--paper)}
/* zones */
.page-projektek .pzone{padding:clamp(4rem,8vw,6.5rem) 0}
.page-projektek .pzone--proof{background:#F4F2EF;border:0}
.page-projektek .pzone-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:2rem clamp(2rem,6vw,6rem);align-items:end;max-width:none}
.page-projektek .pzone-head h2{font-size:clamp(2.6rem,5.4vw,4.4rem);letter-spacing:-.045em;line-height:.95;max-width:11ch}
.page-projektek .pzone-head p{margin:0;font-size:1.125rem;max-width:38ch}
.page-projektek .pgroup--bare .pzone-head{margin-bottom:clamp(2.5rem,5vw,3.5rem)}
@media (max-width:860px){.page-projektek .pzone-head{grid-template-columns:1fr}}
/* group heads */
.page-projektek .pgroup{margin-top:clamp(3.5rem,7vw,5rem)}
.page-projektek .pgroup-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:.75rem clamp(2rem,6vw,6rem);align-items:end;max-width:none;margin-bottom:1.75rem}
.page-projektek .pgroup-title h3{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em}
.page-projektek .pgroup-head .count{border-radius:0;background:transparent;border:1px solid var(--hair);height:24px;min-width:24px;font-size:.75rem}
.page-projektek .pgroup-desc{margin:0}
@media (max-width:860px){.page-projektek .pgroup-head{grid-template-columns:1fr}}
/* bento grid */
.page-projektek .pgrid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.25rem,2.4vw,2rem);padding:0 12px 12px 0}
.page-projektek .pcard:nth-child(4n+1),.page-projektek .pcard:nth-child(4n+4){grid-column:span 7}
.page-projektek .pcard:nth-child(4n+2),.page-projektek .pcard:nth-child(4n+3){grid-column:span 5}
.page-projektek .pgrid>.pcard:only-child{grid-column:span 8}
.page-projektek .pcard:has(details[open]){grid-column:1/-1}
@media (max-width:860px){.page-projektek .pgrid{grid-template-columns:1fr;padding-right:10px}.page-projektek .pcard:nth-child(n){grid-column:1/-1}}
/* tile cards: white face, offset coloured tile behind */
.page-projektek .pcard{border-radius:0;background:var(--paper);border:1px solid var(--hair);box-shadow:none;isolation:isolate;padding:clamp(1.5rem,2.6vw,2.25rem)}
.page-projektek .pcard::after{content:"";position:absolute;z-index:-1;inset:12px -12px -12px 12px;background:var(--tile-warm);pointer-events:none;transition:inset .3s cubic-bezier(.6,0,.2,1)}
.page-projektek .pcard:nth-child(3n+2)::after{background:var(--tile-blush)}
.page-projektek .pcard:nth-child(3n)::after{content:none}
.page-projektek .pcard:hover{box-shadow:none;border-color:rgba(36,36,36,.3)}
.page-projektek .pcard:hover::after{inset:16px -16px -16px 16px}
.page-projektek .pzone--proof .pcard{background:var(--paper);border-color:var(--hair)}
.page-projektek .pzone--proof .pcard::after{background:#E3DED7}
.page-projektek .pzone--proof .pcard:nth-child(3n+2)::after{background:var(--tile-blush)}
.page-projektek .chip{background:transparent;padding:0;gap:.5rem;color:var(--ink-2)}
.page-projektek .chip::before{width:7px;height:7px;border-radius:0;background:var(--red)}
.page-projektek .pcard-title{font-size:clamp(1.4rem,2.1vw,1.85rem);letter-spacing:-.03em;line-height:1.08;margin:1.1rem 0 .7rem;max-width:20ch}
.page-projektek .pcard-topic{max-width:52ch}
.page-projektek .pcard-quote{border-radius:0;background:var(--tile-blush);font-weight:500}
.page-projektek .pcard-meta{border-top:1px solid var(--hair)}
.page-projektek .pcard-meta div{grid-template-columns:96px 1fr}
.page-projektek .pcard-meta dt{color:rgba(36,36,36,.5);padding-top:.2em}
.page-projektek .pcard-tags li{border:0;border-radius:0;background:rgba(36,36,36,.05);color:var(--ink-2);padding:.35rem .6rem;font-size:.625rem}
/* bottom bar: plain plus, icons on links */
.page-projektek .pcard-bar{border-top:1px solid var(--hair)}
.page-projektek .pcard-more>summary{padding:1rem 0;gap:.55rem;color:var(--ink)}
.page-projektek .pcard-more>summary .plus{width:12px;height:12px;border:0;border-radius:0;background:transparent;margin-left:.15rem}
.page-projektek .pcard-more>summary .plus::before,.page-projektek .pcard-more>summary .plus::after{width:12px;height:1.5px;background:var(--ink)}
.page-projektek .pcard-more[open]>summary .plus{background:transparent}
.page-projektek .pcard-more[open]>summary .plus::before,.page-projektek .pcard-more[open]>summary .plus::after{background:var(--red)}
.page-projektek .pcard-more>summary:hover{color:var(--red)}
.page-projektek .pcard-more>summary:hover .plus::before,.page-projektek .pcard-more>summary:hover .plus::after{background:var(--red)}
.page-projektek .pcard-link{font-size:.875rem}
.page-projektek .pcard-link .ico{width:22px;height:22px}
/* closing panel */
.page-projektek .pcta2{border-radius:0;border:1px solid var(--hair);position:relative;isolation:isolate;overflow:visible;margin-right:12px}
.page-projektek .pcta2::after{content:"";position:absolute;z-index:-1;inset:12px -12px -12px 12px;background:var(--tile-blush)}
.page-projektek .pcta2 .btn{background:var(--red)}
.page-projektek .pcta2 .btn:hover{background:var(--ink)}
.page-projektek .pempty{text-transform:none}
/* tiles via offset solid shadow (face stays white) */
.page-projektek .pcard::after,.page-projektek .pcta2::after{content:none!important}
.page-projektek .pcard{box-shadow:12px 12px 0 0 var(--tile-warm);transition:box-shadow .3s cubic-bezier(.6,0,.2,1),border-color .2s}
.page-projektek .pcard:nth-child(3n+2){box-shadow:12px 12px 0 0 var(--tile-blush)}
.page-projektek .pcard:nth-child(3n){box-shadow:none}
.page-projektek .pcard:hover{box-shadow:16px 16px 0 0 var(--tile-warm)}
.page-projektek .pcard:nth-child(3n+2):hover{box-shadow:16px 16px 0 0 var(--tile-blush)}
.page-projektek .pcard:nth-child(3n):hover{box-shadow:12px 12px 0 0 rgba(36,36,36,.06)}
.page-projektek .pzone--proof .pcard{box-shadow:12px 12px 0 0 #E3DED7}
.page-projektek .pzone--proof .pcard:nth-child(3n+2){box-shadow:12px 12px 0 0 var(--tile-blush)}
.page-projektek .pzone--proof .pcard:nth-child(3n){box-shadow:none}
.page-projektek .pcta2{box-shadow:12px 12px 0 0 var(--tile-blush)}
.page-projektek .pcard-topic{display:block;-webkit-line-clamp:unset;overflow:visible}
.page-projektek{--tile-warm:#E5DFD6;--tile-blush:#F4DFDD}
.page-projektek .pzone--proof .pcard{box-shadow:12px 12px 0 0 #DCD5CB}
.page-projektek .pcard-bar>.pcard-foot{justify-content:space-between;flex-wrap:wrap;row-gap:.75rem}
.page-projektek .pcard-bar>.pcard-foot .pcard-btn{margin-left:auto}
.page-projektek .pcard-bar:has(.pcard-more):has(.pcard-link)>.pcard-foot{flex-basis:100%;padding-top:.25rem}

/* =========================================================
   PROJECTS — clean grid round (filter tabs, grid cards, dark proof)
   ========================================================= */
/* chips: red dot */
.page-projektek .chip::before{border-radius:50%;width:7px;height:7px}
/* filter + nav: underline tabs, bands closer */
.page-projektek .phero{padding-bottom:1.25rem}
.page-projektek .pfilter{margin-top:2.25rem}
.page-projektek .pfilter button{font-weight:500;color:var(--ink)}
.page-projektek .pfilter button[aria-pressed="true"]{background:#F3F1EE;box-shadow:inset 0 -2px 0 var(--red);font-weight:600}
.page-projektek .pnav{margin-top:0;background:rgba(254,254,254,.96)}
.page-projektek .pnav a{font-size:.75rem;letter-spacing:.09em;color:var(--ink-2);padding:1.1rem 1.3rem}
.page-projektek .pnav a.is-active{background:transparent;color:var(--ink);box-shadow:inset 0 -2px 0 var(--red)}
.page-projektek .pnav a:hover{background:#F3F1EE}
/* kill offset tiles */
.page-projektek .pcard,.page-projektek .pcard:nth-child(n),.page-projektek .pcard:hover,.page-projektek .pcta2{box-shadow:none!important}
/* zone 1: connected clean grid, alternating hover tint */
.page-projektek .pzone--now .pgrid{gap:1px;background:var(--hair);border:1px solid var(--hair);padding:0}
.page-projektek .pzone--now .pcard{border:0;background:var(--paper);transition:background .25s}
.page-projektek .pzone--now .pcard:nth-child(odd):hover{background:#F3F1EE}
.page-projektek .pzone--now .pcard:nth-child(even):hover{background:#FCEDEC}
/* professional collaborations: stacked full-width rows */
.page-projektek #egyuttmukodesek .pgrid{grid-template-columns:1fr}
.page-projektek #egyuttmukodesek .pcard:nth-child(n){grid-column:1/-1}
.page-projektek #egyuttmukodesek .pcard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);column-gap:clamp(2rem,5vw,4rem);align-items:start}
.page-projektek #egyuttmukodesek .pcard>.chip,.page-projektek #egyuttmukodesek .pcard>.pcard-title{grid-column:1}
.page-projektek #egyuttmukodesek .pcard>.pcard-topic,.page-projektek #egyuttmukodesek .pcard>.pcard-tags,.page-projektek #egyuttmukodesek .pcard>.pcard-bar{grid-column:2}
.page-projektek #egyuttmukodesek .pcard>.pcard-topic{grid-row:1 / span 2;align-self:start;margin-top:0}
.page-projektek #egyuttmukodesek .pcard>.pcard-title{margin-bottom:0}
@media (max-width:860px){.page-projektek #egyuttmukodesek .pcard{display:flex}}
/* zone 2: high-contrast dark section with checkerboard cards */
.page-projektek .pzone--proof{background:var(--ink);color:var(--paper)}
.page-projektek .pzone--proof .pzone-head h2{color:var(--paper)}
.page-projektek .pzone--proof .pzone-head p{color:rgba(254,254,254,.72)}
.page-projektek .pzone--proof mark.hlm{background:rgba(250,59,59,.32);color:var(--paper)}
.page-projektek .pzone--proof .pgrid{gap:1px;background:rgba(254,254,254,.16);border:1px solid rgba(254,254,254,.16);padding:0}
.page-projektek .pzone--proof .pcard{border:0;background:#2C2C2C;color:var(--paper);transition:background .25s}
.page-projektek .pzone--proof .pcard:hover{background:#333}
.page-projektek .pzone--proof .pcard .pcard-title{color:var(--paper)}
.page-projektek .pzone--proof .pcard .pcard-topic{color:rgba(254,254,254,.7)}
.page-projektek .pzone--proof .pcard .chip{color:rgba(254,254,254,.62)}
.page-projektek .pzone--proof .pcard .pcard-meta{border-top-color:rgba(254,254,254,.16)}
.page-projektek .pzone--proof .pcard .pcard-meta dt{color:rgba(254,254,254,.5)}
.page-projektek .pzone--proof .pcard .pcard-meta dd{color:var(--paper)}
.page-projektek .pzone--proof .pcard .pcard-tags li{background:rgba(254,254,254,.08);color:rgba(254,254,254,.8)}
.page-projektek .pzone--proof .pcard .pcard-bar{border-top-color:rgba(254,254,254,.16)}
.page-projektek .pzone--proof .pcard .pcard-more>summary{color:var(--paper)}
.page-projektek .pzone--proof .pcard .pcard-more>summary .plus::before,.page-projektek .pzone--proof .pcard .pcard-more>summary .plus::after{background:var(--paper)}
.page-projektek .pzone--proof .pcard .pcard-more-body p{color:rgba(254,254,254,.72)}
.page-projektek .pzone--proof .pcard .pcard-more-body h4{color:var(--paper)}
.page-projektek .pzone--proof .pcard .pcard-more-body .dots li{color:rgba(254,254,254,.72)}
.page-projektek .pzone--proof .pcard .pcard-link{color:var(--paper)}
.page-projektek .pzone--proof .pcard .pcard-link .ico{filter:invert(1)}
.page-projektek .pzone--proof .pcard .pcard-quote{background:rgba(250,59,59,.18);color:var(--paper)}
/* light cells in the checkerboard */
.page-projektek .pzone--proof .pcard:nth-child(4n+1),.page-projektek .pzone--proof .pcard:nth-child(4n+4){background:var(--paper);color:var(--ink)}
.page-projektek .pzone--proof .pcard:nth-child(4n+1):hover,.page-projektek .pzone--proof .pcard:nth-child(4n+4):hover{background:#F3F1EE}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) :is(.pcard-title,.pcard-meta dd,.pcard-more>summary,.pcard-link,.pcard-more-body h4){color:var(--ink)}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-topic,.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-more-body p,.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-more-body .dots li{color:var(--ink-2)}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .chip,.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-meta dt{color:rgba(36,36,36,.55)}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) :is(.pcard-meta,.pcard-bar){border-top-color:var(--hair)}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-tags li{background:rgba(36,36,36,.05);color:var(--ink-2)}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-more>summary .plus::before,.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-more>summary .plus::after{background:var(--ink)}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-link .ico{filter:none}
.page-projektek .pzone--proof .pcard:is(:nth-child(4n+1),:nth-child(4n+4)) .pcard-quote{background:var(--tile-blush);color:var(--ink)}
.page-projektek .pzone--proof .pcard .pcard-more[open]>summary .plus::before,.page-projektek .pzone--proof .pcard .pcard-more[open]>summary .plus::after{background:var(--red)}
.page-projektek .pzone--proof{margin-top:0}
/* closing panel: distinct function, soft red field */
.page-projektek .pcta2{background:#FBE3E0;border:0;margin-right:0;padding:clamp(2.25rem,5vw,4rem)}
.page-projektek .pcta2 h2{font-size:clamp(2rem,3.8vw,3.2rem);letter-spacing:-.04em;line-height:1;max-width:14ch}
.page-projektek .pcta2 p{color:rgba(36,36,36,.75);font-size:1.0625rem}
.page-projektek .pcta2-note{color:rgba(36,36,36,.7)}
.page-projektek .pgrid>.pcard:last-child:nth-child(odd){grid-column:1/-1}
.page-projektek .pzone--proof .pzone-head h2{max-width:14ch}
.page-projektek .pcta2 h2{max-width:20ch}
.page-projektek .pzone--proof .pcard .pcard-quote{background:rgba(254,254,254,.08)}
.page-projektek .pzone--proof .pzone-head p{color:rgba(254,254,254,.78)}

/* layout driven by JS (robust under filtering) */
.page-projektek .pgrid>.pcard:nth-child(n){grid-column:auto}
@media (max-width:860px){.page-projektek .pgrid>.pcard{grid-column:1 / -1!important}}
.page-projektek #egyuttmukodesek .pgrid>.pcard{grid-column:1 / -1!important}
/* zone 1 hover alternation by visible index */
.page-projektek .pzone--now .pcard:hover{background:#F3F1EE}
.page-projektek .pzone--now .pcard.alt-b:hover{background:#FCEDEC}
/* zone 2 checkerboard by visible index: reset nth-child tones */
.page-projektek .pzone--proof .pcard:nth-child(n){background:#2C2C2C;color:var(--paper)}
.page-projektek .pzone--proof .pcard.tone-light{background:var(--paper);color:var(--ink)}
.page-projektek .pzone--proof .pcard.tone-light:hover{background:#F3F1EE}
.page-projektek .pzone--proof .pcard.tone-dark:hover{background:#333}
/* dark-cell styles for every card, then light overrides via class */
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-title,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-meta dd,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more>summary,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-link,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more-body h4{color:var(--paper)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-topic,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more-body p,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more-body .dots li{color:rgba(254,254,254,.72)}
.page-projektek .pzone--proof .pcard:nth-child(n) .chip,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-meta dt{color:rgba(254,254,254,.55)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-meta,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-bar{border-top-color:rgba(254,254,254,.16)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-tags li{background:rgba(254,254,254,.08);color:rgba(254,254,254,.8)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more>summary .plus::before,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more>summary .plus::after{background:var(--paper)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-link .ico{filter:invert(1)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-quote{background:rgba(254,254,254,.08);color:var(--paper)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-title,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-meta dd,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-more>summary,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-link,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-more-body h4{color:var(--ink)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-topic,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-more-body p,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-more-body .dots li{color:var(--ink-2)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .chip,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-meta dt{color:rgba(36,36,36,.55)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-meta,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-bar{border-top-color:var(--hair)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-tags li{background:rgba(36,36,36,.05);color:var(--ink-2)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-more>summary .plus::before,.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-more>summary .plus::after{background:var(--ink)}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-link .ico{filter:none}
.page-projektek .pzone--proof .pcard.tone-light:nth-child(n) .pcard-quote{background:var(--tile-blush);color:var(--ink)}
.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more[open]>summary .plus::before,.page-projektek .pzone--proof .pcard:nth-child(n) .pcard-more[open]>summary .plus::after{background:var(--red)}
.page-projektek .phero{padding-bottom:clamp(2.5rem,5vw,3.5rem)}

/* =========================================================
   HOME — same UI language as Projects
   ========================================================= */
.page-home .hhero{padding:clamp(3rem,6vw,5rem) 0 clamp(3.5rem,7vw,5.5rem)}
.page-home .hhero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.page-home .hhero h1{font-size:clamp(2.6rem,5.2vw,4.6rem);letter-spacing:-.045em;line-height:.98;max-width:13ch}
.page-home .hhero-intro{margin:1.75rem 0 0;color:var(--ink-2);max-width:50ch}
.page-home .hhero .phero-lede{max-width:40ch;margin-top:1.1rem}
.page-home .hhero-cta{display:flex;align-items:center;gap:1rem 1.5rem;flex-wrap:wrap;margin-top:2rem}
.page-home .hhero-cta .note{margin:0}
.page-home .hhero-photo{margin:0;justify-self:end;width:100%;max-width:420px;aspect-ratio:4/5;overflow:hidden;background:var(--mist)}
.page-home .hhero-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 28%}
@media (max-width:860px){.page-home .hhero-grid{grid-template-columns:1fr}.page-home .hhero-photo{justify-self:start;max-width:360px;order:-1}}
/* services: 3 equal cells in the clean grid */
.page-home .hz-aud p{margin:0 0 .75rem;font-size:1.0625rem;color:var(--ink-2)}
.page-home .pzone--now .pzone-head{margin-bottom:clamp(2rem,4vw,3rem)}
.page-home .svcgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.page-home .svcgrid>.pcard{grid-column:auto!important}
.page-home .svcgrid>.pcard:has(details[open]){grid-column:1 / -1!important}
.page-home .svc2 .pcard-title{font-size:clamp(1.3rem,1.8vw,1.6rem);max-width:none}
.page-home .svc2-note{margin:.75rem 0 0;font-size:.8125rem;color:rgba(36,36,36,.6);text-align:right}
.page-home .svc2 .pcard-more-body h4{margin:1.1rem 0 .4rem}
@media (max-width:900px){.page-home .svcgrid{grid-template-columns:1fr!important}}
/* SRD + about: quiet two-column bands */
.page-home .hband{padding:clamp(3.5rem,7vw,5rem) 0;border-top:1px solid var(--hair)}
.page-home .hband--about{background:#F4F2EF;border-top:0}
.page-home .hband-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.5rem clamp(2rem,6vw,6rem);align-items:start}
.page-home .hband h2{font-size:clamp(1.9rem,3.4vw,2.8rem);letter-spacing:-.04em;line-height:1.02;margin-top:.9rem;max-width:16ch}
.page-home .hband p{margin:0 0 1.25rem;font-size:1.125rem;color:var(--ink-2);max-width:44ch}
.page-home .hband p.em{color:var(--ink);font-weight:500}
@media (max-width:860px){.page-home .hband-grid{grid-template-columns:1fr}}
/* testimonials teaser: dark contrast, two cells */
.page-home .qgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.page-home .qgrid>.pcard{grid-column:auto!important;margin:0}
.page-home .qcard blockquote{margin:1.1rem 0 1.5rem;font-size:1.1875rem;line-height:1.5;font-weight:500}
.page-home .qcard figcaption{margin-top:auto;font-size:.875rem;padding-top:1rem;border-top:1px solid rgba(254,254,254,.16);color:rgba(254,254,254,.7)}
.page-home .qcard.tone-light blockquote{color:var(--ink)}
.page-home .qcard.tone-light figcaption{border-top-color:var(--hair);color:var(--ink-2)}
.page-home .qcard.tone-dark blockquote{color:var(--paper)}
.page-home .qmore{margin-top:1.75rem;color:var(--paper)}
.page-home .qmore .ico{filter:invert(1)}
@media (max-width:760px){.page-home .qgrid{grid-template-columns:1fr!important}}
/* credo: typographic statement */
.page-home .hcredo{padding:clamp(4.5rem,9vw,7rem) 0;text-align:left}
.page-home .hcredo-main{margin:0;font-size:clamp(2.6rem,6vw,5.2rem);font-weight:600;letter-spacing:-.05em;line-height:.95}
.page-home .hcredo-sub{margin:1.1rem 0 0;font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--ink-2)}
.page-home .pcta2{margin-bottom:clamp(1rem,3vw,2rem)}
.page-home .site-foot{margin-top:clamp(4rem,8vw,6rem)}
.page-home .svc2 .pcard-topic{margin-bottom:1.5rem}
.page-home .svc2 .pcard-bar{margin-top:auto}
.page-home .creds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);margin:clamp(2rem,4vw,3rem) 0 1.75rem}
.page-home .creds li{background:#F4F2EF;padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.45rem}
.page-home .creds b{font-size:clamp(1.25rem,1.8vw,1.55rem);letter-spacing:-.025em;line-height:1.1}
.page-home .creds span{font-size:.9375rem;color:var(--ink-2);line-height:1.45}
@media (max-width:900px){.page-home .creds{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.page-home .creds{grid-template-columns:1fr}}
.page-home .creds-line{font-size:.9688rem!important;color:var(--ink-2)!important;margin-top:.25rem!important}
.page-home .creds{margin-bottom:0}
.page-home .creds-wide{margin:0 0 1.75rem;padding:1.25rem 1.4rem;border:1px solid var(--hair);border-top:0;font-size:1.0625rem;font-weight:500;color:var(--ink);background:#F4F2EF}
.page-home .hband p.creds-wide{max-width:none;color:var(--ink);font-size:1.125rem;margin:0 0 1.75rem}
/* stats band */
.page-home .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.page-home .stats li{padding-top:1.25rem;border-top:2px solid var(--ink)}
.page-home .stats li:nth-child(2n){border-top-color:var(--red)}
.page-home .hband .stat-num{margin:0;display:flex;align-items:baseline;gap:.15em;font-size:clamp(3.2rem,6.4vw,5.6rem);font-weight:600;letter-spacing:-.06em;line-height:.9;color:var(--ink);max-width:none}
.page-home .stat-num em{font-style:normal;color:var(--red);font-weight:500;margin-left:-.04em}
.page-home .stat-num small{font-size:.24em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-left:.5em}
.page-home .hband .stat-txt{margin:.9rem 0 0;font-size:.9375rem;line-height:1.5;color:var(--ink-2);max-width:30ch}
.page-home .hband .stats-cap{margin:clamp(1.75rem,3vw,2.5rem) 0 0;max-width:62ch;font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:500;color:var(--ink);line-height:1.45}
.page-home .why{margin-top:clamp(3.5rem,7vw,5rem);padding-top:clamp(3rem,6vw,4rem);border-top:1px solid var(--hair)}
.page-home .why .pcard-link{margin-top:.5rem}
@media (max-width:900px){.page-home .stats{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.page-home .stats{grid-template-columns:1fr}}
.page-home .hband .stat-num{display:block;white-space:nowrap}
.page-home .stat-num em{margin-left:.02em}
.page-home .stat-num small{display:block;margin:.85rem 0 0;font-size:.75rem;letter-spacing:.12em;line-height:1;color:var(--ink)}
.page-home .hband .stat-txt{margin-top:.45rem}
.page-home .stats li,.page-home .stats li:nth-child(2n){border-top:0;padding-top:0}
.page-home .hband--about{border-top:0}
.page-home .hband--about + .hband{border-top:0}
.page-home .hband .stat-sub{margin:.5rem 0 0;font-size:.8438rem;line-height:1.45;color:rgba(36,36,36,.55);max-width:30ch}
.page-home .hhero-aud{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 2rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--hair)}
.page-home .hhero-aud p{margin:0;font-size:.9688rem;line-height:1.55;color:var(--ink-2)}
.page-home .pzone--now .pzone-head{grid-template-columns:1fr}
@media (max-width:640px){.page-home .hhero-aud{grid-template-columns:1fr}}
.page-home .hhero h1{font-size:clamp(2.4rem,4.4vw,3.9rem);max-width:15ch}.page-home .hhero{padding-top:clamp(2.5rem,5vw,4rem)}
.page-home .hhero-for{margin:1.25rem 0 0;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.page-home .pzone--now .pzone-head{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
@media (max-width:860px){.page-home .pzone--now .pzone-head{grid-template-columns:1fr}}

/* Továbblépés page: compact split hero, next workshop, nav counts */
.page-projektek .phero--split{padding:clamp(2rem,4vw,3rem) 0 clamp(2rem,4vw,2.75rem)}
.page-projektek .phero-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.page-projektek .phero--split h1{font-size:clamp(2.6rem,5vw,4.2rem);margin-top:.25rem}
.page-projektek .phero--split .phero-lede{max-width:34ch;margin-top:1.1rem}
.page-projektek .nextws{background:#FBE3E0;padding:clamp(1.4rem,2.5vw,1.9rem)}
.page-projektek .nextws h2{font-size:clamp(1.2rem,1.7vw,1.45rem);letter-spacing:-.02em;line-height:1.2;margin:.75rem 0 .5rem}
.page-projektek .nextws-when{margin:0 0 1.25rem;font-size:.9375rem;color:var(--ink-2)}
.page-projektek .nextws-act{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.page-projektek .nextws .chip{color:var(--ink)}
@media (max-width:860px){.page-projektek .phero-split{grid-template-columns:1fr}}
.page-projektek .pnav-n{display:inline-block;margin-left:.55rem;font-size:.6875rem;color:var(--red);letter-spacing:0}
.page-projektek .pnav a.is-active .pnav-n{color:var(--red)}
/* smaller zone titles so content shows sooner */
.page-projektek .pzone{padding-top:clamp(2.5rem,5vw,3.75rem)}
.page-projektek .pzone-head h2{font-size:clamp(2rem,3.6vw,3rem);max-width:none}
.page-projektek .pzone-head{align-items:end}
.page-projektek .pzone .pgroup:first-of-type{margin-top:clamp(1.75rem,3vw,2.25rem)}
/* calm hero: one focal point */
.page-projektek .phero--calm{padding:clamp(2.5rem,5vw,3.75rem) 0 clamp(2rem,4vw,2.75rem)}
.page-projektek .phero--calm h1{font-size:clamp(2.4rem,4.4vw,3.6rem);letter-spacing:-.04em;line-height:1}
.page-projektek .phero--calm .phero-lede{max-width:52ch;margin-top:1rem;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--ink-2)}
.page-projektek .phero--calm mark.hlm{color:var(--ink)}
.page-projektek .pzone--now .pzone-head{grid-template-columns:1fr}
.page-projektek .pzone--now .pzone-head h2{font-size:clamp(1.7rem,2.8vw,2.3rem)}
.page-projektek .pzone--now{padding-top:clamp(2rem,4vw,3rem)}
.page-projektek .pzone--now .pgroup:first-of-type{margin-top:clamp(1.25rem,2.5vw,1.75rem)}
.page-projektek .pzone--now .pgroup:first-of-type{margin-top:0}
.page-projektek:not(.page-home) .announce{display:none}

/* readability + calmer cards (projects & home) */
.page-projektek .pcard-meta dt{font-size:.8125rem;letter-spacing:.02em;text-transform:none;font-weight:600;color:rgba(36,36,36,.6)}
.page-projektek .pcard-meta dd{font-size:1rem;line-height:1.5}
.page-projektek .pcard-more>summary{font-size:.9375rem;letter-spacing:0;text-transform:none;font-weight:600}
.page-projektek .pcard-tags li{font-size:.75rem;letter-spacing:.04em;padding:.3rem .6rem}
.page-projektek .chip{font-size:.75rem;letter-spacing:.08em}
.page-projektek .pcard-topic{font-size:1.0625rem}
/* less spatial division */
.page-projektek .pcard{padding:clamp(1.4rem,2.4vw,2rem)}
.page-projektek .pcard-title{margin:.85rem 0 .55rem}
.page-projektek .pcard-meta{border-top:0;padding-top:0;margin-top:1.1rem}
.page-projektek .pcard-tags{margin-top:.9rem}
.page-projektek .pcard>.pcard-tags{margin-bottom:1rem}
.page-projektek .pcard-bar{padding-top:.15rem}
.page-projektek .pcard-more>summary{padding:.8rem 0}
/* quieter action button: outline, fills on hover */
.page-projektek .pcard .pcard-btn,.page-projektek .pcard .pcard-foot .btn{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);padding:.65em 1.15em;font-size:.9375rem}
.page-projektek .pcard .pcard-btn:hover{background:var(--ink);color:var(--paper)}
.page-projektek .pzone--proof .pcard.tone-dark .pcard-btn{color:var(--paper);box-shadow:inset 0 0 0 1.5px var(--paper)}
@media (max-width:600px){
  .page-projektek .pcard-meta div{grid-template-columns:1fr;gap:.15rem}
  .page-projektek .pcard-meta dd{font-size:1.0625rem}
  .page-projektek .pcard-topic{font-size:1.0625rem}
}
@media (max-width:520px){.page-projektek .pcard-bar:not(:has(.pcard-link)){flex-wrap:nowrap}.page-projektek .pcard-bar:not(:has(.pcard-link))>.pcard-more{flex-basis:auto}.page-projektek .pcard-bar:not(:has(.pcard-link))>.pcard-foot{flex:1 1 auto;justify-content:flex-end}}

/* one text colour per block (hierarchy by size/weight only) */
.page-projektek .pcard-topic,.page-projektek .pcard-meta dt,.page-projektek .chip,.page-projektek .pcard-tags li,
.page-projektek .pcard-more-body p,.page-projektek .pcard-more-body .dots li,.page-projektek .pgroup-desc,
.page-projektek .phero-lede,.page-projektek .pzone-head p,.page-projektek .pcta2 p,.page-projektek .pcta2-note,
.page-projektek .pcard-quote,.page-projektek .pcard-meta dd{color:var(--ink)!important}
.page-projektek .pzone--proof .pcard.tone-dark :is(.pcard-title,.pcard-topic,.pcard-meta dt,.pcard-meta dd,.chip,.pcard-tags li,.pcard-more>summary,.pcard-link,.pcard-more-body p,.pcard-more-body h4,.pcard-more-body .dots li,.pcard-quote){color:var(--paper)!important}
.page-projektek .pzone--proof .pzone-head p{color:var(--paper)!important}
/* home-specific blocks */
.page-home .hhero-intro,.page-home .hz-aud p,.page-home .svc2-note,.page-home .stat-txt,.page-home .stat-sub,.page-home .creds-line,.page-home .hband p,.page-home .hcredo-sub,.page-home .hhero-for,.page-home .hhero-cta .note,.page-home .stat-num small{color:var(--ink)!important}
.page-home .qcard.tone-dark :is(blockquote,figcaption,.chip){color:var(--paper)!important}
.page-home .qcard.tone-light :is(blockquote,figcaption,.chip){color:var(--ink)!important}

/* meta rows: inline red label, flowing text */
.page-projektek .pcard-meta{display:block;margin-top:1rem}
.page-projektek .pcard-meta div{display:block!important;margin:0 0 .5rem}
.page-projektek .pcard-meta div:last-child{margin-bottom:0}
.page-projektek .pcard .pcard-meta dt,.page-projektek .pzone--proof .pcard.tone-dark .pcard-meta dt{display:inline;color:var(--red)!important;font-weight:700;font-size:1rem;letter-spacing:0;padding:0;margin-right:.3em}
.page-projektek .pcard-meta dt::after{content:":"}
.page-projektek .pcard-meta dd{display:inline;margin:0}
/* tags & category chips: back to their own (softer) style */
.page-projektek .pcard .chip{color:var(--ink-2)!important}
.page-projektek .pcard .pcard-tags li{color:var(--ink-2)!important}
.page-projektek .pzone--proof .pcard.tone-dark .chip{color:rgba(254,254,254,.62)!important}
.page-projektek .pzone--proof .pcard.tone-dark .pcard-tags li{color:rgba(254,254,254,.8)!important}

/* dark cards: calmer details */
body.page-projektek .pzone.pzone--proof .pgrid .pcard.tone-dark .pcard-meta div dt{color:var(--red)!important}
body.page-projektek .pzone.pzone--proof .pgrid .pcard.tone-dark .pcard-tags li{background:transparent;box-shadow:inset 0 0 0 1px rgba(254,254,254,.28);color:rgba(254,254,254,.82)!important;font-weight:600}
body.page-projektek .pzone.pzone--proof .pgrid .pcard.tone-dark .pcard-quote{background:transparent!important;padding:0;margin-top:1rem;font-size:1.125rem;font-weight:600;color:var(--paper)!important}
body.page-projektek .pzone.pzone--proof .pgrid .pcard.tone-dark .pcard-bar{border-top-color:rgba(254,254,254,.2)}
.page-projektek .pcard-sec{margin:0 0 1rem}
.page-projektek .pcard>.pcard-tags + .pcard-sec{margin-top:-.25rem}
.page-projektek .pcard-frame{margin:.75rem 0 0;font-size:.9375rem;font-weight:600;color:var(--ink)}
.page-projektek .pcard-more-body .formats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:1.25rem}
.page-projektek .pcard-more-body .formats>div{background:var(--paper);padding:1rem 1.1rem}
.page-projektek .pcard-more-body .formats h4{margin:0 0 .35rem}
.page-projektek .pcard-more-body .formats p{margin:0}
.page-projektek .pcard-more-body .formats .price{margin-top:.6rem;font-weight:700;font-size:1.0625rem;color:var(--ink)!important}
@media (max-width:600px){.page-projektek .pcard-more-body .formats{grid-template-columns:1fr}}
.page-projektek .pcard-more-body .pcard-tags{margin:1.25rem 0 .25rem}
.page-projektek .pcard-topic{margin-bottom:1.25rem}
.page-projektek .pcard-sec{margin-top:0}
.page-projektek .pcard-topic{margin-bottom:0}
.page-projektek .pcard>.pcard-tags{margin:1rem 0 1.1rem}
.page-projektek .pcard-sec{margin-top:-.1rem}
.page-projektek .pcard[style*="span 12"] .pcard-title{max-width:none}
.page-projektek .pcard-bar:has(.pcard-more):has(.pcard-link)>.pcard-foot{flex-basis:auto;padding-top:0}
.page-projektek .pcard-bar>.pcard-foot{margin-left:auto}
.page-home .why{grid-template-columns:1fr;gap:1rem}
.page-home .why p.em{max-width:62ch;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.5}
.page-home .why p.creds-line{max-width:62ch}
.page-home .hcredo{padding:clamp(2.75rem,5vw,4rem) 0}
.page-home .why p.em + p.em{margin-top:1rem}

/* SRD page */
.srdpage .phero--calm .chip{margin-bottom:1rem}
.srdpage .srd-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.srdpage .srd-grid--rev{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.srdpage .srd-grid h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em;margin-bottom:1.25rem}
.srdpage .srd-grid p{max-width:60ch;color:var(--ink)!important;font-size:1.0625rem;margin:0 0 1rem}
.srdpage .srd-fig{margin:0;border:1px solid var(--hair);background:var(--paper)}
.srdpage .srd-res{margin-top:1.5rem;display:grid;gap:.4rem}
.srdpage .srd-statement .hcredo-main{font-size:clamp(1.6rem,3.2vw,2.6rem);line-height:1.15;letter-spacing:-.03em;max-width:28ch}
.srdpage .srd-case{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4rem);align-items:start;margin-top:clamp(2rem,4vw,3rem)}
.srdpage .srd-case-text h3{font-size:clamp(1.3rem,2vw,1.6rem);color:var(--paper);margin:.9rem 0 1rem;letter-spacing:-.02em}
.srdpage .srd-case-text p{color:var(--paper)!important;margin:0 0 1rem}
.srdpage .srd-case-text .chip{color:rgba(254,254,254,.7)!important}
.srdpage .srd-case-text .pcard-link{color:var(--paper)}
.srdpage .srd-case-text .pcard-link .ico{filter:invert(1)}
.srdpage .explorer{border-radius:0;border:0}
.srdpage .explorer iframe{height:520px}
.srdpage .pcta2-act{align-items:flex-start;gap:.9rem}
@media (max-width:860px){.srdpage .srd-grid,.srdpage .srd-grid--rev,.srdpage .srd-case{grid-template-columns:1fr}}

/* Rólam page */
.about .about-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.about .phero--calm .chip{margin-bottom:1rem}
.about .phero-lede{max-width:56ch!important}
.about .about-em{margin:1.25rem 0 0;font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:500;line-height:1.5;max-width:52ch;color:var(--ink)}
.about .about-photo{margin:0;justify-self:end;width:100%;max-width:380px;aspect-ratio:4/5;overflow:hidden;background:var(--mist)}
.about .about-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 28%}
.about .cvgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.about .cvcell{background:var(--paper);padding:clamp(1.25rem,2vw,1.75rem)}
.about .cvcell h3{font-size:1.0625rem;letter-spacing:-.01em;margin-bottom:.9rem}
.about .cvlist li{font-size:.9688rem;line-height:1.45;padding:.35rem 0;border-top:1px solid var(--hair);color:var(--ink)}
.about .cvlist li:first-child{border-top:0;padding-top:0}
.about .about-note{margin:1.75rem 0 0;max-width:70ch;font-size:1.0625rem;color:var(--ink)}
.about .princ{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.about .princ li{background:#F4F2EF;padding:1.4rem 1.5rem;font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:600;letter-spacing:-.015em;display:flex;align-items:baseline;gap:.9rem}
.about .princ .pn{font-size:.8125rem;font-weight:700;color:var(--red);letter-spacing:.04em}
.about .qgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:960px){.about .cvgrid{grid-template-columns:1fr 1fr}.about .princ{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.about .about-hero{grid-template-columns:1fr}.about .about-photo{justify-self:start;max-width:300px;order:-1}.about .cvgrid,.about .princ,.about .qgrid{grid-template-columns:1fr!important}}
.about .qgrid>.pcard:last-child:nth-child(odd){grid-column:1 / -1!important}
body.page-home .pzone--now .pzone-head{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important}
@media (max-width:860px){body.page-home .pzone--now .pzone-head{grid-template-columns:1fr!important}}
.about .pzone--now .pzone-head,.srdpage .pzone--now .pzone-head{grid-template-columns:1fr!important}
/* Rólam: collapsible CV columns */
.about .cvgrid{align-items:start}
.about .cvcell>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.about .cvcell>summary::-webkit-details-marker{display:none}
.about .cvcell>summary h3{margin:0}
.about .cvcell>summary .plus{flex:none;width:14px;height:14px;border:0;border-radius:0;background:transparent;margin-top:.3rem}
.about .cvcell>summary .plus::before,.about .cvcell>summary .plus::after{width:13px;height:1.5px;background:var(--ink)}
.about .cvcell[open]>summary .plus{background:transparent}
.about .cvcell[open]>summary .plus::before,.about .cvcell[open]>summary .plus::after{background:var(--red)}
.about .cvcell[open]>summary{margin-bottom:.9rem}
.about .cvcell>summary:hover h3{color:var(--red)}
.about .about-photo img{object-position:50% 30%}
.about .cvgrid{align-items:stretch}
.page-home .svc2-icon{width:56px;height:56px;display:block;margin:0 0 1.1rem}
.page-home .svc2 .pcard-title{margin-top:0}
.page-home .svc2-head{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem}
.page-home .svc2-head .svc2-icon{margin:0;width:48px;height:48px;flex:none}
.page-home .svc2-label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.page-home .svc2-label{white-space:nowrap;letter-spacing:.04em;font-size:.6875rem}
.page-home .svc2-head{gap:.75rem}
.page-home .svc2-head .svc2-icon{width:44px;height:44px}
.page-home .svc2-label{text-transform:none;letter-spacing:0;font-size:.8125rem;font-weight:600}
.page-home .svc2-label{font-size:clamp(.6875rem,.95vw,.8125rem)}
@media (max-width:1100px){.page-home .svc2-head{gap:.6rem}.page-home .svc2-head .svc2-icon{width:40px;height:40px}}
@media (max-width:960px){.page-home .svcgrid{grid-template-columns:1fr!important}}
@media (max-width:1010px){.page-home .svcgrid{grid-template-columns:1fr!important}}
.page-home .svc2-head .chip{white-space:nowrap}
.page-home .svc2-head .chip{font-size:.6875rem!important;letter-spacing:.05em!important}
.page-home .svc2-head{gap:.6rem}
.page-home .svc2-head .svc2-icon{width:40px;height:40px}
@media (max-width:1060px){.page-home .svcgrid{grid-template-columns:1fr!important}}
@media (max-width:1099px){.page-home .svcgrid{grid-template-columns:1fr!important}}
.page-home .svc2-head .chip{align-self:center;margin:0}
/* services page: service intro card */
.page-projektek .pcard--service{background:#F4F2EF!important}
.page-projektek .pcard--service .pcard-title{font-size:clamp(1.5rem,2.4vw,2rem);max-width:30ch}
.page-projektek .pcard--service .pcard-topic{max-width:68ch;font-size:1.125rem}
.page-projektek .pcard--service .pcard-tags:empty{display:none}
.page-projektek .pcard--service .chip{display:none}
.page-projektek .pcard-tags:empty{display:none}
.page-projektek .pcard--service .pcard-btn{background:var(--red)!important;color:var(--paper)!important;box-shadow:none!important}
.page-projektek .pcard--service .pcard-btn:hover{background:var(--ink)!important}
.page-projektek .pcard--service .pcard-more-body h4{margin:1.25rem 0 .4rem}
.page-home .svc2 .pcard-bar{border-top:1px solid var(--hair);padding-top:.75rem;align-items:center;flex-wrap:nowrap}
.page-home .svc2-more{font-weight:600;font-size:.9375rem}
.page-home .svc2 .pcard-bar>.pcard-foot{padding-top:0!important;align-self:center}.page-home .svc2-more{align-self:center}
.page-home .svc2-head .chip{white-space:normal}
.page-home .hhero-for{max-width:46ch;line-height:1.6}
.page-projektek .phero--calm .phero-lede + .phero-lede{margin-top:.6rem}
.page-home .hhero-for{max-width:none}
.about .cvcell>summary{align-items:center;min-height:2.6em}
.about .cvcell>summary h3{line-height:1.3}
.about .cvcell>summary .plus{margin-top:0}
body.page-home #szolgaltatasok .pzone-head{grid-template-columns:1fr!important}
/* section numbering + contact in closing panel */
.page-home .secnum{display:block;margin:0 0 .9rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;color:var(--ink)}
.page-home .secnum b{color:var(--red);font-weight:700}
.page-home .pzone--proof .secnum{color:var(--paper)}
.page-home .stats{margin-top:.25rem}
.page-home .pcta2-contact{display:flex;flex-direction:column;gap:.3rem;margin-top:1rem;align-items:center}
.page-home .pcta2-contact .pcard-link{font-size:.9375rem}
@media (max-width:860px){.page-home .pcta2-contact{align-items:flex-start}}

/* =========================================================
   UNIFIED TYPE SCALE (all HU pages)
   ========================================================= */
.page-projektek{
  --fs-h1:clamp(2.5rem,4.6vw,3.75rem);
  --fs-h2:clamp(1.9rem,3vw,2.5rem);
  --fs-h3:clamp(1.4rem,2vw,1.75rem);
  --fs-card:clamp(1.25rem,1.6vw,1.4rem);
  --fs-lead:1.1875rem;
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-label:.75rem;
  --lh-body:1.6;
  --lh-lead:1.5;
}
/* headings */
.page-projektek h1,.page-projektek .hhero h1,.page-projektek .phero--calm h1,.page-projektek .phero--split h1{font-size:var(--fs-h1)!important;line-height:1.02!important;letter-spacing:-.035em!important}
.page-projektek .pzone-head h2,.page-projektek .hband h2,.page-projektek .srd-grid h2,.page-projektek .pcta2 h2,.page-projektek #szolgaltatasok .pzone-head h2{font-size:var(--fs-h2)!important;line-height:1.08!important;letter-spacing:-.03em!important}
.page-projektek .pgroup-head h3,.page-projektek .pgroup-title h3{font-size:var(--fs-h3)!important;line-height:1.15!important}
.page-projektek .pcard-title,.page-projektek .svc2 .pcard-title,.page-projektek .pcard--service .pcard-title,.page-projektek .srd-case-text h3{font-size:var(--fs-card)!important;line-height:1.2!important}
.page-projektek .pcard--service .pcard-title{font-size:var(--fs-h3)!important}
/* lead paragraphs: one size everywhere */
.page-projektek .phero-lede,.page-projektek .about .about-em,.page-projektek .why p.em,.page-projektek .hband p,.page-projektek .pzone-head p,.page-projektek .stats-cap,.page-projektek .pcta2 p{font-size:var(--fs-lead)!important;line-height:var(--lh-lead)!important}
.page-projektek .about .phero-lede{font-weight:400}
.page-projektek .about .about-em,.page-projektek .why p.em{font-weight:500}
/* body text */
.page-projektek .pcard-topic,.page-projektek .pcard--service .pcard-topic,.page-projektek .pcard-meta dd,.page-projektek .pcard-meta dt,.page-projektek .pcard-more-body p,.page-projektek .pcard-more-body li,.page-projektek .about-note,.page-projektek .srd-grid p,.page-projektek .srd-case-text p,.page-projektek .qcard blockquote,.page-projektek .pcard-more-body h4{font-size:var(--fs-body)!important;line-height:var(--lh-body)!important}
.page-projektek .qcard blockquote{font-weight:500}
/* small text */
.page-projektek .pcta2-note,.page-projektek .svc2-note,.page-projektek .creds-line,.page-projektek .stat-txt,.page-projektek .stat-sub,.page-projektek .explorer-note,.page-projektek .srd-note,.page-projektek .cvlist li,.page-projektek .qcard figcaption,.page-projektek .note,.page-projektek .hhero-cta .note,.page-projektek .pcard-link,.page-projektek .pcard-more>summary,.page-projektek .cvcell h3{font-size:var(--fs-small)!important;line-height:1.5!important}
.page-projektek .cvcell h3{font-size:var(--fs-body)!important}
/* labels */
.page-projektek .chip,.page-projektek .secnum,.page-projektek .hhero-for,.page-projektek .pcard-tags li,.page-projektek .pnav a,.page-projektek .stat-num small{font-size:var(--fs-label)!important}
/* consistent measure for reading */
.page-projektek .phero-lede,.page-projektek .about .about-em,.page-projektek .hband p,.page-projektek .about-note{max-width:60ch!important}
.page-projektek .hband p.stat-num{font-size:clamp(3.2rem,6.4vw,5.6rem)!important;line-height:.9!important;max-width:none!important;font-weight:600}
.page-projektek .hband p.stat-txt{font-size:var(--fs-small)!important;max-width:30ch!important}
.page-projektek .hband p.stat-sub{font-size:.875rem!important;max-width:30ch!important}
.page-projektek .hband p.creds-line{font-size:var(--fs-small)!important}
/* workshop photos */
.page-projektek .pcard--service.has-fig{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);column-gap:clamp(1.5rem,4vw,3rem);align-items:start}
.page-projektek .pcard--service.has-fig>*{grid-column:1}
.page-projektek .pcard--service.has-fig>.pcard-fig{grid-column:2;grid-row:1 / span 8;margin:0}
.page-projektek .pcard-fig img{width:100%;height:auto;display:block;border:1px solid var(--hair)}
.page-projektek .pcard-fig figcaption,.page-home .qphoto figcaption{margin-top:.6rem;font-size:var(--fs-small);color:var(--ink)}
@media (max-width:760px){.page-projektek .pcard--service.has-fig{display:flex}.page-projektek .pcard-fig{max-width:320px;margin-top:1.25rem!important}}
.page-home .qgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.page-home .qphoto{background:var(--paper)!important;padding:clamp(1rem,1.6vw,1.25rem)!important}
.page-home .qphoto img{width:100%;height:auto;display:block}
.page-home .qphoto figcaption{color:var(--ink)!important;border:0!important;padding:0!important}
@media (max-width:960px){.page-home .qgrid{grid-template-columns:1fr 1fr!important}.page-home .qphoto{grid-column:1 / -1!important}.page-home .qphoto img{max-width:360px}}
@media (max-width:600px){.page-home .qgrid{grid-template-columns:1fr!important}}

/* note wall: workshop sticky notes, redrawn in the site's visual language */
.notewall .chip{display:inline-flex;margin-bottom:.6rem}
.notewall .nw-q{margin:0 0 1rem;font-size:var(--fs-card,1.3rem);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.nw-notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.nw-notes li{background:var(--paper);border:1px solid var(--hair);padding:.7rem .8rem;min-height:4.2rem;display:flex;align-items:flex-end;font-size:.9375rem;font-weight:600;line-height:1.3;color:var(--ink)}
.nw-notes li.key{background:#FBE3E0;border-color:transparent}
.page-projektek .pcard--service.has-fig>.pcard-fig{align-self:start}
.page-projektek .pcard-fig .notewall{background:transparent}
/* home: dark band version, full width under the quotes */
.page-home .notewall--dark{margin-top:clamp(1.5rem,3vw,2rem);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:1.25rem clamp(2rem,5vw,4rem);align-items:start;padding-top:clamp(1.5rem,3vw,2rem);border-top:1px solid rgba(254,254,254,.16)}
.page-home .notewall--dark .chip{color:rgba(254,254,254,.75)!important;grid-column:1}
.page-home .notewall--dark .nw-q{color:var(--paper);grid-column:1;font-size:var(--fs-h3,1.6rem)}
.page-home .notewall--dark .nw-notes{grid-column:2;grid-row:1 / span 2;grid-template-columns:repeat(3,minmax(0,1fr))}
.page-home .notewall--dark .nw-notes li{background:#2C2C2C;border-color:rgba(254,254,254,.14);color:var(--paper)}
.page-home .notewall--dark .nw-notes li.key{background:var(--paper);color:var(--ink);border-color:transparent}
.page-home .qgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:860px){.page-home .notewall--dark{grid-template-columns:1fr}.page-home .notewall--dark .nw-notes{grid-column:1;grid-row:auto;grid-template-columns:1fr 1fr}}
.page-home .notewall--dark{grid-template-rows:auto 1fr}.page-home .notewall--dark .nw-q{align-self:start;margin-top:0}
.page-projektek .pcard--service .notewall .chip{display:inline-flex!important}
.page-projektek .pcard-fig .nw-notes li:nth-child(5){grid-column:1 / -1;min-height:3.2rem}
/* workshop photo block in the dark testimonials section */
.page-home .wsphoto{margin-top:clamp(1.5rem,3vw,2rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid rgba(254,254,254,.16)}
.page-home .wsphoto-text{padding:clamp(1.75rem,3.5vw,3rem);display:flex;flex-direction:column;justify-content:flex-end;gap:.75rem}
.page-home .wsphoto-text .chip{color:rgba(254,254,254,.75)!important}
.page-home .wsphoto-q{margin:0;color:var(--paper);font-size:var(--fs-h3)!important;font-weight:600;letter-spacing:-.025em;line-height:1.15;max-width:18ch}
.page-home .wsphoto-cap{margin:0;color:var(--paper)!important;font-size:var(--fs-small)!important}
.page-home .wsphoto-fig{margin:0;aspect-ratio:4/3;overflow:hidden;background:#F4F2EF}
.page-home .wsphoto-fig img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block}
@media (max-width:760px){.page-home .wsphoto{grid-template-columns:1fr}.page-home .wsphoto-fig{order:-1}}
.page-home .wsphoto-fig img{object-position:50% 50%}
.page-home .svc2-head .chip{font-size:var(--fs-label)!important;letter-spacing:.08em!important}
/* closing panel: one primary action, quiet e-mail alternative */
.page-projektek .pcta2-act{align-items:flex-start!important;gap:.5rem}
.page-projektek .pcta2-note{text-align:left!important}
.page-projektek .pcta2-mail{margin:1.4rem 0 0;font-size:var(--fs-small)!important;line-height:1.6!important;color:var(--ink)!important;max-width:none!important}
.page-projektek .pcta2-mail a{font-weight:600;color:var(--ink);text-decoration:none;background:linear-gradient(var(--red),var(--red)) left bottom/100% 1.5px no-repeat;padding-bottom:1px;transition:color .2s}
.page-projektek .pcta2-mail a:hover{color:var(--red)}
/* footer contact row */
.site-foot .foot-top{flex-wrap:wrap}
.site-foot .foot-contact{display:flex;gap:1.5rem;flex-basis:100%;justify-content:flex-end;margin-top:-.75rem}
.site-foot .foot-contact a{color:rgba(254,254,254,.75);text-decoration:none;font-size:.9375rem}
.site-foot .foot-contact a:hover{color:var(--red)}
@media (max-width:760px){.site-foot .foot-contact{justify-content:flex-start;margin-top:0}}
.page-projektek .pcta2 p.pcta2-mail{font-size:var(--fs-small)!important;line-height:1.6!important}
.page-projektek .pcta2-act>*{align-self:flex-start!important;margin-left:0!important;text-align:left!important}
.page-projektek .pcta2 h2{max-width:none!important}.page-projektek .pcta2-text{flex:1 1 auto;max-width:720px}
.page-home .pcta2 p.pcta2-mail{margin-top:.9rem}

/* type scale: remaining outliers snapped to the scale (12 / 15 / 17 / 19 / 22 / 28 / 40 / 60) */
.page-projektek .nav a:not(.btn):not(.lang){font-size:var(--fs-small)!important}
.page-projektek .nav .lang{font-size:var(--fs-label)!important}
.page-projektek .nav .btn,.page-projektek .btn{font-size:var(--fs-small)!important}
.page-projektek .announce,.page-projektek .announce *{font-size:var(--fs-small)!important}
.page-projektek .announce b{font-size:var(--fs-label)!important}
.page-projektek .site-foot,.page-projektek .site-foot a,.page-projektek .site-foot p,.page-projektek .site-foot span{font-size:var(--fs-small)!important}
.page-projektek .site-foot .brand{font-size:var(--fs-body)!important}
.page-projektek .pcard-quote{font-size:var(--fs-body)!important}
.page-projektek .pcard-more-body h3{font-size:var(--fs-body)!important;font-weight:700}
.page-projektek .about .princ li{font-size:var(--fs-lead)!important}
.page-projektek .about .princ .pn{font-size:var(--fs-label)!important}
.page-projektek .hcredo-sub{font-size:var(--fs-lead)!important}
.page-projektek .srd-statement .hcredo-main{font-size:var(--fs-h2)!important;line-height:1.15!important}
.page-projektek .hband p.stat-sub{font-size:var(--fs-small)!important}
.page-projektek .explorer-bar,.page-projektek .explorer-bar *{font-size:var(--fs-small)!important}
/* closing panel: body size on both sides */
.page-projektek .pcta2 .pcta2-text p{font-size:var(--fs-body)!important;line-height:var(--lh-body)!important}
.page-projektek .pcta2 p.pcta2-mail,.page-projektek .pcta2-note{font-size:var(--fs-body)!important}
.page-projektek .facts span{font-size:var(--fs-small)!important}
.page-projektek .pcta2 p.pcta2-mail{margin-top:.9rem}.page-projektek .pcta2{flex-wrap:nowrap}@media (max-width:760px){.page-projektek .pcta2{flex-wrap:wrap}}
