:root{
  --paper:#f1eee8;
  --paper-2:#e9e3da;
  --ink:#312b27;
  --muted:#756a61;
  --line:#c8bdb2;
  --brick:#8A5A46;
  --brown:#5A3E31;
  --white:#fbfaf7;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
img{display:block;width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
.site-header{height:130px;padding:0 clamp(20px,5vw,64px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:rgba(241,238,232,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(49,43,39,.09)}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:320px}
.brand-mark{width:120px;height:120px;flex:0 0 auto;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.18em;line-height:1.35;font-family:var(--serif);font-size:14px}
.brand-copy strong{font-weight:500}.brand-copy small{font-size:22px}
.main-nav{display:flex;gap:34px;align-items:center}
.main-nav a{text-transform:uppercase;text-decoration:none;font-size:11px;letter-spacing:.16em;position:relative}
.main-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:.25s}.main-nav a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink);margin:6px}
.hero{min-height:620px;position:relative;display:grid;align-items:center;overflow:hidden;background:#44352c}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,20,17,.78) 0%,rgba(26,20,17,.42) 38%,rgba(26,20,17,.05) 68%,rgba(26,20,17,.4) 100%)}
.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 80px));margin:auto;color:#fff;padding:80px 0}.hero h1{font:400 clamp(64px,8vw,112px)/.86 var(--serif);margin:24px 0 34px;letter-spacing:-.025em;max-width:780px}.hero-side{position:absolute;z-index:2;right:5vw;bottom:55px;color:#fff;text-transform:uppercase;letter-spacing:.16em;font:500 12px/1.5 var(--serif)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;margin:0 0 16px}.light{color:rgba(255,255,255,.88)}
.text-link{display:inline-flex;align-items:center;gap:16px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link:after{content:"→"}.text-link.light{color:#fff}
.section{width:min(var(--max),calc(100% - 48px));margin:0 auto;padding:110px 0}
.atelier{display:grid;grid-template-columns:1.15fr 1.2fr 1.15fr;gap:46px;align-items:center}.atelier-photo img{aspect-ratio:1/1;object-fit:cover;filter:grayscale(1)}.atelier-copy{padding:0 24px}.atelier-copy h2,.section-heading h2,.contact h2{font:500 clamp(42px,5vw,66px)/.98 var(--serif);letter-spacing:-.02em;margin:0 0 26px}.atelier-copy p{max-width:620px;color:#4e453e}.atelier-detail{position:relative;margin:0}.atelier-detail img{aspect-ratio:1/1;object-fit:cover}.atelier-detail:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,17,14,.52),transparent 62%)}.atelier-detail figcaption{position:absolute;z-index:2;left:40px;bottom:35px;color:#fff;font:italic 400 clamp(32px,3vw,48px)/.88 var(--serif)}
.services{border-top:1px solid var(--line)}.section-heading{max-width:900px}.service-list{margin-top:60px;border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid var(--line);padding:28px 0;gap:20px}.service>span{font:400 28px var(--serif);color:var(--muted)}.service h3{font:500 32px/1.1 var(--serif);margin:0 0 6px}.service p{margin:0;color:var(--muted);max-width:700px}
.projects{padding-top:60px}.project-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;max-width:none}.project-intro{max-width:430px;color:var(--muted);font-size:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.project-card{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:inherit}.project-card img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.82);transition:transform .35s ease,filter .35s ease}.project-card:hover img{transform:translateY(-5px);filter:saturate(1)}.project-card span{display:flex;flex-direction:column;margin-top:14px}.project-card strong{text-transform:uppercase;letter-spacing:.12em;font:600 11px var(--serif)}.project-card small{color:var(--muted);font-family:var(--serif);font-size:15px}
.approach{background:var(--brown);color:#fff;position:relative;overflow:hidden}.approach:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.06),transparent 22%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.04),transparent 28%)}.approach-inner{position:relative;width:min(1000px,calc(100% - 48px));margin:auto;padding:120px 0;text-align:center}.approach blockquote{font:italic 400 clamp(52px,7vw,86px)/.95 var(--serif);margin:20px 0 35px}.approach p:last-child{max-width:650px;margin:auto;color:rgba(255,255,255,.72)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-copy address{font-style:normal;display:flex;flex-direction:column;gap:5px;margin-top:28px}.contact-copy address a{text-decoration:none;font:500 26px var(--serif)}.contact-copy address span{color:var(--muted)}.contact-form{display:grid;gap:18px;background:var(--paper-2);padding:38px}.contact-form label{display:grid;gap:7px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #a89d93;background:transparent;padding:10px 0;color:var(--ink);outline:none;border-radius:0}.contact-form textarea{resize:vertical}.contact-form button{justify-self:start;background:var(--brick);color:#fff;border:0;padding:14px 24px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;cursor:pointer}.contact-form small{color:var(--muted)}.hidden{display:none}
footer{background:#4E3428;color:#efeae3;padding:55px clamp(24px,5vw,70px);display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end}.footer-brand{display:flex;gap:18px;align-items:center;text-transform:uppercase;letter-spacing:.14em;font:500 11px/1.45 var(--serif)}.footer-brand .brand-mark{width:58px;height:58px}.footer-links{display:flex;gap:24px}.footer-links a{text-transform:uppercase;text-decoration:none;font-size:10px;letter-spacing:.15em}footer>p{grid-column:1/-1;margin:0;color:#8e847c;font-size:11px}
.lightbox{position:fixed;inset:0;background:rgba(18,14,12,.94);z-index:100;display:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:50px}.lightbox.open{display:grid}.lightbox-content{justify-self:center;min-width:0}.lightbox img{max-height:78vh;max-width:min(1000px,75vw);width:auto;margin:auto}.lightbox-caption{display:flex;justify-content:space-between;align-items:baseline;gap:24px;color:#fff}.lightbox p{font:400 28px var(--serif);margin:15px 0 0}.lightbox-counter{font-size:11px;letter-spacing:.16em;white-space:nowrap}.lightbox-close,.lightbox-nav{background:none;border:0;color:#fff;cursor:pointer}.lightbox-close{position:absolute;right:28px;top:20px;font-size:46px}.lightbox-nav{font:300 64px/1 var(--serif);padding:20px}.lightbox button:focus-visible{outline:1px solid #fff;outline-offset:4px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:980px){
  .site-header{height:76px}.brand{min-width:0}.brand-mark{width:52px;height:52px}.brand-copy{font-size:11px}.brand-copy small{font-size:12px}.menu-toggle{display:block;z-index:3}.main-nav{position:fixed;inset:76px 0 auto 0;background:var(--paper);padding:24px;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{min-height:560px}.hero-content{width:calc(100% - 48px)}.hero-side{display:none}.atelier{grid-template-columns:1fr 1fr}.atelier-detail{grid-column:1/-1;max-width:620px;margin:auto}.project-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr}.project-heading{align-items:start;flex-direction:column}.project-intro{max-width:700px}
}
@media (max-width:640px){
  .site-header{padding:0 18px}.brand{gap:11px}.brand-copy{font-size:12px;letter-spacing:.12em;line-height:1.3}.brand-copy small{font-size:10px}.section{width:calc(100% - 36px);padding:76px 0}.hero{min-height:600px}.hero-content{width:calc(100% - 36px);padding-top:130px}.hero h1{font-size:68px}.atelier{grid-template-columns:1fr;gap:28px}.atelier-copy{padding:0}.atelier-detail{grid-column:auto}.project-grid{grid-template-columns:1fr}.project-card img{aspect-ratio:5/4}.service{grid-template-columns:48px 1fr}.contact-form{padding:24px}.footer-links{flex-direction:column;gap:10px}footer{grid-template-columns:1fr}.footer-links{align-items:flex-start}.footer-brand .brand-mark{width:58px;height:58px}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px;gap:0;padding:50px 6px}.lightbox img{max-width:calc(100vw - 100px);max-height:72vh}.lightbox-nav{font-size:50px;padding:10px}.lightbox p{font-size:22px}.lightbox-close{right:18px;top:10px}
}

@media (max-width:380px){
  .site-header{padding:0 14px}.brand{gap:9px}.brand-mark{width:52px;height:52px}.brand-copy{font-size:10px;letter-spacing:.07em}.brand-copy small{font-size:9px}.menu-toggle{padding:10px 0}
}/* CENTRATURA VIDEO LIGHTBOX */
.lightbox.open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.lightbox-content {
  width: min(90vw, 1000px) !important;
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lightbox-content iframe {
  display: block !important;
  width: 100% !important;
  max-width: 1000px !important;
  aspect-ratio: 16 / 9;
  border: 0;
  margin: 0 auto !important;
}
