:root{--paper:#f5f2e9;--ink:#293a30;--muted:#697366;--line:#d8dace;--gold:#d7c9a3;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #aa7945;outline-offset:6px}img{display:block;max-width:100%}h1,h2,p,figure,blockquote{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.045em}h2{font-size:clamp(40px,4.4vw,72px)}em{font-weight:400}.section-wrap{max-width:1600px;margin:auto;padding:0 7%}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.23em;line-height:1.5}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid currentColor;padding:10px 0;font-size:13px}.text-link span{font-size:19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:15px 24px;font-size:13px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:19px}.button-light{background:var(--paper);color:var(--ink)}.button-dark{background:var(--ink);color:var(--paper)}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--paper);padding:12px 22px}.skip-link:focus{top:12px}
.header{height:106px;position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 5%;color:var(--paper);border-bottom:1px solid #ffffff26;transition:background .25s,color .25s}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{border-radius:50%;width:46px;height:46px}.brand>span{font-family:var(--serif);font-size:29px;line-height:1.05;letter-spacing:-.02em}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.25em;margin-top:8px}.header nav{display:flex;gap:34px;align-items:center;font-size:12px}.header nav>a:not(.nav-visit){position:relative}.header nav>a:not(.nav-visit):after{content:'';position:absolute;bottom:-5px;height:1px;background:currentColor;left:0;width:0;transition:width .2s}.header nav>a:hover:after{width:100%}.nav-visit{padding:12px 19px;border:1px solid #ffffff70;display:flex;gap:30px;align-items:center}.nav-visit:hover{background:#ffffff18}.menu-toggle{display:none}
.journey{height:280svh;position:relative;background:#22362c}.journey-stage{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;color:var(--paper);isolation:isolate}.film{position:absolute;inset:0;transform:scale(1.015);transform-origin:53% 43%;will-change:transform}.film-poster,#garden-film{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 43%}#garden-film{opacity:0}.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0c191951 0%,#101d172a 30%,#10271c47 65%,#102319b8 100%),linear-gradient(90deg,#0b1a1435,transparent 70%);pointer-events:none}.hero-copy{position:absolute;left:6%;right:6%;top:50%;transform:translateY(-46%);text-align:center;will-change:opacity,transform}.hero-copy .eyebrow{margin-bottom:22px;color:#f3ead9}.hero-copy h1{font-size:clamp(72px,8.9vw,142px);letter-spacing:-.04em;text-shadow:0 2px 35px #0b1b1740}.hero-copy h1 em{color:#ede6d1}.hero-description{font-size:15px;line-height:1.65;margin-top:26px;color:#edece3;letter-spacing:.015em}.hero-copy .button{margin-top:28px}.hero-bottom{position:absolute;left:5%;right:5%;bottom:35px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;font-size:11px;z-index:3}.hero-location{line-height:1.6;letter-spacing:.025em}.hero-location>span{opacity:.7}.scroll-cue{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.18em;white-space:nowrap}.scroll-line{width:1px;height:40px;background:#ffffff68;position:absolute;bottom:32px;left:50%}.scroll-arrow{font-size:21px}.motion-control{background:transparent;border:0;border-bottom:1px solid #ffffff60;color:#e8e7dc;font-size:10px;line-height:1.7;padding:4px 0}.arrival-copy{position:absolute;bottom:24%;left:8%;opacity:0;transform:translateY(30px);pointer-events:none;will-change:transform,opacity}.arrival-copy p{font-family:var(--serif);font-size:clamp(54px,6vw,92px);line-height:1.04;letter-spacing:-.03em;margin-top:22px}.journey-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff20}.journey-progress span{display:block;width:100%;height:100%;background:#e5d8b4;transform:scaleX(0);transform-origin:left}
.intro{padding-top:80px;padding-bottom:78px}.section-kicker{display:flex;justify-content:space-between;gap:20px;padding-bottom:28px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.section-kicker .eyebrow{color:var(--ink)}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding:65px 0}.intro-grid h2 em{color:#7a8663}.intro-text{max-width:420px;padding-top:7px;font-size:15px;color:#626b60}.intro-text p+p{margin-top:20px}.intro-text .text-link{margin-top:22px;color:var(--ink)}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.facts>div{display:flex;flex-direction:column;padding-left:22%;border-right:1px solid var(--line)}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts strong{font-family:var(--serif);font-weight:400;font-size:33px;line-height:1.3;letter-spacing:-.025em}.facts span{font-size:11px;color:var(--muted);margin-top:6px}
.spaces{padding-top:40px;padding-bottom:110px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:18px}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.6;padding-bottom:6px}.spaces-grid{display:grid;grid-template-columns:1fr 1.17fr 1fr;gap:24px}.space-card{display:block;border:0;padding:0;background:transparent;text-align:left;min-width:0}.space-card:nth-child(2){padding-top:64px}.space-card:nth-child(3){padding-top:120px}.photo-wrap{display:block;position:relative;overflow:hidden;height:400px}.photo-wrap img{height:100%;width:100%;object-fit:cover;transition:transform .8s}.space-card:nth-child(1) .photo-wrap img{object-position:50% 63%}.space-card:nth-child(2) .photo-wrap{height:345px}.space-card:nth-child(2) .photo-wrap img{object-position:48% 50%}.space-card:nth-child(3) .photo-wrap{height:340px}.space-card:hover img{transform:scale(1.04)}.photo-open{position:absolute;right:14px;bottom:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f5f2e9e8;color:var(--ink)}.space-caption{display:flex;justify-content:space-between;gap:6px;align-items:center;padding-top:16px}.space-caption>span:first-child{font-family:var(--serif);font-size:25px;line-height:1.2}.space-caption small{font-family:var(--sans);font-size:9px;vertical-align:middle;display:inline-block;margin-right:10px;color:var(--muted)}.space-caption>span:last-child{font-size:9px;color:var(--muted)}
.care{background:var(--ink);color:var(--paper);overflow:hidden}.care-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:12%;padding-top:100px;padding-bottom:110px;align-items:center}.care-photos{position:relative;padding-right:18%;padding-bottom:80px}.bride-portrait{height:490px;overflow:hidden;background:#604929}.bride-portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.95);transform-origin:22% 50%;object-position:50% 50%}.bride-detail{position:absolute;bottom:35px;right:0;width:45%;height:245px;overflow:hidden;border:7px solid var(--ink)}.bride-detail img{width:100%;height:100%;object-fit:cover;transform:scale(1.4);object-position:50% 65%}.photo-note{position:absolute;bottom:0;left:0;font-family:var(--serif);font-style:italic;font-size:18px;color:#c8c9b7}.care-copy .eyebrow{color:#c2c8b3;margin-bottom:28px}.care-copy h2{font-size:clamp(40px,4.1vw,66px);margin-bottom:27px}.care-copy h2 em{color:#d6d1b9}.care-copy>p:not(.eyebrow){color:#c6cebf;font-size:14px;line-height:1.8;margin-top:18px;max-width:410px}.care-copy blockquote{font-family:var(--serif);font-size:25px;line-height:1.2;border-left:1px solid #93a080;padding-left:23px;margin:30px 0 20px}.care-copy cite{display:block;font:10px var(--sans);margin-top:12px;color:#bdc4b6}.care-copy .text-link{font-size:12px}
.stories{padding-top:100px;padding-bottom:110px}.story-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center;padding-top:18px}.story-image{width:100%;max-width:335px;margin:auto;position:relative}.story-image img{width:100%;height:410px;border-radius:180px 180px 0 0;object-fit:cover;object-position:center 58%}.story-image>span{display:block;font-family:var(--serif);font-size:17px;font-style:italic;text-align:center;margin-top:17px;color:var(--muted)}.quote-panel{padding-right:3%}.quote-mark{font-family:var(--serif);font-size:92px;line-height:.6;color:#9caa8a;display:block}.quote-panel blockquote{font-family:var(--serif);font-size:clamp(28px,2.7vw,43px);line-height:1.18;letter-spacing:-.02em;min-height:156px}.quote-author{font-size:13px;margin-top:29px}.quote-context{font-size:11px;color:var(--muted);margin-top:3px}.quote-controls{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:29px;font-size:13px}.quote-controls>span>span{color:#8b9183;margin-left:8px}.quote-controls>div{display:flex;gap:10px}.quote-controls button{width:43px;height:43px;border:1px solid #c6cdba;border-radius:50%;background:transparent;font-size:22px}.quote-controls button:hover{background:var(--ink);color:var(--paper)}.source-note{font-size:10px;color:var(--muted);margin-top:20px}
.visit{background:#e7e8db;text-align:center;position:relative;overflow:hidden}.visit:before,.visit:after{content:'';position:absolute;width:380px;height:640px;border:1px solid #8c9b742b;border-radius:50%;transform:rotate(30deg);top:-70px;left:-240px;pointer-events:none}.visit:after{left:auto;right:-220px;top:50px;transform:rotate(-30deg)}.visit-inner{padding-top:85px;padding-bottom:85px;position:relative}.visit h2{margin-top:26px;font-size:clamp(42px,5.5vw,85px)}.visit h2 em{color:#647654}.visit-inner>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#65705f;margin-top:25px}.visit .button{margin-top:28px}.visit-number{display:block;font-size:11px;margin-top:17px;color:var(--muted)}
.location{display:grid;grid-template-columns:1fr 1.2fr;background:#eae7df}.location-copy{padding:75px 10% 75px 15%}.location h2{font-size:clamp(40px,3.8vw,62px);margin-top:24px}.location address{font-size:13px;font-style:normal;line-height:1.8;color:var(--muted);margin:25px 0 17px}.location iframe{border:0;width:100%;height:100%;min-height:420px;filter:saturate(.6)}.footer{padding-top:45px;padding-bottom:26px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-top{padding-bottom:35px}.footer-top>a:last-child{font-size:12px}.footer-bottom{padding-top:23px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer .brand>span{font-size:26px}.footer .brand img{width:40px;height:40px}
.lightbox{padding:60px 70px 35px;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#15251bf5;color:var(--paper);overflow:hidden}.lightbox::backdrop{background:#15251b}.lightbox[open]{display:flex;align-items:center;justify-content:center;gap:25px}.lightbox figure{display:flex;align-items:center;flex-direction:column;gap:14px;min-width:0}.lightbox figure img{height:auto;max-height:78dvh;width:auto;max-width:75vw;object-fit:contain}.lightbox figcaption{font-size:12px;text-align:center}.lightbox button{background:transparent;border:1px solid #ffffff50;color:var(--paper);min-width:42px;height:42px;font-size:22px;flex-shrink:0}.lightbox .lightbox-close{position:absolute;top:15px;right:24px;border:0;font-size:12px}.lightbox-close span{margin-left:15px;font-size:25px;vertical-align:middle}
body.motion-off .journey{height:100svh;min-height:580px}body.motion-off .journey-stage{position:relative}body.motion-off .film{transform:none!important}body.motion-off .hero-copy{opacity:1!important;transform:translateY(-46%)!important;visibility:visible!important}body.motion-off .arrival-copy,body.motion-off .journey-progress{display:none}body.motion-off .scroll-cue>span:nth-child(2){font-size:0}body.motion-off .scroll-cue>span:nth-child(2):after{content:'CONHEÇA O JARDIM';font-size:9px}
@media(min-width:1650px){.section-wrap{padding-left:95px;padding-right:95px}.journey-stage{max-height:1200px}.hero-copy h1{font-size:150px}}
@media(max-width:1050px){.header{padding:0 4%;height:92px}.header nav{gap:20px}.brand>span{font-size:25px}.nav-visit{gap:12px;padding:10px 12px}.section-wrap{padding-left:6%;padding-right:6%}.spaces-grid{gap:16px}.space-caption{display:block}.space-caption>span:last-child{display:block;margin-top:7px}.care-inner{gap:8%}.care-photos{padding-right:12%}.bride-portrait{height:460px}.bride-detail{height:200px;width:52%}.intro-grid{gap:8%}.quote-panel blockquote{min-height:180px}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:85px;padding:0 6%}.brand>span{font-size:25px}.brand img{width:39px;height:39px}.brand small{font-size:7px}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid #ffffff55;color:inherit}.menu-toggle span{height:1px;width:19px;background:currentColor;transition:transform .2s}.header nav{display:none;position:absolute;left:0;right:0;top:85px;background:var(--ink);padding:25px 6% 35px;align-items:stretch;font-size:16px;gap:23px}.header.menu-open{background:var(--ink)}.header.menu-open nav{display:flex;flex-direction:column}.header.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.header.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav-visit{justify-content:space-between;font-size:14px;padding:12px 17px}.journey{height:235svh}.journey-stage{min-height:620px}.hero-copy{top:48%;left:6%;right:6%}.hero-copy .eyebrow{font-size:8px;letter-spacing:.2em;margin-bottom:24px}.hero-copy h1{font-size:clamp(59px,11vw,84px);line-height:1.02}.hero-description{font-size:13px;margin-top:24px}.hero-copy .button{font-size:12px;padding:13px 18px;gap:30px;margin-top:28px}.hero-bottom{left:6%;right:6%;bottom:27px}.hero-location{display:none}.scroll-cue{left:0;transform:none;font-size:8px}.scroll-line{display:none}.motion-control{margin-left:auto;font-size:9px}.arrival-copy{left:7%;bottom:28%;right:6%}.arrival-copy .eyebrow{font-size:8px}.arrival-copy p{font-size:56px}.intro{padding-top:48px;padding-bottom:30px}.section-kicker{padding-bottom:22px}.section-kicker>span:last-child{display:none}.intro-grid{grid-template-columns:1fr;gap:30px;padding:37px 0 38px}.intro-grid h2{font-size:46px}.intro-text{font-size:14px;max-width:100%}.intro-text p+p{margin-top:16px}.intro-text .text-link{margin-top:14px}.facts{padding:20px 0;gap:12px}.facts>div{padding-left:10%;justify-content:center}.facts strong{font-size:23px}.facts span{font-size:9px;max-width:95px}.spaces{padding-top:45px;padding-bottom:58px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:43px}.section-heading>p{margin-top:15px}.section-heading>p br{display:none}.spaces-grid{grid-template-columns:1fr;gap:30px}.space-card:nth-child(2),.space-card:nth-child(3){padding-top:0}.photo-wrap,.space-card:nth-child(2) .photo-wrap,.space-card:nth-child(3) .photo-wrap{height:360px}.space-card:nth-child(2){margin-left:10%}.space-card:nth-child(3){margin-right:10%}.space-card:nth-child(3) .photo-wrap{height:330px}.space-caption{display:flex}.space-caption>span:first-child{font-size:27px}.space-caption>span:last-child{font-size:10px;margin:0}.care-inner{grid-template-columns:1fr;padding-top:54px;padding-bottom:55px;gap:34px}.care-photos{padding-right:22%;padding-bottom:65px;max-width:460px;width:100%;margin:auto}.bride-portrait{height:370px}.bride-detail{width:43%;height:190px;bottom:28px}.photo-note{font-size:16px}.care-copy .eyebrow{margin-bottom:20px}.care-copy h2{font-size:48px;margin-bottom:22px}.care-copy>p:not(.eyebrow){max-width:100%;font-size:14px}.care-copy blockquote{font-size:24px}.stories{padding-top:57px;padding-bottom:55px}.story-layout{grid-template-columns:1fr;gap:40px;padding-top:0}.story-image{max-width:250px}.story-image img{height:300px}.story-image>span{font-size:15px}.quote-panel{padding:0 2%}.quote-panel blockquote{font-size:32px;min-height:154px}.quote-controls{margin-top:22px}.quote-mark{font-size:75px}.visit-inner{padding-top:60px;padding-bottom:58px}.visit .eyebrow{font-size:8px}.visit h2{font-size:45px}.visit h2 br{display:none}.visit-inner>p:not(.eyebrow){font-size:13px}.visit .button{font-size:12px;gap:16px;padding:14px 16px}.location{grid-template-columns:1fr}.location-copy{padding:50px 7%}.location h2{font-size:45px}.location iframe{min-height:330px;height:330px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column;gap:23px}.footer-top{padding-bottom:27px}.footer-top>a:last-child{font-size:11px}.footer-bottom{font-size:10px;gap:14px}.lightbox{padding:65px 12px 30px}.lightbox[open]{gap:5px}.lightbox figure img{max-width:calc(100vw - 110px);max-height:73dvh}.lightbox figcaption{font-size:10px}.lightbox button{min-width:35px;width:35px;height:38px}.lightbox .lightbox-close{width:auto}.source-note{font-size:9px}body.motion-off .journey{min-height:620px}}
@media(max-height:720px) and (min-width:761px){.header{height:85px}.hero-copy h1{font-size:88px}.hero-copy .eyebrow{margin-bottom:15px}.hero-description{margin-top:18px;font-size:13px}.hero-copy .button{margin-top:20px;padding:11px 22px}.hero-bottom{bottom:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Revisao: imagens retocadas e filmes locais */
.film-shade{background:linear-gradient(180deg,#0c191963 0%,#101d1720 28%,#10271c30 63%,#102319a1 100%),linear-gradient(90deg,#0b1a1425,transparent 70%)}
.hero-copy h1{text-shadow:0 2px 30px #0b1b1760}.hero-description{text-shadow:0 1px 9px #0009}
.bride-portrait img{transform:none;object-position:27% 50%}
.bride-detail img{transform:scale(1.15);filter:brightness(1.04)}
.story-image img{filter:brightness(1.07)}
.video-space{padding-top:120px;position:relative;min-width:0}.video-space .space-card{width:100%;padding:0}.video-space .photo-wrap{height:340px}
.ambient-video{display:block;width:100%;height:100%;object-fit:cover;background:#26362a}
.photo-wrap .ambient-video{position:absolute;inset:0}
.video-toggle{position:absolute;z-index:2;bottom:15px;left:15px;border:1px solid #fff8;border-radius:2px;background:#23362ee8;color:#fff;padding:8px 12px;font:11px var(--sans);letter-spacing:.02em;box-shadow:0 2px 10px #0002}
.video-space .video-toggle{bottom:65px}.video-toggle:hover{background:#f5f2e9;color:#293a30}.video-toggle:disabled{opacity:.7;cursor:default}
.moments{display:grid;grid-template-columns:1fr .85fr;gap:12%;padding-top:95px;padding-bottom:90px;align-items:center;border-bottom:1px solid var(--line)}
.moments-copy .eyebrow{margin-bottom:25px}.moments-copy h2{font-size:clamp(44px,4.7vw,72px)}.moments-copy h2 em{color:#798a63}.moments-copy>p:not(.eyebrow){font-size:14px;max-width:370px;color:var(--muted);margin-top:22px}.moments-copy .text-link{margin-top:20px}
.moment-film{max-width:420px;width:100%;justify-self:end}.moment-screen{position:relative;aspect-ratio:720/1030;overflow:hidden;background:#526b42}.moment-screen video{object-fit:contain}.moment-film figcaption{font-family:var(--serif);font-size:18px;font-style:italic;color:var(--muted);text-align:center;margin-top:17px}
@media(max-width:760px){.video-space{padding:0;margin-right:10%}.video-space .photo-wrap{height:330px}.video-space .video-toggle{bottom:63px}.bride-portrait{height:350px}.moments{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:55px}.moments-copy h2{font-size:48px}.moments-copy>p:not(.eyebrow){max-width:none}.moment-film{max-width:360px;justify-self:center}.video-toggle{font-size:11px;padding:10px 13px}}
/* Galerias tematicas: apenas fotografias, com dissolvencia suave. */
.spaces-grid .photo-wrap .gallery-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(var(--photo-zoom,1));transition:opacity .9s ease-in-out;will-change:opacity}
.spaces-grid .photo-wrap .gallery-slide.is-active{opacity:1}
.spaces-grid .space-card:hover .gallery-slide{transform:scale(var(--photo-zoom,1))}
@media(prefers-reduced-motion:reduce){.spaces-grid .photo-wrap .gallery-slide{transition:none}}
/* Home: marfim claro diretamente sobre a imagem, sem fundo na copy. */
.hero-copy,.arrival-copy{color:#fffaf0}
.hero-copy h1,.arrival-copy p{color:#fffaf0;font-weight:500;text-shadow:0 2px 5px rgba(12,29,20,.8)}
.hero-copy h1 em,.arrival-copy p em{color:#f7efd9;font-weight:500}
.hero-copy .eyebrow,.arrival-copy .eyebrow{color:#fffaf0;font-weight:600;text-shadow:0 1px 3px rgba(12,29,20,.9)}
.hero-description{color:#fffaf0;font-weight:500;text-shadow:0 1px 4px rgba(12,29,20,.9)}