:root{--paper:#f7f6f2;--green:#203e36;--green-dark:#18342c;--muted:#67716a;--gold:#9d794b;--line:#dcded5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;color:var(--green);background:var(--paper);font-family:var(--sans);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:40px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}p{font-size:1rem;line-height:1.8}h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip-link{position:fixed;left:12px;top:-100px;padding:15px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:12px}.section-shell{width:min(1400px,88%);margin-inline:auto}.site-header{height:112px;width:min(1480px,90%);margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:32px}.brand{font-family:var(--serif);font-weight:500;font-size:2.75rem;line-height:.95;letter-spacing:-.05em}.brand span{font-family:var(--sans);display:block;font-size:.75rem;font-weight:500;letter-spacing:.13em;line-height:2.4;text-align:center}.desktop-nav{display:flex;gap:34px}.desktop-nav a,.header-contact{font-size:.875rem}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;height:1px;background:var(--green);bottom:3px;left:0;width:0;transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-contact{display:flex;align-items:center;gap:24px;padding:12px 0;border-bottom:1px solid var(--green)}.header-contact span{font-size:1.25rem}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:4%;padding-top:58px;padding-bottom:62px;align-items:center;min-height:720px}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.15em;line-height:1.6;display:flex;align-items:center;gap:14px}.short-rule{width:29px;height:1px;background:var(--gold);display:inline-block;flex-shrink:0}.hero h1{font:400 clamp(4.9rem,6.8vw,7.2rem)/.98 var(--serif);letter-spacing:-.035em;margin-top:30px;margin-bottom:28px}.hero h1 em{font-weight:400;color:var(--gold)}.hero-description{color:var(--muted);font-size:1rem;line-height:1.85;max-width:450px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:17px 26px;background:var(--green);color:var(--paper);font-size:.875rem;transition:background .25s,transform .25s}.button:hover{background:var(--green-dark);transform:translateY(-2px)}.button span{font-size:1.2rem;line-height:1}.hero .button{margin-top:32px}.hero-footnote{display:flex;align-items:center;gap:16px;margin-top:43px}.tiny-star{font:2.5rem var(--serif);color:var(--gold)}.hero-footnote p{font-size:.875rem;color:var(--muted);line-height:1.65}.hero-footnote strong{font-weight:500;color:var(--green)}.hero-art{position:relative;align-self:stretch;min-height:550px;padding-left:25px;padding-right:17px;padding-bottom:24px}.hero-photo{height:100%;min-height:550px;max-height:640px;overflow:hidden;border-radius:49% 49% 0 0;position:relative}.hero-photo img{object-position:center 48%}.hero-art:before{content:'';position:absolute;inset:-13px 3px 36px 12px;border:1px solid #b49c75;border-radius:49% 49% 0 0;pointer-events:none}.image-note{position:absolute;bottom:68px;left:-31px;background:var(--paper);padding:24px 30px;box-shadow:0 6px 35px #18342c08}.image-note span{font-size:.75rem;letter-spacing:.12em}.image-note em{font:italic 1.9rem var(--serif);display:block;margin-top:5px}.photo-index{position:absolute;bottom:0;right:17px;font-size:.75rem;letter-spacing:.06em;color:var(--muted)}.occasion-ribbon{display:flex;align-items:center;justify-content:center;gap:3vw;padding:25px 4%;background:var(--green);color:var(--paper);overflow:hidden}.occasion-ribbon span{font:1.5rem var(--serif);white-space:nowrap}.occasion-ribbon i{font-style:normal;color:#c0a87d;font-size:1.5rem}
@media(min-width:1600px){.hero{min-height:790px}.hero-art{min-height:610px}}
@media(max-width:1050px){.desktop-nav{gap:20px}.header-contact{gap:12px}.hero{gap:2%;min-height:640px}.hero h1{font-size:5.5rem}.hero-art{min-height:490px}.hero-photo{min-height:490px}.desktop-break{display:none}.image-note{left:-10px;padding:20px}.occasion-ribbon{gap:22px}.occasion-ribbon span{font-size:1.25rem}}
@media(max-width:760px){:root{scroll-padding-top:20px}.section-shell{width:88%}.site-header{height:89px;width:88%}.brand{font-size:2.35rem}.brand span{font-size:.75rem}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent}.menu-toggle span{display:block;width:19px;height:1px;background:var(--green);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;gap:0;padding:16px 6% 25px;border-bottom:1px solid var(--line)}.mobile-nav a{padding:13px 0;font-size:1rem}.hero{grid-template-columns:1fr;gap:42px;padding-top:40px;padding-bottom:36px}.eyebrow{font-size:.75rem;letter-spacing:.08em;gap:10px}.hero h1{font-size:clamp(4rem,12.7vw,6rem);margin-top:23px;margin-bottom:21px}.hero-description{font-size:1rem;max-width:450px}.hero .button{margin-top:25px}.hero-footnote{display:none}.hero-art{min-height:0;height:auto;aspect-ratio:.86;padding-left:18px;padding-right:12px;padding-bottom:22px;margin-left:14px}.hero-photo{min-height:0;height:100%;max-height:none}.hero-art:before{inset:-10px 1px 31px 8px}.image-note{bottom:51px;left:-24px;padding:17px 22px}.image-note em{font-size:1.7rem}.photo-index{font-size:.75rem;right:12px}.occasion-ribbon{justify-content:flex-start;gap:22px;padding:22px 6%;overflow:auto;scrollbar-width:none}.occasion-ribbon::-webkit-scrollbar{display:none}.occasion-ribbon span{font-size:1.2rem}.occasion-ribbon i{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.section-space{padding-block:112px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:55px}h2{font:400 clamp(3.4rem,4.5vw,4.8rem)/1.02 var(--serif);letter-spacing:-.025em;margin-top:21px}h2 em{font-weight:400;color:var(--gold)}.section-heading>p{max-width:345px;color:var(--muted);padding-bottom:5px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px;align-items:start}.work{margin:0;min-width:0}.work-two{margin-top:70px}.work-three{margin-top:32px}.gallery-open{display:block;width:100%;aspect-ratio:.76;padding:0;border:0;background:#deded5;cursor:zoom-in;overflow:hidden;position:relative}.work-one .gallery-open{aspect-ratio:.84}.gallery-open img{transition:transform .6s ease}.gallery-open:hover img{transform:scale(1.04)}.image-expand{position:absolute;bottom:18px;right:18px;width:40px;height:40px;background:var(--paper);display:grid;place-items:center;font-size:1.3rem;color:var(--green);transition:background .2s}.gallery-open:hover .image-expand{background:white}figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:21px}.work-type{font-size:.75rem;letter-spacing:.11em;color:var(--muted)}h3{font:400 2rem/1.15 var(--serif);letter-spacing:-.015em}figcaption h3{margin-top:8px}.work-number{font:italic 1.5rem var(--serif);color:var(--gold);padding-top:23px}.portfolio-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);margin-top:55px;padding-top:25px}.portfolio-bottom p{color:var(--muted);font-size:.875rem}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;border-bottom:1px solid currentColor;padding:10px 0;font-size:.875rem}.text-link span{font-size:1.25rem;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.occasions{background:#eceee7;padding:90px 0}.occasions-inner{display:grid;grid-template-columns:.88fr 1.12fr;gap:12%}.occasions-intro>p:not(.eyebrow){color:var(--muted);margin-top:24px;max-width:345px}.occasions-intro .text-link{margin-top:24px}.occasion-row{display:grid;grid-template-columns:30px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid #ced2c7}.occasion-row:first-child{padding-top:0}.occasion-row:last-child{border-bottom:0;padding-bottom:0}.occasion-row>span{font-size:.75rem;color:var(--gold);padding-top:8px}.occasion-row h3{font-size:2.1rem}.occasion-row p{color:var(--muted);margin-top:10px;font-size:1rem}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-art{position:relative;padding:0 70px 40px 0;min-width:0;max-width:520px}.about-main{aspect-ratio:.75;min-height:470px}.about-inset{position:absolute;right:0;bottom:72px;border:9px solid var(--paper);width:45%;aspect-ratio:.77}.about-caption{display:block;font-size:.75rem;letter-spacing:.13em;margin-top:20px;color:var(--muted)}.about-copy h2{font-size:clamp(3.4rem,4.2vw,4.6rem);margin-bottom:25px}.about-copy>p:not(.eyebrow){color:var(--muted);margin-top:16px;max-width:450px}.signature{display:flex;align-items:baseline;gap:18px;margin-top:29px;font-size:.875rem;color:var(--muted)}.signature em{font:italic 2.5rem var(--serif);color:var(--gold)}.contact{background:var(--green);color:var(--paper);padding-top:82px}.contact-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center;padding-bottom:69px}.contact .eyebrow{color:#d4d7c9;font-size:.75rem}.contact h2{font-size:clamp(3.5rem,4.8vw,5.5rem);margin-top:25px}.contact h2 em{color:#d4bb91}.contact-copy{padding-top:37px}.contact-copy p{color:#d4d9d2}.button-light{background:var(--paper);color:var(--green);margin-top:27px}.button-light:hover{background:#e4d9c4}.contact-note{display:block;font-size:.75rem;color:#bac7bc;margin-top:17px}.contact-bottom{border-top:1px solid #ffffff25;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:23px;color:#c4d0c6;font-size:.75rem;letter-spacing:.03em}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:145px}.footer>.brand{font-size:2.4rem}.footer>.brand span{font-size:.75rem}.footer>p{font:italic 1.5rem var(--serif);color:var(--muted)}.footer-links{display:flex;gap:24px;font-size:.875rem}.footer-links a:hover{text-decoration:underline;text-underline-offset:5px}.copyright{font-size:.75rem;color:var(--muted)}.lightbox{border:0;padding:0;background:#162b25;color:var(--paper);width:100%;height:100%;max-width:none;max-height:none}.lightbox::backdrop{background:#162b25}.lightbox-content{height:100%;width:min(760px,78%);margin:auto;padding:38px 0 24px;display:flex;flex-direction:column;align-items:center;gap:22px}.lightbox-content img{height:calc(100% - 85px);max-width:100%;object-fit:contain;min-height:0}.lightbox-caption{width:min(480px,100%);display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-caption span{font-size:.75rem;letter-spacing:.08em;color:#c6cdbc}.lightbox-caption h3{margin-top:6px;font-size:1.7rem}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;color:var(--paper);border:1px solid #ffffff45;background:transparent;cursor:pointer;width:48px;height:48px;display:grid;place-items:center;font-size:1.3rem}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:#ffffff16}.lightbox-close{top:22px;right:24px}.lightbox-prev{top:50%;left:25px}.lightbox-next{top:50%;right:25px}body:has(.lightbox[open]){overflow:hidden}
@media(max-width:1050px){.section-space{padding-block:88px}.section-heading{gap:40px}.section-heading>p{max-width:300px}.portfolio-grid{gap:19px}.work h3{font-size:1.7rem}.occasions-inner{gap:7%}.about{gap:7%}.about-art{padding-right:45px}.about-main{min-height:430px}.contact-inner{gap:6%}.contact h2{font-size:4.1rem}.footer{flex-wrap:wrap;gap:25px;padding-block:35px}.footer>p{display:none}}
@media(max-width:760px){.section-space{padding-block:68px}.section-heading{display:block;margin-bottom:34px}h2{font-size:3.6rem;margin-top:17px}.section-heading>p{max-width:420px;margin-top:24px;padding:0}.portfolio-grid{grid-template-columns:1fr;gap:36px}.work-two,.work-three{margin-top:0}.gallery-open,.work-one .gallery-open{aspect-ratio:.88;max-height:570px}.work figcaption h3{font-size:2rem}.portfolio-bottom{align-items:flex-start;flex-direction:column;gap:9px;margin-top:37px;padding-top:21px}.portfolio-bottom p{max-width:280px}.occasions{padding:65px 0}.occasions-inner{grid-template-columns:1fr;gap:45px}.occasions-intro>p:not(.eyebrow){max-width:450px}.occasion-row{gap:15px;padding:25px 0}.occasion-row h3{font-size:2rem}.occasion-row p{font-size:1rem}.about{grid-template-columns:1fr;gap:35px}.about-art{width:100%;max-width:530px;padding-right:65px;padding-bottom:15px}.about-main{min-height:0}.about-inset{bottom:50px}.about-caption{font-size:.75rem;letter-spacing:.075em}.about-copy h2{font-size:3.6rem}.contact{padding-top:62px}.contact-inner{grid-template-columns:1fr;gap:10px;padding-bottom:49px}.contact h2{font-size:3.6rem;max-width:500px}.contact .eyebrow{font-size:.75rem;letter-spacing:.1em}.contact-copy{padding-top:18px}.contact-copy p{max-width:420px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:9px;padding-block:24px}.contact-bottom span{font-size:.75rem}.footer{display:grid;grid-template-columns:1fr auto;padding-block:34px;min-height:0;gap:27px 16px}.footer-links{flex-direction:column;gap:12px}.copyright{grid-column:1/-1}.lightbox-content{width:86%;padding-top:88px;padding-bottom:95px;gap:20px}.lightbox-close{top:18px;right:18px;width:44px;height:44px}.lightbox-prev,.lightbox-next{top:auto;bottom:22px;width:44px;height:44px}.lightbox-prev{left:calc(50% - 57px)}.lightbox-next{right:calc(50% - 57px)}.lightbox-caption h3{font-size:1.65rem}}
@media(max-width:360px){.hero h1{font-size:3.7rem}.eyebrow{letter-spacing:.03em;font-size:.75rem}.short-rule{width:18px}.button{gap:18px;padding-inline:20px}.hero-art{margin-left:7px}.image-note{padding:14px 18px}.image-note em{font-size:1.5rem}.image-note span{font-size:.75rem}h2,.about-copy h2,.contact h2{font-size:3.2rem}}
