:root{--ink:#19364a;--blue:#315b70;--paper:#f7f6f0;--line:#c6ced0;--mist:#e9eff0;--sand:#ede8dd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:20px/1.6 'Source Sans 3',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:400;letter-spacing:-.04em;line-height:1.12}h2{font-size:clamp(40px,4.2vw,62px)}h3{font-size:30px}p{max-width:62ch}.wrap{width:88%;max-width:1320px;margin:auto}.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;line-height:1.6;margin-bottom:22px}.header{display:flex;justify-content:space-between;align-items:center;padding:20px 4%;background:var(--paper);gap:35px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px;font:500 34px/1.1 Lora,Georgia,serif;letter-spacing:-.04em}.brand img{width:57px;height:57px;object-fit:contain;mix-blend-mode:multiply}.brand small{display:block;font:500 11px/1.4 'Source Sans 3',sans-serif;text-transform:uppercase;letter-spacing:.1em;margin-top:7px}.header nav{display:flex;align-items:center;gap:30px;font-size:17px}.header nav>a:hover{text-decoration:underline;text-underline-offset:6px}.nav-phone{padding-left:25px;border-left:1px solid var(--line)}.nav-phone span{margin-left:15px}.menu{display:none}.hero{display:grid;grid-template-columns:29% 42% 29%;max-width:1800px;margin:auto}.hero-photo{position:relative;min-height:640px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo.first img{object-position:center 45%}.hero-photo.last img{object-position:center 36%}.hero-photo figcaption{position:absolute;bottom:18px;left:18px;right:18px;padding:11px 15px;background:#f7f6f0e8;text-align:center;font-size:15px}.hero-copy{padding:58px 8% 45px;text-align:center;background:var(--mist);display:flex;flex-direction:column;align-items:center;justify-content:center}.hero h1{font-size:clamp(53px,5.3vw,83px);line-height:1.06}.hero h1 em{font-weight:400}.hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.5;max-width:330px;margin:28px auto}.hero-copy .eyebrow{font-size:12px;max-width:270px;letter-spacing:.13em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:18px;padding:16px 23px;background:var(--ink);border:1px solid var(--ink);color:white;line-height:1.4}.button:hover{background:var(--blue)}.button span{font-size:24px}.location{font-size:14px;line-height:1.5;margin-top:22px;max-width:240px}.craft{display:grid;grid-template-columns:1fr 1fr;gap:40px 9%;padding-top:105px;padding-bottom:95px}.craft-intro{padding-top:35px}.text-link{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid currentColor;padding:8px 0;font-size:18px;line-height:1.5}.craft-intro .text-link{margin-top:25px}.service-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:25px}.service-grid article{border-top:1px solid var(--line);padding-top:25px}.number{font-size:14px;display:block;margin-bottom:22px;color:var(--blue)}.service-grid h3{font-size:28px;margin-bottom:19px}.service-grid p{font-size:19px;line-height:1.6}.work{padding:85px 0 95px;background:white}.work-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:45px}.work-heading>p{max-width:365px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.work-grid button,.detail-pair>button{padding:0;border:0;background:none;width:100%;position:relative;display:block;text-align:left}.work-grid img{width:100%;height:420px;object-fit:cover}.work-grid figure:nth-child(1) img{object-position:center 30%}.work-grid figcaption{padding:22px 0}.work-grid figcaption>span{font-size:13px;letter-spacing:.13em;text-transform:uppercase}.work-grid h3{font-size:25px;margin-top:10px;line-height:1.2}.zoom{position:absolute;right:14px;bottom:14px;background:#ffffffed;width:42px;height:42px;display:grid;place-items:center;font-size:25px}.work button:hover img{filter:brightness(.95)}.detail-pair{margin-top:65px;padding-top:55px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}.detail-pair img{width:100%;height:300px;object-fit:cover}.detail-pair h3{font-size:43px}.detail-pair p:not(.eyebrow){font-size:19px;margin:22px 0}.story{background:var(--ink);color:var(--paper);padding:90px 0}.story :focus-visible{outline-color:var(--paper)}.story-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}.story-mark{text-align:center;border:1px solid #49616e;padding:45px 25px}.story-mark img{width:210px;margin:auto;filter:brightness(0) invert(1);opacity:.8}.story-mark>p{font:50px Lora,Georgia,serif;margin:18px 0 8px}.story-mark>span{font-size:15px;letter-spacing:.04em}.story h2{font-size:48px;margin-bottom:30px}.story-copy>p:not(.eyebrow){font-size:19px;color:#dce3e4;margin-top:22px}.story-copy .text-link{margin-top:25px}.begin{padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.begin h2{margin-bottom:28px}.begin>div>p:not(.eyebrow){margin-bottom:28px}.call{display:block;width:max-content;max-width:100%;font-size:20px;text-decoration:underline;text-underline-offset:5px;margin:22px 0 15px}.form-note{font-size:14px}.project-guide{padding-top:30px}.project-guide h3{font-size:30px}.project-guide ol{list-style:none;padding:0;margin:25px 0 0}.project-guide li{display:flex;gap:25px;border-top:1px solid var(--line);padding:22px 0}.project-guide li>span{font-size:14px;padding-top:5px}.project-guide strong{font-weight:600;font-size:21px}.project-guide li p{font-size:18px;line-height:1.6;margin-top:5px}.project-guide .mobile-note{font-size:16px;line-height:1.55;background:var(--sand);padding:20px;margin-top:15px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-top:55px;padding-bottom:45px;border-top:1px solid var(--line)}.footer-brand{font:42px/1.2 Lora,Georgia,serif;letter-spacing:-.03em}.footer-brand small{font:14px/1.6 'Source Sans 3',sans-serif;letter-spacing:.04em;display:block;margin-top:13px;max-width:210px}.footer-top>div a{display:block;font-size:18px;margin-bottom:8px}.footer-top>div p:not(.eyebrow){font-size:17px}.footer-top .eyebrow{margin-bottom:15px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:25px 0 30px;font-size:14px}.skip{position:fixed;top:-100px;left:15px;padding:15px;background:white;z-index:50}.skip:focus{top:15px}dialog{border:0;background:var(--paper);color:var(--ink);width:1050px;max-width:calc(100% - 30px);max-height:94dvh;padding:58px 24px 20px}dialog::backdrop{background:#0e2735e8}dialog img{width:100%;max-height:65dvh;object-fit:contain}dialog p{font-size:18px;text-align:center;max-width:none;margin-top:18px}.close{position:absolute;right:12px;top:8px;border:0;background:none;width:44px;height:44px;font-size:28px}.gallery-count{position:absolute;top:20px;left:24px;font-size:14px}.gallery-controls{display:flex;justify-content:space-between;gap:20px;margin-top:18px}.gallery-controls button{background:transparent;border:1px solid var(--line);font-size:16px;min-height:44px;padding:10px 18px}.gallery-controls button:hover{background:var(--mist)}body:has(dialog[open]){overflow:hidden}
@media(max-width:1100px){.brand{font-size:30px}.header nav{gap:20px;font-size:16px}.nav-phone{padding-left:15px}.header{gap:20px}.hero{grid-template-columns:26% 48% 26%}.hero h1{font-size:65px}.hero-photo{min-height:610px}.hero-copy{padding:45px 7%}.hero-copy>p:not(.eyebrow){font-size:19px}.hero .button{font-size:16px;padding:16px 18px}.service-grid{gap:30px}.service-grid h3{font-size:25px}.work-grid img{height:355px}.story h2{font-size:42px}.story-mark img{width:170px}.begin{gap:8%}}
@media(max-width:900px){.header{position:relative}.menu{display:flex;gap:15px;font-size:17px;padding:12px 0;border:0;background:none}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);z-index:10;padding:25px 6%;flex-direction:column;align-items:stretch;gap:20px;font-size:18px}.header nav.open{display:flex}.nav-phone{border-left:0;padding-left:0}.hero{grid-template-columns:1fr 1fr}.hero-copy{grid-column:1/-1;grid-row:1;padding:45px 10%}.hero h1{font-size:72px}.hero h1 br{display:none}.hero-copy>p:not(.eyebrow){max-width:510px}.hero-photo{min-height:0;height:380px}.hero-photo.first img{object-position:center 35%}.hero-photo.last img{object-position:center 35%}.location{max-width:none}.craft{padding:70px 0;gap:30px 7%}.craft-intro{padding-top:10px}.service-grid{gap:25px}.service-grid h3{font-size:24px}.service-grid p{font-size:18px}.work{padding:65px 0}.work-heading{gap:35px}.work-heading>p{font-size:18px;max-width:280px}.work-grid{gap:20px}.work-grid img{height:290px}.work-grid h3{font-size:23px}.detail-pair{gap:6%;margin-top:40px;padding-top:40px}.detail-pair h3{font-size:36px}.detail-pair img{height:280px}.story{padding:65px 0}.story-layout{gap:7%;grid-template-columns:.7fr 1.3fr}.story-mark{padding:30px 18px}.story-mark>p{font-size:38px}.story-mark>span{font-size:14px}.story h2{font-size:38px}.begin{padding:70px 0}.footer-top{gap:30px;grid-template-columns:1.1fr 1fr 1fr}.footer-brand{font-size:35px}}
@media(max-width:600px){body{font-size:18px}html{scroll-padding-top:25px}.wrap{width:88%}.header{padding:16px 6%}.brand{font-size:29px;gap:10px}.brand img{width:44px;height:44px}.brand small{font-size:10px;letter-spacing:.05em;max-width:175px}.menu{font-size:16px;gap:10px}.hero-copy{padding:40px 7% 35px}.hero h1{font-size:59px;max-width:330px;line-height:1.08}.hero h1 br{display:none}.hero-copy>p:not(.eyebrow){font-size:19px;margin:24px auto}.hero-copy .eyebrow{font-size:12px}.hero .button{font-size:17px}.hero-photo{height:300px}.hero-photo figcaption{font-size:13px;left:8px;right:8px;bottom:10px;padding:9px 6px;line-height:1.4}.location{font-size:14px}.craft{display:block;padding:55px 0}.craft h2{font-size:43px}.craft-intro{padding-top:25px}.text-link{font-size:17px;gap:18px}.service-grid{display:block;margin-top:40px}.service-grid article{padding:23px 0}.number{margin-bottom:15px}.service-grid h3{font-size:28px;margin-bottom:16px}.work{padding:55px 0}.work-heading{display:block;margin-bottom:30px}.work-heading h2{font-size:42px}.work-heading>p{margin-top:25px;max-width:none}.work-grid{display:block}.work-grid figure{margin-bottom:32px}.work-grid img{height:430px}.work-grid h3{font-size:27px}.work-grid figcaption{padding:18px 0}.detail-pair{display:block;padding-top:35px;margin-top:10px}.detail-pair img{height:auto;aspect-ratio:16/9}.detail-pair>div{padding-top:30px}.detail-pair h3{font-size:40px}.detail-pair p:not(.eyebrow){font-size:18px}.story-layout{display:flex;flex-direction:column-reverse;gap:40px}.story h2{font-size:40px}.story-copy>p:not(.eyebrow){font-size:18px}.story-mark{width:100%;padding:30px}.story-mark img{width:140px}.story-mark>p{font-size:40px}.begin{display:block;padding:55px 0}.begin h2{font-size:45px}.begin .button{font-size:17px;padding:16px 19px}.call{font-size:20px}.project-guide{padding-top:30px}.project-guide h3{font-size:29px}.project-guide li{gap:18px}.footer-top{display:block;padding:40px 0}.footer-top>div{margin-top:35px}.footer-brand{display:block;font-size:40px}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}dialog{padding:56px 15px 18px}dialog img{max-height:52dvh}dialog p{font-size:17px;line-height:1.5}.gallery-count{left:15px}.gallery-controls button{padding:10px 14px}}
@media(max-width:360px){.brand small{max-width:125px;line-height:1.3}.brand{font-size:27px}.brand img{width:38px;height:38px}.hero h1{font-size:53px}.hero-photo{height:260px}.hero-photo figcaption{font-size:12px}.hero .button{font-size:16px;gap:16px}.work-grid img{height:370px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
