@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&family=Caveat:wght@400;500;600&display=swap');

:root{
  --ink:#171715;
  --paper:#efe8dc;
  --paper2:#f6f1e8;
  --corten:#a34722;
  --line:rgba(23,23,21,.22);
  --sidebar:180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper2);color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:300}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img,video{display:block;width:100%}
.serif{font-family:'Cormorant Garamond',Georgia,serif}
.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:500}

/* HOME */
.home{min-height:100vh;background:#111;color:#f5efe5;overflow-x:hidden}
.home-top{position:fixed;z-index:40;top:0;left:0;right:0;display:flex;justify-content:space-between;padding:22px 28px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;mix-blend-mode:difference;pointer-events:none}
.home-top>*{pointer-events:auto}
.owner-link{appearance:none;border:0;background:none;padding:0;cursor:pointer;text-transform:uppercase;letter-spacing:.16em;color:white}
.owner-link:hover{text-decoration:underline;text-underline-offset:5px}
.split-hero{height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative}
.split-half{position:relative;overflow:hidden;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.split-half img{height:100%;object-fit:cover;filter:grayscale(12%);transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s}
.split-half:hover img{transform:scale(1.025);filter:grayscale(0)}
.split-half::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28),transparent 45%)}
.hero-center{position:absolute;z-index:4;inset:0;display:grid;place-items:center;pointer-events:none;text-align:center}
.hero-center h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(70px,10vw,160px);font-weight:400;letter-spacing:-.05em;margin:0;line-height:.76}
.hero-center p{margin:24px 0 0;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
.half-label{position:absolute;z-index:4;bottom:25px;left:28px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}

/* Smaller + more editorial manifesto */
.manifesto{padding:14vh 8vw 16vh 23vw;max-width:1450px;margin-left:auto}
.manifesto .line{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,3.3vw,50px);line-height:1.08;letter-spacing:-.025em;margin:0;color:#f5efe5;max-width:900px}
.manifesto .muted{color:#77736c;margin-top:10px}

/* Diary / journey selected works */
.selected{border-top:1px solid #333;padding-bottom:8vh}
.selected-head{padding:24px 6.5vw;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#9a968f}
.diary-wrap{position:relative;min-height:2200px;padding:5vh 5vw 10vh;overflow:hidden}
.diary-path{position:absolute;inset:1% 4% 2%;width:92%;height:96%;overflow:visible;pointer-events:none}
.diary-path path{fill:none;stroke:#7d7770;stroke-width:1.25;stroke-dasharray:3 7;vector-effect:non-scaling-stroke}
.diary-path .diary-arrow{stroke:#a34722;stroke-width:1.6;stroke-dasharray:none}
.diary-projects{position:relative;z-index:2;display:flex;flex-direction:column;gap:95px}
.diary-project{position:relative;min-height:330px;width:min(82%,1080px);display:grid;grid-template-columns:minmax(220px,35%) minmax(280px,1fr);align-items:center;gap:36px;color:#f5efe5}
.diary-project.align-left{align-self:flex-start}
.diary-project.align-right{align-self:flex-end;grid-template-columns:minmax(280px,1fr) minmax(220px,35%)}
.diary-project.align-right .diary-text{grid-column:2;text-align:right}
.diary-project.align-right .diary-image{grid-column:1;grid-row:1;justify-self:start}
.diary-num{position:absolute;top:12px;left:0;font-size:10px;color:#99938b;letter-spacing:.14em}
.diary-project.align-right .diary-num{left:auto;right:0}
.diary-text{padding-top:35px;z-index:3}
.diary-text h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,4.4vw,67px);font-weight:400;line-height:.92;letter-spacing:-.035em;margin:0}
.diary-text p{margin:15px 0 0;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#918c85}
.diary-image{width:min(520px,100%);height:300px;overflow:hidden;position:relative;justify-self:end;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.diary-image img{height:100%;object-fit:cover;transform:scale(1.01);transition:transform .65s}
.diary-project:hover .diary-image{transform:translateY(-8px)}
.diary-project:hover .diary-image img{transform:scale(1.045)}
.diary-project:hover h2{color:#c96a40}
.home-footer{padding:12vh 7vw 8vh;display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid #333}
.home-footer h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;font-weight:400;margin:0}
.home-footer p{max-width:36px;color:#aaa49b;line-height:1.6;font-size:14px;margin-left:auto}

/* About overlay */
.about-panel{position:fixed;z-index:80;inset:0;background:#efe8dc;color:#171715;transform:translateX(-102%);transition:transform .65s cubic-bezier(.2,.8,.2,1);overflow:auto}
.about-panel.open{transform:none}
.about-close{position:fixed;top:24px;right:28px;border:0;background:transparent;cursor:pointer;font-size:10px;letter-spacing:.15em;text-transform:uppercase;z-index:4}
.about-grid{min-height:100vh;padding:11vh 6vw 7vh;display:grid;grid-template-columns:160px minmax(320px,1fr) minmax(360px,1fr);gap:5vw;align-items:start}
.about-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#7d766d}
.about-media{display:grid;gap:20px}
.about-photo-placeholder{min-height:58vh;background:#d9d0c4;position:relative;display:grid;place-items:center;overflow:hidden}
.about-photo-placeholder img{display:none;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transform:scale(.88)}
.about-photo-placeholder.has-media img{display:block}
.about-photo-placeholder.has-media span{display:none}
.about-photo-placeholder span{font-size:9px;letter-spacing:.18em;color:#827b72}
.about-media video{background:#111;max-height:38vh;object-fit:cover}
.about-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(44px,5.4vw,80px);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:0 0 45px}
.about-copy>p{font-size:14px;line-height:1.7;max-width:570px;color:#514c46}
.about-links,.about-downloads{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:40px}
.about-links a,.about-downloads a{font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.about-downloads{margin-top:65px}
.about-downloads a{padding:13px 16px;border:1px solid #171715}

/* PROJECT */
.project-page{background:var(--paper2);overflow-x:hidden}
.sidebar{position:fixed;z-index:30;left:0;top:0;bottom:0;width:var(--sidebar);padding:25px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:rgba(246,241,232,.9);backdrop-filter:blur(12px)}
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;letter-spacing:.02em}
.side-nav{margin:auto 0;display:grid;gap:14px}
.side-nav a{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#817b72;transition:.2s}
.side-nav a.active,.side-nav a:hover{color:var(--corten);transform:translateX(4px)}
.side-bottom{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#888176}
.project-main{margin-left:var(--sidebar);min-width:0}
.section{padding:11vh 6vw;border-bottom:1px solid var(--line)}
.project-hero{min-height:100vh;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);padding:0;border-bottom:1px solid var(--line);overflow:hidden}
.hero-copy{padding:10vh 5vw 7vh;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
/* Title always fully visible */
.hero-copy h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(68px,8vw,128px);font-weight:400;line-height:.78;letter-spacing:-.055em;margin:0;white-space:nowrap;max-width:100%;transform-origin:left center}
.hero-copy .sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:30px;margin-top:25px}
.hero-copy .intro{max-width:430px;font-size:14px;line-height:1.6;color:#57524b}
.hero-image{height:100vh;overflow:hidden;min-width:0}
.hero-image img{height:100%;object-fit:cover; object-position:70% center;}
.section-title{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;margin-bottom:7vh}
.section-title .number{font-size:10px;letter-spacing:.18em;color:var(--corten)}
.section-title h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(52px,6.2vw,94px);font-weight:400;letter-spacing:-.04em;line-height:.84;margin:0}
.section-title p{grid-column:2;max-width:580px;font-size:13px;line-height:1.65;color:#5e5850}

/* Concept click browser */
.concept-browser{display:grid;grid-template-columns:minmax(220px,28%) minmax(0,72%);border-top:1px solid var(--line);min-height:72vh}
.concept-menu{border-right:1px solid var(--line)}
.concept-tab{appearance:none;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:22px 18px;cursor:pointer;font-size:11px;letter-spacing:.08em;display:flex;gap:20px;align-items:center;transition:.25s}
.concept-tab span{font-size:9px;color:#8a837a;min-width:24px}
.concept-tab:hover,.concept-tab.active{background:#ebe3d6;color:var(--corten);padding-left:28px}
.concept-display{display:grid;grid-template-columns:minmax(230px,32%) minmax(0,68%);gap:30px;align-items:center;padding:5vh 4vw;min-width:0}
.concept-copy .step{font-size:9px;letter-spacing:.17em;color:var(--corten);text-transform:uppercase;margin-bottom:18px}
.concept-copy h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,4vw,62px);font-weight:400;line-height:.95;margin:0 0 24px}
.concept-copy p{font-size:12px;line-height:1.65;color:#645e56;max-width:340px}
.diagram-stage{height:58vh;display:grid;place-items:center;min-width:0;overflow:hidden}
.diagram-stage img{width:100%;height:100%;object-fit:contain;transition:opacity .18s,transform .3s;background:transparent}
.diagram-stage img.changing{opacity:0;transform:translateY(8px)}

/* Plans */
.plans-box{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:45px;align-items:start}
.plan-display{aspect-ratio:1.55/1;border:1px solid var(--line);display:grid;place-items:center;background:#ece5d9;position:relative;overflow:hidden}
.plan-display img{width:100%;height:100%;object-fit:contain;background:#f4efe6}
.plan-display .ghost{font-family:'Cormorant Garamond',Georgia,serif;font-size:70px;color:#c8bfb2;position:absolute}
.plan-tabs{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.plan-tabs button{appearance:none;border:0;background:var(--paper2);padding:18px;text-align:left;font-size:9px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
.plan-tabs button.active{background:var(--corten);color:#fff}

/* Sections */
.sections-section{overflow:hidden}
.sections-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,960px);gap:22px;overflow-x:auto;padding-bottom:18px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.section-card{margin:0;scroll-snap-align:start;background:#eee7dc;border:1px solid var(--line)}
.section-card img{aspect-ratio:1.45/1;object-fit:contain;background:#f6f1e8}
.section-card figcaption{padding:12px 15px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;border-top:1px solid var(--line)}

/* Elements */
.elements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.element-card{position:relative;min-height:430px;overflow:hidden;background:#ded5c8;margin:0}
.element-card img{height:100%;object-fit:cover;transition:transform .7s}
.element-card:hover img{transform:scale(1.03)}
.element-card .cap{position:absolute;left:18px;bottom:18px;background:rgba(246,241,232,.92);padding:9px 12px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}

/* Visual Journey */
.journey{padding:0}
.visuals-intro{padding-bottom:8vh}
.full-render{height:88vh;overflow:hidden}
.full-render img{height:100%;object-fit:cover}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--paper2)}
.pair img{height:68vh;object-fit:cover}
.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:1px}
.triptych img{height:50vh;object-fit:cover}
.visual-duo{display:grid;grid-template-columns:1fr 1fr;gap:1px}
.visual-duo img{height:78vh;object-fit:cover}

/* Motion */
.motion{background:#121211;color:#f4eee4;padding:11vh 6vw 13vh}
.motion .section-title p{color:#aaa49b}
.motion video{max-width:1200px;margin:0 auto;background:#000}
.credit{max-width:1200px;margin:16px auto 0;display:flex;justify-content:space-between;gap:30px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8d8880}

/* Info / next project fixed */
.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin-top:40px}
.info-grid dt{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#8b8378;margin-bottom:8px}
.info-grid dd{margin:0;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.next-project{display:grid;grid-template-columns:160px 80px minmax(0,1fr);align-items:center;min-height:42vh;padding:7vh 6vw;background:#ded5c8;border-bottom:1px solid var(--line);overflow:hidden}
.next-label{font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.next-arrow{font-family:'Cormorant Garamond',Georgia,serif;font-size:52px}
.next-project h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(48px,6vw,94px);font-weight:400;line-height:.9;letter-spacing:-.035em;margin:0;max-width:100%;overflow-wrap:break-word}

.cursor{position:fixed;z-index:99;width:14px;height:14px;border:1px solid currentColor;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;color:#a34722;mix-blend-mode:difference}
.cursor.big{width:52px;height:52px;background:rgba(255,255,255,.18)}

@media(max-width:1100px){
  .diary-project{width:90%}
  .about-grid{grid-template-columns:110px 1fr 1fr;gap:4vw}
  .hero-copy h1{font-size:clamp(62px,7.4vw,96px)}
  .concept-display{grid-template-columns:1fr}.diagram-stage{height:48vh}
}

@media(max-width:900px){
  :root{--sidebar:0px}
  .sidebar{display:none}.project-main{margin-left:0}
  .split-hero{grid-template-columns:1fr}.split-half:nth-child(2){display:none}
  .manifesto{padding:11vh 7vw 13vh;margin:0;max-width:800px}
  .manifesto .line{font-size:clamp(27px,7vw,48px)}
  .diary-wrap{min-height:auto;padding:7vh 7vw}.diary-path{display:none}.diary-projects{gap:80px}
  .diary-project,.diary-project.align-right{width:100%;grid-template-columns:1fr;min-height:0}
  .diary-project.align-right .diary-text,.diary-project.align-right .diary-image{grid-column:auto;grid-row:auto;text-align:left}
  .diary-num,.diary-project.align-right .diary-num{position:static;margin-bottom:-20px}
  .diary-image{height:48vw;width:100%;justify-self:stretch;order:2}.diary-text{order:1}
  .home-footer{grid-template-columns:1fr}.home-footer p{margin-left:0}
  .about-grid{grid-template-columns:1fr;padding:10vh 7vw}.about-kicker{margin-bottom:15px}.about-photo-placeholder{min-height:60vh}

  .project-hero{grid-template-columns:1fr;min-height:auto}.hero-image{height:65vh}.hero-copy{min-height:64vh;padding:10vh 7vw 7vh}.hero-copy h1{font-size:clamp(68px,17vw,110px)}
  .section{padding:9vh 7vw}.section-title{grid-template-columns:48px 1fr}.section-title h2{font-size:clamp(48px,12vw,76px)}
  .concept-browser{grid-template-columns:1fr}.concept-menu{border-right:0;display:flex;flex-wrap:wrap;overflow:visible}.concept-tab{width:auto;min-width:0;flex:1 1 180px;border-right:1px solid var(--line)}.concept-display{grid-template-columns:1fr;padding:6vh 7vw}.diagram-stage{height:48vh}
  .plans-box{grid-template-columns:1fr}.plan-tabs{grid-template-columns:repeat(2,1fr)}
  .sections-track{grid-auto-columns:88vw}
  .elements-grid{grid-template-columns:1fr}.pair,.triptych,.visual-duo{grid-template-columns:1fr}.pair img,.triptych img,.visual-duo img{height:60vh}
  .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .next-project{grid-template-columns:1fr auto;gap:18px;min-height:32vh}.next-label{grid-column:1}.next-arrow{grid-column:2}.next-project h2{grid-column:1/-1;font-size:clamp(52px,14vw,82px)}
}

@media(max-width:560px){
  .home-top{padding:18px 18px}.hero-center h1{font-size:clamp(64px,20vw,96px)}
  .selected-head{padding-left:7vw}.diary-text h2{font-size:48px}
  .info-grid{grid-template-columns:1fr}.credit{flex-direction:column}.full-render{height:70vh}
  .plans-box{gap:24px}.plan-tabs{grid-template-columns:1fr 1fr}.plan-display .ghost{font-size:50px}
}

/* ===== COMPLETE V2 refinements: keep the approved V2 language ===== */
.diary-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,2.5vw,38px);line-height:1;color:#aaa39a;letter-spacing:-.03em}
.hero-copy .sub{margin-top:12px}
.plan-display img.rotate-plan{transform:rotate(90deg) scale(.66);width:100%;height:100%;object-fit:contain}
/* No sideways browsing: technical sections stack vertically */
.sections-track{display:grid;grid-template-columns:1fr;gap:26px;overflow:visible;padding:0;scroll-snap-type:none}
.section-card img{aspect-ratio:auto;max-height:78vh;object-fit:contain;padding:18px}
.motion video{width:min(760px,76vw);max-width:100%;margin:0 auto;background:#000}
.motion .credit{width:min(760px,76vw);max-width:100%}
.next-project h2{font-size:clamp(42px,4.8vw,74px)}

/* Standard projects inherit WITHIN's structure */
.multiline-title{white-space:normal!important;line-height:.86!important}
.standard-section{min-height:70vh}
.standard-media{display:grid;gap:18px;align-items:start}
.standard-media figure{margin:0;overflow:hidden;background:#e8e0d4;min-width:0}
.standard-media img{width:100%;height:100%;object-fit:cover}
.standard-media.feature{grid-template-columns:1.15fr .85fr;align-items:center}
.standard-media.feature figure:first-child{min-height:68vh}
.standard-media.feature figure:last-child{min-height:48vh}
.standard-media.feature img{object-fit:contain;padding:20px}
.standard-media.materials{grid-template-columns:1.25fr .75fr .75fr}
.standard-media.materials figure{min-height:52vh}
.standard-media.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.standard-media.gallery figure{min-height:54vh}
.standard-media.gallery figure:nth-child(3n+1){grid-column:span 2;min-height:72vh}
.standard-media.gallery figure:nth-child(n+3) img{object-fit:contain;padding:12px}
.standard-media.technical{grid-template-columns:1fr}
.standard-media.technical figure{min-height:70vh}
.standard-media.technical img,.standard-media.technical-grid img{object-fit:contain;padding:22px}
.standard-media.technical-grid{grid-template-columns:1fr;gap:24px}
.standard-media.technical-grid figure{min-height:62vh}
.standard-motion .video-wrap{display:grid;place-items:center}
.standard-motion video{width:min(760px,76vw)}
.placeholder-panel{height:100vh;background:#ded5c8;display:grid;place-items:center;padding:8vw}
.placeholder-panel>div{max-width:500px}
.placeholder-panel span{font-size:10px;letter-spacing:.2em}
.placeholder-panel p{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.05}

/* SOULS IN FRAME — the only page that deliberately breaks the grid */
.souls-page{margin:0;background:#161513;color:#f2ede5;overflow-x:hidden;font-family:Inter,Arial,sans-serif}
.souls-top{position:fixed;z-index:50;top:0;left:0;right:0;padding:22px 28px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:9px;letter-spacing:.17em;text-transform:uppercase;mix-blend-mode:difference;color:#fff;pointer-events:none}
.souls-top a{pointer-events:auto}.souls-top a:last-child{text-align:right}
.souls-hero{min-height:100vh;padding:12vh 6vw 8vh;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:end;border-bottom:1px solid #36332f}
.souls-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(74px,10vw,150px);font-weight:400;letter-spacing:-.055em;line-height:.72;margin:28px 0 48px}
.souls-hero h1 em{font-weight:400;color:#aaa39a}
.souls-hero p{max-width:430px;line-height:1.7;color:#aaa49d;font-size:13px}
.souls-hero figure{margin:0;height:72vh;overflow:hidden;transform:rotate(1.2deg)}
.souls-hero img{height:100%;object-fit:cover}
.souls-diary{position:relative;padding:15vh 6vw 20vh;min-height:5700px;overflow:hidden}
.souls-route{position:absolute;z-index:0;top:4vh;left:4%;width:92%;height:96%;pointer-events:none;opacity:.48}
.souls-route path{fill:none;stroke:#958e85;stroke-width:1.4;stroke-dasharray:7 12;vector-effect:non-scaling-stroke}
.souls-route .souls-route-arrow{stroke:#bd6847;stroke-width:2;stroke-dasharray:none}
.souls-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:72px;gap:22px;min-height:5400px}
.souls-photo{margin:0;position:relative;z-index:2;transition:transform .45s cubic-bezier(.2,.8,.2,1),z-index 0s;box-shadow:0 15px 45px rgba(0,0,0,.12)}
.souls-photo img{height:100%;object-fit:cover;filter:saturate(.94);transition:transform .55s,filter .4s}
.souls-photo figcaption{position:absolute;left:0;top:calc(100% + 8px);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#817b73;white-space:nowrap}
.souls-photo:hover{z-index:20!important;transform:scale(1.09) rotate(0deg)!important}.souls-photo:hover img{filter:saturate(1.06)}
/* visual-diary rhythm, deliberately irregular but still readable */
.souls-pos-1{grid-column:2/8;grid-row:1/7;transform:rotate(-1.5deg)}
.souls-pos-2{grid-column:9/13;grid-row:6/11;transform:rotate(2.5deg)}
.souls-pos-3{grid-column:1/5;grid-row:12/17;transform:rotate(.8deg)}
.souls-pos-4{grid-column:6/12;grid-row:15/21;transform:rotate(-2deg)}
.souls-pos-5{grid-column:3/7;grid-row:22/27;transform:rotate(2deg)}
.souls-pos-6{grid-column:8/13;grid-row:27/32;transform:rotate(-.8deg)}
.souls-pos-7{grid-column:1/7;grid-row:31/37;transform:rotate(-1.2deg)}
.souls-pos-8{grid-column:7/11;grid-row:39/44;transform:rotate(2.1deg)}
.souls-pos-9{grid-column:2/6;grid-row:45/50;transform:rotate(-2.8deg)}
.souls-pos-10{grid-column:6/13;grid-row:49/56;transform:rotate(.8deg)}
.souls-pos-11{grid-column:1/5;grid-row:58/63;transform:rotate(1.9deg)}
.souls-pos-12{grid-column:5/10;grid-row:64/70;transform:rotate(-1.4deg)}
.souls-pos-13{grid-column:9/13;grid-row:71/76;transform:rotate(2.4deg)}
.souls-pos-14{grid-column:2/8;grid-row:76/82;transform:rotate(-.7deg)}
.souls-pos-15{grid-column:7/12;grid-row:84/90;transform:rotate(2deg)}
.souls-pos-16{grid-column:1/5;grid-row:91/96;transform:rotate(-2.2deg)}
.souls-pos-17{grid-column:5/11;grid-row:97/103;transform:rotate(.7deg)}
.souls-pos-18{grid-column:9/13;grid-row:105/110;transform:rotate(-1.8deg)}
.souls-pos-19{grid-column:2/7;grid-row:111/117;transform:rotate(2.3deg)}
.souls-pos-20{grid-column:7/13;grid-row:118/124;transform:rotate(-1deg)}
.souls-pos-21{grid-column:1/5;grid-row:126/131;transform:rotate(-2.4deg)}
.souls-pos-22{grid-column:5/10;grid-row:132/138;transform:rotate(1.1deg)}
.souls-pos-23{grid-column:9/13;grid-row:139/144;transform:rotate(2.6deg)}
.souls-pos-24{grid-column:2/8;grid-row:146/152;transform:rotate(-1.6deg)}
.souls-pos-25{grid-column:7/12;grid-row:153/159;transform:rotate(.9deg)}
.souls-pos-26{grid-column:1/6;grid-row:160/166;transform:rotate(2deg)}
.souls-pos-27{grid-column:6/13;grid-row:167/174;transform:rotate(-1.3deg)}
.souls-doodles,.souls-notes{position:absolute;inset:0;z-index:1;pointer-events:none}
.doodle{position:absolute;font-family:'Cormorant Garamond',Georgia,serif;color:#c7bfb4;opacity:.34;font-size:44px;line-height:.7}.doodle.plane{top:9%;right:12%;transform:rotate(18deg);font-size:58px}.doodle.wave{top:26%;left:8%;transform:rotate(-8deg)}.doodle.people{top:48%;right:10%;font-family:monospace;font-size:24px;transform:rotate(6deg)}.doodle.heart{top:68%;left:10%;font-size:70px}.doodle.sun{top:84%;right:14%;font-size:62px}
.souls-notes span{position:absolute;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;color:#a69f96;opacity:.75;font-size:clamp(18px,2vw,28px)}
.souls-notes span:nth-child(1){top:6%;left:9%;transform:rotate(-5deg)}.souls-notes span:nth-child(2){top:31%;right:8%;transform:rotate(6deg)}.souls-notes span:nth-child(3){top:51%;left:7%;transform:rotate(-7deg)}.souls-notes span:nth-child(4){top:72%;right:12%;transform:rotate(4deg)}.souls-notes span:nth-child(5){top:91%;left:20%;transform:rotate(-3deg)}
.souls-end{padding:14vh 8vw;border-top:1px solid #36332f;min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.souls-end>p{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#858078}.souls-end h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(48px,7vw,100px);font-weight:400;line-height:.9;margin:35px 0 70px}.souls-end h2 em{font-weight:400;color:#8d877f}.souls-end a{font-size:10px;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid #aaa39a;padding-bottom:7px}

@media(max-width:900px){
  .standard-media.feature,.standard-media.materials,.standard-media.gallery{grid-template-columns:1fr}.standard-media.gallery figure:nth-child(3n+1){grid-column:auto}.standard-media figure{min-height:52vh!important}
  .motion video,.motion .credit,.standard-motion video{width:100%}
  .souls-hero{grid-template-columns:1fr;padding-top:16vh}.souls-hero figure{height:55vh}.souls-diary{min-height:auto;padding:12vh 6vw}.souls-route,.souls-doodles{display:none}.souls-grid{display:flex;flex-direction:column;gap:70px;min-height:0}.souls-photo{width:88%;height:auto;aspect-ratio:1.45/1;transform:rotate(-1deg)!important}.souls-photo:nth-child(even){align-self:flex-end;transform:rotate(1deg)!important}.souls-photo:hover{transform:scale(1.02)!important}.souls-notes{display:none}
}


/* --------------------------------------------------
   HYBRID HOME — V1 HOME / V2 PROJECT PAGES
   -------------------------------------------------- */
.home.home-v1{min-height:100vh;background:var(--paper);color:var(--ink);overflow-x:hidden}
.home.home-v1 .home-top{mix-blend-mode:normal;color:var(--ink);padding:22px 28px}
.home.home-v1 [data-site-year]{font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.home.home-v1 .split-hero{height:100svh;display:flex;position:relative;overflow:hidden;background:#111}
.home.home-v1 .split-half{width:50%;transition:width .8s cubic-bezier(.16,1,.3,1)}
.home.home-v1 .split-hero:hover .split-half{width:40%}
.home.home-v1 .split-hero .split-half:hover{width:60%}
.home.home-v1 .split-half img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.home.home-v1 .split-half:hover img{transform:scale(1.025)}
.home.home-v1 .split-half::after{background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.34))}
.home.home-v1 .hero-center{color:#fff}
.home.home-v1 .hero-center h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(66px,10vw,154px);font-weight:400;letter-spacing:-.02em;margin:0;line-height:.78}
.home.home-v1 .hero-center p{font-size:10px;text-transform:uppercase;letter-spacing:.22em;margin:16px 0 0}
.home.home-v1 .half-label{color:#fff;bottom:26px;left:30px}
.home.home-v1 .manifesto{min-height:68vh;padding:14vh 8vw 10vh 29vw;display:flex;flex-direction:column;justify-content:center;max-width:none;margin:0}
.home.home-v1 .manifesto .main{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(34px,4.4vw,68px);line-height:1;max-width:900px}
.home.home-v1 .manifesto .main em{font-style:italic}
.home.home-v1 .manifesto .intro{margin:44px 0 0 auto;max-width:430px;font-size:15px;line-height:1.55;color:#222}
.home.home-v1 .selected{padding:7vh 5vw 14vh;border-top:0}
.home.home-v1 .selected-head{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 0 0;color:inherit}
.home.home-v1 .section-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.home.home-v1 .selected-head h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3.2vw,48px);font-weight:400;margin:12px 0 0;text-transform:none;letter-spacing:-.03em;color:var(--ink)}
.home.home-v1 .diary{position:relative;height:2550px;margin-top:55px}
.home.home-v1 .diary-line{position:absolute;inset:0;pointer-events:none;opacity:.28}
.home.home-v1 .diary-line path{fill:none;stroke:currentColor;stroke-width:1.3;stroke-dasharray:7 9}
.home.home-v1 #projectCards{position:absolute;inset:0}
.home.home-v1 .project-card{position:absolute;width:min(560px,43vw);display:block}
.home.home-v1 .project-card:nth-of-type(1){left:3%;top:3%}
.home.home-v1 .project-card:nth-of-type(2){right:1%;top:23%}
.home.home-v1 .project-card:nth-of-type(3){left:8%;top:43%}
.home.home-v1 .project-card:nth-of-type(4){right:12%;top:63%}
.home.home-v1 .project-card:nth-of-type(5){left:18%;top:84%}
.home.home-v1 .project-card .cover{height:320px;overflow:hidden;background:#d8d2c6;position:relative}
.home.home-v1 .project-card .cover.empty::after{content:'MATERIALS COMING SOON';position:absolute;inset:0;display:grid;place-items:start center;padding-top:34px;font-size:10px;letter-spacing:.18em}
.home.home-v1 .project-card .cover.empty::before{content:'';position:absolute;right:100px;bottom:66px;width:48px;height:48px;border-radius:50%;background:#202b42}
.home.home-v1 .project-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.home.home-v1 .project-card:hover img{transform:scale(1.035)}
.home.home-v1 .project-meta{display:grid;grid-template-columns:138px 1fr;gap:14px;margin-top:15px;align-items:start}
.home.home-v1 .project-no{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(58px,5vw,84px);line-height:.82}
.home.home-v1 .project-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,4.1vw,68px);line-height:.9;letter-spacing:-.035em}
.home.home-v1 .project-sub{font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:12px;color:#4d4a45}
.home.home-v1 .home-footer{padding:8vh 5vw 10vh;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px;color:var(--ink)}
.home.home-v1 .home-footer h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(26px,3.2vw,48px);font-weight:400;line-height:.92;margin:0}
.home.home-v1 .home-footer p{max-width:520px;font-size:14px;line-height:1.65;margin-left:auto;color:#3d3934}
@media (max-width: 980px){
  .home.home-v1 .manifesto{padding:10vh 7vw}
  .home.home-v1 .selected-head{display:block}
  .home.home-v1 .selected-head h2{margin-top:16px}
  .home.home-v1 .diary{min-height:auto}
  .home.home-v1 #projectCards{display:grid;gap:34px}
  .home.home-v1 .project-card{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%}
  .home.home-v1 .project-card .cover{height:260px}
  .home.home-v1 .diary-line{display:none}
  .home.home-v1 .home-footer{grid-template-columns:1fr}
}

@media (max-width:980px){.home.home-v1 .diary{height:auto}.home.home-v1 #projectCards{position:relative;inset:auto}}

.home.home-v1 .home-top{
  color:white !important;
}

.home.home-v1 .selected-head h2{
  transform: translateY(-25px);
}


.home.home-v1 .diary{
  transform: translateY(-120px);
}

.home.home-v1 .home-footer{
  transform: translateY(-120px);
}

.home.home-v1 .home-footer{
  transform:none !important;
  padding:6vh 5vw 4vh !important;
}

.project-page .hero-copy > div:first-child{
  transform: translateY(500px);
}

body[data-project-key="casa"] .hero-copy h1{
  font-size:clamp(48px,5.5vw,82px) !important;
  margin-top:14px !important;
}

.home.home-v1 .split-right .half-label{
  left:auto !important;
  right:30px !important;
  text-align:right;
}

.about-close{
  left:28px !important;
  right:auto !important;
  top:22px !important;
}

.home.home-v1 .manifesto .intro{
  display:none !important;
}

.home.home-v1 .manifesto{
  min-height:auto !important;
  padding:10vh 8vw 6vh 29vw !important;
}

/* ===== Agreed structural updates: Home scroll indicator + project pagination ===== */
.home.home-v1 .home-scroll-indicator{
  display:block;
  margin:24px auto 0;
  width:max-content;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:24px;
  line-height:1;
  font-weight:400;
  animation:betweenScrollCue 1.8s ease-in-out infinite;
}
@keyframes betweenScrollCue{0%,100%{transform:translateY(0);opacity:.72}50%{transform:translateY(7px);opacity:1}}

.project-pagination{display:grid;grid-template-columns:1fr 1fr;background:#ded5c8;border-bottom:1px solid var(--line)}
.project-jump{min-width:0;min-height:32vh;padding:6vh 4.5vw;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-items:start;gap:18px 22px;overflow:hidden}
.project-jump+.project-jump{border-left:1px solid var(--line)}
.project-jump .jump-label{font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.project-jump .jump-arrow{font-family:'Cormorant Garamond',Georgia,serif;font-size:42px;line-height:.7}
.project-jump h2{grid-column:1/-1;align-self:end;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(34px,3.6vw,58px);font-weight:400;line-height:.92;letter-spacing:-.035em;margin:0;max-width:100%;overflow-wrap:break-word}
.previous-project{text-align:left}
.next-project{text-align:right;display:grid;grid-template-columns:1fr auto;min-height:32vh;padding:6vh 4.5vw;background:transparent;border:0}
.next-project .jump-label{grid-column:1}.next-project .jump-arrow{grid-column:2}.next-project h2{grid-column:1/-1}

/* ===== Casa dei Nonni — only the layouts agreed for this project ===== */
body[data-project-key="casa"] .casa-section{padding-top:10vh;padding-bottom:12vh}
body[data-project-key="casa"] .casa-section .section-title{margin-bottom:6vh}
body[data-project-key="casa"] .casa-stazzu>.section-title p,
body[data-project-key="casa"] .casa-craft>.section-title p{display:none}

body[data-project-key="casa"] .casa-stazzu-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:8vw;align-items:center}
body[data-project-key="casa"] .casa-stazzu-copy{padding-left:110px;max-width:560px}
body[data-project-key="casa"] .casa-stazzu-copy p,
body[data-project-key="casa"] .casa-craft-copy p{font-size:13px;line-height:1.72;color:#5e5850;margin:0}
body[data-project-key="casa"] .casa-image-slot{margin:0;height:52vh;display:grid;place-items:center;border:1px solid var(--line);background:transparent;overflow:hidden}
body[data-project-key="casa"] .casa-image-slot span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#90887e}
body[data-project-key="casa"] .casa-image-slot img{width:100%;height:100%;object-fit:cover}

body[data-project-key="casa"] .casa-materials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body[data-project-key="casa"] .casa-material{margin:0;min-width:0;background:transparent}
body[data-project-key="casa"] .casa-material img{width:100%;aspect-ratio:1/1;object-fit:cover}
body[data-project-key="casa"] .casa-material figcaption{padding-top:10px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}

body[data-project-key="casa"] .casa-diagram-browser{display:grid;grid-template-columns:minmax(0,1fr) 260px;border:1px solid var(--line);background:#e4dbcf;min-height:68vh}
body[data-project-key="casa"] .casa-diagram-stage{position:relative;display:grid;place-items:center;padding:42px;min-width:0}
body[data-project-key="casa"] .casa-diagram-stage img{width:100%;height:56vh;object-fit:contain;transition:opacity .18s ease}
body[data-project-key="casa"] .casa-diagram-stage img.changing{opacity:.18}
body[data-project-key="casa"] .casa-diagram-caption{position:absolute;left:22px;bottom:18px;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
body[data-project-key="casa"] .casa-diagram-tabs{border-left:1px solid var(--line);display:flex;flex-direction:column}
body[data-project-key="casa"] .casa-diagram-tabs button{appearance:none;border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 18px;text-align:left;font:inherit;font-size:10px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .2s}
body[data-project-key="casa"] .casa-diagram-tabs button span{display:inline-block;width:34px;color:#9b5a3f}
body[data-project-key="casa"] .casa-diagram-tabs button.active{background:#d5cabc}

body[data-project-key="casa"] .casa-floor-layout{max-width:1120px;margin:0 auto}
body[data-project-key="casa"] .casa-render-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px;align-items:start}
body[data-project-key="casa"] .casa-render{margin:0;background:transparent;overflow:hidden}
body[data-project-key="casa"] .casa-render img{display:block;width:100%;height:auto;max-height:58vh;object-fit:contain}
body[data-project-key="casa"] .casa-render:nth-child(3n){width:82%;justify-self:center}
body[data-project-key="casa"] .casa-sketch-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;margin-top:9vh;align-items:start}
body[data-project-key="casa"] .casa-lower .casa-sketch-row{grid-template-columns:minmax(0,560px);justify-content:center}
body[data-project-key="casa"] .casa-reveal{appearance:none;border:0;background:transparent;padding:0;margin:0;text-align:left;cursor:pointer;color:inherit}
body[data-project-key="casa"] .casa-reveal img{display:block;width:100%;height:42vh;object-fit:contain;background:transparent;transition:opacity .18s ease}
body[data-project-key="casa"] .casa-reveal img.changing{opacity:.2}
body[data-project-key="casa"] .casa-reveal span{display:block;margin-top:9px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#746d64}

body[data-project-key="casa"] .casa-craft-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:8vw;align-items:center;margin-bottom:10vh}
body[data-project-key="casa"] .casa-craft-copy{padding-left:110px;max-width:560px}
body[data-project-key="casa"] .casa-craft-feature figure{margin:0;background:transparent}
body[data-project-key="casa"] .casa-craft-feature img{display:block;width:100%;height:52vh;object-fit:contain;background:transparent}
body[data-project-key="casa"] .casa-craft-carousel{overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:thin;cursor:pointer;padding-bottom:14px}
body[data-project-key="casa"] .casa-craft-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,30%);gap:12px;width:max-content}
body[data-project-key="casa"] .casa-craft-track figure{margin:0;width:100%;height:34vh;overflow:hidden;scroll-snap-align:start}
body[data-project-key="casa"] .casa-craft-track img{width:100%;height:100%;object-fit:cover}

.souls-pagination{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #36332f;border-bottom:1px solid #36332f}
.souls-pagination a{padding:26px 0;display:flex;flex-direction:column;gap:10px}
.souls-pagination a+a{border-left:1px solid #36332f;padding-left:28px;text-align:right}
.souls-pagination span{font-size:9px;letter-spacing:.16em;color:#8d8880}
.souls-pagination strong{font-weight:400;font-size:12px;letter-spacing:.12em}

@media(max-width:900px){
  .project-pagination{grid-template-columns:1fr 1fr}.project-jump{min-height:24vh;padding:5vh 6vw}.project-jump h2{font-size:clamp(30px,7vw,48px)}
  body[data-project-key="casa"] .casa-stazzu-grid,body[data-project-key="casa"] .casa-craft-feature{grid-template-columns:1fr;gap:5vh}
  body[data-project-key="casa"] .casa-stazzu-copy,body[data-project-key="casa"] .casa-craft-copy{padding-left:0}
  body[data-project-key="casa"] .casa-materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-project-key="casa"] .casa-diagram-browser{grid-template-columns:1fr}.casa-diagram-tabs{border-left:0!important;border-top:1px solid var(--line)}
  body[data-project-key="casa"] .casa-render-grid,body[data-project-key="casa"] .casa-sketch-row{grid-template-columns:1fr}
  body[data-project-key="casa"] .casa-render:nth-child(3n){width:100%}
  body[data-project-key="casa"] .casa-craft-track{grid-auto-columns:70vw}
}
.souls-pagination a{border-bottom:0;padding-bottom:26px}
body[data-project-key="casa"] .casa-craft-track{grid-auto-columns:min(32vw,360px)}

body[data-project-key="casa"] .casa-render:nth-child(3n){
  width:100% !important;
  justify-self:stretch !important;
}

body[data-project-key="casa"] .casa-diagram-stage img{
  width:125% !important;
  height:64vh !important;
  max-width:none !important;
}

body[data-project-key="casa"] .casa-diagram-stage img[src*="sala-diagram.png"]{
  transform: scale(1.55) !important;
}


body[data-project-key="casa"] .casa-diagram-stage img{
  pointer-events: none !important;
}

body[data-project-key="casa"] .casa-diagram-tabs{
  position: relative;
  z-index: 10;
}

body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{
  transform: translateX(14%) !important;
}

/* ===== Cozy Pop — agreed project-specific layout ===== */
body[data-project-key="cozy"] .cozy-section{padding-top:9vh;padding-bottom:11vh}
body[data-project-key="cozy"] .cozy-section .section-title{margin-bottom:5vh}
body[data-project-key="cozy"] .cozy-concept-feature{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:7vw;align-items:start}
body[data-project-key="cozy"] .cozy-concept-copy{padding-left:110px;max-width:560px}
body[data-project-key="cozy"] .cozy-concept-copy p,body[data-project-key="cozy"] .cozy-plan-copy p{font-size:13px;line-height:1.72;color:#5e5850;margin:0}
body[data-project-key="cozy"] .cozy-concept-feature figure{margin:0;overflow:hidden}
body[data-project-key="cozy"] .cozy-concept-feature img{width:100%;height:auto;max-height:60vh;object-fit:cover}
body[data-project-key="cozy"] .cozy-subhead{margin-top:8vh;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end}
body[data-project-key="cozy"] .cozy-subhead h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(34px,4vw,58px);margin:0}
body[data-project-key="cozy"] .cozy-colors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin-top:30px}
body[data-project-key="cozy"] .cozy-color{text-align:center;min-width:0}
body[data-project-key="cozy"] .cozy-color-dot{display:block;width:min(125px,75%);aspect-ratio:1;border-radius:50%;margin:0 auto 15px;border:1px solid rgba(23,23,21,.08)}
body[data-project-key="cozy"] .cozy-color strong,body[data-project-key="cozy"] .cozy-color small{display:block;font-size:8px;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;font-weight:400}
body[data-project-key="cozy"] .cozy-color small{color:#7c746b;margin-top:3px}
body[data-project-key="cozy"] .cozy-materials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}
body[data-project-key="cozy"] .cozy-material{margin:0}
body[data-project-key="cozy"] .cozy-material-swatch{height:160px;overflow:hidden;background:#ddd1c1}
body[data-project-key="cozy"] .cozy-material-swatch img{width:100%;height:100%;object-fit:cover}
body[data-project-key="cozy"] .cozy-material-swatch.oak{background:linear-gradient(100deg,#c8ae89 0 20%,#b9956d 20% 23%,#cdb38d 23% 50%,#aa8662 50% 53%,#c6a77f 53% 100%)}
body[data-project-key="cozy"] .cozy-material-swatch.resin{background:linear-gradient(135deg,#d8d0c6,#eee7dc 52%,#c8c0b7)}
body[data-project-key="cozy"] .cozy-material-swatch.paint{background:#21385c}
body[data-project-key="cozy"] .cozy-material figcaption{font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-top:10px}
body[data-project-key="cozy"] .cozy-plan{padding-top:7vh;padding-bottom:9vh}
body[data-project-key="cozy"] .cozy-plan .section-title{margin-bottom:3vh}
body[data-project-key="cozy"] .cozy-plan-grid{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr);gap:5vw;align-items:center}
body[data-project-key="cozy"] .cozy-plan-copy{padding-left:110px;max-width:430px}
body[data-project-key="cozy"] .cozy-plan-grid figure{margin:0;min-height:0;background:transparent;display:grid;place-items:center}
body[data-project-key="cozy"] .cozy-plan-grid img{width:100%;height:auto;max-height:72vh;object-fit:contain;padding:0}
body[data-project-key="cozy"] .cozy-section-browser{display:grid;grid-template-columns:minmax(0,1fr) 260px;border:1px solid var(--line);background:#e4dbcf;min-height:68vh}
body[data-project-key="cozy"] .cozy-section-stage{display:grid;place-items:center;padding:34px;min-width:0}
body[data-project-key="cozy"] .cozy-section-stage img{width:100%;height:58vh;object-fit:contain;transition:opacity .18s ease}
body[data-project-key="cozy"] .cozy-section-stage img.changing{opacity:.18}
body[data-project-key="cozy"] .cozy-section-tabs{border-left:1px solid var(--line);display:flex;flex-direction:column;position:relative;z-index:3}
body[data-project-key="cozy"] .cozy-section-tabs button{appearance:none;border:0;border-bottom:1px solid var(--line);background:transparent;padding:22px 18px;text-align:left;font-size:10px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
body[data-project-key="cozy"] .cozy-section-tabs button span{display:inline-block;width:34px;color:#9b5a3f}
body[data-project-key="cozy"] .cozy-section-tabs button.active{background:#d5cabc}
body[data-project-key="cozy"] .cozy-featured-renders{display:grid;grid-template-columns:1fr 1fr;gap:20px}
body[data-project-key="cozy"] .cozy-featured-renders figure{margin:0;overflow:hidden}
body[data-project-key="cozy"] .cozy-featured-renders img{width:100%;height:auto;object-fit:contain}
body[data-project-key="cozy"] .cozy-reveal{appearance:none;border:0;background:transparent;padding:0;margin:9vh auto 0;display:block;width:min(900px,82%);cursor:pointer;text-align:left;color:inherit}
body[data-project-key="cozy"] .cozy-reveal-media{height:56vh;display:grid;place-items:center;position:relative;background:transparent}
body[data-project-key="cozy"] .cozy-reveal img{width:100%;height:100%;object-fit:contain;transition:opacity .18s ease;background:transparent}
body[data-project-key="cozy"] .cozy-reveal img.changing{opacity:.2}
body[data-project-key="cozy"] .cozy-reveal>span{display:block;margin-top:9px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#746d64}
body[data-project-key="cozy"] .cozy-missing-asset{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8f867c}
body[data-project-key="cozy"] .cozy-small-renders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:9vh}
body[data-project-key="cozy"] .cozy-small-renders figure{margin:0;overflow:hidden}
body[data-project-key="cozy"] .cozy-small-renders img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
body[data-project-key="cozy"] .standard-motion{padding-top:8vh;padding-bottom:10vh}
body[data-project-key="cozy"] .standard-motion video{width:min(720px,64vw)}

/* ===== Souls in Frame — compact vertical visual diary ===== */
.souls-hero figure img{object-position:center}
.souls-diary{min-height:auto;padding:11vh 6vw 13vh}
.souls-route{top:3%;left:4%;width:92%;height:94%}
.souls-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:auto;gap:46px 24px;min-height:0;align-items:start}
.souls-photo{height:auto!important;align-self:start}
.souls-photo img{width:100%;height:auto!important;aspect-ratio:3088/2048;object-fit:cover}
.souls-photo.souls-wide{grid-column:span 6}
.souls-photo.souls-mid{grid-column:span 5}
.souls-photo.souls-small{grid-column:span 4}
.souls-photo:nth-child(5n+2){margin-top:8vh}
.souls-photo:nth-child(7n+3){margin-top:-3vh}
.souls-tilt-1{transform:rotate(-1.6deg)}.souls-tilt-2{transform:rotate(1.5deg)}.souls-tilt-3{transform:rotate(-.6deg)}.souls-tilt-4{transform:rotate(1deg)}.souls-tilt-5{transform:rotate(-2deg)}.souls-tilt-6{transform:rotate(.7deg)}
.souls-notes .postit{position:absolute;display:block;background:#d7c7a8;color:#2a2723!important;padding:18px 22px;box-shadow:0 10px 28px rgba(0,0,0,.16);font-family:'Caveat',cursive!important;font-style:normal!important;font-size:clamp(22px,2.3vw,34px)!important;line-height:.92;opacity:.94!important;z-index:5}
.souls-notes .postit-a{top:14%;right:7%;transform:rotate(4deg)}
.souls-notes .postit-b{top:48%;left:5%;transform:rotate(-5deg);background:#c9bda9}
.souls-notes .postit-c{top:78%;right:10%;transform:rotate(3deg);background:#ded0b4}
.souls-notes .hand-note{position:absolute;font-family:'Caveat',cursive!important;font-style:normal!important;color:#b7afa5!important;font-size:clamp(24px,2.5vw,38px)!important;opacity:.84!important}
.souls-notes .note-a{top:32%;right:12%;transform:rotate(7deg)}
.souls-notes .note-b{top:64%;left:10%;transform:rotate(-6deg)}
.souls-end{min-height:55vh;padding-top:10vh;padding-bottom:10vh}

@media(max-width:900px){
  body[data-project-key="cozy"] .cozy-concept-feature,body[data-project-key="cozy"] .cozy-plan-grid{grid-template-columns:1fr;gap:4vh}
  body[data-project-key="cozy"] .cozy-concept-copy,body[data-project-key="cozy"] .cozy-plan-copy{padding-left:0}
  body[data-project-key="cozy"] .cozy-colors{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}
  body[data-project-key="cozy"] .cozy-materials{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-project-key="cozy"] .cozy-section-browser{grid-template-columns:1fr}.cozy-section-tabs{border-left:0!important;border-top:1px solid var(--line)}
  body[data-project-key="cozy"] .cozy-featured-renders{grid-template-columns:1fr}
  body[data-project-key="cozy"] .cozy-small-renders{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-project-key="cozy"] .cozy-reveal{width:100%}
  body[data-project-key="cozy"] .standard-motion video{width:100%}
  .souls-grid{grid-template-columns:1fr;gap:55px}.souls-photo.souls-wide,.souls-photo.souls-mid,.souls-photo.souls-small{grid-column:auto;width:88%}.souls-photo:nth-child(even){justify-self:end}.souls-photo:nth-child(5n+2),.souls-photo:nth-child(7n+3){margin-top:0}.souls-route,.souls-doodles{display:none}.souls-notes{display:none}
}

/* ===== 05 Sep refinements — only agreed Souls / Cozy / shared project navigation changes ===== */

/* Shared Previous / Next project block: same editorial structure on every project page */
.project-pagination{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#ded5c8;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.project-jump,
.next-project{
  min-width:0;
  min-height:32vh;
  padding:5vh 5vw 4.5vh;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:3vh;
  background:transparent;
  border:0;
  overflow:hidden;
  text-align:left;
  transition:background .25s ease;
}
.project-jump+.project-jump{border-left:1px solid var(--line)}
.project-jump:hover{background:rgba(255,255,255,.12)}
.project-jump .jump-label,
.project-jump .jump-type{
  display:block;
  font-size:9px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:#6f685f;
}
.project-jump .jump-main{
  display:flex;
  align-items:center;
  gap:22px;
  width:100%;
}
.project-jump .jump-arrow{
  flex:0 0 auto;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:44px;
  line-height:1;
}
.project-jump h2,
.next-project h2{
  margin:0;
  max-width:none;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(38px,4vw,64px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.035em;
  overflow-wrap:normal;
}
.previous-project .jump-main{justify-content:flex-start}
.next-project{text-align:right}
.next-project .jump-main{justify-content:flex-end}
.next-project .jump-type{text-align:right}

/* Souls in Frame: keep the 50/50 navigation structure, but in the dark project language */
.souls-pagination{
  width:100%;
  margin-top:5vh;
  background:transparent;
  border-color:#36332f;
}
.souls-pagination .project-jump{color:#f2ede5}
.souls-pagination .project-jump+.project-jump{border-left-color:#36332f}
.souls-pagination .jump-label,
.souls-pagination .jump-type{color:#8d8880}
.souls-pagination .project-jump:hover{background:rgba(255,255,255,.025)}

/* Souls in Frame: compact, centered "ordered disorder" */
.souls-grid{
  width:min(1320px,92%);
  margin-left:auto;
  margin-right:auto;
}
.souls-route{left:8%;width:84%}
.souls-notes .postit{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  color:#b7afa5 !important;
  opacity:.84 !important;
}
.souls-end h2{
  font-size:clamp(42px,5.8vw,82px);
  line-height:1;
  margin:32px 0 48px;
}
.souls-end h2 em{
  display:inline-block;
  margin-top:20px;
}

/* Cozy Pop: give the hero subtitle enough air below the title */
body[data-project-key="cozy"] .hero-copy .sub{
  margin-top:34px !important;
}

/* Cozy Pop / 03 Plan: text above, plan below */
body[data-project-key="cozy"] .cozy-plan{
  padding-top:7vh;
  padding-bottom:9vh;
}
body[data-project-key="cozy"] .cozy-plan .cozy-plan-title{
  margin-bottom:5vh;
}
body[data-project-key="cozy"] .cozy-plan .cozy-plan-title p{
  max-width:680px;
}
body[data-project-key="cozy"] .cozy-plan-media{
  width:100%;
}
body[data-project-key="cozy"] .cozy-plan-media figure{
  width:min(1080px,82%);
  margin:0 auto;
  display:grid;
  place-items:center;
  background:transparent;
}
body[data-project-key="cozy"] .cozy-plan-media img{
  display:block;
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
}

/* Cozy Pop / 05 Renders: large vertical sequence — living, interactive tiles, bedroom */
body[data-project-key="cozy"] .cozy-render-sequence{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7vh;
}
body[data-project-key="cozy"] .cozy-render-large{
  width:min(1180px,91%);
  margin:0;
  overflow:hidden;
  background:transparent;
}
body[data-project-key="cozy"] .cozy-render-large img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
body[data-project-key="cozy"] .cozy-reveal{
  width:min(1180px,91%);
  margin:0;
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  text-align:left;
  color:inherit;
}
body[data-project-key="cozy"] .cozy-reveal-media{
  width:100%;
  height:auto;
  min-height:0;
  display:grid;
  place-items:center;
  background:transparent;
}
body[data-project-key="cozy"] .cozy-reveal img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:transparent;
  transition:opacity .18s ease;
}
body[data-project-key="cozy"] .cozy-reveal>span{
  display:block;
  margin-top:10px;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:#746d64;
}

@media(max-width:900px){
  .project-jump,.next-project{min-height:25vh;padding:4.5vh 6vw 4vh;gap:2.5vh}
  .project-jump h2,.next-project h2{font-size:clamp(30px,7vw,48px)}
  .project-jump .jump-arrow{font-size:36px}
  body[data-project-key="cozy"] .hero-copy .sub{margin-top:28px !important}
  body[data-project-key="cozy"] .cozy-plan-media figure,
  body[data-project-key="cozy"] .cozy-render-large,
  body[data-project-key="cozy"] .cozy-reveal{width:100%}
  .souls-grid{width:100%}
}

body[data-project-key="cozy"] img[src*="tiles.png"]{
  transform: scale(1.6) !important;
  transform-origin: center center;
}


/* ===== PATCH 08-09: soft swaps + Cozy sketch frame + Souls pagination ===== */
[data-concept-image],
[data-plan-image],
[data-section-image],
[data-casa-diagram-image],
[data-cozy-section-image],
.casa-reveal img,
.cozy-reveal img{
  opacity:1;
  transition:opacity .22s ease !important;
}
[data-concept-image].changing,
[data-plan-image].changing,
[data-section-image].changing,
[data-casa-diagram-image].changing,
[data-cozy-section-image].changing,
.casa-reveal img.changing,
.cozy-reveal img.changing{
  opacity:0 !important;
}

/* Cozy Pop: remove the visible frame around the clickable sketch */
body[data-project-key="cozy"] .cozy-reveal,
body[data-project-key="cozy"] .cozy-reveal-media{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
body[data-project-key="cozy"] .cozy-reveal-media img{
  background:transparent !important;
}

/* Souls in Frame: same Previous / Next proportions as the other projects */
.souls-page .souls-end{
  min-height:auto !important;
}
.souls-page .souls-pagination{
  width:100%;
  margin-top:70px;
  min-height:0 !important;
}
.souls-page .souls-pagination .project-jump{
  min-height:32vh !important;
  padding:6vh 4.5vw !important;
}
.souls-page .souls-pagination .jump-label,
.souls-page .souls-pagination .jump-type{
  font-size:9px !important;
}
.souls-page .souls-pagination .jump-arrow{
  font-size:42px !important;
}
.souls-page .souls-pagination h2{
  font-size:clamp(34px,3.6vw,58px) !important;
  line-height:.92 !important;
  margin:0 !important;
}


/* ===== PATCH 08-09 v2: Souls pagination exact shared geometry ===== */
.souls-page .souls-pagination{
  width:100% !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  background:#161513 !important;
  border-top:1px solid #36332f !important;
  border-bottom:1px solid #36332f !important;
}
.souls-page .souls-pagination .project-jump,
.souls-page .souls-pagination .next-project{
  min-height:32vh !important;
  padding:5vh 5vw 4.5vh !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  gap:3vh !important;
  background:transparent !important;
  border:0 !important;
  text-align:left !important;
}
.souls-page .souls-pagination .project-jump + .project-jump{
  border-left:1px solid #36332f !important;
}
.souls-page .souls-pagination .next-project{
  text-align:right !important;
}
.souls-page .souls-pagination .jump-main{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  width:100% !important;
}
.souls-page .souls-pagination .previous-project .jump-main{
  justify-content:flex-start !important;
}
.souls-page .souls-pagination .next-project .jump-main{
  justify-content:flex-end !important;
}
.souls-page .souls-pagination .jump-label,
.souls-page .souls-pagination .jump-type{
  display:block !important;
  font-size:9px !important;
  line-height:1.3 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
  color:#8d8880 !important;
}
.souls-page .souls-pagination .jump-arrow{
  flex:0 0 auto !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:44px !important;
  line-height:1 !important;
}
.souls-page .souls-pagination h2{
  margin:0 !important;
  max-width:none !important;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-size:clamp(38px,4vw,64px) !important;
  font-weight:400 !important;
  line-height:.95 !important;
  letter-spacing:-.035em !important;
}
.souls-page .souls-pagination .next-project .jump-type{
  text-align:right !important;
}
@media(max-width:900px){
  .souls-page .souls-pagination .project-jump,
  .souls-page .souls-pagination .next-project{
    min-height:25vh !important;
    padding:4.5vh 6vw 4vh !important;
    gap:2.5vh !important;
  }
  .souls-page .souls-pagination h2{
    font-size:clamp(30px,7vw,48px) !important;
  }
  .souls-page .souls-pagination .jump-arrow{
    font-size:36px !important;
  }
}


/* ===== PATCH: preload-first image swaps ===== */
[data-concept-image],
[data-plan-image],
[data-section-image],
[data-casa-diagram-image],
[data-cozy-section-image],
.casa-reveal img,
.cozy-reveal img{
  opacity:1;
  transition:opacity .24s ease !important;
}
[data-concept-image].changing,
[data-plan-image].changing,
[data-section-image].changing,
[data-casa-diagram-image].changing,
[data-cozy-section-image].changing,
.casa-reveal img.changing,
.cozy-reveal img.changing{
  opacity:.12 !important;
}

/* ===== OBLÒ ===== */
.oblo-page .hero-copy h1{
  font-size:clamp(78px,9vw,138px);
}
.oblo-page .oblo-hero-image img{
  object-position:center;
}
.oblo-section{
  padding-top:10vh;
  padding-bottom:12vh;
}
.oblo-section .section-title{
  margin-bottom:7vh;
}

/* Original hand sketch sits directly on the paper background */
.oblo-sketch{
  margin:0 auto;
  width:min(1180px,92%);
  background:transparent;
  border:0;
}
.oblo-sketch img{
  width:100%;
  height:auto;
  max-height:82vh;
  object-fit:contain;
  background:transparent;
}

/* Technical drawings deliberately remain borderless */
.oblo-technical-feature{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);
  gap:6vw;
  align-items:center;
  max-width:1220px;
  margin:0 auto 9vh;
}
.oblo-technical-feature figure,
.oblo-technical-pair figure,
.oblo-exploded figure,
.oblo-component-row figure{
  margin:0;
  background:transparent;
  min-width:0;
}
.oblo-technical-feature img{
  width:100%;
  height:62vh;
  object-fit:contain;
}
.oblo-tech-note{
  max-width:310px;
}
.oblo-tech-note p{
  margin:18px 0 0;
  font-size:12px;
  line-height:1.7;
  color:#615b53;
}
.oblo-technical-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3vw;
  max-width:1180px;
  margin:0 auto;
}
.oblo-technical-pair img{
  width:100%;
  height:48vh;
  object-fit:contain;
}
.oblo-technical-pair figcaption,
.oblo-component-row figcaption{
  margin-top:12px;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#776f66;
}

/* Exploded views */
.oblo-exploded{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3vw;
  max-width:1040px;
  margin:0 auto 8vh;
}
.oblo-exploded img{
  width:100%;
  height:70vh;
  object-fit:contain;
}
.oblo-component-row{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);
  gap:5vw;
  align-items:center;
  max-width:1120px;
  margin:0 auto;
}
.oblo-component-row img{
  width:100%;
  height:52vh;
  object-fit:contain;
}

/* Render details */
.oblo-details{
  overflow:hidden;
}
.oblo-detail-wide,
.oblo-detail-accent,
.oblo-final-main,
.oblo-final-scene{
  margin:0 auto;
  overflow:hidden;
}
.oblo-detail-wide{
  width:min(1120px,94%);
}
.oblo-detail-wide img{
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:cover;
}
.oblo-detail-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  width:min(1040px,90%);
  margin:7vh auto;
}
.oblo-detail-pair figure{
  margin:0;
  overflow:hidden;
}
.oblo-detail-pair img{
  width:100%;
  height:52vh;
  object-fit:cover;
}
.oblo-detail-accent{
  width:min(820px,74%);
}
.oblo-detail-accent img{
  width:100%;
  height:auto;
  max-height:62vh;
  object-fit:cover;
}

/* Final product */
.oblo-final-main{
  width:min(1080px,92%);
}
.oblo-final-main img{
  width:100%;
  height:auto;
  max-height:74vh;
  object-fit:cover;
}
.oblo-final-scene{
  width:min(900px,78%);
  margin-top:9vh;
}
.oblo-final-scene img{
  width:100%;
  height:auto;
  max-height:62vh;
  object-fit:cover;
}
.oblo-info{
  min-height:56vh;
}

/* Keep project pagination aligned with the approved shared layout */
.oblo-page .project-pagination .jump-main{
  display:flex;
  align-items:center;
  gap:20px;
}
.oblo-page .project-pagination .next-project .jump-main{
  justify-content:flex-end;
}

@media(max-width:900px){
  .oblo-technical-feature,
  .oblo-technical-pair,
  .oblo-exploded,
  .oblo-component-row,
  .oblo-detail-pair{
    grid-template-columns:1fr;
  }
  .oblo-tech-note{max-width:520px}
  .oblo-technical-feature img,
  .oblo-technical-pair img,
  .oblo-exploded img,
  .oblo-component-row img{
    height:auto;
    max-height:58vh;
  }
  .oblo-detail-pair{width:100%}
  .oblo-detail-pair img{height:auto;max-height:58vh}
  .oblo-detail-accent,
  .oblo-final-scene{width:100%}
}


/* ==================================================
   BETWEEN — CONSOLIDATED PATCH 2026-09-22
   ================================================== */

/* Smaller global section titles; project hero titles stay untouched */
.section-title h2{
  font-size:clamp(38px,4.4vw,66px) !important;
  line-height:.92 !important;
}
@media(min-width:901px){
  .section-title h2{white-space:nowrap;}
}
@media(max-width:900px){
  .section-title h2{
    font-size:clamp(36px,9vw,56px) !important;
    white-space:normal;
  }
}

/* Home route: dotted instead of dashed */
.home.home-v1 .diary-line path{
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-dasharray:1 13 !important;
}

/* Compact Home closing area */
.home.home-v1 .home-footer{
  padding:4vh 5vw 3vh !important;
  min-height:0 !important;
  align-items:start;
}
.home.home-v1 .home-footer h3,
.home.home-v1 .home-footer p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* Language switch */
.language-switcher{
  position:fixed;
  z-index:75;
  top:22px;
  right:28px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid var(--line);
  background:rgba(246,241,232,.84);
  backdrop-filter:blur(10px);
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.home .language-switcher{top:52px;}
.souls-page .language-switcher{
  color:#f2ede5;
  border-color:#4a4641;
  background:rgba(22,21,19,.82);
}
.language-switcher button{
  appearance:none;border:0;background:none;padding:0;cursor:pointer;
  color:inherit;opacity:.45;font-size:inherit;letter-spacing:inherit;text-transform:inherit;
}
.language-switcher button.active{opacity:1;}
.language-switcher .sep{opacity:.35;}

/* Oblò hero spacing */
.oblo-page .hero-copy .sub{
  margin-top:12px !important;
  margin-bottom:32px !important;
}
.oblo-page .hero-copy .intro{margin-top:0 !important;}

/* Oblò: tighter editorial rhythm */
.oblo-page .oblo-section{
  padding-top:8vh;
  padding-bottom:9vh;
}
.oblo-page .oblo-section .section-title{margin-bottom:5vh;}

/* Structure & System — exact requested order */
.oblo-system-sequence{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  gap:5vh;
}
.oblo-system-block{margin:0;min-width:0;}
.oblo-system-block img{width:100%;height:auto;max-height:62vh;object-fit:contain;}
.oblo-development{width:min(1040px,100%);margin:0 auto;}
.oblo-development figcaption,
.oblo-shelf-system figcaption{
  margin-top:12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#776f66;
}
.oblo-structural-logic{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);
  gap:5vw;
  align-items:center;
}
.oblo-shelf-system{width:min(980px,92%);margin:0 auto;}

/* New Materials chapter */
.oblo-material-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  width:min(1120px,100%);
  margin:0 auto;
}
.oblo-material-card{
  min-height:250px;
  padding:22px 18px 20px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.oblo-material-no{font-size:9px;letter-spacing:.16em;color:var(--corten);}
.oblo-material-card h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(34px,3vw,48px);
  font-weight:400;
  margin:auto 0 14px;
}
.oblo-material-card p{font-size:12px;line-height:1.65;color:#5e5850;margin:0;max-width:240px;}

/* Components: larger left diagram and reduced dead space */
.oblo-page .oblo-exploded{
  grid-template-columns:1.18fr .82fr;
  max-width:1120px;
  margin-bottom:4vh;
}
.oblo-page .oblo-exploded figure:first-child img{
  transform:scale(1.12);
  transform-origin:center center;
}
.oblo-page .oblo-component-row{margin-top:0 !important;gap:3vw;}

/* Details / final product / information compactness */
.oblo-page .oblo-detail-pair{margin:4vh auto;}
.oblo-page .oblo-final-main,
.oblo-page .oblo-final-scene{width:min(1080px,92%) !important;}
.oblo-page .oblo-final-scene{margin-top:4vh !important;}
.oblo-page .oblo-final-main img,
.oblo-page .oblo-final-scene img{
  width:100%;height:auto;max-height:74vh;object-fit:cover;
}
.oblo-page .oblo-info{
  min-height:0 !important;
  padding-top:7vh !important;
  padding-bottom:7vh !important;
}
.oblo-page .oblo-info .section-title{margin-bottom:3vh !important;}
.oblo-page .oblo-info .info-grid{margin-top:0 !important;}

@media(max-width:900px){
  .language-switcher{top:18px;right:18px;}
  .home .language-switcher{top:48px;}
  .oblo-structural-logic,
  .oblo-material-grid,
  .oblo-page .oblo-exploded{grid-template-columns:1fr;}
  .oblo-page .oblo-exploded figure:first-child img{transform:none;}
  .oblo-page .oblo-final-main,
  .oblo-page .oblo-final-scene{width:100% !important;}
  .home.home-v1 .home-footer{padding:5vh 7vw 4vh !important;}
}


/* ==================================================
   BETWEEN — HOME ROUTE REVEAL + OBLÒ REFINEMENTS
   2026-09-22
   ================================================== */

/* Selected Works — visible editorial reveal on scroll */
.home.home-v1 .project-card.route-reveal .cover{
  will-change:clip-path,transform,opacity;
  transition:
    clip-path 1.05s cubic-bezier(.16,1,.3,1),
    transform 1.05s cubic-bezier(.16,1,.3,1),
    opacity .7s ease;
}
.home.home-v1 .project-card.route-reveal.reveal-left .cover{
  clip-path:inset(0 100% 0 0);
  transform:translateX(-58px);
  opacity:.35;
}
.home.home-v1 .project-card.route-reveal.reveal-right .cover{
  clip-path:inset(0 0 0 100%);
  transform:translateX(58px);
  opacity:.35;
}
.home.home-v1 .project-card.route-reveal .cover img{
  transform:scale(1.08);
  transition:transform 1.15s cubic-bezier(.16,1,.3,1);
}
.home.home-v1 .project-card.route-reveal .project-meta{
  opacity:0;
  transform:translateY(30px);
  transition:
    opacity .7s ease .38s,
    transform .85s cubic-bezier(.16,1,.3,1) .38s;
}
.home.home-v1 .project-card.route-reveal.is-visible .cover{
  clip-path:inset(0 0 0 0);
  transform:translateX(0);
  opacity:1;
}
.home.home-v1 .project-card.route-reveal.is-visible .cover img{
  transform:scale(1);
}
.home.home-v1 .project-card.route-reveal.is-visible .project-meta{
  opacity:1;
  transform:translateY(0);
}
.home.home-v1 .project-card.route-reveal.is-visible:hover .cover img{
  transform:scale(1.035);
}

/* Oblò Materials — square image slots above each material name */
.oblo-material-card{
  min-height:0 !important;
  padding:22px 18px 20px;
}
.oblo-material-image-slot{
  width:100%;
  aspect-ratio:1 / 1;
  margin:18px 0 24px;
  background:#e8e0d4;
  border:1px solid var(--line);
  overflow:hidden;
}
.oblo-material-image-slot img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.oblo-material-card h3{
  margin:0 0 14px !important;
}

/* Oblò Components — make the first exploded axonometric more readable */
.oblo-page .oblo-exploded figure:first-child img{
  transform:scale(1.30) !important;
  transform-origin:center center;
}

/* Oblò Details now contains only three renders */
.oblo-page .oblo-detail-pair{
  margin-bottom:0 !important;
}

@media(max-width:900px){
  .home.home-v1 .project-card.route-reveal.reveal-left .cover{
    transform:translateX(-28px);
  }
  .home.home-v1 .project-card.route-reveal.reveal-right .cover{
    transform:translateX(28px);
  }
  .oblo-page .oblo-exploded figure:first-child img{
    transform:scale(1.12) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .home.home-v1 .project-card.route-reveal .cover,
  .home.home-v1 .project-card.route-reveal .cover img,
  .home.home-v1 .project-card.route-reveal .project-meta{
    transition:none !important;
  }
}

/* ==================================================
   BETWEEN — PATCH: CASA / SOULS / COZY / ABOUT
   2026-09-22
   ================================================== */

/* ABOUT — no video player in the information overlay */
.about-media video,
[data-about-video]{
  display:none !important;
}

/* CASA DEI NONNI — Lo Stazzu drawing directly on the paper, no frame */
body[data-project-key="casa"] .casa-image-slot{
  border:0 !important;
  background:transparent !important;
}
body[data-project-key="casa"] .casa-image-slot img{
  background:transparent !important;
}

/* SOULS IN FRAME — editorial visual diary */
.souls-page .souls-doodles,
.souls-page .souls-notes{
  display:none !important;
}
.souls-page .souls-diary{
  min-height:0 !important;
  padding:12vh 4vw 15vh !important;
}
.souls-page .souls-route{
  left:6% !important;
  width:88% !important;
  opacity:.20 !important;
}
.souls-page .souls-grid{
  width:min(1360px,94vw) !important;
  margin:0 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:11vh !important;
}
.souls-page .souls-spread{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:24px;
  align-items:start;
  position:relative;
}
.souls-page .souls-spread-pair-left .souls-photo:nth-child(1){grid-column:1 / 8;}
.souls-page .souls-spread-pair-left .souls-photo:nth-child(2){grid-column:8 / 13;margin-top:7vh;}
.souls-page .souls-spread-pair-right .souls-photo:nth-child(1){grid-column:1 / 6;margin-top:6vh;}
.souls-page .souls-spread-pair-right .souls-photo:nth-child(2){grid-column:6 / 13;}
.souls-page .souls-spread-feature .souls-photo{grid-column:2 / 12;}
.souls-page .souls-spread-triplet .souls-photo:nth-child(1){grid-column:1 / 5;}
.souls-page .souls-spread-triplet .souls-photo:nth-child(2){grid-column:5 / 9;margin-top:6vh;}
.souls-page .souls-spread-triplet .souls-photo:nth-child(3){grid-column:9 / 13;margin-top:2vh;}

.souls-page .souls-photo{
  width:100% !important;
  height:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  align-self:start !important;
  box-shadow:0 18px 50px rgba(0,0,0,.14);
}
.souls-page .souls-photo img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  display:block;
}
.souls-page .souls-photo figcaption{
  position:static !important;
  display:block;
  margin-top:8px;
  font-size:8px;
  letter-spacing:.12em;
  color:#817b73;
}

/* Each photograph arrives like a print being placed onto the diary page. */
.souls-page .souls-photo.souls-reveal{
  --souls-x:-46px;
  opacity:0;
  transform:translate3d(var(--souls-x),64px,0) rotate(var(--souls-tilt,0deg)) scale(.965) !important;
  transition:
    opacity .75s ease var(--souls-delay,0ms),
    transform 1.05s cubic-bezier(.16,1,.3,1) var(--souls-delay,0ms) !important;
  will-change:transform,opacity;
}
.souls-page .souls-spread:nth-child(even) .souls-photo.souls-reveal{--souls-x:46px;}
.souls-page .souls-spread-triplet .souls-photo:nth-child(2){--souls-x:0px;}
.souls-page .souls-photo.souls-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) rotate(var(--souls-tilt,0deg)) scale(1) !important;
}
@media(pointer:fine){
  .souls-page .souls-photo.souls-reveal.is-visible:hover{
    z-index:20 !important;
    transform:translate3d(0,-8px,0) rotate(0deg) scale(1.025) !important;
  }
}

/* COZY POP — fixed-frame crossfade: sketch and render never change position. */
body[data-project-key="cozy"] .cozy-reveal{
  overflow:visible !important;
}
body[data-project-key="cozy"] .cozy-reveal-media{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:clamp(430px,52vw,720px) !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body[data-project-key="cozy"] .cozy-reveal-layer{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  opacity:0;
  transition:opacity .58s cubic-bezier(.22,.61,.36,1) !important;
  pointer-events:none;
}
body[data-project-key="cozy"] .cozy-reveal-sketch{
  opacity:1;
  z-index:2;
}
body[data-project-key="cozy"] .cozy-reveal-render{
  opacity:0;
  z-index:1;
  transform:none !important;
}
body[data-project-key="cozy"] .cozy-reveal.show-render .cozy-reveal-sketch{
  opacity:0 !important;
}
body[data-project-key="cozy"] .cozy-reveal.show-render .cozy-reveal-render{
  opacity:1 !important;
}
body[data-project-key="cozy"] .cozy-reveal>span{
  position:relative;
  display:block;
  min-height:1.4em;
  margin-top:10px !important;
  transform:none !important;
}

@media(max-width:900px){
  .souls-page .souls-diary{padding:10vh 6vw 12vh !important;}
  .souls-page .souls-grid{width:100% !important;gap:9vh !important;}
  .souls-page .souls-spread{
    display:flex;
    flex-direction:column;
    gap:7vh;
  }
  .souls-page .souls-spread .souls-photo{
    width:90% !important;
    margin-top:0 !important;
  }
  .souls-page .souls-spread .souls-photo:nth-child(even){align-self:flex-end !important;}
  .souls-page .souls-photo.souls-reveal,
  .souls-page .souls-spread:nth-child(even) .souls-photo.souls-reveal{
    --souls-x:0px;
    transform:translate3d(0,48px,0) rotate(var(--souls-tilt,0deg)) scale(.975) !important;
  }
  .souls-page .souls-photo.souls-reveal.is-visible{
    transform:translate3d(0,0,0) rotate(var(--souls-tilt,0deg)) scale(1) !important;
  }
  body[data-project-key="cozy"] .cozy-reveal-media{
    height:clamp(330px,68vw,520px) !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .souls-page .souls-photo.souls-reveal{
    opacity:1 !important;
    transform:rotate(var(--souls-tilt,0deg)) !important;
    transition:none !important;
  }
  body[data-project-key="cozy"] .cozy-reveal-layer{
    transition:none !important;
  }
}
/* =========================================================
   BETWEEN — FINAL TITLE CONSISTENCY PATCH
   All project subsection headings stay on one line on desktop.
   Mobile remains allowed to wrap for readability.
   ========================================================= */

@media (min-width: 901px){
  .project-page .section-title{
    grid-template-columns:72px minmax(0,1fr) !important;
    column-gap:22px !important;
    row-gap:18px !important;
    margin-bottom:5.5vh !important;
    align-items:start;
  }

  .project-page .section-title h2{
    font-size:clamp(36px,4vw,60px) !important;
    line-height:.94 !important;
    letter-spacing:-.035em !important;
    white-space:nowrap !important;
    max-width:none !important;
    width:max-content;
    margin:0 !important;
  }

  .project-page .section-title p{
    grid-column:2 !important;
    max-width:680px;
    margin:0 !important;
  }

  /* Any legacy BR left inside a section heading should not force a new line. */
  .project-page .section-title h2 br{
    display:none !important;
  }
}

@media (max-width: 900px){
  .project-page .section-title h2{
    white-space:normal !important;
    width:auto !important;
  }
}

/* =========================================================
   BETWEEN — IPHONE RESPONSIVE PASS / 2026-09-25
   Mobile-only overrides. Desktop (min-width:701px) is untouched.
   ========================================================= */

@media (hover:none) and (pointer:coarse){
  .cursor{display:none!important}
  .home.home-v1 .split-hero:hover .split-half,
  .home.home-v1 .split-hero .split-half:hover{width:50%!important}
  .home.home-v1 .split-half:hover img,
  .home.home-v1 .project-card:hover img,
  .home.home-v1 .project-card.route-reveal.is-visible:hover .cover img,
  .element-card:hover img{transform:none!important}
}

@media (max-width:700px){
  html,body{max-width:100%;overflow-x:hidden}
  body{-webkit-text-size-adjust:100%}
  img,video{max-width:100%}

  /* ---------- HOME ---------- */
  .home.home-v1 .home-top{
    padding:calc(14px + env(safe-area-inset-top)) 16px 14px!important;
    font-size:9px!important;
    letter-spacing:.12em
  }

  .home.home-v1 .split-hero{
    height:100svh!important;
    min-height:100svh!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr 1fr!important;
    overflow:hidden!important
  }

  /* On phones we keep both sides of the BETWEEN hero, stacked vertically. */
  .home.home-v1 .split-half,
  .home.home-v1 .split-half:nth-child(2){
    display:block!important;
    width:100%!important;
    height:50svh!important;
    min-height:0!important
  }

  .home.home-v1 .split-half img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transform:none!important
  }

  .home.home-v1 .hero-center{padding:0 16px!important}
  .home.home-v1 .hero-center h1{
    font-size:clamp(62px,20vw,86px)!important;
    line-height:.78!important;
    letter-spacing:-.035em!important
  }
  .home.home-v1 .hero-center p{
    margin-top:13px!important;
    font-size:8px!important;
    letter-spacing:.17em!important
  }
  .home.home-v1 .home-scroll-indicator{margin-top:22px!important}

  .home.home-v1 .half-label{
    left:16px!important;
    right:auto!important;
    bottom:13px!important;
    font-size:8px!important;
    letter-spacing:.13em!important
  }
  .home.home-v1 .split-right .half-label{
    left:auto!important;
    right:16px!important;
    text-align:right
  }

  .language-switcher{
    top:calc(48px + env(safe-area-inset-top))!important;
    right:14px!important;
    padding:5px 7px!important;
    font-size:8px!important
  }

  .home.home-v1 .manifesto{
    min-height:auto!important;
    padding:9vh 20px 7vh!important
  }
  .home.home-v1 .manifesto .main{
    max-width:none!important;
    font-size:clamp(34px,10.5vw,46px)!important;
    line-height:1.02!important
  }
  .home.home-v1 .manifesto .intro{
    margin:30px 0 0!important;
    max-width:none!important;
    font-size:13px!important;
    line-height:1.6!important
  }

  .home.home-v1 .selected{padding:6vh 18px 9vh!important}
  .home.home-v1 .selected-head{display:block!important;padding-top:12px!important}
  .home.home-v1 .selected-head h2{
    margin:12px 0 0!important;
    font-size:clamp(30px,9vw,40px)!important;
    line-height:.98!important
  }
  .home.home-v1 .diary{
    height:auto!important;
    min-height:0!important;
    margin-top:42px!important;
    transform:none!important
  }
  .home.home-v1 .diary-line{display:none!important}
  .home.home-v1 #projectCards{
    position:relative!important;
    inset:auto!important;
    display:grid!important;
    gap:52px!important
  }
  .home.home-v1 .project-card,
  .home.home-v1 .project-card:nth-of-type(n){
    position:relative!important;
    inset:auto!important;
    width:100%!important
  }
  .home.home-v1 .project-card .cover{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important
  }
  .home.home-v1 .project-meta{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:12px!important;
    margin-top:12px!important
  }
  .home.home-v1 .project-no{font-size:40px!important}
  .home.home-v1 .project-title{
    font-size:clamp(34px,10vw,44px)!important;
    line-height:.93!important
  }
  .home.home-v1 .project-sub{
    margin-top:7px!important;
    font-size:8px!important;
    line-height:1.45!important
  }

  /* Keep the approved reveal, but make the movement phone-sized. */
  .home.home-v1 .project-card.route-reveal.reveal-left .cover,
  .home.home-v1 .project-card.route-reveal.reveal-right .cover{
    transform:translate3d(0,28px,0)!important
  }
  .home.home-v1 .project-card.route-reveal.is-visible .cover{
    transform:translate3d(0,0,0)!important
  }

  .home.home-v1 .home-footer{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:6vh 20px calc(5vh + env(safe-area-inset-bottom))!important
  }
  .home.home-v1 .home-footer h3{font-size:clamp(30px,9vw,40px)!important}
  .home.home-v1 .home-footer p{
    margin:0!important;
    max-width:none!important;
    font-size:13px!important
  }

  /* ---------- ABOUT ---------- */
  .about-close{
    top:calc(15px + env(safe-area-inset-top))!important;
    left:18px!important
  }
  .about-grid{
    min-height:100svh!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:calc(72px + env(safe-area-inset-top)) 20px calc(48px + env(safe-area-inset-bottom))!important
  }
  .about-kicker{margin:0!important}
  .about-media video,[data-about-video]{display:none!important}
  .about-photo-placeholder{height:52svh!important;min-height:0!important}
  .about-copy h2{font-size:clamp(42px,12vw,56px)!important;margin-bottom:24px!important}
  .about-copy>p{font-size:13px!important;line-height:1.65!important}
  .about-links{margin-top:28px!important}
  .about-downloads{margin-top:36px!important}

  /* ---------- PROJECT TOP BAR ---------- */
  .project-page .sidebar{
    display:flex!important;
    position:fixed!important;
    z-index:70!important;
    top:0!important;left:0!important;right:0!important;bottom:auto!important;
    width:100%!important;
    height:calc(56px + env(safe-area-inset-top))!important;
    padding:calc(14px + env(safe-area-inset-top)) 18px 12px!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
    flex-direction:row!important;
    align-items:center!important;
    background:rgba(246,241,232,.94)!important;
    backdrop-filter:blur(14px)
  }
  .project-page .sidebar .brand{
    display:block!important;
    font-family:'Cormorant Garamond',Georgia,serif!important;
    font-size:23px!important;
    line-height:1!important
  }
  .project-page .sidebar .side-nav,
  .project-page .sidebar .side-bottom{display:none!important}
  .project-page .project-main{
    margin-left:0!important;
    padding-top:calc(56px + env(safe-area-inset-top))!important
  }
  .project-page .language-switcher{
    top:calc(14px + env(safe-area-inset-top))!important;
    right:14px!important
  }

  /* ---------- PROJECT HERO ---------- */
  .project-page .project-hero{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:visible!important
  }
  .project-page .hero-copy{
    order:1!important;
    min-height:0!important;
    padding:8vh 20px 5vh!important;
    justify-content:flex-start!important;
    gap:28px!important
  }
  .project-page .hero-copy>div:first-child{transform:none!important}
  .project-page .hero-copy h1{
    max-width:100%!important;
    white-space:normal!important;
    font-size:clamp(56px,17vw,80px)!important;
    line-height:.84!important;
    letter-spacing:-.05em!important;
    transform:none!important
  }
  body[data-project-key="casa"] .hero-copy h1{
    font-size:clamp(46px,13.5vw,64px)!important;
    line-height:.89!important
  }
  .project-page .hero-copy .sub{
    margin-top:16px!important;
    font-size:clamp(22px,6.7vw,29px)!important;
    line-height:1.06!important
  }
  .project-page .hero-copy .intro{
    max-width:none!important;
    font-size:13px!important;
    line-height:1.65!important
  }
  .project-page .hero-image{
    order:2!important;
    width:100%!important;
    height:56svh!important;
    min-height:0!important
  }
  .project-page .hero-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
  }

  /* ---------- COMMON PROJECT SECTIONS ---------- */
  .project-page .section,
  .project-page .oblo-section,
  body[data-project-key="cozy"] .cozy-section{
    padding:7vh 20px!important
  }
  .project-page .standard-section,
  .project-page .oblo-info{min-height:0!important}

  .project-page .section-title{
    grid-template-columns:30px minmax(0,1fr)!important;
    column-gap:10px!important;
    row-gap:14px!important;
    margin-bottom:4.5vh!important
  }
  .project-page .section-title .number{font-size:8px!important;padding-top:6px!important}
  .project-page .section-title h2{
    grid-column:2!important;
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    font-size:clamp(36px,11vw,50px)!important;
    line-height:.95!important;
    letter-spacing:-.035em!important
  }
  .project-page .section-title h2 br{display:none!important}
  .project-page .section-title p{
    grid-column:1/-1!important;
    max-width:none!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.65!important
  }

  .standard-media,
  .standard-media.feature,
  .standard-media.materials,
  .standard-media.gallery,
  .standard-media.technical,
  .standard-media.technical-grid{
    grid-template-columns:1fr!important;
    gap:16px!important
  }
  .standard-media figure,
  .standard-media.feature figure:first-child,
  .standard-media.feature figure:last-child,
  .standard-media.materials figure,
  .standard-media.gallery figure,
  .standard-media.gallery figure:nth-child(3n+1),
  .standard-media.technical figure,
  .standard-media.technical-grid figure{
    grid-column:auto!important;
    min-height:0!important;
    width:100%!important
  }
  .standard-media img,
  .standard-media.feature img,
  .standard-media.gallery img,
  .standard-media.technical img,
  .standard-media.technical-grid img{
    width:100%!important;
    height:auto!important;
    max-height:72svh!important;
    object-fit:contain!important;
    padding:0!important
  }

  /* WITHIN interactive sections */
  .concept-browser{grid-template-columns:1fr!important;min-height:0!important}
  .concept-menu{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
    scrollbar-width:none
  }
  .concept-menu::-webkit-scrollbar{display:none}
  .concept-tab{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:145px!important;
    padding:15px 14px!important;
    border-right:1px solid var(--line)!important;
    font-size:9px!important
  }
  .concept-tab:hover,.concept-tab.active{padding-left:14px!important}
  .concept-display{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:5vh 20px!important
  }
  .concept-copy h3{font-size:clamp(36px,10.5vw,48px)!important}
  .diagram-stage{width:100%!important;height:44svh!important}

  .plans-box{grid-template-columns:1fr!important;gap:18px!important}
  .plan-display{width:100%!important;min-height:44svh!important;aspect-ratio:auto!important}
  .plan-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .plan-tabs button{padding:14px 7px!important;text-align:center!important;font-size:8px!important;line-height:1.35!important}

  .sections-track{grid-auto-columns:92vw!important;gap:14px!important}
  .section-card img{height:auto!important;max-height:none!important;padding:8px!important}
  .elements-grid{grid-template-columns:1fr!important;gap:14px!important}
  .element-card{min-height:0!important;aspect-ratio:4/3!important}
  .full-render{height:64svh!important}
  .pair,.triptych,.visual-duo{grid-template-columns:1fr!important}
  .pair img,.triptych img,.visual-duo img{height:auto!important;max-height:70svh!important}

  .motion,.standard-motion{padding:8vh 20px 9vh!important}
  .motion video,.standard-motion video,.motion .credit{width:100%!important;max-width:100%!important}
  .credit{flex-direction:column!important;gap:8px!important;line-height:1.45!important}
  .info-grid{grid-template-columns:1fr!important;gap:24px!important;margin-top:24px!important}

  /* Previous / next: stacked so the titles never fight for width. */
  .project-pagination,
  .souls-page .souls-pagination{grid-template-columns:1fr!important}
  .project-jump,
  .next-project,
  .souls-page .souls-pagination .project-jump,
  .souls-page .souls-pagination .next-project{
    min-height:22svh!important;
    padding:4vh 20px!important;
    gap:22px!important
  }
  .project-jump+.project-jump,
  .souls-page .souls-pagination .project-jump+.project-jump{
    border-left:0!important;
    border-top:1px solid var(--line)!important
  }
  .souls-page .souls-pagination .project-jump+.project-jump{border-top-color:#36332f!important}
  .project-jump h2,.next-project h2,.souls-page .souls-pagination h2{
    font-size:clamp(34px,10vw,44px)!important;
    line-height:.95!important
  }
  .project-jump .jump-arrow{font-size:36px!important}

  /* ---------- CASA DEI NONNI ---------- */
  body[data-project-key="casa"] .casa-stazzu-grid,
  body[data-project-key="casa"] .casa-craft-feature{
    grid-template-columns:1fr!important;
    gap:4vh!important
  }
  body[data-project-key="casa"] .casa-stazzu-copy,
  body[data-project-key="casa"] .casa-craft-copy{
    padding-left:0!important;
    max-width:none!important
  }
  body[data-project-key="casa"] .casa-materials-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important
  }
  body[data-project-key="casa"] .casa-diagram-browser{
    grid-template-columns:1fr!important;
    min-height:0!important
  }
  body[data-project-key="casa"] .casa-diagram-stage{min-height:0!important;padding:18px!important}
  body[data-project-key="casa"] .casa-diagram-stage img,
  body[data-project-key="casa"] .casa-diagram-stage img[src*="sala-diagram.png"],
  body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{
    width:100%!important;
    max-width:100%!important;
    height:46svh!important;
    transform:none!important;
    object-fit:contain!important
  }
  body[data-project-key="casa"] .casa-diagram-tabs{
    flex-direction:row!important;
    overflow-x:auto!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
    scrollbar-width:none
  }
  body[data-project-key="casa"] .casa-diagram-tabs::-webkit-scrollbar{display:none}
  body[data-project-key="casa"] .casa-diagram-tabs button{
    flex:0 0 145px!important;
    padding:15px 12px!important;
    font-size:8px!important
  }
  body[data-project-key="casa"] .casa-render-grid,
  body[data-project-key="casa"] .casa-sketch-row{
    grid-template-columns:1fr!important;
    gap:24px!important
  }
  body[data-project-key="casa"] .casa-render,
  body[data-project-key="casa"] .casa-render:nth-child(3n){width:100%!important}
  body[data-project-key="casa"] .casa-render img{
    width:100%!important;
    height:auto!important;
    max-height:68svh!important
  }
  body[data-project-key="casa"] .casa-reveal img{height:38svh!important}
  body[data-project-key="casa"] .casa-craft-feature{margin-bottom:6vh!important}
  body[data-project-key="casa"] .casa-craft-feature img{height:auto!important;max-height:56svh!important}
  body[data-project-key="casa"] .casa-craft-track{grid-auto-columns:78vw!important}

  /* ---------- COZY POP ---------- */
  body[data-project-key="cozy"] .cozy-concept-feature,
  body[data-project-key="cozy"] .cozy-plan-grid{
    grid-template-columns:1fr!important;
    gap:4vh!important
  }
  body[data-project-key="cozy"] .cozy-concept-copy,
  body[data-project-key="cozy"] .cozy-plan-copy{
    padding-left:0!important;
    max-width:none!important
  }
  body[data-project-key="cozy"] .cozy-concept-feature img{max-height:none!important}
  body[data-project-key="cozy"] .cozy-subhead{margin-top:6vh!important;align-items:start!important}
  body[data-project-key="cozy"] .cozy-subhead h3{font-size:clamp(32px,10vw,42px)!important}
  body[data-project-key="cozy"] .cozy-colors{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:24px 10px!important
  }
  body[data-project-key="cozy"] .cozy-color-dot{width:min(88px,78%)!important}
  body[data-project-key="cozy"] .cozy-materials{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important
  }
  body[data-project-key="cozy"] .cozy-material-swatch{height:120px!important}
  body[data-project-key="cozy"] .cozy-plan-media figure{width:100%!important}
  body[data-project-key="cozy"] .cozy-plan-media img{width:100%!important;height:auto!important;max-height:none!important}
  body[data-project-key="cozy"] .cozy-section-browser{
    grid-template-columns:1fr!important;
    min-height:0!important
  }
  body[data-project-key="cozy"] .cozy-section-stage{padding:16px!important}
  body[data-project-key="cozy"] .cozy-section-stage img{height:46svh!important}
  body[data-project-key="cozy"] .cozy-section-tabs{
    flex-direction:row!important;
    overflow-x:auto!important;
    border-left:0!important;
    border-top:1px solid var(--line)!important;
    scrollbar-width:none
  }
  body[data-project-key="cozy"] .cozy-section-tabs::-webkit-scrollbar{display:none}
  body[data-project-key="cozy"] .cozy-section-tabs button{
    flex:0 0 145px!important;
    padding:15px 12px!important;
    font-size:8px!important
  }
  body[data-project-key="cozy"] .cozy-featured-renders{
    grid-template-columns:1fr!important;
    gap:16px!important
  }
  body[data-project-key="cozy"] .cozy-reveal{width:100%!important;margin-top:6vh!important}
  body[data-project-key="cozy"] .cozy-reveal-media{
    height:72vw!important;
    min-height:260px!important;
    max-height:420px!important
  }
  body[data-project-key="cozy"] .cozy-small-renders{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:6vh!important
  }

  /* ---------- OBLÒ ---------- */
  .oblo-page .oblo-section{padding-top:7vh!important;padding-bottom:7vh!important}
  .oblo-system-sequence{gap:4vh!important}
  .oblo-structural-logic,
  .oblo-page .oblo-exploded,
  .oblo-page .oblo-component-row,
  .oblo-page .oblo-detail-pair{
    grid-template-columns:1fr!important;
    gap:18px!important
  }
  .oblo-material-grid{grid-template-columns:1fr!important;gap:24px!important}
  .oblo-material-card{padding:18px 0 22px!important}
  .oblo-material-image-slot{margin:16px 0 20px!important}
  .oblo-page .oblo-exploded figure:first-child img{transform:none!important}
  .oblo-page .oblo-development img,
  .oblo-page .oblo-shelf-system img,
  .oblo-page .oblo-structural-logic img,
  .oblo-page .oblo-exploded img,
  .oblo-page .oblo-component-row img{
    width:100%!important;
    height:auto!important;
    max-height:62svh!important;
    object-fit:contain!important
  }
  .oblo-page .oblo-detail-pair{width:100%!important;margin:3vh auto 0!important}
  .oblo-page .oblo-detail-pair img,
  .oblo-page .oblo-detail-wide img,
  .oblo-page .oblo-final-main img,
  .oblo-page .oblo-final-scene img{
    height:auto!important;
    max-height:none!important
  }
  .oblo-page .oblo-detail-wide,
  .oblo-page .oblo-final-main,
  .oblo-page .oblo-final-scene{width:100%!important}

  /* ---------- SOULS IN FRAME ---------- */
  .souls-page .souls-top{
    padding:calc(14px + env(safe-area-inset-top)) 16px 14px!important;
    grid-template-columns:1fr auto!important;
    font-size:8px!important;
    letter-spacing:.13em!important
  }
  .souls-page .souls-top>span{display:none!important}
  .souls-page .language-switcher{
    top:calc(50px + env(safe-area-inset-top))!important;
    right:14px!important
  }
  .souls-page .souls-hero{
    min-height:0!important;
    grid-template-columns:1fr!important;
    gap:5vh!important;
    padding:calc(13vh + env(safe-area-inset-top)) 18px 8vh!important
  }
  .souls-page .souls-hero h1{
    font-size:clamp(60px,18vw,82px)!important;
    line-height:.8!important;
    margin:20px 0 30px!important
  }
  .souls-page .souls-hero p{font-size:12px!important;line-height:1.65!important}
  .souls-page .souls-hero figure{
    width:100%!important;
    height:55svh!important;
    transform:rotate(.8deg)!important
  }
  .souls-page .souls-diary{padding:9vh 18px 11vh!important}
  .souls-page .souls-route,
  .souls-page .souls-doodles,
  .souls-page .souls-notes{display:none!important}
  .souls-page .souls-grid{width:100%!important;gap:8vh!important}
  .souls-page .souls-spread{gap:6vh!important}
  .souls-page .souls-spread .souls-photo,
  .souls-page .souls-photo.souls-wide,
  .souls-page .souls-photo.souls-mid,
  .souls-page .souls-photo.souls-small{
    width:94%!important;
    margin-top:0!important
  }
  .souls-page .souls-photo:nth-child(even){align-self:flex-end!important}
  .souls-page .souls-photo figcaption{margin-top:6px!important;font-size:7px!important}
  .souls-page .souls-end{
    min-height:0!important;
    padding:10vh 18px calc(8vh + env(safe-area-inset-bottom))!important
  }
  .souls-page .souls-end h2{
    font-size:clamp(42px,12vw,52px)!important;
    line-height:.98!important;
    margin:28px 0 42px!important
  }
  .souls-page .souls-end h2 em{margin-top:12px!important}
}

@media (max-width:390px){
  .home.home-v1 .hero-center h1{font-size:clamp(58px,20vw,76px)!important}
  .home.home-v1 .project-meta{grid-template-columns:52px minmax(0,1fr)!important}
  .home.home-v1 .project-no{font-size:36px!important}
  .project-page .hero-copy h1{font-size:clamp(50px,16vw,70px)!important}
  body[data-project-key="casa"] .hero-copy h1{font-size:clamp(42px,12.5vw,56px)!important}
  .project-page .section-title h2{font-size:clamp(34px,10.5vw,44px)!important}
  body[data-project-key="cozy"] .cozy-colors{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


.oblo-detail-pair figure:first-child {
  position: relative;
  overflow: hidden;
}

.oblo-detail-pair figure:first-child img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0% center;
  transform: scale(1.12);
  transform-origin: left center;
}

.project-page .project-hero .hero-copy{
  padding:10vh 5vw 8vh !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  min-width:0;
}

.project-page .project-hero .hero-copy > div:first-child{
  transform:none !important;
}

.project-page .project-hero .hero-copy .eyebrow{
  margin:0 0 20px 0 !important;
}

.project-page .project-hero .hero-copy h1{
  font-size:clamp(64px,7vw,112px) !important;
  line-height:.82 !important;
  letter-spacing:-.05em !important;
  margin:0 !important;
  white-space:nowrap !important;
}

.project-page .project-hero .hero-copy .sub{
  font-size:30px !important;
  line-height:1 !important;
  margin:30px 0 0 0 !important;
}

.project-page .project-hero .hero-copy .intro{
  max-width:500px !important;
  font-size:14px !important;
  line-height:1.6 !important;
  margin:38px 0 0 0 !important;
}

/* =========================================================
   BETWEEN — FINAL RESPONSIVE + CONTENT PATCH / 2026-09-25
   Source of truth: Anita's latest edited files.
   ========================================================= */

/* Project Information: one phrase, one space, shared visual rhythm. */
@media (min-width:901px){
  .project-page .info-section .section-title h2,
  .oblo-page .oblo-info .section-title h2{white-space:nowrap !important;}
}

/* ---------- Project-specific hand-drawn title accents ---------- */
.project-page .project-hero .hero-copy h1{position:relative;display:inline-block;width:fit-content;max-width:100%;}
.souls-page .souls-hero h1 em{position:relative;}

/* WITHIN — corten orange */
body.project-page:not(.standard-project):not(.oblo-page) .project-hero .hero-copy h1::after{
  content:'';position:absolute;left:2%;bottom:-12px;width:72%;height:10px;
  border-top:2px solid #a34722;border-radius:50%;transform:rotate(-1.5deg);pointer-events:none;
}
/* Casa dei Nonni — wood brown */
body[data-project-key="casa"] .project-hero .hero-copy h1::after{
  content:'';position:absolute;left:1%;bottom:-12px;width:64%;height:11px;
  border-top:2px solid #704c35;border-radius:50%;transform:rotate(.8deg);pointer-events:none;
}
/* Oblò — green technical loop */
.oblo-page .project-hero .hero-copy h1::after{
  content:'';position:absolute;left:-10px;right:-16px;top:-7px;bottom:-9px;
  border:1.7px solid #58705a;border-radius:48% 52% 46% 54% / 53% 44% 56% 47%;
  transform:rotate(-2deg);pointer-events:none;
}
/* Cozy Pop — blue double underline */
body[data-project-key="cozy"] .project-hero .hero-copy h1::before,
body[data-project-key="cozy"] .project-hero .hero-copy h1::after{
  content:'';position:absolute;left:3%;width:68%;height:8px;border-top:2px solid #244b78;
  border-radius:50%;pointer-events:none;
}
body[data-project-key="cozy"] .project-hero .hero-copy h1::before{bottom:-9px;transform:rotate(-1deg)}
body[data-project-key="cozy"] .project-hero .hero-copy h1::after{bottom:-15px;left:7%;width:60%;transform:rotate(.7deg)}
/* Souls — white pencil line on black */
.souls-page .souls-hero h1 em::after{
  content:'';position:absolute;left:2%;bottom:-8px;width:92%;height:8px;
  border-top:1.6px solid rgba(255,255,255,.88);border-radius:50%;transform:rotate(-1deg);pointer-events:none;
}

/* ---------- Cozy Pop: three concept images, editorial materials, mini renders ---------- */
body[data-project-key="cozy"] .cozy-concept-feature{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr) !important;
  gap:5vw !important;
  align-items:start !important;
}
body[data-project-key="cozy"] .cozy-concept-images{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;
}
body[data-project-key="cozy"] .cozy-concept-images figure{margin:0;overflow:hidden;aspect-ratio:1 / 1;background:transparent;}
body[data-project-key="cozy"] .cozy-concept-images img{width:100%;height:100%;object-fit:cover;display:block;}

body[data-project-key="cozy"] .cozy-materials-editorial{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;width:min(1120px,100%);margin:28px auto 0;
}
body[data-project-key="cozy"] .cozy-material-card{
  padding:20px 0 18px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);
  min-width:0;
}
body[data-project-key="cozy"] .cozy-material-no{font-size:9px;letter-spacing:.16em;color:#244b78;}
body[data-project-key="cozy"] .cozy-material-image{width:100%;aspect-ratio:1 / 1;margin:16px 0 20px;overflow:hidden;background:#e7dfd4;}
body[data-project-key="cozy"] .cozy-material-image img{width:100%;height:100%;object-fit:cover;display:block;}
body[data-project-key="cozy"] .cozy-material-card h4{
  margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,2.7vw,42px);font-weight:400;line-height:1;
}

body[data-project-key="cozy"] .cozy-mini-row{
  width:min(1180px,91%);margin:0 auto;display:flex;align-items:center;justify-content:flex-start;gap:12px;
}
body[data-project-key="cozy"] .cozy-mini-render{
  width:72px !important;height:72px !important;flex:0 0 72px;margin:0 !important;padding:0 !important;
  border:0;background:transparent;overflow:hidden;display:block;cursor:default;
}
body[data-project-key="cozy"] button.cozy-mini-render{cursor:pointer;}
body[data-project-key="cozy"] .cozy-mini-render img{
  width:72px !important;height:72px !important;display:block;object-fit:cover;transition:opacity .28s ease !important;
}
body[data-project-key="cozy"] .cozy-mini-render img.changing{opacity:.08 !important;}

/* ---------- Souls in Frame: downloadable full photo book ---------- */
.souls-page .souls-book-download{
  display:inline-block;margin-top:2vh;padding:13px 16px;border:1px solid #f2ede5;
  font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#f2ede5;
  transition:background .2s ease,color .2s ease;
}
.souls-page .souls-book-download:hover{background:#f2ede5;color:#161513;}

/* ---------- Scroll motion: each project has its own language ---------- */
.project-motion{will-change:opacity,transform,clip-path;}
.motion-within{
  opacity:0;transform:scale(1.015);
  transition:opacity .85s ease var(--motion-delay,0ms),transform 1.05s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms);
}
.motion-casa{
  opacity:0;transform:translate3d(0,34px,0) scale(.99);
  transition:opacity .72s ease var(--motion-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms);
}
.motion-oblo{
  opacity:.15;clip-path:inset(0 0 100% 0);transform:scale(1.018);
  transition:opacity .65s ease var(--motion-delay,0ms),clip-path .95s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),transform 1s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms);
}
.motion-cozy{
  opacity:0;transform:translate3d(0,20px,0) scale(.955);
  transition:opacity .72s ease var(--motion-delay,0ms),transform .9s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms);
}
.project-motion.is-visible{opacity:1;transform:none;clip-path:inset(0 0 0 0);}

/* ---------- iPhone + iPad: shared hero proportions ---------- */
@media (max-width:1024px){
  .project-page .sidebar{
    display:flex !important;position:fixed !important;z-index:70 !important;
    top:0 !important;left:0 !important;right:0 !important;bottom:auto !important;
    width:100% !important;height:calc(60px + env(safe-area-inset-top)) !important;
    padding:calc(16px + env(safe-area-inset-top)) clamp(18px,3vw,30px) 12px !important;
    border-right:0 !important;border-bottom:1px solid var(--line) !important;
    flex-direction:row !important;align-items:center !important;
    background:rgba(246,241,232,.94) !important;backdrop-filter:blur(14px);
  }
  .project-page .sidebar .brand{display:block !important;font-size:24px !important;line-height:1 !important;}
  .project-page .sidebar .side-nav,.project-page .sidebar .side-bottom{display:none !important;}
  .project-page .project-main{margin-left:0 !important;padding-top:calc(60px + env(safe-area-inset-top)) !important;}
  .project-page .language-switcher{top:calc(16px + env(safe-area-inset-top)) !important;right:16px !important;}

  .project-page .project-hero{
    display:flex !important;flex-direction:column !important;min-height:0 !important;overflow:visible !important;
  }
  .project-page .project-hero .hero-copy{
    order:1 !important;min-height:0 !important;
    padding:clamp(46px,7vh,72px) clamp(20px,5vw,46px) clamp(30px,4.5vh,46px) !important;
    display:flex !important;flex-direction:column !important;justify-content:flex-start !important;gap:0 !important;
  }
  .project-page .project-hero .hero-copy > div:first-child{transform:none !important;}
  .project-page .project-hero .hero-copy .eyebrow{margin:0 0 18px 0 !important;}
  .project-page .project-hero .hero-copy h1,
  body[data-project-key="casa"] .project-hero .hero-copy h1,
  .oblo-page .project-hero .hero-copy h1{
    font-size:clamp(56px,11vw,96px) !important;line-height:.84 !important;letter-spacing:-.05em !important;
    margin:0 !important;white-space:normal !important;max-width:100% !important;transform:none !important;
  }
  .project-page .project-hero .hero-copy .sub,
  body[data-project-key="cozy"] .project-hero .hero-copy .sub,
  .oblo-page .project-hero .hero-copy .sub{
    font-size:clamp(22px,4.2vw,30px) !important;line-height:1.06 !important;margin:22px 0 0 !important;
  }
  .project-page .project-hero .hero-copy .intro,
  .oblo-page .project-hero .hero-copy .intro{
    max-width:580px !important;font-size:13px !important;line-height:1.65 !important;margin:28px 0 0 !important;
  }
  .project-page .project-hero .hero-image{order:2 !important;width:100% !important;height:56svh !important;min-height:0 !important;}
  .project-page .project-hero .hero-image img{width:100% !important;height:100% !important;object-fit:cover !important;}

  /* Home labels sit at the centre of each image; Selected Works copy is no longer pulled upward. */
  .home.home-v1 .selected-head h2{transform:none !important;margin-top:26px !important;}
  .home.home-v1 .diary,.home.home-v1 .home-footer{transform:none !important;}

  /* Within — closer, fully visible diagrams. */
  .concept-display{gap:14px !important;padding:3vh clamp(18px,4vw,34px) 4vh !important;align-items:start !important;}
  .concept-copy p{margin-bottom:0 !important;}
  .diagram-stage{height:min(58svh,540px) !important;margin-top:0 !important;}
  .diagram-stage img{width:100% !important;height:100% !important;object-fit:contain !important;}

  /* Plans + Sections: image only, no framed box. */
  #plans .plan-display,#sections .plan-display{
    border:0 !important;background:transparent !important;box-shadow:none !important;overflow:visible !important;
  }
  #plans .plan-display img,#sections .plan-display img{background:transparent !important;padding:0 !important;object-fit:contain !important;}
  #plans .plan-display .ghost,#sections .plan-display .ghost{display:none !important;}

  /* Architectural Elements are portrait drawings, so their frames are portrait too. */
  #elements .elements-grid{grid-template-columns:1fr !important;gap:22px !important;}
  #elements .element-card{aspect-ratio:3 / 4 !important;min-height:0 !important;background:#ebe3d8 !important;}
  #elements .element-card img{width:100% !important;height:100% !important;object-fit:contain !important;}

  /* Casa — centre and enlarge every Spatial Structure diagram. */
  body[data-project-key="casa"] .casa-diagram-stage{padding:4px !important;min-height:56svh !important;overflow:hidden !important;}
  body[data-project-key="casa"] .casa-diagram-stage img,
  body[data-project-key="casa"] .casa-diagram-stage img[src*="sala-diagram.png"],
  body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{
    width:100% !important;max-width:100% !important;height:56svh !important;object-fit:contain !important;
    object-position:center !important;transform:scale(1.15) !important;transform-origin:center center !important;
  }

  /* Oblò — technical diagrams read larger without changing their grid. */
  .oblo-page .oblo-exploded figure,.oblo-page .oblo-component-row figure{overflow:hidden !important;display:grid !important;place-items:center !important;}
  .oblo-page .oblo-detail-pair figure:first-child{aspect-ratio:4 / 3 !important;min-height:0 !important;}
  .oblo-page .oblo-exploded img{transform:scale(1.24) !important;transform-origin:center !important;}
  .oblo-page .oblo-component-row img{transform:scale(1.16) !important;transform-origin:center !important;}

  /* Cozy Pop new image/material rows. */
  body[data-project-key="cozy"] .cozy-concept-feature{grid-template-columns:1fr !important;gap:3.5vh !important;}
  body[data-project-key="cozy"] .cozy-concept-images{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;}
  body[data-project-key="cozy"] .cozy-materials-editorial{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;}
  body[data-project-key="cozy"] .cozy-material-card h4{font-size:clamp(21px,4.8vw,32px) !important;}
  body[data-project-key="cozy"] .cozy-mini-row{width:100% !important;}

  /* Distinct mobile motion: WITHIN keeps the left/right route language. */
  .motion-within{transform:translate3d(var(--motion-x),0,0) scale(.985);}
  .motion-casa{transform:translate3d(0,28px,0) scale(.99);}
  .motion-oblo{transform:scale(1.025);}
  .motion-cozy{transform:translate3d(0,18px,0) scale(.95);}

  /* Home Selected Works keeps its approved alternating left/right entrance. */
  .home.home-v1 .project-card.route-reveal.reveal-left .cover{transform:translate3d(-28px,0,0) !important;}
  .home.home-v1 .project-card.route-reveal.reveal-right .cover{transform:translate3d(28px,0,0) !important;}
  .home.home-v1 .project-card.route-reveal.is-visible .cover{transform:translate3d(0,0,0) !important;}

  .souls-page .souls-book-download{margin-top:0;}
}

/* iPad portrait uses the same two-image hero logic as iPhone, with more breathing room. */
@media (min-width:701px) and (max-width:1024px) and (orientation:portrait){
  .home.home-v1 .split-hero{
    height:100svh !important;min-height:100svh !important;display:grid !important;
    grid-template-columns:1fr !important;grid-template-rows:1fr 1fr !important;
  }
  .home.home-v1 .split-half,
  .home.home-v1 .split-half:nth-child(2){display:block !important;width:100% !important;height:50svh !important;min-height:0 !important;}
  .home.home-v1 .split-half img{width:100% !important;height:100% !important;object-fit:cover !important;}
  .home.home-v1 .selected-head{display:block !important;}
}

/* Centre Interior/Furniture and Photography inside their images on phone + portrait tablet. */
@media (max-width:700px), (min-width:701px) and (max-width:1024px) and (orientation:portrait){
  .home.home-v1 .half-label,
  .home.home-v1 .split-right .half-label{
    top:50% !important;left:50% !important;right:auto !important;bottom:auto !important;
    transform:translate(-50%,-50%) !important;text-align:center !important;white-space:nowrap !important;
  }
}

@media (max-width:700px){
  .project-page .project-hero .hero-copy{
    padding:7vh 20px 4vh !important;
  }
  .project-page .project-hero .hero-copy h1,
  body[data-project-key="casa"] .project-hero .hero-copy h1,
  .oblo-page .project-hero .hero-copy h1{font-size:clamp(52px,16vw,76px) !important;}
  .project-page .project-hero .hero-copy .sub{font-size:clamp(21px,6.2vw,28px) !important;margin-top:20px !important;}
  .project-page .project-hero .hero-copy .intro{margin-top:24px !important;}
  .project-page .project-hero .hero-image{height:52svh !important;}

  .home.home-v1 .selected-head h2{margin-top:28px !important;}

  body[data-project-key="casa"] .casa-diagram-stage{min-height:52svh !important;}
  body[data-project-key="casa"] .casa-diagram-stage img,
  body[data-project-key="casa"] .casa-diagram-stage img[src*="sala-diagram.png"],
  body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{height:52svh !important;transform:scale(1.18) !important;}

  .oblo-page .oblo-exploded img{transform:scale(1.28) !important;}
  .oblo-page .oblo-component-row img{transform:scale(1.20) !important;}

  body[data-project-key="cozy"] .cozy-materials-editorial{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  body[data-project-key="cozy"] .cozy-material-image{margin:12px 0 14px !important;}
  body[data-project-key="cozy"] .cozy-material-card h4{font-size:18px !important;}
}

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

/* =========================================================
   BETWEEN — POLISH PATCH / 2026-09-25
   Casa title + Cozy mini renders + refined hand-drawn accents
   ========================================================= */

/* Casa dei Nonni: smaller desktop hero title only. */
@media (min-width:901px){
  body[data-project-key="casa"] .project-hero .hero-copy h1{
    font-size:clamp(54px,5.4vw,88px) !important;
  }
}

/* Cozy Pop: mini renders remain compact but readable. */
body[data-project-key="cozy"] .cozy-mini-row{
  --cozy-mini:clamp(96px,8.2vw,156px);
  gap:16px !important;
  align-items:center !important;
}
body[data-project-key="cozy"] .cozy-mini-render{
  width:var(--cozy-mini) !important;
  height:var(--cozy-mini) !important;
  flex:0 0 var(--cozy-mini) !important;
}
body[data-project-key="cozy"] .cozy-mini-render img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Refined hand-drawn marks: irregular, lighter and less geometric. */
.project-page .project-hero .hero-copy h1::after,
.project-page .project-hero .hero-copy h1::before,
.souls-page .souls-hero h1 em::after{
  border:0 !important;
  box-shadow:none !important;
  pointer-events:none !important;
  background-repeat:no-repeat !important;
  background-size:100% 100% !important;
}

/* WITHIN — corten, loose double pencil stroke. */
body.project-page:not(.standard-project):not(.oblo-page) .project-hero .hero-copy h1::after{
  content:'' !important;
  position:absolute !important;
  left:1% !important;
  bottom:-18px !important;
  width:66% !important;
  height:22px !important;
  transform:rotate(-1deg) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cpath d='M3 11 C45 5 88 8 128 10 C179 13 224 10 296 8' fill='none' stroke='%23a34722' stroke-width='2.1' stroke-linecap='round'/%3E%3Cpath d='M11 16 C66 12 120 15 166 16 C214 17 258 13 289 14' fill='none' stroke='%23a34722' stroke-width='1.1' stroke-linecap='round' opacity='.48'/%3E%3C/svg%3E") !important;
}

/* Casa dei Nonni — wood brown, soft imperfect sweep. */
body[data-project-key="casa"] .project-hero .hero-copy h1::after{
  content:'' !important;
  position:absolute !important;
  left:2% !important;
  bottom:-18px !important;
  width:56% !important;
  height:22px !important;
  transform:rotate(.4deg) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cpath d='M4 13 C42 6 88 8 129 10 C183 12 230 8 296 12' fill='none' stroke='%23704c35' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M15 17 C66 14 108 17 149 17 C202 18 246 14 282 15' fill='none' stroke='%23704c35' stroke-width='1' stroke-linecap='round' opacity='.42'/%3E%3C/svg%3E") !important;
}

/* Oblò — green, cleaner technical hand mark with a small return stroke. */
.oblo-page .project-hero .hero-copy h1::after{
  content:'' !important;
  position:absolute !important;
  left:2% !important;
  right:auto !important;
  top:auto !important;
  bottom:-18px !important;
  width:58% !important;
  height:23px !important;
  transform:rotate(-.7deg) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cpath d='M4 10 C58 7 105 11 157 10 C211 9 255 12 296 8' fill='none' stroke='%2358705a' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M244 15 C263 13 280 14 292 18' fill='none' stroke='%2358705a' stroke-width='1.2' stroke-linecap='round' opacity='.65'/%3E%3C/svg%3E") !important;
}

/* Cozy Pop — blue, lively two-pass underline without a perfect double line. */
body[data-project-key="cozy"] .project-hero .hero-copy h1::before{
  display:none !important;
}
body[data-project-key="cozy"] .project-hero .hero-copy h1::after{
  content:'' !important;
  position:absolute !important;
  left:2% !important;
  bottom:-19px !important;
  width:58% !important;
  height:24px !important;
  transform:rotate(-.3deg) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 24'%3E%3Cpath d='M4 9 C52 13 100 8 148 10 C198 12 250 9 295 12' fill='none' stroke='%23244b78' stroke-width='2.1' stroke-linecap='round'/%3E%3Cpath d='M22 17 C73 14 120 18 171 16 C215 14 257 17 281 15' fill='none' stroke='%23244b78' stroke-width='1.15' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E") !important;
}

/* Souls in Frame — white chalk-like sweep on black. */
.souls-page .souls-hero h1 em::after{
  content:'' !important;
  position:absolute !important;
  left:1% !important;
  bottom:-12px !important;
  width:92% !important;
  height:20px !important;
  transform:rotate(-.8deg) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 22'%3E%3Cpath d='M3 11 C54 7 105 12 150 10 C207 8 252 11 296 9' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' opacity='.9'/%3E%3Cpath d='M17 16 C74 13 126 16 177 15 C226 14 264 16 286 14' fill='none' stroke='white' stroke-width='.8' stroke-linecap='round' opacity='.45'/%3E%3C/svg%3E") !important;
}

@media (max-width:700px){
  body[data-project-key="cozy"] .cozy-mini-row{
    --cozy-mini:clamp(92px,25vw,118px);
    gap:10px !important;
  }
  .project-page .project-hero .hero-copy h1::after{
    bottom:-14px !important;
    height:18px !important;
  }
  .souls-page .souls-hero h1 em::after{
    bottom:-9px !important;
    height:16px !important;
  }
}

/* ===== 2026-09-25 TOUCHUP PATCH ===== */
/* Cozy Pop — enlarge the 3 supporting images under the bedroom render. */
body[data-project-key="cozy"] .cozy-mini-row{
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
  margin:4vh auto 0 !important;
}
body[data-project-key="cozy"] .cozy-mini-render{
  width:100% !important;
  height:auto !important;
  min-width:0 !important;
  aspect-ratio:4 / 3 !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  background:transparent !important;
  border:0 !important;
}
body[data-project-key="cozy"] .cozy-mini-render img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
}

/* Casa dei Nonni — exploded view larger and shifted slightly to the right. */
body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{
  transform:translate3d(16%,0,0) scale(1.28) !important;
  transform-origin:center center !important;
}

@media (min-width:701px) and (max-width:1024px){
  body[data-project-key="cozy"] .cozy-mini-row{
    gap:16px !important;
  }
  body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{
    transform:translate3d(12%,0,0) scale(1.24) !important;
  }
}

@media (max-width:700px){
  body[data-project-key="cozy"] .cozy-mini-row{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  body[data-project-key="cozy"] .cozy-mini-render{
    aspect-ratio:4 / 3 !important;
  }
  body[data-project-key="casa"] .casa-diagram-stage img[src*="esploso.png"]{
    transform:translate3d(10%,0,0) scale(1.22) !important;
  }
}

/* ===== iPad polish — 2026-09-26 =====
   Tablet-only corrections requested after live iPad review.
   Desktop and iPhone layouts are intentionally left untouched. */
@media (min-width:768px) and (max-width:1366px) and (pointer:coarse),
       (min-width:768px) and (max-width:1366px) and (hover:none){

  /* WITHIN / Concept — keep the active diagram completely visible on iPad. */
  body:not([data-project-key="casa"]):not([data-project-key="cozy"]) #concept .concept-display{
    align-items:center !important;
  }
  body:not([data-project-key="casa"]):not([data-project-key="cozy"]) #concept .diagram-stage{
    height:min(60vh,610px) !important;
    min-height:460px !important;
    padding:24px 28px 42px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }
  body:not([data-project-key="casa"]):not([data-project-key="cozy"]) #concept .diagram-stage img{
    width:92% !important;
    height:92% !important;
    max-width:680px !important;
    max-height:540px !important;
    margin:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  /* COZY POP / Concept — copy becomes a horizontal block above the images. */
  body[data-project-key="cozy"] .cozy-concept-feature{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
    align-items:start !important;
  }
  body[data-project-key="cozy"] .cozy-concept-copy{
    width:100% !important;
    max-width:920px !important;
    padding-left:0 !important;
  }
  body[data-project-key="cozy"] .cozy-concept-copy p{
    width:100% !important;
    max-width:920px !important;
    font-size:14px !important;
    line-height:1.62 !important;
    margin:0 !important;
  }
  body[data-project-key="cozy"] .cozy-concept-images{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
  }
  body[data-project-key="cozy"] .cozy-concept-images figure{
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  body[data-project-key="cozy"] .cozy-concept-images img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    display:block !important;
    object-fit:cover !important;
  }
}


/* ===== iPad FIX 2 — 2026-09-26 =====
   Applied by viewport width only so it works on iPad Safari even when
   pointer/hover media features report desktop-like values. */
@media (min-width:768px) and (max-width:1366px){

  /* WITHIN / Concept: keep every diagram fully inside the stage. */
  .project-page #concept .concept-display{
    grid-template-columns:minmax(245px,32%) minmax(0,68%) !important;
    gap:18px !important;
    align-items:center !important;
    padding:4vh 3vw !important;
  }
  .project-page #concept .diagram-stage{
    width:100% !important;
    height:min(54vh,540px) !important;
    min-height:420px !important;
    padding:12px !important;
    margin:0 !important;
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  .project-page #concept .diagram-stage img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto !important;
    padding:0 !important;
    transform:none !important;
    transform-origin:center center !important;
  }

  /* COZY POP / Concept: horizontal copy first, larger 3-image row below. */
  body[data-project-key="cozy"] .cozy-concept-feature{
    display:block !important;
    width:100% !important;
  }
  body[data-project-key="cozy"] .cozy-concept-copy{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    margin:0 0 34px 0 !important;
  }
  body[data-project-key="cozy"] .cozy-concept-copy p{
    width:100% !important;
    max-width:980px !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.62 !important;
  }
  body[data-project-key="cozy"] .cozy-concept-images{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:stretch !important;
  }
  body[data-project-key="cozy"] .cozy-concept-images figure{
    width:100% !important;
    aspect-ratio:4 / 3 !important;
    margin:0 !important;
    overflow:hidden !important;
  }
  body[data-project-key="cozy"] .cozy-concept-images img{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    display:block !important;
  }
}
