@font-face{font-family:Fraunces;src:url('../fonts/Fraunces-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Schibsted Grotesk';src:url('../fonts/SchibstedGrotesk-Variable.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
:root{--wine:#4a2531;--peach:#f3cbbb;--paper:#fffaf7;--ink:#392a2e;--muted:#735f65;--line:#dfcbd0;--head:Fraunces,Georgia,serif;--body:'Schibsted Grotesk',Arial,sans-serif;--gutter:clamp(24px,4.2vw,67px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.85 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--head);font-weight:450;line-height:1.12;letter-spacing:-.045em;font-variation-settings:'SOFT' 20,'WONK' 0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:100%;object-fit:cover}address{font-style:normal}[hidden]{display:none!important}::selection{background:var(--peach);color:var(--wine)}:focus-visible{outline:3px solid #b97683;outline-offset:5px}.wrap{max-width:1600px;margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-size:.75rem;line-height:1.8;font-weight:500;letter-spacing:.07em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:55px;padding:13px 21px;border:1px solid transparent;border-radius:4px;font-size:.9375rem;line-height:1.8;font-weight:500}.button>span{font-size:1.4rem;line-height:1}.button-light{background:var(--paper);color:var(--wine)}.button-light:hover{background:var(--peach)}.button-wine{background:var(--wine);color:#fff}.button-wine:hover{background:#713d4e}.skip-link{position:fixed;top:10px;left:10px;z-index:50;transform:translateY(-180%);background:var(--wine);color:#fff;padding:12px 20px}.skip-link:focus{transform:none}
.header{position:relative;padding-block:29px;min-height:112px;display:flex;align-items:center;justify-content:center}.brand{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;background:var(--paper);padding-inline:30px;color:var(--wine)}.brand-title{font:500 2.15rem/1 var(--head);letter-spacing:-.055em;font-variation-settings:'SOFT' 20,'WONK' 0}.brand-title>span{font-weight:400}.brand-subtitle{font-size:.625rem;line-height:1.8;letter-spacing:.2em;font-weight:500;margin-top:8px}.header nav{position:absolute;inset-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:240px}.header nav>div{display:flex;align-items:center;gap:36px}.header nav a{display:flex;align-items:center;min-height:44px;font-size:.9375rem;line-height:1.8}.header nav a:hover{color:#a95768}.header #menu-toggle{display:none}
.hero-scene{position:relative;height:605px;overflow:hidden;background:var(--wine);border-radius:5px}.hero-photo{object-position:50% 65%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,16,22,.57),rgba(26,16,22,.15) 55%,rgba(26,16,22,.25))}.hero-copy{position:absolute;left:35px;right:35px;top:38px;text-align:center;color:#fff}.hero-copy .eyebrow{margin-bottom:23px;text-shadow:0 1px 4px #0006}.hero h1{font-size:clamp(3.7rem,6.3vw,6.3rem);line-height:1.05;font-weight:450;text-shadow:0 2px 12px #0002;letter-spacing:-.05em}.hero .button{margin-top:26px;min-width:210px}.hero-note{position:absolute;left:28px;bottom:23px;color:#fff;font-size:.6875rem;line-height:1.8;letter-spacing:.08em;background:#392a2eaa;padding:7px 12px;border-radius:3px}.hero-bottom{display:flex;justify-content:space-between;gap:50px;align-items:center;padding-block:26px 31px;border-bottom:1px solid var(--line)}.hero-bottom>p{font-size:.9375rem;line-height:1.8;color:var(--muted)}.hero-bottom>a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 27px;font:450 1.75rem/1.5 var(--head);letter-spacing:-.025em;color:var(--wine)}.hero-bottom>a>span:first-child{grid-column:1;font:500 .625rem/1.8 var(--body);letter-spacing:.09em}.hero-bottom>a>span:last-child{grid-column:2;grid-row:1/3;font:400 1.5rem/1 var(--body)}.hero-bottom>a:hover{text-decoration:underline;text-underline-offset:6px}
@media(max-width:1100px){.header nav>div{gap:26px}.header nav{gap:225px}.brand{padding-inline:21px}.brand-title{font-size:2rem}.hero-scene{height:570px}.hero h1{font-size:5.2rem}}
@media(max-width:850px){:root{--gutter:28px}.header{padding-block:24px;min-height:102px}.brand-title{font-size:1.85rem}.brand{padding-inline:19px}.header nav>div{gap:20px}.header nav a{font-size:.875rem}.hero-scene{height:540px}.hero-copy{top:38px;left:26px;right:26px}.hero h1{font-size:4.4rem}.hero-copy .eyebrow{font-size:.6875rem;letter-spacing:.055em}.hero-bottom{gap:40px}.hero-bottom>p{font-size:.875rem}.hero-bottom>a{font-size:1.6rem;gap:4px 22px}}
@media(max-width:700px){:root{--gutter:22px}.header{min-height:96px;justify-content:space-between;flex-wrap:wrap;gap:22px;padding-block:23px}.brand{padding:0;align-items:start}.brand-title{font-size:1.85rem}.brand-subtitle{font-size:.625rem;letter-spacing:.16em;margin-top:7px}.js .header #menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;background:none;border:1px solid var(--line);border-radius:4px;color:var(--wine);padding:8px 13px;font-size:.875rem;min-height:44px}.js .header #menu-toggle>span{font-size:1.3rem;line-height:1}.header nav{position:static;flex-basis:100%;gap:24px;display:flex;justify-content:start;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}.header nav>div{gap:25px}.header nav a{font-size:.9375rem}.js .header nav{display:none}.js .header nav.is-open{display:flex}.hero-scene{height:565px;border-radius:4px}.hero-photo{object-position:50% 65%}.hero-copy{top:35px;left:21px;right:21px}.hero h1{font-size:clamp(3.1rem,9vw,4.4rem);line-height:1.08}.hero-copy .eyebrow{font-size:.6875rem;line-height:1.8;margin-bottom:23px;letter-spacing:.055em}.hero .button{margin-top:28px;font-size:.875rem;padding-inline:19px;gap:32px;min-width:200px}.hero-note{left:17px;bottom:17px;right:17px;font-size:.6875rem;letter-spacing:.04em;text-align:center;padding-inline:10px}.hero-bottom{display:block;padding-block:24px 26px}.hero-bottom>p{font-size:1rem}.hero-bottom>a{margin-top:22px;font-size:1.9rem;gap:5px 25px;max-width:350px}.hero-bottom>a>span:first-child{font-size:.6875rem}.hero-bottom>a>span:last-child{font-size:1.4rem}}
@media(max-width:380px){:root{--gutter:19px}.header{gap:16px}.brand-title{font-size:1.65rem}.js .header #menu-toggle{padding-inline:11px;gap:12px}.hero-copy{left:15px;right:15px;top:30px}.hero h1{font-size:2.95rem}.hero-scene{height:535px}.hero-copy .eyebrow{font-size:.6875rem;letter-spacing:.015em}.hero-note{left:13px;right:13px;font-size:.625rem;letter-spacing:.025em}.hero-bottom>a{font-size:1.8rem}}
@media(max-width:340px){:root{--gutter:17px}.brand-title{font-size:1.5rem}.brand-subtitle{font-size:.625rem}.header{gap:12px}.js .header #menu-toggle{font-size:.8125rem;padding-inline:10px;gap:10px}.hero h1{font-size:2.65rem}.hero-copy{left:14px;right:14px}.hero-scene{height:520px}.hero .button{min-width:190px;font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Open service columns, a staggered photo spread and a quiet company section. */
h1,h2,h3,.brand-title{font-optical-sizing:auto}
.brand-subtitle,.hero-note,.hero-bottom>a>span:first-child,.hero-copy .eyebrow{font-size:.75rem}
.hero-bottom>p{font-size:1rem}
.section-space{padding-top:100px;padding-bottom:100px}
h2{font-size:clamp(2.8rem,4.2vw,4.2rem);color:var(--wine)}
.section-heading{display:grid;grid-template-columns:.6fr 1.35fr 1fr;gap:30px;align-items:end;margin-bottom:61px}
.section-heading>.eyebrow{align-self:start;padding-top:10px}
.section-heading>p:last-child{color:var(--muted);max-width:290px}
.service-list{display:grid;grid-template-columns:repeat(3,1fr)}
.service-list article{display:flex;flex-direction:column;padding-inline:36px;border-left:1px solid var(--line)}
.service-list article:first-child{padding-left:0;border-left:0}.service-list article:last-child{padding-right:0}
.service-number{font-size:.75rem;letter-spacing:.075em;line-height:1.8;color:var(--muted)}
.service-list h3{font-size:2.25rem;margin-block:24px 22px;color:var(--wine)}
.service-list p{color:var(--muted);margin-bottom:26px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;font-size:.9375rem;font-weight:500;line-height:1.7;background:none;border:0;border-bottom:1px solid currentColor;padding:5px 0;color:var(--wine);text-align:left}
.text-link>span{font-size:1.3rem;line-height:1}.text-link:hover{color:#9b425a}
.service-list .text-link{margin-top:auto;align-self:start}
.gallery{background:var(--peach)}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}
.gallery-heading .eyebrow{margin-bottom:23px}.gallery-heading>p{max-width:335px}
.gallery-pair{display:grid;grid-template-columns:1.5fr .85fr;gap:6.5vw;align-items:start}
.photo-frame{overflow:hidden;border-radius:4px}
.people-photo .photo-frame{aspect-ratio:1.42}.people-photo img{object-position:53% 52%}
.loading-photo{margin-top:78px}.loading-photo .photo-frame{aspect-ratio:.9}.loading-photo img{object-position:50% 46%}
.gallery figcaption{display:flex;align-items:center;gap:20px;padding-top:15px;font-size:.875rem}
.gallery figcaption>span{font-size:.75rem;line-height:1.8;border-right:1px solid #b88b84;padding-right:18px}
.photo-disclosure{font-size:.8125rem;line-height:1.7;max-width:640px;margin-top:39px;color:#624039}
.company{display:grid;grid-template-columns:1fr 1.05fr;gap:8vw;align-items:center;padding-block:110px}
.company-photo{position:relative;height:590px;overflow:hidden;border-radius:4px}.company-photo img{object-position:50% 66%}
.company-photo figcaption{position:absolute;left:18px;bottom:18px;background:var(--paper);color:var(--wine);padding:7px 13px;font-size:.8125rem;border-radius:3px}
.company-copy>.eyebrow{margin-bottom:22px}.company-copy h2{margin-bottom:29px}.company-copy>p:not(.eyebrow){color:var(--muted);margin-top:15px;max-width:480px}
.company-location{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.company-location address{margin-top:10px;line-height:1.7}.company-location .text-link{margin-top:9px}
.contact{background:var(--wine);color:var(--paper);padding-block:73px 55px}
.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-bottom:55px}
.contact-heading .eyebrow{color:var(--peach);margin-bottom:25px}.contact-heading h2{color:var(--paper);font-size:clamp(3.1rem,5.5vw,5.5rem)}
.contact-invitation{max-width:345px}.contact-invitation p{color:#efdce2;margin-bottom:25px}
.button-peach{background:var(--peach);color:var(--wine)}.button-peach:hover{background:var(--paper)}
.contact-details{display:grid;grid-template-columns:.85fr 1.1fr 1.1fr;gap:38px;border-top:1px solid #815e6a;padding-top:29px}
.contact-details .eyebrow{display:block;margin-bottom:10px;color:#e6bcb0}.contact-details address{font-size:.9375rem;line-height:1.8}.contact-phone{font-family:var(--head);font-size:1.8rem;line-height:1.5;letter-spacing:-.025em}.contact-email{font-size:.9375rem;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
.footer{display:flex;justify-content:space-between;gap:28px;padding-block:26px;font-size:.8125rem;line-height:1.8;color:var(--muted)}.footer>div{display:flex;gap:28px}.footer a{display:inline-flex;align-items:center;gap:18px;min-height:44px}.footer>p{align-self:center}.footer a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:4px}

/* The request lives in an accessible native dialog at the edge of the page. */
body.dialog-open{overflow:hidden}
#request-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(590px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:29px 37px 35px;border:0;border-left:1px solid var(--line);background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
#request-dialog:not([open]){display:none}#request-dialog::backdrop{background:#24121cad;backdrop-filter:blur(3px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.dialog-top>.eyebrow{font-size:.75rem}
#dialog-close{flex-shrink:0;background:none;color:var(--wine);border:1px solid var(--line);width:44px;height:44px;border-radius:4px;line-height:1;font-size:1.6rem}#dialog-close:hover{background:var(--peach)}
#request-title{font-size:3.2rem;margin-bottom:18px}#request-help{font-size:1rem;line-height:1.75;color:var(--muted);margin-bottom:27px}
#request-form label{display:block;font-size:.875rem;font-weight:500;line-height:1.8;margin-bottom:8px}#request-form label>span{font-size:.75rem;font-weight:400;color:var(--muted)}
#request-form input,#request-form select,#request-form textarea{display:block;width:100%;min-width:0;background:#fff;color:var(--ink);border:1px solid #b999a4;border-radius:4px;font-size:1rem;line-height:1.5;padding:12px 13px;min-height:50px}
#request-form select{padding-right:28px}#request-form textarea{resize:vertical;min-height:146px}#request-form textarea::placeholder{color:#78666d;opacity:1}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-block:22px}.field-row>div{min-width:0}
.form-note{font-size:.8125rem;line-height:1.7;color:var(--muted);margin-block:12px 20px}#prepare-email{width:100%}
#form-output{margin-top:21px;padding:17px;background:#f5e4de;border-radius:4px}#form-status{font-size:.875rem;line-height:1.7}#copy-request{margin-top:10px}#manual-copy textarea{margin-top:15px;min-height:200px;font-size:.875rem;line-height:1.6}
.dialog-direct{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:.875rem;line-height:1.9;overflow-wrap:anywhere}.dialog-direct a{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1600px){.gallery-pair{gap:104px}.company{gap:128px}}
@media(max-width:1100px){.section-heading{grid-template-columns:.55fr 1.2fr 1fr;gap:22px}.service-list article{padding-inline:26px}.service-list h3{font-size:2rem}.company{gap:6vw}.company-photo{height:570px}.contact-details{gap:25px;grid-template-columns:.85fr 1.05fr 1fr}.contact-phone{font-size:1.5rem}}
@media(max-width:850px){.section-space{padding-block:75px}.section-heading{grid-template-columns:1.1fr 1fr;gap:20px 32px;margin-bottom:40px}.section-heading>.eyebrow{grid-column:1/-1;padding-top:0}.section-heading>p:last-child{max-width:none}.service-list article{padding-inline:20px}.service-list h3{font-size:1.8rem}.service-list .text-link{font-size:.875rem;gap:10px}.gallery-heading>p{max-width:250px}.gallery-pair{gap:30px;grid-template-columns:1.35fr .9fr}.loading-photo{margin-top:70px}.people-photo .photo-frame{aspect-ratio:1}.loading-photo .photo-frame{aspect-ratio:.75}.company{gap:5vw;align-items:stretch}.company-photo{height:auto;min-height:590px}.company-copy h2{font-size:2.75rem}.contact-details{grid-template-columns:1fr 1.2fr;gap:25px 30px}.contact-details>div:last-child{grid-column:1/-1}.contact-heading{gap:40px}.contact-invitation{max-width:290px}.footer{align-items:start;gap:20px}.footer>div{gap:20px;flex-shrink:0}}
@media(max-width:700px){
  .brand-subtitle,.hero-note,.hero-bottom>a>span:first-child,.hero-copy .eyebrow{font-size:.75rem}
  .hero-note{line-height:1.6;max-width:290px;margin-inline:auto}.section-space{padding-block:62px}h2{font-size:2.75rem}
  .section-heading{display:block;margin-bottom:36px}.section-heading>.eyebrow{margin-bottom:22px}.section-heading>p:last-child{margin-top:22px;max-width:330px}.section-heading>p:last-child br{display:none}
  .service-list{display:block}.service-list article,.service-list article:first-child,.service-list article:last-child{padding:30px 0;border-left:0;border-top:1px solid var(--line)}.service-list article:first-child{padding-top:0;border-top:0}.service-list article:last-child{padding-bottom:0}.service-list h3{font-size:2.25rem;margin-block:15px 18px}.service-list h3 br{display:none}.service-list p{max-width:530px;margin-bottom:17px}.service-list .text-link{font-size:.9375rem}
  .gallery-heading{display:block;margin-bottom:30px}.gallery-heading>p{max-width:340px;margin-top:22px}.gallery-heading>p br{display:none}.gallery-pair{display:block}.people-photo .photo-frame{aspect-ratio:1.2}.loading-photo{margin-top:31px;width:82%;margin-left:auto}.loading-photo .photo-frame{aspect-ratio:1}.gallery figcaption{gap:14px;line-height:1.7}.photo-disclosure{margin-top:29px}
  .company{display:flex;flex-direction:column;gap:34px}.company-photo{height:420px;min-height:0;width:100%;order:2}.company-copy{order:1}.company-copy>.eyebrow{margin-bottom:20px}.company-copy h2{font-size:2.75rem;margin-bottom:25px}.company-copy>p:not(.eyebrow){max-width:none}.company-location{margin-top:26px;padding-top:24px}.company-photo img{object-position:50% 70%}
  .contact{padding-block:54px 40px}.contact-heading{display:block;padding-bottom:34px}.contact-heading .eyebrow{margin-bottom:22px}.contact-heading h2{font-size:3.35rem}.contact-invitation{max-width:350px;margin-top:28px}.contact-details{display:block;padding-top:27px}.contact-details>div+div{margin-top:23px}.contact-details .eyebrow{margin-bottom:7px}.contact-phone{font-size:1.9rem}.contact-email,.contact-details address{font-size:1rem}.footer{display:block;padding-block:20px}.footer>div{margin-top:8px;justify-content:space-between;gap:16px}
}
@media(max-width:480px){#request-dialog{padding:20px 23px 28px}.dialog-top{gap:10px;margin-bottom:25px}#request-title{font-size:2.75rem}.field-row{display:block;margin-block:20px}.field-row>div+div{margin-top:20px}.dialog-top>.eyebrow{font-size:.75rem;letter-spacing:.03em}}
@media(max-width:380px){.hero-copy .eyebrow{letter-spacing:.01em}.hero-note{font-size:.75rem;letter-spacing:.015em}h2,.company-copy h2{font-size:2.5rem}.gallery figcaption{font-size:.8125rem}.service-list h3{font-size:2rem}.loading-photo{width:90%}.contact-heading h2{font-size:3.05rem}.company-photo{height:370px}.footer{font-size:.75rem}#request-dialog{padding-inline:18px}#request-title{font-size:2.55rem}}
