:root{--cream:#f8f5ef;--paper:#f1ece3;--sand:#d9cbbb;--taupe:#a38f7c;--brown:#543f32;--ink:#302820;--rust:#a76348;--line:rgba(84,63,50,.2);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:16px;top:-60px;padding:10px 14px;background:var(--brown);color:white;z-index:9}.skip-link:focus{top:12px}.site-header{height:94px;padding:0 6.2vw;display:flex;align-items:center;justify-content:space-between;background:var(--cream);position:relative;z-index:5}.wordmark{display:flex;flex-direction:column;line-height:1}.wordmark-main{font:500 21px var(--serif);letter-spacing:.01em}.wordmark-sub{font-size:8px;letter-spacing:.27em;margin-top:8px}.nav-links{display:flex;gap:38px;align-items:center;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.nav-links>a{transition:opacity .2s}.nav-links>a:hover,.footer-links a:hover{opacity:.62}.nav-cta{border:1px solid var(--line);padding:11px 17px}.nav-cta span{margin-left:14px}.menu-toggle{display:none}.hero{min-height:650px;height:min(780px,calc(100vh - 94px));padding:0 6.2vw 68px;position:relative;display:grid;grid-template-columns:.91fr 1.09fr;align-items:center;gap:5.2vw}.hero-copy{padding:3vw 0 0 2.4vw;z-index:1}.eyebrow{display:flex;gap:12px;align-items:center;text-transform:uppercase;font-size:9px;letter-spacing:.2em;color:var(--rust);margin:0 0 23px}.eyebrow-line{display:inline-block;width:31px;height:1px;background:var(--rust)}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.04em;line-height:1.12}h1{font-size:clamp(54px,6.1vw,88px);margin-bottom:27px}h1 em,h2 em{font-weight:500;color:var(--rust)}.hero-intro{max-width:365px;color:#756b60;font-size:14px;line-height:1.9;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 19px;min-width:218px;text-transform:uppercase;letter-spacing:.12em;font-size:9px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--brown);color:var(--cream)}.button-dark:hover{background:#6b5141}.button span{font-size:16px}.hero-note{margin:26px 0 0;color:#928476;font:italic 13px var(--serif)}.hero-visual{height:90%;max-height:670px;position:relative;background:var(--sand)}.hero-visual:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(163,143,124,.55);z-index:-1}.hero-visual img{object-position:50% 35%;filter:saturate(.82)}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:15px 18px;background:linear-gradient(transparent,rgba(24,17,13,.55));color:white;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.hero-stamp{position:absolute;right:-39px;top:50px;border-radius:50%;width:105px;height:105px;background:#eee5d8;color:var(--brown);display:flex;align-items:center;justify-content:center;text-align:center;font:13px/1.1 var(--serif);transform:rotate(9deg);box-shadow:0 4px 22px #46372a1f}.hero-stamp em{color:var(--rust)}.hero-bottom{position:absolute;bottom:24px;left:6.2vw;right:6.2vw;display:flex;justify-content:space-between;color:#887b6e;font-size:8px;letter-spacing:.17em}.hero-bottom a span{padding-left:8px;color:var(--rust)}.section-pad{padding-left:10vw;padding-right:10vw}.intro{padding-top:150px;padding-bottom:160px;background:var(--paper);display:grid;grid-template-columns:.6fr 1.4fr;position:relative}.intro-label{padding-top:15px;display:flex;align-items:center;gap:11px;align-self:start;color:var(--rust);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.intro-label .eyebrow-line{width:22px}.intro h2{font-size:clamp(35px,4.3vw,58px);max-width:850px;margin:0 0 26px}.intro p{font-size:13px;color:#81776b;margin:0;max-width:480px}.intro-sun{position:absolute;bottom:48px;right:12vw;font-size:33px;color:#bb9275}.work{padding-top:135px;padding-bottom:145px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:56px}.section-heading h2,.experience h2,.about h2,.contact h2{font-size:clamp(43px,5.2vw,69px);margin:0}.section-aside{max-width:310px;font-size:12px;color:#80766b;line-height:1.9;margin:0 0 5px}.category-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:250px 265px;gap:20px}.category-card{position:relative;overflow:hidden;background:var(--sand);color:white}.category-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(23,16,12,.65));transition:opacity .3s}.category-card img{transition:transform .7s;filter:saturate(.75)}.category-card:hover img{transform:scale(1.04)}.card-portrait{grid-column:1;grid-row:1 / 3}.card-events{grid-column:2;grid-row:1}.card-family{grid-column:3;grid-row:1}.card-engagement{grid-column:2;grid-row:2}.card-maternity{grid-column:3;grid-row:2}.card-number{position:absolute;top:17px;left:18px;font:italic 13px var(--serif);z-index:1}.category-name{position:absolute;left:22px;bottom:40px;z-index:1;font:27px var(--serif)}.category-name span{font:14px var(--sans);margin-left:11px}.card-sub{position:absolute;left:23px;bottom:20px;z-index:1;text-transform:uppercase;font-size:8px;letter-spacing:.14em;color:#f1e8df}.about{background:#e9e0d4;display:grid;grid-template-columns:1fr 1fr;min-height:680px}.about-photo{position:relative;min-height:580px}.about-photo img{object-position:50% 40%;filter:saturate(.78)}.image-note{position:absolute;bottom:26px;left:28px;color:white;font:italic 14px var(--serif)}.about-copy{padding:11% 12%;align-self:center}.about-copy .eyebrow{margin-bottom:27px}.about-copy h2{margin-bottom:29px}.about-copy p{font-size:12px;color:#75695d;line-height:2;max-width:470px}.about-copy .about-lede{font:italic 21px/1.55 var(--serif);color:var(--brown);max-width:420px;margin-bottom:22px}.text-link{display:inline-block;margin-top:17px;padding-bottom:7px;border-bottom:1px solid var(--rust);font-size:9px;letter-spacing:.15em;text-transform:uppercase}.text-link span{margin-left:15px;color:var(--rust);font-size:14px}.signature{display:block;margin-top:32px;font:italic 29px var(--serif);color:var(--rust);transform:rotate(-6deg);transform-origin:left}.experience{padding-top:143px;padding-bottom:140px}.experience-top{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;align-items:end}.experience-top .eyebrow{grid-column:1 / -1}.experience-top h2{grid-column:1;margin-bottom:0}.experience-top>p:last-child{max-width:330px;color:#81766b;font-size:12px;line-height:1.9;margin:0 0 7px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:82px;border-top:1px solid var(--line)}.steps article{padding-top:23px}.step-no{color:var(--rust);font:italic 14px var(--serif)}.steps h3{font:22px var(--serif);font-weight:500;margin:21px 0 10px}.steps article p{max-width:270px;color:#81766b;font-size:11px;line-height:1.9}.quote-band{background:#705748;color:var(--cream);text-align:center;padding:89px 20px 77px;position:relative}.quote-mark{font:76px/.7 var(--serif);color:#d2b89e}.quote-band blockquote{max-width:660px;margin:22px auto 18px;font:italic 26px/1.5 var(--serif)}.quote-band>p{font-size:8px;letter-spacing:.19em;color:#e0d3c6;margin:0}.quote-index{position:absolute;right:6vw;bottom:26px;color:#dfcdbd;font-size:8px;letter-spacing:.16em}.contact{position:relative;text-align:center;padding-top:135px;padding-bottom:132px;overflow:hidden}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(49px,6vw,78px)}.contact-copy{margin:24px 0 27px;color:#80766b;font-size:13px}.button-light{background:var(--brown);color:var(--cream)}.button-light:hover{background:#6b5141}.contact-small{font-size:9px;color:#9b8c7c;margin-top:17px}.contact-orb{position:absolute;right:17%;top:80px;color:#c9ae97;font-size:45px}.site-footer{background:#e9e0d4;padding:47px 6.2vw 25px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;row-gap:30px}.footer-mark .wordmark-main{font-size:18px}.site-footer>p{text-align:center;color:#857668;font:italic 13px var(--serif);margin:0}.footer-links{display:flex;justify-content:flex-end;gap:23px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.site-footer small{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:20px;text-align:center;font-size:8px;letter-spacing:.17em;color:#958575}
@media(min-width:1450px){.hero{padding-left:max(6.2vw,calc((100vw - 1380px)/2));padding-right:max(6.2vw,calc((100vw - 1380px)/2))}.section-pad{padding-left:max(10vw,calc((100vw - 1160px)/2));padding-right:max(10vw,calc((100vw - 1160px)/2))}}
@media(max-width:900px){.site-header{padding:0 5vw}.hero{padding-left:5vw;padding-right:5vw;gap:4vw;min-height:600px}.hero-copy{padding-left:0}.hero-stamp{right:-20px;width:85px;height:85px}.hero-bottom{left:5vw;right:5vw}.section-pad{padding-left:7vw;padding-right:7vw}.intro{grid-template-columns:.5fr 1.5fr}.category-grid{grid-template-rows:220px 220px}.about-copy{padding:8%}.about-photo{min-height:540px}.experience-top{column-gap:25px}.site-footer{padding-left:5vw;padding-right:5vw}}
@media(max-width:640px){.site-header{height:76px}.wordmark-main{font-size:18px}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:12px 7vw 25px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.nav-links.is-open{display:flex}.nav-links>a{padding:14px 0;border-bottom:1px solid var(--line)}.nav-links .nav-cta{padding:14px 0;border-left:0;border-right:0;border-top:0}.menu-toggle{display:flex;width:40px;height:40px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:21px;height:1px;background:var(--brown);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:58px 7vw 66px;gap:43px}.hero-copy{padding:0}.eyebrow{font-size:8px;margin-bottom:18px}.hero h1{font-size:59px}.hero-intro{font-size:13px;max-width:320px}.hero-visual{height:390px;margin-right:10px}.hero-visual:after{inset:12px -12px -12px 12px}.hero-stamp{right:-18px;top:28px}.hero-bottom{position:static;margin-top:2px;display:flex;flex-wrap:wrap;gap:11px 20px;font-size:7px;letter-spacing:.12em}.hero-bottom a{width:100%}.section-pad{padding-left:7vw;padding-right:7vw}.intro{padding-top:84px;padding-bottom:104px;display:block}.intro-label{margin-bottom:30px}.intro h2{font-size:39px}.intro p{font-size:12px}.intro-sun{right:9vw;bottom:28px;font-size:25px}.work{padding-top:92px;padding-bottom:95px}.section-heading{display:block;margin-bottom:35px}.section-heading h2,.experience h2,.about h2{font-size:48px}.section-aside{margin-top:22px;max-width:370px}.category-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px;gap:12px}.card-portrait{grid-column:1 / -1;grid-row:1}.card-events{grid-column:1;grid-row:2}.card-family{grid-column:2;grid-row:2}.card-engagement{grid-column:1;grid-row:3}.card-maternity{grid-column:2;grid-row:3}.category-name{font-size:22px;left:14px;bottom:37px}.category-name span{margin-left:4px}.card-sub{font-size:7px;left:14px;bottom:17px;letter-spacing:.08em}.card-number{top:12px;left:14px}.about{grid-template-columns:1fr}.about-photo{min-height:420px;height:100vw;max-height:520px}.about-copy{padding:70px 8vw 76px}.about-copy .about-lede{font-size:20px}.experience{padding-top:94px;padding-bottom:95px}.experience-top{display:block}.experience-top .eyebrow{margin-bottom:20px}.experience-top>p:last-child{margin-top:20px}.steps{grid-template-columns:1fr;gap:14px;margin-top:45px}.steps article{padding-top:18px}.steps h3{margin:11px 0 5px;font-size:20px}.steps article p{max-width:420px;margin-bottom:4px}.quote-band{padding:71px 8vw 75px}.quote-band blockquote{font-size:21px}.quote-index{right:7vw;bottom:19px;font-size:7px}.contact{padding-top:100px;padding-bottom:97px}.contact h2{font-size:55px}.contact-orb{right:9%;top:49px;font-size:27px}.site-footer{grid-template-columns:1fr 1fr;padding:36px 7vw 23px;row-gap:20px}.site-footer>p{display:none}.footer-links{gap:14px;font-size:8px}.site-footer small{padding-top:17px;font-size:7px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
