
:root{
  --bg:#f4eee5;
  --paper:#fffdf9;
  --ink:#24312f;
  --soft:#746f66;
  --line:#ddd2c4;
  --olive:#747b5e;
  --olive-dark:#5d654a;
  --clay:#c9825b;
  --sand:#d7c2a7;
  --blue:#5b86a0;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.6;
}
a{color:inherit}
img{max-width:100%}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,253,249,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(36,49,47,.08);
}
.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{
  text-decoration:none;
  display:flex;align-items:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.85rem;
  color:var(--blue);
  letter-spacing:-.03em;
  font-weight:600;
}
.nav-right{display:flex;align-items:center;gap:28px}
nav{display:flex;align-items:center;gap:26px}
nav a{text-decoration:none;font-size:.94rem}
.lang{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.lang a{text-decoration:none}
.lang .active{font-weight:700;color:var(--clay)}
.menu-btn{display:none}
h1,h2,h3{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  line-height:1.08;
  margin:0 0 18px;
}
h1{font-size:clamp(2.7rem,4.5vw,4.9rem);letter-spacing:-.045em}
h2{font-size:clamp(2.2rem,4vw,4.2rem);letter-spacing:-.03em}
h3{font-size:1.55rem}
p{margin:0 0 18px}
.eyebrow{
  margin-bottom:18px;
  color:var(--clay);
  font-size:.77rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}
.lead{font-size:1.08rem;max-width:700px;color:#38413d}
.button{
  display:inline-flex;align-items:center;gap:12px;
  text-decoration:none;
  border-radius:999px;
  padding:13px 22px;
  background:var(--olive);color:white;
  border:1px solid var(--olive);
}
.button.secondary{background:transparent;color:var(--ink);border-color:#aaa395}
.button:hover{background:var(--olive-dark);color:#fff}
.hero{
  background:var(--bg);
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:460px}
.hero-copy{padding:68px 60px 58px 0;align-self:center}
.hero-visual{
  position:relative;
  min-height:460px;
  background:
    radial-gradient(circle at 70% 26%, rgba(255,240,210,.7), transparent 18%),
    linear-gradient(160deg,rgba(255,255,255,.16),rgba(36,49,47,.16)),
    linear-gradient(130deg,#d8c7ad 0 28%,#c49172 28% 43%,#7a826b 43% 67%,#d7ae7f 67% 80%,#596252 80%);
}
.hero-visual:before,.hero-visual:after{
  content:"";
  position:absolute;
  bottom:65px;
  border-radius:50% 50% 42% 42%;
  background:#465246;
  opacity:.85;
}
.hero-visual:before{width:130px;height:155px;left:22%}
.hero-visual:after{width:118px;height:145px;right:17%}
.hero-note{
  position:absolute;right:34px;bottom:34px;
  width:235px;
  background:rgba(255,253,249,.92);
  border:1px solid rgba(255,255,255,.6);
  padding:16px;border-radius:16px;
  font-family:Georgia,serif;
  font-size:1.05rem;
}
.section{padding:76px 0}
.section.tint{background:#fbf7f0}
.section-head{max-width:780px;margin-bottom:34px}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.project-card{
  display:block;text-decoration:none;
  background:#fff;border:1px solid #e8dfd3;
  border-radius:22px;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}
.project-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(52,45,37,.08)}
.project-image{
  height:220px;position:relative;overflow:hidden;
}
.project-image:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(20,25,23,.2),transparent 55%);
}
.p-scan{background:linear-gradient(135deg,#8c9d76,#cdb689 45%,#7e5f44)}
.p-sauna{background:linear-gradient(135deg,#d9c7ab,#8d7564 45%,#53675a)}
.p-learn{background:linear-gradient(135deg,#e4b07b,#d2c77e 40%,#6f9387)}
.p-fgu{background:linear-gradient(135deg,#bd845c,#d9b991 45%,#68744e)}
.project-body{padding:24px}
.kicker{font-size:.72rem;letter-spacing:.14em;color:var(--clay);text-transform:uppercase;font-weight:700}
.project-link{display:inline-block;margin-top:8px;color:var(--olive-dark);font-weight:700}
.services{background:var(--bg)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px}
.service-grid article{padding:0 26px;border-left:1px solid #d8cec0}
.service-grid article:first-child{border-left:0;padding-left:0}
.num{display:block;color:var(--clay);font-size:.8rem;margin-bottom:20px}
.people-band{background:var(--olive);color:#fff;padding:54px 0}
.people-band .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}
.people-band blockquote{font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,3.2rem);margin:0;line-height:1.15}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.portrait{
  aspect-ratio:4/3;
  border-radius:24px;
  background:linear-gradient(145deg,#dfd3c3,#a7ad9d);
  display:grid;place-items:center;
  text-align:center;color:#fff;
  padding:30px;
}
.portrait span{font-family:Georgia,serif;font-size:2rem;display:block}
.portrait small{opacity:.9}
.contact-card{
  background:#efe5d8;border-radius:22px;padding:32px;
  display:flex;flex-direction:column;gap:7px;
}
.contact-card a{text-decoration:none}
footer{background:#263432;color:#ece7df;padding:26px 0}
.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.subhero{background:var(--bg);padding:90px 0 70px}
.subhero .wrap{max-width:920px;margin-left:auto;margin-right:auto}
.project-detail{padding:85px 0}
.project-detail .wrap{max-width:920px}
.meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin:40px 0;
}
.meta div{border-top:1px solid var(--line);padding-top:14px}
.meta strong{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;color:var(--clay)}
.detail-section{margin:60px 0}
.detail-section h2{font-size:2.4rem}
.back{display:inline-block;margin-bottom:26px;text-decoration:none;color:var(--olive-dark);font-weight:700}
.cta-strip{background:#eee4d7;padding:70px 0}
.cta-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-strip h2{font-size:2.6rem;margin:0}
@media(max-width:900px){
  nav{display:none}
  .hero-grid,.about-grid,.people-band .wrap{grid-template-columns:1fr}
  .hero-copy{padding:80px 0 50px}
  .hero-visual{min-height:420px}
  .project-grid{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr 1fr;gap:34px}
  .service-grid article{border-left:0;padding:0}
  .meta{grid-template-columns:1fr}
  .cta-strip .wrap{display:block}
  .cta-strip .button{margin-top:20px}
}
@media(max-width:560px){
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .nav{min-height:72px}
  .brand{font-size:1.8rem}
  .hero-grid{min-height:auto}
  .hero-visual{min-height:330px}
  .section{padding:72px 0}
  .service-grid{grid-template-columns:1fr}
}


.brand img{
  display:block;
  width:150px;
  max-height:42px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:560px){
  .brand img{width:126px;max-height:36px}
}

/* V3.1 logo/header correction */
.site-header .nav{
  height:64px !important;
  min-height:64px !important;
}
.site-header .brand{
  display:flex !important;
  align-items:center !important;
  height:64px !important;
  overflow:hidden !important;
}
.site-header .brand img{
  display:block !important;
  width:132px !important;
  height:auto !important;
  max-width:132px !important;
  max-height:34px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
@media(max-width:560px){
  .site-header .nav{height:60px !important;min-height:60px !important}
  .site-header .brand{height:60px !important}
  .site-header .brand img{
    width:116px !important;
    max-width:116px !important;
    max-height:30px !important;
  }
}


/* V3.2 – compact first screen */
.site-header .nav{
  height:62px !important;
  min-height:62px !important;
}
.site-header .brand{
  height:62px !important;
}
.site-header .brand img{
  width:150px !important;
  max-width:150px !important;
  max-height:40px !important;
  opacity:1 !important;
}
.hero-grid{
  min-height:390px !important;
}
.hero-copy{
  padding:44px 54px 42px 0 !important;
}
.hero h1{
  font-size:clamp(2.55rem,3.8vw,4.15rem) !important;
  margin-bottom:14px !important;
}
.hero .lead{
  font-size:1.02rem !important;
  line-height:1.5 !important;
  max-width:610px !important;
  margin-bottom:14px !important;
}
.hero .eyebrow{
  margin-bottom:12px !important;
}
.hero .button{
  margin-top:4px !important;
  padding:11px 19px !important;
}
.hero-visual{
  min-height:390px !important;
}
.hero-note{
  right:24px !important;
  bottom:22px !important;
  width:210px !important;
  padding:13px !important;
  font-size:.98rem !important;
}
.hero-visual:before{
  width:105px !important;
  height:125px !important;
  bottom:38px !important;
}
.hero-visual:after{
  width:96px !important;
  height:116px !important;
  bottom:43px !important;
}
.section{
  padding:64px 0 !important;
}
.section-head{
  margin-bottom:28px !important;
}
.project-image{
  height:190px !important;
}
.project-body{
  padding:20px !important;
}
@media(max-width:900px){
  .hero-copy{padding:46px 0 34px !important}
  .hero-grid{min-height:auto !important}
  .hero-visual{min-height:300px !important}
}
@media(max-width:560px){
  .site-header .brand img{
    width:128px !important;
    max-width:128px !important;
    max-height:34px !important;
  }
  .hero h1{font-size:clamp(2.35rem,11vw,3.5rem) !important}
  .hero-visual{min-height:250px !important}
}

/* V3.3 – real vector logo */
.site-header .brand{
  display:flex !important;
  align-items:center !important;
  height:62px !important;
  overflow:visible !important;
}
.site-header .brand img{
  width:138px !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  opacity:1 !important;
}
@media(max-width:560px){
  .site-header .brand img{
    width:120px !important;
  }
}

/* V3.4 – scalable CSS wordmark + compact subpages */
.site-header .brand{
  display:flex !important;
  align-items:center !important;
  height:62px !important;
  text-decoration:none !important;
  color:#5b86a0 !important;
  font-family:Georgia, "Times New Roman", serif !important;
  line-height:1 !important;
  overflow:visible !important;
}
.brand-mark{
  position:relative;
  display:inline-block;
  width:38px;
  height:34px;
  margin-right:0;
}
.brand-a{
  position:absolute;
  left:0;
  top:-2px;
  font-size:38px;
  font-weight:700;
  letter-spacing:-.09em;
}
.brand-r{
  position:absolute;
  left:20px;
  top:10px;
  font-size:20px;
  font-weight:700;
  transform:rotate(-8deg);
}
.brand-rest{
  font-size:31px;
  font-weight:600;
  letter-spacing:-.035em;
  margin-left:-2px;
}
.site-header .brand img{display:none !important}

/* Subpages should reveal content immediately */
.subhero{
  padding:46px 0 34px !important;
  min-height:0 !important;
}
.subhero .wrap{
  max-width:1040px !important;
}
.subhero h1{
  font-size:clamp(2.35rem,4.2vw,4rem) !important;
  max-width:900px !important;
  margin-bottom:14px !important;
}
.subhero .lead{
  font-size:1.02rem !important;
  max-width:720px !important;
  line-height:1.5 !important;
  margin-bottom:0 !important;
}
.subhero .eyebrow{
  margin-bottom:10px !important;
}
.subhero .meta{
  margin:26px 0 0 !important;
}
.project-detail{
  padding:48px 0 !important;
}
.project-detail .detail-section{
  margin:38px 0 !important;
}
.project-detail .detail-section:first-child{
  margin-top:0 !important;
}
.project-detail .detail-section h2{
  font-size:2rem !important;
}
.project-detail p{
  max-width:780px;
}
.projects-page-grid{
  padding-top:34px !important;
}
.section.tint{
  padding-top:38px !important;
}

/* Keep first project row visible on normal laptops */
.project-grid{
  gap:18px !important;
}
.project-image{
  height:170px !important;
}
.project-body{
  padding:18px !important;
}
.project-body h3{
  margin-bottom:9px !important;
}
.project-body p{
  margin-bottom:9px !important;
}

@media(max-width:560px){
  .brand-mark{width:32px;height:30px}
  .brand-a{font-size:33px}
  .brand-r{left:17px;top:9px;font-size:18px}
  .brand-rest{font-size:27px}
  .subhero{padding:36px 0 28px !important}
  .subhero h1{font-size:2.35rem !important}
}

/* V3.5 – clean typographic logo + lower hero */
.site-header .nav{
  height:60px !important;
  min-height:60px !important;
}
.site-header .brand{
  height:60px !important;
  display:flex !important;
  align-items:center !important;
  text-decoration:none !important;
  overflow:visible !important;
}
.brand-text{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:30px !important;
  font-weight:600 !important;
  letter-spacing:-.035em !important;
  color:#5b86a0 !important;
  line-height:1 !important;
}

/* Homepage: compact, content visible immediately */
.hero-grid{
  min-height:330px !important;
}
.hero-copy{
  padding:34px 48px 30px 0 !important;
}
.hero h1{
  font-size:clamp(2.35rem,3.45vw,3.75rem) !important;
  line-height:1.02 !important;
  margin-bottom:12px !important;
  max-width:640px !important;
}
.hero .eyebrow{
  margin-bottom:9px !important;
  font-size:.71rem !important;
}
.hero .lead{
  font-size:.98rem !important;
  line-height:1.45 !important;
  max-width:600px !important;
  margin-bottom:10px !important;
}
.hero .button{
  margin-top:2px !important;
  padding:10px 18px !important;
}
.hero-visual{
  min-height:330px !important;
}
.hero-note{
  right:18px !important;
  bottom:16px !important;
  width:185px !important;
  padding:11px 12px !important;
  font-size:.9rem !important;
  border-radius:14px !important;
}
.hero-visual:before{
  width:86px !important;
  height:102px !important;
  bottom:26px !important;
}
.hero-visual:after{
  width:78px !important;
  height:96px !important;
  bottom:30px !important;
}

/* Bring projects into the first viewport faster */
.section{
  padding:54px 0 !important;
}
.section.tint{
  padding-top:30px !important;
}
.section-head{
  margin-bottom:24px !important;
}
.section-head h2{
  font-size:clamp(1.85rem,3vw,2.8rem) !important;
  margin-bottom:10px !important;
}
.section-head p{
  font-size:.96rem !important;
}
.project-grid{
  gap:16px !important;
}
.project-image{
  height:150px !important;
}
.project-body{
  padding:16px !important;
}
.project-body h3{
  font-size:1.28rem !important;
  margin-bottom:7px !important;
}
.project-body p{
  font-size:.92rem !important;
  line-height:1.45 !important;
}
.project-link{
  font-size:.9rem !important;
}

/* Keep compact subpages */
.subhero{
  padding:36px 0 28px !important;
}
.subhero h1{
  font-size:clamp(2.15rem,3.3vw,3.25rem) !important;
  line-height:1.05 !important;
}
.subhero .lead{
  font-size:.98rem !important;
}
.project-detail{
  padding:42px 0 !important;
}

@media(max-width:900px){
  .hero-grid{
    min-height:auto !important;
  }
  .hero-copy{
    padding:38px 0 26px !important;
  }
  .hero-visual{
    min-height:250px !important;
  }
}
@media(max-width:560px){
  .brand-text{font-size:27px !important}
  .hero h1{
    font-size:2.55rem !important;
  }
  .hero-visual{
    min-height:220px !important;
  }
  .project-image{
    height:140px !important;
  }
}

/* V3.6 – first screen must reveal project content */
.site-header .nav{
  height:58px !important;
  min-height:58px !important;
}
.site-header .brand{
  height:58px !important;
}
.brand-text{
  font-size:29px !important;
}

.hero-grid{
  grid-template-columns:1.15fr .85fr !important;
  min-height:285px !important;
}
.hero-copy{
  padding:28px 44px 24px 0 !important;
}
.hero h1{
  font-size:clamp(2.15rem,3vw,3.2rem) !important;
  line-height:1.01 !important;
  max-width:650px !important;
  margin-bottom:9px !important;
}
.hero .eyebrow{
  margin-bottom:7px !important;
  font-size:.68rem !important;
}
.hero .lead{
  font-size:.93rem !important;
  line-height:1.42 !important;
  max-width:620px !important;
  margin-bottom:8px !important;
}
.hero .button{
  padding:9px 16px !important;
  font-size:.9rem !important;
}
.hero-visual{
  min-height:285px !important;
}
.hero-note{
  right:14px !important;
  bottom:12px !important;
  width:165px !important;
  padding:9px 10px !important;
  font-size:.82rem !important;
}
.hero-visual:before{
  width:70px !important;
  height:82px !important;
  bottom:20px !important;
}
.hero-visual:after{
  width:64px !important;
  height:76px !important;
  bottom:23px !important;
}

.section.tint{
  padding-top:24px !important;
  padding-bottom:44px !important;
}
.section-head{
  margin-bottom:18px !important;
}
.section-head .eyebrow{
  margin-bottom:7px !important;
}
.section-head h2{
  font-size:clamp(1.65rem,2.5vw,2.35rem) !important;
  margin-bottom:7px !important;
}
.section-head p{
  font-size:.92rem !important;
  margin-bottom:0 !important;
}
.project-image{
  height:135px !important;
}
.project-body{
  padding:14px !important;
}
.project-body h3{
  font-size:1.18rem !important;
}
.project-body p{
  font-size:.88rem !important;
  line-height:1.4 !important;
}

@media(max-width:900px){
  .hero-grid{
    grid-template-columns:1fr !important;
    min-height:auto !important;
  }
  .hero-copy{
    padding:34px 0 24px !important;
  }
  .hero-visual{
    min-height:210px !important;
  }
}

/* V3.7 – recovered original Averra logo from earlier ChatGPT design */
.site-header .brand{
  display:flex !important;
  align-items:center !important;
  height:58px !important;
  overflow:visible !important;
  text-decoration:none !important;
}
.site-header .brand-logo{
  display:block !important;
  width:142px !important;
  height:auto !important;
  max-width:142px !important;
  max-height:40px !important;
}
@media(max-width:560px){
  .site-header .brand-logo{
    width:124px !important;
    max-width:124px !important;
  }
}

/* V3.8 – cache-safe CSS + visible recovered logo + genuinely compact hero */
.site-header .brand img.brand-logo{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:150px !important;
  max-width:150px !important;
  height:auto !important;
  max-height:42px !important;
}

.site-header .nav{
  height:58px !important;
  min-height:58px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.hero-grid{
  min-height:280px !important;
  height:auto !important;
  grid-template-columns:1.18fr .82fr !important;
}
.hero-copy{
  padding:24px 42px 22px 0 !important;
}
.hero h1{
  font-size:clamp(2.1rem,2.9vw,3rem) !important;
  line-height:1.01 !important;
  margin:0 0 8px !important;
}
.hero .eyebrow{
  font-size:.67rem !important;
  margin:0 0 6px !important;
}
.hero .lead{
  font-size:.92rem !important;
  line-height:1.4 !important;
  margin:0 0 8px !important;
}
.hero .button{
  padding:8px 15px !important;
  font-size:.88rem !important;
  margin-top:0 !important;
}
.hero-visual{
  min-height:280px !important;
  height:auto !important;
}
.hero-note{
  width:155px !important;
  padding:8px 9px !important;
  font-size:.78rem !important;
  right:12px !important;
  bottom:10px !important;
}
.hero-visual:before{
  width:66px !important;
  height:76px !important;
  bottom:18px !important;
}
.hero-visual:after{
  width:58px !important;
  height:70px !important;
  bottom:20px !important;
}
.section.tint{
  padding-top:20px !important;
}
.section-head{
  margin-bottom:15px !important;
}
.section-head h2{
  font-size:clamp(1.55rem,2.2vw,2.15rem) !important;
}
.project-image{
  height:125px !important;
}

@media(max-width:900px){
  .site-header .brand img.brand-logo{
    width:136px !important;
    max-width:136px !important;
  }
  .hero-grid{
    grid-template-columns:1fr !important;
  }
  .hero-copy{
    padding:28px 0 20px !important;
  }
  .hero-visual{
    min-height:200px !important;
  }
}
@media(max-width:560px){
  .site-header .brand img.brand-logo{
    width:120px !important;
    max-width:120px !important;
  }
}

/* V3.9 – final selected Averra logo */
.site-header .brand{
  display:flex !important;
  align-items:center !important;
  height:58px !important;
  overflow:visible !important;
  text-decoration:none !important;
}
.site-header .brand img.brand-logo-final{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:158px !important;
  height:auto !important;
  max-width:158px !important;
  max-height:48px !important;
  object-fit:contain !important;
  object-position:left center !important;
  image-rendering:auto !important;
}
@media(max-width:560px){
  .site-header .brand img.brand-logo-final{
    width:132px !important;
    max-width:132px !important;
    max-height:40px !important;
  }
}

/* V4 – mobile-first refinements */
.mobile-menu{display:none}

/* Better tap targets even on tablet */
.site-header nav a,
.lang a,
.button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
}

/* Tablet */
@media(max-width:900px){
  .wrap{
    width:min(var(--max),calc(100% - 32px)) !important;
  }
  .about-grid,
  .contact-grid,
  .people-band .wrap{
    gap:32px !important;
  }
  .project-grid{
    grid-template-columns:1fr 1fr !important;
  }
  .service-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

/* Phones and small tablets */
@media(max-width:720px){
  body{
    overflow-x:hidden;
    font-size:16px;
  }

  .wrap{
    width:calc(100% - 28px) !important;
  }

  /* Header */
  .site-header .nav{
    height:64px !important;
    min-height:64px !important;
    position:relative;
  }
  .site-header .brand{
    height:64px !important;
    z-index:3;
  }
  .site-header .brand img.brand-logo-final{
    width:138px !important;
    max-width:138px !important;
    max-height:43px !important;
  }
  .nav-right{
    display:none !important;
  }

  .mobile-menu{
    display:block;
    position:relative;
    z-index:10;
  }
  .mobile-menu summary{
    list-style:none;
    width:46px;
    height:46px;
    border:1px solid rgba(36,49,47,.15);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    cursor:pointer;
    background:#fffdf9;
  }
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary span{
    display:block;
    width:19px;
    height:1.5px;
    background:#24312f;
    border-radius:2px;
  }
  .mobile-menu[open] summary{
    background:#f4eee5;
  }
  .mobile-panel{
    position:absolute;
    right:0;
    top:54px;
    width:min(310px,calc(100vw - 28px));
    padding:14px;
    background:#fffdf9;
    border:1px solid #e5dbce;
    box-shadow:0 15px 35px rgba(36,49,47,.14);
    border-radius:16px;
  }
  .mobile-links{
    display:flex !important;
    flex-direction:column;
    gap:2px !important;
  }
  .mobile-links a{
    width:100%;
    min-height:46px;
    padding:8px 10px;
    text-decoration:none;
    border-radius:10px;
  }
  .mobile-links a:hover{
    background:#f4eee5;
  }
  .mobile-lang{
    margin-top:8px;
    padding:12px 10px 2px;
    border-top:1px solid #e5dbce;
    font-size:.82rem;
    letter-spacing:.1em;
  }

  /* Hero: message first; no decorative placeholder taking screen space */
  .hero-grid{
    display:block !important;
    min-height:0 !important;
  }
  .hero-copy{
    padding:34px 0 30px !important;
  }
  .hero h1{
    font-size:clamp(2.35rem,11vw,3.25rem) !important;
    line-height:1.02 !important;
    max-width:100% !important;
  }
  .hero .lead{
    font-size:1rem !important;
    line-height:1.5 !important;
    max-width:100% !important;
  }
  .hero .eyebrow{
    font-size:.68rem !important;
    line-height:1.45;
    letter-spacing:.13em !important;
  }
  .hero .button{
    min-height:46px;
    padding:10px 18px !important;
  }
  .hero-visual{
    display:none !important;
  }

  /* Sections */
  .section{
    padding:44px 0 !important;
  }
  .section.tint{
    padding-top:30px !important;
  }
  .section-head{
    margin-bottom:20px !important;
  }
  .section-head h2,
  .services h2{
    font-size:clamp(1.8rem,8vw,2.35rem) !important;
    line-height:1.08 !important;
  }

  /* Cards */
  .project-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .project-image{
    height:155px !important;
  }
  .project-body{
    padding:18px !important;
  }
  .project-body h3{
    font-size:1.28rem !important;
  }
  .project-card{
    border-radius:18px !important;
  }

  /* Services */
  .service-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin-top:22px !important;
  }
  .service-grid article{
    padding:20px 0 !important;
    border-left:0 !important;
    border-top:1px solid #d8cec0;
  }
  .service-grid article:first-child{
    border-top:0;
    padding-top:0 !important;
  }

  /* Human / about / contact sections */
  .people-band{
    padding:36px 0 !important;
  }
  .people-band .wrap{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .people-band blockquote{
    font-size:1.85rem !important;
  }
  .about-grid,
  .contact-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .portrait{
    aspect-ratio:16/10 !important;
  }

  /* Subpages */
  .subhero{
    padding:34px 0 26px !important;
  }
  .subhero h1{
    font-size:clamp(2.1rem,10vw,3rem) !important;
  }
  .subhero .meta{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .project-detail{
    padding:34px 0 !important;
  }
  .project-detail .detail-section{
    margin:30px 0 !important;
  }
  .project-detail .detail-section h2{
    font-size:1.8rem !important;
  }

  .cta-strip{
    padding:42px 0 !important;
  }
  .cta-strip .wrap{
    display:block !important;
  }
  .cta-strip h2{
    font-size:2rem !important;
  }
  .cta-strip .button{
    margin-top:18px !important;
  }

  .contact-card{
    padding:24px !important;
  }

  .footer-inner{
    flex-direction:column;
    gap:4px !important;
    font-size:.88rem;
  }
}

/* Very small phones */
@media(max-width:390px){
  .wrap{
    width:calc(100% - 22px) !important;
  }
  .site-header .brand img.brand-logo-final{
    width:124px !important;
    max-width:124px !important;
  }
  .hero-copy{
    padding-top:28px !important;
  }
  .hero h1{
    font-size:2.35rem !important;
  }
  .mobile-panel{
    width:calc(100vw - 22px);
  }
}

/* V6 – real photography */
.project-image.photo{
  background-size:cover !important;
  background-position:center !important;
}
.project-image.from-here-photo{
  background-image:url("../images/from-here-project.jpg") !important;
  background-position:center 42% !important;
}
.portrait.real-photo{
  background-image:url("../images/martin-spuur.jpg") !important;
  background-size:cover !important;
  background-position:center 36% !important;
  color:transparent !important;
}
@media(max-width:720px){
  .portrait.real-photo{
    aspect-ratio:4/5 !important;
    background-position:center 28% !important;
  }
}

/* V6.1 – FROM HERE vision */
.from-here-question{
  background:#efe5d8;
  border-radius:22px;
  padding:34px;
}
.from-here-question h2{
  max-width:760px;
  font-size:clamp(2rem,3.2vw,3rem) !important;
}
@media(max-width:720px){
  .from-here-question{
    padding:24px;
    border-radius:18px;
  }
  .from-here-question h2{
    font-size:2rem !important;
  }
}

/* V6.3 – FROM HERE thumbnail image fix */
.project-image.from-here-photo{
  background:none !important;
  overflow:hidden !important;
}
.project-image.from-here-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 42% !important;
}
@media(max-width:720px){
  .project-image.from-here-photo img{
    object-position:center 40% !important;
  }
}

/* V6.4 – About/profile image and layout fix */
.portrait.portrait-photo{
  background:none !important;
  padding:0 !important;
  overflow:hidden !important;
  aspect-ratio:4/5 !important;
  border-radius:22px !important;
}
.portrait.portrait-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 28% !important;
}

/* Prevent sticky header from visually colliding with subpage hero */
.subhero{
  padding-top:46px !important;
}
.subhero h1{
  margin-top:0 !important;
}

/* About page specifically: keep name/text readable and balanced */
.about-grid{
  align-items:start !important;
}
.about-grid h2{
  font-size:clamp(2.2rem,4vw,3.8rem) !important;
  line-height:1.05 !important;
  margin-bottom:16px !important;
}
.about-grid p{
  max-width:700px !important;
}

@media(max-width:720px){
  .subhero{
    padding-top:34px !important;
  }
  .portrait.portrait-photo{
    aspect-ratio:4/5 !important;
    max-height:520px !important;
  }
  .about-grid h2{
    font-size:2.25rem !important;
  }
}

/* V6.5 – hero illustration */
.hero-visual.hero-illustration{
  min-height:460px;
  background:#efe7db !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  overflow:hidden;
}
.hero-visual.hero-illustration:before,
.hero-visual.hero-illustration:after{
  display:none !important;
  content:none !important;
}
.hero-visual.hero-illustration img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  filter:none;
}
@media (max-width: 960px){
  .hero-visual.hero-illustration{
    min-height:380px;
    padding:18px;
  }
}
@media (max-width: 720px){
  .hero-visual.hero-illustration{
    min-height:auto;
    padding:14px 14px 18px;
  }
  .hero-visual.hero-illustration img{
    max-height:420px;
  }
}


/* V6.6 – Learning for All */
.project-image.learning-yogyakarta{background:none !important;overflow:hidden !important;}
.project-image.learning-yogyakarta img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;}
.project-photo-band{padding:0 0 24px;background:var(--bg);}
.project-photo-frame{border-radius:24px;overflow:hidden;background:#d9cfbf;box-shadow:0 14px 34px rgba(52,45,37,.08);}
.project-photo-frame img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;}
@media(max-width:720px){.project-photo-band{padding:0 0 8px}.project-photo-frame{border-radius:18px}.project-photo-frame img{max-height:340px;}}

/* V6.7 – De Rejsende */
.project-image.de-rejsende-photo{
  background:none !important;
  overflow:hidden !important;
}
.project-image.de-rejsende-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* V6.8 – Hey Yum! */
.project-image.p-heyyum{
  background:
    radial-gradient(circle at 22% 30%, rgba(255,255,255,.22), transparent 26%),
    radial-gradient(circle at 72% 38%, rgba(255,255,255,.18), transparent 24%),
    linear-gradient(135deg, #f2d48d 0%, #e7b278 46%, #c27b6f 100%);
}

/* V6.9 – curated four-project portfolio */

/* V7 – Hey Yum image */
.project-image.hey-yum-photo{
  background:none !important;
  overflow:hidden !important;
}
.project-image.hey-yum-photo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media(max-width:720px){
  .project-image.hey-yum-photo img{
    object-position:center center !important;
  }
}

/* V7.1 – About layout fix */
.about-section{
  padding-top:54px !important;
  padding-bottom:64px !important;
}
.about-section .about-grid{
  grid-template-columns:minmax(260px, .78fr) minmax(0, 1.22fr) !important;
  gap:56px !important;
  align-items:center !important;
}
.about-section .portrait.portrait-photo{
  width:100% !important;
  max-width:420px !important;
  justify-self:end !important;
  aspect-ratio:4/5 !important;
}
.about-section .about-copy{
  min-width:0;
  max-width:680px;
}
.about-section .about-copy .eyebrow{
  margin-bottom:10px !important;
}
.about-section .about-copy h2{
  font-size:clamp(2.25rem,4vw,3.65rem) !important;
  line-height:1.03 !important;
  margin:0 0 18px !important;
}
.about-section .about-copy p{
  font-size:1rem !important;
  line-height:1.6 !important;
  margin:0 0 14px !important;
}
@media(max-width:900px){
  .about-section .about-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .about-section .portrait.portrait-photo{
    justify-self:start !important;
    max-width:360px !important;
  }
}
@media(max-width:720px){
  .about-section{
    padding-top:34px !important;
    padding-bottom:44px !important;
  }
  .about-section .portrait.portrait-photo{
    max-width:100% !important;
    aspect-ratio:4/5 !important;
  }
  .about-section .about-copy h2{
    font-size:2.25rem !important;
  }
}

/* V7.2 – project order update */

/* V7.3 – contact social link */
.contact-card a[href*="instagram.com"]{
  font-weight:600;
}

/* V7.4 – homepage About alignment */
.home-about{
  padding-top:54px !important;
  padding-bottom:64px !important;
}
.home-about .about-grid{
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr) !important;
  gap:56px !important;
  align-items:center !important;
}
.home-about .portrait.portrait-photo{
  width:100% !important;
  max-width:420px !important;
  justify-self:end !important;
  aspect-ratio:4/5 !important;
}
.home-about .about-copy{
  min-width:0;
  max-width:680px;
}
.home-about .about-copy h2{
  font-size:clamp(2.15rem,3.8vw,3.45rem) !important;
  line-height:1.04 !important;
  margin:0 0 16px !important;
}
.home-about .about-copy p{
  font-size:1rem !important;
  line-height:1.58 !important;
  margin:0 0 18px !important;
}
@media(max-width:900px){
  .home-about .about-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .home-about .portrait.portrait-photo{
    justify-self:start !important;
    max-width:360px !important;
  }
}
@media(max-width:720px){
  .home-about{
    padding-top:34px !important;
    padding-bottom:44px !important;
  }
  .home-about .portrait.portrait-photo{
    max-width:100% !important;
  }
}
