*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#ffffff;color:#000000;font:16px/1.7 Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #555555;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;z-index:5}.top{background:#000000;color:white;padding:9px 5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid #dddddd}.logo{font:34px Georgia,serif;letter-spacing:2px}nav{display:flex;gap:30px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase}nav a[aria-current]{border-bottom:1px solid;padding-bottom:4px}.wrap{max-width:1320px;margin:auto;padding:0 6%}section{padding:90px 0;border-bottom:1px solid #dddddd}.eyebrow{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:25px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.08;margin:0 0 28px}h1{font-size:clamp(48px,6.5vw,92px);letter-spacing:-3px}h2{font-size:clamp(34px,4vw,56px);letter-spacing:-1.5px}h3{font-size:30px}em{font-weight:400}p{color:#555555;max-width:600px}img{width:100%;height:100%;object-fit:cover;display:block}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;padding:64px 0 80px}.hero figure{height:580px;margin:0}.hero p{max-width:480px}.button{display:inline-block;border:1px solid #000000;background:#000000;color:white;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;padding:19px 26px;margin-top:20px;cursor:pointer}.textlink{display:inline-block;border-bottom:1px solid;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding-bottom:7px;margin-top:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.sectionhead{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.sectionhead h2{margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:30px}.card figure{height:390px;margin:0 0 24px}.card p{max-width:450px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.steps h3{font-size:25px}.number{font:italic 24px Georgia,serif;color:#555555;display:block;margin-bottom:18px}.occasion{padding:25px 0;border-top:1px solid #dddddd;display:flex;gap:30px;flex-wrap:wrap;font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.cta{text-align:center;background:#ffffff;padding:80px 6%;margin:0}.cta p{margin:20px auto}.faq{max-width:760px;margin:0 auto}details{padding:22px 0;border-bottom:1px solid #dddddd}summary{cursor:pointer;font-size:16px}.pageintro{max-width:850px;padding:75px 0 50px}.pageintro h1{font-size:clamp(48px,6vw,80px)}.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.package{border-top:1px solid #000000;padding:30px 0}.package h3{margin:15px 0}.package .price{font:28px Georgia,serif;margin-top:28px;color:#000000}.package ul{padding-left:18px;color:#555555}.fine{font-size:12px;color:#666666}.toggle{display:flex;gap:10px;margin:25px 0}.toggle button{padding:12px 25px;border:1px solid #bbbbbb;background:transparent;cursor:pointer}.toggle button[aria-pressed=true]{background:#000000;color:white;border-color:#000000}.quote{font:italic 36px/1.3 Georgia,serif;max-width:700px}.aboutimg{height:500px}.form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;font-size:10px;letter-spacing:1px;text-transform:uppercase;gap:9px}.field input,.field select,.field textarea{width:100%;background:transparent;padding:14px;border:1px solid #bbbbbb;border-radius:0;font:15px Arial,sans-serif;color:#000000}.wide{grid-column:1/-1}.draft{background:#f2f2f2;padding:12px 5%;font-size:12px;text-align:center}footer{padding:55px 6%}.footrow{display:flex;justify-content:space-between;gap:20px;margin-top:30px;font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.footlinks{display:flex;gap:20px}.status{white-space:pre-line;border-top:1px solid #ccc;padding-top:20px}@media(max-width:760px){header{align-items:flex-start;gap:20px;flex-direction:column}nav{gap:22px;flex-wrap:wrap}.top{font-size:8px;letter-spacing:1px}.hero,.split,.grid2,.pricegrid{grid-template-columns:1fr;gap:35px}.hero{padding-top:45px}.hero figure{height:420px}h1{letter-spacing:-2px}section{padding:60px 0}.sectionhead{display:block}.sectionhead .textlink{margin-top:25px}.steps{grid-template-columns:1fr;gap:25px}.card figure{height:330px}.footrow{flex-direction:column}.form{grid-template-columns:1fr}.field{grid-column:1}.aboutimg{height:400px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Alternating monochrome sections, with color reserved for photography. */
.dark-section{background:#000;color:#fff;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax);border-color:#333}
.dark-section p,.dark-section .fine,.dark-section .number{color:#ccc}
.dark-section .occasion{border-color:#555}
.dark-section :focus-visible,.cta :focus-visible,footer :focus-visible{outline-color:#fff}
.cta{background:#000;color:#fff;border-color:#333}
.cta p{color:#ccc}.cta .button{background:#fff;color:#000;border-color:#fff}
footer{background:#000;color:#fff;border-top:1px solid #333}
.image-story{padding:0;border:0}
.image-story figure{position:relative;margin:0;height:500px;background:#000}
.image-story img{object-position:50% 48%}
.image-story figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 70%);pointer-events:none}
.image-story figcaption{position:absolute;bottom:40px;left:40px;right:30px;z-index:1;color:#fff}
.image-story figcaption .eyebrow{display:block;margin-bottom:18px}
.image-story figcaption>span:last-child{font:48px/1.1 Georgia,serif;letter-spacing:-1px}
.inquiry-photo{margin:0 0 35px;height:310px}.inquiry-photo img{object-position:50% 35%}
@media(max-width:760px){.image-story figure{height:420px}.image-story figcaption{left:25px;bottom:30px}.image-story figcaption>span:last-child{font-size:38px}.inquiry-photo{height:330px}}

/* Color is revealed only through interaction; original photographs stay intact. */
.photo-reveal{position:relative;display:block;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:0;background:#000;cursor:pointer;overflow:hidden;color:#fff;text-align:inherit;font:inherit;touch-action:manipulation}
.photo-reveal img{filter:grayscale(1);transition:filter .55s ease;pointer-events:none}
.photo-reveal[aria-pressed="true"] img{filter:grayscale(0)}
@media(hover:hover) and (pointer:fine){.photo-reveal:hover img{filter:grayscale(0)}}
.photo-reveal:focus-visible{outline:3px solid #fff;outline-offset:-7px;box-shadow:inset 0 0 0 10px #000}
.photo-hint{position:absolute;bottom:14px;right:14px;padding:5px 9px;background:rgba(0,0,0,.75);color:#fff;font:9px/1.5 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;pointer-events:none}
.image-story figcaption{pointer-events:none}.image-story .photo-hint{bottom:auto;top:15px}
.editorial-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:35px}
.editorial-gallery figure{height:390px;margin:0}.editorial-gallery img{object-position:center}
.photo-instruction{font-size:12px;letter-spacing:.3px}
.hero figure img{object-position:50% 30%}.inquiry-photo{height:440px}.inquiry-photo img{object-position:50% 30%}
@media(max-width:760px){.editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.editorial-gallery figure{height:290px}.hero figure{height:520px}.inquiry-photo{height:420px}}
@media(max-width:440px){.editorial-gallery{grid-template-columns:1fr}.editorial-gallery figure{height:420px}}
@media(prefers-reduced-motion:reduce){.photo-reveal img{transition:none}}

/* Original Crespita typography restored. */
body{font-family:"DM Sans",Arial,sans-serif}.logo,h1,h2,h3,.package .price,.number,.quote,.image-story figcaption>span:last-child{font-family:"Italiana",Georgia,serif}h1,h2{text-transform:uppercase}.field input,.field select,.field textarea,.photo-hint{font-family:"DM Sans",Arial,sans-serif}
