/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--ink:#11130f;--paper:#f3f2ed;--white:#fff;--accent:#8fb9cb;--muted:#a9aba4;--line:#ffffff26}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line);color:var(--white);z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#11130fe0;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;padding:0 4.5vw;display:grid;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:14px;width:max-content;display:flex}.brand-name{letter-spacing:-.02em;font-size:16px;font-weight:760}.brand-mark{object-fit:contain;width:38px;height:38px}nav{gap:32px;display:flex}nav a{color:#ffffffbd;font-size:13px;font-weight:580;transition:color .18s}nav a:hover,nav a:focus-visible{color:var(--white)}.header-call{text-align:right;flex-direction:column;justify-self:end;font-size:13px;font-weight:720;line-height:1.25;display:flex}.header-call span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.hero{background:var(--ink);color:var(--white);grid-template-columns:minmax(0,1.5fr) minmax(320px,.75fr);min-height:780px;padding:176px 7vw 72px;display:grid;position:relative;overflow:hidden}.hero-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.35;background-size:108px 108px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#00000059,#0000 64%);mask-image:linear-gradient(90deg,#00000059,#0000 64%)}.hero:after{background:var(--accent);content:"";width:680px;height:360px;position:absolute;top:58%;right:-250px;transform:rotate(-35deg)}.hero-copy,.hero-card,.hero-proof{z-index:1;position:relative}.eyebrow{color:#ffffff94;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin:0;font-size:11px;font-weight:720;display:flex}.eyebrow span{background:var(--accent);width:7px;height:7px}.hero h1{letter-spacing:-.075em;max-width:900px;margin:46px 0 40px;font-size:clamp(64px,8.2vw,126px);font-weight:720;line-height:.84}.hero h1 em{color:var(--accent);font-style:normal}.hero-lede{color:#ffffffb3;max-width:590px;margin:0;font-size:18px;line-height:1.65}.hero-actions{align-items:center;gap:30px;margin-top:46px;display:flex}.button{justify-content:center;align-items:center;gap:34px;min-height:58px;padding:0 24px;font-size:13px;font-weight:760;transition:transform .18s,background .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--ink)}.button-primary:hover,.button-primary:focus-visible{background:#a8cddd}.text-link{border-bottom:1px solid #ffffff52;padding-bottom:7px;font-size:13px;font-weight:660}.text-link span{margin-left:12px}.hero-card{color:var(--ink);background:#d8d8d0;align-self:center;min-height:448px;padding:26px;transform:rotate(2.5deg)}.hero-card:before,.hero-card:after{content:"";pointer-events:none;border:1px solid #11130f29;position:absolute;inset:18px}.hero-card:after{border-top:0;border-bottom:0;inset:18px 50%}.hero-card-top{letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;font-size:9px;font-weight:700;display:flex}.hero-monogram{justify-content:center;align-items:center;display:flex;position:absolute;inset:70px 0 100px}.hero-monogram .brand-mark{width:130px;height:130px;font-size:42px}.hero-monogram .brand-mark i{width:6px;height:45px;margin:0 8px}.hero-card-bottom{justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:28px;left:26px;right:26px}.hero-proof{grid-column:1/-1;align-self:end;align-items:center;gap:22px;margin-top:76px;display:flex}.proof-line{background:var(--accent);width:100px;height:1px}.hero-proof p{color:#ffffff8c;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px}.section{padding:122px 7vw}.services{grid-template-columns:minmax(260px,.72fr) minmax(0,1.3fr);gap:8vw;display:grid}.eyebrow.dark{color:#777a72}.section-heading h2{letter-spacing:-.065em;margin:38px 0 34px;font-size:clamp(48px,5vw,76px);line-height:.95}.section-heading>p:last-child{color:#686b63;max-width:440px;margin:0;font-size:16px;line-height:1.7}.service-list{border-top:1px solid #c9cac4}.service-row{border-bottom:1px solid #c9cac4;grid-template-columns:38px minmax(180px,.7fr) minmax(220px,1fr) 28px;align-items:start;gap:20px;padding:31px 0;display:grid}.service-number{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:11px}.service-row h3{letter-spacing:-.025em;margin:0;font-size:19px}.service-row p{color:#686b63;margin:0;font-size:14px;line-height:1.65}.service-arrow{color:inherit;border:1px solid #c9cac4;place-items:center;width:28px;height:28px;font-size:12px;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:grid}.service-arrow:hover,.service-arrow:focus-visible{background:var(--accent);border-color:var(--accent);color:var(--white)}.project{scroll-margin-top:90px}.work-section{background:var(--ink);color:var(--white)}.work-intro{grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw;padding-bottom:76px;display:grid}.work-intro h2,.area-copy h2,.contact h2{letter-spacing:-.075em;margin:30px 0 0;font-size:clamp(54px,6.7vw,102px);line-height:.9}.work-intro>p{color:#fff9;max-width:440px;margin:0;font-size:15px;line-height:1.7}.project{border-top:1px solid var(--line);grid-template-columns:260px 1fr;gap:4vw;padding:72px 7vw 96px;display:grid}.project-three{border-bottom:1px solid var(--line)}.project-meta p{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 30px;font-size:10px}.project-meta h3{letter-spacing:-.045em;margin:0 0 20px;font-size:28px;line-height:1.05}.project-meta>span{color:#ffffff7a;text-transform:uppercase;font-size:11px;line-height:1.6}.photo-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.photo-slot{aspect-ratio:4/3;background-color:#3a3b36;background-image:linear-gradient(90deg,#0000 48%,#ffffff1c 49% 51%,#0000 52%),linear-gradient(#ffffff17 1px,#0000 1px);background-size:110px 56px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:20px;display:flex;position:relative;overflow:hidden}.photo-slot:before{content:"";background:#11130f42;position:absolute;inset:0}.photo-slot:after{background:var(--accent);content:"";width:62%;height:70%;position:absolute;bottom:-44%;right:-12%;transform:rotate(-18deg)}.after-slot{background-color:#777970;background-size:94px 48px}.after-slot:after{width:100%;height:8px;inset:0 0 auto;transform:none}.photo-slot.variant{background-image:linear-gradient(90deg,#0000 48%,#ffffff1f 49% 51%,#0000 52%),linear-gradient(#ffffff1a 1px,#0000 1px);background-size:82px 42px}.photo-slot span,.photo-slot strong{z-index:1;position:relative}.project-photo{aspect-ratio:4/3;background:#252722;margin:0;position:relative;overflow:hidden}.project-photo img{object-fit:cover;width:100%;height:100%;display:block}.project-photo figcaption{background:var(--ink);color:var(--white);letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;font-size:10px;font-weight:780;position:absolute;top:20px;left:20px}.project-photo:last-child figcaption{background:var(--accent);color:var(--ink)}.photo-slot span{background:var(--ink);letter-spacing:.12em;text-transform:uppercase;padding:9px 12px;font-size:10px;font-weight:780}.after-slot span{background:var(--accent);color:var(--ink)}.photo-slot strong{color:#ffffffa6;letter-spacing:.06em;text-transform:uppercase;font-size:13px}.process{grid-template-columns:.82fr 1.18fr;gap:8vw;display:grid}.process-list{border-top:1px solid #c9cac4}.process-step{border-bottom:1px solid #c9cac4;grid-template-columns:40px 1fr;gap:34px;padding:28px 0;display:grid}.process-step>span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:11px}.process-step h3{letter-spacing:-.035em;margin:0 0 10px;font-size:21px}.process-step p{color:#686b63;max-width:550px;margin:0;font-size:14px;line-height:1.65}.service-area{background:var(--accent);grid-template-columns:1fr .85fr;gap:8vw;min-height:660px;display:grid;overflow:hidden}.area-graphic{min-height:440px;position:relative}.mass-map{fill:#ffffff24;stroke:#11130fc7;stroke-linejoin:round;stroke-width:1.8px;width:92%;height:90%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-marker{background:var(--ink);color:var(--white);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:9px;padding:12px 14px;font-size:11px;font-weight:720;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-marker i{background:var(--accent);width:7px;height:7px}.marker-north{top:20%;left:83%}.marker-boston{top:40%;left:88%}.marker-brockton{top:57%;left:52%}.marker-south{top:88%;left:47%}.marker-cape{top:76%;left:88%}.area-copy{align-self:center}.area-copy .eyebrow{color:#11130f9e}.area-copy .eyebrow span{background:var(--ink)}.area-copy>p:not(.eyebrow){max-width:490px;margin:32px 0;font-size:16px;line-height:1.7}.area-copy .text-link{border-color:#11130f59}.testimonials{background:#deddd6}.testimonial-heading{justify-content:space-between;align-items:end;margin-bottom:62px;display:flex}.testimonial-heading h2{letter-spacing:-.065em;text-align:right;margin:0;font-size:clamp(48px,5vw,76px);line-height:.95}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.testimonial-card{background:var(--paper);min-height:310px;padding:28px}.quote-mark{color:var(--accent);height:70px;font-family:Georgia,serif;font-size:66px;line-height:1}.testimonial-card>p{letter-spacing:-.025em;margin:25px 0 52px;font-size:18px;line-height:1.5}.testimonial-card footer{border-top:1px solid #d2d1ca;align-items:center;gap:16px;padding-top:18px;display:flex}.testimonial-card footer>span{color:var(--accent);font-family:var(--font-geist-mono), monospace;font-size:10px}.testimonial-card footer div{flex-direction:column;display:flex}.testimonial-card footer strong{font-size:12px}.testimonial-card footer small{color:#777970;margin-top:4px;font-size:10px}.contact{background:var(--ink);color:var(--white);padding:120px 7vw 32px}.contact-copy{max-width:1000px}.contact-copy>p:last-child{color:#ffffff9e;margin:32px 0 0;font-size:18px;line-height:1.6}.contact-actions{gap:12px;margin:58px 0 112px;display:flex}.contact-button{background:var(--accent);color:var(--ink);min-width:260px}.contact-button.outline{color:var(--white);background:0 0;border:1px solid #ffffff47}.contact-button.outline:hover,.contact-button.outline:focus-visible{border-color:var(--white)}.site-footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;padding-top:30px;display:grid}.footer-social{gap:28px;display:flex}.footer-social a{color:#ffffffad;font-size:12px}.site-footer>p{color:#ffffff6b;justify-self:end;margin:0;font-size:10px}@media (width<=900px){.site-header{grid-template-columns:1fr auto;padding:0 22px}nav{display:none}.hero{grid-template-columns:1fr;padding:158px 24px 54px}.hero-card{width:92%;max-width:440px;min-height:370px;margin-top:72px}.hero-proof{margin-top:70px}.services,.work-intro,.process,.service-area,.project,.testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:auto}.site-footer{grid-template-columns:1fr auto;gap:26px}.site-footer>p{grid-column:1/-1;justify-self:start}}@media (width<=620px){.brand-name{font-size:14px}.header-call span{display:none}.hero{min-height:720px}.hero h1{margin-top:36px;font-size:58px}.hero-actions{flex-direction:column;align-items:flex-start}.section{padding:86px 24px}.service-row{grid-template-columns:34px 1fr 28px}.service-row p{grid-column:2/-1}.service-arrow{grid-area:1/3}.work-intro{padding-bottom:48px}.project{padding:56px 24px 72px}.photo-pair{grid-template-columns:1fr}.area-graphic{min-height:360px}.map-marker{padding:9px 10px;font-size:9px}.marker-north{top:19%;left:82%}.marker-boston{top:39%;left:84%}.marker-brockton{top:57%;left:50%}.marker-south{top:86%;left:46%}.marker-cape{top:75%;left:84%}.testimonial-heading{flex-direction:column;align-items:flex-start;gap:32px}.testimonial-heading h2{text-align:left}.contact{padding:88px 24px 28px}.contact-actions{flex-direction:column;align-items:stretch;margin-bottom:82px}.contact-button{width:100%;min-width:0}.site-footer{flex-direction:column;align-items:flex-start;display:flex}.footer-social{margin-top:10px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
