:root{--paper:#fcfbf8;--ink:#252723;--line:#c9c9bf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #535c4c;outline-offset:6px}header{margin:0 4.5%;padding:37px 0 26px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{font-family:Georgia,serif;font-size:27px;letter-spacing:.055em;line-height:1.2}nav{display:flex;gap:30px;font-size:11px;text-transform:uppercase;letter-spacing:.13em}nav a[aria-current=page]{border-bottom:1px solid;padding-bottom:3px}.menu{display:none;background:none;border:0;font:inherit}main{max-width:1600px;margin:auto}.wrap{margin:0 4.5%}.eyebrow,.caption{font-size:10px;text-transform:uppercase;letter-spacing:.16em}.hero{margin-top:26px}.hero img{width:100%;height:clamp(330px,49vw,710px);object-fit:cover;display:block}.hero-caption{display:flex;justify-content:space-between;padding:13px 0;gap:25px}.intro{padding:105px 0 112px;display:grid;grid-template-columns:1fr 2fr;gap:50px;border-bottom:1px solid var(--line)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;margin:0}h1{font-size:clamp(34.4px,4.08vw,60.8px);letter-spacing:-.04em}h2{font-size:clamp(36px,4.3vw,64px);letter-spacing:-.035em}h3{font-size:31px}p{max-width:530px}.intro p{margin-top:28px}.text-link{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.13em;padding-bottom:5px;border-bottom:1px solid;margin-top:22px}.text-link span{margin-left:25px;font-size:17px}.section-head{display:flex;justify-content:space-between;align-items:baseline;padding:34px 0 40px}.work{display:grid;grid-template-columns:1.4fr 1fr;gap:7%;align-items:start}.work figure{margin:0}.work figure:nth-child(2){margin-top:130px}.work img{width:100%;height:530px;object-fit:cover;display:block}.work figure:nth-child(2) img{height:440px}.work figcaption{border-top:1px solid var(--line);margin-top:15px;padding-top:14px;display:flex;justify-content:space-between;gap:15px;font-family:Georgia,serif;font-size:24px}.work small{font-family:Arial,sans-serif;font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding-top:7px}.services-home{margin-top:115px;border-top:1px solid var(--line);padding:90px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%}.services-home ul{padding:0;list-style:none;margin:10px 0 20px}.services-home li{border-bottom:1px solid var(--line);padding:14px 0;font-family:Georgia,serif;font-size:26px}.invite{border-top:1px solid var(--line);text-align:center;padding:95px 20px 110px}.invite p{margin:25px auto}footer{margin:0 4.5%;border-top:1px solid var(--line);padding:30px 0;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.page-title{padding:75px 0 65px}.page-title h1{margin-top:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-bottom:110px}.split img{width:100%;height:630px;object-fit:cover}.split h2{font-size:46px}.service-row{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;padding:42px 0;border-top:1px solid var(--line)}.service-row p{margin:0}.service-list{padding-bottom:80px}.portfolio .work{padding-bottom:100px}.note{font-size:12px;color:#60645c;max-width:600px}.contact-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:12%;padding-bottom:110px}.contact-layout p{margin-top:0}form{display:grid;grid-template-columns:1fr 1fr;gap:30px 25px}label{display:block;font-size:11px;letter-spacing:.07em}input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #92958c;border-radius:0;padding:12px 0;color:var(--ink);font:15px Arial}textarea{min-height:110px;resize:vertical}.full{grid-column:1/-1}form button{justify-self:start;background:transparent;border:0;border-bottom:1px solid var(--ink);padding:8px 0;cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase}#status{font-size:12px;margin:0}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:9}@media(min-width:1600px){header,footer{max-width:1456px;margin:auto}}@media(max-width:800px){header{padding:28px 0 20px;flex-wrap:wrap}.wordmark{font-size:24px}nav{gap:22px;flex-wrap:wrap}.intro{padding:65px 0;grid-template-columns:1fr;gap:25px}.work{gap:6%}.work img{height:380px}.work figure:nth-child(2){margin-top:90px}.work figure:nth-child(2) img{height:310px}.work figcaption{display:block;font-size:24px}.work small{display:block}.services-home{gap:7%;margin-top:75px;padding:65px 0}.split{gap:6%}.split img{height:470px}.service-row{grid-template-columns:35px 1fr 1.1fr;gap:18px}.contact-layout{gap:6%}footer{flex-wrap:wrap}}@media(max-width:560px){header,.wrap,footer{margin-left:6%;margin-right:6%}.menu{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em}nav{display:none;width:100%;padding:20px 0 4px;gap:20px}nav.open{display:flex}.hero{margin-top:20px}.hero img{height:390px}.hero-caption{font-size:8px;letter-spacing:.1em}.intro{padding:62px 0}.work{display:block}.work img{height:410px}.work figure:nth-child(2){margin-top:55px;margin-left:16%}.work figure:nth-child(2) img{height:360px}.section-head{padding-top:27px}.services-home,.split,.contact-layout{grid-template-columns:1fr;gap:35px}.services-home{padding:60px 0}.invite{padding:65px 0 80px}.page-title{padding:55px 0 45px}.split{padding-bottom:65px}.split img{height:440px}.service-row{grid-template-columns:25px 1fr;padding:30px 0}.service-row p{grid-column:2}.contact-layout{padding-bottom:70px}form{grid-template-columns:1fr}.full{grid-column:auto}footer{font-size:8px}.split h2{font-size:38px}}

/* Preserve the uploaded hero composition within the existing container. */
.hero .home-hero-image{height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:50% 15%}


/* Softer scale for the services introduction and closing invitation. */
h2.soft-heading{font-size:clamp(28.8px,3.44vw,51.2px)}

/* Painted overflow extends the invitation without widening the scroll area. */
.invite-full-width{position:relative;box-shadow:0 0 0 100vmax #F1EEE8;clip-path:inset(-1px -100vmax)}
.invite-full-width::before,.invite-full-width::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);box-shadow:0 0 0 100vmax var(--line);clip-path:inset(0 -100vmax);pointer-events:none}
.invite-full-width::before{top:-1px}
.invite-full-width::after{bottom:0}

/* Keep the header in flow while revealing navigation on upward scroll. */
header{position:sticky;top:0;z-index:100;background:var(--paper);transition:transform 220ms ease;isolation:isolate}
header::before{content:"";position:absolute;inset:0;background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);z-index:-1;pointer-events:none}
header.header-hidden{transform:translateY(calc(-100% - 2px))}
@media(prefers-reduced-motion:reduce){header{transition:none}}

/* Shared social links above the original footer row. */
footer{display:block}
.footer-row{display:flex;justify-content:space-between;gap:20px}
.footer-social{display:flex;flex-direction:column;align-items:center;padding:7px 0 36px}
.footer-follow{font-size:10px;letter-spacing:.16em}
.footer-social-rule{width:28px;height:1px;background:var(--line);margin:8px 0 9px}
.footer-social-icons{display:flex;gap:20px;align-items:center}
.footer-social-icons a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--ink)}
.footer-social-icons svg{display:block;width:19px;height:19px}
@media(max-width:800px){.footer-row{flex-wrap:wrap}}
@media(max-width:560px){.footer-social{padding:4px 0 30px}}

/* Align footer information to the social group’s center axis. */
.footer-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
.footer-row>span:first-child{text-align:left}
.footer-row>span:nth-child(2){text-align:center}
.footer-row>span:last-child{text-align:right}
.footer-social{padding-bottom:27px}
.footer-social-icons{gap:0}
.footer-social-icons a{width:43px;height:44px}
@media(max-width:560px){.footer-social{padding-bottom:21px}.footer-row{grid-template-columns:1fr;gap:12px}.footer-row>span:first-child,.footer-row>span:nth-child(2),.footer-row>span:last-child{text-align:center}}
