
:root{
  --paper:#f4eee8;
  --paper-2:#fbf8f4;
  --ink:#241c19;
  --muted:#6b5a52;
  --burgundy:#8f3b3e;
  --rust:#a95742;
  --rose:#cf8e84;
  --sand:#d9c7b7;
  --line:rgba(36,28,25,.14);
  --dark:#211917;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x:hidden;
}
img,video{display:block;width:100%}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:50;
  height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 clamp(22px,4vw,64px);
  background:rgba(244,238,232,.78);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transition:.25s ease;
}
.site-header.scrolled{border-bottom-color:var(--line);background:rgba(244,238,232,.92)}
.wordmark{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  font-size:27px;
  letter-spacing:.14em;
  white-space:nowrap;
}
.wordmark span{
  color:var(--rust);
  font-family:Inter, sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.28em;
  margin-right:5px;
}
.site-nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.site-nav a{position:relative}
.site-nav a:not(.nav-cta)::after{
  content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--ink);transition:.25s ease
}
.site-nav a:hover::after{width:100%}
.nav-cta{padding:13px 17px;border:1px solid var(--ink);border-radius:999px}
.menu-button{display:none;background:none;border:0;width:44px;height:44px;padding:11px;cursor:pointer}
.menu-button span:not(.sr-only){display:block;height:1px;background:var(--ink);margin:7px 0;transition:.2s ease}
.hero{
  min-height:100vh;
  padding:150px clamp(24px,6vw,90px) 75px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  align-items:center;
  gap:clamp(45px,7vw,120px);
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-12vw;top:-12vw;width:56vw;height:56vw;border-radius:50%;
  background:radial-gradient(circle,rgba(169,87,66,.13),rgba(169,87,66,0) 70%);z-index:-2
}
.hero-pattern{
  position:absolute;inset:0;z-index:-3;opacity:.25;
  background-image:url("data:image/svg+xml,%3Csvg width='128' height='128' viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238a7166' stroke-width='1' opacity='.36'%3E%3Cpath d='M44 36h40l-3.5 56c-.3 4.6-4.1 8.2-8.7 8.2H56.2c-4.6 0-8.4-3.6-8.7-8.2L44 36Z'/%3E%3Cpath d='M41 36h46M52 27h25M65 27l2-7'/%3E%3C/g%3E%3C/svg%3E");
  background-size:138px 138px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.35),transparent 60%);
}
.eyebrow{
  margin:0 0 20px;
  color:var(--rust);
  font-size:11px;
  font-weight:850;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.eyebrow.light{color:#e9b2a6}
.hero-copy{max-width:760px}
.hero h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-.055em;
  font-size:clamp(58px,7.2vw,112px);
  line-height:.9;
}
.hero-lede{
  max-width:590px;margin:30px 0 0;color:var(--muted);
  font-size:clamp(16px,1.45vw,20px);line-height:1.68
}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;
  font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease
}
.button:hover{transform:translateY(-2px)}
.primary{background:var(--dark);color:white}
.text-link{
  font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:17px;
  border-bottom:1px solid rgba(36,28,25,.28);padding-bottom:5px
}
.text-link span{margin-left:8px;color:var(--rust)}
.hero-art{position:relative;min-height:620px;max-width:590px;width:100%;justify-self:end}
.hero-card{
  position:absolute;overflow:hidden;border-radius:2px;background:#fff;
  box-shadow:0 24px 70px rgba(65,43,35,.15)
}
.hero-card img{height:100%;object-fit:cover}
.hero-card-main{right:8%;top:7%;width:58%;height:78%;z-index:2}
.hero-card-small{width:35%;height:42%;z-index:3}
.hero-card-top{left:0;top:0;transform:rotate(-3.5deg)}
.hero-card-bottom{left:8%;bottom:0;transform:rotate(3deg)}
.made-note{
  position:absolute;right:-10px;bottom:70px;width:126px;height:126px;border-radius:50%;
  border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(244,238,232,.88);z-index:4;transform:rotate(8deg)
}
.made-note::before{content:"";position:absolute;inset:7px;border:1px dashed rgba(36,28,25,.2);border-radius:50%}
.made-note span{font-size:9px;text-transform:uppercase;letter-spacing:.24em}
.made-note strong{font-family:Georgia,serif;font-size:19px;font-style:italic;font-weight:500;margin-top:4px}
.hero-scroll{
  position:absolute;left:clamp(24px,6vw,90px);bottom:28px;
  font-size:8px;font-weight:850;letter-spacing:.18em;color:var(--muted);
  display:flex;align-items:center;gap:10px
}
.hero-scroll span{display:block;width:54px;height:1px;background:var(--line)}
.section{padding:clamp(80px,10vw,150px) clamp(24px,6vw,90px)}
.statement{
  background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:80px minmax(0,1.1fr) minmax(260px,.6fr);gap:clamp(28px,5vw,80px);align-items:end
}
.statement-index{font-family:Georgia,serif;color:var(--rose);font-size:32px}
.statement h2,.section-heading h2,.process-copy h2,.craft-copy h2,.business h2,.estimate h2{
  margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.04em;
  font-size:clamp(44px,5.5vw,78px);line-height:.98
}
.statement-text{color:var(--muted);line-height:1.7;margin:0;font-size:15px}
.section-heading{
  display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px
}
.section-heading>p{max-width:410px;color:var(--muted);line-height:1.7;font-size:14px;margin:0}
.work-grid{
  display:grid;grid-template-columns:1.22fr .78fr;gap:18px;align-items:start
}
.work-card{min-width:0}
.work-card:nth-child(2){margin-top:130px}
.media-button,.process-image,.detail-item{
  width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden
}
.work-card img,.work-card video{aspect-ratio:4/5;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.work-large img{aspect-ratio:4/5}
.media-button:hover img,.detail-item:hover img,.process-image:hover img{transform:scale(1.025)}
.work-meta{
  display:flex;justify-content:space-between;gap:20px;padding:16px 2px 42px;border-top:1px solid var(--line)
}
.work-meta>div{display:flex;gap:14px;align-items:baseline}
.work-number{font-size:9px;color:var(--rust);font-weight:850}
.work-meta h3{margin:0;font-family:Georgia,serif;font-size:22px;font-weight:500}
.work-meta p{margin:0;color:var(--muted);font-size:11px;line-height:1.55;max-width:250px;text-align:right}
.video-card{position:relative}
.video-chip{
  position:absolute;top:16px;left:16px;z-index:3;background:rgba(249,245,241,.9);backdrop-filter:blur(10px);
  border-radius:999px;padding:8px 11px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  display:flex;align-items:center;gap:7px
}
.video-chip span{width:6px;height:6px;border-radius:50%;background:var(--rust);box-shadow:0 0 0 4px rgba(169,87,66,.12)}
.process-feature{
  background:var(--dark);color:#f7eee8;
  display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,8vw,120px);align-items:center
}
.process-copy{max-width:540px}
.process-copy>p:not(.eyebrow){color:#cbbab2;line-height:1.75;font-size:15px}
.process-badge{
  width:max-content;margin-top:34px;border:1px solid rgba(255,255,255,.2);padding:14px 18px;border-radius:999px;
  display:flex;gap:14px;align-items:center
}
.process-badge span{font-size:10px;font-weight:850;letter-spacing:.14em}
.process-badge small{color:#cbbab2;border-left:1px solid rgba(255,255,255,.2);padding-left:14px}
.process-gallery{position:relative;min-height:680px}
.process-image{position:absolute;box-shadow:0 28px 90px rgba(0,0,0,.35)}
.process-image img{height:100%;object-fit:cover}
.process-a{right:0;top:0;width:56%;height:78%;z-index:2}
.process-b{left:0;bottom:0;width:47%;height:64%;z-index:3;transform:rotate(-3deg)}
.process-caption{
  position:absolute;right:3%;bottom:4%;width:42%;background:#f5eee8;color:var(--ink);padding:24px;z-index:5
}
.process-caption span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.18em;color:var(--rust)}
.process-caption p{font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.4;margin:10px 0 0}
.craft{padding-left:0;padding-right:0;background:var(--paper-2)}
.craft-strip{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  min-height:64px;display:flex;align-items:center;justify-content:space-around;gap:20px;
  overflow:hidden;white-space:nowrap;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.22em
}
.craft-strip i{font-style:normal;color:var(--rust)}
.craft-layout{
  padding:clamp(70px,9vw,135px) clamp(24px,6vw,90px) 0;
  display:grid;grid-template-columns:.8fr 1.05fr;gap:clamp(50px,9vw,130px);align-items:center
}
.craft-image{position:relative}
.craft-image img{aspect-ratio:4/5;object-fit:cover}
.vertical-note{
  position:absolute;right:-28px;top:50%;transform:rotate(90deg) translateX(50%);
  transform-origin:right center;font-size:8px;font-weight:850;letter-spacing:.22em;color:var(--muted)
}
.craft-copy{max-width:620px}
.craft-copy p:not(.eyebrow){max-width:540px;color:var(--muted);line-height:1.75;margin:26px 0 30px}
.business{
  background:var(--burgundy);color:#fff1ea;
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(60px,10vw,150px);align-items:end
}
.business-copy{max-width:700px}
.business-copy>p:not(.eyebrow){max-width:570px;color:#eed0c9;line-height:1.75;margin:28px 0 34px}
.light-button{background:#f8eee7;color:var(--burgundy)}
.business-list{border-top:1px solid rgba(255,255,255,.2)}
.business-list div{
  display:grid;grid-template-columns:50px 1fr;gap:20px;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.2);padding:23px 0
}
.business-list span{font-family:Georgia,serif;color:#e8a89b}
.business-list p{margin:0;font-family:Georgia,serif;font-size:22px}
.more-work{background:var(--paper)}
.detail-grid{
  display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:14px
}
.detail-item img{aspect-ratio:3/4;object-fit:cover;transition:transform .55s ease}
.detail-wide img{aspect-ratio:4/3}
.estimate{
  display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(55px,9vw,130px);background:var(--paper-2);border-top:1px solid var(--line)
}
.estimate-intro{position:sticky;top:130px;align-self:start}
.estimate-intro>p:not(.eyebrow){color:var(--muted);line-height:1.72;margin:28px 0}
.estimate-note{border-left:2px solid var(--rust);padding-left:18px;color:var(--muted);font-size:12px;line-height:1.6}
.inquiry-form{display:flex;flex-direction:column;gap:28px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
label{display:flex;flex-direction:column;gap:9px}
label span{font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{
  width:100%;border:0;border-bottom:1px solid rgba(36,28,25,.22);background:transparent;
  border-radius:0;padding:10px 2px 14px;color:var(--ink);outline:none
}
textarea{resize:vertical;min-height:145px}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--rust)}
input::placeholder,textarea::placeholder{color:#aa9b93}
.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:5px}
.form-bottom p{margin:0;max-width:430px;color:var(--muted);font-size:11px;line-height:1.55}
.submit-button{border:0}
.form-message{min-height:22px;font-size:12px;color:var(--rust);font-weight:700}
.footer{padding:70px clamp(24px,6vw,90px) 28px;background:#171210;color:#f8eee7}
.footer-main{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:45px}
.wordmark-footer{font-size:34px}
.footer-main p{margin:0;color:#bfaea7;font-family:Georgia,serif;font-style:italic}
.footer-links{display:flex;gap:28px;padding:28px 0;font-size:10px;text-transform:uppercase;letter-spacing:.14em}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;color:#9f8e87;font-size:8px;font-weight:800;letter-spacing:.18em}
.lightbox{
  width:min(92vw,1000px);max-height:92vh;border:0;padding:0;background:transparent;overflow:visible
}
.lightbox::backdrop{background:rgba(17,12,10,.88);backdrop-filter:blur(6px)}
.lightbox img{max-height:88vh;object-fit:contain}
.lightbox-close{
  position:absolute;right:-4px;top:-42px;border:0;background:none;color:white;font-size:34px;line-height:1;cursor:pointer
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){
  .hero{grid-template-columns:1fr;gap:65px;padding-top:130px}
  .hero-art{justify-self:center;min-height:570px}
  .statement{grid-template-columns:50px 1fr}.statement-text{grid-column:2}
  .process-feature,.business,.estimate{grid-template-columns:1fr}
  .process-gallery{min-height:720px}
  .business-list{max-width:700px}
  .estimate-intro{position:static}
}
@media(max-width:760px){
  .site-header{height:72px;padding:0 20px}
  .menu-button{display:block}
  .site-nav{
    position:absolute;top:72px;left:0;right:0;background:rgba(244,238,232,.98);border-bottom:1px solid var(--line);
    display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 20px;
    opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s ease
  }
  .site-nav.open{opacity:1;pointer-events:auto;transform:none}
  .site-nav a{padding:15px 0;border-bottom:1px solid var(--line)}
  .site-nav .nav-cta{margin-top:10px;text-align:center;border:1px solid var(--ink);padding:13px;border-radius:999px}
  .menu-button.active span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu-button.active span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
  .hero{padding:118px 20px 70px;min-height:auto}
  .hero h1{font-size:clamp(52px,16vw,78px)}
  .hero-art{min-height:500px}
  .hero-card-main{width:61%;right:5%;height:75%}
  .hero-card-small{width:38%;height:39%}
  .made-note{width:105px;height:105px;right:0;bottom:45px}
  .hero-scroll{display:none}
  .section{padding:78px 20px}
  .statement{grid-template-columns:1fr;gap:18px}
  .statement-index{font-size:20px}.statement-text{grid-column:auto}
  .section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:20px}
  .work-grid{grid-template-columns:1fr;gap:0}.work-card:nth-child(2){margin-top:0}
  .work-meta{display:block}.work-meta p{text-align:left;margin-top:10px}
  .process-gallery{min-height:560px}
  .process-a{width:63%;height:72%}.process-b{width:52%;height:56%}
  .process-caption{width:52%;right:0;padding:16px}
  .craft-layout{grid-template-columns:1fr;padding:70px 20px 0}.vertical-note{display:none}
  .business-list p{font-size:18px}
  .detail-grid{grid-template-columns:1fr 1fr}.detail-wide{grid-column:1/-1}
  .field-row{grid-template-columns:1fr;gap:28px}
  .form-bottom{align-items:flex-start;flex-direction:column}
  .footer-main{display:block}.footer-main p{margin-top:15px}
  .footer-links{flex-wrap:wrap}
}
@media(max-width:520px){
  .hero-art{min-height:420px}
  .made-note{display:none}
  .process-gallery{min-height:500px}
  .process-caption{width:60%}
  .detail-grid{grid-template-columns:1fr}.detail-wide{grid-column:auto}.detail-wide img{aspect-ratio:3/4}
  .footer-bottom{display:block}.footer-bottom span{display:block;margin:8px 0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}


/* Language switcher */
.language-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--rust);
  font-size:10px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  padding:10px 0;
  position:relative;
}
.language-toggle::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:5px;
  height:1px;
  background:currentColor;
  transform:scaleX(.45);
  transition:transform .2s ease;
}
.language-toggle:hover::after{transform:scaleX(1)}
.hero-scroll b{font:inherit}
.video-chip em{font-style:normal}
@media(max-width:760px){
  .language-toggle{
    width:100%;
    text-align:left;
    padding:15px 0;
    border-bottom:1px solid var(--line);
  }
  .language-toggle::after{display:none}
}
