@charset "UTF-8";
:root{--paper:#f5f4ee;--ink:#25372c;--muted:#647064;--line:#d9ddd2;--green:#dce5c8;--orange:#e76d49;--dark:#263b30}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--orange);outline-offset:7px}
::selection{background:#cbdba9;color:var(--ink)}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}
.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:700;letter-spacing:-1px}
.brand svg{width:35px;height:35px;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}
.brand-light{font-weight:400}
nav{display:flex;align-items:center;gap:39px;font-size:13px}
nav>a:first-child{display:flex;gap:19px;align-items:center}
nav a:hover,.footer-brand:hover,.back-top:hover{color:#647b47}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding-top:64px;padding-bottom:65px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 30px;font-size:10px;font-weight:600;letter-spacing:1.7px}
.short-line{display:block;width:25px;height:1px;background:currentColor}
h1{margin:0;font-size:clamp(64px,7.6vw,104px);font-weight:500;line-height:.99;letter-spacing:-6px}
.serif{font-family:Georgia,"Times New Roman",serif;font-style:italic;letter-spacing:-7px;font-weight:400}
.orange-dot{display:inline-block;width:13px;height:13px;border-radius:50%;background:var(--orange);margin-left:18px;margin-bottom:7px}
.hero-description{margin:29px 0 30px;color:var(--muted);font-size:15px;line-height:1.7}
.text-link{display:inline-flex;align-items:center;min-height:42px;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.text-link:hover{color:#647b47}
.art-panel{position:relative;background:var(--green);aspect-ratio:1/1.08;overflow:hidden;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between}
.art-label{display:flex;justify-content:space-between;position:absolute;z-index:1;top:26px;left:27px;right:27px;font-size:9px;font-weight:600;letter-spacing:1.3px}
.thread-art{width:100%;height:100%;position:absolute;inset:0}
.art-caption{position:absolute;bottom:26px;left:27px;right:27px;display:flex;align-items:end;justify-content:space-between;font-size:11px;line-height:1.65;letter-spacing:.1px}
.art-symbol{font-size:27px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400}
.about-section{background:var(--dark);color:var(--paper);padding-top:76px}
.about-section .eyebrow{color:#c2d3a8;margin-bottom:30px;font-size:9px}
h2{margin:0;font-size:clamp(35px,3.9vw,52px);line-height:1.15;letter-spacing:-1.7px;font-weight:400}
h2 em{font-family:Georgia,"Times New Roman",serif;color:#d9e6bc;font-weight:400}
.services-heading{padding-bottom:54px}
.service-list{padding-bottom:38px}
.service{border-top:1px solid #4a5a4c}
.service-row{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:baseline;padding:31px 0;position:relative}
.service-row h3{margin:0;font-size:25px;line-height:1.3;font-weight:400;letter-spacing:-.7px}
.service-row p{margin:0;max-width:440px;font-size:15px;line-height:1.75;color:#d0dbce}
a.service-row:hover h3,a.service-row:focus-visible h3{color:#d9e6bc;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.site-footer{min-height:105px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}
.footer-brand{font-size:19px;letter-spacing:-.7px;color:var(--ink)}
.back-top{display:flex;gap:17px;align-items:center}
.back-top span{font-size:18px}
.skip-link{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link:focus{position:fixed;z-index:10;top:8px;left:8px;width:auto;height:auto;background:var(--paper);padding:12px 18px;clip-path:none}
@media(min-width:1500px){.hero{gap:78px}h1{font-size:112px}.hero-description{margin-top:36px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;padding-block:48px}h1{font-size:clamp(58px,8.3vw,90px);letter-spacing:-4px}.art-panel{aspect-ratio:1/1.25}.art-label{left:19px;right:19px;font-size:8px}.art-caption{left:19px;right:19px}}
@media(max-width:680px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.site-header{height:88px}.brand{font-size:22px;gap:8px}.brand svg{width:29px;height:29px}nav{gap:0}nav>a:first-child{gap:10px;font-size:11px}.hero{grid-template-columns:1fr;gap:40px;padding-top:42px;padding-bottom:30px}.eyebrow{font-size:9px;margin-bottom:25px}h1{font-size:clamp(67px,14.5vw,94px);letter-spacing:-4px}.serif{letter-spacing:-5px}.orange-dot{width:10px;height:10px;margin-left:14px;margin-bottom:5px}.hero-description{font-size:14px;margin-block:24px}.text-link{gap:32px}.art-panel{aspect-ratio:1.1/1;max-height:450px}.thread-art{transform:scale(.94)}.art-label{top:20px;left:20px;right:20px}.art-caption{bottom:20px;left:20px;right:20px;font-size:10px}.about-section{padding-top:45px}h2{font-size:39px;letter-spacing:-1.4px}.about-section .eyebrow{margin-bottom:22px}.site-footer{flex-wrap:wrap;min-height:122px;gap:10px;padding-block:25px}.footer-brand{font-size:17px}.site-footer>span{order:3;flex-basis:100%;font-size:9px}.back-top{font-size:10px}}
@media(max-width:1000px){.service-row{gap:40px}.service-row h3{font-size:23px}}
@media(max-width:680px){.services-heading{padding-bottom:35px}.service-list{padding-bottom:20px}.service-row{grid-template-columns:1fr;gap:12px;padding-block:25px}.service-row h3{font-size:24px}.service-row p{font-size:14px;max-width:none}}
@media(max-width:380px){.hero h1{font-size:17vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.contact-nav{display:flex;align-items:center;gap:12px}
.about-nav{display:flex;align-items:center;gap:12px}
.about-nav[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.contact-nav[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.contact-callout{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:center;padding-block:78px;border-bottom:1px solid var(--line)}
.contact-callout .eyebrow{font-size:9px;margin-bottom:25px;color:var(--muted)}
.contact-callout h2{font-size:clamp(30px,3.2vw,43px);letter-spacing:-1.3px;line-height:1.18}
.contact-callout h2 em{color:#536b42}
.contact-callout>div>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:14px;line-height:1.75;margin:22px 0 0}
.contact-callout-action{justify-self:end}
.contact-callout-action p{font-size:11px!important;line-height:1.6!important}
.contact-main{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding-block:80px 95px;border-bottom:1px solid var(--line)}
.contact-intro h1{font-size:clamp(43px,4.4vw,62px);line-height:1.08;letter-spacing:-2.5px}
.contact-intro .serif{letter-spacing:-2.5px}
.contact-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);max-width:380px;margin-top:28px}
.contact-intro .contact-pricing{font-size:12px!important}
.contact-form{min-width:0;padding-top:3px;position:relative}
.form-instruction{font-size:11px;color:var(--muted);margin:0 0 28px;line-height:1.6}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-field{display:flex;flex-direction:column;gap:10px;margin-bottom:25px;min-width:0}
.form-field label{font-size:12px;font-weight:600;line-height:1.5}
.form-field label span{font-weight:400;color:var(--muted);margin-left:4px;font-size:11px}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #b9c3b2;border-radius:3px;background:#ffffff60;color:var(--ink);padding:13px;font:inherit;font-size:15px;line-height:1.5}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #536b42;outline-offset:2px}
.form-field textarea{resize:vertical;min-height:150px}
.field-hint,.form-privacy{margin:0;font-size:11px;line-height:1.7;color:var(--muted)}
.form-privacy{margin:2px 0 22px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.submit-button{border:0;border-radius:3px;background:var(--dark);color:var(--paper);padding:15px 20px;display:inline-flex;align-items:center;gap:45px;font:inherit;font-size:13px;cursor:pointer}
.submit-button span{font-size:18px}
.submit-button:hover{background:#3a5140}
.submit-button:disabled{opacity:.55;cursor:wait}
.submit-button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.form-status{font-size:13px;line-height:1.7;margin:20px 0 0;color:#365932}
.form-status:empty{display:none}
.form-status.is-error{color:#9b3c28}
.form-status a{text-decoration:underline}
.form-status:focus{outline:none}
.service-detail-hero{padding-block:38px 78px}
.service-back{display:inline-flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.service-back:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.service-detail-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:end;margin-top:55px}
.service-detail-intro .eyebrow{color:var(--muted);margin-bottom:25px}
.service-detail-intro h1{max-width:620px;font-size:clamp(44px,5.2vw,72px);line-height:1.06;letter-spacing:-2.8px}
.service-detail-copy p{margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.8;max-width:500px}
.service-detail-copy .service-lead{margin-top:0;color:var(--ink);font-size:20px;line-height:1.55}
.service-focus{background:var(--dark);color:var(--paper);padding-block:60px 65px}
.service-focus .eyebrow{color:#c2d3a8;font-size:9px;margin-bottom:24px}
.service-focus h2{font-size:clamp(32px,3.3vw,44px)}
.service-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:38px}
.service-focus-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}
.service-focus-item{border-top:1px solid #4a5a4c;padding-top:24px}
.service-focus-item h3{margin:0;font-size:21px;font-weight:400;letter-spacing:-.4px;line-height:1.35}
.service-focus-item p{margin:16px 0 0;color:#d0dbce;font-size:14px;line-height:1.8}
@media(max-width:1000px){.service-detail-intro{gap:40px}.service-focus-grid{gap:25px}}
@media(max-width:680px){.service-detail-hero{padding-block:28px 42px}.service-detail-intro{grid-template-columns:1fr;gap:28px;margin-top:35px}.service-detail-intro h1{font-size:clamp(40px,10.5vw,60px);letter-spacing:-1.8px}.service-detail-copy .service-lead{font-size:18px}.service-detail-copy p{font-size:14px;max-width:none;margin-top:18px}.service-focus{padding-block:42px}.service-focus-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.service-focus-item{padding-top:21px}.service-focus-item p{margin-top:12px}}
@media(max-width:1000px){.contact-callout{gap:35px}.contact-main{gap:45px}.contact-intro h1{font-size:46px}.contact-callout .text-link{gap:20px}}
@media(max-width:680px){.site-header nav a:not(.contact-nav):not(.about-nav){display:none}.site-header nav{gap:18px}.site-header nav .contact-nav,.site-header nav .about-nav{font-size:12px;padding-block:12px}.site-header nav .contact-nav span,.site-header nav .about-nav span{display:none}.contact-callout{grid-template-columns:1fr;gap:30px;padding-block:45px}.contact-callout h2{font-size:31px}.contact-callout-action{justify-self:start}.contact-callout>div>p:not(.eyebrow){font-size:13px}.contact-main{grid-template-columns:1fr;gap:38px;padding-block:44px 50px}.contact-intro h1{font-size:47px;letter-spacing:-2px}.contact-intro>p:not(.eyebrow){font-size:14px;max-width:none;margin-top:24px}.form-pair{grid-template-columns:1fr;gap:0}.form-field input,.form-field select,.form-field textarea{font-size:16px}.submit-button{width:100%;justify-content:space-between}.form-instruction{margin-bottom:22px}}
.about-intro{padding-block:64px 58px;border-bottom:1px solid var(--line)}
.about-intro h1{font-size:clamp(46px,5.6vw,76px);line-height:1.08;letter-spacing:-3px}
.about-intro h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#536b42}
.about-intro>p:not(.eyebrow){max-width:740px;font-size:16px;line-height:1.8;color:var(--muted);margin:24px 0 0}
.inline-link{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.inline-link:hover{color:#647b47}
.external-arrow{font-size:.8em;text-decoration:none}
.profile-links{display:flex;flex-wrap:wrap;gap:16px 26px;margin-top:24px;font-size:13px}
.profile-links a{display:inline-flex;gap:10px}
@media(max-width:680px){.about-intro{padding-block:42px}.about-intro h1{font-size:clamp(38px,9vw,56px);letter-spacing:-1.8px}.about-intro>p:not(.eyebrow){font-size:14px;margin-top:20px}}
