@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ivory:#f7f4ef;--paper:#fdfbf7;--sand:#e9e3d8;--champagne:#d8c7b6;--taupe:#97816f;--olive:#394338;--ink:#282d28;--muted:#686b63;--line:#d9d5ca;--serif:'Cormorant Garamond','Baskerville','Palatino Linotype',Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--max:1370px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:#b9ac9c;color:#1e231f}.wrap{width:min(calc(100% - 100px),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:10px;padding:12px 20px;background:#fff;z-index:2000}.skip-link:focus{top:10px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif)}h2 em,h1 em,h3 em{font-weight:400;letter-spacing:-.035em}.micro{font-size:10px;letter-spacing:.28em;line-height:1.5;font-weight:700;text-transform:uppercase;color:#8d7763}.light-micro{color:#e3d9c5}.section{padding:125px 0}.section-muted{background:var(--ivory)}
/* Brand and navigation: understated fashion-house treatment */
.site-header{width:100%;z-index:1000;transition:background .3s,box-shadow .3s}.site-header.over-hero{position:absolute;top:0;left:0;color:#fff}.site-header.interior{position:relative;background:var(--paper);color:var(--ink);border-bottom:1px solid rgba(50,50,45,.09)}.site-header.over-hero.scrolled{position:fixed;background:rgba(29,32,28,.96);box-shadow:0 4px 18px #0002}.header-inner{height:104px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{width:167px;height:auto;max-height:72px;object-fit:contain}.desktop-links{margin-left:auto;display:flex;align-items:center;gap:31px}.desktop-links a{font-size:10px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;opacity:.9;transition:opacity .2s,color .2s}.desktop-links a[aria-current=page],.desktop-links a:hover{opacity:1;color:#cbb79d}.site-header.interior .desktop-links a[aria-current=page],.site-header.interior .desktop-links a:hover{color:#8d7763}.header-inquire{border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:143px;padding:13px 16px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:background .2s,color .2s}.header-inquire:hover{background:var(--paper);color:var(--ink)}.site-header.interior .header-inquire:hover{background:var(--olive);color:#fff}.mobile-toggle{display:none}.mobile-panel{display:none}
/* Home hero: single immersive photograph instead of split brochure-like cards */
.home-hero{height:min(870px,100svh);min-height:680px;position:relative;color:#fff;isolation:isolate;background:#2d302a}.hero-background,.hero-shade{position:absolute;inset:0;z-index:-1}.hero-background{background-image:url('../images/hero-wedding.webp');background-size:cover;background-position:center 39%;transform:scale(1.01)}.hero-shade{background:linear-gradient(0deg,rgba(10,14,11,.84) 0%,rgba(10,14,11,.4) 42%,rgba(10,14,11,.12) 67%,rgba(10,14,11,.28) 100%)}.hero-inner{height:100%;display:flex;flex-direction:column;padding-top:172px;padding-bottom:34px}.hero-micro{color:#fff;letter-spacing:.32em;opacity:.87}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-top:auto;margin-bottom:64px}.hero-note{font-size:10px;letter-spacing:.29em;text-transform:uppercase;font-weight:700;margin-bottom:24px}.home-hero h1{font-size:clamp(70px,8vw,132px);line-height:.83;letter-spacing:-.045em;font-weight:400;margin-bottom:0;text-wrap:balance;text-shadow:0 3px 25px #0002}.home-hero h1 em{display:block;font-size:.79em;letter-spacing:-.045em;color:#efdfc8;line-height:1.11}.hero-right{max-width:300px;flex-shrink:0;padding-bottom:8px}.hero-right p{font-size:14px;line-height:1.9;color:#efeae3;margin-bottom:28px}.link-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-width:214px;padding:17px 22px;border:1px solid var(--ink);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;transition:background .25s,color .25s,border-color .25s}.link-button span{font-size:17px;font-weight:400;line-height:1}.link-button.light{border-color:#eee6d8;color:#fff}.link-button.light:hover{background:#f7f4ef;color:var(--ink)}.link-button.dark{background:var(--olive);border-color:var(--olive);color:#fff}.link-button.dark:hover{background:var(--ink);border-color:var(--ink)}.link-button.outline{color:var(--ink)}.link-button.outline:hover{background:var(--ink);color:#fff}.hero-scroll{display:flex;align-items:center;gap:22px;font-size:9px;letter-spacing:.23em;font-weight:600}.line-scroll{width:110px;height:1px;background:#fff6;flex:none}.hero-scroll span:last-child{margin-left:auto}
/* Editorial sections */
.opening{background:var(--paper);padding:165px 0 150px}.opening-grid{display:grid;grid-template-columns:225px 1fr;gap:44px}.opening-aside{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding-top:20px}.ornament{font-size:67px;color:#c5b4a0;font-family:Georgia;line-height:1}.opening-main h2{font-size:clamp(64px,7.9vw,123px);line-height:.88;max-width:1060px;letter-spacing:-.057em;margin:0 0 52px}.opening-main h2 em{color:var(--taupe)}.opening-copy{display:flex;justify-content:space-between;align-items:end;gap:50px}.opening-copy p{max-width:570px;font-size:16px;line-height:2;color:var(--muted);margin:0}.inline-link{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:10px;white-space:nowrap}.inline-link span{margin-left:20px}.editorial-photos{background:var(--paper);padding:0 5% 120px}.editorial-grid{display:grid;grid-template-columns:1.33fr .8fr;align-items:start;gap:7%;max-width:1600px;margin:auto}.editorial-photo{margin:0}.editorial-photo img{width:100%;object-fit:cover;object-position:center 30%;background:#ddd}.editorial-photo.img-large img{aspect-ratio:1.32}.editorial-photo.img-small{padding-top:26%}.editorial-photo.img-small img{aspect-ratio:.87;object-position:center}.editorial-photo figcaption{margin-top:17px;display:flex;justify-content:space-between;gap:15px;font-size:9px;font-weight:700;letter-spacing:.17em;color:#7f7f73}.section-top{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:68px}.display-title{font-size:clamp(65px,7vw,112px);line-height:.93;letter-spacing:-.047em;margin-bottom:0}.display-title em{color:var(--taupe)}.side-explain{max-width:255px;color:var(--muted);font-size:14px;line-height:1.95;margin:0 0 9px}.experience{background:var(--ivory)}.service-lines{border-top:1px solid #bfc1b7}.service-line{min-height:148px;border-bottom:1px solid #bfc1b7;display:grid;grid-template-columns:60px 1fr 245px 28px;align-items:center;gap:22px;transition:padding .2s,background .2s}.service-line:hover{padding-left:12px;background:#eeece4}.service-n{font-size:11px;letter-spacing:.15em;color:var(--taupe)}.service-title{font-family:var(--serif);font-size:clamp(36px,3.65vw,60px);line-height:1.02;letter-spacing:-.04em}.service-title em{color:#8d796a}.service-detail{font-size:12px;line-height:1.6;color:var(--muted)}.service-arrow{font-family:var(--sans);font-size:21px}.wide-statement{min-height:740px;position:relative;display:grid;align-items:center;color:#fff;background:#2e332d;isolation:isolate;overflow:hidden}.wide-photo{position:absolute;inset:0;z-index:-2}.wide-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:brightness(.65)}.wide-statement:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,23,19,.73),rgba(17,23,19,.04) 85%);z-index:-1}.wide-content{width:min(calc(100% - 100px),var(--max));margin:auto;padding:110px 0}.wide-content h2{font-size:clamp(83px,9vw,150px);line-height:.77;letter-spacing:-.05em;margin:35px 0}.wide-content h2 em{color:#e1d2bb}.wide-content>p:not(.micro){max-width:430px;font-size:15px;line-height:2;color:#f5eee7;margin-bottom:32px}.package-teaser{background:var(--paper)}.plan-feature{border-top:1px solid var(--line)}.plan-row{min-height:164px;display:grid;grid-template-columns:66px 1fr 245px 32px;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.plan-index{font-family:var(--serif);font-size:32px;color:var(--taupe)}.plan-row h3{font:400 clamp(33px,3vw,48px)/1.1 var(--serif);letter-spacing:-.03em;margin:0 0 9px}.plan-row p{color:var(--muted);margin:0;font-size:13px}.plan-price{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.plan-price strong{display:block;color:var(--ink);font:500 29px/1.2 var(--serif);letter-spacing:0;text-transform:none}.plan-row a{font-size:22px}.plan-row a:hover{color:var(--taupe)}.package-note{color:var(--muted);font-size:12px;margin:20px 0 33px}.team-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:730px;background:#e8e8e2}.team-image{min-width:0}.team-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.team-copy{padding:85px 13% 85px 12%;align-self:center}.team-copy h2{font-size:clamp(60px,5.8vw,94px);line-height:.91;letter-spacing:-.05em;margin:30px 0}.team-copy h2 em{color:#8b7869}.team-copy>p:not(.micro){font-size:14px;color:var(--muted);line-height:2;max-width:440px;margin-bottom:35px}.closing-moment{text-align:center;background:var(--paper)}.closing-moment h2{font-size:clamp(85px,11vw,170px);line-height:.75;letter-spacing:-.05em;margin:43px auto 30px}.closing-moment h2 em{color:var(--taupe)}.closing-moment p{color:var(--muted);margin:25px 0 35px}
/* Interior */
.inner-hero{padding:110px 0 0;background:var(--ivory)}.inner-hero>.wrap{padding-bottom:65px}.inner-hero h1{font-size:clamp(76px,10vw,150px);line-height:.79;letter-spacing:-.055em;margin:27px 0 34px;max-width:1300px}.inner-hero h1 em{color:var(--taupe)}.inner-sub{font-size:16px;color:var(--muted);max-width:580px;line-height:1.95}.inner-hero-photo{height:min(38vw,490px);min-height:280px;overflow:hidden;position:relative}.inner-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:9%}.prose{font-size:17px;line-height:2;color:var(--muted)}.prose p{margin-bottom:24px}.editorial-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;border-top:1px solid #c8c8bb;margin-top:50px;padding-top:42px}.editorial-steps>div>span{font-size:10px;color:#8b7869;letter-spacing:.16em;font-weight:700}.editorial-steps h3{font:400 43px/1.1 var(--serif);margin:25px 0 16px}.editorial-steps p{color:var(--muted);font-size:14px}.photo-text{display:grid;grid-template-columns:1.13fr .87fr;gap:8%;align-items:center}.photo-text img{width:100%;aspect-ratio:1.21;object-fit:cover}.photo-text h2{font-size:clamp(58px,6vw,95px);line-height:.88;letter-spacing:-.05em;margin:30px 0}.photo-text h2 em{color:var(--taupe)}.photo-text p:not(.micro){color:var(--muted);max-width:410px;margin-bottom:32px;line-height:2}.feature-service{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:9%}.feature-service.reverse{grid-template-columns:1.05fr .95fr}.feature-service.reverse .feature-photo{order:2}.feature-photo img{width:100%;aspect-ratio:.88;object-fit:cover;object-position:center}.feature-content h2{font-size:clamp(61px,6vw,91px);line-height:.86;letter-spacing:-.05em;margin:29px 0}.feature-content h2 em{color:var(--taupe)}.feature-content>p:not(.micro){color:var(--muted);line-height:2;font-size:15px}.minimal-list{list-style:none;padding:0;margin:35px 0}.minimal-list li{border-bottom:1px solid var(--line);padding:13px 0;font-size:13px;color:var(--ink)}.minimal-list li:before{content:'—';margin-right:12px;color:var(--taupe)}.packages-section:nth-of-type(even){background:var(--ivory)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}.package-tile{background:var(--paper);padding:42px 38px 33px;min-height:305px;display:flex;flex-direction:column}.package-tile h3{font:400 39px/1 var(--serif);margin:39px 0 20px}.price-big{font:500 39px/1.15 var(--serif);letter-spacing:-.02em;margin-bottom:12px}.package-meta{font-size:12px;color:var(--muted);margin-bottom:23px}.package-tile a{border-top:1px solid var(--line);padding-top:15px;margin-top:auto;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.1em;display:flex;justify-content:space-between}.package-tile a span{font-size:18px;line-height:1}.package-tile a:hover{color:var(--taupe)}.terms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 12%;margin-top:58px}.terms-grid>div{border-top:1px solid var(--line);padding-top:19px}.terms-grid h3{font:400 29px var(--serif)}.terms-grid p{font-size:14px;color:var(--muted);max-width:475px}.small-note{font-size:12px;color:#777c74;margin-top:30px}.gallery-mosaic{display:grid;grid-template-columns:1.15fr .85fr;gap:55px 5%;margin-top:40px}.mosaic-photo{margin:0}.mosaic-photo:nth-child(2n){margin-top:110px}.mosaic-photo:nth-child(3n){margin-top:-50px}.mosaic-photo>div{overflow:hidden;background:#ece6dc}.mosaic-photo img{width:100%;aspect-ratio:1.22;object-fit:cover;transition:transform .45s}.mosaic-photo:nth-child(2n) img{aspect-ratio:.87}.mosaic-photo:hover img{transform:scale(1.04)}.mosaic-photo figcaption{padding-top:13px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.13em;color:#77766c;text-transform:uppercase}.faq-layout{display:grid;grid-template-columns:.77fr 1.23fr;gap:10%}.faq-layout>div:first-child>p:not(.micro){color:var(--muted);line-height:1.85;max-width:380px;margin:28px 0}.faq-accordion{border-top:1px solid var(--line)}.faq-accordion details{border-bottom:1px solid var(--line)}.faq-accordion summary{padding:28px 0;display:flex;gap:18px;justify-content:space-between;cursor:pointer;list-style:none;font:500 27px/1.15 var(--serif)}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary span{font:400 23px var(--sans);color:var(--taupe)}.faq-accordion details[open] summary span{transform:rotate(45deg)}.faq-accordion details p{color:var(--muted);font-size:14px;line-height:1.95;max-width:640px;padding:0 30px 20px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact-intro h2{font-size:clamp(62px,6vw,94px);line-height:.87;letter-spacing:-.04em;margin:25px 0}.contact-intro h2 em{color:var(--taupe)}.contact-intro>p:not(.micro){color:var(--muted);max-width:390px;line-height:2}.contact-details{margin-top:55px}.contact-details>div{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:20px}.contact-details span{font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--taupe)}.contact-details a{font-size:14px}.contact-details p{font-size:14px;margin:0}.contact-form-box{background:var(--ivory);padding:65px 55px}.contact-form-box h3{font:400 53px/1 var(--serif);margin:20px 0 30px}.contact-form{display:flex;flex-direction:column;gap:19px}.contact-form label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;display:flex;flex-direction:column;gap:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:15px;background:transparent;border:1px solid #c6c4b9;border-radius:0;color:var(--ink);font-size:13px;outline-offset:3px;text-transform:none;letter-spacing:normal}.contact-form textarea{resize:vertical}.submit-button{border:0;background:var(--olive);color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700;padding:20px;display:flex;justify-content:space-between;gap:20px}.form-disclaimer{font-size:11px;color:var(--muted);margin:0;text-transform:none;letter-spacing:normal}
/* Footer */
.footer{background:#282f28;color:#f5f0e6;padding-top:115px}.footer-top{display:flex;justify-content:space-between;gap:55px;padding-bottom:90px}.footer-statement h2{font-size:clamp(80px,9.6vw,150px);line-height:.78;letter-spacing:-.05em;margin:30px 0 42px}.footer-statement h2 em{color:#b9aa92}.footer-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:285px;padding-bottom:13px;border-bottom:1px solid #918e81;text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:600}.footer-cta span{font-size:23px;font-weight:400}.footer-brand{text-align:right;align-self:end;min-width:200px}.footer-brand img{width:220px;height:auto;margin-left:auto}.footer-brand p{font-size:12px;line-height:1.9;color:#deded0;margin-top:30px}.footer-meta{border-top:1px solid #646d63;border-bottom:1px solid #646d63;padding:36px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-meta>div{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:13px}.meta-label{font-size:10px;letter-spacing:.18em;font-weight:700;color:#bbad98}.footer-meta a:hover,.footer-bottom a:hover{color:#dcc2a5}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 0 31px;font-size:11px;color:#c9cfc5}.footer-bottom>div{display:flex;gap:23px}.float-wa{position:fixed;right:26px;bottom:25px;background:#304f39;border:1px solid #eee5d6;color:white;z-index:99;display:flex;align-items:center;gap:12px;padding:13px 17px;font-size:11px;font-weight:600;letter-spacing:.05em;box-shadow:0 7px 25px #0003}.float-wa svg{width:22px;height:22px}.float-wa:hover{background:#1e3927}
@media(max-width:1140px){.wrap{width:min(calc(100% - 64px),var(--max))}.desktop-links{gap:18px}.desktop-links a{font-size:9px}.header-inquire{min-width:125px}.home-hero h1{font-size:clamp(63px,7.7vw,112px)}.hero-bottom{gap:28px}.opening-grid{grid-template-columns:140px 1fr}.opening-main h2{font-size:clamp(61px,7.2vw,95px)}.service-line{grid-template-columns:42px 1fr 168px 24px}.team-copy{padding:65px 8%}.wide-content{width:min(calc(100% - 64px),var(--max))}}
@media(max-width:860px){.site-header .header-inner{height:82px}.desktop-links,.header-inquire{display:none}.mobile-toggle{display:flex;width:46px;height:46px;margin-left:auto;padding:12px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid currentColor;background:transparent;color:inherit}.mobile-toggle span{display:block;width:21px;height:1px;background:currentColor}.mobile-panel{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);color:var(--ink);padding:26px 32px 33px;box-shadow:0 18px 25px #0002;max-height:calc(100svh - 80px);overflow:auto}.mobile-panel.is-open{display:flex;flex-direction:column}.mobile-panel a{padding:12px 0;border-bottom:1px solid var(--line);font:400 30px/1.2 var(--serif)}.mobile-panel .mobile-contact{font:600 11px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-top:12px;padding:17px;background:var(--olive);color:#fff;text-align:center}.home-hero{min-height:660px;height:83svh}.hero-inner{padding-top:135px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:44px}.home-hero h1{font-size:clamp(65px,10vw,96px)}.hero-right{max-width:500px}.hero-right p{max-width:425px}.opening-grid{grid-template-columns:1fr;gap:30px}.opening-aside{flex-direction:row}.opening-main h2{font-size:clamp(61px,9vw,95px)}.section-top{align-items:start;flex-direction:column;gap:18px}.side-explain{max-width:560px}.service-line{grid-template-columns:30px 1fr 23px;min-height:120px}.service-detail{display:none}.service-title{font-size:42px}.wide-statement{min-height:600px}.team-feature{grid-template-columns:1fr}.team-image img{height:460px}.team-copy{padding:85px 8%}.team-copy h2{max-width:720px}.inner-hero{padding-top:70px}.inner-hero h1{font-size:clamp(64px,10.5vw,110px)}.two-col,.feature-service,.feature-service.reverse,.photo-text,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:45px}.feature-service.reverse .feature-photo{order:0}.feature-photo img{aspect-ratio:1.25}.package-grid{grid-template-columns:repeat(2,1fr)}.contact-form-box{padding:48px}.footer-top{flex-direction:column}.footer-brand{text-align:left}.footer-brand img{margin:0}.footer-meta{gap:22px}}
@media(max-width:600px){body{font-size:14px}.wrap{width:calc(100% - 38px)}.section{padding:82px 0}.micro{font-size:9px;letter-spacing:.23em}.brand img{width:138px}.site-header .header-inner{height:73px}.home-hero{height:min(820px,94svh);min-height:630px}.hero-background{background-position:56% center}.hero-shade{background:linear-gradient(0deg,rgba(9,13,9,.89),rgba(10,13,10,.35) 66%,rgba(9,12,9,.4))}.hero-inner{padding-top:130px;padding-bottom:23px}.hero-micro{max-width:250px}.hero-bottom{gap:18px;margin-bottom:36px}.hero-note{font-size:9px;margin-bottom:18px}.home-hero h1{font-size:clamp(56px,12.6vw,84px);line-height:.85}.home-hero h1 em{font-size:.77em}.hero-right p{font-size:13px;line-height:1.8;margin:5px 0 19px;max-width:320px}.hero-scroll{font-size:8px}.line-scroll{width:48px}.opening{padding:103px 0 65px}.opening-aside{align-items:start}.ornament{font-size:37px}.opening-main h2{font-size:clamp(61px,12.2vw,83px);line-height:.9;margin-bottom:33px}.opening-copy{display:block}.opening-copy p{font-size:14px;line-height:1.95;margin-bottom:27px}.editorial-photos{padding:0 20px 70px}.editorial-grid{grid-template-columns:1fr;gap:25px}.editorial-photo.img-large img{aspect-ratio:1.17}.editorial-photo.img-small{padding-top:0;max-width:74%;margin-left:auto}.editorial-photo.img-small img{aspect-ratio:.94}.display-title{font-size:clamp(57px,11vw,83px)}.section-top{margin-bottom:39px;gap:20px}.service-line{min-height:116px;gap:10px;grid-template-columns:25px 1fr 18px}.service-title{font-size:clamp(30px,7vw,46px)}.service-title em{display:block}.wide-statement{min-height:580px}.wide-photo img{object-position:center}.wide-content{width:calc(100% - 38px);padding:80px 0}.wide-content h2{font-size:clamp(70px,15vw,98px);margin:28px 0}.wide-content>p:not(.micro){font-size:13px;max-width:310px}.plan-row{min-height:146px;grid-template-columns:21px 1fr 19px;gap:12px;padding:18px 0}.plan-row h3{font-size:32px}.plan-row p{font-size:12px}.plan-price{grid-column:2;grid-row:2}.plan-price strong{display:inline;margin-left:8px;font-size:24px}.plan-row>a{grid-column:3;grid-row:1}.team-image img{height:340px}.team-copy{padding:75px 25px}.team-copy h2{font-size:clamp(60px,12vw,85px)}.closing-moment h2{font-size:clamp(70px,13vw,100px)}.inner-hero{padding-top:65px}.inner-hero>.wrap{padding-bottom:43px}.inner-hero h1{font-size:clamp(65px,11.7vw,90px);margin:23px 0}.inner-sub{font-size:14px}.inner-hero-photo{min-height:270px;height:290px}.editorial-steps{grid-template-columns:1fr;gap:22px}.editorial-steps>div{border-bottom:1px solid var(--line);padding-bottom:24px}.two-col,.photo-text,.feature-service,.faq-layout,.contact-layout{gap:35px}.feature-content h2,.photo-text h2{font-size:clamp(57px,11vw,79px)}.package-grid{grid-template-columns:1fr}.package-tile{min-height:245px;padding:33px 29px}.package-tile h3{margin-top:20px}.terms-grid{grid-template-columns:1fr;gap:26px}.gallery-mosaic{grid-template-columns:1fr;gap:35px}.mosaic-photo:nth-child(2n),.mosaic-photo:nth-child(3n){margin:0}.mosaic-photo:nth-child(2n){max-width:83%;margin-left:auto}.faq-accordion summary{font-size:24px}.contact-intro h2{font-size:70px}.contact-form-box{padding:33px 25px}.contact-form-box h3{font-size:46px}.form-row{grid-template-columns:1fr}.footer{padding-top:80px}.footer-top{padding-bottom:65px}.footer-statement h2{font-size:clamp(74px,13vw,100px)}.footer-meta{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;align-items:start;gap:15px}.float-wa{right:13px;bottom:13px;padding:12px}.float-wa span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* SETIA V2.1 | QA visual improvement 2026-11-04
   Scope: readability, image framing and keyboard clarity; no content or price changes. */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #b1946f;outline-offset:4px}
.desktop-links a{font-size:11px;letter-spacing:.115em;font-weight:600}
.header-inquire{font-size:11px;letter-spacing:.11em}
.micro{font-size:11px;letter-spacing:.2em}
.hero-note{font-size:11px;letter-spacing:.20em}
.hero-right p{font-size:15px;line-height:1.8}
.link-button{font-size:11px;letter-spacing:.1em;min-height:52px}
.side-explain{font-size:15px}
.service-detail{font-size:13px}
.plan-row p,.package-note{font-size:14px}
.plan-price{font-size:12px}
.footer-meta>div{font-size:14px}
.footer-bottom{font-size:12px}
/* The original team photo is a landscape composition. Show the complete group. */
.team-feature{grid-template-columns:1.18fr .82fr;min-height:590px}
.team-image{display:grid;place-items:center;overflow:hidden;background:#e8e8e2}
.team-image img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}
.team-copy{padding:70px 9%}
/* Add slight contrast behind navigation and foreground copy, retaining floral imagery. */
.home-hero .hero-shade{background:linear-gradient(0deg,rgba(11,16,12,.86) 0%,rgba(11,16,12,.46) 34%,rgba(11,16,12,.16) 68%,rgba(11,16,12,.48) 100%)}
@media (max-width:1140px) and (min-width:861px){
  .desktop-links{gap:14px}
  .desktop-links a{font-size:10px}
  .header-inquire{min-width:122px;padding-inline:12px}
}
@media(max-width:860px){
  .team-feature{grid-template-columns:1fr;min-height:0}
  .team-image img{height:auto;max-height:none;aspect-ratio:900/400;object-fit:contain}
  .team-copy{padding:68px 7%}
  .hero-right p{font-size:14px}
}
@media(max-width:600px){
  .micro{font-size:10px}
  .home-hero .hero-shade{background:linear-gradient(0deg,rgba(9,13,9,.9),rgba(9,13,9,.34) 66%,rgba(9,13,9,.48))}
  .hero-note{font-size:10px}
  .hero-right p{font-size:14px}
  .team-image img{height:auto;aspect-ratio:900/400;object-fit:contain}
  .team-copy{padding:62px 25px}
  .footer-meta>div{font-size:14px}
}

/* SETIA V2.2 - Mobile layout repair | 2026-11-04
   No price, copy, image or brand changes. Designed for 240-430 px viewport widths.
   Critical fixes: flex minimums, extreme font minimums, fixed-width actions,
   sticky-header spacing and oversized photo/heading compositions. */
.hero-background{transform:none}
.home-hero{overflow:clip}
:where(.header-inner,.hero-inner,.hero-bottom,.opening-grid,.opening-main,.opening-copy,.section-top,.service-line,.plan-row,.team-feature,.team-copy,.footer-top,.footer-statement,.footer-brand,.contact-layout,.two-col,.feature-service,.photo-text,.contact-form-box,.package-tile){min-width:0}
:where(h1,h2,h3,.service-title,.plan-row,.plan-row h3,.footer-statement h2){overflow-wrap:break-word}

@media (max-width:600px){
  html{scroll-padding-top:76px}
  body{width:100%;max-width:100%;overflow-x:clip}
  .wrap,.wide-content{width:calc(100% - 36px);max-width:100%;margin-inline:auto}
  .site-header.over-hero.scrolled{background:rgba(35,42,35,.98);box-shadow:0 4px 16px #0002}
  .site-header .header-inner{height:68px;gap:12px;min-width:0}
  .brand{min-width:0;flex:0 1 auto}
  .brand img{width:clamp(92px,30vw,123px);max-height:54px;object-fit:contain}
  .mobile-toggle{width:44px;height:44px;flex:none;margin-left:auto}
  .mobile-panel{padding:22px 18px 28px;left:0;right:0;width:100%;box-sizing:border-box}
  .mobile-panel a{font-size:25px;line-height:1.3}
  .home-hero{height:auto;min-height:min(730px,100svh)}
  .hero-inner{min-height:min(730px,100svh);padding-top:116px;padding-bottom:25px}
  .hero-bottom{gap:25px;margin:0 0 26px;align-items:stretch;width:100%}
  .hero-bottom>div,.hero-right{max-width:100%;min-width:0}
  .home-hero h1{font-size:clamp(47px,11.3vw,65px);line-height:.94;letter-spacing:-.038em;text-wrap:balance}
  .home-hero h1 em{font-size:.78em;line-height:1.05}
  .hero-right{padding-bottom:0}
  .hero-right p{font-size:14px;line-height:1.65;max-width:440px}
  .hero-micro,.hero-note{font-size:9px;line-height:1.45;letter-spacing:.15em}
  .hero-scroll{gap:10px;flex-wrap:wrap}
  .hero-scroll span:last-child{margin-left:0}
  .link-button{min-width:0;max-width:100%;width:max-content;gap:18px;padding:14px 16px;letter-spacing:.09em;font-size:10px;min-height:46px}
  .opening{padding:84px 0 52px}
  .opening-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
  .opening-aside{padding:0}
  .opening-main h2{font-size:clamp(45px,10.4vw,67px);line-height:.98;letter-spacing:-.04em;margin-bottom:26px}
  .opening-copy p{font-size:14px;line-height:1.8}
  .inline-link{white-space:normal;display:inline-block}
  .editorial-photos{padding:0 18px 62px}
  .display-title{font-size:clamp(43px,10vw,65px);line-height:1.01;letter-spacing:-.04em}
  .section{padding:72px 0}
  .section-top{gap:13px}
  .side-explain{max-width:100%;font-size:14px;line-height:1.75}
  .service-line{grid-template-columns:23px minmax(0,1fr) 20px;gap:10px;min-height:105px;padding:15px 0}
  .service-title{font-size:clamp(27px,7.4vw,40px);line-height:1.08}
  .service-n{font-size:10px}
  .wide-statement{min-height:540px}
  .wide-content{padding:68px 0}
  .wide-content h2{font-size:clamp(55px,12.4vw,76px);line-height:.94;letter-spacing:-.04em;margin:23px 0}
  .wide-content>p:not(.micro){font-size:14px;line-height:1.7}
  .plan-row{grid-template-columns:23px minmax(0,1fr) 20px;gap:10px;min-height:125px;padding:17px 0}
  .plan-row h3{font-size:clamp(26px,7.2vw,36px);line-height:1.08}
  .plan-row p{font-size:12px;line-height:1.6}
  .plan-price{grid-column:2;grid-row:2;line-height:1.3;font-size:10px}
  .plan-price strong{font-size:clamp(21px,5.8vw,27px);margin-left:5px}
  .plan-row>a{grid-column:3;grid-row:1;align-self:center}
  .team-feature{grid-template-columns:minmax(0,1fr);min-height:0}
  .team-image{width:100%;min-width:0}
  .team-image img{display:block;height:auto;width:100%;max-width:100%;aspect-ratio:auto;object-fit:contain}
  .team-copy{padding:55px 22px}
  .team-copy h2{font-size:clamp(49px,11vw,72px);line-height:1.0;margin:21px 0}
  .closing-moment h2{font-size:clamp(55px,12vw,78px);line-height:.91;margin:26px auto}
  .closing-moment p{font-size:13px;line-height:1.75}
  .inner-hero{padding-top:48px}
  .inner-hero>.wrap{padding-bottom:36px}
  .inner-hero h1{font-size:clamp(48px,10.5vw,75px);line-height:.97;letter-spacing:-.042em;margin:19px 0}
  .inner-sub{font-size:14px;line-height:1.75}
  .inner-hero-photo{height:220px;min-height:0}
  .feature-content h2,.photo-text h2{font-size:clamp(46px,10.6vw,73px);line-height:1.0}
  .feature-photo img,.photo-text img{width:100%;height:auto}
  .package-tile{padding:26px 22px;min-height:0}
  .package-tile h3{font-size:34px}
  .price-big{font-size:34px}
  .faq-accordion summary{font-size:23px;line-height:1.3}
  .contact-intro h2{font-size:clamp(48px,11vw,70px);line-height:1.0}
  .contact-form-box{padding:28px 20px}
  .contact-form-box h3{font-size:clamp(37px,9vw,46px);line-height:1.05}
  .contact-details>div{grid-template-columns:1fr;gap:8px}
  .footer{padding-top:63px}
  .footer-top{gap:35px;padding-bottom:48px}
  .footer-statement h2{font-size:clamp(51px,11vw,75px);line-height:.95;letter-spacing:-.04em;margin:18px 0 28px}
  .footer-brand{min-width:0;text-align:left}
  .footer-brand img{width:180px;max-width:100%;height:auto}
  .footer-cta{gap:15px;min-width:0;max-width:100%;font-size:10px}
  .footer-meta{grid-template-columns:minmax(0,1fr);gap:25px}
  .footer-meta>div{overflow-wrap:anywhere}
  .footer-bottom>div{flex-wrap:wrap}
}
@media(max-width:340px){
  .wrap,.wide-content{width:calc(100% - 28px)}
  .site-header .header-inner{height:62px;gap:8px}
  .brand img{width:92px;max-height:44px}
  .mobile-toggle{width:42px;height:42px}
  .home-hero{min-height:590px}
  .hero-inner{min-height:590px;padding-top:95px}
  .hero-note{margin-bottom:13px}
  .home-hero h1{font-size:clamp(34px,12.4vw,45px);line-height:.97;letter-spacing:-.025em}
  .hero-right p{font-size:12px;line-height:1.55;margin-bottom:13px}
  .hero-scroll{font-size:8px}
  .line-scroll{width:24px}
  .micro{font-size:9px;letter-spacing:.11em}
  .opening-main h2{font-size:clamp(35px,11.7vw,43px);line-height:1.03}
  .display-title{font-size:clamp(35px,11.5vw,43px);line-height:1.04}
  .opening-copy p,.side-explain{font-size:12px}
  .service-title{font-size:clamp(23px,8vw,27px)}
  .service-line{grid-template-columns:17px minmax(0,1fr) 15px;gap:7px}
  .wide-content h2{font-size:clamp(41px,14vw,52px);line-height:.99}
  .plan-row{grid-template-columns:16px minmax(0,1fr) 16px;gap:7px}
  .plan-row h3{font-size:clamp(22px,8vw,27px)}
  .plan-price strong{display:block;margin:1px 0 0;font-size:23px}
  .team-copy{padding:40px 14px}
  .team-copy h2{font-size:clamp(38px,12.5vw,46px);line-height:1.05}
  .closing-moment h2{font-size:clamp(43px,14vw,53px)}
  .inner-hero h1{font-size:clamp(36px,12.5vw,47px);line-height:1.02}
  .feature-content h2,.photo-text h2{font-size:clamp(37px,12vw,46px)}
  .package-tile h3{font-size:29px}
  .faq-accordion summary{font-size:20px}
  .contact-intro h2{font-size:clamp(37px,12vw,45px)}
  .contact-form-box{padding:22px 13px}
  .contact-form-box h3{font-size:37px}
  .footer-statement h2{font-size:clamp(38px,12.8vw,47px)}
}

/* Additional narrow-grid safeguard, verified on all inner pages. */
@media (max-width:600px){
  .feature-service,.feature-service.reverse{grid-template-columns:minmax(0,1fr)}
  .feature-service>.feature-photo,.feature-service>.feature-content{min-width:0;max-width:100%}
}
@media (max-width:340px){
  .opening-main h2{font-size:clamp(29px,10.8vw,35px);line-height:1.09}
  .display-title{font-size:clamp(32px,11vw,40px)}
}

/* Keep very narrow screens readable; primary WhatsApp CTA remains in hero/contact. */
@media(max-width:340px){.float-wa{display:none}}


/* SETIA V2.3 — Mobile hero art direction (November 2026)
   Approved SETIA photographic source only. A dedicated portrait crop protects
   the couple from text overlays and avoids the watermark in the original footer.
   Desktop hero and site content remain unchanged. */
@media (max-width:600px) {
  /* A solid, dedicated navigation strip is more legible than text above flowers. */
  .site-header.over-hero,
  .site-header.over-hero.scrolled {
    position:sticky;
    top:0;
    left:auto;
    background:#263229;
    color:#fff;
  }
  .site-header.over-hero.scrolled {box-shadow:0 4px 20px rgba(0,0,0,.13)}
  .home-hero {
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    background:var(--paper);
    color:var(--ink);
    isolation:auto;
    overflow:visible;
  }
  .home-hero .hero-background {
    position:relative;
    inset:auto;
    z-index:auto;
    flex:none;
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4 / 5;
    background-image:url('../images/hero-mobile.webp');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transform:none;
  }
  .home-hero .hero-shade {display:none}
  .home-hero .hero-inner {
    height:auto;
    min-height:0;
    padding-top:38px;
    padding-bottom:52px;
  }
  .home-hero .hero-micro {
    color:#8b715c;
    opacity:1;
    margin:0 0 23px;
    font-size:10px;
    letter-spacing:.14em;
  }
  .home-hero .hero-bottom {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:23px;
    width:100%;
    margin:0;
  }
  .home-hero .hero-note {
    color:#9d856f;
    margin:0 0 13px;
    font-size:9px;
    letter-spacing:.19em;
  }
  .home-hero h1 {
    color:#263229;
    font-size:clamp(39px,10.4vw,58px);
    line-height:.96;
    letter-spacing:-.035em;
    text-shadow:none;
    margin:0;
    max-width:100%;
  }
  .home-hero h1 em {
    color:#99816e;
    font-size:.78em;
    line-height:1.05;
  }
  .home-hero .hero-right {max-width:100%;padding:0}
  .home-hero .hero-right p {
    color:#62655e;
    max-width:470px;
    font-size:14px;
    line-height:1.75;
    margin:0 0 23px;
  }
  .home-hero .link-button.light {
    background:var(--olive);
    border-color:var(--olive);
    color:#fff;
    min-height:49px;
  }
  .home-hero .link-button.light:hover,
  .home-hero .link-button.light:focus-visible {
    background:#29382d;
    border-color:#29382d;
    color:#fff;
  }
  .home-hero .hero-scroll {display:none}
}
@media(max-width:340px) {
  .home-hero .hero-inner {padding-top:28px;padding-bottom:39px}
  .home-hero .hero-micro {font-size:9px;letter-spacing:.1em;margin-bottom:16px}
  .home-hero h1 {font-size:clamp(33px,11.7vw,39px);line-height:1.03}
  .home-hero .hero-right p {font-size:13px;line-height:1.65}
}

/* V2.3 gallery intrinsic-size safeguard: prevent media from forcing horizontal scroll. */
.editorial-grid {grid-template-columns:minmax(0,1.33fr) minmax(0,.8fr)}
.editorial-photo {min-width:0;max-width:100%}
.editorial-photo img {min-width:0;max-width:100%;width:100%}
@media(max-width:600px){.editorial-grid{grid-template-columns:minmax(0,1fr)}}

/* SETIA V2.4 — Mobile CTA clarity, 2026-11-04.
   Don't cover paragraphs with a fixed WhatsApp bubble: each page already
   has explicit WhatsApp CTAs. Preserve the floating shortcut on desktop. */
@media(max-width:600px) {
  .float-wa { display:none !important; }
}

/* SETIA V2.5 | Package listing refinements, 2026-11-04.
   Scoped to Paket page; no other page, price, contact or asset modified. */
.page-packages .no-break{white-space:nowrap}
.page-packages .inner-hero-photo img{object-position:center top}
.page-packages .inner-hero-photo::after{
  content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;
  background:linear-gradient(to bottom,transparent,var(--ivory));
}
@media(max-width:600px){
  .page-packages .inner-hero>.wrap{padding-bottom:34px}
  .page-packages .inner-hero-photo{height:235px;min-height:0}
  .page-packages .inner-hero-photo img{object-position:center top}
  .page-packages .inner-hero-photo::after{height:40%}
  .page-packages .section{padding:68px 0}
  .page-packages .section-top{margin-bottom:27px}
  .page-packages .section-top .display-title{
    font-size:clamp(34px,9.6vw,50px);line-height:1.03;letter-spacing:-.04em;
    overflow-wrap:normal;word-break:normal;
  }
  .page-packages .side-explain{font-size:14px;line-height:1.6}
  .page-packages .package-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;border:0;background:none}
  .page-packages .package-tile{min-height:0;padding:27px 23px 23px;border:1px solid var(--line);background:var(--paper)}
  .page-packages .package-tile h3{font-size:clamp(31px,8vw,41px);line-height:1.08;margin:19px 0 13px}
  .page-packages .package-tile .micro{font-size:10px;letter-spacing:.15em}
  .page-packages .price-big{font-size:clamp(31px,8.4vw,39px);margin-bottom:8px}
  .page-packages .package-meta{font-size:14px;line-height:1.6;margin-bottom:14px}
  .page-packages .package-tile a{font-size:12px;min-height:46px;align-items:center;padding-top:11px;letter-spacing:.07em}
}
@media(max-width:340px){
  .page-packages .section-top .display-title{font-size:clamp(29px,9vw,33px)}
  .page-packages .package-tile{padding:24px 17px 20px}
}
