/* LOCAL FONTS */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/font-1.ttf') format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/font-2.ttf') format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/font-3.ttf') format('truetype');
}
@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/font-4.ttf') format('truetype');
}
:root{--ink:#172c2c;--paper:#f4f3ef;--muted:#626c68;--line:#cbd0c7;--accent:#bdd0a7;--serif:'Italiana',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}h2{font-size:clamp(2.8rem,5.2vw,5.3rem);margin-bottom:30px}h3{font-weight:500}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}p{max-width:55ch}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a9be8b;outline-offset:7px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:15px}.header{position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:28px 5%;color:#fff;border-bottom:1px solid #ffffff35}.brand{font-family:var(--serif);font-size:1.75rem;line-height:1;letter-spacing:.025em;white-space:nowrap}.brand span{font-family:Georgia,serif;font-style:italic;font-size:1.25rem}.brand small{display:block;font:10px 'DM Sans',sans-serif;letter-spacing:.65em;margin-top:12px;text-align:center}nav{display:flex;align-items:center;gap:35px;font-size:14px}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:currentColor;transition:width .3s}nav a:hover:after{width:100%}.nav-contact{border:1px solid #ffffff65;padding:11px 23px}.menu-toggle{display:none}.hero{min-height:780px;height:100svh;max-height:1200px;position:relative;color:white;overflow:hidden}.hero-image{height:100%;position:absolute;object-position:center 52%;transform:scale(1.04)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c2529a8,#14252620),linear-gradient(0deg,#0c202ae0,transparent 65%)}.hero-content{position:relative;padding:220px 7% 80px;z-index:2}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:500;margin-bottom:32px}.hero h1{font-size:clamp(4.4rem,7.7vw,8.5rem);max-width:900px;margin:0 0 38px}.hero h1 em{color:#e1e6cf}.hero-bottom{display:flex;align-items:center;gap:85px}.hero-bottom p{font-size:16px;color:#edf0e9;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 28px;border:1px solid var(--ink);font-size:14px;transition:background .3s,color .3s,transform .3s}.button:hover{background:var(--ink);color:white;transform:translateY(-2px)}.button.light{border-color:#f4f3ef;color:#fff}.button.light:hover{background:#f4f3ef;color:var(--ink)}.hero-caption{position:absolute;bottom:35px;right:5%;display:flex;gap:55px;font-size:11px;letter-spacing:.1em}.scroll-note{position:absolute;bottom:35px;left:7%;font-size:12px;display:flex;gap:20px;align-items:center}.scroll-line{width:65px;height:1px;background:#ffffff60;position:relative}.scroll-line:after{content:'';position:absolute;height:1px;width:25px;background:white;animation:travel 3s ease-in-out infinite}@keyframes travel{50%{transform:translateX(40px)}}.section{padding:115px 7%}.intro{padding-bottom:50px}.intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:10%}.intro-copy{padding-top:12px}.intro-copy p:first-child{font-size:21px;line-height:1.5}.intro-copy p{color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:8px 0;font-size:14px}.principles{display:flex;justify-content:space-between;gap:20px;margin-top:70px;border-top:1px solid var(--line);padding-top:30px;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-heading p:last-child{font-size:14px;color:var(--muted);margin-bottom:32px}.section-heading .eyebrow{margin-bottom:25px}.section-heading h2{margin-bottom:0}.projects{display:grid;grid-template-columns:1fr 1fr;gap:80px 45px}.project-wide{grid-column:1/-1}.project-image{position:relative;overflow:hidden;background:#dae0d8;aspect-ratio:1.22}.project-wide .project-image{aspect-ratio:2.1}.project-image img{height:100%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.project:hover img{transform:scale(1.045)}.project-view{position:absolute;bottom:30px;right:30px;background:var(--paper);padding:13px 20px;font-size:13px;opacity:0;transform:translateY(8px);transition:.3s}.project:hover .project-view,.project:focus-visible .project-view{opacity:1;transform:none}.project-label{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:22px}.project-label h3{font-family:var(--serif);font-size:2rem;margin:0}.project-label>span:not(.project-number){font-size:13px;color:var(--muted);grid-row:2;margin-top:7px}.project-number{grid-column:2;grid-row:1/3;font-family:var(--serif);font-size:2rem;color:#879286}.project-offset{padding-top:85px}.craft{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#edf0e7}.craft-photo{overflow:hidden;min-height:800px}.craft-photo img{height:100%;object-position:55%}.craft-content{padding:85px 12%}.craft h2{font-size:clamp(2.6rem,3.8vw,4.4rem)}.craft-content>p:not(.eyebrow){color:#b9c6bf;font-size:16px}.craft-line{display:flex;gap:25px;border-top:1px solid #ffffff25;padding:25px 0 5px}.craft-line>span{font-size:12px;color:var(--accent);padding-top:4px}.craft-line h3{font-size:17px;margin-bottom:7px}.craft-line p{color:#b9c6bf;font-size:14px}.process-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.large-number{font-family:var(--serif);font-size:12rem;line-height:1;color:#b7c4b5;transition:opacity .3s}.process-statement p{font-size:19px}.steps details{border-top:1px solid var(--line)}.steps details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;gap:26px;align-items:center;padding:25px 0;font-size:20px}summary::-webkit-details-marker{display:none}summary>span:first-child{font-size:12px;color:var(--muted)}.plus{margin-left:auto;font-size:25px;font-weight:400;transition:transform .3s}details[open] .plus{transform:rotate(45deg)}details p{padding-left:45px;padding-right:30px;color:var(--muted);font-size:15px;margin-bottom:30px}.contact-band{padding:105px 7%;background:#b9c9ad;position:relative;overflow:hidden}.contact-band h2{font-size:clamp(4rem,8vw,8rem);position:relative}.contact-band-bottom{display:flex;justify-content:space-between;align-items:end}.contact-band-bottom p{margin:0}.contact-band .button.light{color:var(--ink);border-color:var(--ink)}.contact-band .button:hover{background:var(--ink);color:white}footer{background:#122626;color:#c8d0c6;padding:65px 7% 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:55px}.footer-top p{font-size:14px}.footer-top>div:last-child a{display:block;font-size:14px;margin-bottom:7px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;padding-top:25px;font-size:12px;gap:20px}.motion-toggle{color:inherit;background:transparent;border:0;border-bottom:1px solid #ffffff55;padding:3px 0;font-size:12px}.reveal{opacity:1;transform:none}.motion-enabled .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.65,.2,1)}.motion-enabled .reveal.visible{opacity:1;transform:none}.inner-page .header{position:relative;color:var(--ink);border-color:var(--line)}.inner-page .nav-contact{border-color:var(--ink)}.page-title{padding:85px 7% 60px}.page-title h1{font-size:clamp(4rem,7.2vw,7rem);margin-bottom:30px;max-width:1000px}.page-title>p:last-child{font-size:20px;color:var(--muted)}.full-photo{height:65vw;max-height:760px;min-height:320px;overflow:hidden}.full-photo img{height:100%}.story{display:grid;grid-template-columns:.7fr 1.3fr;gap:13%}.story h2{font-size:3.5rem}.story p{color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin:0 7%;gap:25px}.facts strong{font-family:var(--serif);display:block;font-size:2rem;font-weight:400}.facts span{font-size:13px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery img{height:480px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding:20px 7% 100px}.contact-details a{display:block;margin:15px 0;text-decoration:underline;text-underline-offset:6px}.contact-details p{color:var(--muted)}form{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:flex;flex-direction:column;gap:8px;font-size:14px}.full{grid-column:1/-1}input,textarea,select{width:100%;padding:13px 0;background:transparent;border:0;border-bottom:1px solid #839187;color:var(--ink);border-radius:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--ink);outline-offset:5px}textarea{min-height:120px;resize:vertical}form .button{background:var(--ink);color:white;justify-self:start}form small{font-size:13px;color:var(--muted)}.form-status{padding:15px;border:1px solid var(--line);font-size:14px}.back-link{display:inline-block;font-size:13px;border-bottom:1px solid var(--line);margin-bottom:30px}.next-project{padding:55px 7%;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-family:var(--serif);font-size:2.2rem}.no-motion *, .no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.no-motion .reveal{opacity:1!important;transform:none!important}
@media(min-width:1600px){.section,.page-title,.contact-layout{padding-left:max(7%,calc((100vw - 1450px)/2));padding-right:max(7%,calc((100vw - 1450px)/2))}}@media(max-width:900px){.header{padding:24px 5%}.menu-toggle{display:flex;gap:20px;background:transparent;border:0;color:inherit;padding:10px;font-size:14px}.menu-toggle span{font-size:22px;line-height:1}.header nav{display:none;position:absolute;top:99%;left:0;right:0;background:var(--ink);color:white;padding:30px 7%;flex-direction:column;align-items:start;gap:25px}.header nav.open{display:flex}.inner-page nav .nav-contact{border-color:white}.hero{min-height:760px}.hero-content{padding-top:200px}.hero-bottom{gap:35px;align-items:start;flex-direction:column}.hero-caption{gap:20px;font-size:10px}.intro-grid{grid-template-columns:1fr;gap:20px}.intro-copy{max-width:600px}.section{padding:80px 7%}.craft{grid-template-columns:1fr}.craft-photo{min-height:0;height:550px}.craft-content{padding:70px 7%}.section-heading{gap:30px}.process-layout{gap:5%;grid-template-columns:.7fr 1.3fr}.large-number{font-size:9rem}.contact-layout{gap:7%}.story{gap:8%}.gallery img{height:350px}}@media(max-width:600px){.brand{font-size:1.4rem}.brand small{font-size:9px}.hero{height:100svh;min-height:750px}.hero-content{padding:185px 7% 90px}.hero h1{font-size:4.3rem;line-height:1.06}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero-bottom p{font-size:14px}.hero-caption{bottom:24px;left:7%;right:7%;justify-content:space-between}.scroll-note{display:none}.section{padding:70px 7%}.intro h2{font-size:3rem}.intro-copy p:first-child{font-size:19px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;font-size:10px}.section-heading{display:block;margin-bottom:35px}.section-heading>p:last-child{margin-top:25px}.projects{display:block}.project{display:block;margin-bottom:45px}.project-wide .project-image,.project-image{aspect-ratio:1.1}.project-offset{padding-top:0}.project-label h3{font-size:1.8rem}.project-view{opacity:1;transform:none;bottom:15px;right:15px;font-size:12px;padding:9px 14px}.craft-photo{height:400px}.craft-content{padding:55px 7%}.process-layout{display:block}.process-statement{display:none}summary{font-size:17px;gap:18px}details p{padding-left:33px;padding-right:0}.contact-band{padding:70px 7%}.contact-band h2{font-size:4rem}.contact-band-bottom{display:block}.contact-band-bottom p{margin-bottom:30px}.footer-top{flex-direction:column;padding-bottom:25px}.footer-bottom{align-items:start;flex-direction:column;gap:12px}.page-title{padding-top:60px}.page-title h1{font-size:3.6rem}.page-title>p:last-child{font-size:18px}.story{display:block}.story h2{font-size:2.8rem}.facts{grid-template-columns:1fr 1fr}.gallery{display:block}.gallery img{height:330px;margin-bottom:25px}.contact-layout{display:block;padding-bottom:70px}.contact-details{margin-bottom:50px}form{grid-template-columns:1fr}form label{grid-column:1/-1}.next-project{font-size:1.6rem;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-enabled .reveal{opacity:1;transform:none}}
.motion-enabled .hero-content .eyebrow{animation:hero-in 1.2s .1s both}.motion-enabled .hero h1{animation:hero-in 1.4s .25s both}.motion-enabled .hero-bottom{animation:hero-in 1.4s .5s both}.motion-enabled .hero-image{animation:photo-in 2s cubic-bezier(.2,.65,.2,1) both}.motion-enabled .project.reveal{transform:translateY(45px);transition-duration:1.15s}.motion-enabled .project.reveal.visible{transform:none}.motion-enabled .project-offset.reveal{transition-delay:.12s}@keyframes hero-in{from{opacity:0;transform:translateY(30px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes photo-in{from{filter:brightness(.75);scale:1.05}to{filter:brightness(1);scale:1}}.no-motion .hero-content *{animation:none!important;filter:none!important}@media(prefers-reduced-motion:reduce){.motion-enabled .hero-content *{animation:none!important;filter:none!important}}

