
:root{--paper:#f5f2eb;--ink:#253e32;--muted:#667368;--line:#253e3230;--rose:#e6d7cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}p,h1,h2,h3{margin:0}h1,h2,h3,.serif{font-family:Georgia,serif;font-weight:400;line-height:1.05}h2{font-size:clamp(39px,5.1vw,76px);letter-spacing:-2px}h3{font-size:30px;letter-spacing:-.6px}em{font-weight:400}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase}.notice{background:var(--ink);color:#faf6ee;font-size:9px;letter-spacing:1px;text-align:center;padding:7px 15px}header{height:97px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4%;background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}nav{display:flex;gap:24px;font-size:12px}.brand{text-align:center;font:italic 31px Georgia;white-space:nowrap}.brand small{display:block;font:8px Arial;letter-spacing:3px;margin-top:10px;text-transform:uppercase}.header-contact{justify-self:end;font-size:12px;border-bottom:1px solid;padding:6px 0}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;height:calc(100svh - 127px);min-height:600px;max-height:950px;color:#fff9ed;background:#45503b;overflow:hidden}.hero>img{position:absolute;inset:0;object-position:center 52%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101e17ad,transparent 88%),linear-gradient(0deg,#10281b66,transparent 45%)}.hero-copy{position:absolute;z-index:1;left:6%;top:18%;max-width:760px}.hero h1{font-size:clamp(60px,7.6vw,112px);letter-spacing:-4.5px;line-height:1.02;margin:25px 0 30px}.hero p{max-width:330px;font-size:14px;color:#fff9eae0}.pill{display:inline-flex;gap:36px;align-items:center;border:1px solid;padding:17px 26px;border-radius:40px;font-size:12px;transition:background .2s,color .2s}.hero .pill{margin-top:30px}.hero .pill:hover{background:var(--paper);color:var(--ink)}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;z-index:1;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.hero-bottom a{font-size:19px}.intro{padding:90px 12% 100px;text-align:center}.intro h2{font-size:clamp(30px,3.4vw,50px);line-height:1.24;margin:30px auto 24px;max-width:1000px}.intro .serif{font-size:28px;font-style:italic;color:#88917c}.section{padding:70px 6% 100px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:42px}.section-head h2{margin-top:18px}.section-head p{max-width:290px;color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card-photo{height:430px;position:relative;overflow:hidden;background:#d6d5c8}.card-photo img{transition:transform .7s}.card:hover img{transform:scale(1.04)}.card:nth-child(2){padding-top:65px}.card:nth-child(3) .card-photo img{object-position:86% center}.card-photo .round{position:absolute;bottom:20px;right:20px;background:var(--paper);width:45px;height:45px;border-radius:100%;display:grid;place-items:center;font-size:22px}.caption{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.caption h3{font-size:28px}.caption span{font-size:10px}.card p{margin-top:9px;font-size:12px;color:var(--muted)}.image-note{font-size:10px;color:var(--muted);margin-top:28px}.wedding{position:relative;min-height:750px;display:grid;grid-template-columns:1fr 1fr;background:#e5d9ce}.wedding-visual{position:relative;min-height:660px}.wedding-visual img{position:absolute;inset:0}.wedding-copy{padding:90px 13%;align-self:center}.wedding h2{margin:24px 0 28px}.wedding p{margin-bottom:32px;max-width:370px;font-size:13px}.wedding .serif{font-size:25px;margin-top:45px;font-style:italic}.services{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;padding:115px 7%}.services h2{margin:20px 0 25px}.services-intro>p{max-width:310px;font-size:13px;color:var(--muted)}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:23px;padding:26px 0;font:26px Georgia}summary::-webkit-details-marker{display:none}summary .n{font:10px Arial;color:#7e897a}summary .plus{margin-left:auto;font:24px Arial;font-weight:200}details[open] .plus{transform:rotate(45deg)}.service-body{padding:0 35px 30px;font-size:13px;color:var(--muted)}.service-body a{display:inline-block;color:var(--ink);border-bottom:1px solid;margin-top:15px}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);padding:100px 7%;gap:12%;align-items:center}.story-number{font:clamp(135px,20vw,300px)/.9 Georgia;letter-spacing:-14px;border-bottom:1px solid #fff3;padding-bottom:35px}.story-number span{font:italic 24px Georgia;display:block;letter-spacing:0;margin-top:28px}.story h2{font-size:52px;margin:20px 0 25px}.story p{font-size:13px;color:#e2e6d7;margin:20px 0 30px}.gallery{background:#ecebe2}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.filters button{background:none;border:1px solid var(--line);border-radius:30px;font-size:11px;padding:10px 20px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px}.gallery-item{border:0;padding:0;background:none;text-align:left;min-width:0}.gallery-item img{height:345px;transition:filter .2s}.gallery-item:hover img{filter:brightness(.92)}.gallery-item:first-child img{object-position:80%}.gallery-item span{display:block;margin-top:13px;font-size:11px}.gallery-item[hidden]{display:none}.contact{padding:100px 7%;display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:center}.contact h2{margin:20px 0 35px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-grid h3{font:10px Arial;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:15px}.contact-grid p{font-size:13px}.contact-grid a{border-bottom:1px solid}.contact-mark{aspect-ratio:1;background:#e3e5d7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50% 50% 0 0;padding:35px}.contact-mark .flower{font:100px Georgia;color:#687b57}.contact-mark h3{font-size:38px;margin:10px 0 20px}.contact-mark p{font-size:12px;margin-bottom:25px}.contact-mark a{font-size:11px;border-bottom:1px solid}footer{background:var(--ink);color:var(--paper);padding:50px 6% 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:40px}.footer-top .brand{text-align:left;font-size:38px}.footer-links{display:flex;gap:25px;font-size:12px}.footer-bottom{border-top:1px solid #fff3;padding-top:20px;display:flex;justify-content:space-between;font-size:9px;gap:25px;color:#d4dacc}dialog{border:0;padding:0;width:min(800px,90vw);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0b1c15d9}dialog img{height:65vh;object-fit:contain;background:#16251e}dialog .dialog-footer{padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}dialog button{border:1px solid;border-radius:25px;padding:9px 20px;background:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ae7e5e;outline-offset:5px}@media(min-width:1500px){.hero-copy{top:23%}}@media(max-width:1000px){nav{gap:12px;font-size:11px}.brand{font-size:27px}.card-photo{height:320px}.wedding-copy{padding:55px 10%}.services{gap:6%}.gallery-item img{height:280px}}@media(max-width:700px){header{height:80px;grid-template-columns:1fr auto 1fr;padding:0 5%}.brand{font-size:25px}.brand small{font-size:7px;letter-spacing:2px}.menu-toggle{display:block;justify-self:start;font-size:12px;padding:9px 0}.header-contact{font-size:11px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:25px 6%;flex-direction:column;gap:20px;border-bottom:1px solid var(--line);font-size:16px}nav.open{display:flex}.hero{height:720px;min-height:0;max-height:none}.hero>img{object-position:62%}.hero:after{background:linear-gradient(90deg,#101e1799,#101e1720),linear-gradient(0deg,#10281b66,transparent)}.hero-copy{top:18%;left:7%;right:5%}.hero h1{font-size:64px;letter-spacing:-3px}.hero p{max-width:270px}.hero-bottom{font-size:8px}.intro{padding:65px 7%}.intro h2{font-size:33px}.section{padding:55px 6% 65px}.section-head{display:block;margin-bottom:28px}.section-head p{margin-top:20px}.cards{grid-template-columns:1fr;gap:35px}.card:nth-child(2){padding-top:0}.card-photo{height:420px}.caption h3{font-size:32px}.wedding{grid-template-columns:1fr}.wedding-visual{min-height:460px}.wedding-copy{padding:55px 7%}.wedding h2{font-size:50px}.services{grid-template-columns:1fr;padding:65px 7%;gap:35px}summary{font-size:24px}.story{grid-template-columns:1fr;padding:65px 7%;gap:45px}.story-number{font-size:170px;letter-spacing:-8px}.story h2{font-size:46px}.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-item img{height:360px}.contact{grid-template-columns:1fr;padding:65px 7%;gap:45px}.contact-mark{max-width:450px;width:100%;justify-self:center}.contact-grid{gap:15px}.footer-top{display:block}.footer-links{margin-top:30px;flex-wrap:wrap}.footer-bottom{display:block}.footer-bottom p{margin-top:10px}dialog img{height:50vh}.notice{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.category-letter{height:100%;width:100%;padding:12%;display:flex;flex-direction:column;justify-content:center;background:#e3e6d9}.category-letter>span{font:42px/1.15 Georgia}.category-letter small{font-size:9px;letter-spacing:2px;margin-top:35px}.remembrance{background:#e4d9cf}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item img{object-position:center}.hero>img{object-position:65% center}.wedding-visual img{object-position:center}@media(max-width:700px){.gallery-grid{grid-template-columns:1fr}.hero>img{object-position:60% center}.hero:after{background:linear-gradient(90deg,#101e17c9,#101e1740)}} 
/* Identità più visibile e palette salvia luminosa */
:root{--paper:#faf7f0;--ink:#3e5547;--muted:#626f61;--line:#526d4930;--sage:#dce5ce;--sage-deep:#637e58}
.notice{background:#dce5ce;color:#3e5547}
header{height:156px;grid-template-columns:1fr auto 1fr;grid-template-rows:105px 51px;padding:0 5%;background:#faf7f0}
header .brand{grid-column:1/-1;grid-row:1;font-size:62px;line-height:1;color:#526f45;letter-spacing:-1.6px}
header .brand small{font-size:9px;letter-spacing:3px;margin-top:12px;color:#53624e}
header nav{grid-column:2;grid-row:2;justify-content:center;align-self:start;padding-top:9px;gap:32px}
header .header-contact{grid-column:3;grid-row:2;align-self:start;padding-top:8px}
html{scroll-padding-top:170px}
.hero{height:calc(100svh - 185px)}
.hero:after{background:linear-gradient(90deg,rgba(23,34,24,.58),rgba(23,34,24,.14) 52%,transparent 78%),linear-gradient(0deg,rgba(23,34,24,.34),transparent 35%)}
.hero-copy{text-shadow:0 1px 5px #14201955}
.story{background:#dce5ce;color:#3e5547}.story p{color:#455d49}.story-number{border-color:#526d4950}
.gallery{background:#edf0e5}.contact-mark{background:#e3ead6}.category-letter{background:#e5ecd9}
footer{background:#d2dec4;color:#3e5547}.footer-bottom{border-color:#526d4940;color:#455a49}
.filters button[aria-pressed=true]{background:#5d7753;color:#fff}.footer-top .brand{font-size:46px}
@media(max-width:700px){header{height:136px;grid-template-rows:88px 48px;padding:0 6%}header .brand{font-size:42px;letter-spacing:-1px}header .brand small{font-size:8px;letter-spacing:2px;margin-top:10px}.menu-toggle{grid-column:1;grid-row:2;align-self:start;padding-top:10px}header .header-contact{grid-column:3;grid-row:2}header nav{position:absolute;top:136px;left:0;right:0;grid-column:auto;grid-row:auto;padding:25px 6%;gap:20px;background:var(--paper)}html{scroll-padding-top:150px}.hero{height:720px}.hero:after{background:linear-gradient(90deg,#142019ad,#14201945 62%,#14201915),linear-gradient(0deg,#14201955,transparent 35%)}.footer-top .brand{font-size:38px}}
@media(max-width:360px){header .brand{font-size:36px}}


.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.card:nth-child(2){padding-top:0}.card-photo{height:440px}.card:nth-child(3) .card-photo img{object-position:center}.card-photo img{object-position:center}.category-intro{padding:55px 6% 35px;max-width:1100px}.category-intro h1{font-size:clamp(42px,6vw,82px);letter-spacing:-2px;margin:18px 0 22px}.category-intro p{max-width:670px;font-size:16px}.breadcrumb{font-size:12px;margin-bottom:30px}.category-links{display:flex;flex-wrap:wrap;gap:10px;padding:0 6% 35px}.category-links a{border:1px solid var(--line);border-radius:30px;padding:9px 18px;font-size:12px}.category-links a[aria-current=page]{background:var(--ink);color:var(--paper)}.category-gallery{padding-top:30px}.category-gallery .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.category-gallery .gallery-item img{height:340px;object-fit:contain;background:#e1e4d9;object-position:center}.category-gallery .gallery-item span{font-size:12px;line-height:1.5;margin-bottom:14px}.category-cta{padding:60px 6%;background:#dce5ce;text-align:center}.category-cta h2{font-size:clamp(32px,4vw,48px)}.category-cta p{max-width:600px;margin:22px auto}.category-cta .pill{margin:8px}.category-gallery .filters{margin-top:0}.category-gallery .image-note{font-size:12px;margin:0 0 25px}.gallery-item:focus-visible{outline-offset:4px}dialog{max-height:92svh}dialog .dialog-footer p{font-size:13px}dialog .dialog-footer button{flex-shrink:0}.skip{position:fixed;top:-80px;left:15px;background:var(--paper);padding:12px;z-index:10}.skip:focus{top:10px}
@media(max-width:900px){.category-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-photo{height:350px}}
@media(max-width:700px){.cards{grid-template-columns:1fr;gap:34px}.card-photo{height:410px}.category-intro{padding-top:35px}.category-intro h1{font-size:45px}.category-gallery .gallery-grid{grid-template-columns:1fr}.category-gallery .gallery-item img{height:auto;max-height:520px;object-fit:contain}.category-links{gap:8px}.category-links a{padding:8px 13px}.category-gallery .filters button{font-size:12px;padding:10px 15px}.category-cta .pill{gap:18px}.gallery-item img{object-position:center!important}}
