:root{--ivory:#f7f4ee;--paper:#fffdf9;--ink:#292a29;--bronze:#a98762;--line:#d9d0c4;--soft:#716b63;--charcoal:#30312f}
html,body{background:var(--paper);color:var(--ink);font-family:"DM Sans","Avenir Next","Segoe UI",sans-serif;font-weight:300}
body{overflow-x:hidden}.container{max-width:1180px;padding-inline:34px}a{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}
.entry-splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--paper);transition:opacity .55s ease,visibility .55s ease}.entry-splash img{width:min(330px,62vw);height:auto}.entry-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.site-header{background:rgba(255,253,249,.95);border-bottom:1px solid var(--line);box-shadow:none}.nav{min-height:92px;padding:10px 0}.brand{gap:12px}.brand .logo{height:68px;width:96px;object-fit:contain;filter:none}.brand-wordmark{display:grid;align-self:center;gap:2px;line-height:1;color:var(--ink);white-space:nowrap;transform:translateY(3px)}.brand-wordmark strong{font:400 1.72rem/1 "Newsreader",Georgia,serif;letter-spacing:-.04em}.brand-wordmark small{font:500 .68rem/1.2 "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}.nav nav{gap:24px}.nav nav a{font-family:Georgia,serif;font-size:.95rem;letter-spacing:.02em}.btn-small,.nav .btn-small{border-radius:0;background:transparent;box-shadow:none}.nav .btn{background:var(--ink);border-color:var(--ink);color:white;padding:10px 15px}
.hero{padding:0;background:var(--paper);overflow:visible}.hero::before,.hero::after{display:none}.hero-inner{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;max-width:none}.hero-copy{max-width:none;padding:clamp(75px,10vw,148px) clamp(34px,7.2vw,112px);padding-left:max(34px,calc((100vw - 1180px)/2 + 34px));gap:22px;justify-content:center}.hero-kicker,.section-kicker{color:var(--bronze)!important;letter-spacing:.22em;text-transform:uppercase;font-size:.7rem!important;font-weight:600}.hero h1{color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.35rem,6.7vw,6.1rem);font-weight:400;letter-spacing:-.055em;line-height:.94;max-width:8ch}.hero p{color:var(--soft);font-size:1rem;line-height:1.75;max-width:33rem}.hero-ctas{align-items:center;margin-top:8px}.btn{border-radius:0;background:transparent;color:var(--ink);border-color:var(--bronze);box-shadow:none;padding:14px 21px;font-family:Georgia,serif}.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}.text-link{font-family:Georgia,serif;padding:12px 0;border-bottom:1px solid var(--bronze);margin-left:4px}.hero-visual{display:block}.hero-symbol-panel{width:100%;height:100%;min-height:650px;border:0;border-radius:0;padding:0;background:#dcd4c8;box-shadow:none;position:relative}.hero-symbol-panel img{height:100%;width:100%;object-fit:cover;filter:none;border-radius:0}.hero-photo figcaption{position:absolute;right:22px;bottom:20px;background:rgba(255,253,249,.94);padding:9px 13px;font-family:Georgia,serif;font-size:.9rem}
.work-intro{padding:110px 0;background:var(--ivory)}.section-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:25px;align-items:end;margin-bottom:42px}.section-heading .section-kicker{grid-column:1}.section-heading h2{grid-column:1;margin:0;font:400 clamp(2.8rem,5.2vw,4.6rem)/.98 Georgia,serif;letter-spacing:-.045em}.section-heading>p:last-child{grid-column:2;grid-row:2;margin:0;color:var(--soft);line-height:1.7;max-width:28rem}.category-feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.category-feature{min-height:280px;position:relative;overflow:hidden;background:#ddd3c6;color:#fff;display:block}.category-feature-large{grid-row:span 2;min-height:580px}.category-feature img{height:100%;width:100%;object-fit:cover;transition:transform .6s ease}.category-feature:hover img{transform:scale(1.03)}.category-feature::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(20,20,19,.72))}.category-feature span{position:absolute;z-index:1;left:20px;bottom:18px;display:grid;gap:4px;font:400 1.45rem Georgia,serif}.category-feature b{font:400 .78rem Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.section{padding:98px 0;background:var(--paper)}.section-muted{background:var(--ivory)}.section-accent{background:var(--ivory)}.section > .container > h2{font:400 clamp(2.65rem,5vw,4.3rem)/1 Georgia,serif;letter-spacing:-.04em;color:var(--ink)}.section > .container > p,.hint{color:var(--soft)!important}.services-grid{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}.service-card{display:grid;grid-template-columns:150px 1fr;padding:18px 0;border:0;border-radius:0;background:transparent;box-shadow:none;border-bottom:1px solid var(--line)}.service-card-media{width:130px;aspect-ratio:1;border-radius:0;box-shadow:none}.service-card-copy h3{font:400 1.55rem Georgia,serif}.service-card-tag{color:var(--bronze)!important;background:none!important;padding:0!important}.gallery-controls{gap:24px;border-bottom:1px solid var(--line);padding-bottom:10px}.filter-btn{border:0;border-radius:0;padding:6px 0;background:none;color:var(--soft);font-family:Georgia,serif}.filter-btn.active{color:var(--bronze);border-bottom:1px solid var(--bronze);background:none}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid figure{border-radius:0;background:transparent;box-shadow:none}.gallery-grid figcaption{font-family:Georgia,serif;color:var(--ink)}.gallery-media-frame{border-radius:0}.process{grid-template-columns:repeat(4,1fr);gap:22px}.process-card{border-radius:0;background:transparent;color:var(--ink);border-top:1px solid var(--line);padding:18px 0}.process-card-media{display:none}.process-card-copy strong{font:400 1.3rem Georgia,serif}.process-step-index{color:var(--bronze)}
.section#catalogs .section-kicker{color:#73543a!important}
.section#catalogs .resource-copy h2{color:#3b352f}
.form-shell{border-radius:0;box-shadow:none;border:1px solid var(--line);background:var(--paper)}.form-side{border-radius:0;background:linear-gradient(145deg,#f7f1e9,#fffdf9);border-color:var(--line);color:var(--ink)}.form-side .form-title{color:var(--ink)}.form-side .form-copy{color:var(--soft)}.form-side .form-point{background:rgba(255,253,249,.84);border-color:var(--line);box-shadow:none}.form-side .form-point strong{color:var(--ink)}.form-side .form-point span{color:var(--soft)}.form-main{background:var(--paper)}.field input,.field select,.field textarea{border-radius:0;background:transparent;border-color:var(--line)}.site-footer{background:var(--charcoal);border:0}.site-footer,.site-footer a{color:#f7f4ee}
.badge{background:var(--paper);border:1px solid var(--line);box-shadow:none}.badge figcaption{color:var(--bronze)}
.hero h1,.section-heading h2,.section > .container > h2,.service-card-copy h3,.process-card-copy strong,.resource-copy h2,.form-title,.form-section-head h3,.catalog-info h3,.gallery-lightbox-copy h3{font-family:"Newsreader",Georgia,"Times New Roman",serif;font-weight:300;letter-spacing:-.03em}.nav nav a,.btn,.text-link,.category-feature span,.filter-btn,.gallery-grid figcaption{font-family:"Newsreader",Georgia,serif;font-weight:400}.section > .container > p,.about-grid p,.service-card-copy p,.process-card-copy span,.form-copy,.field-help,.hint{font-weight:300}.hero-kicker,.section-kicker,.service-card-tag,.form-kicker,.form-section-kicker,.field-label{font-family:"DM Sans",sans-serif;font-weight:500}
.category-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.category-feature,.category-feature-large{grid-row:auto;min-height:0;aspect-ratio:4/3}.category-feature span{left:14px;bottom:13px;font-size:1.18rem}.category-feature b{font-size:.68rem}.category-feature::after{inset:45% 0 0;background:linear-gradient(transparent,rgba(20,20,19,.64))}
.service-card{grid-template-columns:90px 1fr;gap:20px;align-items:center;padding:30px 18px 30px 0;min-height:0}.service-illustration{width:68px;height:68px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--bronze)}.service-illustration svg{width:42px;height:42px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.service-card-copy{padding:0;gap:6px}.service-card-copy p{max-width:30rem}
@media (max-width:800px){.container{padding-inline:22px}.nav{min-height:76px}.brand{gap:8px}.brand .logo{height:52px;width:73px}.brand .brand-wordmark{display:grid}.brand-wordmark strong{font-size:1.38rem}.brand-wordmark small{font-size:.58rem}.menu-toggle{background:transparent;border:0;box-shadow:none}.nav nav{background:var(--paper);border-bottom:1px solid var(--line)}.hero-inner{grid-template-columns:1fr}.hero-copy{padding:76px 22px 58px}.hero-symbol-panel{min-height:430px}.work-intro,.section{padding:70px 0}.section-heading{display:block}.section-heading h2{margin:15px 0 22px}.category-feature-grid{grid-template-columns:1fr;gap:14px}.category-feature,.category-feature-large{min-height:280px}.services-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:1fr 1fr}.form-shell{grid-template-columns:1fr}.form-side{padding:28px}.gallery-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;overflow:visible;padding:8px 0 14px}.gallery-controls .filter-btn{min-height:34px;padding:4px 0;text-align:center;line-height:1.15;white-space:normal;scroll-snap-align:none}}
@media (max-width:800px){.service-card{grid-template-columns:76px 1fr;padding:23px 0;gap:14px}.service-illustration{width:58px;height:58px}.service-illustration svg{width:35px;height:35px}}
@media (max-width:1000px){.category-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:800px){.category-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-feature,.category-feature-large{min-height:0;aspect-ratio:1/1}.category-feature span{left:11px;bottom:10px;font-size:1.02rem}.category-feature b{font-size:.62rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entry-splash{display:none}.category-feature img{transition:none}}

/* Subtle NL watermark — visual bridge between editorial sections. */
.work-intro,
#services,
#process{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.work-intro > .container,
#services > .container,
#process > .container{
  position:relative;
  z-index:1;
}
.work-intro::before,
#services::after,
#process::before{
  content:"";
  position:absolute;
  width:clamp(430px,53vw,790px);
  aspect-ratio:1.42/1;
  background:url("brand-kit/no-limit-carpentry-nl-monogram.png") center/contain no-repeat;
  filter:grayscale(1);
  opacity:.045;
  pointer-events:none;
  z-index:0;
}
.work-intro::before{
  top:50%;
  right:-8%;
  transform:translateY(-50%);
}
#services::after{
  left:-7%;
  top:18%;
}
#process::before{
  top:5%;
  right:-9%;
}
@media (max-width:800px){
  .work-intro::before,
  #services::after,
  #process::before{
    width:620px;
    opacity:.038;
  }
  .work-intro::before{right:-46%}
  #services::after{left:-48%;top:24%}
  #process::before{right:-48%;top:18%}
}

/* Catalog library — same editorial system as the homepage. */
.catalog-library-page{background:var(--paper);color:var(--ink)}
.catalog-library-page .library-hero{padding:clamp(72px,10vw,132px) 0 54px;background:var(--ivory);border-bottom:1px solid var(--line)}
.catalog-library-page .library-hero-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.62fr);gap:clamp(32px,6vw,82px);align-items:end}
.catalog-library-page .library-hero-copy h1{max-width:11ch;margin:12px 0 20px;font:300 clamp(3rem,5.6vw,5.3rem)/.95 "Newsreader",Georgia,serif;letter-spacing:-.05em;color:var(--ink)}
.catalog-library-page .library-hero-copy .hint{max-width:48rem;color:var(--soft)!important;line-height:1.75}
.catalog-library-page .library-search-card{min-width:0;padding:24px 0 0;border:0;border-top:1px solid var(--bronze);border-radius:0;background:transparent;box-shadow:none}
.catalog-library-page .library-search-card label{color:var(--bronze);font:500 .7rem/1.3 "DM Sans",sans-serif;letter-spacing:.2em}
.catalog-library-page .library-search-card input{min-height:48px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;font:300 1.05rem/1.4 "DM Sans",sans-serif;color:var(--ink)}
.catalog-library-page .library-search-card input:focus{outline:2px solid color-mix(in srgb,var(--bronze) 60%,transparent);outline-offset:5px}
.catalog-library-page .library-search-card p{color:var(--soft);font:300 .82rem/1.5 "DM Sans",sans-serif}
.catalog-library-page .section{padding:82px 0;background:var(--paper)}
.catalog-library-page .library-groups{gap:58px;padding-bottom:0}
.catalog-library-page .catalog-group{gap:21px}
.catalog-library-page .catalog-group-head{padding-bottom:17px;border-bottom:1px solid var(--line)}
.catalog-library-page .catalog-group-head h2{margin:0 0 7px;font:300 clamp(2rem,3.7vw,3.25rem)/1 "Newsreader",Georgia,serif;letter-spacing:-.04em;color:var(--ink)}
.catalog-library-page .catalog-group-head p{color:var(--soft);font-weight:300;line-height:1.6}
.catalog-library-page .catalog-group-total{padding:0;border-radius:0;background:transparent;color:var(--bronze);font:500 .72rem/1 "DM Sans",sans-serif;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.catalog-library-page .catalog-doc-grid{gap:0;border-top:1px solid var(--line)}
.catalog-library-page .catalog-doc-card{gap:17px;padding:25px 28px 27px 0;border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;box-shadow:none}
.catalog-library-page .catalog-doc-card:nth-child(even){padding-left:28px;padding-right:0;border-left:1px solid var(--line)}
.catalog-library-page .catalog-doc-card h3{font:300 1.45rem/1.15 "Newsreader",Georgia,serif;color:var(--ink)}
.catalog-library-page .catalog-doc-type{padding:0;border-radius:0;background:transparent;color:var(--bronze);font:500 .65rem/1.3 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.catalog-library-page .catalog-doc-card p{color:var(--soft);font-weight:300;line-height:1.65}
.catalog-library-page .catalog-doc-actions{gap:17px}.catalog-library-page .catalog-doc-actions .btn{padding:8px 0;border:0;border-bottom:1px solid var(--bronze);font-size:.95rem}.catalog-library-page .catalog-doc-actions .btn:hover{background:transparent;color:var(--bronze)}
@media (max-width:800px){.catalog-library-page .library-hero{padding:74px 0 44px}.catalog-library-page .library-hero-shell{grid-template-columns:1fr;gap:32px}.catalog-library-page .library-hero-copy h1{font-size:clamp(2.85rem,13vw,4.35rem)}.catalog-library-page .section{padding:58px 0}.catalog-library-page .library-groups{gap:45px}.catalog-library-page .catalog-group-head{align-items:flex-start}.catalog-library-page .catalog-group-total{margin-top:6px}.catalog-library-page .catalog-doc-grid{grid-template-columns:1fr}.catalog-library-page .catalog-doc-card,.catalog-library-page .catalog-doc-card:nth-child(even){padding:23px 0;border-left:0}.catalog-library-page .catalog-doc-card h3{font-size:1.35rem}}
@media (max-width:800px){#catalogs .resource-shell{grid-template-columns:1fr;gap:20px}#catalogs .resource-aside{min-height:0}#catalogs .catalog-preview-grid{grid-template-columns:1fr;gap:14px}#catalogs .catalog-preview-card{min-width:0;padding:20px 0;border-radius:0;border-top:1px solid var(--line);box-shadow:none;background:transparent}#catalogs .catalog-preview-brand{min-width:0}#catalogs .catalog-preview-text{overflow-wrap:anywhere}#catalogs .catalog-preview-links{gap:9px}#catalogs .catalog-preview-links a{overflow-wrap:anywhere}}

/* Photo harmony layer for a consistent editorial palette across the site. */
.hero-symbol-panel img,
.category-feature img,
.gallery-media-frame img,
.gallery-lightbox-stage img,
.process-card-media img,
.service-card-media img,
.viewer-main > img{
  filter:brightness(var(--photo-brightness,1.04)) contrast(.92) saturate(var(--photo-saturation,.74)) sepia(.04);
  transition:filter .28s ease,transform .6s ease;
}

/* Hero photos always fill the presentation frame, regardless of orientation. */
.hero-visual,
.hero-photo{
  min-width:0;
  align-self:stretch;
}
.hero-symbol-panel{
  overflow:hidden;
  background:var(--ivory);
}
.hero-symbol-panel img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.012);
}
.hero-photo figcaption{
  z-index:2;
}
