@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Italiana&display=swap');
:root{--ink:#252720;--paper:#f5f2eb;--muted:#6b6b61;--line:#d8d6cd;--accent:#c6b692;--serif:'Italiana',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.06;letter-spacing:-.025em}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}header{height:118px;display:flex;align-items:center;justify-content:space-between;padding:0 5.2%;gap:30px}nav{display:flex;gap:38px;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:7px}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.monogram{font-family:var(--serif);font-size:43px;letter-spacing:-.08em}.monogram span{font-size:.6em;vertical-align:8%;padding:0 .07em;font-style:italic}.brand-caption{font-size:12px;letter-spacing:.25em;margin-top:10px}.header-contact{font-size:14px;border-bottom:1px solid var(--ink);padding:8px 0}.header-contact span{margin-left:24px}.hero{display:grid;grid-template-columns:44% 56%;min-height:750px;background:var(--ink);color:var(--paper)}.hero-copy{padding:82px 8% 42px 12%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em;line-height:1.6}.hero .eyebrow{color:#d6cfbc}.hero h1{font-size:clamp(52px,5.25vw,86px);margin:42px 0 28px}.hero h1 em{font-size:.91em}.hero-description{font-size:16px;max-width:320px;color:#d7d8d0;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:54px;padding:15px 25px;font-size:14px;border:1px solid currentColor;transition:background .2s,color .2s}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.light:hover{background:var(--accent);border-color:var(--accent)}.hero .button{margin-top:34px}.hero-location{display:flex;align-items:center;gap:15px;font-size:12px;letter-spacing:.16em;color:#d6cfbc;margin-top:auto;padding-top:55px}.fine-line{height:1px;width:40px;background:#aaa58f}.hero-image{position:relative;min-height:750px;overflow:hidden}.hero-image img{position:absolute;inset:0;object-position:50% 50%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 32px 22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.12em;background:linear-gradient(transparent,rgba(0,0,0,.58));color:#fff}.hero-image figcaption span{font-size:12px;letter-spacing:0}.section-pad{padding:110px 8%}.intro{display:grid;grid-template-columns:1fr 1.4fr;column-gap:10%;padding-top:120px;padding-bottom:115px}.intro .eyebrow{grid-column:1/-1;margin-bottom:28px;color:var(--muted)}.intro h2{font-size:clamp(40px,4.15vw,63px)}.intro>p:last-child{max-width:520px;font-size:18px;color:var(--muted);align-self:center;line-height:1.9}.work{padding-top:75px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:55px}.section-heading h2{font-size:clamp(46px,5vw,70px);margin-top:25px}.section-heading>p{max-width:340px;color:var(--muted);font-size:16px;line-height:1.8;padding-bottom:7px}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;align-items:start}.gallery-main img{height:700px}.gallery-detail{padding-top:130px}.gallery-detail img{height:500px}.gallery figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}.gallery figcaption span:first-child{font-family:var(--serif);font-size:24px}.gallery figcaption span:last-child{font-size:12px;letter-spacing:.11em;color:var(--muted)}.work-footer{margin-top:55px;padding-top:25px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:14px}.work-footer p{color:var(--muted)}.text-link{white-space:nowrap}.text-link span{margin-left:18px}.finishes{background:#e9e7df}.finish-list article{display:grid;grid-template-columns:55px 1fr 1fr;gap:25px;border-top:1px solid #c9c9bc;padding:35px 0}.finish-list article:last-child{padding-bottom:0}.number{font-size:12px;color:var(--muted);padding-top:6px}.finish-list h3{font-family:var(--serif);font-size:30px;line-height:1.25}.finish-list article p{color:#5e6056;font-size:15px;line-height:1.8;max-width:420px}.about{display:grid;grid-template-columns:1fr 1.5fr;align-items:center;gap:13%;padding-top:130px;padding-bottom:130px}.about-mark{font-family:var(--serif);font-size:clamp(110px,16vw,230px);letter-spacing:-.08em;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:55px 0;color:#888873}.about-mark span{font-family:Georgia,serif;font-style:italic;font-size:.55em}.about h2{font-size:clamp(44px,4vw,60px);margin:24px 0 30px}.about p:not(.eyebrow):not(.signature){max-width:490px;color:var(--muted);margin:0 0 18px}.signature{font-family:Georgia,serif;font-style:italic;font-size:25px;margin-top:30px}.contact{text-align:center;background:var(--ink);color:var(--paper);padding-top:110px;padding-bottom:110px}.contact .eyebrow{color:#d6cfbc}.contact h2{font-size:clamp(50px,6vw,84px);margin:30px 0}.contact>p:not(.eyebrow){max-width:490px;margin:0 auto 35px;color:#d7d8d0}.contact .button{min-width:230px}.email-link{display:block;width:fit-content;margin:25px auto 0;font-size:14px;color:#deded5}footer{padding:52px 5.2% 35px;display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}footer p{font-size:13px;color:var(--muted)}footer>a:not(.brand){font-size:14px}.copyright{width:100%;padding-top:30px;border-top:1px solid var(--line);font-size:12px!important}.skip{position:absolute;top:-100px;left:20px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(min-width:1700px){body{max-width:1800px;margin:auto}.hero{min-height:880px}.hero-image{min-height:880px}}@media(max-width:1000px){header{height:98px;padding:0 5%}nav{gap:20px}.hero{grid-template-columns:48% 52%;min-height:670px}.hero-copy{padding:60px 8% 35px 10%}.hero-image{min-height:670px}.hero h1{font-size:57px}.section-pad{padding:85px 6%}.intro{gap:40px}.gallery-main img{height:550px}.gallery-detail img{height:400px}.gallery figcaption{display:block}.gallery figcaption span{display:block}.finish-list article{grid-template-columns:35px 1fr 1fr;gap:18px}.finish-list h3{font-size:26px}.about{gap:8%}.about-mark{font-size:150px}.hero-image figcaption{display:block}.hero-image figcaption span{display:block;margin-top:5px}}@media(max-width:650px){header{height:91px;padding:0 6%;gap:16px}nav{display:none}.monogram{font-size:36px}.brand-caption{font-size:12px;letter-spacing:.21em}.header-contact{font-size:12px}.header-contact span{margin-left:12px}.hero{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:48px 7% 35px}.eyebrow{font-size:12px;letter-spacing:.14em}.hero h1{font-size:clamp(48px,12vw,75px);margin:30px 0 24px}.hero h1 br:nth-of-type(2){display:none}.hero-description{font-size:16px;max-width:330px}.hero .button{margin-top:27px}.hero-location{padding-top:35px}.hero-image{min-height:510px}.hero-image img{object-position:50% 55%}.hero-image figcaption{padding:30px 25px 20px}.section-pad{padding:65px 7%}.intro{display:block}.intro .eyebrow{margin-bottom:24px}.intro h2{font-size:43px;margin-bottom:28px}.intro>p:last-child{font-size:16px;line-height:1.8}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:49px;margin-top:20px}.section-heading>p{margin-top:25px;max-width:100%}.gallery{display:block}.gallery-main img{height:500px}.gallery-detail{padding-top:45px}.gallery-detail img{height:420px}.gallery figcaption{display:flex}.gallery figcaption span:first-child{font-size:22px}.gallery figcaption span:last-child{font-size:12px;max-width:120px;text-align:right}.work-footer{display:block;margin-top:38px}.work-footer .text-link{display:inline-block;margin-top:16px}.finish-list article{grid-template-columns:27px 1fr;gap:8px 16px;padding:27px 0}.finish-list h3{font-size:28px}.finish-list article p{grid-column:2;font-size:15px}.about{display:block}.about-mark{display:none}.about h2{font-size:45px}.contact h2{font-size:53px}.contact .eyebrow{font-size:12px}.email-link{font-size:13px;overflow-wrap:anywhere}footer{padding:40px 7% 25px;gap:28px}footer>p:not(.copyright){width:55%;font-size:12px}footer>a:not(.brand){font-size:13px}.copyright{padding-top:22px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}}

.gallery-detail video{display:block;width:100%;height:500px;object-fit:cover;background:#252720}@media(max-width:1000px){.gallery-detail video{height:400px}}@media(max-width:650px){.gallery-detail video{height:500px}}

.footer-legal{width:100%;padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.footer-legal p{font-size:14px;line-height:1.7}.footer-legal p:first-child{max-width:580px}.footer-legal p:last-child{white-space:nowrap}@media(max-width:650px){.footer-legal{display:block}.footer-legal p:last-child{margin-top:16px}.header-contact{font-size:14px}.email-link{font-size:14px}}

.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 7%;margin-top:75px}.project-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.project-card figcaption{margin-top:20px}.project-card figcaption span{display:block}.project-card figcaption span:first-child{font-family:var(--serif);font-size:28px;line-height:1.3}.project-card figcaption span:last-child{font-size:12px;letter-spacing:.11em;color:var(--muted);margin-top:8px}@media(max-width:650px){.project-grid{grid-template-columns:1fr;gap:38px;margin-top:45px}.project-card figcaption span:first-child{font-size:26px}}

.work .project-grid{margin-top:0}

.project-card video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--ink)}

/* Portfolio: calm spacing and generous, consistent image framing. */
.work .project-grid{column-gap:5%;row-gap:64px}.project-card{min-width:0}.project-card img,.project-card video{aspect-ratio:3/4;object-position:center; background:#e9e7df}.project-card figcaption{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.project-card figcaption span:first-child{font-size:clamp(24px,2.25vw,32px);line-height:1.25}.project-card figcaption span:last-child{font-size:13px;line-height:1.65;letter-spacing:.08em;margin-top:9px}.project-card img[src*="porter-teleo"]{object-position:50% 0%}@media(max-width:650px){.work .project-grid{row-gap:42px}.project-card figcaption{padding-top:15px;margin-top:16px}.project-card figcaption span:first-child{font-size:26px}.project-card img,.project-card video{aspect-ratio:auto;height:auto}.project-card video{width:100%}}
