*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#0a0a0a;font-family:Arial,Helvetica,sans-serif;font-weight:400}.shell{max-width:1540px;margin:auto;padding:0 4.2vw}header{height:132px;display:flex;align-items:center;justify-content:space-between;padding-top:18px;background:#fff}.logo{display:block;width:min(270px,24vw);height:auto}.nav{display:flex;align-items:center;gap:clamp(30px,5vw,80px);font-size:12px;letter-spacing:.07em}.nav a,.lang button{color:#111;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font:inherit}.lang{display:flex;gap:8px}.lang button.active{font-weight:700}.hero{height:min(72vh,760px);min-height:520px;position:relative;overflow:hidden;background:#111}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.54),rgba(0,0,0,.03) 58%,rgba(0,0,0,.08));pointer-events:none}.hero-copy{position:absolute;z-index:3;left:5.2vw;bottom:16%;color:#fff;font-size:clamp(28px,3.3vw,58px);line-height:1.08;letter-spacing:.015em;font-weight:400}.hero-copy:after{content:'';display:block;width:56px;height:2px;background:#fff;margin-top:24px}.arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);color:#fff;background:transparent;border:0;font-size:46px;font-weight:200;cursor:pointer;padding:20px}.arrow.prev{left:8px}.arrow.next{right:8px}.counter{position:absolute;z-index:4;right:26px;bottom:20px;color:white;font-size:11px;letter-spacing:.15em}.section{padding:46px 0 58px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-title{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400;letter-spacing:.14em;margin:0}.view-all{font-size:10px;letter-spacing:.1em;text-decoration:none;color:#111}.project-grid{display:grid;grid-template-columns:1.25fr 1.45fr 1fr .9fr;grid-auto-rows:150px;gap:7px}.project-card{position:relative;overflow:hidden;background:#e8e8e8;color:#fff;text-decoration:none}.project-card:nth-child(1){grid-row:span 2}.project-card:nth-child(2){grid-row:span 2}.project-card:nth-child(3){grid-row:span 2}.project-card:nth-child(4),.project-card:nth-child(5),.project-card:nth-child(6){grid-column:4}.project-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .55s ease,transform .7s ease}.project-card:hover img{filter:grayscale(0);transform:scale(1.025)}.project-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.52),transparent 45%)}.project-card span{position:absolute;z-index:2;left:18px;bottom:15px;font-size:12px;letter-spacing:.04em}.project-card.soon{background:#f2f2f2;color:#111;display:flex;align-items:flex-end;padding:16px;border:1px solid #e4e4e4}.project-card.soon:after{display:none}.project-card.soon small{position:absolute;top:14px;right:14px;font-size:8px;letter-spacing:.1em;color:#777}.footer-sections{border-top:1px solid #ddd;padding:38px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-sections h3{font-size:12px;letter-spacing:.1em;font-weight:400}.footer-sections p,.footer-sections a{font-size:11px;line-height:1.8;color:#111;text-decoration:none}.footer-bottom{border-top:1px solid #ddd;padding:24px 0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.04em}.ig{font-size:22px}.project-hero{height:64vh;min-height:480px}.project-hero img{width:100%;height:100%;object-fit:cover;filter:none}.project-intro{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:7vw;padding:62px 0}.back{font-size:10px;text-decoration:none;color:#111;letter-spacing:.08em}.project-intro h1{font-size:clamp(34px,4vw,64px);font-weight:400;letter-spacing:.03em;margin:30px 0}.meta{display:grid;grid-template-columns:90px 1fr;gap:9px;font-size:10px;letter-spacing:.05em}.project-desc{max-width:580px;font-size:15px;line-height:1.8;margin-top:86px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;padding-bottom:70px}.gallery button{border:0;padding:0;background:none;cursor:pointer;overflow:hidden;height:340px}.gallery button:nth-child(1){grid-column:span 7;height:560px}.gallery button:nth-child(2){grid-column:span 5;height:560px}.gallery button:nth-child(3),.gallery button:nth-child(4){grid-column:span 6}.gallery button:nth-child(5){grid-column:span 12;height:620px}.gallery button:nth-child(6),.gallery button:nth-child(7),.gallery button:nth-child(8){grid-column:span 4}.gallery button:nth-child(9){grid-column:span 12;height:600px}.gallery button:nth-child(10),.gallery button:nth-child(11){grid-column:span 6;height:460px}.gallery img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .7s ease}.gallery button:hover img{transform:scale(1.015)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:32px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:92vh;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:16px;color:#fff;background:none;border:0;font-size:40px;cursor:pointer}.mobile-menu{display:none}
@media(max-width:800px){header{height:104px;padding-top:14px}.logo{width:220px;max-width:56vw}.nav a{display:none}.nav{gap:16px}.hero{min-height:450px;height:62vh}.hero-copy{left:24px;bottom:14%;font-size:30px}.project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.project-card:nth-child(n){grid-column:auto;grid-row:auto}.project-card:nth-child(1),.project-card:nth-child(2){grid-row:span 2}.footer-sections{grid-template-columns:1fr}.project-intro{grid-template-columns:1fr}.project-desc{margin-top:0}.gallery{display:block}.gallery button,.gallery button:nth-child(n){display:block;width:100%;height:58vw;margin-bottom:8px}.project-hero{height:56vh}.shell{padding:0 20px}}

.hero-label{position:absolute;z-index:3;left:5.2vw;bottom:5.5%;color:#fff;font-size:10px;letter-spacing:.14em}.project-grid-full{grid-template-columns:repeat(4,1fr);grid-auto-rows:290px}.project-grid-full .project-card:nth-child(n){grid-column:auto;grid-row:auto}.project-grid-full .project-card:nth-child(1),.project-grid-full .project-card:nth-child(6){grid-column:span 2}.project-grid-full .project-card:nth-child(4),.project-grid-full .project-card:nth-child(7){grid-row:span 2}.project-grid-full .project-card:nth-child(8){grid-column:span 2}.project-card:focus-visible{outline:2px solid #111;outline-offset:3px}@media(max-width:1000px){.project-grid-full{grid-template-columns:repeat(2,1fr);grid-auto-rows:250px}.project-grid-full .project-card:nth-child(n){grid-column:auto;grid-row:auto}}@media(max-width:600px){.project-grid-full{grid-template-columns:1fr;grid-auto-rows:68vw}.project-grid-full .project-card:nth-child(n){grid-column:auto;grid-row:auto}.hero-label{left:24px}}

/* Compact project information — combines editorial description with concise project data */
.project-information{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(48px,6vw,96px)}
.project-info-top{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);gap:clamp(44px,8vw,140px);align-items:start}
.project-info-heading .back{display:inline-block;margin-bottom:clamp(30px,4vw,64px)}
.project-info-heading h1{margin:0 0 20px;font-size:clamp(34px,5vw,74px);font-weight:400;letter-spacing:-.035em;line-height:.98}
.info-eyebrow{margin:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.project-summary{margin:0;max-width:720px;font-size:clamp(18px,2vw,29px);line-height:1.45;letter-spacing:-.015em}
.project-details{display:grid;grid-template-columns:minmax(220px,.82fr) minmax(320px,1.18fr);gap:clamp(44px,8vw,140px);margin-top:clamp(56px,8vw,120px);padding-top:clamp(28px,3vw,46px);border-top:1px solid #d7d7d7}
.project-details h2{margin:0;font-size:clamp(23px,2.4vw,36px);font-weight:400;letter-spacing:-.02em}
.project-details-grid{display:grid;grid-template-columns:minmax(115px,.55fr) minmax(180px,1.45fr);gap:0;margin:0}
.project-details-grid dt,.project-details-grid dd{margin:0;padding:15px 0;border-bottom:1px solid #e5e5e5;font-size:13px;line-height:1.45}
.project-details-grid dt{font-weight:600;text-transform:uppercase;letter-spacing:.07em}
.project-details-grid dd{text-transform:uppercase}
@media(max-width:760px){
  .project-info-top,.project-details{grid-template-columns:1fr;gap:32px}
  .project-info-heading .back{margin-bottom:28px}
  .project-details{margin-top:58px}
  .project-details-grid{grid-template-columns:110px 1fr}
  .project-details-grid dt,.project-details-grid dd{font-size:11px;padding:13px 0}
}

/* Studio & Services editorial pages */
.editorial-hero{position:relative;height:min(76vh,820px);min-height:520px;overflow:hidden;background:#111}.editorial-hero img{width:100%;height:100%;object-fit:cover}.editorial-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.44),transparent 54%)}.editorial-hero-title{position:absolute;z-index:2;left:5.2vw;bottom:8%;color:#fff;font-size:clamp(42px,7vw,112px);font-weight:400;letter-spacing:-.045em}.editorial-intro{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(340px,1.3fr);gap:clamp(44px,9vw,160px);padding-top:clamp(70px,10vw,155px);padding-bottom:clamp(70px,10vw,155px)}.editorial-intro h1{margin:0;font-size:clamp(34px,4.6vw,73px);font-weight:400;letter-spacing:-.045em;line-height:1.06;max-width:950px}.editorial-copy{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(340px,1.3fr);gap:clamp(44px,9vw,160px);padding-top:50px;padding-bottom:clamp(90px,12vw,180px);border-top:1px solid #d8d8d8}.editorial-copy h2{font-size:clamp(25px,3vw,46px);font-weight:400;margin:16px 0}.section-index,.service-number{font-size:11px;letter-spacing:.15em}.prose{max-width:790px}.prose p,.lead-small{font-size:clamp(16px,1.45vw,22px);line-height:1.7;margin:0 0 1.5em}.full-bleed-image{height:min(76vh,850px);overflow:hidden}.full-bleed-image img{width:100%;height:100%;object-fit:cover}.selected-clients{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(340px,1.3fr);gap:clamp(44px,9vw,160px);padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(70px,9vw,140px)}.sector-list{display:grid;gap:0}.sector-list span{padding:18px 0;border-bottom:1px solid #ddd;font-size:clamp(17px,2vw,28px);letter-spacing:.02em}.editorial-quote{padding-top:clamp(80px,11vw,170px);padding-bottom:clamp(80px,11vw,170px);border-top:1px solid #ddd}.editorial-quote p{margin:0;max-width:1120px;font-size:clamp(36px,6vw,94px);line-height:1.05;letter-spacing:-.05em}.services-intro{padding-bottom:clamp(90px,12vw,180px)}.services-intro .lead-small{margin-top:42px;max-width:760px}.service-block{border-top:1px solid #d8d8d8}.service-image{height:min(68vh,760px);overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover}.service-copy{display:grid;grid-template-columns:80px minmax(220px,.55fr) minmax(320px,1.45fr);gap:clamp(26px,5vw,90px);padding-top:clamp(50px,7vw,100px);padding-bottom:clamp(70px,9vw,135px)}.service-copy h2{margin:0;font-size:clamp(34px,4vw,64px);font-weight:400;letter-spacing:-.04em}.service-copy p{margin:0;max-width:760px;font-size:clamp(16px,1.45vw,22px);line-height:1.75}.footer-link{display:inline-block;margin-top:8px;border-bottom:1px solid #111;font-size:9px!important;letter-spacing:.12em}.footer-sections section>a{display:inline-block}
@media(max-width:800px){.editorial-hero{min-height:440px;height:62vh}.editorial-hero-title{left:24px}.editorial-intro,.editorial-copy,.selected-clients{grid-template-columns:1fr;gap:32px}.editorial-intro{padding-top:65px;padding-bottom:75px}.editorial-copy{padding-bottom:85px}.full-bleed-image{height:58vh}.service-image{height:56vh}.service-copy{grid-template-columns:48px 1fr;gap:22px}.service-copy p{grid-column:2}.editorial-quote p{font-size:42px}.services-intro .lead-small{margin-top:30px}}

/* Project timeline */
.timeline-page{padding-bottom:clamp(80px,10vw,150px)}.timeline-header{padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(60px,8vw,120px)}.timeline-header h1{margin:24px 0 36px;font-size:clamp(58px,10vw,160px);font-weight:400;line-height:.86;letter-spacing:-.065em}.timeline-lead{max-width:620px;margin:0 0 0 42%;font-size:clamp(16px,1.6vw,23px);line-height:1.6}.timeline-list{border-top:1px solid #111}.timeline-row{display:grid;grid-template-columns:90px 1fr 40px;align-items:center;min-height:112px;border-bottom:1px solid #d8d8d8;color:#111;text-decoration:none;transition:background .25s ease,padding .25s ease}.timeline-row:hover{background:#f4f4f4;padding-left:16px}.timeline-index{font-size:11px;letter-spacing:.14em}.timeline-name{font-size:clamp(20px,2.8vw,43px);letter-spacing:-.025em}.timeline-arrow{font-size:20px;text-align:right}.timeline-row.unavailable{opacity:.45;pointer-events:none}@media(max-width:800px){.timeline-lead{margin-left:0}.timeline-row{grid-template-columns:50px 1fr 24px;min-height:88px}.timeline-name{font-size:19px}.nav{gap:14px}.nav a{display:none}}

/* Horizontal monthly timeline, 2021—2026 */
.timeline-carousel-page{overflow:hidden}
.timeline-carousel-header{padding-bottom:clamp(46px,6vw,86px)}
.timeline-carousel{padding-bottom:clamp(80px,10vw,150px)}
.timeline-years{position:relative;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;margin-bottom:34px;border-bottom:1px solid #cfcfcf}
.timeline-year{position:relative;z-index:2;border:0;background:transparent;padding:0 0 17px;text-align:left;font:inherit;font-size:clamp(17px,2vw,30px);font-weight:400;cursor:pointer;color:#999;transition:color .3s ease}
.timeline-year:after{content:'';position:absolute;left:0;bottom:-1px;width:0;height:2px;background:#111;transition:width .35s ease}
.timeline-year.active{color:#111}.timeline-year.active:after{width:100%}
.timeline-stage{position:relative}
.timeline-feature{position:relative;margin:0;height:min(66vh,760px);min-height:480px;overflow:hidden;background:#e9e9e9}
.timeline-feature img{width:100%;height:100%;object-fit:cover;transition:opacity .45s ease,transform 5s linear;opacity:1;transform:scale(1.025)}
.timeline-feature img.changing{opacity:.15}
.timeline-feature figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto auto 1fr;gap:20px;align-items:center;padding:22px 24px;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent)}
#timelineFeatureYear{font-size:clamp(27px,3vw,48px);letter-spacing:-.04em}
#timelineFeatureMonth{font-size:12px;letter-spacing:.16em}
.timeline-progress{display:block;height:1px;background:rgba(255,255,255,.4);overflow:hidden}.timeline-progress i{display:block;width:100%;height:100%;background:#fff;transform-origin:left center}
@keyframes timelineProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.timeline-controls{display:flex;justify-content:flex-end;gap:8px;padding:14px 0 20px}
.timeline-controls button{min-width:54px;height:42px;border:1px solid #cfcfcf;background:#fff;color:#111;font:inherit;font-size:10px;letter-spacing:.1em;cursor:pointer;transition:background .25s,color .25s}
.timeline-controls button:hover{background:#111;color:#fff}
#timelinePause{min-width:86px}
.timeline-months-viewport{overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}.timeline-months-viewport::-webkit-scrollbar{display:none}
.timeline-months{display:flex;gap:8px;width:max-content;padding-bottom:4px}
.timeline-month-card{position:relative;width:clamp(132px,13vw,205px);height:clamp(105px,11vw,165px);flex:0 0 auto;padding:0;border:0;background:#e5e5e5;overflow:hidden;cursor:pointer;color:#fff;text-align:left}
.timeline-month-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:.72;transition:filter .35s ease,opacity .35s ease,transform .5s ease}
.timeline-month-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 62%)}
.timeline-month-card span,.timeline-month-card small{position:absolute;z-index:2;bottom:12px;font-size:10px;letter-spacing:.12em}
.timeline-month-card span{left:12px}.timeline-month-card small{right:12px}
.timeline-month-card:hover img,.timeline-month-card.active img{filter:grayscale(0);opacity:1;transform:scale(1.035)}
.timeline-month-card.active{outline:2px solid #111;outline-offset:-2px}
@media(max-width:800px){
  .timeline-years{grid-template-columns:repeat(3,1fr);row-gap:18px;border-bottom:0}
  .timeline-year{border-bottom:1px solid #d4d4d4}
  .timeline-feature{height:58vh;min-height:410px}
  .timeline-feature figcaption{grid-template-columns:auto auto;padding:18px}.timeline-progress{grid-column:1/-1}
  .timeline-month-card{width:148px;height:116px}
}

/* Combined project information layout: editorial title + concise about + structured details */
.project-information{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(52px,7vw,104px)}
.project-info-top{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(340px,1.08fr);gap:clamp(48px,8vw,138px);align-items:start}
.project-info-heading .back{display:inline-block;margin-bottom:clamp(34px,5vw,72px)}
.section-kicker{margin:0 0 24px;font-size:12px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}
.project-info-heading h1{margin:0;font-size:clamp(38px,5.2vw,76px);font-weight:400;letter-spacing:-.04em;line-height:.98}
.project-about{padding-top:clamp(66px,8vw,118px)}
.project-summary{max-width:760px;margin:0;font-size:clamp(19px,2vw,30px);line-height:1.42;font-weight:400;letter-spacing:-.018em}
.project-details{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(340px,1.08fr);gap:clamp(48px,8vw,138px);margin-top:clamp(64px,9vw,132px);padding-top:clamp(30px,4vw,52px);border-top:1px solid #d5d5d5}
.project-details h2{margin:0;font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.025em}
.project-details-grid{display:grid;grid-template-columns:minmax(125px,.5fr) minmax(220px,1.5fr);margin:0}
.project-details-grid dt,.project-details-grid dd{margin:0;padding:18px 0;border-bottom:1px solid #e5e5e5;font-size:13px;line-height:1.45}
.project-details-grid dt{font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.project-details-grid dd{text-transform:uppercase}
@media(max-width:760px){
  .project-info-top,.project-details{grid-template-columns:1fr;gap:34px}
  .project-about{padding-top:0}
  .project-info-heading .back{margin-bottom:34px}
  .project-details{margin-top:64px}
  .project-details-grid{grid-template-columns:112px 1fr}
  .project-details-grid dt,.project-details-grid dd{padding:14px 0;font-size:11px}
}

/* Bilingual navigation and manual project lightbox controls */
body.lightbox-open{overflow:hidden}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:64px;height:88px;border:0;background:rgba(0,0,0,.18);color:#fff;font-size:58px;font-weight:200;line-height:1;cursor:pointer;transition:background .2s ease}
.lightbox-arrow:hover{background:rgba(255,255,255,.14)}
.lightbox-prev{left:18px}.lightbox-next{right:18px}
.lightbox-counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;font-size:11px;letter-spacing:.16em}
@media(max-width:800px){.lightbox{padding:18px}.lightbox-arrow{width:46px;height:70px;font-size:44px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-close{right:12px;top:8px}}

/* Bilingual contact details */
.contact-section{min-width:0}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:18px}
.contact-details a{display:block;font-size:11px;line-height:1.55;color:#111;text-decoration:none;letter-spacing:.025em;transition:opacity .2s ease}
.contact-details a:hover{opacity:.55}
.contact-address{margin-bottom:7px}
@media(max-width:800px){.contact-details{gap:9px}.contact-details a{font-size:12px}}

/* Greenways-inspired compact project details */
.project-details-list {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 0.45rem;
  row-gap: 0.7rem;
  margin: 0;
  max-width: 760px;
}
.project-details-list dt {
  margin: 0;
  font-weight: 700;
  text-transform: none;
}
.project-details-list dt::after {
  content: ':';
}
.project-details-list dd {
  margin: 0;
}
@media (max-width: 640px) {
  .project-details-list {
    grid-template-columns: 1fr;
    row-gap: 0.25rem;
  }
  .project-details-list dd {
    margin-bottom: 0.65rem;
  }
}
.hero-copy[data-el]{white-space:pre-line}


/* Refined project details layout — title case labels, location and architect under heading */
.project-details-heading{min-width:0}
.project-details-heading h2{margin:0 0 34px}
.project-details-primary{max-width:420px}
.project-details-secondary{max-width:760px}
.project-details-list dt,.project-details-list dd{font-size:13px;line-height:1.5}
.project-details-list dt{font-weight:600;letter-spacing:0;text-transform:none}
.project-details-list dd{text-transform:none}
.project-details-secondary .details-group-start{margin-top:30px}
.project-details-secondary .details-group-start + dd{margin-top:30px}
@media(max-width:760px){
  .project-details-heading h2{margin-bottom:26px}
  .project-details-primary{margin-bottom:10px}
  .project-details-secondary .details-group-start{margin-top:24px}
  .project-details-secondary .details-group-start + dd{margin-top:24px}
}

.view-all{display:inline-block;transition:opacity .2s ease}.view-all:hover{opacity:.55}.all-projects-page{padding-top:72px}.all-projects-grid{grid-auto-rows:290px}@media(max-width:800px){.all-projects-page{padding-top:42px}}

/* Photographer aligned with maintenance supervision */
.project-details-primary .photographer-start,.project-details-primary .photographer-start + dd{margin-top:30px}
@media(max-width:760px){.project-details-primary .photographer-start,.project-details-primary .photographer-start + dd{margin-top:24px}}

/* Align right-side first detail row with Location on desktop */
@media(min-width:761px){.project-details-secondary{padding-top:76px}}
@media(max-width:760px){.project-details-secondary{padding-top:0}}

/* Vagia | Patmos: continue the varied masonry rhythm for images 12-19 */
.gallery button:nth-child(12),
.gallery button:nth-child(13),
.gallery button:nth-child(14){
  grid-column:span 4;
  height:360px;
}
.gallery button:nth-child(15){
  grid-column:span 7;
  height:560px;
}
.gallery button:nth-child(16){
  grid-column:span 5;
  height:560px;
}
.gallery button:nth-child(17){
  grid-column:span 12;
  height:620px;
}
.gallery button:nth-child(18),
.gallery button:nth-child(19){
  grid-column:span 6;
  height:460px;
}
@media(max-width:800px){
  .gallery button:nth-child(n+12){
    display:block;
    width:100%;
    height:58vw;
    margin-bottom:8px;
  }
}

/* Updated mixed-size project galleries — repeated rhythm for all supplied images */
.gallery button.g7{grid-column:span 7!important;height:560px!important}
.gallery button.g5{grid-column:span 5!important;height:560px!important}
.gallery button.g6{grid-column:span 6!important;height:340px!important}
.gallery button.g12t{grid-column:span 12!important;height:620px!important}
.gallery button.g4{grid-column:span 4!important;height:360px!important}
.gallery button.g12{grid-column:span 12!important;height:600px!important}
.gallery button.g6t{grid-column:span 6!important;height:460px!important}
@media(max-width:800px){.gallery button.g7,.gallery button.g5,.gallery button.g6,.gallery button.g12t,.gallery button.g4,.gallery button.g12,.gallery button.g6t{display:block!important;width:100%!important;height:58vw!important;margin-bottom:8px!important}}
/* Exact top-row alignment between left and right project detail columns */
@media(min-width:761px){.project-details-secondary{padding-top:76px}.project-details-primary,.project-details-secondary{align-content:start}}

/* 2026 premium portfolio upgrade */
body{overflow-x:hidden}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:#111;transition:right .3s ease}.nav a:hover:after,.nav a[aria-current="page"]:after{right:0}.menu-toggle{display:none;border:0;background:none;font:inherit;font-size:10px;letter-spacing:.12em;padding:0;cursor:pointer}
.project-card span{max-width:82%;line-height:1.35}.project-card img{will-change:transform}.section{padding-top:clamp(54px,6vw,92px);padding-bottom:clamp(70px,7vw,110px)}
.project-carousel-wrap{padding:12px 0 clamp(70px,8vw,120px)}.carousel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.carousel-controls{display:flex;gap:8px}.carousel-controls button{width:44px;height:44px;border:1px solid #cfcfcf;background:#fff;font-size:18px;cursor:pointer;transition:.25s ease}.carousel-controls button:hover{background:#111;color:#fff;border-color:#111}.project-carousel{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 4.2vw}.project-carousel::-webkit-scrollbar{display:none}.carousel-item{margin:0;flex:0 0 min(68vw,980px);height:min(64vh,720px);scroll-snap-align:center;overflow:hidden;background:#eee}.carousel-item:nth-child(even){flex-basis:min(48vw,720px)}.carousel-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.carousel-item:hover img{transform:scale(1.012)}
.site-footer{margin-top:20px;background:#0e0f0d;color:#f5f5f0}.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:clamp(30px,6vw,90px);padding-top:60px;padding-bottom:70px}.footer-brand img{width:min(230px,70%);filter:invert(1);mix-blend-mode:screen}.footer-brand p{max-width:270px;margin:28px 0 0;font-size:12px;line-height:1.7;color:#aaa}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-col h3{margin:0 0 16px;font-size:9px;font-weight:400;letter-spacing:.16em;color:#8e8f8b}.footer-col a{color:#eee;text-decoration:none;font-size:12px;line-height:1.65}.footer-col a:hover{opacity:.6}.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding-top:24px;padding-bottom:28px;color:#92938f}
.contact-page{min-height:70vh}.contact-hero{padding-top:clamp(80px,10vw,170px);padding-bottom:clamp(70px,9vw,140px)}.contact-hero h1{max-width:1180px;margin:28px 0 0;font-size:clamp(48px,7vw,112px);font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;letter-spacing:-.045em}.contact-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(440px,1.28fr);gap:clamp(50px,10vw,170px);padding-top:55px;padding-bottom:clamp(100px,12vw,180px);border-top:1px solid #d8d8d8}.contact-aside>p{max-width:380px;font-size:16px;line-height:1.7;margin:0 0 48px}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-direct a{color:#111;text-decoration:none;font-size:13px;line-height:1.7}.contact-form{display:flex;flex-direction:column;gap:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-form label{display:flex;flex-direction:column;gap:11px;font-size:9px;letter-spacing:.12em}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #aaa;border-radius:0;background:transparent;padding:10px 0 14px;font:16px Arial,sans-serif;outline:none;transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:140px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#111}.privacy-check{flex-direction:row!important;align-items:flex-start;gap:12px!important;line-height:1.5;letter-spacing:.02em!important;font-size:10px!important}.privacy-check input{width:14px;height:14px;margin:0}.form-submit{margin-top:10px;display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-top:1px solid #111;border-bottom:1px solid #111;background:#fff;padding:22px 0;font-size:11px;letter-spacing:.12em;cursor:pointer;transition:.25s}.form-submit:hover{padding-left:14px;padding-right:14px;background:#111;color:#fff}.form-note{font-size:10px;color:#777;line-height:1.5;margin:0}
@media(max-width:900px){.menu-toggle{display:block;order:-1}.nav>a{display:none}.nav.menu-open{position:fixed;z-index:50;inset:0;background:#fff;padding:110px 24px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}.nav.menu-open>a{display:block;font-size:22px}.nav.menu-open .menu-toggle{position:absolute;top:35px;right:24px}.nav.menu-open .lang{margin-top:14px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.contact-layout{grid-template-columns:1fr;gap:70px}.carousel-item{flex-basis:84vw;height:58vw}.carousel-item:nth-child(even){flex-basis:72vw}}
@media(max-width:600px){.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.site-footer .footer-bottom{flex-direction:column;gap:8px}.form-row{grid-template-columns:1fr;gap:30px}.contact-hero h1{font-size:46px}.project-carousel{padding:0 20px}.carousel-item,.carousel-item:nth-child(even){flex-basis:86vw;height:105vw}.carousel-controls button{width:40px;height:40px}}

/* Studio page refinement — August 2026 */
.studio-page .editorial-intro{display:block;padding-top:clamp(72px,8vw,125px);padding-bottom:clamp(72px,9vw,140px)}
.studio-page .editorial-intro>div:first-child{margin-bottom:clamp(28px,4vw,54px)}
.studio-page .editorial-intro>div:last-child{max-width:1180px}
.studio-page .editorial-intro h1{max-width:1120px}
.studio-page .editorial-copy{display:block;padding-top:clamp(60px,7vw,105px);padding-bottom:clamp(90px,11vw,165px)}
.studio-page .editorial-copy>div:first-child{display:flex;align-items:baseline;gap:24px;margin-bottom:clamp(42px,5vw,76px)}
.studio-page .editorial-copy h2{margin:0;font-size:clamp(28px,3vw,46px)}
.studio-page .editorial-copy .prose{max-width:980px;margin:0}
.studio-page .editorial-copy .prose p{max-width:900px}

/* Progressive scroll reveal */
.reveal-on-scroll{opacity:0;transform:translateY(34px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
.reveal-on-scroll.is-visible{opacity:1;transform:none}
.reveal-on-scroll[data-delay="1"]{transition-delay:.08s}
.reveal-on-scroll[data-delay="2"]{transition-delay:.16s}
.reveal-on-scroll[data-delay="3"]{transition-delay:.24s}
.reveal-on-scroll[data-delay="4"]{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal-on-scroll{opacity:1;transform:none;transition:none}}

/* Selected sectors — editorial cards */
.studio-page .selected-clients{display:block;padding-top:clamp(80px,10vw,150px);padding-bottom:clamp(90px,11vw,165px)}
.studio-page .selected-clients>.info-eyebrow{margin:0 0 clamp(42px,6vw,82px)}
.studio-page .sector-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#cfcfc8;border:1px solid #cfcfc8}
.studio-page .sector-list span{position:relative;min-height:clamp(190px,20vw,310px);padding:clamp(28px,3vw,46px);border:0;background:#f7f7f3;display:flex;align-items:flex-end;font-size:clamp(24px,3vw,48px);line-height:1.04;letter-spacing:-.025em;overflow:hidden;transition:background .4s ease,color .4s ease,padding .4s ease}
.studio-page .sector-list span:before{position:absolute;top:28px;left:clamp(28px,3vw,46px);font-size:10px;letter-spacing:.16em;color:#777;transition:color .4s ease}
.studio-page .sector-list span:nth-child(1):before{content:'01'}
.studio-page .sector-list span:nth-child(2):before{content:'02'}
.studio-page .sector-list span:nth-child(3):before{content:'03'}
.studio-page .sector-list span:nth-child(4):before{content:'04'}
.studio-page .sector-list span:after{content:'↗';position:absolute;top:24px;right:clamp(28px,3vw,46px);font-size:24px;font-weight:300;opacity:0;transform:translate(-8px,8px);transition:opacity .35s ease,transform .35s ease}
.studio-page .sector-list span:hover{background:#141512;color:#fff;padding-bottom:clamp(36px,4vw,58px)}
.studio-page .sector-list span:hover:before{color:#aaa}
.studio-page .sector-list span:hover:after{opacity:1;transform:none}

@media(max-width:800px){
  .studio-page .editorial-intro,.studio-page .editorial-copy{display:block}
  .studio-page .editorial-copy>div:first-child{margin-bottom:34px}
  .studio-page .sector-list{grid-template-columns:1fr}
  .studio-page .sector-list span{min-height:170px}
}

/* Home projects — aligned editorial mosaic */
@media(min-width:1001px){
  .project-grid-full{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:repeat(4,clamp(175px,15vw,235px));
    grid-auto-flow:row;
    gap:7px;
  }
  .project-grid-full .project-card:nth-child(n){grid-column:auto;grid-row:auto}
  .project-grid-full .project-card:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
  .project-grid-full .project-card:nth-child(2){grid-column:3;grid-row:1}
  .project-grid-full .project-card:nth-child(3){grid-column:4;grid-row:1}
  .project-grid-full .project-card:nth-child(4){grid-column:3 / span 2;grid-row:2}
  .project-grid-full .project-card:nth-child(5){grid-column:1;grid-row:3 / span 2}
  .project-grid-full .project-card:nth-child(6){grid-column:2;grid-row:3}
  .project-grid-full .project-card:nth-child(7){grid-column:2;grid-row:4}
  .project-grid-full .project-card:nth-child(8){grid-column:3 / span 2;grid-row:3 / span 2}
}

/* Home projects — ordered puzzle build on scroll */
#projects .project-card{
  opacity:0;
  transform:translate3d(0,82px,0) scale(.982);
  transform-origin:center bottom;
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .92s cubic-bezier(.22,1,.36,1),
    filter .6s ease;
  will-change:opacity,transform;
}
#projects .project-card.is-puzzle-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
@media (prefers-reduced-motion:reduce){
  #projects .project-card{opacity:1;transform:none;transition:none}
}

/* Studio — Selected sectors editorial accordion */
.studio-page .selected-sectors{padding-top:clamp(82px,10vw,150px);padding-bottom:clamp(90px,11vw,165px)}
.studio-page .selected-sectors>.info-eyebrow{margin-bottom:clamp(28px,4vw,58px)}
.studio-page .sectors-editorial{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(480px,1.12fr);gap:clamp(42px,7vw,110px);align-items:stretch}
.studio-page .sector-accordion{align-self:center;border-top:1px solid #cfcfcf}
.studio-page .sector-item{border-bottom:1px solid #cfcfcf}
.studio-page .sector-trigger{width:100%;display:grid;grid-template-columns:1fr 42px;gap:20px;align-items:center;border:0;background:transparent;color:#0a0a0a;padding:20px 0 18px;text-align:left;cursor:pointer;font:inherit}
.studio-page .sector-trigger>span:first-child{font-size:clamp(25px,2.7vw,44px);line-height:1.05;letter-spacing:-.035em;font-weight:400}
.studio-page .sector-plus{font-size:31px;font-weight:300;line-height:1;text-align:right;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.studio-page .sector-item.is-open .sector-plus{transform:rotate(45deg)}
.studio-page .sector-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1),opacity .35s ease}
.studio-page .sector-panel>p{overflow:hidden;margin:0;max-width:590px;font-size:14px;line-height:1.72;color:#555;padding-right:34px}
.studio-page .sector-item.is-open .sector-panel{grid-template-rows:1fr;opacity:1}
.studio-page .sector-item.is-open .sector-panel>p{padding-bottom:22px}
.studio-page .sector-visual{position:relative;min-height:clamp(470px,48vw,700px);margin:0;overflow:hidden;background:#ecebe8}
.studio-page .sector-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .6s ease,transform .9s cubic-bezier(.22,1,.36,1)}
.studio-page .sector-image.is-active{opacity:1;transform:scale(1)}
.studio-page .sector-visual-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:16px;padding-top:10px;border-top:1px solid rgba(255,255,255,.65);color:#fff;font-size:9px;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 7px rgba(0,0,0,.35)}
@media (hover:hover) and (pointer:fine){.studio-page .sector-trigger:hover .sector-plus{transform:rotate(90deg)}.studio-page .sector-item.is-open .sector-trigger:hover .sector-plus{transform:rotate(45deg)}}
@media(max-width:900px){.studio-page .sectors-editorial{grid-template-columns:1fr;gap:38px}.studio-page .sector-visual{min-height:72vw;order:-1}.studio-page .sector-trigger>span:first-child{font-size:clamp(26px,7vw,38px)}}
@media(max-width:560px){.studio-page .selected-sectors{padding-top:70px;padding-bottom:90px}.studio-page .sector-trigger{padding:17px 0 15px;grid-template-columns:1fr 34px}.studio-page .sector-panel>p{font-size:13px;padding-right:10px}.studio-page .sector-item.is-open .sector-panel>p{padding-bottom:19px}.studio-page .sector-visual{min-height:105vw}}

/* Studio — editorial About layout, Sep 2026 */
.studio-page .about-hero{position:relative;height:min(88vh,960px);min-height:650px;overflow:hidden;background:#111}
.studio-page .about-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(1.002)}
.studio-page .about-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 18%,rgba(0,0,0,.18) 58%,rgba(0,0,0,.6) 100%)}
.studio-page .about-hero-copy{position:absolute;z-index:2;left:5.2vw;right:5.2vw;bottom:8.5%;color:#fff;max-width:980px}
.studio-page .about-hero-kicker{margin:0 0 22px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.studio-page .about-hero-copy h1{margin:0;max-width:930px;font-size:clamp(43px,5.7vw,88px);line-height:.99;letter-spacing:-.05em;font-weight:400;text-wrap:balance}
.studio-page .about-hero-meta{position:absolute;z-index:2;left:5.2vw;right:5.2vw;bottom:3.2%;padding-top:10px;border-top:1px solid rgba(255,255,255,.65);display:flex;justify-content:space-between;color:#fff;font-size:8px;letter-spacing:.12em}
.studio-page .about-vision{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(500px,1.28fr);gap:clamp(65px,10vw,180px);padding-top:clamp(85px,10vw,155px);padding-bottom:clamp(100px,12vw,185px)}
.studio-page .about-vision-title{align-self:start;position:sticky;top:120px}
.studio-page .about-vision-title .info-eyebrow{margin:0 0 34px}
.studio-page .about-vision-title h2{margin:0;font-size:clamp(38px,4.6vw,72px);line-height:1;letter-spacing:-.045em;font-weight:400}
.studio-page .about-vision-copy{border-top:1px solid #bdbdb8}
.studio-page .about-copy-row{display:grid;grid-template-columns:minmax(130px,.38fr) minmax(280px,.62fr);gap:clamp(30px,5vw,80px);padding:28px 0 38px;border-bottom:1px solid #bdbdb8}
.studio-page .about-copy-row h3{margin:0;font-size:13px;line-height:1.35;font-weight:400;letter-spacing:-.01em}
.studio-page .about-copy-row p{margin:0;max-width:610px;font-size:clamp(14px,1.2vw,17px);line-height:1.72;color:#444}
.studio-page .about-vision + .selected-sectors{border-top:1px solid #d5d5d0}
@media(max-width:900px){
  .studio-page .about-hero{height:72vh;min-height:540px}
  .studio-page .about-hero-copy{left:24px;right:24px;bottom:10%}
  .studio-page .about-hero-meta{left:24px;right:24px;bottom:3.5%}
  .studio-page .about-vision{grid-template-columns:1fr;gap:48px;padding-top:75px;padding-bottom:100px}
  .studio-page .about-vision-title{position:static}
  .studio-page .about-copy-row{grid-template-columns:1fr;gap:16px;padding:24px 0 30px}
}
@media(max-width:560px){
  .studio-page .about-hero{height:68vh;min-height:500px}
  .studio-page .about-hero-copy h1{font-size:clamp(38px,11vw,56px)}
  .studio-page .about-hero-kicker{margin-bottom:16px}
  .studio-page .about-hero-meta{font-size:7px}
  .studio-page .about-vision{padding-top:64px;padding-bottom:82px}
  .studio-page .about-vision-title h2{font-size:46px}
}

/* Services — scroll-driven editorial experience */
.services-page{background:#f5f5f2;color:#111}
.services-cinematic-hero{position:relative;height:min(82vh,900px);min-height:620px;overflow:hidden;background:#111}
.services-cinematic-hero>img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.82);transform:scale(1.015)}
.services-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.07),rgba(0,0,0,.08) 42%,rgba(0,0,0,.58))}
.services-hero-copy{position:absolute;inset:auto 0 0;color:#fff;padding-bottom:38px}
.services-kicker{margin:0 0 22px;font-size:9px;letter-spacing:.17em}
.services-hero-copy h1{margin:0;max-width:1040px;font-size:clamp(42px,5.7vw,86px);line-height:.98;letter-spacing:-.05em;font-weight:400;text-wrap:balance}
.services-hero-foot{margin-top:42px;padding-top:12px;border-top:1px solid rgba(255,255,255,.55);display:flex;justify-content:space-between;font-size:8px;letter-spacing:.13em}
.services-manifesto{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(520px,1.55fr);gap:clamp(60px,9vw,160px);padding-top:clamp(85px,10vw,150px);padding-bottom:clamp(95px,12vw,180px)}
.services-manifesto-label{font-size:9px;letter-spacing:.15em;padding-top:9px}
.services-manifesto-copy h2{margin:0 0 40px;max-width:980px;font-weight:400;font-size:clamp(32px,4vw,60px);line-height:1.06;letter-spacing:-.042em}
.services-manifesto-copy p{margin:0 0 0 auto;max-width:570px;font-size:15px;line-height:1.75;color:#4a4a47}
.services-scroll{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);border-top:1px solid #cfcfca;background:#f5f5f2}
.services-visual-column{min-width:0;padding:22px 0 22px 22px}
.services-visual-sticky{position:sticky;top:86px;height:calc(100vh - 108px);min-height:620px;display:flex;gap:14px;align-items:stretch}
.services-visual-frame{position:relative;flex:1;overflow:hidden;background:#d7d7d1;clip-path:inset(6% 5% 6% 5% round 0);transition:clip-path .8s cubic-bezier(.2,.72,.2,1)}
.services-visual-frame.is-engaged{clip-path:inset(0 0 0 0 round 0)}
.service-visual{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease;overflow:hidden}
.service-visual.is-active{opacity:1;visibility:visible}
.service-visual img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.09);transition:transform 1.25s cubic-bezier(.2,.72,.2,1)}
.service-visual.is-active img{transform:scale(1)}
.service-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.4))}
.service-visual figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff;border-top:1px solid rgba(255,255,255,.62);padding-top:10px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em}
.services-progress{width:2px;background:#d1d1cc;position:relative;overflow:hidden}
.services-progress span{position:absolute;left:0;top:0;width:100%;height:0;background:#111;transition:height .15s linear}
.services-steps{border-left:1px solid #cfcfca}
.service-step{min-height:88vh;padding:clamp(80px,12vh,150px) clamp(38px,5vw,84px);display:flex;flex-direction:column;justify-content:center;opacity:.22;transform:translateY(38px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.72,.2,1);border-bottom:1px solid #cfcfca}
.service-step.is-active{opacity:1;transform:none}
.service-step-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #bfbfba;font-size:9px;letter-spacing:.13em}
.service-step h2{margin:42px 0 30px;font-weight:400;font-size:clamp(52px,6vw,92px);line-height:.92;letter-spacing:-.055em}
.service-step>p{margin:0;max-width:600px;font-size:clamp(15px,1.22vw,18px);line-height:1.72;color:#3f3f3c}
.service-detail-list{margin-top:50px;border-top:1px solid #bfbfba;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:14px;font-size:10px;line-height:1.45;letter-spacing:.03em}
.services-closing{padding:clamp(100px,11vw,170px) 22px clamp(105px,12vw,180px);background:#111;color:#fff}
.services-closing-grid{display:grid;grid-template-columns:1.45fr .7fr .7fr;grid-template-rows:520px;gap:8px;max-width:1700px;margin:0 auto}
.services-closing-grid figure{margin:0;overflow:hidden}
.services-closing-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.services-closing-grid figure:hover img{transform:scale(1.02)}
.services-closing-copy{display:grid;grid-template-columns:.48fr 1.52fr;gap:70px;padding-top:60px}
.services-closing-copy p{margin:8px 0 0;font-size:9px;letter-spacing:.15em}
.services-closing-copy h2{margin:0;font-size:clamp(36px,4.5vw,70px);line-height:1.02;letter-spacing:-.045em;font-weight:400;max-width:1000px}
@media(max-width:980px){
  .services-cinematic-hero{height:70vh;min-height:560px}
  .services-manifesto{grid-template-columns:1fr;gap:36px}
  .services-scroll{grid-template-columns:1fr}
  .services-visual-column{padding:18px;border-bottom:1px solid #cfcfca}
  .services-visual-sticky{position:relative;top:auto;height:68vw;min-height:390px;max-height:670px}
  .services-visual-frame{clip-path:inset(0)}
  .services-steps{border-left:0}
  .service-step{min-height:auto;padding:72px 24px;opacity:1;transform:none}
  .service-detail-list{grid-template-columns:1fr 1fr}
  .services-closing-grid{grid-template-columns:1.5fr 1fr;grid-template-rows:420px 260px}
  .services-closing-main{grid-row:1/3}
  .services-closing-copy{grid-template-columns:1fr;gap:28px}
}
@media(max-width:620px){
  .services-cinematic-hero{height:66vh;min-height:500px}
  .services-hero-copy{padding-bottom:24px}
  .services-hero-copy h1{font-size:clamp(38px,11.5vw,58px)}
  .services-hero-foot{margin-top:28px}
  .services-manifesto{padding-top:68px;padding-bottom:85px}
  .services-manifesto-copy h2{font-size:38px}
  .services-visual-column{padding:10px}
  .services-visual-sticky{height:82vw;min-height:315px}
  .service-step{padding:62px 20px}
  .service-step h2{font-size:58px;margin:34px 0 24px}
  .service-detail-list{grid-template-columns:1fr;gap:11px;margin-top:38px}
  .services-closing{padding:80px 10px 95px}
  .services-closing-grid{grid-template-columns:1fr 1fr;grid-template-rows:390px 180px}
  .services-closing-main{grid-column:1/3;grid-row:auto}
  .services-closing-copy{padding:42px 10px 0}
}
@media(prefers-reduced-motion:reduce){.service-visual img,.service-step,.services-visual-frame{transition:none!important}}

/* Editorial contact page */
.contact-editorial-page{overflow:hidden}.contact-editorial-title{padding-top:clamp(42px,4.5vw,72px);padding-bottom:12px}.contact-editorial-title h1{margin:0;border-bottom:1px solid #111;padding-bottom:12px;font-size:clamp(48px,6.2vw,92px);font-weight:400;line-height:.88;letter-spacing:-.055em}.contact-map-wrap{padding-top:clamp(18px,2vw,30px)}.contact-map{height:clamp(220px,25vw,360px);max-width:1180px;overflow:hidden;background:#ddd}.contact-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(.9) brightness(1.08);transform:scale(1.01)}.contact-info-grid{display:grid;grid-template-columns:.65fr repeat(3,1fr);gap:clamp(18px,2.6vw,42px);padding-top:22px;padding-bottom:clamp(48px,5vw,78px);border-bottom:1px solid #bdbdbd}.contact-info-label{font-size:9px;letter-spacing:.12em}.contact-info-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-top:1px solid #aaa;padding-top:9px}.contact-info-kicker{font-size:8px;letter-spacing:.12em;color:#666;margin-bottom:5px}.contact-info-item a{color:#111;text-decoration:none;font-size:clamp(11px,.85vw,13px);line-height:1.45}.contact-form-editorial{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(34px,5vw,82px);padding-top:clamp(54px,5.5vw,84px);padding-bottom:clamp(70px,7vw,110px)}.contact-form-heading{border-right:1px solid #bdbdbd;padding-right:clamp(18px,2.5vw,36px);display:flex;align-items:flex-start}.contact-form-heading h2{margin:0;font-size:clamp(30px,3.1vw,50px);font-weight:400;line-height:.96;letter-spacing:-.045em;max-width:560px}.contact-form-heading h2 span{display:block}.contact-form-lines{gap:0;width:100%}.contact-form-lines>label:not(.privacy-check){gap:0;border-bottom:1px solid #aaa;padding:0 0 3px;margin-bottom:18px}.contact-form-lines>label>span{font-size:8px;letter-spacing:.08em}.contact-form-lines input,.contact-form-lines textarea{border:0!important;padding:7px 0 5px!important;min-height:34px;font-size:14px}.contact-form-lines textarea{min-height:92px}.contact-form-lines .privacy-check{margin-top:2px;margin-bottom:14px;font-size:10px}.editorial-submit{margin-top:0;border-top:1px solid #111!important;border-bottom:0!important;padding:13px 0!important}.editorial-submit:hover{padding-left:9px!important;padding-right:9px!important}.contact-form-editorial .form-note{margin-top:8px;font-size:10px}.contact-form-editorial .form-submit{font-size:11px}
@media(max-width:900px){.contact-info-grid{grid-template-columns:1fr 1fr}.contact-info-label{grid-column:1/-1}.contact-form-editorial{grid-template-columns:1fr;gap:34px}.contact-form-heading{border-right:0;border-bottom:1px solid #bdbdbd;padding-right:0;padding-bottom:28px}.contact-map{height:36vw;min-height:240px}.contact-form-heading h2{max-width:720px}}
@media(max-width:600px){.contact-editorial-title h1{font-size:15vw}.contact-map-wrap{padding-left:18px;padding-right:18px}.contact-map{height:56vw;min-height:210px}.contact-info-grid{grid-template-columns:1fr;gap:18px}.contact-info-label{grid-column:auto}.contact-form-heading h2{font-size:10vw}.contact-form-editorial{padding-top:48px;gap:28px}.contact-form-lines>label:not(.privacy-check){margin-bottom:16px}}


/* FINAL HOME: aligned ordered puzzle */
@media(min-width:1001px){
#projects .project-grid-full{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:repeat(4,clamp(175px,15vw,235px))!important;grid-auto-flow:row!important;gap:7px!important;padding:0!important}
#projects .project-grid-full .project-card:nth-child(n){position:relative!important;inset:auto!important;width:auto!important;height:auto!important;grid-column:auto;grid-row:auto;transform:none}
#projects .project-grid-full .project-card:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
#projects .project-grid-full .project-card:nth-child(2){grid-column:3;grid-row:1}
#projects .project-grid-full .project-card:nth-child(3){grid-column:4;grid-row:1}
#projects .project-grid-full .project-card:nth-child(4){grid-column:3 / span 2;grid-row:2}
#projects .project-grid-full .project-card:nth-child(5){grid-column:1;grid-row:3 / span 2}
#projects .project-grid-full .project-card:nth-child(6){grid-column:2;grid-row:3}
#projects .project-grid-full .project-card:nth-child(7){grid-column:2;grid-row:4}
#projects .project-grid-full .project-card:nth-child(8){grid-column:3 / span 2;grid-row:3 / span 2}
}
#projects .project-card{opacity:0!important;transform:translate3d(0,82px,0) scale(.982)!important;transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .92s cubic-bezier(.22,1,.36,1)!important}
#projects .project-card.is-puzzle-visible{opacity:1!important;transform:translate3d(0,0,0) scale(1)!important}
@media(prefers-reduced-motion:reduce){#projects .project-card{opacity:1!important;transform:none!important;transition:none!important}}

/* PROJECT DETAIL — editorial case study */
.project-entry{position:fixed;inset:0;z-index:9999;pointer-events:none;display:grid;grid-template-columns:1fr 1fr;color:#fff}
.project-entry-panel{background:#171715;transition:transform 1.25s cubic-bezier(.76,0,.24,1)}
.project-entry-panel:first-child{transform-origin:left}.project-entry-panel:last-child{transform-origin:right}
.project-entry-copy{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;transition:opacity .55s ease .15s}
.project-entry-copy h2{font-size:clamp(34px,5.4vw,88px);font-weight:400;line-height:.95;letter-spacing:-.045em;max-width:900px;margin:0;padding:30px}
body.project-loaded .project-entry-panel:first-child{transform:translateX(-101%)}body.project-loaded .project-entry-panel:last-child{transform:translateX(101%)}body.project-loaded .project-entry-copy{opacity:0}
.project-hero{height:min(76vh,850px);overflow:hidden}.project-hero img{width:100%;height:100%;object-fit:cover}
.project-information{padding-top:clamp(65px,8vw,120px)!important;padding-bottom:clamp(70px,8vw,120px)!important}
.project-info-top{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;gap:clamp(50px,9vw,150px)!important;align-items:start}
.project-info-heading h1{font-size:clamp(44px,6.2vw,96px)!important;line-height:.92!important;letter-spacing:-.05em!important;max-width:900px}
.project-summary{font-size:clamp(18px,1.55vw,26px)!important;line-height:1.35!important}
.project-editorial{padding-bottom:clamp(100px,12vw,180px)}
.project-editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,2vw,34px);align-items:start}
.pe-image{margin:0;overflow:hidden;background:#eee}.pe-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}.pe-image:hover img{transform:scale(1.025)}
.pe-a{grid-column:1 / span 7;aspect-ratio:1.45}.pe-b{grid-column:9 / span 4;aspect-ratio:.78;margin-top:12vw}.pe-c{grid-column:2 / span 4;aspect-ratio:.8;margin-top:5vw}.pe-d{grid-column:7 / span 6;aspect-ratio:1.35;margin-top:13vw}.pe-e{grid-column:1 / span 8;aspect-ratio:1.55;margin-top:12vw}.pe-f{grid-column:9 / span 4;aspect-ratio:.72;margin-top:4vw}.pe-g{grid-column:3 / span 7;aspect-ratio:1.3;margin-top:12vw}
.pe-copy{grid-column:8 / span 4;margin-top:clamp(55px,8vw,120px);padding-top:18px;border-top:1px solid #aaa}.pe-copy .k{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px}.pe-copy p{font-size:clamp(18px,1.5vw,25px);line-height:1.4;margin:0}.pe-quote{grid-column:1 / span 6;margin-top:clamp(70px,10vw,150px);font-size:clamp(30px,4vw,64px);line-height:1.02;letter-spacing:-.04em}
.pe-reveal{opacity:0;transform:translateY(45px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1)}.pe-reveal.pe-visible{opacity:1;transform:none}
@media(max-width:800px){.project-info-top{grid-template-columns:1fr!important}.project-editorial-grid{grid-template-columns:1fr}.pe-image,.pe-copy,.pe-quote{grid-column:1!important;margin-top:35px!important}.pe-image{aspect-ratio:4/5!important}.pe-a,.pe-d,.pe-e,.pe-g{aspect-ratio:4/3!important}.project-entry-copy h2{font-size:11vw}}


/* PROJECT DETAIL V2 — clean editorial case-study */
body:has(.project-entry){overflow-x:hidden;background:#fff}
.project-entry{background:transparent}
body.project-loaded .project-entry{visibility:hidden;transition:visibility 0s linear 1.35s}
.project-entry-panel{background:#171715}
.project-hero{width:100%;height:min(70vh,760px);min-height:520px;background:#eee}
.project-hero img{display:block;width:100%;height:100%;object-fit:cover}
.project-information{max-width:none!important;padding:0 4.2vw!important;margin:0!important}
.project-info-top{border-top:1px solid #bdbdbd;border-bottom:1px solid #bdbdbd;padding:clamp(34px,4vw,62px) 0!important;display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;gap:clamp(45px,8vw,140px)!important}
.project-info-heading .back{display:inline-block;margin-bottom:clamp(42px,6vw,90px)}
.project-info-heading .section-kicker,.project-about .section-kicker{font-size:9px;letter-spacing:.16em;margin:0 0 14px}
.project-info-heading h1{font-size:clamp(52px,7.4vw,118px)!important;line-height:.84!important;letter-spacing:-.065em!important;margin:0!important;max-width:1050px!important;font-weight:400}
.project-about{align-self:end;padding-bottom:4px}
.project-summary{font-size:clamp(15px,1.2vw,20px)!important;line-height:1.45!important;max-width:500px;margin:0!important}
.project-details{display:grid!important;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;gap:clamp(35px,8vw,140px)!important;padding:clamp(38px,5vw,76px) 0 clamp(70px,8vw,120px)!important;border-bottom:1px solid #bdbdbd}
.project-details-heading h2{font-size:clamp(22px,2.2vw,36px)!important;line-height:1!important;font-weight:400;margin:0 0 35px!important;letter-spacing:-.03em}
.project-details-heading{display:block!important}
.project-details-list{margin:0!important;display:grid!important;grid-template-columns:minmax(115px,.7fr) minmax(140px,1.3fr)!important;column-gap:25px!important;row-gap:0!important;font-size:10px!important;line-height:1.3!important}
.project-details-list dt,.project-details-list dd{padding:11px 0!important;margin:0!important;border-top:1px solid #c9c9c9!important}
.project-details-list dt{color:#666;text-transform:uppercase;letter-spacing:.08em}
.project-details-list dd{text-transform:uppercase;letter-spacing:.04em}
.project-details-secondary{align-self:start;margin-top:0!important}
.project-editorial{max-width:none!important;padding:clamp(70px,9vw,140px) 4.2vw clamp(100px,12vw,180px)!important}
.project-editorial-grid{max-width:1450px;margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,1.6vw,26px);align-items:start}
.pe-image{background:#eee}.pe-image img{width:100%;height:100%;object-fit:cover}
.pe-a{grid-column:1/span 8;aspect-ratio:1.42}.pe-b{grid-column:9/span 4;aspect-ratio:.76;margin-top:clamp(70px,9vw,135px)}
.pe-copy{grid-column:7/span 5;margin-top:clamp(50px,7vw,105px);border-top:1px solid #aaa;padding-top:15px}.pe-copy p{font-size:clamp(16px,1.3vw,21px);line-height:1.45}
.pe-c{grid-column:1/span 5;aspect-ratio:.84;margin-top:clamp(70px,8vw,125px)}.pe-d{grid-column:6/span 7;aspect-ratio:1.42;margin-top:clamp(145px,16vw,250px)}
.pe-quote{grid-column:1/span 8;margin-top:clamp(90px,12vw,180px);font-size:clamp(38px,5.2vw,82px);line-height:.95;letter-spacing:-.055em}
.pe-e{grid-column:1/span 8;aspect-ratio:1.5;margin-top:clamp(90px,11vw,170px)}.pe-f{grid-column:9/span 4;aspect-ratio:.74;margin-top:clamp(160px,18vw,280px)}.pe-g{grid-column:3/span 8;aspect-ratio:1.38;margin-top:clamp(100px,12vw,190px)}
@media(max-width:800px){.project-hero{height:58vh;min-height:390px}.project-information{padding:0 20px!important}.project-info-top{grid-template-columns:1fr!important;gap:35px!important}.project-info-heading .back{margin-bottom:38px}.project-info-heading h1{font-size:12.5vw!important}.project-details{grid-template-columns:1fr!important;gap:35px!important}.project-details-list{grid-template-columns:115px 1fr!important}.project-editorial{padding-left:20px!important;padding-right:20px!important}.project-editorial-grid{grid-template-columns:1fr!important}.pe-image,.pe-copy,.pe-quote{grid-column:1!important;margin-top:42px!important}.pe-image{aspect-ratio:4/5!important}.pe-a,.pe-d,.pe-e,.pe-g{aspect-ratio:4/3!important}.pe-quote{font-size:11vw!important}}


/* HOME V2 — editorial navigation hub */
.home-v2{background:#f4f1ea;color:#111}.home-v2 a{color:inherit}.home-hero-v2{position:relative;height:min(86vh,900px);min-height:650px;color:#fff;overflow:hidden}.home-hero-v2>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.015)}.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.08) 38%,rgba(0,0,0,.42))}.home-hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(40px,5vw,74px)!important}.home-kicker{position:absolute;top:36px;left:0;font-size:10px;letter-spacing:.14em}.home-hero-content h1{max-width:1050px;margin:0 0 28px;font-size:clamp(58px,7.5vw,124px);line-height:.85;letter-spacing:-.065em;font-weight:400}.home-hero-bottom{border-top:1px solid rgba(255,255,255,.55);padding-top:18px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}.home-hero-bottom p{max-width:390px;margin:0;font-size:15px;line-height:1.45}.pill-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 22px;border:1px solid rgba(20,20,20,.35);border-radius:999px;font-size:10px;letter-spacing:.06em}.pill-link.light{background:#fff;color:#111;border-color:#fff}.home-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.09em;display:inline-flex;align-items:center;gap:8px}.home-section-label .dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.home-section-label.light{color:#fff}.home-intro-v2{padding-top:clamp(90px,12vw,180px)!important;padding-bottom:clamp(100px,13vw,190px)!important}.home-intro-v2 h2{max-width:880px;margin:34px 0 58px;font-size:clamp(42px,5.3vw,82px);line-height:.98;letter-spacing:-.055em;font-weight:400}.text-link{font-size:10px;text-decoration:underline;text-underline-offset:4px}.home-services-preview{border-top:1px solid #c9c6bf;padding:80px 0 0}.home-split-head{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start;margin-bottom:80px!important}.home-split-head h2{margin:0;max-width:720px;font-size:clamp(34px,4vw,64px);line-height:1;letter-spacing:-.045em;font-weight:400}.service-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px!important}.service-teaser-card{position:relative;min-height:470px;border-top:1px solid #aca9a1;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#ebe7de}.service-teaser-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.service-teaser-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.38))}.service-teaser-meta{position:relative;z-index:2;margin-top:auto;padding:20px;color:#fff;display:flex;justify-content:space-between;align-items:end}.service-teaser-meta span{font-size:9px}.service-teaser-meta h3{font-size:clamp(24px,2.4vw,40px);font-weight:400;letter-spacing:-.04em;margin:0}.service-teaser-card-cta{padding:26px;background:#d9d3c7}.service-teaser-card-cta:after{display:none}.service-teaser-card-cta .service-teaser-meta{color:#111;padding:0}.service-teaser-card-cta .pill-link{position:relative;z-index:2;margin-top:auto}.service-outline-art{position:absolute;inset:40px 28px 110px;display:flex;flex-direction:column;justify-content:center;gap:20px}.service-outline-art span{height:42px;border:1px solid #8e897f;transform:skewX(-17deg)}.mega-link-row{padding-top:75px!important;padding-bottom:85px!important}.mega-link-row>a{display:grid;grid-template-columns:auto auto 1fr;align-items:start;gap:10px;border-top:1px solid #b9b5ad;padding-top:18px}.mega-link-row a>span{font-size:clamp(74px,10vw,170px);line-height:.82;letter-spacing:-.075em}.mega-link-row small{font-size:10px}.mega-link-row b{justify-self:end;font-size:54px;font-weight:300;line-height:1}.home-about-visual{position:relative;height:min(78vh,800px);min-height:620px;color:#fff}.home-about-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85)}.home-about-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.42))}.home-about-visual-copy{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding-top:50px!important;padding-bottom:45px!important}.home-about-visual-copy h2{max-width:760px;margin:0;font-size:clamp(42px,5.4vw,84px);line-height:.95;letter-spacing:-.055em;font-weight:400}.home-about-visual-copy>div{display:flex;justify-content:space-between;align-items:center}.home-projects-preview{padding-top:clamp(100px,12vw,180px)!important}.home-projects-title{display:flex;justify-content:space-between;align-items:end;padding-bottom:36px;border-bottom:1px solid #bdb9b1}.home-projects-title h2{font-size:clamp(44px,5vw,78px);line-height:.95;letter-spacing:-.055em;font-weight:400;margin:0}.home-case-row{display:grid;grid-template-columns:1fr 3fr;gap:60px;padding:28px 0 65px;border-bottom:1px solid #c9c5bd}.home-case-label{font-size:9px;display:flex;align-items:flex-start;gap:8px}.home-case-label .dot{width:7px;height:7px;border-radius:50%;background:#111;margin-top:2px}.home-case-label .dot.hollow{background:transparent;border:1px solid #111}.home-case-main h3{max-width:650px;margin:0 0 16px;font-size:clamp(32px,3.5vw,56px);line-height:1;letter-spacing:-.045em;font-weight:400;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.home-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:38px}.home-tags span{border:1px solid #bbb6ad;border-radius:999px;padding:6px 12px;font-size:8px;letter-spacing:.05em}.home-case-main img{width:100%;aspect-ratio:1.85;object-fit:cover}.home-story-dark{background:#222120;color:#fff;padding:clamp(100px,12vw,180px) 0 32px}.home-story-dark h2{max-width:940px;margin:0 0 85px;font-size:clamp(48px,5.8vw,90px);line-height:.94;letter-spacing:-.06em;font-weight:400}.home-story-links{border-top:1px solid rgba(255,255,255,.25);padding-top:16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;font-size:10px}.home-story-links>a{text-align:right}.home-reveal{opacity:0;transform:translateY(38px);transition:opacity 1.05s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1)}.home-reveal.is-visible{opacity:1;transform:none}
@media(max-width:800px){.home-hero-v2{min-height:650px;height:82vh}.home-hero-content h1{font-size:15vw}.home-hero-bottom{grid-template-columns:1fr;align-items:start}.home-kicker{left:20px}.home-intro-v2 h2{font-size:10.5vw}.home-split-head{grid-template-columns:1fr;gap:24px}.service-teaser-grid{grid-template-columns:1fr}.service-teaser-card{min-height:420px}.mega-link-row a>span{font-size:19vw}.home-about-visual{min-height:620px}.home-about-visual-copy h2{font-size:11vw}.home-about-visual-copy>div{align-items:flex-start;gap:20px;flex-direction:column}.home-projects-title{align-items:flex-start;gap:25px;flex-direction:column}.home-case-row{grid-template-columns:1fr;gap:25px}.home-case-main img{aspect-ratio:4/3}.home-story-dark h2{font-size:11vw}.home-story-links{grid-template-columns:1fr;gap:20px}.home-story-links>a{text-align:left}}
@media(prefers-reduced-motion:reduce){.home-reveal{opacity:1!important;transform:none!important;transition:none!important}}


/* HOME HERO — reference-led v2 */
.home-page>header.shell{position:absolute;z-index:30;top:0;left:0;right:0;max-width:none;height:72px;padding:0 2.6vw;background:transparent;color:#fff;border:0}
.home-page>header .logo{display:none}
.home-page>header>a:first-child{position:relative;width:145px;height:34px;text-decoration:none;color:#fff}
.home-page>header>a:first-child:before{content:"OUTCOME";position:absolute;left:0;top:2px;font:500 16px/1 Arial,Helvetica,sans-serif;letter-spacing:-.035em;color:#fff}
.home-page>header>a:first-child:after{content:"landscape & gardening";position:absolute;left:0;top:20px;font:400 7px/1 Arial,Helvetica,sans-serif;letter-spacing:.02em;color:rgba(255,255,255,.88)}
.home-page>header .nav{margin-left:auto;gap:clamp(23px,3vw,47px);font-size:10px;letter-spacing:0}
.home-page>header .nav a,.home-page>header .lang button,.home-page>header .lang span{color:#fff;text-transform:none}
.home-page>header .nav a:after{background:#fff;bottom:-5px}
.home-page .home-v2{background:#f7f4ed}
.home-page .home-hero-v2{height:min(88vh,900px);min-height:690px}
.home-page .home-hero-v2>img{transform:none;filter:saturate(.78) brightness(.84)}
.home-page .home-hero-overlay{background:linear-gradient(180deg,rgba(22,18,14,.18) 0%,rgba(22,18,14,.06) 38%,rgba(22,18,14,.31) 100%)}
.home-page .home-hero-content{max-width:none;padding:0 2.6vw 0!important;justify-content:flex-end}
.home-page .home-hero-content h1{max-width:none;width:100%;margin:0;padding:0 0 clamp(25px,2.5vw,38px);font-family:Arial,Helvetica,sans-serif;font-size:clamp(58px,7.15vw,112px);font-weight:400;line-height:.94;letter-spacing:-.055em;text-transform:none}
.home-page .home-hero-bottom{width:100%;min-height:190px;border-top:1px solid rgba(255,255,255,.55);padding:18px 0 24px;display:grid;grid-template-columns:1fr 1.15fr auto;gap:clamp(30px,5vw,95px);align-items:start}
.home-page .hero-feature-index{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.01em;color:rgba(255,255,255,.9)}
.home-page .hero-feature-index .dot{width:7px;height:7px;border-radius:50%;background:#fff;display:block}
.home-page .hero-feature-copy{max-width:330px}
.home-page .hero-feature-copy p{margin:0 0 22px;font-size:clamp(16px,1.35vw,22px);line-height:1.25;letter-spacing:-.02em;color:#fff}
.home-page .hero-feature-copy .pill-link{min-width:120px;min-height:38px;padding:0 24px;font-size:9px;letter-spacing:0;text-decoration:none}
.home-page .hero-feature-arrows{display:flex;gap:8px;justify-self:end}
.home-page .hero-feature-arrows a{width:39px;height:39px;border-radius:50%;background:#fff;color:#111;text-decoration:none;display:grid;place-items:center;font-size:17px;transition:transform .25s ease}
.home-page .hero-feature-arrows a:hover{transform:scale(1.06)}
.home-page .home-intro-v2{padding-top:clamp(115px,12vw,185px)!important;padding-bottom:clamp(110px,13vw,190px)!important}
.home-page .home-intro-v2 h2{max-width:760px;margin-top:0;font-size:clamp(42px,4.65vw,74px);line-height:.99;letter-spacing:-.05em}
@media(max-width:900px){
 .home-page>header.shell{height:64px;padding:0 20px}.home-page>header>a:first-child{width:120px}.home-page>header .nav{gap:15px}.home-page>header .menu-toggle{color:#fff}
 .home-page .home-hero-v2{height:84vh;min-height:650px}.home-page .home-hero-content{padding-left:20px!important;padding-right:20px!important}.home-page .home-hero-content h1{font-size:13vw;padding-bottom:24px}
 .home-page .home-hero-bottom{grid-template-columns:1fr auto;min-height:210px;gap:28px}.home-page .hero-feature-copy{grid-column:1/2}.home-page .hero-feature-index{grid-column:1/2}.home-page .hero-feature-arrows{grid-column:2/3;grid-row:1/2}
}

/* HOME INTRO — compact v3 */
.home-page .home-intro-v2{
  padding-top:clamp(58px,6vw,92px)!important;
  padding-bottom:clamp(62px,6.5vw,100px)!important;
  min-height:0!important;
}
.home-page .home-intro-v2 h2{
  max-width:720px;
  margin:22px 0 38px;
  font-size:clamp(34px,3.75vw,60px);
  line-height:1.01;
  letter-spacing:-.048em;
}
@media(max-width:800px){
 .home-page .home-intro-v2{padding-top:54px!important;padding-bottom:62px!important}
 .home-page .home-intro-v2 h2{font-size:9vw;margin:20px 0 32px;max-width:92%}
}

/* HOME SERVICES V4 — softer editorial composition */
.home-services-soft{background:#f4f1ea;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);padding:clamp(58px,7vw,105px) 0 clamp(70px,8vw,120px)}
.home-services-soft-head h2{font-weight:400;font-size:clamp(38px,4.25vw,68px);line-height:.98;letter-spacing:-.05em;max-width:820px;margin:0 0 clamp(70px,9vw,145px)}
.home-services-soft-body{display:grid;grid-template-columns:.72fr 1fr 1fr 1fr;gap:clamp(12px,1.2vw,22px);align-items:end}
.home-services-soft .home-section-label{align-self:start;padding-top:8px;font-size:10px;letter-spacing:.04em}.home-services-soft .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#111;margin-right:7px}
.soft-service-card{position:relative;display:block;color:#111;text-decoration:none;min-width:0}.soft-service-card img{display:block;width:100%;height:clamp(300px,31vw,500px);object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.soft-service-card-tall{transform:translateY(26px)}.soft-service-card-tall img{height:clamp(340px,35vw,560px)}
.soft-service-card span{display:block;font-size:9px;margin-top:12px}.soft-service-card strong{display:block;font-size:clamp(15px,1.15vw,20px);font-weight:400;margin-top:4px;letter-spacing:-.02em}.soft-service-card:hover img{transform:scale(.985)}
.soft-service-abstract{background:#d8d4ca;height:clamp(300px,31vw,500px);padding:clamp(22px,2.5vw,42px);overflow:hidden}.soft-service-abstract svg{width:100%;height:72%;fill:none;stroke:#8f8a80;stroke-width:1.5}.soft-service-abstract span{position:absolute;left:clamp(22px,2.5vw,42px);bottom:76px}.soft-service-abstract strong{position:absolute;left:clamp(22px,2.5vw,42px);bottom:48px;font-size:clamp(15px,1.15vw,20px)}.soft-service-abstract em{position:absolute;left:clamp(22px,2.5vw,42px);right:clamp(22px,2.5vw,42px);bottom:17px;border-top:1px solid rgba(0,0,0,.35);padding-top:9px;font-size:9px;font-style:normal}
@media(max-width:800px){.home-services-soft-body{grid-template-columns:1fr 1fr}.home-services-soft .home-section-label{grid-column:1/-1;margin-bottom:25px}.soft-service-card-tall{transform:none}.soft-service-abstract{grid-column:1/-1;height:340px}.home-services-soft-head h2{margin-bottom:60px}}
/* V5 alignment tweak */
.home-services-soft-head h2{margin-bottom:clamp(34px,4vw,58px)}
.home-services-soft-body{align-items:start}
.soft-service-card-tall{transform:none}
.soft-service-card-tall img,.soft-service-card img{height:clamp(300px,31vw,500px)}
.soft-service-abstract{height:clamp(300px,31vw,500px)}

/* HOME SERVICES V6 — aligned overlay labels */
.home-services-soft-body .soft-service-card{
  position:relative;
}
.home-services-soft-body .soft-service-card > span,
.home-services-soft-body .soft-service-card > strong{
  position:absolute !important;
  z-index:3;
  bottom:22px !important;
  margin:0 !important;
  color:#fff;
  line-height:1;
}
.home-services-soft-body .soft-service-card > span{
  left:18px !important;
  font-size:10px;
}
.home-services-soft-body .soft-service-card > strong{
  left:48px !important;
  font-size:clamp(14px,1.05vw,18px);
  font-weight:400;
}
.home-services-soft-body .soft-service-card:not(.soft-service-abstract)::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:90px;
  pointer-events:none;
  background:linear-gradient(to top,rgba(0,0,0,.38),rgba(0,0,0,0));
}
.home-services-soft-body .soft-service-abstract > span,
.home-services-soft-body .soft-service-abstract > strong{
  color:#111;
}
.home-services-soft-body .soft-service-abstract > em{
  display:block;
  position:absolute;
  left:22px;
  right:22px;
  bottom:54px;
  border-top:1px solid rgba(0,0,0,.35);
  padding-top:10px;
  font-size:9px;
  font-style:normal;
}

/* HOME PROJECTS — ONLY THE SECTION AFTER SERVICES */
.home-projects-editorial{background:#f4f1ea;color:#111;border-top:1px solid rgba(0,0,0,.14)}
.projects-editorial-intro{padding:clamp(65px,7vw,110px) 0 clamp(65px,7vw,105px)}
.projects-editorial-intro h2{font-size:clamp(38px,4.15vw,66px);line-height:.98;letter-spacing:-.05em;font-weight:400;max-width:800px;margin:0}
.project-case-row{border-top:1px solid rgba(0,0,0,.18);padding:20px 0 clamp(62px,7vw,105px)}
.project-case-meta{display:grid;grid-template-columns:1fr 2.15fr .72fr;gap:30px;align-items:start}
.project-case-type{font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding-top:6px;display:flex;gap:8px;align-items:center}
.project-case-type .dot{width:7px;height:7px;border-radius:50%;background:#111;display:inline-block}
.project-case-type .dot.hollow{background:transparent;border:1px solid #111}
.project-case-title{display:inline-block;color:#111;font-size:clamp(23px,2.45vw,39px);line-height:1;letter-spacing:-.04em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.project-tags span{border:1px solid rgba(0,0,0,.2);border-radius:999px;padding:7px 12px 6px;font-size:8px}
.project-case-view{justify-self:end;color:#111;font-size:9px;text-decoration:underline;text-underline-offset:3px;padding-top:6px}
.project-case-images{display:grid;grid-template-columns:2.2fr 1fr;gap:13px;margin-top:clamp(38px,4.5vw,64px)}
.project-case-image{display:block;overflow:hidden;background:#ddd;position:relative}
.project-case-image-wide{aspect-ratio:1.65}.project-case-image-side{aspect-ratio:1}
.project-case-image img{width:100%;height:100%;object-fit:cover;display:block}
.project-case-abstract{background:#cfc8bc}
.project-case-abstract .abstract-line{position:absolute;left:12%;right:12%;height:15%;border:1px solid rgba(255,255,255,.72);transform:skewX(-10deg)}
.project-case-abstract .a1{top:13%}.project-case-abstract .a2{top:33%}.project-case-abstract .a3{top:53%}.project-case-abstract .a4{top:73%}
.project-case-abstract em{position:absolute;left:8%;right:8%;bottom:7%;background:#fff;border-radius:999px;text-align:center;padding:11px;font-size:9px;font-style:normal}
.projects-mega-link{padding:clamp(75px,8vw,125px) 0;border-top:1px solid rgba(0,0,0,.18)}
.projects-mega-link a{display:flex;justify-content:center;align-items:flex-start;gap:8px;color:#111;text-decoration:none}
.projects-mega-link a>span{font-size:clamp(82px,12vw,190px);line-height:.82;letter-spacing:-.07em;font-weight:400}
.projects-mega-link small{font-size:9px;margin-top:8px}.projects-mega-link b{font-size:clamp(38px,4vw,62px);font-weight:300;margin-left:16px;line-height:.8}
@media(max-width:800px){
  .project-case-meta{grid-template-columns:1fr;gap:13px}.project-case-view{justify-self:start}
  .project-case-images{grid-template-columns:1fr}.project-case-image-wide,.project-case-image-side{aspect-ratio:4/3}
  .projects-mega-link a>span{font-size:20vw}
}

/* HOME PROJECTS V8 — exact editorial structure */
.home-projects-editorial{background:#f4f1ea;color:#111;border-top:1px solid rgba(0,0,0,.14)}
.projects-editorial-intro{padding:clamp(70px,7vw,110px) 0 clamp(75px,8vw,120px)}
.projects-editorial-intro h2{font-size:clamp(38px,4.15vw,66px);line-height:.98;letter-spacing:-.05em;font-weight:400;max-width:820px;margin:0}

.project-case-row{border-top:1px solid rgba(0,0,0,.18);padding:20px 0 clamp(74px,8vw,125px)}
.project-case-meta{display:grid;grid-template-columns:1.05fr 2.15fr .7fr;gap:32px;align-items:start}
.project-case-type{font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding-top:7px;display:flex;gap:8px;align-items:center}
.project-case-type .dot{width:7px;height:7px;border-radius:50%;background:#111;display:inline-block}
.project-case-type .dot.hollow{background:transparent;border:1px solid #111}
.project-case-title{display:inline-block;color:#111;font-size:clamp(26px,2.55vw,42px);line-height:.98;letter-spacing:-.04em;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.project-case-desc{font-size:12px;line-height:1.45;max-width:520px;margin:13px 0 0}
.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.project-tags span{border:1px solid rgba(0,0,0,.2);border-radius:999px;padding:7px 13px 6px;font-size:8px;letter-spacing:.02em}
.project-case-view{justify-self:end;color:#111;font-size:9px;text-decoration:underline;text-underline-offset:3px;padding-top:7px}

.project-case-images-wrap{display:grid;grid-template-columns:1.05fr 2.85fr;gap:32px;margin-top:clamp(42px,5vw,72px)}
.project-case-spacer{min-height:1px}
.project-case-images{display:grid;grid-template-columns:2.05fr .95fr;gap:13px;align-items:stretch}
.project-case-image{display:block;overflow:hidden;background:#ddd;position:relative}
.project-case-image-wide,.project-case-image-side{aspect-ratio:auto;height:clamp(330px,34vw,530px)}
.project-case-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.project-case-image:hover img{transform:scale(1.018)}
.project-image-cta{position:absolute;left:8%;right:8%;bottom:7%;background:#fff;color:#111;border-radius:999px;text-align:center;padding:13px 12px;font-size:9px;letter-spacing:.03em}

.projects-mega-link{position:relative;border-top:1px solid rgba(0,0,0,.18);padding:clamp(95px,10vw,160px) 0 clamp(85px,9vw,140px);text-align:center}
.projects-count{position:absolute;top:clamp(75px,8vw,122px);left:calc(50% + clamp(140px,17vw,260px));font-size:9px}
.projects-title-link{display:inline-block;color:#111;text-decoration:none}
.projects-title-link span{font-size:clamp(95px,14vw,220px);line-height:.82;letter-spacing:-.075em;font-weight:400}
.projects-explore-link{display:block;width:max-content;min-width:260px;margin:34px auto 0;border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:13px 28px;color:#111;text-decoration:none;font-size:9px;letter-spacing:.03em}
.projects-plus{position:absolute;right:3%;top:50%;transform:translateY(-50%);font-size:clamp(48px,5vw,75px);font-weight:300;color:#111;text-decoration:none}

@media(max-width:800px){
  .project-case-meta{grid-template-columns:1fr;gap:14px}
  .project-case-view{justify-self:start}
  .project-case-images-wrap{grid-template-columns:1fr;margin-top:35px}
  .project-case-spacer{display:none}
  .project-case-images{grid-template-columns:1fr}
  .project-case-image-wide,.project-case-image-side{height:auto;aspect-ratio:4/3}
  .projects-title-link span{font-size:20vw}
  .projects-count{left:auto;right:20px;top:55px}
  .projects-plus{display:none}
}

/* HOME PROJECTS V9 — refined project mega-link */
.projects-mega-link{
  text-align:left !important;
  padding-left:clamp(180px,24vw,390px) !important;
  padding-right:4vw !important;
}
.projects-title-link{
  display:block !important;
  width:max-content;
}
.projects-title-link span{
  font-size:clamp(78px,10.5vw,165px) !important;
  line-height:.86 !important;
}
.projects-explore-link{
  display:block !important;
  width:max-content !important;
  min-width:0 !important;
  margin:24px 0 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 0 5px 0 !important;
  border-bottom:1px solid rgba(0,0,0,.45) !important;
  font-size:10px !important;
  letter-spacing:.025em !important;
}
.projects-plus{
  right:4% !important;
}
.projects-count{display:none!important}

@media(max-width:800px){
  .projects-mega-link{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .projects-title-link span{
    font-size:18vw !important;
  }
}

/* V10: move the whole ERGA block clearly to the right.
   Explore starts on EXACTLY the same x-coordinate as ERGA. */
.projects-mega-link{
  box-sizing:border-box !important;
  text-align:left !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.projects-mega-link .projects-title-link,
.projects-mega-link .projects-explore-link{
  margin-left:52% !important;
}

.projects-mega-link .projects-title-link{
  display:block !important;
  width:max-content !important;
}

.projects-mega-link .projects-title-link span{
  font-size:clamp(72px,9.2vw,145px) !important;
}

.projects-mega-link .projects-explore-link{
  display:block !important;
  width:max-content !important;
  margin-top:24px !important;
  margin-right:0 !important;
  margin-bottom:0 !important;
  padding:0 0 5px 0 !important;
}

.projects-mega-link .projects-plus{
  right:4% !important;
}

@media(max-width:800px){
  .projects-mega-link .projects-title-link,
  .projects-mega-link .projects-explore-link{
    margin-left:38% !important;
  }
}

/* V11 — exact alignment requested:
   E of ΕΡΓΑ and E of ΕΞΕΡΕΥΝΗΣΤΕ share the same left edge.
   Project photos sit closer to the text/details above. */
.projects-mega-link{
  padding-left:0 !important;
  padding-right:0 !important;
}
.projects-mega-link .projects-title-link,
.projects-mega-link .projects-explore-link{
  margin-left:52% !important;
  margin-right:0 !important;
  transform:none !important;
}
.projects-mega-link .projects-title-link{
  padding:0 !important;
}
.projects-mega-link .projects-explore-link{
  padding-left:0 !important;
}

/* reduce vertical gap between each project's info and its images */
.project-case-images-wrap{
  margin-top:clamp(20px,2.2vw,34px) !important;
}

@media(max-width:800px){
  .projects-mega-link .projects-title-link,
  .projects-mega-link .projects-explore-link{
    margin-left:38% !important;
  }
  .project-case-images-wrap{
    margin-top:22px !important;
  }
}

/* HOME TIMELINE V12 */
.home-timeline-preview{
  background:#232220;
  color:#f3f0e8;
  padding:clamp(80px,8vw,125px) 0 clamp(70px,8vw,120px);
}
.home-timeline-head h2{
  margin:0;
  max-width:900px;
  font-size:clamp(40px,4.6vw,74px);
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:400;
}
.home-timeline-divider{
  height:1px;
  background:rgba(255,255,255,.12);
  margin-top:clamp(70px,7vw,105px);
}
.home-timeline-meta{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:30px;
  padding-top:18px;
  align-items:start;
  font-size:9px;
}
.home-timeline-label{display:flex;align-items:center;gap:8px}
.home-timeline-label .dot{
  width:7px;height:7px;border-radius:50%;background:#f3f0e8;display:inline-block;
}
.home-timeline-copy{opacity:.72}
.home-timeline-top-link{
  justify-self:end;color:#f3f0e8;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:3px;
}
.home-timeline-circles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,30px);
  margin-top:clamp(34px,4vw,58px);
}
.timeline-circle{
  aspect-ratio:1;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f3f0e8;
  text-decoration:none;
  transition:background .45s ease,border-color .45s ease,transform .45s cubic-bezier(.2,.7,.2,1);
}
.timeline-circle:hover{
  border-color:rgba(255,255,255,.35);
  transform:translateY(-5px);
}
.timeline-circle-filled{
  background:#f3f0e8;
  color:#232220;
  border-color:#f3f0e8;
}
.timeline-year{
  font-size:clamp(38px,4vw,66px);
  letter-spacing:-.04em;
  font-weight:400;
}
.timeline-year-caption{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:14%;
  font-size:8px;
  letter-spacing:.08em;
}
.home-timeline-cta-wrap{
  margin-top:clamp(50px,5vw,75px);
}
.home-timeline-cta{
  display:inline-block;
  color:#f3f0e8;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.45);
  padding-bottom:5px;
  font-size:10px;
  letter-spacing:.03em;
}

@media(max-width:800px){
  .home-timeline-meta{grid-template-columns:1fr;gap:12px}
  .home-timeline-top-link{justify-self:start}
  .home-timeline-circles{grid-template-columns:1fr}
  .timeline-circle{max-width:420px;margin:0 auto;width:100%}
}

/* HOME TIMELINE V13 — photo circles + year badge at ~10 o'clock */
.timeline-circle-photo{
  overflow:hidden;
  background:#2b2a27;
  border-color:rgba(255,255,255,.18);
}
.timeline-circle-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.82) brightness(.9);
  transition:transform .9s cubic-bezier(.2,.7,.2,1), filter .6s ease;
}
.timeline-circle-photo::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(0,0,0,.05),rgba(0,0,0,.2));
  pointer-events:none;
}
.timeline-circle-photo:hover img{
  transform:scale(1.035);
  filter:saturate(.95) brightness(.98);
}
.timeline-year-badge{
  position:absolute;
  z-index:3;
  width:clamp(66px,6.5vw,102px);
  aspect-ratio:1;
  border-radius:50%;
  background:#f3f0e8;
  color:#232220;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:clamp(13px,1.15vw,18px);
  letter-spacing:-.02em;
  top:8%;
  left:8%;
  border:1px solid rgba(0,0,0,.08);
}
@media(max-width:800px){
  .timeline-year-badge{
    width:78px;
    top:7%;
    left:7%;
  }
}

/* V14 — palette + footer + typography polish */

/* The dark closing/about section shown in the screenshot: keep layout, change palette only */
.home-story,
.home-closing,
.home-about-closing,
.home-dark,
.home-approach,
section:has(.home-story),
section:has(.home-approach){
  background:#f4f1ea !important;
  color:#77736d !important;
}
.home-story *,
.home-closing *,
.home-about-closing *,
.home-dark *,
.home-approach *{
  color:#77736d !important;
  border-color:rgba(90,86,80,.28) !important;
}
.home-story .dot,
.home-closing .dot,
.home-about-closing .dot,
.home-dark .dot,
.home-approach .dot{
  background:#77736d !important;
}

/* Footer: medium gray rather than black */
.site-footer,
footer{
  background:#77736d !important;
  color:#f4f1ea !important;
}
.site-footer *,
footer *{
  color:#f4f1ea !important;
  border-color:rgba(255,255,255,.28) !important;
}

/* Fix odd address glyph rendering: use a stable neutral sans stack */
.contact-info,
.contact-info *,
.contact-details,
.contact-details *,
.footer-address,
.footer-address *,
address{
  font-family:Arial, Helvetica, "Helvetica Neue", sans-serif !important;
  font-variant-ligatures:none !important;
  font-feature-settings:"liga" 0, "kern" 1 !important;
  letter-spacing:0 !important;
}

/* Header logo consistency on Home */
.home-page header .logo,
.home-page .site-header .logo{
  width:auto !important;
  height:34px !important;
  max-height:34px !important;
  object-fit:contain !important;
}
.home-page header > a,
.home-page .site-header > a{
  display:flex !important;
  align-items:center !important;
}

/* If the intro uses text OUTCOME label, make it visually match logo scale better */
.home-page .home-intro .home-section-label,
.home-page .home-intro .section-kicker,
.home-page .home-intro [data-el="OUTCOME"]{
  font-size:13px !important;
  letter-spacing:.02em !important;
}

/* V14 FIX — exact closing section class */
.home-story-dark{
  background:#f4f1ea !important;
  color:#77736d !important;
}
.home-story-dark h2,
.home-story-dark a,
.home-story-dark span{
  color:#77736d !important;
}
.home-story-dark .home-story-links{
  border-color:rgba(90,86,80,.28) !important;
}
.home-story-dark .dot{
  background:#77736d !important;
}

/* Slightly larger actual logo in top header */
.home-page > header .logo{
  height:40px !important;
  width:auto !important;
  max-height:40px !important;
}


/* =========================================================
   V15 — exact visual corrections from 13:01 screenshots
   ========================================================= */

/* 1. PROJECTS / ΕΡΓΑ CTA:
   title and link MUST start on the exact same vertical axis */
.home-projects-end .shell,
.home-projects-cta .shell,
.projects-end .shell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home-projects-end .projects-end-inner,
.home-projects-cta .projects-end-inner,
.projects-end .projects-end-inner {
  width: 100% !important;
  margin: 0 !important;
}

.home-projects-end h2,
.home-projects-cta h2,
.projects-end h2 {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.home-projects-end a,
.home-projects-cta a,
.projects-end a {
  margin-left: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
}

/* More specific current classes if title/link are siblings */
.home-projects-end .home-projects-title,
.home-projects-end .home-projects-link,
.home-projects-end .projects-title,
.home-projects-end .projects-link {
  margin-left: 0 !important;
  left: auto !important;
}

/* 2. HOME HERO: remove the hazy/washed overlay.
   Keep the actual photograph crisp and full contrast. */
.home-hero-v2 > img {
  filter: none !important;
  opacity: 1 !important;
  image-rendering: auto !important;
}
.home-hero-v2 .home-hero-overlay {
  background: rgba(0,0,0,.08) !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* 3. Actual OUTCOME logo at top-left, clean and clearly visible */
.home-page > header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
}
.home-page > header > a:first-child {
  position: relative !important;
  z-index: 101 !important;
  display: block !important;
}
.home-page > header .logo {
  display: block !important;
  height: 54px !important;
  width: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
}

.home-projects-final .shell,
.home-projects-final .projects-final-inner {
  box-sizing:border-box !important;
}
.home-projects-final h2,
.home-projects-final .projects-final-title,
.home-projects-final a,
.home-projects-final .projects-final-link {
  margin-left:0 !important;
  padding-left:0 !important;
  left:0 !important;
  transform:none !important;
}


/* =========================================================
   V16 — logo transparency + sharper closing section
   ========================================================= */

/* The supplied logo is a JPG, therefore its white rectangle is baked into
   the image itself. Blend the white pixels away on the hero photograph. */
.home-page > header > a:first-child{
  background:transparent !important;
  overflow:visible !important;
}
.home-page > header .logo{
  background:transparent !important;
  mix-blend-mode:multiply !important;
  height:54px !important;
  width:auto !important;
}

/* Closing section: the "blur" was mainly the very light #777 text combined
   with the large thin custom glyphs. Use a darker neutral gray and force
   normal rasterization/no effects so the letters read crisp. */
.home-story-dark,
.home-story-dark *{
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  text-shadow:none !important;
}
.home-story-dark h2{
  color:#625f5a !important;
  opacity:1 !important;
  font-weight:400 !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.home-story-dark a,
.home-story-dark span{
  color:#625f5a !important;
  opacity:1 !important;
}
.home-story-dark .dot{
  background:#625f5a !important;
}

/* Keep the section itself fully opaque after reveal. */
.home-story-dark.home-reveal.is-visible{
  opacity:1 !important;
  filter:none !important;
}


/* =========================================================
   V17 — FINAL PALETTE LOCK
   Classic OUTCOME beige + neutral gray
   ========================================================= */

:root{
  --outcome-beige:#F3F0E9;
  --outcome-gray:#85817B;
  --outcome-gray-dark:#6F6B66;
}

/* Closing / philosophy section: BEIGE background, GRAY typography */
.home-story-dark{
  background:var(--outcome-beige) !important;
  color:var(--outcome-gray) !important;
}
.home-story-dark h2,
.home-story-dark h2 *,
.home-story-dark .home-story-bottom,
.home-story-dark .home-story-bottom *,
.home-story-dark a,
.home-story-dark span{
  color:var(--outcome-gray) !important;
  opacity:1 !important;
}
.home-story-dark .dot{
  background:var(--outcome-gray) !important;
}
.home-story-dark .home-story-bottom{
  border-color:rgba(133,129,123,.38) !important;
}

/* Footer: same neutral gray throughout, not brown/taupe */
.site-footer,
footer.site-footer{
  background:var(--outcome-gray) !important;
  color:#F7F5F0 !important;
}
.site-footer *,
footer.site-footer *{
  color:#F7F5F0 !important;
}
.site-footer a,
footer.site-footer a{
  color:#F7F5F0 !important;
}
.site-footer .footer-bottom,
footer.site-footer .footer-bottom{
  border-color:rgba(247,245,240,.28) !important;
}

/* Remove any inherited tint/filter from these two sections */
.home-story-dark,
.home-story-dark *,
.site-footer,
.site-footer *{
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  text-shadow:none !important;
}

/* V18 — closing section text as crisp as PROJECTS */
.home-story-dark{
  background:#F3F0E9 !important;
}
.home-story-dark h2{
  color:#111111 !important;
  opacity:1 !important;
  font-weight:400 !important;
  filter:none !important;
  text-shadow:none !important;
  -webkit-font-smoothing:auto !important;
  text-rendering:optimizeLegibility !important;
}
.home-story-dark .home-story-links,
.home-story-dark .home-story-links a,
.home-story-dark .home-story-links span{
  color:#111111 !important;
  opacity:1 !important;
}
.home-story-dark .dot{
  background:#111111 !important;
}
.home-story-dark .home-story-links{
  border-color:rgba(17,17,17,.28) !important;
}

/* V19 — crisp closing section + footer, transparent logo background */
.home-story-dark{
  background:#F3F0E9 !important;
  color:#111111 !important;
}
.home-story-dark h2,
.home-story-dark .home-story-links,
.home-story-dark .home-story-links a,
.home-story-dark .home-story-links span{
  color:#111111 !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
}
.home-story-dark .dot{ background:#111111 !important; }

/* Footer: clean neutral gray with crisp white typography */
.site-footer{
  background:#77736d !important;
  color:#ffffff !important;
}
.site-footer,
.site-footer p,
.site-footer a,
.site-footer li,
.site-footer span,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer strong,
.site-footer small{
  color:#ffffff !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
  -webkit-font-smoothing:auto !important;
}
.site-footer a:hover{ opacity:.72 !important; }

/* Logos must not have any white plate/background */
.site-logo,
.site-logo img,
.brand-logo,
.brand-logo img,
.footer-logo,
.footer-logo img,
.site-footer .logo,
.site-footer .logo img,
header .logo,
header .logo img{
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* V20 — actual transparent logo bitmap */
.home-page > header .logo,
.site-footer img[src*="logo-transparent"],
.footer-brand img{
  background:transparent !important;
  mix-blend-mode:normal !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Top logo: black artwork over hero */
.home-page > header .logo{
  filter:none !important;
  opacity:1 !important;
}

/* Footer logo: turn dark artwork white for contrast on gray */
.site-footer img[src*="logo-transparent"],
.footer-brand img{
  filter:brightness(0) invert(1) !important;
  opacity:1 !important;
}

/* Footer typography: stronger, cleaner contrast */
.site-footer{
  background:#77736d !important;
}
.site-footer,
.site-footer *{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none;
}
.site-footer .footer-brand img{
  filter:brightness(0) invert(1) !important;
}


/* =========================================================
   V21 — exact fixes requested
   ========================================================= */

/* 1) Remove any old white/text duplicate branding over hero.
      Keep only the real transparent logo image in top-left. */
.home-hero-v2 .home-hero-brand,
.home-hero-v2 .hero-brand,
.home-hero-v2 .hero-logo-text,
.home-hero-v2 .home-brand-text,
.home-hero-v2 .hero-outcome-text{
  display:none !important;
}

/* Make sure header itself has no text generated over the logo */
.home-page > header > a:first-child::before,
.home-page > header > a:first-child::after{
  content:none !important;
  display:none !important;
}

/* 2) Remove ALL white space / bar between closing section and footer */
.home-story-dark{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}
.home-story-dark + .site-footer,
.home-story-dark + footer{
  margin-top:0 !important;
}
.site-footer{
  margin-top:0 !important;
  border-top:0 !important;
}
main{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
body{
  margin-bottom:0 !important;
}

/* Kill any separator pseudo-element or white spacer around footer */
.home-story-dark::after,
.site-footer::before,
footer::before{
  content:none !important;
  display:none !important;
}

/* 3) Footer palette: very dark neutral gray / charcoal */
.site-footer,
footer.site-footer{
  background:#2B2B2A !important;
  color:#FFFFFF !important;
}

/* 4) Footer typography: strong, crisp, clearly white */
.site-footer,
.site-footer p,
.site-footer a,
.site-footer span,
.site-footer li,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer strong,
.site-footer small{
  color:#FFFFFF !important;
  opacity:1 !important;
  filter:none !important;
  text-shadow:none !important;
  -webkit-font-smoothing:antialiased !important;
  text-rendering:optimizeLegibility !important;
}

.site-footer p,
.site-footer a,
.site-footer li{
  font-weight:600 !important;
}

.site-footer h3,
.site-footer h4,
.site-footer .footer-bottom{
  font-weight:700 !important;
  letter-spacing:.04em !important;
}

.site-footer .footer-main{
  padding-top:clamp(52px,5vw,78px) !important;
  padding-bottom:clamp(52px,5vw,78px) !important;
}

/* Footer logo clean white, no plate/background */
.site-footer .footer-brand,
.site-footer .footer-brand a,
.site-footer .footer-brand img{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.site-footer .footer-brand img{
  filter:brightness(0) invert(1) !important;
  mix-blend-mode:normal !important;
}

/* Thin separator inside footer only */
.site-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.22) !important;
}

/* Header logo clean, no white plate */
.home-page > header,
.home-page > header > a:first-child,
.home-page > header .logo{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.home-page > header .logo{
  mix-blend-mode:normal !important;
  filter:none !important;
}


/* V22 — add a little beige breathing room under the story links */
.home-story-dark{
  padding-bottom: 34px !important;
  background: #F3F0E9 !important;
}

/* Keep footer attached directly after the beige breathing room */
.home-story-dark + .site-footer,
.home-story-dark + footer{
  margin-top: 0 !important;
}

/* V23 — Home hero works as an in-place project slider */
.hero-feature-arrows button{
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:#fff;
  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font:inherit;
}
.hero-feature-arrows button:hover{
  transform:scale(1.04);
}
.home-hero-v2 .hero-slide-image,
.home-hero-v2 .hero-slide-title,
.home-hero-v2 .hero-slide-copy{
  transition:opacity .36s ease, transform .36s ease;
}
.home-hero-v2.hero-is-changing .hero-slide-image{
  opacity:.45;
}
.home-hero-v2.hero-is-changing .hero-slide-title,
.home-hero-v2.hero-is-changing .hero-slide-copy{
  opacity:0;
  transform:translateY(8px);
}


/* =========================================================
   V24 — UNIFIED SITE SYSTEM
   Same visual language as Home across every internal page
   ========================================================= */

:root{
  --outcome-beige:#F3F0E9;
  --outcome-ink:#11110F;
  --outcome-line:rgba(17,17,15,.20);
}

/* Replace white page/canvas areas with the Home beige */
html,
body,
main,
.page,
.page-main,
.project-page,
.projects-page,
.services-page,
.studio-page,
.timeline-page,
.contact-page,
section:not(.home-hero-v2):not(.site-footer):not(.footer-main):not(.footer-bottom){
  background-color:var(--outcome-beige);
}

/* Common header geometry — same proportions as Home */
body > header.shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:22px 40px;
  min-height:92px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
  box-sizing:border-box;
  z-index:1000;
}

body:not(.home-page) > header.shell{
  position:relative;
  background:var(--outcome-beige);
  color:var(--outcome-ink);
  border-bottom:1px solid var(--outcome-line);
}

body > header.shell > a:first-child{
  display:block;
  flex:0 0 auto;
}

body > header.shell .logo{
  width:180px;
  height:auto;
  display:block;
  object-fit:contain;
}

body > header.shell .nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
  min-height:40px;
}

body > header.shell .nav > a,
body > header.shell .nav .lang,
body > header.shell .nav .lang button,
body > header.shell .menu-toggle{
  font-size:12px;
  line-height:1;
  letter-spacing:.01em;
  font-weight:500;
}

body:not(.home-page) > header.shell .nav a,
body:not(.home-page) > header.shell .nav button,
body:not(.home-page) > header.shell .nav span{
  color:var(--outcome-ink);
}

/* Internal content starts cleanly after the shared header */
body:not(.home-page) main{
  margin-top:0 !important;
}

/* Normalize obvious white cards/panels used by older internal layouts */
body:not(.home-page) .card,
body:not(.home-page) .panel,
body:not(.home-page) .project-card,
body:not(.home-page) .project-row,
body:not(.home-page) .content-panel,
body:not(.home-page) .contact-panel,
body:not(.home-page) .service-card{
  background-color:var(--outcome-beige) !important;
}

/* Inputs keep separation without introducing bright white blocks */
body:not(.home-page) input,
body:not(.home-page) textarea,
body:not(.home-page) select{
  background:transparent;
  color:var(--outcome-ink);
  border-color:var(--outcome-line);
}

/* Shared line color */
body:not(.home-page) hr{
  border-color:var(--outcome-line);
}

/* Mobile keeps the same identity */
@media (max-width: 900px){
  body > header.shell{
    padding:18px 20px;
    min-height:78px;
  }
  body > header.shell .logo{
    width:150px;
  }
  body > header.shell .nav{
    gap:16px;
  }
}


/* =========================================================
   V25 — INTERNAL PAGES: HEADER OVER FIRST VISUAL LIKE HOME
   ========================================================= */

/* Internal pages no longer reserve a beige header strip */
body:not(.home-page) > header.shell{
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  background:transparent !important;
  border-bottom:0 !important;
  z-index:1000;
}

/* First content/hero starts at the absolute top of the viewport */
body:not(.home-page) main{
  margin-top:0 !important;
  padding-top:0 !important;
}

body:not(.home-page) main > section:first-child,
body:not(.home-page) main > div:first-child,
body:not(.home-page) .hero:first-child,
body:not(.home-page) .project-hero:first-child,
body:not(.home-page) .page-hero:first-child{
  margin-top:0 !important;
}

/* When the first section is photographic/dark, header behaves visually like Home */
body:not(.home-page) > header.shell .nav{
  position:relative;
  z-index:2;
}

/* Remove any legacy top spacer below header */
body:not(.home-page) .header-spacer,
body:not(.home-page) .nav-spacer,
body:not(.home-page) .top-spacer{
  display:none !important;
  height:0 !important;
}


/* =========================================================
   V26 — EXACT HOME HEADER SYSTEM ON EVERY PAGE
   ========================================================= */

/* All headers share one geometry, one baseline, one color system */
body > header.shell{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:2000 !important;

  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:20px 40px !important;
  min-height:76px !important;

  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:32px !important;

  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* exact logo placement/scale */
body > header.shell > a:first-child{
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  line-height:0 !important;
  flex:0 0 auto !important;
}
body > header.shell .logo{
  display:block !important;
  width:180px !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  background:transparent !important;
  filter:none !important;
}

/* exact menu line/baseline */
body > header.shell .nav{
  margin:0 !important;
  padding:10px 0 0 0 !important;
  min-height:0 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:34px !important;

  line-height:1 !important;
}

/* Same visual treatment as Home: WHITE over hero/visual */
body > header.shell .nav > a,
body > header.shell .nav > a span,
body > header.shell .nav .lang,
body > header.shell .nav .lang span,
body > header.shell .nav .lang button,
body > header.shell .menu-toggle{
  color:#fff !important;
  font-family:Arial, Helvetica, "Helvetica Neue", sans-serif !important;
  font-size:11px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.015em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  text-shadow:0 1px 4px rgba(0,0,0,.18) !important;
  filter:none !important;
}

/* Prevent old internal-page rules from pushing nav lower */
body:not(.home-page) > header.shell .nav,
body:not(.home-page) > header.shell .nav > *,
body:not(.home-page) > header.shell .lang{
  transform:none !important;
  top:auto !important;
  bottom:auto !important;
}

/* Internal content begins at top exactly like Home */
body:not(.home-page) main{
  margin-top:0 !important;
  padding-top:0 !important;
}
body:not(.home-page) main > :first-child{
  margin-top:0 !important;
}

/* If a page's first visual has its own top padding, neutralize it */
body:not(.home-page) .page-hero,
body:not(.home-page) .project-hero,
body:not(.home-page) .studio-hero,
body:not(.home-page) .services-hero,
body:not(.home-page) .timeline-hero,
body:not(.home-page) .contact-hero{
  margin-top:0 !important;
}

/* If page has a beige/non-photo first area, still keep SAME exact header layout,
   but switch header ink to dark so it remains readable. */
body:not(.home-page).header-on-light > header.shell .nav > a,
body:not(.home-page).header-on-light > header.shell .nav > a span,
body:not(.home-page).header-on-light > header.shell .nav .lang,
body:not(.home-page).header-on-light > header.shell .nav .lang span,
body:not(.home-page).header-on-light > header.shell .nav .lang button,
body:not(.home-page).header-on-light > header.shell .menu-toggle{
  color:#111 !important;
  text-shadow:none !important;
}

/* Mobile */
@media(max-width:900px){
  body > header.shell{
    padding:16px 20px !important;
    min-height:66px !important;
  }
  body > header.shell .logo{
    width:148px !important;
  }
  body > header.shell .nav{
    padding-top:7px !important;
    gap:16px !important;
  }
  body > header.shell .nav > a,
  body > header.shell .nav > a span,
  body > header.shell .nav .lang,
  body > header.shell .nav .lang button,
  body > header.shell .menu-toggle{
    font-size:10px !important;
  }
}

/* V27 PROJECTS — editorial intro + animated monochrome project field */
.projects-cinema-page{background:#F3F0E9;color:#111}
.projects-cinema-page>header.shell .nav>a,
.projects-cinema-page>header.shell .nav .lang,
.projects-cinema-page>header.shell .nav .lang button{color:#111!important;text-shadow:none!important}
.projects-cinema-page .projects-cinema{background:#F3F0E9!important;padding-top:0!important}
.projects-intro{min-height:100vh;padding:130px 3vw 7vw;background:#F3F0E9!important;overflow:hidden}
.projects-kicker{font:500 10px/1 Arial,sans-serif;letter-spacing:.02em;margin-bottom:1.5vw}
.projects-intro h1{margin:0;font:400 clamp(90px,15vw,245px)/.78 Arial,Helvetica,sans-serif;letter-spacing:-.075em}
.projects-lead{width:min(540px,42vw);margin:3.2vw 0 2.4vw 34vw;font:400 clamp(18px,2vw,31px)/1.08 Arial,sans-serif;letter-spacing:-.035em}
.projects-traits{display:flex;gap:2.8vw;margin-left:34vw;padding-top:18px;border-top:1px solid rgba(0,0,0,.25);font:700 10px/1 Arial,sans-serif}
.intro-collage{height:48vw;min-height:520px;position:relative;margin-top:6vw}
.intro-shot{position:absolute;margin:0;overflow:hidden;background:#ddd}
.intro-shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot-1{left:0;top:10%;width:29%;height:54%}
.shot-2{left:37%;top:0;width:20%;height:39%}
.shot-3{right:0;top:18%;width:36%;height:66%}

.projects-film{background:#f7f5ef!important;padding:5vw 3vw 10vw;overflow:hidden}
.film-heading{display:flex;justify-content:space-between;border-top:1px solid #111;padding-top:10px;margin-bottom:8vw;font:600 10px/1 Arial,sans-serif}
.cinema-grid{position:relative;display:grid;grid-template-columns:repeat(12,1fr);column-gap:1.2vw;row-gap:12vw}
.cinema-project{color:#111;text-decoration:none;display:block;opacity:0;transform:translateY(110px) scale(.96);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.25s cubic-bezier(.16,1,.3,1)}
.cinema-project.is-visible{opacity:1;transform:none}
.cinema-project figure{margin:0;overflow:hidden;background:#ddd}
.cinema-project img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transform:scale(1.08);transition:filter .6s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}
.cinema-project:hover img{filter:grayscale(0);transform:scale(1)}
.cinema-meta{display:flex;gap:16px;padding-top:9px;font:500 10px/1.05 Arial,sans-serif}
.cinema-meta strong{font-weight:600}
.cinema-project.wide{grid-column:2/span 8}
.cinema-project.wide figure{aspect-ratio:1.75}
.cinema-project.portrait{grid-column:9/span 3}
.cinema-project.portrait figure{aspect-ratio:.72}
.cinema-project.landscape{grid-column:1/span 5}
.cinema-project.landscape figure{aspect-ratio:1.28}
.cinema-project.small{grid-column:7/span 4}
.cinema-project.small figure{aspect-ratio:1}
.cinema-project:nth-child(8n+5){grid-column:5/span 7}
.cinema-project:nth-child(8n+6){grid-column:1/span 3}
.cinema-project:nth-child(8n+7){grid-column:8/span 5}
.cinema-project:nth-child(8n+8){grid-column:3/span 4}

@media(max-width:800px){
 .projects-intro{padding:105px 20px 80px;min-height:auto}
 .projects-intro h1{font-size:24vw}
 .projects-lead{width:90%;margin:45px 0 35px 10%}
 .projects-traits{margin-left:10%;gap:15px;flex-wrap:wrap}
 .intro-collage{height:115vw;min-height:0}
 .shot-1{width:54%;height:45%}.shot-2{left:61%;width:35%;height:31%}.shot-3{width:63%;height:48%;top:50%}
 .projects-film{padding:50px 20px 100px}
 .cinema-grid{display:block}
 .cinema-project,.cinema-project.wide,.cinema-project.portrait,.cinema-project.landscape,.cinema-project.small{margin:0 0 70px}
 .cinema-project figure{aspect-ratio:1.25!important}
}

/* V28 — tighter Projects composition */
.projects-intro{min-height:auto!important;padding-bottom:4vw!important}
.projects-intro h1{display:inline-block;vertical-align:top}
.projects-lead{
  display:inline-block!important;
  vertical-align:top!important;
  width:min(520px,34vw)!important;
  margin:6.8vw 0 0 3.2vw!important;
}
.projects-traits{
  margin-left:calc(34vw + 3.2vw)!important;
  width:min(700px,54vw)!important;
  margin-top:-1.4vw!important;
}
.intro-collage{margin-top:2.8vw!important;height:39vw!important;min-height:430px!important}
.shot-1{left:0!important;top:4%!important;width:29%!important;height:58%!important}
.shot-2{left:36%!important;top:0!important;width:20%!important;height:42%!important}
.shot-3{right:0!important;top:8%!important;width:35%!important;height:70%!important}

.projects-film{padding-top:3.5vw!important}
.cinema-grid{row-gap:7vw!important;column-gap:1.1vw!important}
.cinema-project.wide{grid-column:2/span 7!important}
.cinema-project.wide figure{aspect-ratio:1.5!important}
.cinema-project.portrait{grid-column:9/span 3!important}
.cinema-project.landscape{grid-column:1/span 5!important}
.cinema-project.small{grid-column:7/span 4!important}
.cinema-project:nth-child(8n+5){grid-column:5/span 6!important}
.cinema-project:nth-child(8n+6){grid-column:1/span 3!important}
.cinema-project:nth-child(8n+7){grid-column:8/span 4!important}
.cinema-project:nth-child(8n+8){grid-column:3/span 4!important}

@media(max-width:1100px){
 .projects-intro h1{display:block}
 .projects-lead{display:block!important;width:70%!important;margin:30px 0 0 28%!important}
 .projects-traits{margin-left:28%!important;width:68%!important;margin-top:20px!important}
}
@media(max-width:800px){
 .projects-lead{width:90%!important;margin:35px 0 0 10%!important}
 .projects-traits{margin-left:10%!important;width:90%!important}
 .intro-collage{margin-top:45px!important;height:105vw!important;min-height:0!important}
 .cinema-grid{row-gap:0!important}
}


/* =========================================================
   V29 — PROJECTS PAGE REFINEMENT
   Fix intro collision + create stronger stagger in first row
   ========================================================= */

.projects-intro{
  padding-bottom:5vw !important;
}

/* Keep the sentence beside ΕΡΓΑ, but give it a clean vertical block */
.projects-lead{
  width:min(610px,41vw) !important;
  margin:0 !important;
  position:absolute !important;
  left:44.5vw !important;
  top:17.2vw !important;
  font-size:clamp(22px,2.25vw,37px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
}

/* Traits sit clearly BELOW the sentence — no collision with the rule */
.projects-traits{
  position:absolute !important;
  left:44.5vw !important;
  top:29.3vw !important;
  width:51.5vw !important;
  margin:0 !important;
  padding-top:18px !important;
  gap:0 !important;
  justify-content:space-between !important;
  border-top:1px solid rgba(17,17,15,.28) !important;
}

/* Bring the three color images up */
.intro-collage{
  margin-top:3.2vw !important;
  height:42vw !important;
  min-height:450px !important;
}

/* tighter overall vertical rhythm */
.projects-film{
  padding-top:3.6vw !important;
}
.film-heading{
  margin-bottom:5.5vw !important;
}
.cinema-grid{
  row-gap:7.2vw !important;
}

/* First two projects should NOT sit on the same visual baseline */
.cinema-project:nth-child(1){
  grid-column:2 / span 7 !important;
  margin-top:1vw !important;
}
.cinema-project:nth-child(1) figure{
  aspect-ratio:1.58 !important;
}

.cinema-project:nth-child(2){
  grid-column:9 / span 3 !important;
  margin-top:6.5vw !important;
}
.cinema-project:nth-child(2) figure{
  aspect-ratio:.78 !important;
}

/* Continue the stagger through the sequence, but keep breathing room */
.cinema-project:nth-child(3){ margin-top:-1.5vw !important; }
.cinema-project:nth-child(4){ margin-top:4.5vw !important; }
.cinema-project:nth-child(5){ margin-top:-2vw !important; }
.cinema-project:nth-child(6){ margin-top:3vw !important; }

/* prevent legacy margins from creating giant gaps */
.cinema-project{
  align-self:start !important;
}

/* Tablet/mobile: return to normal flow */
@media(max-width:1000px){
  .projects-lead{
    position:static !important;
    width:min(620px,88%) !important;
    margin:36px 0 26px 28% !important;
  }
  .projects-traits{
    position:static !important;
    width:72% !important;
    margin-left:28% !important;
  }
}
@media(max-width:800px){
  .projects-lead{
    margin:40px 0 30px 10% !important;
    width:90% !important;
  }
  .projects-traits{
    margin-left:10% !important;
    width:90% !important;
  }
  .intro-collage{
    margin-top:45px !important;
    height:112vw !important;
  }
  .cinema-project:nth-child(n){
    margin-top:0 !important;
  }
}


/* V30 — Studio sectors: all accordion items start closed */
.studio-page .sector-item:not(.is-open) .sector-content,
.studio-page .sector-row:not(.is-open) .sector-content,
.studio-page .sector-accordion-item:not(.is-open) .sector-content,
.studio-page .sector-accordion-item:not(.active) .sector-content,
.studio-page details:not([open]) .sector-content{
  max-height:0 !important;
  opacity:0 !important;
  overflow:hidden !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}


/* =========================================================
   V32 — STUDIO + SERVICES HERO TYPOGRAPHY LIKE HOME
   ========================================================= */

/* Keep their opening image, but use the Home's restrained editorial title scale */
body:has(.studio-hero) .studio-hero,
body:has(.services-hero) .services-hero{
  position:relative;
  min-height:92vh;
  overflow:hidden;
}

/* Any hero image remains full bleed */
.studio-hero img,
.services-hero img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Main hero titles: no more giant full-screen typography */
.studio-hero h1,
.services-hero h1{
  position:absolute !important;
  left:2.6vw !important;
  bottom:7.2vw !important;
  width:min(920px,72vw) !important;
  margin:0 !important;
  padding:0 !important;

  font-family:Arial, Helvetica, "Helvetica Neue", sans-serif !important;
  font-size:clamp(44px,5.4vw,86px) !important;
  line-height:.93 !important;
  font-weight:400 !important;
  letter-spacing:-.055em !important;
  text-transform:none !important;
  color:#fff !important;
  z-index:5 !important;
  text-shadow:0 2px 12px rgba(0,0,0,.14) !important;
}

/* Secondary intro copy inside hero gets the same Home-like small treatment */
.studio-hero .hero-copy,
.studio-hero .hero-subtitle,
.studio-hero p,
.services-hero .hero-copy,
.services-hero .hero-subtitle,
.services-hero p{
  position:absolute;
  left:2.8vw;
  bottom:3.1vw;
  width:min(470px,42vw);
  margin:0;
  font:400 12px/1.35 Arial,Helvetica,sans-serif;
  letter-spacing:0;
  color:#fff;
  z-index:5;
}

/* A subtle dark veil only for readability, preserving the photo */
.studio-hero:after,
.services-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.34) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,0) 72%);
  pointer-events:none;
  z-index:2;
}

/* Ensure hero text sits over the veil */
.studio-hero > *,
.services-hero > *{
  position:relative;
  z-index:3;
}

/* If the page uses oversized split words/spans, normalize them */
.studio-hero h1 span,
.services-hero h1 span{
  font:inherit !important;
  letter-spacing:inherit !important;
  line-height:inherit !important;
}

/* Mobile */
@media(max-width:800px){
  body:has(.studio-hero) .studio-hero,
  body:has(.services-hero) .services-hero{
    min-height:78vh;
  }
  .studio-hero h1,
  .services-hero h1{
    left:20px !important;
    bottom:86px !important;
    width:calc(100% - 40px) !important;
    font-size:clamp(38px,12vw,62px) !important;
  }
  .studio-hero .hero-copy,
  .studio-hero .hero-subtitle,
  .studio-hero p,
  .services-hero .hero-copy,
  .services-hero .hero-subtitle,
  .services-hero p{
    left:20px;
    bottom:28px;
    width:calc(100% - 40px);
    font-size:11px;
  }
}


/* =========================================================
   V33 — ACTUAL STUDIO / SERVICES HERO SELECTORS
   Match Home's hero typography and composition
   ========================================================= */

.about-hero,
.services-cinematic-hero{
  position:relative !important;
  min-height:92vh !important;
  height:92vh !important;
  overflow:hidden !important;
}

.about-hero > img,
.services-cinematic-hero > img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* remove old oversized copy positioning */
.about-hero-copy,
.services-hero-copy{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:100% !important;
  max-width:none !important;
  padding:0 2.6vw 3vw !important;
  margin:0 !important;
  box-sizing:border-box !important;
  z-index:5 !important;
}

.about-hero-copy h1,
.services-hero-copy h1{
  position:static !important;
  width:min(920px,74vw) !important;
  max-width:none !important;
  margin:0 0 2.4vw !important;
  padding:0 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(46px,5.15vw,82px) !important;
  line-height:.94 !important;
  font-weight:400 !important;
  letter-spacing:-.055em !important;
  text-transform:none !important;
  color:#fff !important;
}

.about-hero-kicker,
.services-kicker{
  position:static !important;
  width:auto !important;
  margin:0 0 14px !important;
  padding:0 !important;
  font:500 10px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:.01em !important;
  color:#fff !important;
  text-transform:none !important;
}

.about-hero-meta,
.services-hero-foot{
  position:absolute !important;
  left:2.6vw !important;
  right:2.6vw !important;
  bottom:1.5vw !important;
  z-index:6 !important;
  display:flex !important;
  justify-content:space-between !important;
  color:#fff !important;
  font:500 10px/1 Arial,Helvetica,sans-serif !important;
}

/* Match Home: gentle readability overlay, not a heavy dark panel */
.about-hero-shade,
.services-hero-shade{
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,0) 34%),
    linear-gradient(to top,rgba(0,0,0,.38),rgba(0,0,0,0) 52%) !important;
  z-index:2 !important;
}

/* remove any old giant split-type behavior */
.about-hero-copy h1 span,
.services-hero-copy h1 span{
  font:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}

@media(max-width:800px){
  .about-hero,
  .services-cinematic-hero{
    min-height:78vh !important;
    height:78vh !important;
  }
  .about-hero-copy,
  .services-hero-copy{
    padding:0 20px 72px !important;
  }
  .about-hero-copy h1,
  .services-hero-copy h1{
    width:100% !important;
    font-size:clamp(38px,11.5vw,58px) !important;
    margin-bottom:0 !important;
  }
  .about-hero-meta,
  .services-hero-foot{
    left:20px !important;
    right:20px !important;
    bottom:20px !important;
  }
}


/* =========================================================
   V34 — SERVICES: aligned manifesto + clean animated stats
   ========================================================= */

/* Align the two text blocks from the same top baseline */
.services-manifesto{
  display:grid !important;
  grid-template-columns:26% 1fr !important;
  column-gap:6vw !important;
  align-items:start !important;
  padding-top:9vw !important;
  padding-bottom:9vw !important;
}

.services-manifesto-label{
  align-self:start !important;
  padding-top:.45vw !important;
}

.services-manifesto-copy{
  display:grid !important;
  grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr) !important;
  gap:5vw !important;
  align-items:start !important;
}

.services-manifesto-copy h2,
.services-manifesto-copy p{
  margin-top:0 !important;
}

.services-manifesto-copy h2{
  font-size:clamp(42px,4.9vw,76px) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
}

.services-manifesto-copy p{
  padding-top:.45vw !important;
  max-width:430px !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Replace the old image closing with a restrained numeric section */
.services-stats{
  background:#F3F0E9 !important;
  padding:8vw 0 9vw !important;
  border-top:1px solid rgba(17,17,15,.20);
}

.services-stats-head{
  display:grid;
  grid-template-columns:26% 1fr;
  column-gap:6vw;
  align-items:start;
  margin-bottom:5vw;
}

.services-stats-head p{
  margin:0;
  font:600 10px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.03em;
}

.services-stats-head h2{
  margin:0;
  width:min(760px,72%);
  font:400 clamp(30px,3.2vw,52px)/1.02 Arial,Helvetica,sans-serif;
  letter-spacing:-.045em;
}

.services-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(17,17,15,.35);
  border-bottom:1px solid rgba(17,17,15,.35);
}

.stat-card{
  min-height:230px;
  padding:30px 24px 26px 0;
  border-right:1px solid rgba(17,17,15,.25);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.stat-card:last-child{
  border-right:0;
  padding-left:24px;
}

.stat-card + .stat-card{
  padding-left:24px;
}

.stat-number{
  font:400 clamp(54px,6.2vw,102px)/.88 Arial,Helvetica,sans-serif;
  letter-spacing:-.065em;
  white-space:nowrap;
}

.stat-suffix{
  font-size:.52em;
  vertical-align:top;
  margin-left:4px;
}

.stat-label{
  font:700 10px/1.15 Arial,Helvetica,sans-serif;
  letter-spacing:.02em;
}

@media(max-width:1000px){
  .services-manifesto{
    grid-template-columns:1fr !important;
    row-gap:38px !important;
  }
  .services-manifesto-copy{
    grid-template-columns:1fr 1fr !important;
  }
  .services-stats-head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .services-stats-head h2{
    width:100%;
  }
}

@media(max-width:760px){
  .services-manifesto-copy{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .services-stats{
    padding:70px 0 80px !important;
  }
  .services-stats-grid{
    grid-template-columns:1fr 1fr;
  }
  .stat-card{
    min-height:170px;
    border-bottom:1px solid rgba(17,17,15,.25);
  }
  .stat-card:nth-child(2){
    border-right:0;
  }
  .stat-card:nth-child(3),
  .stat-card:nth-child(4){
    border-bottom:0;
  }
}


/* V35 — Services manifesto stacked copy + reference-style stats composition */

/* Large statement on top, supporting paragraph directly underneath */
.services-manifesto-copy{
  display:block !important;
  max-width:900px !important;
}
.services-manifesto-copy h2{
  width:100% !important;
  max-width:900px !important;
  margin:0 !important;
  font-size:clamp(42px,4.45vw,70px) !important;
  line-height:.98 !important;
}
.services-manifesto-copy p{
  width:min(610px,76%) !important;
  max-width:none !important;
  margin:2.4vw 0 0 0 !important;
  padding:0 !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Statistics: asymmetric 2-row structure like the supplied reference */
.services-stats-grid{
  width:min(900px,78vw) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:1.25fr .9fr .9fr !important;
  grid-template-rows:auto auto !important;
  border:0 !important;
  position:relative !important;
}

/* horizontal middle divider */
.services-stats-grid:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:rgba(17,17,15,.28);
  pointer-events:none;
}

.stat-card{
  min-height:175px !important;
  padding:25px 30px !important;
  border:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  position:relative !important;
}

/* 2021 occupies large upper-left area */
.stat-card:nth-child(1){
  grid-column:1 / span 2 !important;
  grid-row:1 !important;
  padding-left:0 !important;
  border-right:1px solid rgba(17,17,15,.28) !important;
}

/* projects upper-right */
.stat-card:nth-child(2){
  grid-column:3 !important;
  grid-row:1 !important;
}

/* lower left */
.stat-card:nth-child(3){
  grid-column:1 !important;
  grid-row:2 !important;
  padding-left:0 !important;
  border-right:1px solid rgba(17,17,15,.28) !important;
}

/* lower center/right — wider like reference */
.stat-card:nth-child(4){
  grid-column:2 / span 2 !important;
  grid-row:2 !important;
}

/* short vertical divider inside lower wide cell, echoing reference geometry */
.stat-card:nth-child(4):before{
  content:"";
  position:absolute;
  left:43%;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(17,17,15,.28);
}

.stat-card:nth-child(1) .stat-number{
  font-size:clamp(70px,8.3vw,132px) !important;
}
.stat-number{
  font-size:clamp(48px,5.4vw,86px) !important;
  line-height:.84 !important;
}
.stat-label{
  margin-top:12px !important;
}

@media(max-width:800px){
  .services-manifesto-copy p{
    width:100% !important;
    margin-top:28px !important;
  }
  .services-stats-grid{
    width:calc(100% - 40px) !important;
    grid-template-columns:1fr 1fr !important;
  }
  .services-stats-grid:after{display:none}
  .stat-card:nth-child(n){
    grid-column:auto !important;
    grid-row:auto !important;
    padding:24px 18px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(17,17,15,.25) !important;
  }
  .stat-card:nth-child(odd){
    border-right:1px solid rgba(17,17,15,.25) !important;
  }
  .stat-card:nth-child(4):before{display:none}
}


/* V36 — Move Services copy + stats left and align them on one editorial axis */

/* Approach: shift the main content column left and narrow it,
   producing more text lines as requested */
.services-manifesto{
  grid-template-columns:20% 1fr !important;
  column-gap:4vw !important;
}
.services-manifesto-copy{
  max-width:760px !important;
}
.services-manifesto-copy h2{
  width:100% !important;
  max-width:760px !important;
  font-size:clamp(42px,4.25vw,67px) !important;
}
.services-manifesto-copy p{
  width:min(560px,82%) !important;
  margin-top:2.2vw !important;
}

/* Stats heading follows the same left axis as the manifesto */
.services-stats-head{
  grid-template-columns:20% 1fr !important;
  column-gap:4vw !important;
}
.services-stats-head h2{
  width:min(650px,70%) !important;
}

/* Stats table starts directly under that text column instead of centered */
.services-stats-grid{
  width:min(900px,72vw) !important;
  margin-left:24% !important;
  margin-right:0 !important;
}

/* Keep the left edge crisp */
.stat-card:nth-child(1),
.stat-card:nth-child(3){
  padding-left:0 !important;
}

@media(max-width:1000px){
  .services-manifesto,
  .services-stats-head{
    grid-template-columns:1fr !important;
  }
  .services-stats-grid{
    width:88% !important;
    margin-left:6% !important;
    margin-right:6% !important;
  }
}
@media(max-width:760px){
  .services-stats-grid{
    width:calc(100% - 40px) !important;
    margin-left:20px !important;
    margin-right:20px !important;
  }
}


/* =========================================================
   V38 — CONTACT: minimal requested changes only
   Keep original form design; reorder form above map.
   ========================================================= */

/* Contact page uses the site beige everywhere */
.contact-editorial-page,
.contact-editorial-page section,
.contact-editorial-page .contact-form-editorial,
.contact-editorial-page .contact-form,
.contact-editorial-page .contact-info-grid{
  background:#F3F0E9 !important;
}

/* Smaller title and more distance from logo/header */
.contact-editorial-title{
  padding-top:145px !important;
  padding-bottom:34px !important;
}
.contact-editorial-title h1{
  margin:0 !important;
  font-size:clamp(58px,7vw,108px) !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
  font-weight:400 !important;
}

/* Preserve the original form appearance exactly; just give it clean spacing */
.contact-form-editorial{
  margin-top:0 !important;
  padding-top:20px !important;
  padding-bottom:70px !important;
}

/* Map below form, same height, but wider and perfectly centered */
.contact-map-wrap{
  padding-left:4vw !important;
  padding-right:4vw !important;
  max-width:none !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.contact-map{
  width:100% !important;
  margin:0 auto !important;
}
.contact-map iframe{
  width:100% !important;
  display:block !important;
}

/* Information aligns with the same map edges */
.contact-info-grid{
  margin-left:4vw !important;
  margin-right:4vw !important;
  width:calc(100% - 8vw) !important;
  max-width:none !important;
  box-sizing:border-box !important;
}

/* Prevent any bright white leftover blocks */
.contact-editorial-page input,
.contact-editorial-page textarea{
  background:transparent !important;
}

@media(max-width:800px){
  .contact-editorial-title{
    padding-top:110px !important;
  }
  .contact-editorial-title h1{
    font-size:clamp(46px,14vw,70px) !important;
  }
  .contact-map-wrap{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .contact-info-grid{
    margin-left:20px !important;
    margin-right:20px !important;
    width:calc(100% - 40px) !important;
  }
}


/* V39 — Contact final small adjustments */

/* SEND REQUEST button: beige instead of white */
.contact-editorial-page .editorial-submit,
.contact-editorial-page .form-submit{
  background:#F3F0E9 !important;
  color:#111 !important;
  border-color:#111 !important;
}

/* Remove the CONTACT label below the map without disturbing grid alignment */
.contact-info-label-empty{
  visibility:hidden !important;
}

/* V40 — Align privacy sentence vertically with checkbox */
.contact-editorial-page .privacy-check{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}
.contact-editorial-page .privacy-check input[type="checkbox"]{
  margin:0 !important;
  flex:0 0 auto !important;
}
.contact-editorial-page .privacy-check > span{
  margin:0 !important;
  padding:0 !important;
  line-height:1.35 !important;
}


/* V42 — Studio + Services: KEEP hero text, remove ONLY hero photos */
.about-hero,
.services-cinematic-hero{
  background:#F3F0E9 !important;
}

/* Hide only the background/hero image */
.about-hero > img,
.services-cinematic-hero > img{
  display:none !important;
}

/* Remove photo shading because there is no image anymore */
.about-hero-shade,
.services-hero-shade{
  display:none !important;
}

/* Hero copy becomes black on beige, preserving the existing wording */
.about-hero-copy h1,
.about-hero-kicker,
.about-hero-meta,
.services-hero-copy h1,
.services-kicker,
.services-hero-foot{
  color:#111 !important;
  text-shadow:none !important;
}

/* Lines/meta separators also black/soft grey */
.about-hero-meta,
.services-hero-foot{
  border-color:rgba(17,17,15,.35) !important;
}

/* Keep the opening section spacious/editorial without the photo */
.about-hero,
.services-cinematic-hero{
  min-height:82vh !important;
  height:82vh !important;
}


/* V43 — Home hero slider: slightly darken all hero photos for logo/menu readability */
.home-page .home-hero-v2{
  position:relative;
}

.home-page .home-hero-v2::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(to bottom,
      rgba(0,0,0,.26) 0%,
      rgba(0,0,0,.13) 28%,
      rgba(0,0,0,.10) 58%,
      rgba(0,0,0,.18) 100%);
}

/* Keep all Home hero interface/text above the darkening layer */
.home-page .home-hero-v2 > *:not(.hero-slide-image){
  position:relative;
  z-index:3;
}

/* Header/menu stays clearly above hero overlay */
.home-page .site-header,
.home-page header{
  z-index:20 !important;
}


/* V44 — Home ERGA + Timeline spacing/content restoration */

/* Move only "ΕΞΕΡΕΥΝΗΣΤΕ ΕΡΓΑ" further right */
.home-page .projects-mega-link .projects-explore-link{
  margin-left:56% !important;
}

/* Reduce the oversized empty area under ERGA */
.home-page .projects-mega-link{
  padding-top:clamp(72px,7vw,105px) !important;
  padding-bottom:clamp(42px,4vw,64px) !important;
}

/* Bring Timeline immediately closer to the ERGA block */
.home-page .home-timeline-preview{
  padding-top:clamp(52px,5vw,78px) !important;
}

/* Explicitly restore/show all Timeline copy */
.home-page .home-timeline-head,
.home-page .home-timeline-head h2,
.home-page .home-timeline-meta,
.home-page .home-timeline-label,
.home-page .home-timeline-copy,
.home-page .home-timeline-top-link,
.home-page .home-timeline-cta-wrap,
.home-page .home-timeline-cta{
  display:block;
  visibility:visible !important;
  opacity:1 !important;
}

.home-page .home-timeline-head h2{
  color:#F3F0E9 !important;
}

.home-page .home-timeline-meta{
  display:grid !important;
}

.home-page .home-timeline-label{
  display:flex !important;
}

.home-page .home-timeline-copy{
  opacity:.72 !important;
  color:#F3F0E9 !important;
}

.home-page .home-timeline-top-link,
.home-page .home-timeline-cta{
  color:#F3F0E9 !important;
}

/* Less dead space inside timeline before circles */
.home-page .home-timeline-divider{
  margin-top:clamp(38px,4vw,60px) !important;
}

.home-page .home-timeline-circles{
  margin-top:clamp(28px,3vw,44px) !important;
}

@media(max-width:800px){
  .home-page .projects-mega-link .projects-explore-link{
    margin-left:44% !important;
  }
  .home-page .projects-mega-link{
    padding-bottom:40px !important;
  }
}


/* V45 — restore visible Timeline heading/copy above circles */
.home-page .home-timeline-preview{
  background:#171715 !important;
  color:#F3F0E9 !important;
  padding-top:54px !important;
}

.home-page .home-timeline-copyblock{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  padding-top:0 !important;
  padding-bottom:34px !important;
}

.home-page .home-timeline-eyebrow{
  display:block !important;
  color:#F3F0E9 !important;
  opacity:.72 !important;
  font:600 10px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:.03em !important;
  margin-bottom:22px !important;
}

.home-page .home-timeline-copyblock h2{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#F3F0E9 !important;
  margin:0 !important;
  width:min(900px,78vw) !important;
  font:400 clamp(42px,5vw,78px)/.98 Arial,Helvetica,sans-serif !important;
  letter-spacing:-.05em !important;
}

.home-page .home-timeline-subrow{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:40px !important;
  align-items:end !important;
  margin-top:28px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(243,240,233,.35) !important;
}

.home-page .home-timeline-subrow p{
  margin:0 !important;
  max-width:480px !important;
  color:#F3F0E9 !important;
  opacity:.72 !important;
  font:400 13px/1.45 Arial,Helvetica,sans-serif !important;
}

.home-page .home-timeline-subrow a{
  color:#F3F0E9 !important;
  text-decoration:none !important;
  font:500 11px/1 Arial,Helvetica,sans-serif !important;
  border-bottom:1px solid rgba(243,240,233,.55) !important;
  padding-bottom:4px !important;
}

.home-page .home-timeline-circles{
  margin-top:18px !important;
}

@media(max-width:800px){
  .home-page .home-timeline-copyblock h2{
    width:100% !important;
    font-size:clamp(36px,10vw,56px) !important;
  }
  .home-page .home-timeline-subrow{
    grid-template-columns:1fr !important;
    align-items:start !important;
  }
}


/* =========================================================
   V46 — STUDIO editorial opening
   Reference structure: photo -> large statement -> small note
   -> existing "Ποιοι είμαστε" section
   ========================================================= */

/* Hide only the old Studio opening hero so the existing "Ποιοι είμαστε"
   section below remains exactly as it was. */
body:has(.studio-editorial-opening) .about-hero{
  display:none !important;
}

.studio-editorial-opening{
  background:#F3F0E9 !important;
  padding:0 0 clamp(70px,7vw,115px) !important;
}

.studio-editorial-photo{
  position:relative;
  width:100%;
  height:clamp(430px,61vh,690px);
  overflow:hidden;
  background:#111;
}

.studio-editorial-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:brightness(.72);
}

/* subtle extra darkness at the top so shared menu remains readable */
.studio-editorial-photo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.24) 0%,rgba(0,0,0,.07) 34%,rgba(0,0,0,.03) 100%);
}

body:has(.studio-editorial-opening) .site-header,
body:has(.studio-editorial-opening) header{
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  z-index:20 !important;
}

.studio-editorial-statement{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);
  column-gap:clamp(60px,8vw,145px);
  align-items:start;
  padding-top:clamp(28px,3vw,48px) !important;
}

.studio-editorial-statement h1{
  margin:0;
  max-width:980px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(46px,5.2vw,82px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:400;
  color:#111;
}

.studio-editorial-note{
  padding-top:clamp(78px,8vw,126px);
}

.studio-editorial-note p{
  margin:0;
  max-width:430px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  line-height:1.5;
  color:#111;
}

/* Keep existing Studio content close after the new intro */
.studio-editorial-opening + section,
.studio-editorial-opening ~ .about-intro,
.studio-editorial-opening ~ .studio-intro{
  margin-top:0 !important;
}

@media(max-width:800px){
  .studio-editorial-photo{
    height:62vh;
    min-height:420px;
  }
  .studio-editorial-statement{
    grid-template-columns:1fr;
    gap:28px;
    padding-top:28px !important;
  }
  .studio-editorial-statement h1{
    font-size:clamp(42px,12vw,62px);
  }
  .studio-editorial-note{
    padding-top:0;
  }
}


/* V47 — Studio: move "ΕΠΙΛΕΓΜΕΝΟΙ ΤΟΜΕΙΣ" label lower */
.studio-page .selected-sectors > .info-eyebrow{
  transform:translateY(70px) !important;
}


/* =========================================================
   V49 — SERVICES RESTRUCTURE TO REFERENCE
   Split photo hero -> stats -> approach -> existing service section
   ========================================================= */

.services-page{
  background:#F3F0E9 !important;
}

/* Split photo hero */
.services-split-hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  height:78vh;
  min-height:620px;
  background:#111 !important;
  position:relative;
}

.services-split-panel{
  position:relative;
  overflow:hidden;
  min-width:0;
}

.services-split-left{
  border-right:1px solid rgba(255,255,255,.45);
}

.services-split-panel img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:brightness(.58);
  transform:scale(1.01);
}

.services-split-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.22),rgba(0,0,0,.04) 40%),
    linear-gradient(to top,rgba(0,0,0,.36),rgba(0,0,0,0) 58%);
}

.services-split-copy{
  position:absolute;
  left:4vw;
  right:4vw;
  bottom:4vw;
  z-index:3;
  color:#fff;
}

.services-split-copy p{
  margin:0 0 26px;
  font:600 10px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.03em;
}

.services-split-copy h1{
  margin:0;
  max-width:680px;
  font:400 clamp(48px,4.8vw,76px)/.95 Arial,Helvetica,sans-serif;
  letter-spacing:-.055em;
}

.services-split-copy > span{
  display:block;
  margin-top:22px;
  max-width:520px;
  font:400 13px/1.45 Arial,Helvetica,sans-serif;
  opacity:.86;
}

.services-split-sidecopy{
  position:absolute;
  right:3vw;
  bottom:3.6vw;
  z-index:3;
  color:#fff;
  font:500 10px/1 Arial,Helvetica,sans-serif;
}

/* Header/menu over dark split hero */
body:has(.services-split-hero) > header.shell{
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  z-index:50 !important;
}
body:has(.services-split-hero) > header.shell .nav a,
body:has(.services-split-hero) > header.shell .nav span,
body:has(.services-split-hero) > header.shell .nav button{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.22) !important;
}

/* Stats immediately under hero, clean 4-column reference look */
.services-stats{
  padding:0 !important;
  border-top:0 !important;
  background:#F3F0E9 !important;
}

.services-stats-head{
  display:none !important;
}

.services-stats-grid{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  grid-template-columns:repeat(4,1fr) !important;
  grid-template-rows:1fr !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(17,17,15,.18) !important;
}

.services-stats-grid:after{
  display:none !important;
}

.stat-card{
  grid-column:auto !important;
  grid-row:auto !important;
  min-height:220px !important;
  padding:28px 3vw 26px !important;
  border-right:1px solid rgba(17,17,15,.16) !important;
  border-bottom:0 !important;
  justify-content:flex-start !important;
}

.stat-card:last-child{
  border-right:0 !important;
}

.stat-card:before{
  display:none !important;
}

.stat-card:nth-child(1) .stat-number,
.stat-number{
  font-size:clamp(58px,6vw,94px) !important;
  line-height:.9 !important;
  color:#111 !important;
}

.stat-label{
  margin-top:12px !important;
  font-size:10px !important;
}

.stat-card .stat-number{
  margin-bottom:auto;
}

/* Approach section now sits below stats and follows reference rhythm */
.services-manifesto{
  padding-top:8vw !important;
  padding-bottom:8vw !important;
  grid-template-columns:20% 1fr !important;
  column-gap:4vw !important;
}

.services-manifesto-copy{
  max-width:900px !important;
}

.services-manifesto-copy h2{
  max-width:880px !important;
  font-size:clamp(44px,4.6vw,72px) !important;
}

.services-manifesto-copy p{
  width:min(580px,78%) !important;
  margin-top:2.4vw !important;
}

/* Existing service section continues directly underneath */
.services-scroll{
  margin-top:0 !important;
  padding-top:0 !important;
}

@media(max-width:900px){
  .services-split-hero{
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
  }
  .services-split-panel{
    min-height:58vh;
  }
  .services-split-left{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.35);
  }
  .services-stats-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .stat-card{
    min-height:170px !important;
    border-bottom:1px solid rgba(17,17,15,.16) !important;
  }
  .stat-card:nth-child(2){
    border-right:0 !important;
  }
}


/* =========================================================
   V50 — SERVICES: stats back at the bottom, before footer
   Restore the previous asymmetric statistics composition
   ========================================================= */

/* Stats sit after the Services section, immediately before footer */
.services-stats{
  background:#F3F0E9 !important;
  padding:8vw 0 9vw !important;
  border-top:1px solid rgba(17,17,15,.20) !important;
  border-bottom:0 !important;
}

.services-stats-head{
  display:grid !important;
  grid-template-columns:20% 1fr !important;
  column-gap:4vw !important;
  align-items:start !important;
  margin-bottom:5vw !important;
}

.services-stats-head p{
  display:block !important;
  margin:0 !important;
  font:600 10px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:.03em !important;
  color:#111 !important;
}

.services-stats-head h2{
  display:block !important;
  margin:0 !important;
  width:min(650px,72%) !important;
  font:400 clamp(30px,3.2vw,52px)/1.02 Arial,Helvetica,sans-serif !important;
  letter-spacing:-.045em !important;
  color:#111 !important;
}

/* Back to the earlier 2-row editorial layout */
.services-stats-grid{
  width:min(900px,72vw) !important;
  margin-left:24% !important;
  margin-right:0 !important;
  display:grid !important;
  grid-template-columns:1.25fr .9fr .9fr !important;
  grid-template-rows:auto auto !important;
  border:0 !important;
  position:relative !important;
}

.services-stats-grid:after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:50% !important;
  height:1px !important;
  background:rgba(17,17,15,.28) !important;
  pointer-events:none !important;
}

.stat-card{
  min-height:175px !important;
  padding:25px 30px !important;
  border:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  position:relative !important;
  background:#F3F0E9 !important;
}

.stat-card:nth-child(1){
  grid-column:1 / span 2 !important;
  grid-row:1 !important;
  padding-left:0 !important;
  border-right:1px solid rgba(17,17,15,.28) !important;
}

.stat-card:nth-child(2){
  grid-column:3 !important;
  grid-row:1 !important;
}

.stat-card:nth-child(3){
  grid-column:1 !important;
  grid-row:2 !important;
  padding-left:0 !important;
  border-right:1px solid rgba(17,17,15,.28) !important;
}

.stat-card:nth-child(4){
  grid-column:2 / span 2 !important;
  grid-row:2 !important;
}

.stat-card:nth-child(4):before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:43% !important;
  top:0 !important;
  bottom:0 !important;
  width:1px !important;
  background:rgba(17,17,15,.28) !important;
}

.stat-card:nth-child(1) .stat-number{
  font-size:clamp(70px,8.3vw,132px) !important;
}

.stat-number{
  font:400 clamp(48px,5.4vw,86px)/.84 Arial,Helvetica,sans-serif !important;
  letter-spacing:-.065em !important;
  color:#111 !important;
  margin:0 !important;
}

.stat-label{
  margin-top:12px !important;
  font:700 10px/1.15 Arial,Helvetica,sans-serif !important;
  letter-spacing:.02em !important;
  color:#111 !important;
}

.stat-suffix{
  font-size:.52em !important;
  vertical-align:top !important;
  margin-left:4px !important;
}

/* Avoid old V49 rules forcing a 4-column strip */
.services-stats .stat-card{
  border-bottom:0 !important;
}

@media(max-width:800px){
  .services-stats-head{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .services-stats-head h2{
    width:100% !important;
  }
  .services-stats-grid{
    width:calc(100% - 40px) !important;
    margin-left:20px !important;
    margin-right:20px !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:auto !important;
  }
  .services-stats-grid:after{
    display:none !important;
  }
  .stat-card:nth-child(n){
    grid-column:auto !important;
    grid-row:auto !important;
    min-height:165px !important;
    padding:24px 18px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(17,17,15,.25) !important;
  }
  .stat-card:nth-child(odd){
    border-right:1px solid rgba(17,17,15,.25) !important;
  }
  .stat-card:nth-child(4):before{
    display:none !important;
  }
}
\n\n/* V52 — Contact details replace the old large heading */
.contact-form-details{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:26px !important;
  padding-right:clamp(28px,3vw,46px) !important;
}
.contact-heading-info-item{
  border-top:1px solid #aaa;
  padding-top:11px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
}
.contact-heading-info-item .contact-info-kicker{
  font-size:9px !important;
  letter-spacing:.12em !important;
  color:#666 !important;
  margin-bottom:7px !important;
}
.contact-heading-info-item a{
  color:#111;
  text-decoration:none;
  font-size:clamp(14px,1.15vw,18px);
  line-height:1.42;
}
@media(max-width:900px){
  .contact-form-details{
    border-right:0 !important;
    border-bottom:1px solid #bdbdbd !important;
    padding-right:0 !important;
    padding-bottom:28px !important;
  }
}


/* =========================================================
   V53 — CONTACT: clean 3-column details + breathing room
   ========================================================= */

/* Contact details replacing the old headline */
.contact-page .contact-top-details,
.contact-page .contact-details-top,
.contact-page .contact-intro-details{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  column-gap:38px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
}

.contact-page .contact-top-details > *,
.contact-page .contact-details-top > *,
.contact-page .contact-intro-details > *{
  min-width:0 !important;
  padding-top:14px !important;
  border-top:1px solid rgba(17,17,15,.28) !important;
}

/* Give the map/footer area some breathing room */
.contact-page .contact-map,
.contact-page .map-wrap,
.contact-page .contact-map-wrap,
.contact-page iframe[src*="google"]{
  margin-bottom:0 !important;
}

.contact-page main{
  padding-bottom:72px !important;
}

.contact-page footer,
body.contact-page footer{
  margin-top:0 !important;
}

@media(max-width:760px){
  .contact-page .contact-top-details,
  .contact-page .contact-details-top,
  .contact-page .contact-intro-details{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .contact-page main{
    padding-bottom:45px !important;
  }
}


/* V54 — exact Contact fixes */
.contact-editorial-page .contact-form-heading.contact-form-details{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:48px !important;
  width:100% !important;
  max-width:none !important;
  align-items:start !important;
  margin-bottom:58px !important;
}

.contact-editorial-page .contact-form-details .contact-heading-info-item{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-width:0 !important;
  padding-top:16px !important;
  border-top:1px solid rgba(17,17,15,.28) !important;
}

.contact-editorial-page .contact-form-details .contact-heading-info-item a{
  display:block !important;
  width:100% !important;
}

.contact-editorial-page .contact-map-wrap{
  padding-bottom:72px !important;
}

.contact-editorial-page + .site-footer{
  margin-top:0 !important;
}

@media(max-width:760px){
  .contact-editorial-page .contact-form-heading.contact-form-details{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .contact-editorial-page .contact-map-wrap{
    padding-bottom:44px !important;
  }
}

/* V55 — Contact details as 3 stacked rows */
.contact-editorial-page .contact-form-heading.contact-form-details{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  width:100% !important;
  max-width:360px !important;
  margin-bottom:58px !important;
}
.contact-editorial-page .contact-form-details .contact-heading-info-item{
  display:block !important;
  width:100% !important;
  padding:16px 0 22px !important;
  border-top:1px solid rgba(17,17,15,.28) !important;
}
.contact-editorial-page .contact-form-details .contact-heading-info-item span,
.contact-editorial-page .contact-form-details .contact-heading-info-item small,
.contact-editorial-page .contact-form-details .contact-heading-info-item label{
  display:block !important;
  margin:0 0 12px !important;
}
.contact-editorial-page .contact-form-details .contact-heading-info-item a,
.contact-editorial-page .contact-form-details .contact-heading-info-item p{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  line-height:1.45 !important;
}
.contact-editorial-page .contact-form-details .contact-heading-info-item br{
  display:block !important;
}


/* =========================================================
   V56 — Project opening: make BOTH black panels animate smoothly
   ========================================================= */

.project-entry{
  overflow:hidden !important;
  pointer-events:none !important;
}

/* Give both black panels the same smooth easing */
.project-entry .project-entry-panel{
  transition:
    transform 1.15s cubic-bezier(.16,1,.3,1),
    opacity .9s cubic-bezier(.16,1,.3,1) !important;
  will-change:transform,opacity !important;
  backface-visibility:hidden !important;
}

/* Small stagger, but no abrupt jump */
.project-entry .project-entry-panel:nth-child(1){
  transition-delay:0s !important;
}
.project-entry .project-entry-panel:nth-child(2){
  transition-delay:.10s !important;
}

/* Entry copy fades with the panels rather than disappearing suddenly */
.project-entry .project-entry-copy{
  transition:
    opacity .65s ease,
    transform .8s cubic-bezier(.16,1,.3,1) !important;
  will-change:opacity,transform !important;
}

/* When the entry leaves, both halves slide away smoothly */
.project-entry.is-leaving .project-entry-panel:nth-child(1),
.project-entry.is-open .project-entry-panel:nth-child(1),
.project-entry.done .project-entry-panel:nth-child(1){
  transform:translateY(-102%) !important;
}

.project-entry.is-leaving .project-entry-panel:nth-child(2),
.project-entry.is-open .project-entry-panel:nth-child(2),
.project-entry.done .project-entry-panel:nth-child(2){
  transform:translateY(102%) !important;
}

.project-entry.is-leaving .project-entry-copy,
.project-entry.is-open .project-entry-copy,
.project-entry.done .project-entry-copy{
  opacity:0 !important;
  transform:translateY(-10px) !important;
}


/* =========================================================
   V57 — Project entry like curtains:
   slower, horizontal only, first side then second
   ========================================================= */

.project-entry{
  overflow:hidden !important;
}

/* Both panels move horizontally only */
.project-entry .project-entry-panel{
  transition:
    transform 1.8s cubic-bezier(.22,1,.36,1),
    opacity 1.2s ease !important;
  will-change:transform,opacity !important;
  backface-visibility:hidden !important;
}

/* First curtain starts first */
.project-entry .project-entry-panel:nth-child(1){
  transition-delay:.18s !important;
}

/* Second curtain follows after a noticeable pause */
.project-entry .project-entry-panel:nth-child(2){
  transition-delay:.62s !important;
}

/* Keep copy visible a little longer, then fade smoothly */
.project-entry .project-entry-copy{
  transition:
    opacity .9s ease .2s !important;
  transform:none !important;
}

/* Curtain opening: left panel goes left, right panel goes right */
.project-entry.is-leaving .project-entry-panel:nth-child(1),
.project-entry.is-open .project-entry-panel:nth-child(1),
.project-entry.done .project-entry-panel:nth-child(1){
  transform:translateX(-102%) !important;
}

.project-entry.is-leaving .project-entry-panel:nth-child(2),
.project-entry.is-open .project-entry-panel:nth-child(2),
.project-entry.done .project-entry-panel:nth-child(2){
  transform:translateX(102%) !important;
}

.project-entry.is-leaving .project-entry-copy,
.project-entry.is-open .project-entry-copy,
.project-entry.done .project-entry-copy{
  opacity:0 !important;
  transform:none !important;
}


/* =========================================================
   V58 — Ultra-smooth project curtain
   GPU-friendly transform-only motion, softer easing
   ========================================================= */

.project-entry{
  contain:layout paint style !important;
  transform:translateZ(0) !important;
}

.project-entry .project-entry-panel{
  opacity:1 !important;
  transform:translate3d(0,0,0) !important;
  transition-property:transform !important;
  transition-duration:2.05s !important;
  transition-timing-function:cubic-bezier(.18,.72,.18,1) !important;
  will-change:transform !important;
  backface-visibility:hidden !important;
  perspective:1000px !important;
}

/* Smooth stagger */
.project-entry .project-entry-panel:nth-child(1){
  transition-delay:.12s !important;
}
.project-entry .project-entry-panel:nth-child(2){
  transition-delay:.52s !important;
}

/* No opacity animation on panels — prevents visible stutter */
.project-entry.is-leaving .project-entry-panel:nth-child(1),
.project-entry.is-open .project-entry-panel:nth-child(1),
.project-entry.done .project-entry-panel:nth-child(1){
  transform:translate3d(-101.5%,0,0) !important;
}

.project-entry.is-leaving .project-entry-panel:nth-child(2),
.project-entry.is-open .project-entry-panel:nth-child(2),
.project-entry.done .project-entry-panel:nth-child(2){
  transform:translate3d(101.5%,0,0) !important;
}

/* Text fade remains simple and independent */
.project-entry .project-entry-copy{
  transform:translateZ(0) !important;
  transition:opacity .8s ease !important;
  will-change:opacity !important;
}

.project-entry.is-leaving .project-entry-copy,
.project-entry.is-open .project-entry-copy,
.project-entry.done .project-entry-copy{
  opacity:0 !important;
}

/* Avoid any visibility switch before movement has fully finished */
body.project-loaded .project-entry{
  visibility:visible !important;
}

.project-entry.done{
  visibility:hidden !important;
}


/* =========================================================
   V59 — PROJECT STORY PAGES
   Editorial, scroll-driven, image + facts + text composition
   ========================================================= */

.project-story-page{
  background:#F3F0E9 !important;
  color:#111;
}

.project-story-hero{
  height:92vh;
  min-height:680px;
  position:relative;
  overflow:hidden;
  background:#111;
}

.project-story-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.72);
}

.project-story-veil{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.16),rgba(0,0,0,.02) 38%,rgba(0,0,0,.34));
}

.project-story-hero-copy{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:2.7vw !important;
  color:#fff;
}

.project-story-kicker{
  margin:0 0 18px;
  font:600 10px/1 Arial,Helvetica,sans-serif;
}

.project-story-hero h1{
  margin:0;
  max-width:1000px;
  font:400 clamp(52px,7vw,112px)/.9 Arial,Helvetica,sans-serif;
  letter-spacing:-.065em;
}

.project-story-hero-foot{
  margin-top:28px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.45);
  display:flex;
  justify-content:space-between;
  gap:30px;
  font:500 10px/1 Arial,Helvetica,sans-serif;
}

body:has(.project-story-page)>header.shell{
  position:absolute !important;
  z-index:100 !important;
}

body:has(.project-story-page)>header.shell .nav a,
body:has(.project-story-page)>header.shell .nav span,
body:has(.project-story-page)>header.shell .nav button{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.22) !important;
}

.project-story-intro{
  display:grid;
  grid-template-columns:22% 1fr;
  gap:5vw;
  padding-top:9vw !important;
  padding-bottom:10vw !important;
}

.project-story-intro-label,
.story-mini-label,
.story-facts-label{
  font:600 10px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.03em;
}

.project-story-intro-main h2{
  margin:0;
  max-width:980px;
  font:400 clamp(42px,5.25vw,82px)/.98 Arial,Helvetica,sans-serif;
  letter-spacing:-.055em;
}

.project-story-intro-main>p{
  width:min(520px,72%);
  margin:34px 0 0 auto;
  font:400 14px/1.55 Arial,Helvetica,sans-serif;
}

.project-story-feature{
  display:grid;
  grid-template-columns:1.75fr .75fr;
  gap:clamp(30px,5vw,88px);
  align-items:start;
  padding-bottom:11vw !important;
}

.story-image{
  margin:0;
  overflow:hidden;
  background:#ddd;
}

.story-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform 1.4s cubic-bezier(.16,1,.3,1);
}

.story-reveal.is-visible .story-image img{
  transform:scale(1);
}

.story-image-large{
  aspect-ratio:1.52;
}

.story-facts{
  padding-top:14px;
  border-top:1px solid rgba(17,17,15,.28);
}

.story-facts-source .project-details-heading{
  display:block !important;
}

.story-facts-source .project-details-heading>h2{
  display:none !important;
}

.story-facts-source .project-details-list{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:0 18px !important;
  margin:20px 0 0 !important;
}

.story-facts-source dt,
.story-facts-source dd{
  margin:0 !important;
  padding:10px 0 !important;
  border-bottom:1px solid rgba(17,17,15,.18);
  font-size:11px !important;
  line-height:1.3 !important;
}

.story-facts-source dt{
  opacity:.55;
}

.project-story-duo{
  display:grid;
  grid-template-columns:.75fr 1.15fr;
  gap:9vw;
  align-items:center;
  padding-bottom:11vw !important;
}

.story-image-portrait{
  aspect-ratio:.82;
}

.story-text-block{
  max-width:760px;
}

.story-text-block h3,
.story-card-copy h3{
  margin:18px 0 0;
  font:400 clamp(34px,4vw,64px)/1 Arial,Helvetica,sans-serif;
  letter-spacing:-.05em;
}

.story-rule-list{
  display:grid;
  margin-top:48px;
  border-top:1px solid rgba(17,17,15,.24);
}

.story-rule-list span{
  padding:14px 0;
  border-bottom:1px solid rgba(17,17,15,.18);
  font:500 12px/1 Arial,Helvetica,sans-serif;
}

.project-story-wide{
  position:relative;
  margin:0 2vw 11vw;
  height:76vh;
  min-height:620px;
  overflow:hidden;
}

.project-story-wide figure{
  margin:0;
  width:100%;
  height:100%;
}

.project-story-wide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.78);
}

.project-story-wide-title{
  position:absolute;
  left:3vw;
  bottom:3vw;
  max-width:850px;
  color:#fff;
  font:400 clamp(44px,5.4vw,86px)/.95 Arial,Helvetica,sans-serif;
  letter-spacing:-.055em;
}

.project-story-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2vw;
  padding-bottom:11vw !important;
}

.story-card{
  margin:0;
  position:relative;
  overflow:hidden;
}

.story-card img{
  width:100%;
  aspect-ratio:1.1;
  object-fit:cover;
  display:block;
}

.story-card figcaption{
  padding-top:9px;
  font:600 10px/1 Arial,Helvetica,sans-serif;
}

.story-card-copy{
  grid-column:2;
  padding-top:6vw;
  max-width:650px;
}

.project-story-quote{
  padding-top:1vw !important;
  padding-bottom:11vw !important;
}

.project-story-quote blockquote{
  width:min(980px,82%);
  margin:0 auto;
  font:400 clamp(42px,5vw,78px)/.98 Arial,Helvetica,sans-serif;
  letter-spacing:-.052em;
  text-align:center;
}

.project-story-endgrid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:2vw;
  align-items:end;
  padding-bottom:8vw !important;
}

.story-end-a{aspect-ratio:1.35}
.story-end-b{aspect-ratio:.8}

.project-story-next{
  padding-top:24px !important;
  padding-bottom:8vw !important;
  border-top:1px solid rgba(17,17,15,.25);
}

.project-story-next a{
  color:#111;
  font:600 11px/1 Arial,Helvetica,sans-serif;
  text-decoration:none;
}

/* scroll reveal */
.story-reveal{
  opacity:0;
  transform:translateY(56px);
  transition:
    opacity 1s cubic-bezier(.16,1,.3,1),
    transform 1.15s cubic-bezier(.16,1,.3,1);
}

.story-reveal.is-visible{
  opacity:1;
  transform:none;
}

@media(max-width:900px){
  .project-story-hero{
    height:82vh;
    min-height:600px;
  }
  .project-story-intro,
  .project-story-feature,
  .project-story-duo,
  .project-story-cards,
  .project-story-endgrid{
    grid-template-columns:1fr;
  }
  .project-story-intro{
    gap:30px;
  }
  .project-story-intro-main>p{
    width:100%;
    margin-left:0;
  }
  .story-facts{
    margin-top:20px;
  }
  .project-story-wide{
    height:62vh;
    min-height:500px;
    margin-left:20px;
    margin-right:20px;
  }
  .story-card-copy{
    grid-column:1;
  }
  .project-story-quote blockquote{
    width:100%;
  }
}


/* V60 — project pages with no real intro copy should flow directly into content */
.project-story-hero + .project-story-feature{
  padding-top:8vw !important;
}

/* V61 — Vagia-specific editorial refinement */
body:has(.project-story-page) .project-story-intro-main h2{font-size:clamp(38px,4.35vw,68px);line-height:1.01;max-width:900px}
body:has(.project-story-page) .project-story-intro-main>p{margin-top:28px}
.project-story-cards .story-card-small{grid-column:1;width:58%;margin-top:4.5vw;justify-self:start}
.project-story-cards .story-card-small img{aspect-ratio:.86}
.project-story-cards .story-card-copy{grid-column:2;grid-row:2;align-self:center;padding-top:0}

/* V63 — Project 02 / Voula roof garden editorial refinement */
body:has(.project-story-page) .project-story-intro-main h2{font-size:clamp(38px,4.15vw,66px);line-height:1.02}
body:has(.project-story-page) .project-story-intro-main>p{max-width:660px}

/* V64 — all project case studies: consistent editorial system */
.project-story-page .project-story-intro-main h2,
.project-story-page .project-story-detail-copy h2,
.project-story-page .project-story-statement h2{
  font-size:clamp(34px,4vw,64px)!important;
  line-height:1.03!important;
  letter-spacing:-.045em;
}
.project-story-page .project-story-intro{padding-top:clamp(80px,10vw,150px);padding-bottom:clamp(70px,9vw,135px)}
.project-story-page .project-story-detail{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px)}
.project-story-page .project-story-statement{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px)}
.project-story-page .project-story-detail-copy{max-width:720px}
@media (max-width:800px){
 .project-story-page .project-story-intro-main h2,
 .project-story-page .project-story-detail-copy h2,
 .project-story-page .project-story-statement h2{font-size:clamp(32px,9vw,48px)!important}
}

/* V66 — editorial year/month timeline */
.timeline-gallery-page{background:#f3f0e9;color:#111;padding-top:42px}
.timeline-gallery-head{padding-top:clamp(70px,9vw,140px);padding-bottom:clamp(70px,8vw,120px)}
.timeline-gallery-head .info-eyebrow{font-size:12px;letter-spacing:.13em;margin-bottom:28px}
.timeline-title-row{display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:end;border-top:1px solid rgba(0,0,0,.22);padding-top:26px}
.timeline-title-row h1{font-size:clamp(52px,7vw,112px);line-height:.88;letter-spacing:-.065em;font-weight:500;margin:0;max-width:1000px}
.timeline-title-row p{font-size:15px;line-height:1.5;max-width:430px;margin:0 0 6px}
.timeline-gallery{padding-bottom:10vw}
.tl-year-section{border-top:1px solid rgba(0,0,0,.32);padding:28px 0 clamp(100px,12vw,190px)}
.tl-year-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,25%);gap:26px;align-items:stretch;margin-bottom:34px}
.tl-year-number{font-size:clamp(105px,18vw,290px);line-height:.72;letter-spacing:-.085em;font-weight:500;align-self:end}
.tl-year-side{background:#d9d5cd;min-height:300px;padding:28px 30px;display:flex;flex-direction:column}
.tl-side-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:auto}
.tl-year-side h2{font-size:clamp(25px,2.25vw,39px);line-height:1.02;letter-spacing:-.04em;font-weight:500;margin:40px 0 16px}
.tl-year-side p{font-size:13px;line-height:1.45;max-width:390px;margin:0}
.tl-side-meta{display:flex;justify-content:space-between;border-top:1px solid rgba(0,0,0,.28);padding-top:13px;margin-top:28px;font-size:10px;letter-spacing:.08em}
.tl-month-strip{display:grid;grid-template-columns:repeat(12,minmax(105px,1fr));gap:10px;overflow-x:auto;padding-bottom:14px;scrollbar-width:thin}
.tl-month-card{margin:0;min-width:0}
.tl-month-image{height:clamp(250px,32vw,520px);overflow:hidden;background:#ddd}
.tl-month-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.tl-month-card:hover img{transform:scale(1.035);filter:saturate(1)}
.tl-month-card figcaption{position:relative;padding:12px 2px 0;min-height:58px}
.tl-month-card figcaption b{position:absolute;right:0;top:-30px;font-size:34px;line-height:1;letter-spacing:-.05em}
.tl-month-card figcaption span{display:block;font-size:12px;font-weight:700;letter-spacing:.07em}
.tl-month-card figcaption small{display:block;font-size:10px;opacity:.55;margin-top:3px}
@media(max-width:900px){
 .timeline-title-row,.tl-year-top{grid-template-columns:1fr}
 .tl-year-number{font-size:clamp(92px,27vw,180px);margin:30px 0 15px}
 .tl-year-side{min-height:260px}
 .tl-month-strip{grid-template-columns:repeat(12,150px)}
 .tl-month-image{height:330px}
}

/* V67 corrected reference-style timeline */
.tl-year-section{border-top:1px solid rgba(0,0,0,.3);padding:56px 0 150px}
.tl-year-heading{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:18px;margin-bottom:58px}
.tl-year-heading h2{margin:0;font-size:clamp(105px,15vw,235px);line-height:.68;letter-spacing:-.085em;font-weight:500}
.tl-year-index{font-size:12px;letter-spacing:.14em;font-weight:700;padding-bottom:8px}
.tl-year-line{height:1px;background:rgba(0,0,0,.25);margin:0 0 8px 10px}
.tl-year-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,22vw,355px);gap:12px;align-items:stretch}
.tl-months-window{min-width:0;overflow:hidden}
.tl-month-strip{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:18px;scroll-snap-type:x proximity;scrollbar-width:thin}
.tl-month-card{flex:0 0 clamp(175px,18.2vw,290px);margin:0;scroll-snap-align:start}
.tl-month-image{height:clamp(410px,46vw,680px);overflow:hidden;background:#d9d5cd}
.tl-month-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .7s ease,filter .5s ease}
.tl-month-card:hover img{transform:scale(1.03);filter:saturate(1)}
.tl-month-card figcaption{position:relative;padding:13px 3px 0;min-height:72px}
.tl-month-card figcaption b{position:absolute;right:2px;top:-28px;font-size:34px;line-height:1;letter-spacing:-.055em}
.tl-month-card figcaption span{display:block;font-size:13px;font-weight:700;letter-spacing:.07em}
.tl-month-card figcaption small{display:block;font-size:10px;opacity:.55;margin-top:4px}
.tl-scroll-note{margin-top:8px;font-size:9px;letter-spacing:.13em;opacity:.55}
.tl-year-side{background:#d8d4cd;padding:25px;display:flex;flex-direction:column;min-height:100%}
.tl-side-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(0,0,0,.24)}
.tl-side-kicker{font-size:11px;font-weight:700;letter-spacing:.12em}
.tl-side-year{font-size:12px;letter-spacing:.08em}
.tl-side-body{margin:auto 0;padding:42px 0}
.tl-side-body h3{margin:0 0 20px;font-size:clamp(27px,2.2vw,38px);line-height:1.02;letter-spacing:-.045em;font-weight:500}
.tl-side-body p{margin:0;font-size:13px;line-height:1.48;max-width:300px}
.tl-side-list{display:grid;gap:8px;border-top:1px solid rgba(0,0,0,.24);padding-top:16px;font-size:10px;letter-spacing:.10em}
@media(max-width:900px){
 .tl-year-heading{grid-template-columns:auto 1fr}
 .tl-year-line{display:none}
 .tl-year-heading h2{font-size:clamp(90px,27vw,170px)}
 .tl-year-layout{grid-template-columns:1fr}
 .tl-year-side{order:-1;min-height:340px}
 .tl-month-card{flex-basis:68vw}
 .tl-month-image{height:105vw;max-height:570px}
}

/* V68 — Timeline directional reveal animations
   1) Years enter vertically, from above toward below.
   2) Month cards enter horizontally, from left toward right, staggered. */

.tl-year-section .tl-year-heading,
.tl-year-section .tl-year-side{
  opacity:0;
  transform:translate3d(0,-72px,0);
  will-change:transform,opacity;
}

.tl-year-section.is-year-visible .tl-year-heading{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:
    transform 1.15s cubic-bezier(.22,.75,.18,1),
    opacity .72s ease;
}

.tl-year-section.is-year-visible .tl-year-side{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:
    transform 1.15s cubic-bezier(.22,.75,.18,1) .12s,
    opacity .72s ease .12s;
}

.tl-year-section .tl-month-card{
  opacity:0;
  transform:translate3d(-72px,0,0);
  will-change:transform,opacity;
}

.tl-year-section.is-months-visible .tl-month-card{
  opacity:1;
  transform:translate3d(0,0,0);
  transition:
    transform 1s cubic-bezier(.22,.75,.18,1),
    opacity .62s ease;
}

.tl-year-section.is-months-visible .tl-month-card:nth-child(1){transition-delay:.04s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(2){transition-delay:.12s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(3){transition-delay:.20s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(4){transition-delay:.28s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(5){transition-delay:.36s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(6){transition-delay:.44s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(7){transition-delay:.52s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(8){transition-delay:.60s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(9){transition-delay:.68s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(10){transition-delay:.76s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(11){transition-delay:.84s}
.tl-year-section.is-months-visible .tl-month-card:nth-child(12){transition-delay:.92s}

.tl-year-section .tl-scroll-note{
  opacity:0;
  transform:translate3d(-30px,0,0);
}
.tl-year-section.is-months-visible .tl-scroll-note{
  opacity:.55;
  transform:none;
  transition:transform .8s cubic-bezier(.22,.75,.18,1) .7s,opacity .55s ease .7s;
}

@media (prefers-reduced-motion: reduce){
  .tl-year-section .tl-year-heading,
  .tl-year-section .tl-year-side,
  .tl-year-section .tl-month-card,
  .tl-year-section .tl-scroll-note{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* V69 — robust timeline reveal */
.tl-year-section .tl-year-heading{
  opacity:0!important;
  transform:translate3d(0,-90px,0)!important;
}
.tl-year-section.timeline-active .tl-year-heading{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  transition:transform 1.05s cubic-bezier(.22,.8,.2,1),opacity .65s ease!important;
}

.tl-year-section .tl-year-side{
  opacity:0!important;
  transform:translate3d(0,-55px,0)!important;
}
.tl-year-section.timeline-active .tl-year-side{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  transition:transform .95s cubic-bezier(.22,.8,.2,1) .16s,opacity .6s ease .16s!important;
}

/* Months move visibly LEFT -> RIGHT */
.tl-year-section .tl-month-card{
  opacity:0!important;
  transform:translate3d(-120px,0,0)!important;
}
.tl-year-section.timeline-active .tl-month-card{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  transition-property:transform,opacity!important;
  transition-duration:.88s,.55s!important;
  transition-timing-function:cubic-bezier(.22,.8,.2,1),ease!important;
}

.tl-year-section.timeline-active .tl-month-card:nth-child(1){transition-delay:.22s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(2){transition-delay:.34s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(3){transition-delay:.46s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(4){transition-delay:.58s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(5){transition-delay:.70s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(6){transition-delay:.82s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(7){transition-delay:.94s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(8){transition-delay:1.06s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(9){transition-delay:1.18s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(10){transition-delay:1.30s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(11){transition-delay:1.42s!important}
.tl-year-section.timeline-active .tl-month-card:nth-child(12){transition-delay:1.54s!important}

.tl-year-section .tl-scroll-note{
  opacity:0!important;
  transform:translate3d(-60px,0,0)!important;
}
.tl-year-section.timeline-active .tl-scroll-note{
  opacity:.55!important;
  transform:translate3d(0,0,0)!important;
  transition:transform .8s cubic-bezier(.22,.8,.2,1) 1s,opacity .45s ease 1s!important;
}

@media (prefers-reduced-motion: reduce){
  .tl-year-section .tl-year-heading,
  .tl-year-section .tl-year-side,
  .tl-year-section .tl-month-card,
  .tl-year-section .tl-scroll-note{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* V70 — active month autoplay + monochrome state */
.tl-month-card{
  cursor:pointer;
}

.tl-month-card .tl-month-image img{
  filter:grayscale(1) saturate(0) contrast(.95)!important;
  opacity:.72;
  transform:scale(1.002);
  transition:
    filter .55s ease,
    opacity .55s ease,
    transform .7s cubic-bezier(.22,.8,.2,1)!important;
}

.tl-month-card.is-current .tl-month-image img{
  filter:grayscale(0) saturate(.98) contrast(1)!important;
  opacity:1;
  transform:scale(1.018);
}

.tl-month-card .tl-month-image img.is-switching{
  opacity:.22!important;
  transform:scale(1.035);
}

.tl-month-card:not(.is-current) figcaption{
  opacity:.46;
  transition:opacity .45s ease;
}

.tl-month-card.is-current figcaption{
  opacity:1;
}

.tl-month-card.is-current figcaption span{
  font-weight:800;
}

.tl-photo-progress{
  position:absolute;
  left:12px;
  right:12px;
  bottom:12px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:5px;
  pointer-events:none;
}

.tl-month-image{
  position:relative;
}

.tl-photo-progress i{
  display:block;
  height:2px;
  background:rgba(255,255,255,.38);
  overflow:hidden;
  position:relative;
}

.tl-photo-progress i::after{
  content:"";
  position:absolute;
  inset:0;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
}

.tl-month-card.is-current .tl-photo-progress i.done::after{
  transform:scaleX(1);
}

.tl-month-card.is-current .tl-photo-progress i.active::after{
  animation:tlPhotoProgress 1.65s linear forwards;
}

@keyframes tlPhotoProgress{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

@media (prefers-reduced-motion: reduce){
  .tl-photo-progress i.active::after{animation:none;transform:scaleX(1)}
}

/* V71 performance pass */
.tl-month-strip{
  scroll-behavior:auto!important;
  contain:layout paint;
  -webkit-overflow-scrolling:touch;
}
.tl-month-card{
  contain:layout paint;
  content-visibility:auto;
  contain-intrinsic-size:290px 700px;
}
.tl-month-image{
  contain:paint;
  transform:translateZ(0);
}
.tl-month-card .tl-month-image img{
  will-change:opacity,filter;
  transform:translateZ(0)!important;
  backface-visibility:hidden;
  transition:filter .32s ease,opacity .28s ease!important;
}
.tl-month-card.is-current .tl-month-image img{
  transform:translateZ(0)!important;
}
.tl-month-card .tl-month-image img.is-switching{
  opacity:1!important;
  transform:translateZ(0)!important;
}
.tl-month-card:not(.is-current) figcaption{
  transition:opacity .28s ease!important;
}
.tl-photo-progress i.active::after{
  animation-duration:1.05s!important;
}

/* V72 — continuous 1/2/3 photos, 4th beat advances the rail */
.tl-photo-progress i.active::after{
  animation-duration:.9s!important;
}

/* Keep the rail movement visually distinct from photo changes */
.tl-month-strip{
  scroll-snap-type:none!important;
}

/* Active month stays fully colored until the 4th beat moves to the next one */
.tl-month-card.is-current .tl-month-image img{
  filter:grayscale(0) saturate(1) contrast(1)!important;
  opacity:1!important;
}

/* V74 — Timeline header/menu must be dark on the light background */
body:has(.timeline-page) .site-header .nav a,
body:has(.timeline-page) .site-header .lang button,
body:has(.timeline-page) .site-header .lang,
body:has(#timelineGalleryYears) .site-header .nav a,
body:has(#timelineGalleryYears) .site-header .lang button,
body:has(#timelineGalleryYears) .site-header .lang{
  color:#111!important;
  text-shadow:none!important;
}

body:has(.timeline-page) .site-header .nav a::after,
body:has(#timelineGalleryYears) .site-header .nav a::after{
  background:#111!important;
}

body:has(.timeline-page) .site-header .lang,
body:has(#timelineGalleryYears) .site-header .lang{
  border-color:rgba(17,17,17,.35)!important;
}

/* V76 — Timeline uses dark navigation on its light background */
body.timeline-page > header.shell .nav > a,
body.timeline-page > header.shell .nav > a span,
body.timeline-page > header.shell .nav .lang,
body.timeline-page > header.shell .nav .lang span,
body.timeline-page > header.shell .nav .lang button,
body.timeline-page > header.shell .menu-toggle{
  color:#111!important;
  text-shadow:none!important;
}
body.timeline-page > header.shell .nav > a::after{
  background:#111!important;
}

/* V79 — HOME: larger white OUTCOME logo */
.home-page > header.shell .logo,
.home-page > header.shell > a:first-child .logo{
  display:block !important;
  width:260px !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  filter:brightness(0) invert(1) !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}
@media (max-width:800px){
  .home-page > header.shell .logo,
  .home-page > header.shell > a:first-child .logo{
    width:220px !important;
    max-width:55vw !important;
  }
}

/* V80 — same larger logo dimensions across all pages */
header.shell .logo{
  width:260px!important;
  height:auto!important;
}

/* Keep the Home logo white only */
body.home-page header.shell .logo{
  filter:brightness(0) invert(1)!important;
}

@media (max-width:760px){
  header.shell .logo{
    width:210px!important;
    height:auto!important;
  }
}

/* V81 — EXACT same logo dimensions on every page */
html body header.shell a:has(> img.logo){
  display:block!important;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  height:auto!important;
  flex:0 0 260px!important;
}
html body header.shell img.logo{
  display:block!important;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Color only: Home stays white. Geometry remains identical everywhere. */
html body.home-page header.shell img.logo{
  filter:brightness(0) invert(1)!important;
}

@media (max-width:760px){
  html body header.shell a:has(> img.logo){
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
    flex-basis:210px!important;
  }
  html body header.shell img.logo{
    width:210px!important;
    min-width:210px!important;
    max-width:210px!important;
  }
}

/* V82 — Home hero autoplay editorial layout */
.home-page .hero-fixed-statement{
  max-width:1080px!important;
  margin:0 0 28px!important;
  font-size:clamp(34px,4.4vw,70px)!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
  font-weight:400!important;
  color:#fff!important;
}

.home-page .home-hero-bottom{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:40px!important;
  align-items:center!important;
  min-height:72px!important;
  border-top:1px solid rgba(255,255,255,.55)!important;
  padding-top:18px!important;
}

.home-page .hero-feature-index{
  grid-column:auto!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  font-size:clamp(10px,.78vw,13px)!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  transition:opacity .22s ease, transform .22s ease!important;
}

.home-page .hero-more-link{
  justify-self:end!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}

.home-page .hero-feature-copy,
.home-page .hero-feature-arrows{
  display:none!important;
}

.home-page .home-hero-v2 .hero-slide-image{
  transition:opacity .36s ease, transform 1.1s cubic-bezier(.22,1,.36,1)!important;
}

.home-page .home-hero-v2.hero-is-changing .hero-slide-image{
  opacity:.25!important;
  transform:scale(1.012)!important;
}

.home-page .home-hero-v2.hero-is-changing .hero-slide-index{
  opacity:0!important;
  transform:translateY(6px)!important;
}

@media(max-width:800px){
  .home-page .hero-fixed-statement{
    font-size:clamp(30px,9.5vw,54px)!important;
    margin-bottom:24px!important;
  }
  .home-page .home-hero-bottom{
    grid-template-columns:1fr auto!important;
    gap:18px!important;
    min-height:86px!important;
  }
  .home-page .hero-feature-index{
    font-size:9px!important;
    line-height:1.25!important;
  }
  .home-page .hero-more-link{
    padding:0 16px!important;
    min-width:auto!important;
  }
}

/* V83 — fixed Home statement on two intentional lines */
.home-page .hero-fixed-statement > span{
  display:block!important;
}

/* V85 — Home services: scroll-drawn process diagram */
.home-page .home-services-flow{
  --flow-progress:0;
  position:relative;
  min-height:185vh;
  background:#f3f0e9;
}

.home-page .home-services-flow-sticky{
  position:sticky;
  top:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.home-page .home-services-flow-inner{
  width:100%;
  padding-top:5vh;
  padding-bottom:5vh;
}

.home-page .home-services-flow-label{
  margin-bottom:clamp(44px,7vh,88px);
  transform:translateY(-18px);
}

.home-page .services-flow-track{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(120px,.9fr) minmax(180px,1fr) minmax(120px,.9fr) minmax(180px,1fr);
  align-items:center;
  width:100%;
}

.home-page .services-flow-node{
  position:relative;
  min-height:clamp(170px,17vw,250px);
  border:1px solid #111;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px 20px 20px;
  color:#111;
  text-decoration:none;
  background:transparent;
  opacity:0;
  transform:translateX(-22px);
  transition:opacity .12s linear, transform .12s linear;
}

.home-page .services-flow-num{
  font-size:11px;
  letter-spacing:.05em;
}

.home-page .services-flow-node strong{
  font-size:clamp(24px,2.4vw,40px);
  line-height:.95;
  font-weight:400;
  letter-spacing:-.035em;
}

.home-page .services-flow-line{
  position:relative;
  height:1px;
  overflow:visible;
  background:rgba(17,17,17,.18);
}

.home-page .services-flow-line > span{
  position:absolute;
  inset:0;
  background:#111;
  transform:scaleX(0);
  transform-origin:left center;
}

/* First box appears first */
.home-page .node-1{
  opacity:clamp(0, calc(var(--flow-progress) * 8), 1);
  transform:translateX(calc((1 - clamp(0, calc(var(--flow-progress) * 8), 1)) * -22px));
}

/* First connector draws from left to right */
.home-page .line-1 > span{
  transform:scaleX(clamp(0, calc((var(--flow-progress) - .14) * 4.7), 1));
}

/* Construction box appears after line 1 */
.home-page .node-2{
  opacity:clamp(0, calc((var(--flow-progress) - .34) * 8), 1);
  transform:translateX(calc((1 - clamp(0, calc((var(--flow-progress) - .34) * 8), 1)) * -22px));
}

/* Second connector */
.home-page .line-2 > span{
  transform:scaleX(clamp(0, calc((var(--flow-progress) - .50) * 4.7), 1));
}

/* Maintenance box is last */
.home-page .node-3{
  opacity:clamp(0, calc((var(--flow-progress) - .70) * 8), 1);
  transform:translateX(calc((1 - clamp(0, calc((var(--flow-progress) - .70) * 8), 1)) * -22px));
}

@media(max-width:850px){
  .home-page .home-services-flow{
    min-height:170vh;
  }
  .home-page .home-services-flow-sticky{
    min-height:100svh;
  }
  .home-page .services-flow-track{
    grid-template-columns:minmax(125px,1fr) minmax(54px,.45fr) minmax(125px,1fr) minmax(54px,.45fr) minmax(125px,1fr);
    width:760px;
    max-width:none;
    transform:scale(.82);
    transform-origin:left center;
  }
  .home-page .home-services-flow-inner{
    overflow:hidden;
  }
  .home-page .services-flow-node{
    min-height:150px;
    padding:14px;
  }
  .home-page .services-flow-node strong{
    font-size:22px;
  }
}

/* V86 — Services flow refinement */
.home-page .home-services-flow{
  min-height:165vh!important;
  margin-top:-6vh!important;
}

.home-page .home-services-flow-sticky{
  align-items:flex-start!important;
  padding-top:8vh!important;
}

.home-page .home-services-flow-inner{
  padding-top:0!important;
  padding-bottom:4vh!important;
}

.home-page .home-services-flow-label{
  margin-bottom:clamp(34px,5vh,58px)!important;
  transform:none!important;
}

.home-page .services-flow-track{
  align-items:center!important;
}

.home-page .services-flow-node{
  min-height:clamp(170px,17vw,250px)!important;
  background:#3b3a37!important;
  color:#f3f0e9!important;
  border-color:#3b3a37!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

.home-page .services-flow-node .services-flow-num{
  position:absolute!important;
  top:14px!important;
  left:16px!important;
  color:#f3f0e9!important;
  opacity:.7!important;
}

.home-page .services-flow-node strong{
  width:100%!important;
  text-align:center!important;
  color:#f3f0e9!important;
  font-size:clamp(24px,2.25vw,38px)!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:-.035em!important;
}

.home-page .services-flow-cta-wrap{
  width:100%!important;
  display:flex!important;
  justify-content:flex-start!important;
  margin-top:26px!important;
}

.home-page .services-flow-cta{
  color:#111!important;
  text-decoration:none!important;
  font-size:12px!important;
  letter-spacing:.02em!important;
  border-bottom:1px solid #111!important;
  padding-bottom:4px!important;
}

@media(max-width:850px){
  .home-page .home-services-flow{
    margin-top:-3vh!important;
    min-height:155vh!important;
  }

  .home-page .home-services-flow-sticky{
    padding-top:7vh!important;
  }

  .home-page .services-flow-node{
    min-height:150px!important;
  }

  .home-page .services-flow-node strong{
    font-size:21px!important;
  }

  .home-page .services-flow-cta-wrap{
    margin-top:18px!important;
  }
}

/* V88 — Home timeline carousel */
.home-page .home-timeline-v88{
  background:#f3f0e9;
  padding:clamp(90px,11vw,160px) 0 clamp(90px,10vw,150px);
  overflow:hidden;
}

.home-page .home-timeline-v88-head{
  text-align:center;
}

.home-page .home-timeline-v88-label{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  margin-bottom:clamp(44px,6vw,72px);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:left;
}

.home-page .home-timeline-v88-label .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#111;
  flex:0 0 auto;
}

.home-page .home-timeline-v88-head h2{
  margin:0 auto clamp(66px,7vw,96px);
  max-width:1050px;
  font-size:clamp(52px,7.3vw,112px);
  line-height:.92;
  font-weight:400;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:#111;
}

.home-page .home-timeline-carousel-shell{
  width:100%;
}

.home-page .home-timeline-carousel-window{
  position:relative;
  width:100%;
  height:clamp(420px,47vw,690px);
  overflow:hidden;
}

.home-page .home-timeline-carousel-track{
  position:relative;
  width:100%;
  height:100%;
}

.home-page .home-timeline-card{
  --slot:0;
  position:absolute;
  top:50%;
  left:50%;
  width:clamp(300px,35vw,540px);
  aspect-ratio:1.34 / 1;
  transform:
    translate(
      calc(-50% + (var(--slot) * clamp(330px,42vw,650px))),
      -50%
    )
    scale(.78);
  opacity:.42;
  transition:
    transform .75s cubic-bezier(.22,1,.36,1),
    opacity .55s ease,
    filter .55s ease;
  text-decoration:none;
  overflow:hidden;
  background:#d7d2ca;
  filter:grayscale(1);
}

.home-page .home-timeline-card.is-active{
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
  filter:grayscale(0);
}

.home-page .home-timeline-card.is-prev,
.home-page .home-timeline-card.is-next{
  opacity:.58;
}

.home-page .home-timeline-card.is-hidden{
  opacity:0;
  pointer-events:none;
}

.home-page .home-timeline-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.home-page .home-timeline-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.16),rgba(0,0,0,0) 45%,rgba(0,0,0,.08));
  pointer-events:none;
}

.home-page .home-timeline-card > span{
  position:absolute;
  top:22px;
  left:24px;
  z-index:2;
  color:#fff;
  font-size:clamp(32px,4.4vw,68px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.04em;
}

.home-page .home-timeline-carousel-controls{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-top:26px;
}

.home-page .home-timeline-carousel-controls button{
  width:52px;
  height:52px;
  border:1px solid #111;
  border-radius:50%;
  background:transparent;
  color:#111;
  font-size:21px;
  cursor:pointer;
  transition:background .25s ease,color .25s ease;
}

.home-page .home-timeline-carousel-controls button:hover{
  background:#111;
  color:#f3f0e9;
}

.home-page .home-timeline-v88-cta{
  margin-top:clamp(42px,5vw,68px);
  text-align:left;
}

.home-page .home-timeline-v88-cta a{
  display:inline-block;
  color:#111;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.02em;
  border-bottom:1px solid #111;
  padding-bottom:4px;
}

@media(max-width:800px){
  .home-page .home-timeline-v88{
    padding-top:76px;
    padding-bottom:90px;
  }

  .home-page .home-timeline-v88-head h2{
    font-size:clamp(42px,12vw,72px);
    margin-bottom:54px;
  }

  .home-page .home-timeline-carousel-window{
    height:430px;
  }

  .home-page .home-timeline-card{
    width:min(72vw,360px);
    transform:
      translate(
        calc(-50% + (var(--slot) * 78vw)),
        -50%
      )
      scale(.78);
  }

  .home-page .home-timeline-card.is-active{
    transform:translate(-50%,-50%) scale(1);
  }

  .home-page .home-timeline-card > span{
    top:18px;
    left:18px;
    font-size:42px;
  }
}

/* V89 — Timeline portrait cards, closer side previews */
.home-page .home-timeline-carousel-window{
  height:clamp(500px,57vw,760px)!important;
}
.home-page .home-timeline-card{
  width:clamp(245px,27vw,390px)!important;
  aspect-ratio:0.68 / 1!important;
  transform:
    translate(
      calc(-50% + (var(--slot) * clamp(270px,31vw,455px))),
      -50%
    )
    scale(.84)!important;
}
.home-page .home-timeline-card.is-active{
  transform:translate(-50%,-50%) scale(1)!important;
}
.home-page .home-timeline-card.is-prev,
.home-page .home-timeline-card.is-next{
  opacity:.66!important;
}

/* Services CTA appears only when the scroll-drawn diagram is complete */
.home-page .services-flow-cta-wrap{
  opacity:clamp(0, calc((var(--flow-progress) - .90) * 12), 1)!important;
  transform:translateY(calc((1 - clamp(0, calc((var(--flow-progress) - .90) * 12), 1)) * 12px))!important;
  pointer-events:none!important;
}
.home-page .home-services-flow[style*="--flow-progress: 1"] .services-flow-cta-wrap{
  pointer-events:auto!important;
}

@media(max-width:800px){
  .home-page .home-timeline-carousel-window{
    height:500px!important;
  }
  .home-page .home-timeline-card{
    width:min(60vw,290px)!important;
    aspect-ratio:.68 / 1!important;
    transform:
      translate(
        calc(-50% + (var(--slot) * 64vw)),
        -50%
      )
      scale(.84)!important;
  }
  .home-page .home-timeline-card.is-active{
    transform:translate(-50%,-50%) scale(1)!important;
  }
}

.home-page .home-services-flow.flow-is-complete .services-flow-cta-wrap{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}

/* V90 — Compact Home timeline so CTA is visible immediately below carousel */
.home-page .home-timeline-v88{
  padding-top:clamp(70px,8vw,110px)!important;
  padding-bottom:clamp(70px,7vw,105px)!important;
}
.home-page .home-timeline-v88-label{
  margin-bottom:clamp(30px,4vw,48px)!important;
}
.home-page .home-timeline-v88-head h2{
  margin-bottom:clamp(42px,4.5vw,62px)!important;
}
.home-page .home-timeline-carousel-window{
  height:clamp(400px,44vw,590px)!important;
}
.home-page .home-timeline-card{
  width:clamp(205px,22vw,315px)!important;
  aspect-ratio:.68 / 1!important;
  transform:
    translate(
      calc(-50% + (var(--slot) * clamp(230px,26vw,375px))),
      -50%
    )
    scale(.84)!important;
}
.home-page .home-timeline-card.is-active{
  transform:translate(-50%,-50%) scale(1)!important;
}
.home-page .home-timeline-carousel-controls{
  margin-top:16px!important;
}
.home-page .home-timeline-v88-cta{
  margin-top:22px!important;
}

@media(max-width:800px){
  .home-page .home-timeline-carousel-window{
    height:390px!important;
  }
  .home-page .home-timeline-card{
    width:min(52vw,245px)!important;
    transform:
      translate(
        calc(-50% + (var(--slot) * 57vw)),
        -50%
      )
      scale(.84)!important;
  }
  .home-page .home-timeline-card.is-active{
    transform:translate(-50%,-50%) scale(1)!important;
  }
  .home-page .home-timeline-v88-cta{
    margin-top:18px!important;
  }
}

/* V92 — Reduce excessive gap between "ΠΟΙΟΙ ΕΙΜΑΣΤΕ" and "ΥΠΗΡΕΣΙΕΣ" */
.home-page .home-services-flow{
  margin-top:-16vh!important;
}

@media(max-width:850px){
  .home-page .home-services-flow{
    margin-top:-9vh!important;
  }
}

/* V93 — Projects puzzle page */
body:has(.projects-puzzle-page){
  background:#f3f0e9!important;
}

.projects-puzzle-page{
  padding:clamp(118px,12vw,180px) 0 clamp(90px,9vw,140px);
  background:#f3f0e9;
}

.projects-puzzle-title{
  margin-bottom:clamp(34px,4vw,56px);
}

.projects-puzzle-title h1{
  margin:0;
  font-size:clamp(72px,10vw,160px);
  line-height:.82;
  font-weight:400;
  letter-spacing:-.065em;
  color:#111;
}

.projects-puzzle-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(12,minmax(0,1fr));
  gap:clamp(7px,.7vw,12px);
  aspect-ratio:1 / 1;
  width:100%;
}

.puzzle-project{
  grid-column:var(--col) / span var(--size);
  grid-row:var(--row) / span var(--size);
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:0;
  background:#d8d4cd;
  text-decoration:none;
  opacity:0;
  transform:translateY(88px) scale(.965);
  transition:
    transform .85s cubic-bezier(.22,1,.36,1),
    opacity .6s ease;
  will-change:transform,opacity;
}

.puzzle-project.is-in{
  opacity:1;
  transform:translateY(0) scale(1);
}

.puzzle-project img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}

.puzzle-project::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.46),rgba(0,0,0,0) 52%);
  opacity:.75;
  transition:opacity .35s ease;
}

.puzzle-project-overlay{
  position:absolute;
  z-index:2;
  left:clamp(10px,1.1vw,18px);
  right:clamp(10px,1.1vw,18px);
  bottom:clamp(10px,1.1vw,18px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  color:#fff;
}

.puzzle-project-num{
  font-size:10px;
  letter-spacing:.08em;
}

.puzzle-project strong{
  max-width:78%;
  text-align:right;
  font-size:clamp(9px,.82vw,13px);
  line-height:1.08;
  font-weight:400;
  letter-spacing:.02em;
}

@media (hover:hover) and (pointer:fine){
  .puzzle-project:hover img{
    transform:scale(1.035);
  }
  .puzzle-project:hover::after{
    opacity:.95;
  }
}

@media(max-width:760px){
  .projects-puzzle-page{
    padding-top:104px;
  }

  .projects-puzzle-title{
    margin-bottom:28px;
  }

  .projects-puzzle-title h1{
    font-size:64px;
  }

  .projects-puzzle-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:minmax(0,1fr);
    aspect-ratio:auto;
    gap:7px;
  }

  .puzzle-project{
    grid-column:auto!important;
    grid-row:auto!important;
    aspect-ratio:1 / 1;
  }

  .puzzle-project:nth-child(1),
  .puzzle-project:nth-child(5),
  .puzzle-project:nth-child(10){
    grid-column:span 4!important;
  }

  .puzzle-project:nth-child(2),
  .puzzle-project:nth-child(7),
  .puzzle-project:nth-child(11){
    grid-column:span 3!important;
  }

  .puzzle-project:nth-child(3),
  .puzzle-project:nth-child(4),
  .puzzle-project:nth-child(6),
  .puzzle-project:nth-child(8),
  .puzzle-project:nth-child(9),
  .puzzle-project:nth-child(12),
  .puzzle-project:nth-child(13){
    grid-column:span 2!important;
  }

  .puzzle-project strong{
    font-size:9px;
    max-width:76%;
  }
}

@media(prefers-reduced-motion:reduce){
  .puzzle-project{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* V94 — corrected Projects puzzle */
.projects-puzzle-page{
  padding-top:210px!important;
  padding-bottom:110px!important;
}
.projects-puzzle-title{
  width:min(980px,calc(100% - 96px))!important;
  margin:0 auto 42px!important;
}
.projects-puzzle-title h1{
  font-size:clamp(58px,6.4vw,96px)!important;
  line-height:.9!important;
}
.projects-puzzle-grid{
  width:min(980px,calc(100% - 96px))!important;
  max-width:980px!important;
  margin:0 auto!important;
  gap:7px!important;
}
.puzzle-project{
  opacity:0!important;
  transform:translateY(150px) scale(.93)!important;
  transition:transform .95s cubic-bezier(.16,1,.3,1),opacity .7s ease!important;
}
.puzzle-project.is-in{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}
.puzzle-project img{
  filter:grayscale(100%)!important;
  transform:scale(1)!important;
  transition:filter .42s ease,transform .65s cubic-bezier(.22,1,.36,1)!important;
}
@media (hover:hover) and (pointer:fine){
  .puzzle-project:hover img{
    filter:grayscale(0%)!important;
    transform:scale(1.025)!important;
  }
}
@media(max-width:760px){
  .projects-puzzle-page{padding-top:135px!important;}
  .projects-puzzle-title,.projects-puzzle-grid{
    width:calc(100% - 30px)!important;
  }
  .projects-puzzle-title h1{font-size:52px!important;}
}

/* V95 — Projects page matching the compact puzzle reference */
body:has(.projects-puzzle-page){
  background:#f3f0e9!important;
}

/* Plenty of breathing room below the header/logo */
.projects-puzzle-page{
  padding-top:230px!important;
  padding-bottom:0!important;
}

/* Small page title, not a hero headline */
.projects-puzzle-title{
  width:min(1180px,calc(100% - 72px))!important;
  margin:0 auto 34px!important;
}

.projects-puzzle-title h1{
  margin:0!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:.055em!important;
}

/* Keep the same mosaic geometry, but compact and perfectly squared-off */
.projects-puzzle-grid{
  width:min(1180px,calc(100% - 72px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  aspect-ratio:1 / 1!important;
  gap:6px!important;
}

/* Each tile starts as a separate puzzle piece and snaps into place in sequence */
.puzzle-project{
  opacity:0!important;
  transform:
    translate(
      calc(((-1 + (var(--i) % 3)) * 22px)),
      calc(70px + ((var(--i) % 4) * 10px))
    )
    scale(.88)!important;
  transition:
    transform .82s cubic-bezier(.16,1,.3,1),
    opacity .48s ease!important;
  will-change:transform,opacity!important;
}

.puzzle-project.is-in{
  opacity:1!important;
  transform:translate(0,0) scale(1)!important;
}

/* Editorial B/W state; only hovered project becomes color */
.puzzle-project img{
  filter:grayscale(100%)!important;
  transform:scale(1)!important;
  transition:
    filter .42s ease,
    transform .55s cubic-bezier(.22,1,.36,1)!important;
}

@media (hover:hover) and (pointer:fine){
  .puzzle-project:hover img{
    filter:grayscale(0%)!important;
    transform:scale(1.02)!important;
  }
}

/* Small clean gap after the perfectly aligned puzzle, then footer */
.projects-puzzle-page + footer,
body:has(.projects-puzzle-page) footer{
  margin-top:54px!important;
}

/* Make labels a bit quieter in the compact mosaic */
.puzzle-project-overlay{
  left:12px!important;
  right:12px!important;
  bottom:11px!important;
}
.puzzle-project-num{
  font-size:8px!important;
}
.puzzle-project strong{
  font-size:10px!important;
}

@media(max-width:760px){
  .projects-puzzle-page{
    padding-top:145px!important;
  }

  .projects-puzzle-title,
  .projects-puzzle-grid{
    width:calc(100% - 28px)!important;
  }

  .projects-puzzle-title{
    margin-bottom:22px!important;
  }

  .projects-puzzle-title h1{
    font-size:15px!important;
  }

  body:has(.projects-puzzle-page) footer{
    margin-top:34px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .puzzle-project{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* V96 — FINAL projects positioning/full-width correction */

/* This page must sit BELOW the absolute shared header.
   Higher specificity than the old global "main { padding-top:0!important }". */
body:not(.home-page) main.projects-puzzle-page{
  margin-top:0!important;
  padding-top:190px!important;
  padding-bottom:0!important;
  background:#f3f0e9!important;
}

/* Small page label below the logo/header */
body:not(.home-page) .projects-puzzle-title{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 2.6vw 28px!important;
}

body:not(.home-page) .projects-puzzle-title h1{
  margin:0!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:.055em!important;
  color:#111!important;
}

/* Puzzle goes truly edge-to-edge — NO left/right blank space */
body:not(.home-page) .projects-puzzle-grid{
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  gap:6px!important;
  aspect-ratio:1 / 1!important;
}

/* Sequential puzzle entrance: 01, 02, 03... */
body:not(.home-page) .puzzle-project{
  opacity:0!important;
  transform:translateY(95px) scale(.91)!important;
  transition:
    transform .88s cubic-bezier(.16,1,.3,1),
    opacity .52s ease!important;
}

body:not(.home-page) .puzzle-project.is-in{
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
}

/* All B/W until hovered */
body:not(.home-page) .puzzle-project img{
  filter:grayscale(100%)!important;
  transform:scale(1)!important;
  transition:
    filter .42s ease,
    transform .6s cubic-bezier(.22,1,.36,1)!important;
}

@media (hover:hover) and (pointer:fine){
  body:not(.home-page) .puzzle-project:hover img{
    filter:grayscale(0%)!important;
    transform:scale(1.018)!important;
  }
}

/* Clean aligned ending, then only a small gap before footer */
body:has(.projects-puzzle-page) footer{
  margin-top:38px!important;
}

/* Header stays visually separate above the page content */
body:has(.projects-puzzle-page) > header.shell{
  z-index:3000!important;
}

@media(max-width:760px){
  body:not(.home-page) main.projects-puzzle-page{
    padding-top:132px!important;
  }

  body:not(.home-page) .projects-puzzle-title{
    padding:0 14px 20px!important;
  }

  body:not(.home-page) .projects-puzzle-title h1{
    font-size:14px!important;
  }

  body:not(.home-page) .projects-puzzle-grid{
    width:100%!important;
    gap:5px!important;
  }

  body:has(.projects-puzzle-page) footer{
    margin-top:28px!important;
  }
}


/* =========================================================
   V97 — PROJECT DETAIL REDESIGN
   Hero + large carousel + two-column facts
   ========================================================= */

body:has(.project-v97-page){
  background:#f3f0e9!important;
}

body:has(.project-v97-page)>header.shell{
  position:absolute!important;
  z-index:200!important;
  background:transparent!important;
}

body:has(.project-v97-page)>header.shell img.logo{
  filter:brightness(0) invert(1)!important;
}

body:has(.project-v97-page)>header.shell .nav a,
body:has(.project-v97-page)>header.shell .nav span,
body:has(.project-v97-page)>header.shell .nav button{
  color:#fff!important;
  text-shadow:0 1px 4px rgba(0,0,0,.24)!important;
}

/* Curtains: same start time, slower movement */
.project-entry .project-entry-panel{
  transition-duration:2.7s!important;
  transition-delay:0s!important;
  transition-timing-function:cubic-bezier(.76,0,.24,1)!important;
}
.project-entry .project-entry-panel:nth-child(1),
.project-entry .project-entry-panel:nth-child(2){
  transition-delay:0s!important;
}
.project-entry.is-leaving .project-entry-panel:nth-child(1){
  transform:translate3d(-101.5%,0,0)!important;
}
.project-entry.is-leaving .project-entry-panel:nth-child(2){
  transform:translate3d(101.5%,0,0)!important;
}

.project-v97-page{
  background:#f3f0e9;
  color:#111;
}

.project-v97-hero{
  position:relative;
  height:92vh;
  min-height:660px;
  overflow:hidden;
  background:#111;
}

.project-v97-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.project-v97-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.02) 48%,rgba(0,0,0,.40));
}

.project-v97-hero-copy{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding-bottom:clamp(32px,4vw,66px)!important;
  color:#fff;
}

.project-v97-hero-copy p{
  margin:0 0 14px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.05em;
}

.project-v97-hero-copy h1{
  margin:0;
  max-width:1120px;
  font-size:clamp(48px,6.3vw,102px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:400;
}

/* No editorial paragraph block between hero and gallery */
.project-v97-gallery{
  padding:clamp(76px,8vw,118px) 0 clamp(70px,7vw,105px);
  overflow:hidden;
}

.project-gallery-viewport{
  position:relative;
  width:100%;
  height:clamp(460px,55vw,790px);
  overflow:hidden;
}

.project-gallery-track{
  position:relative;
  width:100%;
  height:100%;
}

.project-gallery-slide{
  --gallery-slot:0;
  position:absolute;
  left:50%;
  top:50%;
  width:min(70vw,1120px);
  aspect-ratio:16/9;
  margin:0;
  overflow:hidden;
  background:#d6d1c8;
  opacity:.34;
  transform:
    translate(
      calc(-50% + (var(--gallery-slot) * min(66vw,1030px))),
      -50%
    )
    scale(.78);
  transition:
    transform .78s cubic-bezier(.22,1,.36,1),
    opacity .48s ease;
  z-index:1;
}

.project-gallery-slide.is-active{
  opacity:1;
  transform:translate(-50%,-50%) scale(1);
  z-index:3;
}

.project-gallery-slide.is-prev,
.project-gallery-slide.is-next{
  opacity:.38;
  z-index:2;
}

.project-gallery-slide.is-hidden{
  opacity:0;
  pointer-events:none;
}

.project-gallery-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.project-gallery-count{
  position:absolute;
  right:18px;
  bottom:16px;
  color:#fff;
  font-size:10px;
  letter-spacing:.08em;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
}

.project-gallery-arrow{
  position:absolute;
  top:50%;
  z-index:8;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border:1px solid rgba(17,17,17,.85);
  border-radius:50%;
  background:#f3f0e9;
  color:#111;
  font-size:22px;
  cursor:pointer;
}

.project-gallery-prev{left:2.8vw;}
.project-gallery-next{right:2.8vw;}

/* Facts */
.project-v97-facts{
  padding-top:clamp(25px,3vw,42px)!important;
  padding-bottom:clamp(54px,5vw,78px)!important;
}

.project-v97-facts-title{
  margin-bottom:32px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(17,17,17,.25);
  font-size:10px;
  font-weight:600;
  letter-spacing:.05em;
}

.project-v97-facts-columns{
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);
  gap:clamp(36px,5vw,82px);
  align-items:stretch;
}

.project-v97-facts-divider{
  background:rgba(17,17,17,.27);
}

.project-v97-facts-col{
  margin:0;
  display:grid;
  gap:28px;
}

.project-fact-row{
  display:grid;
  gap:7px;
}

.project-fact-row dt{
  margin:0;
  font-size:12px;
  font-weight:700;
}

.project-fact-row dd{
  margin:0;
  font-size:16px;
  line-height:1.35;
  font-weight:400;
}

.project-v97-back{
  padding-bottom:34px!important;
}

.project-v97-back a{
  color:#111;
  text-decoration:none;
  font-size:10px;
  letter-spacing:.04em;
  border-bottom:1px solid #111;
  padding-bottom:3px;
}

body:has(.project-v97-page) footer.site-footer{
  margin-top:0!important;
}

@media(max-width:760px){
  .project-v97-hero{
    height:82vh;
    min-height:560px;
  }

  .project-v97-hero-copy h1{
    font-size:clamp(40px,12vw,66px);
  }

  .project-gallery-viewport{
    height:400px;
  }

  .project-gallery-slide{
    width:78vw;
    transform:
      translate(
        calc(-50% + (var(--gallery-slot) * 74vw)),
        -50%
      )
      scale(.80);
  }

  .project-gallery-slide.is-active{
    transform:translate(-50%,-50%) scale(1);
  }

  .project-gallery-arrow{
    width:46px;
    height:46px;
    font-size:18px;
  }

  .project-gallery-prev{left:10px;}
  .project-gallery-next{right:10px;}

  .project-v97-facts-columns{
    grid-template-columns:1fr;
    gap:32px;
  }

  .project-v97-facts-divider{
    width:100%;
    height:1px;
  }
}


/* V98 — restore project-specific "THE PROJECT" statement */
.project-v98-intro{
  display:grid;
  grid-template-columns:20% minmax(0,1fr);
  gap:clamp(34px,6vw,100px);
  padding-top:clamp(76px,8vw,125px)!important;
  padding-bottom:clamp(72px,8vw,120px)!important;
  background:#f3f0e9;
}
.project-v98-intro-label{
  padding-top:10px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
}
.project-v98-intro h2{
  margin:0;
  max-width:1100px;
  font-size:clamp(42px,5.2vw,82px);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:400;
}
@media(max-width:760px){
  .project-v98-intro{
    grid-template-columns:1fr;
    gap:28px;
    padding-top:65px!important;
    padding-bottom:65px!important;
  }
  .project-v98-intro h2{
    font-size:clamp(34px,10vw,54px);
  }
}

/* V99 — remove "ΕΠΙΛΕΓΜΕΝΟ ΕΡΓΟ" from project heroes */
.project-v97-hero-copy h1{
  margin-top:0!important;
}


/* =========================================================
   V100 — STUDIO / ΠΟΙΟΙ ΕΙΜΑΣΤΕ simplified
   Header + existing Who We Are + same stats as Services + footer
   ========================================================= */

body:has(.studio-v100-page){
  background:#f3f0e9!important;
}

body:has(.studio-v100-page)>header.shell{
  position:relative!important;
  z-index:200!important;
  background:#f3f0e9!important;
}

body:has(.studio-v100-page)>header.shell img.logo{
  filter:none!important;
}

body:has(.studio-v100-page)>header.shell .nav a,
body:has(.studio-v100-page)>header.shell .nav span,
body:has(.studio-v100-page)>header.shell .nav button{
  color:#111!important;
  text-shadow:none!important;
}

/* Clean space below logo/menu before the Who We Are section */
.studio-v100-page{
  padding-top:clamp(72px,7vw,110px)!important;
}

.studio-v100-page .about-vision{
  padding-top:0!important;
  padding-bottom:clamp(80px,8vw,120px)!important;
}

/* Remove any old reveal offset that could leave a blank visual gap */
.studio-v100-page .about-vision,
.studio-v100-page .about-vision *{
  visibility:visible;
}

/* Stats copied from Services, with just the surrounding spacing adapted */
.studio-v100-page .services-stats{
  margin-top:0!important;
  padding-top:clamp(80px,8vw,120px)!important;
  padding-bottom:clamp(88px,8vw,125px)!important;
}

body:has(.studio-v100-page) footer.site-footer{
  margin-top:0!important;
}

@media(max-width:760px){
  .studio-v100-page{
    padding-top:54px!important;
  }

  .studio-v100-page .about-vision{
    padding-bottom:70px!important;
  }

  .studio-v100-page .services-stats{
    padding-top:70px!important;
    padding-bottom:76px!important;
  }
}


/* V101 — align "Ποιοι είμαστε" with the first right-side rule */
.studio-v100-page .about-vision{
  align-items:start!important;
}

.studio-v100-page .about-vision-title{
  padding-top:0!important;
  transform:translateY(0)!important;
}

/* The right column starts with its horizontal rule; move the left title down
   so "Ποιοι είμαστε" visually begins on the same horizontal axis. */
.studio-v100-page .about-vision-title h2{
  margin-top:clamp(58px,5.2vw,82px)!important;
}

@media(max-width:760px){
  .studio-v100-page .about-vision-title h2{
    margin-top:32px!important;
  }
}


/* V103 — Studio alignment:
   top rule on right aligns with "Ποιοι είμαστε";
   right-side content begins lower below that rule. */
.studio-v100-page .about-vision{
  position:relative!important;
  align-items:start!important;
}

/* Restore title to the same vertical axis as the top rule */
.studio-v100-page .about-vision-title h2{
  margin-top:0!important;
}

/* Push only the contents below the first rule further down */
.studio-v100-page .about-vision-list{
  padding-top:0!important;
}

.studio-v100-page .about-vision-row:first-child{
  padding-top:clamp(62px,5vw,82px)!important;
}

/* Keep following rows comfortably spaced */
.studio-v100-page .about-vision-row{
  padding-bottom:clamp(42px,3.8vw,62px)!important;
}

@media(max-width:760px){
  .studio-v100-page .about-vision-title h2{
    margin-top:0!important;
  }

  .studio-v100-page .about-vision-row:first-child{
    padding-top:38px!important;
  }
}


/* V104 — exact Studio alignment correction.
   Move the ACTUAL right column (.about-vision-copy), not obsolete selectors. */
.studio-v100-page .about-vision-title h2{
  margin-top:0!important;
}

.studio-v100-page .about-vision-copy{
  margin-top:58px!important;
}

/* Keep the text comfortably below its top rule. */
.studio-v100-page .about-copy-row{
  padding-top:34px!important;
}

@media(max-width:900px){
  .studio-v100-page .about-vision-copy{
    margin-top:0!important;
  }
  .studio-v100-page .about-copy-row{
    padding-top:28px!important;
  }
}


/* V105 — SERVICES simplified:
   shared logo/menu, small gap, only main service showcase, small gap, footer */
body:has(.services-v105-page){
  background:#f3f0e9!important;
}

body:has(.services-v105-page)>header.shell{
  position:relative!important;
  z-index:200!important;
  background:#f3f0e9!important;
}

body:has(.services-v105-page)>header.shell img.logo{
  filter:none!important;
}

body:has(.services-v105-page)>header.shell .nav a,
body:has(.services-v105-page)>header.shell .nav span,
body:has(.services-v105-page)>header.shell .nav button{
  color:#111!important;
  text-shadow:none!important;
}

.services-v105-page{
  padding-top:clamp(48px,4.5vw,72px)!important;
  padding-bottom:clamp(48px,4.5vw,72px)!important;
}

/* Remove extra outer spacing inherited from the old full Services page */
.services-v105-page > section:first-child{
  margin-top:0!important;
}

.services-v105-page > section:last-child{
  margin-bottom:0!important;
}

body:has(.services-v105-page) footer.site-footer{
  margin-top:0!important;
}

@media(max-width:760px){
  .services-v105-page{
    padding-top:34px!important;
    padding-bottom:40px!important;
  }
}


/* V107 */
html,body{min-height:100%;}
body:has(.timeline-gallery-page){
  display:flex!important;flex-direction:column!important;
  min-height:100vh!important;background:#f3f0e9!important;
}
body:has(.timeline-gallery-page)>main{flex:1 0 auto!important;}
body:has(.timeline-gallery-page)>footer.site-footer{
  flex-shrink:0!important;margin-bottom:0!important;
}
body:has(.timeline-gallery-page)::after{display:none!important;content:none!important;}

.footer-socials{display:flex;align-items:center;gap:14px;margin-top:14px;}
.footer-social-icon{
  width:21px;height:21px;display:inline-flex!important;
  align-items:center;justify-content:center;color:#fff!important;text-decoration:none!important;
}
.footer-social-icon svg{
  display:block;width:100%;height:100%;fill:none;stroke:currentColor;
  stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;
}
.footer-social-icon:hover{opacity:.65;}

.contact-editorial-page .contact-map iframe,
.contact-page .contact-map iframe,
.contact-map iframe{filter:none!important;opacity:1!important;}

/* V108 final polish */
.services-v105-page .service-step,
.services-v105-page .service-step *,
.services-v105-page [data-service],
.services-v105-page [data-service] *{
  filter:none!important;
  -webkit-filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  text-shadow:none!important;
}
.services-v105-page .service-step,
.services-v105-page [data-service]{
  transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1)!important;
}
html,body{padding-bottom:0!important;}
body>footer.site-footer:last-of-type{margin-bottom:0!important;}


/* V109 — Services: active content must look exactly like the first "Μελέτη" state */
.services-v105-page .service-step.is-active,
.services-v105-page [data-service].is-active,
.services-v105-page .service-step.is-active *,
.services-v105-page [data-service].is-active *{
  opacity:1!important;
  color:#111!important;
  filter:none!important;
  -webkit-filter:none!important;
  text-shadow:none!important;
}

/* Also prevent inherited faded state from affecting headings/copy/meta */
.services-v105-page .service-step h1,
.services-v105-page .service-step h2,
.services-v105-page .service-step h3,
.services-v105-page .service-step p,
.services-v105-page .service-step span,
.services-v105-page [data-service] h1,
.services-v105-page [data-service] h2,
.services-v105-page [data-service] h3,
.services-v105-page [data-service] p,
.services-v105-page [data-service] span{
  filter:none!important;
  -webkit-filter:none!important;
}

/* When a service block is in the viewport/active, render it fully opaque. */
.services-v105-page .service-step.is-visible,
.services-v105-page .service-step.active,
.services-v105-page [data-service].is-visible,
.services-v105-page [data-service].active{
  opacity:1!important;
}


/* V110 — Home hero smooth image-over-image crossfade */
.home-page #homeHeroV2{
  position:relative!important;
  overflow:hidden!important;
}
.home-page #homeHeroV2 .hero-slide-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:0!important;
  transform:none!important;
  filter:none!important;
  transition:opacity 1.2s cubic-bezier(.4,0,.2,1)!important;
  will-change:opacity!important;
}
.home-page #homeHeroV2 .hero-slide-image.is-visible{
  opacity:1!important;
}
.home-page #homeHeroV2 .home-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
}
.home-page #homeHeroV2 .home-hero-content{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:3!important;
}
/* Neutralize the old single-image flashing transition state. */
.home-page #homeHeroV2.hero-is-changing .hero-slide-image{
  filter:none!important;
  transform:none!important;
}


/* V111 — robust home hero crossfade fix */
.home-page #homeHeroV2 .hero-slide-image{
  z-index:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.home-page #homeHeroV2 .hero-slide-image.is-visible{
  z-index:1!important;
  opacity:1!important;
}
.home-page #homeHeroV2 .home-hero-overlay{z-index:2!important;}
.home-page #homeHeroV2 .home-hero-content{z-index:3!important;}


/* V112 — definitive HOME carousel: two permanently overlapping image layers */
.home-page .home-hero-v2{
  position:relative!important;
  overflow:hidden!important;
  background:#111!important;
}
.home-page .home-hero-v2 > .hero-slide-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transform:none!important;
  filter:none!important;
  will-change:opacity!important;
  pointer-events:none!important;
}
.home-page .home-hero-v2 > .home-hero-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
}
.home-page .home-hero-v2 > .home-hero-content{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:4!important;
}
/* Old flash animation is no longer used. */
.home-page .home-hero-v2.hero-is-changing > .hero-slide-image{
  transform:none!important;
  filter:none!important;
}


/* V113 — restore visible "ΓΝΩΡΙΣΤΕ ΜΑΣ →" under Home / ΠΟΙΟΙ ΕΙΜΑΣΤΕ */
.home-page .home-intro-v2 > a.text-link[href="studio.html"]{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  margin-top:0!important;
  color:#111!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  text-decoration:underline!important;
  text-underline-offset:4px!important;
  pointer-events:auto!important;
}


/* V114 — exact Home About CTA placement under the large statement */
.home-page .home-intro-v2 .home-about-cta{
  display:inline-block!important;
  position:relative!important;
  float:none!important;
  clear:both!important;
  margin:34px 0 0 0!important;
  padding:0!important;
  color:#111!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  text-decoration:none!important;
  border-bottom:1px solid #111!important;
  width:max-content!important;
  pointer-events:auto!important;
}
.home-page .home-intro-v2 .home-about-cta:hover{
  opacity:.55!important;
}

/* V115 exact visible CTA immediately below Home About statement */
.home-page .home-intro-v2 .home-about-cta-row{
  display:block!important; position:static!important; width:100%!important;
  margin:30px 0 0!important; padding:0!important; opacity:1!important;
  visibility:visible!important; transform:none!important;
}
.home-page .home-intro-v2 .home-about-cta-final{
  display:inline-flex!important; position:static!important; align-items:center!important;
  margin:0!important; padding:0 0 4px!important; width:auto!important;
  color:#111!important; opacity:1!important; visibility:visible!important;
  font-size:12px!important; line-height:1.2!important; font-weight:500!important;
  letter-spacing:.02em!important; text-decoration:none!important;
  border-bottom:1px solid #111!important; transform:none!important;
}


/* V116 — force CTA into the visible space directly below the About statement */
.home-page .home-intro-v2{
  position:relative!important;
}
.home-page .home-intro-v2 .home-about-cta-row{
  display:block!important;
  position:absolute!important;
  left:4.2vw!important;
  top:clamp(365px,31vw,445px)!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  z-index:50!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.home-page .home-intro-v2 .home-about-cta-final{
  display:inline-block!important;
  position:relative!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0 0 5px!important;
  color:#111!important;
  background:transparent!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:12px!important;
  line-height:16px!important;
  font-weight:500!important;
  letter-spacing:.03em!important;
  text-decoration:none!important;
  border-bottom:1px solid #111!important;
  z-index:51!important;
}
.home-page .home-intro-v2 .home-about-cta-final span{
  display:inline!important;
  color:#111!important;
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:800px){
  .home-page .home-intro-v2 .home-about-cta-row{
    left:20px!important;
    top:auto!important;
    bottom:28px!important;
  }
}


/* V117 — move ΓΝΩΡΙΣΤΕ ΜΑΣ closer to the About statement */
.home-page .home-intro-v2 .home-about-cta-row{
  top:clamp(325px,27.5vw,395px)!important;
}
@media(max-width:800px){
  .home-page .home-intro-v2 .home-about-cta-row{
    top:auto!important;
    bottom:48px!important;
  }
}


/* V118 — Home chronology: fit label + headline + cards + arrows + CTA in one desktop viewport */
.home-page .home-timeline-section,
.home-page .home-chronology,
.home-page .timeline-home,
.home-page .home-timeline{
  min-height:auto!important;
  padding-top:42px!important;
  padding-bottom:42px!important;
}

/* Small chronology label */
.home-page .home-timeline-section .eyebrow,
.home-page .home-timeline-section .section-kicker,
.home-page .home-timeline-section .timeline-kicker,
.home-page .home-chronology .eyebrow,
.home-page .home-chronology .section-kicker{
  font-size:11px!important;
  line-height:1.2!important;
  margin-bottom:16px!important;
}

/* Main headline — clearly smaller so the full section fits */
.home-page .home-timeline-section h2,
.home-page .home-timeline-section .timeline-title,
.home-page .home-chronology h2,
.home-page .home-chronology .timeline-title,
.home-page .timeline-home h2,
.home-page .home-timeline h2{
  font-size:clamp(46px,5.2vw,82px)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  margin:0 auto 34px!important;
  max-width:1180px!important;
}

/* Carousel area */
.home-page .home-timeline-section .timeline-carousel,
.home-page .home-timeline-section .timeline-rail,
.home-page .home-chronology .timeline-carousel,
.home-page .home-chronology .timeline-rail,
.home-page .timeline-home .timeline-carousel,
.home-page .home-timeline .timeline-carousel{
  margin-top:0!important;
  margin-bottom:18px!important;
}

/* Cards/photos smaller and shorter */
.home-page .home-timeline-section .timeline-card,
.home-page .home-timeline-section .timeline-slide,
.home-page .home-timeline-section .year-card,
.home-page .home-chronology .timeline-card,
.home-page .home-chronology .timeline-slide,
.home-page .home-chronology .year-card{
  height:clamp(280px,35vh,390px)!important;
  min-height:0!important;
}
.home-page .home-timeline-section .timeline-card img,
.home-page .home-timeline-section .timeline-slide img,
.home-page .home-timeline-section .year-card img,
.home-page .home-chronology .timeline-card img,
.home-page .home-chronology .timeline-slide img,
.home-page .home-chronology .year-card img{
  height:100%!important;
  object-fit:cover!important;
}

/* Year labels a little smaller */
.home-page .home-timeline-section .timeline-year,
.home-page .home-timeline-section .year,
.home-page .home-chronology .timeline-year,
.home-page .home-chronology .year{
  font-size:clamp(34px,3.8vw,58px)!important;
}

/* Navigation arrows closer to cards */
.home-page .home-timeline-section .timeline-arrows,
.home-page .home-timeline-section .timeline-controls,
.home-page .home-chronology .timeline-arrows,
.home-page .home-chronology .timeline-controls{
  margin-top:12px!important;
  margin-bottom:14px!important;
}

/* Explore chronology CTA always visible without scrolling much */
.home-page .home-timeline-section .timeline-cta,
.home-page .home-timeline-section .text-link,
.home-page .home-chronology .timeline-cta,
.home-page .home-chronology .text-link{
  margin-top:10px!important;
  margin-bottom:0!important;
  font-size:11px!important;
}

/* Desktop tightening */
@media (min-width:1000px) and (max-height:950px){
  .home-page .home-timeline-section,
  .home-page .home-chronology,
  .home-page .timeline-home,
  .home-page .home-timeline{
    padding-top:30px!important;
    padding-bottom:28px!important;
  }
  .home-page .home-timeline-section h2,
  .home-page .home-chronology h2,
  .home-page .timeline-home h2,
  .home-page .home-timeline h2{
    font-size:clamp(42px,4.6vw,70px)!important;
    margin-bottom:24px!important;
  }
  .home-page .home-timeline-section .timeline-card,
  .home-page .home-timeline-section .timeline-slide,
  .home-page .home-timeline-section .year-card,
  .home-page .home-chronology .timeline-card,
  .home-page .home-chronology .timeline-slide,
  .home-page .home-chronology .year-card{
    height:300px!important;
  }
}


/* V119 — exact compact layout for Home chronology block */
.home-page .home-timeline-v88{
  padding-top:34px!important;
  padding-bottom:30px!important;
  min-height:auto!important;
}
.home-page .home-timeline-v88-head{
  margin-bottom:22px!important;
}
.home-page .home-timeline-v88-label{
  font-size:10px!important;
  line-height:1.1!important;
  margin-bottom:12px!important;
}
.home-page .home-timeline-v88-head h2{
  font-size:clamp(42px,4.7vw,72px)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
.home-page .home-timeline-carousel-shell{
  margin-top:18px!important;
  margin-bottom:0!important;
}
.home-page .home-timeline-carousel-window{
  height:330px!important;
  min-height:0!important;
}
.home-page .home-timeline-carousel-track{
  height:330px!important;
  align-items:center!important;
}
.home-page .home-timeline-card{
  height:300px!important;
  min-height:0!important;
}
.home-page .home-timeline-card.is-active{
  height:330px!important;
}
.home-page .home-timeline-card img{
  height:100%!important;
  object-fit:cover!important;
}
.home-page .home-timeline-card .year,
.home-page .home-timeline-card [class*="year"]{
  font-size:clamp(34px,3.6vw,54px)!important;
}
.home-page .home-timeline-carousel-controls{
  margin-top:12px!important;
  margin-bottom:10px!important;
}
.home-page .timeline-carousel-prev,
.home-page .timeline-carousel-next{
  width:38px!important;
  height:38px!important;
}
.home-page .home-timeline-v88-cta{
  margin-top:10px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.home-page .home-timeline-v88-cta a{
  font-size:11px!important;
  line-height:1.2!important;
}

/* Extra tightening on shorter desktop screens */
@media (min-width:1000px) and (max-height:900px){
  .home-page .home-timeline-v88{
    padding-top:24px!important;
    padding-bottom:22px!important;
  }
  .home-page .home-timeline-v88-head{
    margin-bottom:16px!important;
  }
  .home-page .home-timeline-v88-head h2{
    font-size:clamp(38px,4.1vw,62px)!important;
  }
  .home-page .home-timeline-carousel-window,
  .home-page .home-timeline-carousel-track{
    height:285px!important;
  }
  .home-page .home-timeline-card{
    height:255px!important;
  }
  .home-page .home-timeline-card.is-active{
    height:285px!important;
  }
  .home-page .home-timeline-carousel-controls{
    margin-top:8px!important;
    margin-bottom:8px!important;
  }
  .home-page .home-timeline-v88-cta{
    margin-top:6px!important;
  }
}

/* V120 — smaller chronology headline */
html body.home-page .home-timeline-v88 .home-timeline-v88-head h2{
  font-size:42px!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media (max-width:1200px){
  html body.home-page .home-timeline-v88 .home-timeline-v88-head h2{font-size:38px!important;}
}
@media (max-width:760px){
  html body.home-page .home-timeline-v88 .home-timeline-v88-head h2{font-size:30px!important;line-height:1!important;}
}

/* V121 — Home chronology: larger portrait / vertical rectangle cards */
html body.home-page .home-timeline-v88{
  padding-top:30px!important;
  padding-bottom:24px!important;
}
html body.home-page .home-timeline-v88 .home-timeline-v88-head{
  margin-bottom:18px!important;
}
html body.home-page .home-timeline-v88 .home-timeline-carousel-shell{
  margin-top:0!important;
}
html body.home-page .home-timeline-v88 .home-timeline-carousel-window,
html body.home-page .home-timeline-v88 .home-timeline-carousel-track{
  height:430px!important;
}
html body.home-page .home-timeline-v88 .home-timeline-card{
  width:280px!important;
  height:390px!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  transform:translate(calc(-50% + (var(--slot) * 400px)),-50%) scale(1)!important;
}
html body.home-page .home-timeline-v88 .home-timeline-card.is-active{
  width:310px!important;
  height:430px!important;
  transform:translate(-50%,-50%) scale(1)!important;
}
html body.home-page .home-timeline-v88 .home-timeline-card.is-prev,
html body.home-page .home-timeline-v88 .home-timeline-card.is-next{
  width:280px!important;
  height:390px!important;
}
html body.home-page .home-timeline-v88 .home-timeline-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
html body.home-page .home-timeline-v88 .home-timeline-card > span{
  font-size:52px!important;
  top:20px!important;
  left:22px!important;
}
html body.home-page .home-timeline-v88 .home-timeline-carousel-controls{
  margin-top:10px!important;
  margin-bottom:8px!important;
}
html body.home-page .home-timeline-v88 .home-timeline-v88-cta{
  margin-top:4px!important;
}
@media (min-width:1000px) and (max-height:900px){
  html body.home-page .home-timeline-v88 .home-timeline-carousel-window,
  html body.home-page .home-timeline-v88 .home-timeline-carousel-track{
    height:390px!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card{
    width:250px!important;
    height:350px!important;
    transform:translate(calc(-50% + (var(--slot) * 360px)),-50%) scale(1)!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card.is-active{
    width:280px!important;
    height:390px!important;
    transform:translate(-50%,-50%) scale(1)!important;
  }
}
@media (max-width:760px){
  html body.home-page .home-timeline-v88 .home-timeline-carousel-window,
  html body.home-page .home-timeline-v88 .home-timeline-carousel-track{
    height:390px!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card{
    width:220px!important;
    height:340px!important;
    transform:translate(calc(-50% + (var(--slot) * 270px)),-50%) scale(1)!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card.is-active{
    width:245px!important;
    height:380px!important;
    transform:translate(-50%,-50%) scale(1)!important;
  }
}

/* V122 larger vertical chronology cards */
html body.home-page .home-timeline-v88 .home-timeline-carousel-window,
html body.home-page .home-timeline-v88 .home-timeline-carousel-track{height:430px!important;}
html body.home-page .home-timeline-v88 .home-timeline-card{height:390px!important;}
html body.home-page .home-timeline-v88 .home-timeline-card.is-active{height:430px!important;}
html body.home-page .home-timeline-v88 .home-timeline-card img{width:100%!important;height:100%!important;object-fit:cover!important;}


/* V123 — Timeline page: one year composition fits in one desktop viewport */
html body.timeline-page .tl-year-section{
  padding:18px 0 38px!important;
}

html body.timeline-page .tl-year-heading{
  gap:14px!important;
  margin-bottom:24px!important;
  align-items:end!important;
}

html body.timeline-page .tl-year-heading h2{
  font-size:clamp(96px,10vw,150px)!important;
  line-height:.72!important;
  letter-spacing:-.075em!important;
}

html body.timeline-page .tl-year-index{
  font-size:10px!important;
  padding-bottom:5px!important;
}

html body.timeline-page .tl-year-line{
  margin-bottom:5px!important;
}

html body.timeline-page .tl-year-layout{
  grid-template-columns:minmax(0,1fr) clamp(245px,20vw,310px)!important;
  gap:12px!important;
}

html body.timeline-page .tl-month-strip{
  gap:9px!important;
  padding-bottom:8px!important;
}

html body.timeline-page .tl-month-card{
  flex:0 0 clamp(150px,17vw,255px)!important;
}

html body.timeline-page .tl-month-image{
  height:clamp(300px,42vh,430px)!important;
}

html body.timeline-page .tl-month-card figcaption{
  padding-top:8px!important;
  min-height:46px!important;
}

html body.timeline-page .tl-month-card figcaption b{
  top:-24px!important;
  font-size:27px!important;
}

html body.timeline-page .tl-month-card figcaption span{
  font-size:11px!important;
}

html body.timeline-page .tl-month-card figcaption small{
  font-size:9px!important;
  margin-top:2px!important;
}

html body.timeline-page .tl-scroll-note{
  margin-top:2px!important;
  font-size:8px!important;
}

html body.timeline-page .tl-year-side{
  padding:20px!important;
}

html body.timeline-page .tl-side-top{
  padding-bottom:12px!important;
}

html body.timeline-page .tl-side-kicker,
html body.timeline-page .tl-side-year{
  font-size:10px!important;
}

html body.timeline-page .tl-side-body{
  padding:22px 0!important;
}

html body.timeline-page .tl-side-body h3{
  margin-bottom:12px!important;
  font-size:clamp(24px,1.8vw,30px)!important;
  line-height:1.02!important;
}

html body.timeline-page .tl-side-body p{
  font-size:11.5px!important;
  line-height:1.42!important;
}

html body.timeline-page .tl-side-list{
  gap:5px!important;
  padding-top:10px!important;
  font-size:9px!important;
}

/* Progress bar duration follows the new 4.9 second photo interval */
html body.timeline-page .tl-photo-progress i.active::after{
  animation-duration:4.9s!important;
}

/* Extra tightening for laptop-height screens */
@media (min-width:901px) and (max-height:850px){
  html body.timeline-page .tl-year-section{
    padding-top:12px!important;
    padding-bottom:24px!important;
  }
  html body.timeline-page .tl-year-heading{
    margin-bottom:16px!important;
  }
  html body.timeline-page .tl-year-heading h2{
    font-size:clamp(82px,8.5vw,125px)!important;
  }
  html body.timeline-page .tl-month-image{
    height:clamp(270px,39vh,360px)!important;
  }
  html body.timeline-page .tl-year-side{
    padding:16px!important;
  }
  html body.timeline-page .tl-side-body{
    padding:14px 0!important;
  }
}

/* V124 — Timeline slightly larger while retaining one-screen composition */
html body.timeline-page .tl-year-heading h2{
  font-size:clamp(105px,10.8vw,160px)!important;
}
html body.timeline-page .tl-month-card{
  flex-basis:clamp(160px,18vw,270px)!important;
}
html body.timeline-page .tl-month-image{
  height:clamp(320px,44vh,455px)!important;
}
html body.timeline-page .tl-year-layout{
  grid-template-columns:minmax(0,1fr) clamp(255px,21vw,320px)!important;
}
@media (min-width:901px) and (max-height:850px){
  html body.timeline-page .tl-year-heading h2{
    font-size:clamp(90px,9vw,132px)!important;
  }
  html body.timeline-page .tl-month-image{
    height:clamp(285px,41vh,380px)!important;
  }
}

/* V125 — Timeline larger composition */
html body.timeline-page .tl-year-heading{
  margin-bottom:18px!important;
}
html body.timeline-page .tl-year-heading h2{
  font-size:clamp(118px,12vw,178px)!important;
}
html body.timeline-page .tl-year-layout{
  grid-template-columns:minmax(0,1fr) clamp(275px,22vw,345px)!important;
  gap:14px!important;
}
html body.timeline-page .tl-month-card{
  flex-basis:clamp(175px,19vw,290px)!important;
}
html body.timeline-page .tl-month-image{
  height:clamp(350px,48vh,500px)!important;
}
html body.timeline-page .tl-year-side{
  padding:22px!important;
}
@media (min-width:901px) and (max-height:850px){
  html body.timeline-page .tl-year-heading h2{
    font-size:clamp(100px,10vw,145px)!important;
  }
  html body.timeline-page .tl-month-image{
    height:clamp(310px,44vh,410px)!important;
  }
  html body.timeline-page .tl-year-layout{
    grid-template-columns:minmax(0,1fr) clamp(260px,21vw,325px)!important;
  }
}


/* V127 — balanced large timeline:
   enlarge ALL photo panels, only slightly enlarge the right text panel */
html body.timeline-page .tl-year-section{
  min-height:100vh!important;
  box-sizing:border-box!important;
  padding-top:14px!important;
  padding-bottom:26px!important;
}

html body.timeline-page .tl-year-heading{
  margin-bottom:16px!important;
}

html body.timeline-page .tl-year-heading h2{
  font-size:clamp(112px,11.5vw,168px)!important;
}

/* Right text panel: only a SMALL increase from v125 */
html body.timeline-page .tl-year-layout{
  grid-template-columns:minmax(0,1fr) clamp(285px,21.5vw,330px)!important;
  gap:12px!important;
}

/* Photo panels: noticeably larger */
html body.timeline-page .tl-month-card{
  flex:0 0 clamp(205px,21vw,325px)!important;
}

html body.timeline-page .tl-month-image{
  height:clamp(395px,50vh,520px)!important;
}

/* Keep the side panel aligned to the photos, without making it oversized */
html body.timeline-page .tl-year-side{
  min-height:clamp(395px,50vh,520px)!important;
  padding:20px!important;
}

html body.timeline-page .tl-side-body h3{
  font-size:clamp(25px,1.9vw,31px)!important;
}

html body.timeline-page .tl-side-body p{
  font-size:11.5px!important;
  line-height:1.42!important;
}

/* Exact 4 second animation */
html body.timeline-page .tl-photo-progress i.active::after{
  animation-duration:4s!important;
}

/* Laptop-height screens: keep photo panels large but contained */
@media (min-width:901px) and (max-height:850px){
  html body.timeline-page .tl-year-heading h2{
    font-size:clamp(98px,9.6vw,140px)!important;
  }

  html body.timeline-page .tl-month-card{
    flex-basis:clamp(190px,20vw,300px)!important;
  }

  html body.timeline-page .tl-month-image{
    height:clamp(340px,45vh,420px)!important;
  }

  html body.timeline-page .tl-year-side{
    min-height:clamp(340px,45vh,420px)!important;
    padding:18px!important;
  }
}


/* V128 — Timeline exact requested heights */
html body.timeline-page .tl-month-image{
  height:10cm!important;
  min-height:10cm!important;
  max-height:10cm!important;
}

html body.timeline-page .tl-year-side{
  height:11cm!important;
  min-height:11cm!important;
  max-height:11cm!important;
  box-sizing:border-box!important;
}

/* Override previous laptop-height rules as well */
@media (min-width:901px){
  html body.timeline-page .tl-month-image{
    height:10cm!important;
    min-height:10cm!important;
    max-height:10cm!important;
  }
  html body.timeline-page .tl-year-side{
    height:11cm!important;
    min-height:11cm!important;
    max-height:11cm!important;
  }
}


/* V129 — exact reference dimensions for timeline panels
   10 cm = 377.95 CSS px, 11 cm = 415.75 CSS px at 96 px/in */
html body.timeline-page .tl-month-image{
  height:377.95px!important;
  min-height:377.95px!important;
  max-height:377.95px!important;
}

html body.timeline-page .tl-year-side{
  height:415.75px!important;
  min-height:415.75px!important;
  max-height:415.75px!important;
  box-sizing:border-box!important;
}

/* Kill every previous responsive height override */
@media (min-width:0px){
  html body.timeline-page .tl-month-image{
    height:377.95px!important;
    min-height:377.95px!important;
    max-height:377.95px!important;
  }
  html body.timeline-page .tl-year-side{
    height:415.75px!important;
    min-height:415.75px!important;
    max-height:415.75px!important;
  }
}


/* V130 — make timeline panels larger than v129 */
html body.timeline-page .tl-month-image{
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
}
html body.timeline-page .tl-year-side{
  height:470px!important;
  min-height:470px!important;
  max-height:470px!important;
  box-sizing:border-box!important;
}
@media (min-width:0px){
  html body.timeline-page .tl-month-image{
    height:430px!important;
    min-height:430px!important;
    max-height:430px!important;
  }
  html body.timeline-page .tl-year-side{
    height:470px!important;
    min-height:470px!important;
    max-height:470px!important;
  }
}


/* V131 — timeline panels another small step larger */
html body.timeline-page .tl-month-image{
  height:455px!important;
  min-height:455px!important;
  max-height:455px!important;
}
html body.timeline-page .tl-year-side{
  height:495px!important;
  min-height:495px!important;
  max-height:495px!important;
  box-sizing:border-box!important;
}
@media (min-width:0px){
  html body.timeline-page .tl-month-image{
    height:455px!important;
    min-height:455px!important;
    max-height:455px!important;
  }
  html body.timeline-page .tl-year-side{
    height:495px!important;
    min-height:495px!important;
    max-height:495px!important;
  }
}


/* V133 — Contact page: smaller "ΕΠΙΚΟΙΝΩΝΙΑ" heading */
html body .contact-editorial-page h1,
html body .contact-page h1{
  font-size:clamp(42px,5vw,76px)!important;
  line-height:.95!important;
  letter-spacing:-.04em!important;
}
@media(max-width:760px){
  html body .contact-editorial-page h1,
  html body .contact-page h1{
    font-size:38px!important;
  }
}


/* V134 — ΠΟΙΟΙ ΕΙΜΑΣΤΕ: move the whole main section down exactly 5cm */
html body .studio-v100-page{
  transform:translateY(5cm)!important;
  margin-bottom:5cm!important;
}


/* V135 — ΠΟΙΟΙ ΕΙΜΑΣΤΕ: slightly higher than v134 */
html body .studio-v100-page{
  transform:translateY(4cm)!important;
  margin-bottom:4cm!important;
}


/* V136 — ΕΡΓΑ: thin frames around every project tile, preserving layout */
html body .projects-puzzle-grid .project-tile,
html body .projects-puzzle-grid > a,
html body .all-projects-grid .project-tile,
html body .all-projects-grid > a{
  box-sizing:border-box!important;
  outline:1px solid rgba(20,20,20,.65)!important;
  outline-offset:-1px!important;
}


/* V137 — ΕΡΓΑ: outer left/right frame for the whole project composition */
html body .projects-puzzle-grid,
html body .all-projects-grid{
  border-left:1px solid rgba(20,20,20,.65)!important;
  border-right:1px solid rgba(20,20,20,.65)!important;
  box-sizing:border-box!important;
}


/* V138 — ΕΡΓΑ: visible left/right beige frame around the mosaic */
html body.projects-cinema-page .projects-puzzle-grid{
  width:calc(100% - 64px)!important;
  max-width:none!important;
  margin-left:32px!important;
  margin-right:32px!important;
  border-left:1px solid rgba(20,20,20,.65)!important;
  border-right:1px solid rgba(20,20,20,.65)!important;
  box-sizing:border-box!important;
}

@media(max-width:760px){
  html body.projects-cinema-page .projects-puzzle-grid{
    width:calc(100% - 28px)!important;
    margin-left:14px!important;
    margin-right:14px!important;
  }
}


/* V139 — project facts above gallery, narrower centered block */
html body .project-v97-page > .project-v97-facts{
  width:min(72vw,980px)!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
html body .project-v97-page > .project-v97-facts .project-v97-facts-columns{
  gap:clamp(24px,3.4vw,52px)!important;
}
@media(max-width:900px){
  html body .project-v97-page > .project-v97-facts{
    width:calc(100% - 48px)!important;
    max-width:none!important;
  }
}
@media(max-width:600px){
  html body .project-v97-page > .project-v97-facts{
    width:calc(100% - 32px)!important;
  }
}


/* V140 — Project facts: shift the complete two-column block slightly right */
@media (min-width:901px){
  html body .project-v97-page > .project-v97-facts{
    transform:translateX(70px)!important;
  }
}


/* V141 — opening curtain project title stays on one line */
html body .project-entry .project-entry-title,
html body .project-entry .project-title,
html body .project-entry h1,
html body .project-entry h2{
  white-space:nowrap!important;
  width:max-content!important;
  max-width:92vw!important;
  overflow:visible!important;
  text-wrap:nowrap!important;
  font-size:clamp(22px,3.1vw,52px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}

/* Keep long project hero names on one line too */
html body .project-v97-hero-copy h1{
  white-space:nowrap!important;
  max-width:94vw!important;
  font-size:clamp(28px,4.2vw,70px)!important;
  line-height:.95!important;
}

@media(max-width:760px){
  html body .project-entry .project-entry-title,
  html body .project-entry .project-title,
  html body .project-entry h1,
  html body .project-entry h2{
    font-size:clamp(15px,4.1vw,24px)!important;
    max-width:94vw!important;
  }

  html body .project-v97-hero-copy h1{
    font-size:clamp(18px,4.8vw,30px)!important;
    max-width:94vw!important;
  }
}


/* V149 — Project carousels: preserve photo proportions, no ugly crop/stretch */
html body .project-gallery-slide,
html body .project-gallery-slide .project-gallery-media,
html body .project-gallery-slide .project-gallery-image-wrap{
  background:transparent!important;
}

html body .project-gallery-slide img,
html body .project-gallery-media img,
html body .project-gallery-image-wrap img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}

/* Keep the overall carousel frame dimensions unchanged */
html body .project-gallery-slide{
  overflow:hidden!important;
}

/* Side previews use the same non-destructive fitting */
html body .project-gallery-slide.is-prev img,
html body .project-gallery-slide.is-next img,
html body .project-gallery-prev img,
html body .project-gallery-next img{
  object-fit:contain!important;
  object-position:center center!important;
}


/* V150 — Keep carousel numbering in one consistent position */
html body .project-gallery-slide{
  position:relative!important;
}

html body .project-gallery-count{
  position:absolute!important;
  right:18px!important;
  bottom:16px!important;
  left:auto!important;
  top:auto!important;
  z-index:20!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  min-width:58px!important;
  height:28px!important;
  padding:0 10px!important;

  background:rgba(245,241,234,.86)!important;
  color:#111!important;
  border-radius:999px!important;

  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.03em!important;

  margin:0!important;
  transform:none!important;
  pointer-events:none!important;
  white-space:nowrap!important;
}

/* Side-preview counters remain readable and aligned */
html body .project-gallery-slide.is-prev .project-gallery-count,
html body .project-gallery-slide.is-next .project-gallery-count{
  right:12px!important;
  bottom:12px!important;
  transform:scale(.9)!important;
  transform-origin:right bottom!important;
}

@media(max-width:760px){
  html body .project-gallery-count{
    right:12px!important;
    bottom:12px!important;
    min-width:52px!important;
    height:26px!important;
    font-size:10px!important;
  }
}


/* V151 — FIX: restore carousel geometry broken by V150 */
html body .project-gallery-slide{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:min(70vw,1120px)!important;
  aspect-ratio:16/9!important;
  margin:0!important;
  overflow:hidden!important;
}

/* Preserve image proportions without shrinking the carousel itself */
html body .project-gallery-slide img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
}

/* Counter is anchored to the carousel frame, never to the image dimensions */
html body .project-gallery-count{
  position:absolute!important;
  right:16px!important;
  bottom:14px!important;
  left:auto!important;
  top:auto!important;
  z-index:30!important;
  min-width:0!important;
  height:auto!important;
  padding:5px 8px!important;
  margin:0!important;
  border-radius:0!important;
  background:rgba(243,240,233,.82)!important;
  color:#111!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  text-shadow:none!important;
  transform:none!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}

/* Side previews keep the same geometry and only scale via the original carousel transform */
html body .project-gallery-slide.is-prev .project-gallery-count,
html body .project-gallery-slide.is-next .project-gallery-count{
  right:12px!important;
  bottom:12px!important;
  transform:none!important;
}

/* Ensure arrows stay centered vertically in the viewport */
html body .project-gallery-arrow{
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}


/* V154 — remove project carousel numbering everywhere */
html body .project-gallery-count,
html body .gallery-count,
html body .slide-count,
html body .carousel-count,
html body .project-gallery-counter{
  display:none!important;
  visibility:hidden!important;
}


/* V167 — Lefkada image 11 displayed horizontally in-site only */
html body .project-gallery-slide img.lefkada-rotate-horizontal{
  width:56.25%!important;
  height:177.7778%!important;
  left:21.875%!important;
  top:-38.8889%!important;
  inset:auto!important;
  transform:rotate(90deg)!important;
  transform-origin:center center!important;
  object-fit:contain!important;
}
html body .lightbox img.lefkada-rotate-horizontal{
  width:auto!important;
  height:min(90vw,90vh)!important;
  max-width:none!important;
  max-height:none!important;
  transform:rotate(90deg)!important;
  object-fit:contain!important;
}


/* =========================================================
   V171 — STUDIO first-screen alignment
   Raise the right copy so “Η διαδικασία” aligns with “Ποιοι είμαστε”
   and keep “Το αποτέλεσμα” visible within the first screen.
   ========================================================= */
@media(min-width:901px){
  .studio-v100-page .about-vision-copy{
    margin-top:-205px!important;
  }

  .studio-v100-page .about-copy-row{
    padding:20px 0 26px!important;
  }

  .studio-v100-page .about-copy-row h3{
    align-self:start!important;
    padding-top:2px!important;
  }

  .studio-v100-page .about-copy-row p{
    line-height:1.62!important;
  }
}

@media(max-width:900px){
  .studio-v100-page .about-vision-copy{
    margin-top:0!important;
  }
}


/* =========================================================
   V173 — STUDIO fit / no clipping
   Keep all three right-side rows visible, and align
   “Ποιοι είμαστε” with “Η διαδικασία”.
   ========================================================= */
@media(min-width:901px){
  .studio-v100-page .about-vision-copy{
    margin-top:-80px!important;
  }

  .studio-v100-page .about-vision-title h2{
    margin-top:72px!important;
  }

  .studio-v100-page .about-copy-row{
    padding:16px 0 20px!important;
  }

  .studio-v100-page .about-copy-row h3{
    font-size:12px!important;
    line-height:1.3!important;
    padding-top:1px!important;
  }

  .studio-v100-page .about-copy-row p{
    font-size:clamp(13px,1.02vw,15px)!important;
    line-height:1.52!important;
    max-width:590px!important;
  }
}

@media(max-width:900px){
  .studio-v100-page .about-vision-title h2{
    margin-top:0!important;
  }
}


/* V174 — Services image frame: smaller, centered and non-cropping */
@media(min-width:981px){
  .services-v105-page .services-visual-column{
    padding:34px 28px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }

  .services-v105-page .services-visual-sticky{
    top:108px!important;
    height:min(72vh,720px)!important;
    min-height:520px!important;
    width:92%!important;
    max-width:760px!important;
    margin:0 auto!important;
  }

  .services-v105-page .services-visual-frame{
    clip-path:inset(0)!important;
    background:#ece8df!important;
  }

  .services-v105-page .service-visual img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    padding:18px!important;
    box-sizing:border-box!important;
  }

  .services-v105-page .service-visual.is-active img{
    transform:none!important;
  }
}

@media(max-width:980px){
  .services-v105-page .services-visual-sticky{
    height:58vw!important;
    min-height:330px!important;
    max-height:560px!important;
  }
  .services-v105-page .service-visual img{
    object-fit:contain!important;
    object-position:center center!important;
    padding:14px!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
}


/* V175 — Studio polish: slightly larger right-side copy and tighter eyebrow/title spacing */
@media(min-width:901px){
  .studio-v100-page .about-copy-row h3{
    font-size:13px!important;
    line-height:1.35!important;
  }

  .studio-v100-page .about-copy-row p{
    font-size:clamp(14px,1.1vw,16px)!important;
    line-height:1.56!important;
    max-width:610px!important;
  }

  /* Keep title aligned with “Η διαδικασία”, only move the eyebrow visually closer. */
  .studio-v100-page .about-vision-title .info-eyebrow{
    position:relative!important;
    top:38px!important;
  }
}

@media(max-width:900px){
  .studio-v100-page .about-vision-title .info-eyebrow{
    position:static!important;
    top:auto!important;
  }
}

/* =========================================================
   V178 — FINAL RESPONSIVE PASS
   Phones + iPad portrait/landscape. Desktop >1100px unchanged.
   ========================================================= */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{overflow-x:hidden!important;}
img,svg,video,iframe{max-width:100%;}
button,a,input,textarea,select{touch-action:manipulation;}

/* ---------- TABLET / iPAD ---------- */
@media(max-width:1100px){
  .shell{padding-left:24px!important;padding-right:24px!important;}

  /* One reliable tablet/mobile navigation system */
  body > header.shell{
    height:auto!important;
    min-height:72px!important;
    padding:16px 24px!important;
    align-items:center!important;
    gap:18px!important;
  }
  body > header.shell .logo{width:154px!important;max-width:42vw!important;}
  body > header.shell .nav{
    margin-left:auto!important;
    padding:0!important;
    min-height:40px!important;
    gap:14px!important;
    align-items:center!important;
  }
  body > header.shell .menu-toggle{
    display:block!important;
    min-width:52px!important;
    min-height:40px!important;
    padding:0 4px!important;
    position:relative!important;
    z-index:5002!important;
  }
  body > header.shell .nav > a{display:none!important;}
  body > header.shell .nav.menu-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    margin:0!important;
    padding:108px max(28px,6vw) 42px!important;
    background:#f3f0e9!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto!important;
    z-index:5000!important;
  }
  body > header.shell .nav.menu-open > a{
    display:block!important;
    width:100%!important;
    padding:18px 0!important;
    border-bottom:1px solid rgba(17,17,17,.2)!important;
    font-size:clamp(22px,4.2vw,38px)!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
    font-weight:400!important;
    text-transform:none!important;
  }
  body > header.shell .nav.menu-open > a,
  body > header.shell .nav.menu-open > a span,
  body > header.shell .nav.menu-open .lang,
  body > header.shell .nav.menu-open .lang span,
  body > header.shell .nav.menu-open .lang button,
  body > header.shell .nav.menu-open .menu-toggle{
    color:#111!important;
    text-shadow:none!important;
  }
  body > header.shell .nav.menu-open .menu-toggle{
    position:absolute!important;
    top:18px!important;
    right:22px!important;
  }
  body > header.shell .nav.menu-open .lang{
    display:flex!important;
    gap:12px!important;
    margin-top:28px!important;
  }
  body > header.shell .nav.menu-open .lang button{
    font-size:13px!important;
    min-height:40px!important;
  }

  /* Dark menu button on pages whose first screen is beige */
  body.header-on-light > header.shell .menu-toggle,
  body.projects-cinema-page > header.shell .menu-toggle,
  body.timeline-page > header.shell .menu-toggle,
  body:has(.studio-v100-page) > header.shell .menu-toggle,
  body:has(.services-v105-page) > header.shell .menu-toggle{
    color:#111!important;
    text-shadow:none!important;
  }

  /* Footer */
  .site-footer .footer-main{
    grid-template-columns:1fr 1fr!important;
    gap:42px 28px!important;
    padding-top:46px!important;
    padding-bottom:50px!important;
  }
  .site-footer .footer-brand{grid-column:1/-1!important;}
  .site-footer .footer-brand img{width:min(220px,55vw)!important;}

  /* HOME */
  .home-page .home-hero-v2{
    height:82svh!important;
    min-height:600px!important;
    max-height:900px!important;
  }
  .home-page .home-hero-content{
    padding-left:24px!important;
    padding-right:24px!important;
    padding-bottom:32px!important;
  }
  .home-page .hero-fixed-statement{
    font-size:clamp(44px,8.3vw,82px)!important;
    line-height:.94!important;
    max-width:900px!important;
  }
  .home-page .home-hero-bottom{gap:22px!important;}
  .home-page .home-intro-v2{
    padding-top:82px!important;
    padding-bottom:86px!important;
  }
  .home-page .home-intro-v2 h2{
    font-size:clamp(38px,6.2vw,62px)!important;
    line-height:1!important;
    max-width:850px!important;
    margin:24px 0 36px!important;
  }

  /* Home services: replace oversized sticky desktop animation with a clean responsive flow */
  .home-page .home-services-flow{
    min-height:0!important;
    height:auto!important;
    margin-top:0!important;
    padding:72px 0 78px!important;
  }
  .home-page .home-services-flow-sticky{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    display:block!important;
    overflow:visible!important;
  }
  .home-page .home-services-flow-inner{overflow:visible!important;padding:0 24px!important;}
  .home-page .home-services-flow-label{margin-bottom:36px!important;}
  .home-page .services-flow-track{
    width:100%!important;
    transform:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .home-page .services-flow-line{display:none!important;}
  .home-page .services-flow-node{
    min-height:128px!important;
    width:100%!important;
    opacity:1!important;
    transform:none!important;
  }
  .home-page .services-flow-node strong{font-size:clamp(26px,5vw,38px)!important;}
  .home-page .services-flow-cta-wrap{margin-top:24px!important;}

  /* Home chronology */
  html body.home-page .home-timeline-v88{
    min-height:0!important;
    padding:64px 0 68px!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-v88-head{
    padding-left:24px!important;padding-right:24px!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-v88-head h2{
    font-size:clamp(38px,6.2vw,60px)!important;
    line-height:.96!important;
    max-width:900px!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-carousel-window,
  html body.home-page .home-timeline-v88 .home-timeline-carousel-track{
    height:420px!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card{
    width:240px!important;height:360px!important;
    transform:translate(calc(-50% + (var(--slot) * 300px)),-50%) scale(1)!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card.is-active{
    width:270px!important;height:400px!important;
    transform:translate(-50%,-50%) scale(1)!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card > span{font-size:45px!important;}

  /* PROJECTS overview: tablet-friendly cards, not microscopic 12-column tiles */
  body:not(.home-page) main.projects-puzzle-page{padding-top:120px!important;}
  body:not(.home-page) .projects-puzzle-title{padding:0 24px 24px!important;}
  body:not(.home-page) .projects-puzzle-grid{
    width:calc(100% - 48px)!important;
    margin:0 24px!important;
    aspect-ratio:auto!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    gap:8px!important;
    border-left:0!important;border-right:0!important;
  }
  body:not(.home-page) .puzzle-project{
    grid-column:auto!important;grid-row:auto!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
  }
  body:not(.home-page) .puzzle-project strong{font-size:11px!important;max-width:82%!important;}

  /* PROJECT DETAIL */
  .project-v97-hero{height:72svh!important;min-height:520px!important;}
  .project-v97-hero-copy{padding-left:24px!important;padding-right:24px!important;padding-bottom:34px!important;}
  html body .project-v97-hero-copy h1{
    font-size:clamp(31px,6.3vw,58px)!important;
    max-width:92vw!important;
    white-space:normal!important;
    text-wrap:balance!important;
  }
  .project-v98-intro{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding:62px 24px!important;
  }
  .project-v98-intro h2{font-size:clamp(34px,6vw,55px)!important;line-height:1!important;}
  html body .project-v97-page > .project-v97-facts{
    width:calc(100% - 48px)!important;
    transform:none!important;
  }
  .project-v97-facts-columns{grid-template-columns:1fr!important;gap:26px!important;}
  .project-v97-facts-divider{width:100%!important;height:1px!important;}
  .project-v97-facts-col{gap:20px!important;}
  .project-fact-row dd{font-size:15px!important;}
  .project-v97-gallery{padding:56px 0 64px!important;}
  .project-gallery-viewport{height:clamp(330px,58vw,560px)!important;}
  html body .project-gallery-slide{
    width:82vw!important;
    max-width:820px!important;
  }
  .project-gallery-slide{
    transform:translate(calc(-50% + (var(--gallery-slot) * 78vw)),-50%) scale(.84)!important;
  }
  .project-gallery-slide.is-active{transform:translate(-50%,-50%) scale(1)!important;}
  .project-gallery-arrow{width:48px!important;height:48px!important;}

  /* STUDIO */
  html body .studio-v100-page{
    transform:none!important;
    margin-bottom:0!important;
    padding-top:118px!important;
  }
  .studio-v100-page .about-vision{
    grid-template-columns:1fr!important;
    gap:40px!important;
    padding-top:44px!important;
    padding-bottom:74px!important;
  }
  .studio-v100-page .about-vision-title{position:static!important;}
  .studio-v100-page .about-vision-title .info-eyebrow{position:static!important;top:auto!important;margin-bottom:18px!important;}
  .studio-v100-page .about-vision-title h2{margin-top:0!important;font-size:clamp(50px,8.5vw,72px)!important;}
  .studio-v100-page .about-vision-copy{margin-top:0!important;}
  .studio-v100-page .about-copy-row{
    grid-template-columns:minmax(120px,.34fr) minmax(0,.66fr)!important;
    gap:30px!important;
    padding:22px 0 28px!important;
  }
  .studio-v100-page .about-copy-row p{font-size:15px!important;line-height:1.58!important;}
  .studio-v100-page .services-stats{padding-top:68px!important;padding-bottom:76px!important;}
  .studio-v100-page .services-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}

  /* SERVICES */
  .services-v105-page{padding-top:96px!important;padding-bottom:48px!important;}
  .services-scroll{grid-template-columns:1fr!important;border-top:0!important;}
  .services-visual-column{
    padding:0 24px 22px!important;
    border-bottom:1px solid #cfcfca!important;
  }
  .services-visual-sticky{
    position:sticky!important;
    top:84px!important;
    width:100%!important;
    height:min(62vw,610px)!important;
    min-height:360px!important;
    max-height:610px!important;
    margin:0!important;
  }
  .services-visual-frame{clip-path:none!important;}
  .services-steps{border-left:0!important;}
  .service-step{
    min-height:auto!important;
    padding:72px 24px!important;
    opacity:1!important;
    transform:none!important;
  }
  .service-step h2{font-size:clamp(54px,9vw,82px)!important;margin:34px 0 24px!important;}
  .service-step > p{font-size:16px!important;max-width:720px!important;}

  /* TIMELINE */
  .timeline-gallery-page{padding-top:0!important;}
  .timeline-gallery-head{padding-top:118px!important;padding-bottom:54px!important;}
  .timeline-title-row{grid-template-columns:1fr!important;gap:24px!important;}
  .timeline-title-row h1{font-size:clamp(48px,8.2vw,78px)!important;line-height:.94!important;}
  .timeline-title-row p{font-size:15px!important;max-width:620px!important;}
  html body.timeline-page .tl-year-section{
    min-height:0!important;
    padding:28px 0 62px!important;
  }
  html body.timeline-page .tl-year-heading{margin-bottom:26px!important;}
  html body.timeline-page .tl-year-heading h2{font-size:clamp(80px,18vw,150px)!important;}
  html body.timeline-page .tl-year-layout{grid-template-columns:1fr!important;gap:16px!important;}
  html body.timeline-page .tl-year-side{
    order:-1!important;
    height:auto!important;min-height:280px!important;max-height:none!important;
    padding:22px!important;
  }
  html body.timeline-page .tl-month-card{flex-basis:clamp(210px,38vw,320px)!important;}
  html body.timeline-page .tl-month-image{
    height:clamp(300px,52vw,430px)!important;
    min-height:0!important;max-height:none!important;
  }

  /* CONTACT */
  .contact-editorial-page{padding-top:104px!important;}
  .contact-editorial-title{padding-top:32px!important;}
  .contact-form-editorial{grid-template-columns:1fr!important;gap:34px!important;padding-top:42px!important;padding-bottom:62px!important;}
  .contact-form-heading{border-right:0!important;border-bottom:1px solid #bdbdbd!important;padding-right:0!important;padding-bottom:30px!important;}
  .contact-map{height:clamp(280px,44vw,430px)!important;max-width:none!important;}
}

/* ---------- PHONE ---------- */
@media(max-width:700px){
  .shell{padding-left:16px!important;padding-right:16px!important;}
  body > header.shell{padding:13px 16px!important;min-height:64px!important;}
  body > header.shell .logo{width:132px!important;max-width:50vw!important;}
  body > header.shell .nav{gap:8px!important;}
  body > header.shell .nav > .lang{display:none!important;}
  body > header.shell .nav.menu-open .lang{display:flex!important;}
  body > header.shell .nav.menu-open{padding:92px 20px 30px!important;}
  body > header.shell .nav.menu-open > a{font-size:28px!important;padding:15px 0!important;}
  body > header.shell .nav.menu-open .menu-toggle{top:14px!important;right:16px!important;}

  /* HOME */
  .home-page .home-hero-v2{height:78svh!important;min-height:560px!important;}
  .home-page .home-hero-content{padding-left:16px!important;padding-right:16px!important;padding-bottom:24px!important;}
  .home-page .hero-fixed-statement{font-size:clamp(37px,11.5vw,54px)!important;line-height:.95!important;}
  .home-page .home-hero-bottom{
    grid-template-columns:1fr auto!important;
    gap:12px!important;
    align-items:center!important;
    padding-top:13px!important;
  }
  .home-page .hero-feature-index{font-size:8px!important;max-width:58vw!important;}
  .home-page .hero-more-link{min-height:38px!important;padding:0 14px!important;font-size:8px!important;}
  .home-page .home-intro-v2{padding:58px 16px 66px!important;}
  .home-page .home-intro-v2 h2{font-size:clamp(32px,9.3vw,44px)!important;margin:20px 0 30px!important;}
  .home-page .home-intro-v2 .home-about-cta-row{
    position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    margin-top:26px!important;
  }
  .home-page .home-services-flow{padding:58px 0 62px!important;}
  .home-page .home-services-flow-inner{padding:0 16px!important;}
  .home-page .services-flow-node{min-height:112px!important;}
  .home-page .services-flow-node strong{font-size:27px!important;}
  html body.home-page .home-timeline-v88{padding:54px 0 58px!important;}
  html body.home-page .home-timeline-v88 .home-timeline-v88-head{padding-left:16px!important;padding-right:16px!important;}
  html body.home-page .home-timeline-v88 .home-timeline-v88-head h2{font-size:clamp(30px,9vw,42px)!important;}
  html body.home-page .home-timeline-v88 .home-timeline-carousel-window,
  html body.home-page .home-timeline-v88 .home-timeline-carousel-track{height:350px!important;}
  html body.home-page .home-timeline-v88 .home-timeline-card{
    width:190px!important;height:285px!important;
    transform:translate(calc(-50% + (var(--slot) * 225px)),-50%) scale(1)!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card.is-active{
    width:215px!important;height:325px!important;
    transform:translate(-50%,-50%) scale(1)!important;
  }
  html body.home-page .home-timeline-v88 .home-timeline-card > span{font-size:38px!important;top:14px!important;left:15px!important;}
  .home-page .home-timeline-carousel-controls button{width:44px!important;height:44px!important;}
  .home-page .home-timeline-v88-cta{padding-left:16px!important;padding-right:16px!important;}

  /* PROJECTS */
  body:not(.home-page) main.projects-puzzle-page{padding-top:96px!important;}
  body:not(.home-page) .projects-puzzle-title{padding:0 16px 18px!important;}
  body:not(.home-page) .projects-puzzle-grid{
    width:calc(100% - 32px)!important;
    margin:0 16px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  body:not(.home-page) .puzzle-project{aspect-ratio:1/1!important;}
  body:not(.home-page) .puzzle-project:nth-child(1),
  body:not(.home-page) .puzzle-project:nth-child(5),
  body:not(.home-page) .puzzle-project:nth-child(10){
    grid-column:span 2!important;
    aspect-ratio:16/9!important;
  }
  .puzzle-project-overlay{left:9px!important;right:9px!important;bottom:8px!important;}
  body:not(.home-page) .puzzle-project strong{font-size:9px!important;line-height:1.12!important;}

  /* PROJECT DETAIL */
  .project-v97-hero{height:62svh!important;min-height:450px!important;}
  .project-v97-hero-copy{padding-left:16px!important;padding-right:16px!important;padding-bottom:26px!important;}
  html body .project-v97-hero-copy h1{font-size:clamp(27px,8.5vw,40px)!important;line-height:.96!important;}
  html body .project-entry h1,
  html body .project-entry h2{
    white-space:normal!important;width:auto!important;max-width:88vw!important;text-align:center!important;
    font-size:clamp(20px,6vw,30px)!important;
  }
  .project-v98-intro{padding:48px 16px!important;gap:16px!important;}
  .project-v98-intro h2{font-size:clamp(30px,8.8vw,42px)!important;}
  html body .project-v97-page > .project-v97-facts{width:calc(100% - 32px)!important;}
  .project-v97-facts{padding-top:14px!important;padding-bottom:42px!important;}
  .project-v97-facts-title{margin-bottom:22px!important;}
  .project-fact-row dt{font-size:11px!important;}
  .project-fact-row dd{font-size:14px!important;}
  .project-v97-gallery{padding:42px 0 50px!important;}
  .project-gallery-viewport{height:clamp(260px,72vw,350px)!important;}
  html body .project-gallery-slide{width:88vw!important;}
  .project-gallery-slide{
    transform:translate(calc(-50% + (var(--gallery-slot) * 84vw)),-50%) scale(.86)!important;
  }
  .project-gallery-slide.is-active{transform:translate(-50%,-50%) scale(1)!important;}
  .project-gallery-arrow{width:42px!important;height:42px!important;font-size:17px!important;}
  .project-gallery-prev{left:6px!important;}.project-gallery-next{right:6px!important;}
  .lightbox{padding:16px!important;}
  .lightbox-close{right:10px!important;top:8px!important;font-size:36px!important;}
  .lightbox-arrow{width:44px!important;height:44px!important;}

  /* STUDIO */
  html body .studio-v100-page{padding-top:82px!important;}
  .studio-v100-page .about-vision{padding-top:34px!important;padding-bottom:58px!important;gap:30px!important;}
  .studio-v100-page .about-vision-title h2{font-size:clamp(44px,13vw,60px)!important;}
  .studio-v100-page .about-copy-row{grid-template-columns:1fr!important;gap:11px!important;padding:18px 0 22px!important;}
  .studio-v100-page .about-copy-row h3{font-size:12px!important;}
  .studio-v100-page .about-copy-row p{font-size:14px!important;line-height:1.55!important;}
  .studio-v100-page .services-stats-grid{grid-template-columns:1fr!important;}

  /* SERVICES */
  .services-v105-page{padding-top:80px!important;}
  .services-visual-column{padding:0 16px 16px!important;}
  .services-visual-sticky{
    position:relative!important;top:auto!important;
    height:min(88vw,420px)!important;min-height:300px!important;
  }
  .services-v105-page .service-visual img{padding:9px!important;}
  .service-step{padding:52px 16px!important;}
  .service-step-top{font-size:8px!important;gap:14px!important;}
  .service-step h2{font-size:clamp(48px,15vw,66px)!important;margin:27px 0 20px!important;}
  .service-step > p{font-size:14.5px!important;line-height:1.62!important;}
  .service-detail-list{grid-template-columns:1fr!important;gap:9px!important;margin-top:34px!important;font-size:9.5px!important;}

  /* TIMELINE */
  .timeline-gallery-head{padding:88px 16px 42px!important;}
  .timeline-gallery-head .info-eyebrow{font-size:10px!important;margin-bottom:18px!important;}
  .timeline-title-row{padding-top:18px!important;}
  .timeline-title-row h1{font-size:clamp(38px,11vw,52px)!important;line-height:.96!important;word-break:normal!important;}
  .timeline-title-row p{font-size:14px!important;}
  .timeline-gallery{padding-left:16px!important;padding-right:16px!important;}
  html body.timeline-page .tl-year-heading{grid-template-columns:auto 1fr!important;gap:10px!important;}
  html body.timeline-page .tl-year-heading h2{font-size:clamp(72px,25vw,112px)!important;}
  html body.timeline-page .tl-year-side{min-height:250px!important;padding:18px!important;}
  html body.timeline-page .tl-side-body{padding:24px 0!important;}
  html body.timeline-page .tl-month-card{flex-basis:72vw!important;max-width:280px!important;}
  html body.timeline-page .tl-month-image{height:96vw!important;max-height:390px!important;}

  /* CONTACT */
  .contact-editorial-page{padding-top:78px!important;}
  .contact-editorial-title{padding:26px 16px 8px!important;}
  html body .contact-editorial-page h1{font-size:clamp(38px,12vw,52px)!important;}
  .contact-form-editorial{padding:34px 16px 52px!important;gap:28px!important;}
  .contact-form-heading{padding-bottom:22px!important;}
  .contact-heading-info-item a,.contact-heading-info-item p{overflow-wrap:anywhere!important;}
  .contact-form-lines input,.contact-form-lines textarea{font-size:16px!important;}
  .contact-map-wrap{padding:0 16px 48px!important;}
  .contact-map{height:62vw!important;min-height:230px!important;}

  /* FOOTER */
  .site-footer .footer-main{grid-template-columns:1fr!important;gap:32px!important;padding:40px 16px 42px!important;}
  .site-footer .footer-brand{grid-column:auto!important;}
  .site-footer .footer-col h3{margin-bottom:8px!important;}
  .site-footer .footer-col a{font-size:13px!important;}
  .site-footer .footer-bottom{padding:20px 16px 24px!important;flex-direction:column!important;gap:8px!important;}
}

/* very narrow phones */
@media(max-width:380px){
  body > header.shell .logo{width:118px!important;}
  .home-page .hero-fixed-statement{font-size:34px!important;}
  body > header.shell .nav.menu-open > a{font-size:25px!important;}
  html body.home-page .home-timeline-v88 .home-timeline-card{width:176px!important;height:270px!important;}
  html body.home-page .home-timeline-v88 .home-timeline-card.is-active{width:198px!important;height:306px!important;}
}

/* V178 — responsive per-service image cards */
.service-mobile-visual{display:none;margin:0;overflow:hidden;background:#ece8df;}
@media(max-width:1100px){
  body:has(.nav.menu-open){overflow:hidden!important;}
  .services-v105-page .services-visual-column{display:none!important;}
  .services-v105-page .service-mobile-visual{
    display:block!important;
    width:100%!important;
    margin:26px 0 0!important;
    aspect-ratio:4/3!important;
  }
  .services-v105-page .service-mobile-visual img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:12px!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
}
@media(max-width:700px){
  .services-v105-page .service-mobile-visual{
    margin-top:20px!important;
    aspect-ratio:1/1!important;
  }
  .services-v105-page .service-mobile-visual img{padding:8px!important;}
}


/* V179 — Timeline: variable selected-photo count per month */
.tl-photo-progress{grid-template-columns:repeat(var(--photo-count,3),1fr)!important;}


/* V197 — Home services: typographic nodes + OUTCOME contour mark */
.home-page .services-flow-node{
  background:transparent!important;
  border:0!important;
  color:#8d8981!important;
  padding:0!important;
  min-height:clamp(150px,15vw,220px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow:visible!important;
}

.home-page .services-flow-node .services-flow-num{
  display:none!important;
}

.home-page .services-flow-node strong{
  position:relative!important;
  display:inline-block!important;
  width:auto!important;
  z-index:1!important;
  color:#8d8981!important;
  font-size:clamp(34px,3.25vw,54px)!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
  text-align:center!important;
}

.home-page .services-flow-node strong::before{
  content:"";
  position:absolute;
  width:clamp(72px,7vw,108px);
  height:clamp(96px,9vw,144px);
  left:clamp(-44px,-3vw,-26px);
  top:50%;
  transform:translateY(-50%) rotate(-7deg);
  background:url('images/outcome-rings.png') center/contain no-repeat;
  opacity:.52;
  z-index:-1;
  pointer-events:none;
}

.home-page .services-flow-line{
  background:rgba(141,137,129,.22)!important;
}

.home-page .services-flow-line > span{
  background:#8d8981!important;
}

@media(max-width:1100px){
  .home-page .services-flow-node{
    min-height:112px!important;
  }
  .home-page .services-flow-node strong{
    font-size:clamp(30px,5vw,42px)!important;
  }
  .home-page .services-flow-node strong::before{
    width:78px;
    height:104px;
    left:-34px;
    opacity:.46;
  }
}

@media(max-width:600px){
  .home-page .services-flow-node{
    min-height:98px!important;
  }
  .home-page .services-flow-node strong{
    font-size:29px!important;
  }
  .home-page .services-flow-node strong::before{
    width:64px;
    height:86px;
    left:-27px;
  }
}

/* V198 — Darken home service titles for readability */
.home-page .services-flow-node{
  color:#111111!important;
}
.home-page .services-flow-node strong{
  color:#111111!important;
  font-weight:400!important;
}
.home-page .services-flow-line > span{
  background:#111111!important;
}


/* V199 — Services visuals: user-provided images centered by dimensions */
.services-v105-page .service-visual--contain{background:#ece8df;}
.services-v105-page .service-visual--contain img{
  object-fit:contain!important;
  object-position:center center!important;
  padding:16px!important;
  box-sizing:border-box!important;
  transform:none!important;
  background:#ece8df;
}
.services-v105-page .service-visual--contain.is-active img{transform:none!important;}
@media(max-width:700px){
  .services-v105-page .service-visual--contain img{padding:10px!important;}
}


/* V203 — Timeline interaction + image QA (repaired) */
html body.timeline-page .tl-month-card .tl-month-image img,
html body.timeline-page .tl-month-card.is-current .tl-month-image img,
html body.timeline-page .tl-month-card:hover .tl-month-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
  transition:opacity .22s ease!important;
  background:#d8d4cd;
}

html body.timeline-page .tl-month-image img.is-panoramic,
html body.timeline-page .tl-month-image img.is-extra-tall{
  object-fit:contain!important;
  object-position:center center!important;
}

html body.timeline-page .tl-month-image{
  position:relative!important;
  background:#d8d4cd!important;
  touch-action:pan-y!important;
  cursor:grab!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
html body.timeline-page .tl-month-image:active{cursor:grabbing!important;}

html body.timeline-page .tl-month-card:not(.is-current) figcaption{
  opacity:.72!important;
}

html body.timeline-page .tl-photo-nav{
  position:absolute!important;
  z-index:20!important;
  left:10px!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  pointer-events:none!important;
  opacity:0!important;
  transition:opacity .2s ease!important;
}
html body.timeline-page .tl-month-card.is-current .tl-photo-nav{
  opacity:1!important;
}
html body.timeline-page .tl-photo-nav button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:50%!important;
  background:rgba(15,15,15,.48)!important;
  color:#fff!important;
  font:400 20px/1 Arial,sans-serif!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  box-shadow:0 2px 12px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(4px)!important;
  -webkit-backdrop-filter:blur(4px)!important;
}
html body.timeline-page .tl-photo-nav button:hover,
html body.timeline-page .tl-photo-nav button:focus-visible{
  background:#111!important;
  outline:none!important;
}

html body.timeline-page .tl-photo-progress{
  z-index:18!important;
}

html body.timeline-page .tl-month-controls{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-top:4px!important;
  min-height:40px!important;
}
html body.timeline-page .tl-month-nav{
  display:flex!important;
  gap:7px!important;
  position:relative!important;
  z-index:30!important;
}
html body.timeline-page .tl-month-nav button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid rgba(20,20,20,.55)!important;
  border-radius:50%!important;
  background:#f3f0e9!important;
  color:#111!important;
  font:400 18px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}
html body.timeline-page .tl-month-nav button:hover,
html body.timeline-page .tl-month-nav button:focus-visible{
  background:#111!important;
  color:#f3f0e9!important;
  outline:none!important;
}

html body.timeline-page .tl-month-status{
  position:absolute!important;
  z-index:19!important;
  top:12px!important;
  left:12px!important;
  padding:7px 9px 6px!important;
  background:rgba(243,240,233,.94)!important;
  color:#111!important;
  border:1px solid rgba(17,17,17,.22)!important;
  font-size:8px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Native/manual month rail navigation remains available with mouse, trackpad and touch. */
html body.timeline-page .tl-month-strip{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scroll-behavior:smooth!important;
}

@media(max-width:760px){
  html body.timeline-page .tl-photo-nav{opacity:1!important;}
  html body.timeline-page .tl-photo-nav button{width:38px!important;height:38px!important;}
  html body.timeline-page .tl-month-controls{align-items:center!important;}
  html body.timeline-page .tl-scroll-note{max-width:200px!important;}
}

/* V204 — Timeline: all images fill their cards; no grey letterboxing */
html body.timeline-page .tl-month-image{
  background:transparent!important;
}
html body.timeline-page .tl-month-card .tl-month-image img,
html body.timeline-page .tl-month-card.is-current .tl-month-image img,
html body.timeline-page .tl-month-card:hover .tl-month-image img,
html body.timeline-page .tl-month-image img.is-panoramic,
html body.timeline-page .tl-month-image img.is-extra-tall{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
  filter:none!important;
  opacity:1!important;
}

/* V205 — timeline placeholder months for 2026 OCT/NOV/DEC */
.tl-month-card.is-placeholder .tl-month-image{
  background:#d8d4cd;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tl-month-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  text-align:center;
  background:#d8d4cd;
}
.tl-month-placeholder span{
  display:block;
  font-size:clamp(20px,2.2vw,34px);
  line-height:1.1;
  letter-spacing:.14em;
  font-weight:700;
  color:#6f6a63;
}
.tl-month-card.is-placeholder figcaption{
  opacity:1;
}
.tl-month-card.is-placeholder .tl-month-image img,
.tl-month-card.is-placeholder .tl-photo-nav,
.tl-month-card.is-placeholder .tl-photo-progress,
.tl-month-card.is-placeholder .tl-month-status{
  display:none!important;
}

/* V226 - Contact form via Vercel Function + Resend */
.contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.contact-form .form-submit:disabled{opacity:.48;cursor:wait;}
.contact-form .form-note.is-success{color:#1f6b43;}
.contact-form .form-note.is-error{color:#9a2f2f;}
.contact-form .form-note.is-sending{color:#666;}
