:root{
  --kirec:#efe7d7;
  --kum:#e3d5bb;
  --humus:#241a14;
  --duman:#4a382b;
  --kil:#c98f62;
  --terra:#8c3d20;
  --terra-d:#7a3320;
  --saman:#dcbc6c;
  --soluk:#dccfb8;
  --font-d:Rockwell,"Rockwell Nova","Roboto Slab","Sitka Heading",Cambria,Georgia,serif;
  --font-b:Candara,Optima,Calibri,"Helvetica Neue",Arial,sans-serif;
  --s0:clamp(1.02rem,.97rem + .25vw,1.16rem);
  --s-1:.86rem;
  --s2:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --s3:clamp(1.95rem,1.3rem + 2.7vw,3.5rem);
  --s4:clamp(2.35rem,1.3rem + 4.7vw,5.4rem);
  --gut:clamp(1rem,4vw,2.5rem);
  --focus:#8c3d20;
  --brick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='40'%3E%3Cpath d='M0 1H72M0 21H72M0 1V21M36 21V41' fill='none' stroke='%23241a14' stroke-opacity='.6' stroke-width='2'/%3E%3C/svg%3E");
  --plaster:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='600'%3E%3Cfilter id='f' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .03' numOctaves='4' seed='4'/%3E%3CfeDiffuseLighting surfaceScale='4' diffuseConstant='1.05' lighting-color='%23f8f2e5'%3E%3CfeDistantLight azimuth='225' elevation='55'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:5rem}
body{margin:0;background:var(--kirec);color:var(--humus);font:400 var(--s0)/1.65 var(--font-b);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--font-d);font-weight:800;line-height:1.08;letter-spacing:-.01em;margin:0 0 .6em;text-wrap:balance}
h1{font-size:var(--s4);line-height:1.02}
h2{font-size:var(--s3)}
h3{font-size:var(--s2);line-height:1.2}
p{margin:0 0 1.1em}
ul,ol{margin:0;padding:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
.wrap{width:min(1240px,calc(100% - 2 * var(--gut)));margin-inline:auto}
section{position:relative;padding-block:clamp(3.5rem,8vw,7rem)}

.skip{position:absolute;left:1rem;top:-4rem;background:var(--humus);color:var(--kirec);padding:.7rem 1rem;z-index:100;transition:top .2s}
.skip:focus{top:1rem}

/* eyebrow + tag */
.eyebrow{display:flex;align-items:center;gap:.7rem;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:1.1rem}
.tag{display:inline-block;font-family:var(--font-d);font-weight:800;letter-spacing:.04em;background:var(--humus);color:var(--saman);padding:.2rem .55rem;border-radius:2px}

/* buttons */
.btn{display:inline-block;font:700 1rem/1 var(--font-b);text-decoration:none;background:var(--humus);color:var(--kirec);padding:1rem 1.5rem;border:2px solid var(--humus);border-radius:2px;box-shadow:4px 4px 0 var(--kil);transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--terra)}
.btn-ghost{background:transparent;color:var(--humus)}
.btn-ghost:hover{background:var(--saman)}
.btn-small{padding:.7rem 1.1rem;font-size:.95rem;box-shadow:3px 3px 0 var(--kil)}
.text-link{font-weight:700;text-decoration-thickness:2px;text-underline-offset:4px;color:var(--terra)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(239,231,215,.95);border-bottom:2px solid var(--humus);backdrop-filter:blur(6px)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding-block:.7rem}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-family:var(--font-d);font-weight:800;font-size:1.3rem;line-height:1}
.brand em{font-style:normal;font-weight:400}
.mark{overflow:hidden;flex:none}
.menu-toggle{display:none;align-items:center;gap:.6rem;background:transparent;color:var(--humus);border:2px solid var(--humus);border-radius:2px;padding:.55rem .8rem;font:700 .95rem var(--font-b);cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:18px;height:2px;background:var(--humus);position:relative;transition:transform .2s}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-6px}
.bars::after{top:6px}
.open .bars{background:transparent}
.open .bars::before{transform:translateY(6px) rotate(45deg)}
.open .bars::after{transform:translateY(-6px) rotate(-45deg)}
.nav{flex:1 1 100%}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;margin-bottom:.6rem}
.nav ul a{display:inline-block;padding:.4rem 0;text-decoration:none;font-weight:700;border-bottom:2px solid transparent}
.nav ul a:hover{border-color:var(--terra)}
.js .menu-toggle{display:inline-flex}
.js .nav{display:none}
.js .site-header.open .nav{display:block;padding-bottom:1rem}
.js .site-header.open .nav ul{flex-direction:column;gap:0}
.js .site-header.open .nav ul a{padding:.8rem 0;width:100%;border-bottom:1px solid rgba(36,26,20,.2)}
.js .site-header.open .btn{margin-top:.8rem}
@media (min-width:901px){
  .bar{flex-wrap:nowrap}
  .nav,.js .nav{display:flex;flex:1;align-items:center;justify-content:flex-end;gap:1.8rem}
  .nav ul{margin:0;flex-wrap:nowrap}
  .js .menu-toggle{display:none}
}

/* hero */
.hero{isolation:isolate;padding-block:clamp(2.5rem,6vw,5rem) clamp(5rem,9vw,8rem);background:var(--kirec)}
.hero-wall{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--kirec) var(--plaster) center/cover}
.hero-wall canvas{display:block;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;background:var(--brick) 0 0/72px 40px,var(--kil);border-top:2px solid var(--humus)}
.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(1rem,2.5vw,2rem);align-items:start}
.hero-grid > *{grid-column:1/-1}
.hero h1{color:#1d140f;text-shadow:calc(var(--sx,2) * 1px) calc(var(--sy,2) * 1px) 0 rgba(154,69,38,.3);margin-bottom:.5em}
.lead{font-size:var(--s2);line-height:1.5;color:var(--duman);max-width:34ch}
.actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-photo{margin:1.5rem 0 0;position:relative}
.hero-photo img{width:100%;border:2px solid var(--humus);box-shadow:9px 9px 0 var(--kil)}
.hint{display:none;font-size:var(--s-1);color:var(--duman);margin:1.6rem 0 0;font-style:italic}
.anim .hint{display:block}
@media (min-width:900px){
  .hero h1{grid-column:1/10}
  .lead,.actions{grid-column:1/6}
  .hero-photo{grid-column:6/13;grid-row:3/6;margin:-.5rem 0 0}
  .hero-photo img{box-shadow:16px 16px 0 var(--kil)}
  .hint{grid-column:1/6;align-self:end}
  .hero-grid .eyebrow{grid-column:1/-1}
}

/* story */
.story{background:var(--kum)}
.story-grid{display:grid;gap:2.5rem;align-items:center}
.story-photo{margin:0}
.story-photo img{width:100%;border:2px solid var(--humus);box-shadow:-10px 10px 0 var(--kil)}
figcaption{font-size:var(--s-1);color:var(--duman);margin-top:.9rem;letter-spacing:.02em}
.pull{font-family:var(--font-d);font-weight:800;font-size:var(--s2);line-height:1.25;border-left:8px solid var(--terra);padding:.3rem 0 .3rem 1rem;margin:1.6rem 0}
@media (min-width:900px){
  .story-grid{grid-template-columns:repeat(12,1fr)}
  .story-photo{grid-column:1/7}
  .story-text{grid-column:8/13}
}

/* services */
.services{background:var(--kirec)}
.section-head{max-width:46rem;margin-bottom:3rem}
.svc-grid{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:1.4rem;counter-reset:svc}
.brick{grid-column:span 2;position:relative;counter-increment:svc;padding:1.6rem 1.5rem 1.8rem;background-color:var(--kil);background-image:radial-gradient(260px circle at var(--mx,-999px) var(--my,-999px),rgba(255,246,224,.6),transparent 70%);border:2px solid var(--humus);box-shadow:6px 6px 0 var(--humus);min-height:14rem}
.brick::before{content:counter(svc,decimal-leading-zero);display:block;font-family:var(--font-d);font-weight:800;font-size:.95rem;letter-spacing:.08em;margin-bottom:1.6rem;color:var(--humus)}
.brick h3{margin-bottom:.5em}
.brick p{margin:0}
.brick:nth-child(2){background-color:#d9a87a}
.brick:nth-child(3){background-color:#cf9c6b}
.brick:nth-child(4){background-color:#d6a273;grid-column:2/span 2}
.brick:nth-child(5){background-color:#c88a5b;grid-column:4/span 2}
.more{margin:3rem 0 0}
@media (max-width:900px){
  .svc-grid{grid-template-columns:1fr}
  .brick,.brick:nth-child(4),.brick:nth-child(5){grid-column:auto;min-height:0}
  .brick:nth-child(odd){margin-right:8%}
  .brick:nth-child(even){margin-left:8%}
}

/* reasons */
.reasons{background:var(--humus);color:var(--kirec);--focus:#dcbc6c}
.reasons::before,.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:20px;background:var(--brick) 0 0/72px 40px,var(--terra);filter:invert(0)}
.reasons .eyebrow{color:var(--saman)}
.reasons .tag{background:var(--saman);color:var(--humus)}
.reasons h2,.reasons h3{color:var(--saman)}
.reasons p{color:var(--soluk)}
.reasons-grid{display:grid;gap:3rem}
.reasons-head{max-width:40rem}
.stack{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem;align-items:start}
.stack figure{margin:0}
.stack img{width:100%;border:2px solid var(--kirec);box-shadow:8px 8px 0 var(--terra)}
.stack .ph-b{margin-top:22%}
.stack figcaption{color:var(--soluk)}
.reason-list{list-style:none;display:grid;gap:1.6rem}
.reason-list li{border-top:2px solid var(--kil);padding-top:1rem}
.reason-list h3{margin-bottom:.3em}
.reason-list p{margin:0}
@media (min-width:900px){
  .reasons-grid{grid-template-columns:repeat(12,1fr);column-gap:2rem;align-items:start}
  .reasons-head{grid-column:1/-1}
  .stack{grid-column:1/7}
  .reason-list{grid-column:8/13}
}

/* atmosphere */
.atmosphere{padding:0;background:var(--kirec);padding-bottom:clamp(3rem,6vw,5rem)}
.atmosphere img{width:100%;aspect-ratio:16/9;max-height:80vh;object-fit:cover}
.plate{position:relative;width:min(38rem,calc(100% - 2 * var(--gut)));margin:calc(-1 * clamp(3rem,10vw,8rem)) 0 0 max(var(--gut),calc((100% - 1240px) / 2));background:var(--kirec);border:2px solid var(--humus);box-shadow:8px 8px 0 var(--saman);padding:clamp(1.4rem,3vw,2.4rem)}
.plate h2{font-size:clamp(1.6rem,1.2rem + 1.8vw,2.5rem)}
.plate p:last-child{margin:0}

/* process */
.process{background:var(--kum)}
.process-grid{display:grid;gap:2.5rem}
.process-photo{margin:0}
.process-photo img{width:100%;border:2px solid var(--humus);box-shadow:10px 10px 0 var(--kil)}
.steps{list-style:none;display:grid;gap:0}
.steps li{position:relative;padding:1.2rem 0 1.3rem 1.4rem;border-left:8px solid var(--kil);border-bottom:1px solid rgba(36,26,20,.25);background:linear-gradient(90deg,rgba(255,255,255,.28),transparent 60%)}
.steps li:nth-child(2){border-left-color:#b87548}
.steps li:nth-child(3){border-left-color:#a35f38}
.steps li:nth-child(4){border-left-color:#8c3d20}
.steps li:nth-child(5){border-left-color:var(--humus)}
.steps h3{margin:.2rem 0 .3rem}
.steps p{margin:0;max-width:44ch}
.kat{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
@media (min-width:900px){
  .process-grid{grid-template-columns:repeat(12,1fr);column-gap:3rem;align-items:start}
  .process-photo{grid-column:1/6;position:sticky;top:6rem}
  .process-text{grid-column:6/13}
}

/* faq */
.faq{background:var(--kirec)}
.faq-grid{display:grid;gap:2rem}
.faq-list details{border-top:2px solid var(--humus)}
.faq-list details:last-child{border-bottom:2px solid var(--humus)}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:1.2rem 3rem 1.2rem 0;font-family:var(--font-d);font-weight:700;font-size:1.15rem;line-height:1.3}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:.2rem;top:50%;translate:0 -50%;width:2rem;height:2rem;display:grid;place-items:center;background:var(--kil);border:2px solid var(--humus);font-size:1.3rem;line-height:1}
.faq-list details[open] summary::after{content:"−";background:var(--saman)}
.faq-list details p{padding:0 3rem 1.3rem 0;margin:0;max-width:60ch;color:var(--duman)}
@media (min-width:900px){
  .faq-grid{grid-template-columns:repeat(12,1fr);column-gap:3rem}
  .faq-head{grid-column:1/5;align-self:start;position:sticky;top:6rem}
  .faq-list{grid-column:5/13}
}

/* contact */
.contact{background:var(--terra-d);color:var(--kirec);--focus:#dcbc6c}
.contact .eyebrow{color:var(--saman)}
.contact .tag{background:var(--saman);color:var(--humus)}
.contact h2{color:#fff8ea}
.contact-grid{display:grid;gap:2.5rem}
.contact-text ul{padding-left:1.2rem}
.contact-text li{margin-bottom:.4rem}
.contact-form{background:var(--kirec);color:var(--humus);border:2px solid var(--humus);box-shadow:10px 10px 0 var(--humus);padding:clamp(1.3rem,3vw,2.2rem);--focus:#8c3d20}
.contact-form p{margin:0 0 1.2rem}
.contact-form p:last-child{margin:0}
.contact-form label{display:block;font-weight:700;margin-bottom:.35rem}
.contact-form input,.contact-form textarea{width:100%;font:inherit;color:var(--humus);background:#fbf7ee;border:2px solid var(--humus);border-radius:2px;padding:.8rem .9rem}
.contact-form textarea{resize:vertical;min-height:8rem}
.contact-form button{font:700 1.05rem/1 var(--font-b);background:var(--humus);color:var(--kirec);border:2px solid var(--humus);border-radius:2px;padding:1rem 2rem;cursor:pointer;box-shadow:4px 4px 0 var(--kil);transition:background .15s,color .15s}
.contact-form button:hover{background:var(--saman);color:var(--humus)}
@media (min-width:900px){
  .contact-grid{grid-template-columns:repeat(12,1fr);column-gap:3rem;align-items:start}
  .contact-text{grid-column:1/6}
  .contact-form{grid-column:7/13}
}

/* footer */
.site-footer{position:relative;background:var(--humus);color:var(--soluk);padding:clamp(3.5rem,6vw,5rem) 0 2.2rem;--focus:#dcbc6c}
.site-footer p{margin:0 0 .4rem}
.foot-grid{display:grid;gap:1.8rem}
.foot-brand{font-family:var(--font-d);font-weight:800;font-size:1.5rem;color:var(--kirec)}
.foot-brand em{font-style:normal;font-weight:400}
.site-footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.site-footer a{display:inline-block;padding:.3rem 0}
.copy{font-size:var(--s-1)}
@media (min-width:900px){
  .foot-grid{grid-template-columns:1fr auto auto;align-items:start;column-gap:3rem}
}

/* enhancement: bricks laid on scroll (content always visible) */
.anim .reveal{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.anim .reveal:not(.in){transform:translateY(18px)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media (max-width:420px){
  .brand{font-size:1.1rem}
  .stack{grid-template-columns:1fr 1fr}
  .faq-list details p{padding-right:0}
}

/* inner pages */
/* Inner pages: small additions, all new classes prefixed pg- */

/* compact page hero (used together with .hero) */
.pg-hero{padding-block:clamp(2rem,5vw,3.5rem) clamp(4.2rem,7vw,5.5rem)}
.pg-hero h1{font-size:var(--s3);margin-bottom:.45em}
.pg-hero .lead{max-width:46ch;margin-bottom:0}
@media (min-width:900px){
  .pg-hero h1{grid-column:1/11}
  .pg-hero .lead{grid-column:1/9}
}

/* in-depth service entries */
.pg-svc-list{list-style:none;display:grid;gap:0}
.pg-svc{display:grid;gap:1.2rem;padding-block:2rem;border-top:2px solid var(--humus)}
.pg-svc:last-child{border-bottom:2px solid var(--humus)}
.pg-svc-head h3{margin:.8rem 0 0}
.pg-svc-body{display:grid;gap:1.4rem}
.pg-svc-intro{margin:0;max-width:56ch;font-size:1.08em}
.pg-label{margin:0 0 .6rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.pg-list{list-style:none;display:grid;gap:.5rem}
.pg-list li{position:relative;padding-left:1.4rem}
.pg-list li::before{content:"";position:absolute;left:0;top:.5em;width:.7rem;height:.7rem;background:var(--kil);border:2px solid var(--humus)}
@media (min-width:700px){
  .pg-svc-body{grid-template-columns:1fr 1fr;column-gap:2rem}
  .pg-svc-intro{grid-column:1/-1}
}
@media (min-width:900px){
  .pg-svc{grid-template-columns:repeat(12,1fr);column-gap:2rem;padding-block:2.4rem}
  .pg-svc-head{grid-column:1/5}
  .pg-svc-body{grid-column:5/13}
}

/* closing call-to-action band (used together with .contact) */
.pg-cta .contact-text{max-width:44rem}
.pg-cta .contact-text p:last-child{margin-bottom:0}
@media (min-width:900px){
  .pg-cta .contact-text{grid-column:1/-1}
}

.wpf-legal { padding: clamp(3rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2rem); }
.wpf-legal .wpf-legal__inner { max-width: 72ch; margin: 0 auto; }
.wpf-legal .wpf-legal__inner h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.1; margin: .2em 0 .8em; }
.wpf-legal .wpf-legal__inner h2 { font-size: clamp(1.2rem, 2.2vw, 1.5rem); line-height: 1.25; margin: 2.2em 0 .6em; }
.wpf-legal .wpf-legal__inner p, .wpf-legal .wpf-legal__inner li { line-height: 1.75; max-width: none; }
.wpf-legal .wpf-legal__inner ul { padding-left: 1.2em; margin: 0 0 1em; }
.wpf-legal .wpf-legal__inner li { margin: .35em 0; list-style: disc; }
.wpf-legal .wpf-legal__inner a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.wpf-legal .wpf-legal__meta { font-size: .875rem; opacity: .7; margin: 0; }
.wpf-legal .wpf-legal__table { overflow-x: auto; margin: 1em 0 1.5em; }
.wpf-legal table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.wpf-legal th, .wpf-legal td { text-align: left; vertical-align: top; padding: .7em .8em; border-bottom: 1px solid rgba(127,127,127,.3); }
.wpf-legal code { font-size: .85em; word-break: break-word; }
.wpf-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.4rem; grid-column: 1 / -1;
  width: 100%; box-sizing: border-box; padding: 1.1rem clamp(1.25rem, 4vw, 2rem) 0; font-size: .875rem; }
.wpf-legal-links a { color: inherit; opacity: .85; text-decoration: underline; text-underline-offset: .15em; }
.wpf-legal-links a:hover, .wpf-legal-links a:focus-visible { opacity: 1; }

.wpf-consent { position: fixed; z-index: 99998; left: 16px; right: 16px; bottom: 16px; max-width: 27rem; box-sizing: border-box;
  padding: 20px 22px; border-radius: 14px; border: 1px solid rgba(127,127,127,.28); box-shadow: 0 14px 44px rgba(0,0,0,.24);
  font-size: 15px; line-height: 1.55; text-align: left; }
.wpf-consent[hidden] { display: none; }
.wpf-consent .wpf-consent__title { margin: 0 0 6px; font-weight: 700; font-size: 1.05em; }
.wpf-consent .wpf-consent__text { margin: 0 0 16px; max-width: none; }
.wpf-consent .wpf-consent__text a { color: inherit; text-decoration: underline; }
.wpf-consent .wpf-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wpf-consent .wpf-consent__actions button { cursor: pointer; margin: 0; width: auto; }
.wpf-consent .wpf-consent__primary, .wpf-consent .wpf-consent__secondary { font: inherit; font-weight: 600; padding: 10px 18px; border-radius: 8px; }
.wpf-consent .wpf-consent__primary { background: #1c1b19; color: #fff; border: 1px solid #1c1b19; }
.wpf-consent .wpf-consent__secondary { background: transparent; color: inherit; border: 1px solid currentColor; }
.wpf-consent button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
