@font-face{font-family:Field;src:url('/assets/fonts/field-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Field;src:url('/assets/fonts/field-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/dm-sans-400.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('/assets/fonts/dm-sans-700.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
:root {
  --paper:#f7f4eb; --white:#fffdf7; --ink:#172f3c; --body:#34464b; --muted:#526064;
  --copper:#9e432a; --rust:#ab4c30; --line:#d2cfc2; --tint:#ebe9df; --light-ink:#eef1ee;
  --serif:Field,Georgia,'Times New Roman',serif; --sans:DM,'Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.58 var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
figure,p,h1,h2,h3,ol,dl,dd{margin:0}
h1,h2,h3{font-weight:400}
h1,h2,.success h3,.legal h1,.receipt h1{font-family:var(--serif);letter-spacing:-.055em}
h1 em,h2 em,.success em,.receipt em{font-weight:400;color:var(--copper)}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
.symbols{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.wrap{width:min(100% - clamp(44px,10vw,152px),1250px);margin-inline:auto}
:focus-visible{outline:3px solid #c45a2c;outline-offset:5px}
.skip{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-170%);background:var(--ink);color:white;padding:12px 20px}
.skip:focus{transform:translateY(0)}
.label,.step-caption,.ticket-top,.decision-title,.person-role,.legal-date{font:700 10.2px/1.45 var(--mono);letter-spacing:.125em;text-transform:uppercase}
.label{display:flex;align-items:center;gap:12px;color:var(--copper)}
.rule-mark{display:inline-block;width:28px;height:2px;background:currentColor;flex:none}
.middot{color:#8c8f85;margin-inline:-5px}
.site-header{border-bottom:1px solid var(--line)}
.header-inner{min-height:89px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:none;color:var(--ink)}
.brand-icon{width:37px;height:38px;color:var(--copper);display:block}
.brand-text{display:flex;flex-direction:column;align-items:flex-start}
.brand-text>span{font:400 32px/.81 var(--serif);letter-spacing:-.075em}
.brand-text>small{margin-top:7px;text-transform:uppercase;font:700 8px/1.05 var(--sans);letter-spacing:.30em;padding-left:2px}
.main-nav{display:flex;align-items:center;gap:clamp(21px,3.1vw,47px)}
.main-nav>a{text-decoration:none;font-size:14px;line-height:1.3;padding:11px 0}
.main-nav>a:not(.nav-contact):hover,.footer a:not(.brand):hover,.email-link:hover,.form-bottom>a:hover{color:var(--copper);text-decoration:underline;text-underline-offset:4px}
.main-nav .nav-contact{border:1px solid var(--ink);padding:11px 15px;display:flex;align-items:center;gap:13px;font-weight:700;font-size:13px;transition:color .15s,background .15s}
.main-nav .nav-contact:hover{background:var(--ink);color:var(--white)}
.nav-contact .icon{width:14px;height:14px}
.menu-toggle{display:none;border:1px solid var(--line);color:var(--ink);background:transparent;padding:9px 12px;align-items:center;gap:9px;font-size:14px}
.menu-bars,.menu-bars::before{display:block;width:16px;height:1.5px;background:currentColor}
.menu-bars{position:relative;transform:translateY(-2px)}.menu-bars::before{content:"";position:absolute;top:5px;left:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:var(--white);border:1px solid var(--ink);padding:15px 20px;text-decoration:none;font:700 14px/1.28 var(--sans);min-height:48px;transition:background .15s,border-color .15s}
.button:hover{background:var(--copper);border-color:var(--copper)}
.button .icon{width:15px;height:15px;stroke-width:1.8}
.button:active{transform:translateY(1px)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,5.4vw,89px);align-items:center;padding-block:clamp(38px,4.8vw,74px) clamp(53px,5.9vw,91px)}
.hero-copy{min-width:0}
.hero-label{margin-bottom:23px}
h1{font-size:clamp(61px,5.65vw,86px);line-height:.99;max-width:8.3em}
.hero-summary{font-size:clamp(16px,1.23vw,18px);line-height:1.62;color:var(--body);max-width:39em;margin-top:23px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;column-gap:23px;row-gap:14px;margin-top:29px}
.text-link{display:inline-flex;gap:9px;align-items:center;padding-block:7px;text-decoration:underline;text-decoration-color:#8e938c;text-underline-offset:5px;font-size:13px;font-weight:700;line-height:1.45}
.text-link:hover{color:var(--copper);text-decoration-color:currentColor}
.text-link .icon{width:14px;height:14px}
.hero-art{position:relative;min-width:0;margin-block:0 9px}
.hero-art>img{width:100%;aspect-ratio:1.12;object-fit:cover;object-position:65% center;background:#888772}
.hero-slip{position:absolute;left:-18px;bottom:17px;min-width:240px;background:#fffbed;color:var(--ink);padding:15px 18px 15px 17px;border-left:3px solid var(--copper);box-shadow:0 5px 18px #212e342e}
.slip-top{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.slip-top .label{font-size:9px;letter-spacing:.105em}
.slip-icon{display:flex;color:var(--copper)}
.slip-icon .icon{width:14px;height:14px}
.hero-slip>strong{font-size:16px;line-height:1.3;letter-spacing:-.025em}
.slip-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:10.5px;line-height:1.45;color:#4f5b5e}
.slip-meta>span:first-child{display:inline-flex;align-items:center;gap:5px;color:#824329;font-weight:700}
.slip-meta>span+span{border-left:1px solid #c7c1ad;padding-left:8px}
.slip-meta i,.decision-status i{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:currentColor}
h2{font-size:clamp(49px,4.25vw,68px);line-height:1.02}
h2 .wide-break{display:block}
.workflow{background:var(--ink);color:var(--white);padding-block:clamp(60px,7.1vw,108px);border-top:4px solid #b26443}
.workflow-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(60px,10vw,155px);align-items:start}
.workflow .label,.controls .label{color:#e8a17d}
.workflow h2{max-width:8.1em;margin-top:21px}
.workflow h2 em,.controls h2 em{color:#efb491}
.workflow-intro>p:not(.label){font-size:17px;line-height:1.65;color:#d3dcd9;margin-top:22px;max-width:34em}
.job-ticket{margin-top:33px;max-width:376px;padding:19px 23px 20px;border:1px solid #52646b;background:#233b46;position:relative}
.ticket-top{color:#d4c2a4;display:flex;align-items:center;gap:8px;font-size:10px}
.ticket-top .icon{width:16px;height:16px}
.job-ticket>strong{display:block;font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.15;letter-spacing:-.035em;margin:10px 0 13px}
.ticket-row{display:flex;justify-content:space-between;gap:12px;padding-top:6px;font-size:13px;line-height:1.4}
.ticket-row>span{color:#c5d1d1}.ticket-row b{font-weight:400}
.workflow-steps{padding:0;list-style:none;counter-reset:steps}
.workflow-steps li{position:relative;display:grid;grid-template-columns:43px minmax(0,1fr);gap:18px;padding-bottom:25px}
.workflow-steps li:not(:last-child)::before{content:"";position:absolute;top:39px;bottom:0;left:19px;width:1px;background:#66777b}
.workflow-steps li:last-child{padding-bottom:0}
.step-num{width:39px;height:39px;border:1px solid #8a928a;border-radius:50%;display:grid;place-items:center;font:400 12px/1 var(--mono);color:#f3c5a4}
.step-caption{font-size:9.5px;letter-spacing:.135em;color:#e6ac88;margin:2px 0 5px}
.workflow-steps h3,.offerings h3,.more-work h3,.person h3,.decision strong{font-family:var(--serif);font-weight:400;letter-spacing:-.04em}
.workflow-steps h3{font-size:clamp(27px,2.1vw,35px);line-height:1.12}
.workflow-steps li div>p:last-child{font-size:15px;line-height:1.55;color:#d9e0e0;max-width:41em;margin-top:6px}
.services{padding-block:clamp(66px,7.1vw,110px)}
.services-head h2{margin-top:18px}
.offerings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:39px;border-block:1px solid var(--line);padding-block:24px 27px}
.offerings article{padding-right:clamp(19px,3vw,50px)}
.offerings article+article{border-left:1px solid var(--line);padding-left:clamp(19px,2.6vw,43px)}
.offerings article:last-child{padding-right:0}
.offerings h3{font-size:clamp(25px,2.2vw,34px);line-height:1.14}
.offerings p,.work-list dd,.team-copy>p:not(.label),.person p,.contact-copy>p:not(.label){color:var(--body)}
.offerings p{margin-top:10px;font-size:15.5px}
.more-work{display:grid;grid-template-columns:.68fr 1.32fr;gap:48px;margin-top:37px}
.more-work h3{font-size:30px;line-height:1.14;max-width:8em}
.work-list{margin:0}
.work-list>div{display:grid;grid-template-columns:.78fr 1.22fr;gap:17px;border-bottom:1px solid var(--line);padding:10px 0;font-size:14px;line-height:1.48}
.work-list>div:first-child{padding-top:0}
.work-list dt{font-weight:700}
.controls{background:#e9e6d9;border-block:1px solid #cbcaba;padding-block:clamp(51px,5.4vw,83px)}
.control-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(45px,8.7vw,137px);align-items:center}
.controls .label{color:var(--copper)}
.controls h2{max-width:9.3em;margin:17px 0 19px}
.controls h2 em{color:var(--copper)}
.control-copy>p:last-child{max-width:34em;color:var(--body)}
.decision-sheet{padding:21px 25px 12px;background:#f9f6ed;border:1px solid #bbbcae;box-shadow:6px 6px 0 #dcdacb}
.decision-title{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding-bottom:14px;color:var(--copper);font-size:10px}
.mini-mark{font:400 23px/.9 var(--serif);color:var(--ink)}
.decision{padding:15px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.decision+.decision{border-top:1px dotted #b9b9ab}
.decision strong{font-size:23px;line-height:1.25}
.decision p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.45}
.decision-status{display:inline-flex;gap:6px;align-items:center;padding:4px 7px;background:#e1e9dc;color:#344e3e;white-space:nowrap;text-transform:uppercase;font:700 8.5px/1.6 var(--mono);letter-spacing:.02em;margin-top:4px}
.review-status{background:#f4e2cf;color:#82472c}
.team{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:clamp(40px,7.3vw,114px);padding-block:clamp(65px,6.9vw,104px)}
.team-photo img{width:100%;aspect-ratio:1.28;object-fit:cover}
.team-copy h2{margin:18px 0 21px;max-width:8.8em}
.person{border-top:1px solid var(--line);padding:15px 0 12px}
.person:last-child{padding-bottom:0}
.person>div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:13px;row-gap:3px}
.person h3{font-size:26px;line-height:1.14}
.person-role{color:var(--copper);font-size:9px;letter-spacing:.08em}
.person p{font-size:14px;line-height:1.55;margin-top:7px}
.contact{background:#ece5d5;border-block:1px solid #ccbeaa;padding-block:clamp(62px,6.5vw,102px)}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(42px,8.8vw,140px);align-items:start}
.contact-copy h2{margin:18px 0 20px;max-width:8em}
.contact-copy>p:not(.label){max-width:33em}
.contact-copy .contact-note{font-size:14px;margin-top:17px}
.email-link{display:inline-flex;align-items:center;gap:6px;overflow-wrap:anywhere;font-size:14px;font-weight:700;text-underline-offset:4px;margin-top:20px}
.email-link .icon{width:13px;height:13px}
.form-area{min-width:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:15px}
.form-area label{display:block;color:var(--ink);font-size:13px;font-weight:700}
.form-area label span{font-weight:400;color:var(--muted)}
.form-area input:not([type=hidden]),.form-area textarea{width:100%;border:1px solid #aaa797;background:#fffdf5;color:var(--ink);border-radius:0;padding:10px 12px;line-height:1.3;font-weight:400;font-size:16px;transition:border-color .15s}
.form-grid input{min-height:43px;margin-top:5px}
.form-area textarea{min-height:100px;margin-top:5px;resize:vertical}
.form-area input:focus,.form-area textarea:focus{outline:2px solid var(--ink);outline-offset:1px}
.form-hint{font-size:12px;line-height:1.43;color:var(--muted);margin-top:4px}
.form-bottom{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:20px}
.form-bottom>a{font-size:12px;text-underline-offset:3px}
.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.form-feedback{margin-top:15px;color:#7d3020;border-left:2px solid currentColor;padding-left:12px;font-size:14px}
.form-area button:disabled{opacity:.75;cursor:wait}
.success{background:var(--white);border:1px solid var(--line);border-left:4px solid var(--copper);padding:36px;min-height:230px}
.success h3{font-size:38px;line-height:1.08;margin:18px 0 12px}
.footer{background:var(--paper)}
.footer-inner{min-height:104px;display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:20px}
.footer-place,.footer-right{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.footer-place .icon{width:14px;height:14px;color:var(--copper)}
.footer-right{gap:20px}.footer-right a{text-underline-offset:3px}
.legal,.receipt{width:min(100% - 48px,760px);margin:clamp(52px,7vw,96px) auto clamp(60px,8vw,110px)}
.legal h1,.receipt h1{font-size:clamp(55px,6vw,85px);margin:16px 0 20px;line-height:.99;max-width:none}
.legal h2{font-size:32px;letter-spacing:-.04em;margin:32px 0 8px}
.legal p,.receipt p{color:var(--body);max-width:65ch}
.legal-date{margin-top:18px;color:var(--copper)!important}
.legal a,.receipt a:not(.button){text-underline-offset:3px;overflow-wrap:anywhere}
.receipt .button,.legal .button{margin-top:24px}
@media(min-width:1600px){.hero{gap:90px}.hero-art>img{aspect-ratio:1.17}}
@media(max-width:1030px) and (min-width:801px){.wrap{width:calc(100% - 74px)}.hero{gap:36px}.hero h1{font-size:clamp(54px,6.1vw,65px)}.hero-summary{font-size:15px}.hero-art>img{aspect-ratio:.93}.hero-actions{gap:7px 16px}.hero-slip{left:-12px;right:12px;min-width:0}.main-nav{gap:21px}.workflow-grid{gap:57px}}
@media(max-width:800px){
  .wrap{width:calc(100% - 44px);max-width:660px}
  .header-inner{min-height:70px;position:relative;flex-wrap:wrap;gap:0}
  .brand-icon{width:31px;height:33px}.brand-text>span{font-size:29px}
  .menu-toggle:not([hidden]){display:inline-flex}
  .main-nav{position:relative;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0 0 16px}
  .main-nav a{padding:11px 4px}.main-nav .nav-contact{margin-top:4px;align-self:start}
  .js .main-nav{display:none}.js .main-nav.is-open{display:flex}
  .hero,.workflow-grid,.control-grid,.team,.contact-grid{grid-template-columns:1fr}
  .hero{gap:25px;padding-block:34px 45px}
  .hero-label{margin-bottom:15px}
  .hero h1{font-size:clamp(48px,8.1vw,68px);max-width:10.4em}
  .hero-summary{font-size:16px;line-height:1.55;max-width:39em;margin-top:17px}
  .hero-actions{margin-top:20px;gap:11px 20px}
  .hero-art{margin:4px 0 5px 5px}.hero-art>img{aspect-ratio:1.65;object-position:65% 40%}
  .hero-slip{left:-5px;bottom:-8px;padding:10px 14px;min-width:220px}
  .workflow{padding-block:50px 52px}.workflow-grid{gap:32px}
  .workflow h2{max-width:10.5em;margin-top:14px}
  .workflow-intro>p:not(.label){margin-top:16px;font-size:16px}.job-ticket{max-width:100%;margin-top:22px;padding:15px 18px}
  .workflow-steps li{gap:14px;padding-bottom:19px}.workflow-steps h3{font-size:29px}
  .services{padding-block:52px}.offerings{margin-top:25px}.more-work{grid-template-columns:1fr;gap:17px;margin-top:26px}.more-work h3{max-width:none}
  .control-grid{gap:23px}.controls h2{max-width:10.5em}.controls{padding-block:49px}
  .team{gap:28px;padding-block:50px}.team-copy{order:1}.team-photo{order:2}.team-photo img{aspect-ratio:1.8;object-position:center 49%}.team-copy h2{max-width:none}
  .contact-grid{gap:26px}.contact{padding-block:48px}.contact-copy h2{max-width:10em;margin-top:14px}.email-link{margin-top:14px}
  .footer-inner{gap:18px}.footer-place{margin-left:auto}.footer-right{width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px}
}
@media(max-width:560px){
  .wrap{width:calc(100% - 40px)}
  .hero-actions{align-items:flex-start;flex-direction:column;gap:6px}
  .hero-art>img{aspect-ratio:1.46}
  h2{font-size:clamp(41px,10vw,50px)}
  .label{font-size:9.5px;gap:9px}.rule-mark{width:22px}
  .offerings{display:block;border-top:1px solid var(--line);border-bottom:0;padding:0}
  .offerings article,.offerings article+article{padding:18px 0;border:0;border-bottom:1px solid var(--line)}
  .offerings h3{font-size:27px}.offerings p{margin-top:6px}
  .wide-break{display:none!important}
  .work-list>div{grid-template-columns:1fr;gap:2px;padding-block:10px}
  .decision-sheet{padding:16px 15px 8px;box-shadow:4px 4px 0 #dcdacb}.decision strong{font-size:22px}
  .decision{align-items:flex-start;flex-wrap:wrap;gap:5px}.decision-status{margin-top:1px}
  .form-grid{grid-template-columns:1fr;gap:10px}
  .footer-place{font-size:11px}
  .success{padding:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.questions{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;padding-block:72px;border-top:1px solid var(--line)}
.questions h2{margin-top:18px}.answers details{border-bottom:1px solid var(--line);padding:20px 0}.answers details:first-child{padding-top:0}.answers summary{cursor:pointer;font-size:18px;font-weight:600;padding-right:12px}.answers p{margin-top:12px;color:var(--body);max-width:44em}.answers summary:focus-visible{outline:2px solid var(--copper);outline-offset:5px}
@media(max-width:800px){.questions{grid-template-columns:1fr;gap:28px;padding-block:48px}.questions h2{font-size:40px}.answers summary{font-size:17px}}
/* Dedicated pages and shorter home navigation. */
.main-nav{gap:22px}.main-nav a[aria-current="page"]{color:var(--copper);text-decoration:underline;text-underline-offset:6px}
.page-intro{padding-block:55px 35px}.page-intro h1{font-size:clamp(45px,5.2vw,72px);max-width:15em;margin-block:18px}.page-intro>p:last-child{max-width:43em;color:var(--body);font-size:18px}
.page-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:45px;border-top:1px solid var(--line)}.page-cta h2{font-size:clamp(30px,3vw,42px);max-width:20em}.page-cta p{margin-top:10px;color:var(--body)}.page-cta .button{flex-shrink:0}
.home-summary{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:46px;border-top:1px solid var(--line)}.home-summary h2{margin-top:16px}.home-summary p:not(.label){font-size:18px;color:var(--body)}.home-summary .text-link{display:flex;margin-top:14px}
.questions h1,.contact h1{font-size:clamp(43px,4.7vw,65px);max-width:11em;margin-block:18px}.footer-right{flex-wrap:wrap}
@media(max-width:1050px) and (min-width:801px){.main-nav{gap:15px}.main-nav>a{font-size:12px}.brand-text>span{font-size:28px}.header-inner{gap:15px}.wrap{width:calc(100% - 48px)}}
@media(max-width:800px){.home-summary{grid-template-columns:1fr;gap:20px;padding-block:35px}.page-cta{flex-direction:column;align-items:flex-start;gap:20px}.page-intro{padding-block:35px 25px}.page-intro>p:last-child{font-size:16px}.hero-label{flex-wrap:wrap}.contact h1,.questions h1{font-size:43px}}
