:root{--paper:#eeece5;--ink:#292a27;--muted:#5f5b54;--taupe:#afa193;--line:#c8c1b7;--display:'Italiana',Georgia,serif;--serif:'Playfair Display SC',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}p,h1,h2,h3,figure{margin:0}img{display:block;width:100%;height:100%;object-fit:cover}p+p{margin-top:16px}.announcement{background:var(--ink);color:var(--paper);text-align:center;padding:9px 20px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.announcement span{padding:0 12px}header{text-align:center}.wordmark{font:48px/1.2 var(--display);letter-spacing:-.05em;display:inline-block}.wordmark span{letter-spacing:-.025em}header>.wordmark{padding:20px 20px 19px}nav{display:flex;justify-content:center;gap:105px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero{height:650px;position:relative;color:#fff;display:grid;place-items:center;text-align:center;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:-2;object-position:center 55%}.hero-shade{position:absolute;inset:0;z-index:-1;background:#15161270}.hero-copy{padding:35px 20px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.7}.hero h1{font:clamp(48px,5.8vw,80px)/1.08 var(--display);letter-spacing:-.025em;margin:24px 0}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.65}.button{display:inline-block;padding:13px 28px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;margin-top:28px;transition:background .2s}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#d7c9bf}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#64584e}.hero-foot{position:absolute;bottom:23px;font-size:10px;letter-spacing:.16em}.section{padding:95px max(7vw,24px)}h2{font:clamp(38px,4.3vw,60px)/1.12 var(--display);letter-spacing:-.025em}h3{font-weight:400}.about{position:relative;display:grid;grid-template-columns:.72fr 1.2fr;gap:95px;align-items:center;max-width:1360px;margin:auto;padding-block:115px}.about-photo{height:365px;border:7px solid var(--portfolio-pink);outline:1px solid var(--line);transform:rotate(-5deg);max-width:295px;margin:auto}.about-copy{max-width:535px}.about h2{margin:16px 0 24px}.about p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--ink);font-size:12px;letter-spacing:.05em;padding-bottom:5px;margin-top:25px}.about-side{position:absolute;right:22px;top:120px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.14em;display:flex;gap:28px}.services{background:var(--ink);color:var(--paper)}.section-title{text-align:center;margin-bottom:45px}.section-title h2{font-size:44px;margin-top:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;max-width:1110px;margin:auto}.service-grid img{height:305px;filter:saturate(.6)}.service-grid article:nth-child(2) img{object-position:60% center}.service-grid h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:19px 0 12px}.service-grid h3 span{color:#bfb6ab;margin-right:7px}.service-grid p{color:#c9c6be;font-size:15px;line-height:1.7}.scope{font-size:12px;text-align:center;color:#c0b8ad;margin-top:40px}.arrangements{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center;max-width:1280px;margin:auto;padding-block:110px}.arrangement-photo{height:565px;border:7px solid #faf8f1;outline:1px solid var(--line);transform:rotate(-3deg)}.arrangement-copy h2{margin:19px 0 28px;font-size:48px}.option{padding-top:23px;margin-top:23px;border-top:1px solid var(--line)}.option h3{font:22px/1.4 var(--serif);margin-bottom:9px}.option p{font-size:15px;color:var(--muted)}.portfolio{background:#dfd9cf}.portfolio-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.portfolio-heading h2{margin-top:16px}.portfolio-heading>p{font-size:14px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.work-placeholder{aspect-ratio:1.15;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #b5a99b}.pink{background:#e6d8d2}.sage{background:#d7dacf}.taupe{background:#c7b8a7}.work-placeholder>span{font:50px var(--display);color:#675d53}.work-placeholder>p{font:25px var(--display);margin-top:12px}.work-placeholder>small{font-size:9px;letter-spacing:.15em;position:absolute;bottom:20px;color:#665d54}figcaption{font-size:12px;letter-spacing:.04em;margin-top:13px}.portfolio-note{font-size:12px;color:var(--muted);margin-top:25px}.inquiry{position:relative;isolation:isolate;display:flex;align-items:center;min-height:535px;padding:70px 12%;color:#fff}.inquiry>img{position:absolute;inset:0;z-index:-2;object-position:center 65%}.inquiry-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171915d9,#17191575);z-index:-1}.inquiry h2{margin:20px 0 24px;font-size:64px}.inquiry-copy>p:not(.eyebrow){color:#e2e1dc}.form-status{font-size:12px;margin-top:17px}.form-status:target{outline:1px solid #fff;outline-offset:8px}footer{padding:50px 7vw 0}.footer-main{display:flex;justify-content:space-between;gap:35px;align-items:center}.footer-main>div{font-size:13px}.footer-main>div p{margin:0}.footer-main .text-link{margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding:22px 0;margin-top:35px;font-size:11px;color:var(--muted)}.skip{position:fixed;top:-100px;left:15px;padding:10px;background:var(--paper);z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{height:760px}}@media(max-width:1000px){.hero{height:570px}.about{gap:55px}.service-grid{gap:25px}.service-grid img{height:250px}.arrangements{gap:50px}.arrangement-copy h2{font-size:40px}.arrangement-photo{height:530px}.about-side{display:none}.section{padding-inline:6vw}.portfolio-heading h2{font-size:42px}}@media(max-width:650px){.announcement{font-size:9px;letter-spacing:.08em}.announcement span{padding:0 3px}header>.wordmark{font-size:40px;padding:16px}nav{gap:0;justify-content:space-between;padding:12px 24px;font-size:10px}.hero{height:555px}.hero h1{font-size:52px}.hero .eyebrow{font-size:9px;max-width:260px;margin:auto}.hero-copy>p:not(.eyebrow){font-size:16px}.hero-foot{font-size:8px;letter-spacing:.09em}.section{padding:65px 25px}.about{grid-template-columns:1fr;gap:38px}.about-photo{width:190px;height:210px;margin-left:10px}.about-copy{max-width:none}.about h2{font-size:46px}.service-grid{grid-template-columns:1fr;gap:37px}.service-grid img{height:335px}.service-grid h3{font-size:14px}.service-grid p{font-size:16px}.section-title h2{font-size:39px}.arrangements{grid-template-columns:1fr;gap:44px}.arrangement-photo{height:420px;max-width:330px;width:90%;margin:auto}.arrangement-copy h2{font-size:43px}.option p{font-size:16px}.portfolio-heading{display:block}.portfolio-heading>p{margin-top:20px}.portfolio-grid{grid-template-columns:1fr;gap:27px}.work-placeholder{aspect-ratio:1.3}.inquiry{padding:65px 25px;min-height:510px}.inquiry h2{font-size:49px}.desktop{display:none}.footer-main{align-items:flex-start;flex-direction:column;gap:25px}.footer-bottom{flex-direction:column;gap:8px}footer{padding-inline:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Current brand refinements */
:root{--black-sheep:#2d2a29;--portfolio-pink:#e6d8d2}
.announcement,.services{background:var(--black-sheep)}
.work-placeholder.pink,.work-placeholder.sage,.work-placeholder.taupe{background:var(--portfolio-pink)}
.hero-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow),.service-grid article>p,.option>p,.inquiry-copy>p:not(.eyebrow):not(.form-status),.add-ons p:not(.eyebrow){font-family:'Montserrat',Arial,sans-serif;font-size:16px;line-height:1.8}
/* Vogue awaits a licensed file. Bodoni Moda is the explicit temporary alternative. */
.wordmark{font-family:'Bodoni Moda',Didot,serif;color:#79685b;text-shadow:-1px -1px 1px #fffdf7,1px 1px 1px #47362c,2px 2px 3px #b9b0a6;letter-spacing:-.035em}
.add-ons{border-top:1px solid var(--line);background:#e7e3db}
.add-ons-intro{max-width:640px;margin:20px auto 0;color:var(--muted)}
.add-ons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;max-width:1110px;margin:auto}
.add-ons-grid h3,.shared-vision h3{font:25px/1.3 var(--display);margin-bottom:15px}
.add-ons-grid p,.shared-vision p{color:var(--muted)}
.shared-vision{border-top:1px solid var(--line);padding-top:32px;margin:42px auto 0;max-width:1110px}
.shared-vision p{max-width:920px}
.verse-mark{font:12px/1.5 Georgia,serif;letter-spacing:.06em;color:#79685b;padding:0 0 24px;cursor:default}
@media(max-width:650px){.add-ons-grid{grid-template-columns:1fr;gap:30px}.wordmark{font-size:40px}.footer-main .wordmark{max-width:100%}}

/* Consistent Black Sheep call-to-action buttons. */
.button.light,.button.dark{background:var(--black-sheep);color:#f6f2eb;border:1px solid var(--black-sheep)}
.button.light:hover,.button.dark:hover{background:#443f3c;border-color:#443f3c}
.add-ons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 50px}
@media(max-width:650px){.add-ons-grid{grid-template-columns:1fr;gap:30px}}

.inquiry-copy{max-width:760px}
.inquiry-steps{margin:27px 0 0;padding-left:23px;max-width:650px;font:14px/1.7 'Montserrat',Arial,sans-serif;color:#e2e1dc}
.inquiry-steps li{padding-left:7px;margin-top:16px}
.inquiry-steps strong{display:block;font-weight:500;color:#fff}
.inquiry-steps span{display:block;margin-top:4px}

.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.instagram-link{font-size:12px;line-height:1.6}.instagram-link span,.instagram-link strong{display:block}.instagram-link strong{font-weight:500;font-size:16px}.instagram-link:hover strong{text-decoration:underline}
.contact-section{border-top:1px solid var(--line);margin-top:45px;padding-top:45px;display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}
.contact-section h2{font-size:40px;margin:12px 0 20px}.contact-section>div>p:not(.eyebrow){font:15px/1.8 'Montserrat',Arial,sans-serif;color:var(--muted);max-width:360px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-section label{display:block;font-size:13px;margin-bottom:18px}
.contact-section input,.contact-section textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #afa69a;background:#f8f5ef;color:var(--ink);border-radius:0;font:16px/1.5 'Montserrat',Arial,sans-serif}.contact-section textarea{resize:vertical}.contact-section input:focus,.contact-section textarea:focus{outline:2px solid var(--black-sheep);outline-offset:2px}
.contact-section .button{margin-top:0;cursor:pointer;font-family:inherit}.contact-section .button:disabled{opacity:.55;cursor:not-allowed}#contact-status{font-size:12px;margin-top:15px;color:var(--muted)}
@media(max-width:650px){.contact-section{grid-template-columns:1fr;gap:28px}.contact-fields{grid-template-columns:1fr;gap:0}}

/* Questions first, brand footer last. */
main>.contact-section{margin:0;padding:65px 7vw;border-top:0;border-bottom:1px solid var(--line)}
#contact-send:disabled{opacity:1;background:var(--black-sheep);border-color:var(--black-sheep);color:#f6f2eb;cursor:not-allowed}
#contact-status:empty{display:none}
@media(max-width:650px){main>.contact-section{padding:55px 25px}}

/* About: photo and introduction first, biography below. */
.about{grid-template-columns:240px minmax(0,1fr);gap:34px 64px;align-items:center;max-width:1100px}
.about-photo{grid-column:1;grid-row:1;width:220px;height:270px;transform:rotate(-3deg)}
.about-intro{grid-column:2;grid-row:1;max-width:560px}
.about-intro h2{margin:16px 0 0}
.about-copy{grid-column:1/-1;grid-row:2;max-width:850px;margin-inline:auto}
.about-side{display:none}

/* Additional services: consistent rows with enough width to read. */
.add-ons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 64px;max-width:1060px}
.add-ons-grid article{min-width:0;border-top:1px solid var(--line);padding:25px 0 29px}
.add-ons-grid h3{font:clamp(26px,2.8vw,32px)/1.2 var(--display);margin:0 0 12px}
.add-ons-grid p{max-width:58ch;margin:0}


/* Keep the footer identity and social link in one readable stack. */
.footer-main{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-identity{font-size:13px;line-height:1.8}
.footer-links{align-items:flex-start;gap:18px;margin-top:4px}

/* One seal-skin button treatment with an animated underline. */
.button,.contact-section .button{position:relative;background:var(--black-sheep);border:1px solid var(--black-sheep);color:#f6f2eb}
.button.light:hover,.button.dark:hover,.contact-section .button:hover{background:var(--black-sheep);border-color:var(--black-sheep)}
.button::after{content:"";position:absolute;left:27px;right:27px;bottom:9px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s ease}
.button:hover::after,.button:focus-visible::after{transform:scaleX(1)}
.button:disabled::after{display:none}

@media(max-width:900px){
  .add-ons-grid{grid-template-columns:1fr;max-width:680px}
  .about{grid-template-columns:220px minmax(0,1fr);gap:28px 35px}
}
@media(max-width:650px){
  .about{grid-template-columns:minmax(125px,38%) minmax(0,1fr);gap:25px 22px;align-items:center}
  .about-photo{width:100%;height:190px;margin:0}
  .about-intro h2{font-size:clamp(33px,8vw,46px)}
  .about-intro .eyebrow{font-size:9px}
  .about-copy{grid-column:1/-1;margin:0}
  .add-ons-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.button::after{transition:none}}

/* Subtle photographer credit on Melony’s About portrait. */
.about-photo{position:relative;overflow:hidden}
.about-photo img{object-position:center 44%}
.photo-credit{position:absolute;right:8px;bottom:7px;color:rgba(45,42,41,.38);font:8px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.01em}

/* Portfolio rails can be swiped on touch screens or moved with the arrow buttons. */
.portfolio-heading>p{max-width:290px;text-align:right}
.portfolio-gallery+.portfolio-gallery{margin-top:65px}
.portfolio-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.portfolio-gallery-head h3{font:clamp(25px,3vw,34px)/1.2 var(--display)}
.portfolio-controls{display:flex;gap:8px}
.portfolio-arrow{width:42px;height:42px;border:1px solid var(--black-sheep);background:transparent;color:var(--black-sheep);font:22px/1 Georgia,serif;cursor:pointer;transition:background .2s,color .2s}
.portfolio-arrow:hover,.portfolio-arrow:focus-visible{background:var(--black-sheep);color:var(--paper)}
.portfolio-arrow:focus-visible{outline:2px solid var(--black-sheep);outline-offset:3px}
.portfolio-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#a3968b transparent;padding:1px 1px 16px}
.portfolio-slide{flex:0 0 min(400px,72vw);scroll-snap-align:start;min-width:0}
.portfolio-empty{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--portfolio-pink);border:1px solid #b5a99b;color:#675d53}
.portfolio-empty.video{aspect-ratio:4/5}
.portfolio-slot{font:clamp(52px,7vw,76px)/1 var(--display)}
.portfolio-kind{font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.portfolio-slide figcaption{color:var(--muted)}
@media(max-width:650px){.portfolio-heading>p{max-width:none;text-align:left}.portfolio-gallery+.portfolio-gallery{margin-top:52px}.portfolio-track{gap:16px}.portfolio-slide{flex-basis:78vw}}

/* Working Together reads as one column after removing its photo. */
.arrangements{display:block;max-width:900px}
.arrangement-copy{max-width:760px;margin-inline:auto}

/* Native, user-initiated playback for the two personal content reels. */
.portfolio-slide.video-slide{flex-basis:min(330px,72vw)}
.portfolio-video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#211c1a;border:1px solid #b5a99b}
.portfolio-arrow:disabled{opacity:.35;cursor:default}
.portfolio-arrow:disabled:hover{background:transparent;color:var(--black-sheep)}

/* One four-post client set, shown in a clean swipeable frame. */
.static-gallery{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(340px,1fr);gap:56px;align-items:center;max-width:1000px;margin-inline:auto}
.static-gallery .portfolio-gallery-head{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin:0}
.static-gallery .portfolio-gallery-head>div:first-child{max-width:31ch}
.portfolio-client{font:18px/1.55 'Montserrat',Arial,sans-serif;margin-top:17px;color:var(--ink)}
.portfolio-client strong{font-weight:500}
.portfolio-swipe-hint{font-size:12px;color:var(--muted);margin-top:12px}
.portfolio-stack{max-width:460px;width:100%}
.static-gallery .portfolio-track{gap:0;padding:0;scrollbar-width:none;background:#fff}
.static-gallery .portfolio-track::-webkit-scrollbar{display:none}
.static-gallery .portfolio-slide{flex:0 0 100%;min-width:0}
.portfolio-post-frame{aspect-ratio:4/5;padding:8px;background:var(--portfolio-pink)}
.portfolio-post-frame img{width:100%;height:100%;object-fit:contain}
.static-gallery .portfolio-slide figcaption{font-size:11px;margin:9px 0 0;text-align:center}
.video-gallery{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(340px,1fr);gap:56px;align-items:center;max-width:1000px;margin-inline:auto}
.video-gallery .portfolio-gallery-head{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin:0}
.video-gallery .portfolio-track{width:min(100%,460px);gap:0;padding:0;scrollbar-width:none}
.video-gallery .portfolio-track::-webkit-scrollbar{display:none}
.video-gallery .portfolio-slide.video-slide{flex:0 0 100%}
.video-gallery .portfolio-video{aspect-ratio:4/5;object-fit:contain;background:var(--portfolio-pink);border:8px solid var(--portfolio-pink);opacity:.65;transform:scale(.975);transition:opacity .38s ease,transform .38s ease}
.video-gallery .video-slide.is-active .portfolio-video{opacity:1;transform:scale(1)}
.video-gallery .portfolio-slide figcaption{font-size:11px;margin:9px 0 0;text-align:center}
@media(max-width:900px){.static-gallery{display:block;max-width:540px}.static-gallery .portfolio-gallery-head{flex-direction:row;align-items:end;justify-content:space-between;margin-bottom:25px}.static-gallery .portfolio-gallery-head>div:first-child{max-width:32ch}.portfolio-stack{max-width:460px}}
@media(max-width:900px){.video-gallery{display:block;max-width:540px}.video-gallery .portfolio-gallery-head{flex-direction:row;align-items:end;justify-content:space-between;margin-bottom:25px}}
@media(max-width:650px){.static-gallery .portfolio-gallery-head{align-items:end;gap:12px}.portfolio-client{font-size:16px}.portfolio-swipe-hint{font-size:11px}.portfolio-stack{width:100%}}
@media(prefers-reduced-motion:reduce){.video-gallery .portfolio-video{transition:none}}
