:root{--black:#090909;--black-2:#10100f;--panel:#151411;--gold:#c9a95e;--gold-bright:#e4ca84;--ivory:#eee5d2;--muted:#aaa18f;--line:#383326;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%}.page-width{width:min(1180px,calc(100% - 64px));margin:auto}
.site-header{height:82px;padding:0 max(32px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#090909;border-bottom:1px solid #ffffff13;position:sticky;top:0;z-index:20}.wordmark{display:flex;align-items:center;gap:11px;color:var(--gold-bright);font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:.21em}.wordmark-flower{font-size:35px;line-height:1;color:var(--gold)}.wordmark small{display:block;color:#b7a77b;font:8px var(--sans);letter-spacing:.25em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:28px;color:#d2c8b2;font-size:11px;letter-spacing:.07em}.main-nav a{transition:color .2s}.main-nav a:hover,.text-arrow:hover,.under-link:hover{color:var(--gold-bright)}.main-nav .nav-contact{border:1px solid #9c8044;padding:12px 16px;color:var(--gold-bright)}.nav-contact span{margin-left:6px}.menu-toggle{display:none}
.site-header{height:74px;padding:0 max(32px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#090909;border-bottom:1px solid #ffffff13;position:sticky;top:0;z-index:20}.wordmark{display:flex;align-items:center;gap:11px;color:var(--gold-bright);font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:.21em}.wordmark-flower{font-size:35px;line-height:1;color:var(--gold)}.brand-crop{width:46px;height:46px;position:relative;overflow:hidden;display:block;border:1px solid #b69a55;border-radius:50%;flex:none;background:#050505}.brand-crop img{position:absolute;max-width:none;width:106px;left:-30px;top:-10px}.wordmark small{display:block;color:#b7a77b;font:8px var(--sans);letter-spacing:.25em;margin-top:4px}.main-nav{display:flex;align-items:center;gap:25px;color:#f0e9dd;font-family:var(--serif);font-size:12px}.main-nav a{transition:color .2s}.main-nav a:hover,.text-arrow:hover,.under-link:hover{color:var(--gold-bright)}.main-nav .nav-contact{background:#c99e31;border:1px solid #c99e31;padding:12px 19px;color:#fff8e9;border-radius:30px;font-family:var(--serif);font-size:13px}.nav-contact span{margin-left:6px}.menu-toggle{display:none}
.hero{height:min(900px,calc(100vh - 74px));min-height:650px;position:relative;overflow:hidden}.hero-image,.hero-vignette{position:absolute;inset:0}.hero-image{background:url('assets/wedding-main.webp') center 48%/cover no-repeat;filter:saturate(.7) brightness(.55);transition:background-image .35s ease}.hero-vignette{background:linear-gradient(90deg,#080807 2%,rgba(8,8,7,.92) 30%,rgba(8,8,7,.58) 57%,rgba(8,8,7,.28)),linear-gradient(0deg,#090909 0%,transparent 23%,transparent 83%,#09090942)}.hero-inner{position:relative;height:100%;display:flex;align-items:center}.hero-copy{max-width:640px;padding:25px 0 42px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.23em;color:var(--gold-bright);display:flex;align-items:center;gap:12px;margin:0 0 21px}.eyebrow span{width:30px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(58px,6.7vw,88px)/.98 var(--serif);letter-spacing:-.04em;margin:0 0 24px;color:#f0e4c5}h1 em,h2 em{font-weight:500;color:var(--gold-bright)}.hero-lead{max-width:455px;color:#e5dfd2;font-size:14px;line-height:1.9;margin-bottom:28px}.hero-actions{display:flex;gap:14px;align-items:center}.button{min-height:47px;display:inline-flex;justify-content:center;align-items:center;gap:13px;padding:0 20px;font-size:10px;letter-spacing:.04em;text-transform:none;font-weight:600;transition:.2s;cursor:pointer}.button-gold{background:#c99e31;border:1px solid #c99e31;color:#fff8e9}.button-gold:hover{background:#dfb649;border-color:#dfb649;transform:translateY(-2px)}.under-link,.text-arrow{font-size:11px;letter-spacing:.08em;color:#e2d6ba}.under-link span,.text-arrow span{color:var(--gold);margin-left:7px}.logo-plaque{position:absolute;right:4%;bottom:51px;width:178px;padding:0 0 10px;background:#050505;border:1px solid #b39350;box-shadow:0 14px 42px #000b;text-align:center}.logo-plaque img{display:block;width:100%}.logo-plaque>span{display:block;color:#d7c58b;font-size:7px;letter-spacing:.14em;text-transform:uppercase}.hero-side-note{position:absolute;right:0;top:26%;text-align:right;color:#d8cba9;font:italic 15px/1.6 var(--serif)}.hero-side-note span{display:block;color:var(--gold);font-size:20px;margin-top:5px}.hero-controls{position:absolute;right:2px;bottom:67px;display:flex;gap:12px}.hero-arrow{width:44px;height:44px;border-radius:50%;border:1px solid #d2a82f;background:#14110bcc;color:#ddae36;font:28px/1 var(--serif);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}.hero-arrow:hover{background:#c99e31;color:#111}.hero-dots{position:absolute;left:50%;bottom:33px;transform:translateX(-50%);display:flex;align-items:center;gap:10px}.hero-dot{width:7px;height:7px;border-radius:50%;border:0;padding:0;background:#d0c6aa99;cursor:pointer;transition:width .2s,background .2s}.hero-dot.active{width:27px;border-radius:8px;background:#d2aa30}.scroll-cue{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:#d5c7a4;text-transform:uppercase;font-size:8px;letter-spacing:.18em}.scroll-cue span{height:27px;width:1px;background:linear-gradient(var(--gold),transparent)}
.promise-strip{min-height:75px;background:#11100d;border-block:1px solid #342c1b;display:flex;justify-content:center;align-items:center;gap:36px;color:#d8ceb8;text-transform:uppercase;font-size:9px;letter-spacing:.14em}.promise-strip div span{color:var(--gold);font-size:9px;margin-right:8px}.promise-strip i{font-style:normal;color:#987c40;font-size:10px}
.section{padding:105px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-photo{height:460px;position:relative;padding:0 20px 20px 0}.about-photo:before{content:'';position:absolute;inset:22px 0 0 22px;border:1px solid #816d40}.about-photo img{position:relative;width:100%;height:100%;object-fit:cover;filter:saturate(.72) brightness(.82)}.photo-caption{position:absolute;right:0;bottom:0;background:#11100e;border:1px solid #8a713b;padding:12px 16px;color:#e2d3ad;font:italic 13px var(--serif)}h2{font:500 clamp(36px,4.3vw,54px)/1.13 var(--serif);letter-spacing:-.025em;color:#eee3ce;margin:0 0 20px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:#b8b09f;margin-bottom:14px}.text-arrow{display:inline-flex;align-items:center;margin-top:10px;border-bottom:1px solid #8f7541;padding-bottom:7px}
.experience-section{background:#11110f;border-block:1px solid #242219}.section-heading{text-align:center;max-width:630px;margin:0 auto 50px}.section-heading .eyebrow{justify-content:center}.section-heading>p:last-child{font-size:13px;line-height:1.8;color:#b4ad9e;margin:0}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.experience-card{border:1px solid #373124;padding:10px 10px 22px;background:#0c0c0b}.exp-image{height:218px;position:relative;overflow:hidden}.exp-image img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.7) brightness(.82);transition:transform .5s}.experience-card:hover .exp-image img{transform:scale(1.05)}.exp-image>span{position:absolute;left:11px;top:11px;background:#10100dcf;border:1px solid #c2a55b;color:#e1ca88;padding:6px 8px;font:12px var(--serif)}.experience-card h3{font:22px var(--serif);color:#ebdfc4;margin:18px 7px 8px}.experience-card p{font-size:11px;line-height:1.75;color:#aaa394;margin:0 7px 12px;min-height:58px}.experience-card .text-arrow{font-size:9px;margin:0 7px;border:0;color:#d5bd80}
.cuisine-section{padding:100px 0;background:radial-gradient(ellipse at 80% 10%,#282115 0%,#11100d 38%,#090909 75%);border-bottom:1px solid #332b1d}.cuisine-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:90px}.cuisine-copy h2{font-size:55px}.cuisine-copy>p:not(.eyebrow){max-width:420px;font-size:13px;line-height:1.9;color:#b6ad9b;margin-bottom:24px}.button-outline{background:transparent;border:1px solid #a68a4b;color:#e5d4a7}.button-outline:hover{background:#c5a358;color:#15120d}.menu-board{background:#080807;border:1px solid #8b7037;box-shadow:0 25px 70px #0008;padding:26px 30px;position:relative}.menu-board:before{content:'';position:absolute;inset:7px;border:1px solid #41351f;pointer-events:none}.menu-board>*{position:relative}.menu-board-top,.menu-board-bottom{display:flex;justify-content:space-between;color:#cdb46d;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.menu-board-top{padding-bottom:19px;border-bottom:1px solid #39301f}.menu-tabs{display:flex;gap:22px;padding-top:20px}.menu-tab{border:0;background:none;padding:0 0 8px;color:#9b9486;text-transform:uppercase;font-size:8px;letter-spacing:.1em;cursor:pointer;border-bottom:1px solid transparent}.menu-tab.active{color:#e5cb83;border-color:#c09c4c}.menu-display{min-height:205px;padding:32px 9px 17px}.menu-kicker{font-size:8px;color:#b99a53;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}.menu-display h3{font:29px var(--serif);margin-bottom:10px;color:#eaddbf}.menu-display>p:not(.menu-kicker){font-size:12px;line-height:1.8;color:#b6ad9b;max-width:390px;margin-bottom:13px}.menu-flourish{font:22px var(--serif);color:#b48e3c}.menu-board-bottom{border-top:1px solid #39301f;padding-top:14px;justify-content:center}
.gallery-section{background:#0c0c0b}.gallery-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;grid-template-rows:205px 205px;gap:13px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#201b12}.gallery-grid figure img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) brightness(.75);transition:transform .5s,filter .5s}.gallery-grid figure:hover img{transform:scale(1.04);filter:saturate(.9) brightness(.85)}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:2/4}.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 13px;background:linear-gradient(transparent,#000b);font:16px var(--serif);color:#f3e5c3}
.values-band{padding:78px 0;background:#12100c;border-block:1px solid #322a1c}.values-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.values-inner h2{font-size:45px}.value-list{display:grid;gap:19px}.value-list article{display:grid;grid-template-columns:24px 1fr;gap:13px;border-bottom:1px solid #312b20;padding-bottom:17px}.value-list article>span{color:#c5a75e}.value-list h3{font:18px var(--serif);color:#e9dec6;margin:0 0 5px}.value-list p{font-size:11px;color:#aaa393;line-height:1.7;margin:0}
.process-section{background:#090909}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps article{border-top:1px solid #706039;padding-top:19px}.steps article>span{font:italic 15px var(--serif);color:#d2b669}.steps h3{font:21px var(--serif);color:#e8dcc3;margin:10px 0 7px}.steps p{font-size:12px;line-height:1.8;color:#aaa392;margin:0}
.testimonial-section{padding:105px 0;background:#11110f;border-block:1px solid #242219}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.testimonial-card{border:1px solid #373124;padding:26px;background:#0c0c0b}
.testimonial-quote{font:italic 16px/1.7 var(--serif);color:#e6dcc6;margin:0 0 18px}
.testimonial-author{font:500 17px var(--serif);color:#f0e4c5;margin:0 0 6px}
.testimonial-role{font-size:11px;letter-spacing:.1em;color:#b4ad9e;margin:0;text-transform:uppercase}
@media(max-width:940px){.testimonial-grid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media(max-width:640px){.testimonial-grid{grid-template-columns:1fr}}
.faq-section{background:#11110f;border-block:1px solid #28251d;padding:85px 0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-layout>div:first-child>p:last-child{font-size:12px;color:#aaa392;line-height:1.8}.faq-list details{border-bottom:1px solid #393326;padding:17px 0}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;list-style:none;color:#e6dcc6;font:17px var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:18px var(--sans);color:#c6a658;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:11px;line-height:1.8;color:#aaa392;margin:12px 28px 2px 0}
.contact-section{padding:95px 0;background:radial-gradient(ellipse at 0% 80%,#221c10 0%,#090909 55%)}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.contact-copy h2{font-size:51px}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#aaa392;max-width:330px}.contact-note{border-top:1px solid #433821;padding-top:20px;margin-top:30px;color:#d6c493;font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:2}.contact-note span{color:#c6a658;margin-right:8px}.enquiry-form{background:#10100e;border:1px solid #3a3222;padding:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.enquiry-form label{display:grid;gap:7px;font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#cfc2a1;margin-bottom:15px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{width:100%;border:1px solid #413a2a;background:#090909;padding:11px 12px;color:#eee4d2;outline:none;font-size:11px;letter-spacing:0;text-transform:none;border-radius:0}.enquiry-form input:focus,.enquiry-form textarea:focus,.enquiry-form select:focus{border-color:#c3a253}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#797466}.enquiry-form textarea{resize:vertical}.enquiry-form .button{width:100%;margin-top:2px}.form-note{font-size:9px;line-height:1.6;color:#918a7a;margin:11px 0 0}.form-success{display:none;padding:12px;margin-top:12px;border:1px solid #917740;color:#e6d19b;font-size:11px;line-height:1.6}.form-success.visible{display:block}
.site-footer{background:#050505;border-top:1px solid #30291c}.footer-top{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-top>p{color:#b9ae91;font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin:0}.footer-up{font-size:9px;color:#d7c28a;letter-spacing:.1em;text-transform:uppercase}.footer-bottom{border-top:1px solid #ffffff14;padding:17px 0 19px;display:flex;justify-content:space-between;color:#807a6d;font-size:9px}
@media(max-width:940px){.site-header{padding:0 25px}.main-nav{gap:15px;font-size:11px}.page-width{width:calc(100% - 48px)}.promise-strip{gap:18px;font-size:8px}.experience-grid{grid-template-columns:repeat(2,1fr)}.experience-card p{min-height:0}.cuisine-layout,.values-inner,.faq-layout,.contact-layout{gap:45px}.hero{height:min(820px,calc(100vh - 74px))}.hero-controls{right:0}}
@media(max-width:640px){html{scroll-padding-top:69px}.site-header{height:69px;padding:0 19px}.wordmark{font-size:17px;gap:8px}.wordmark-flower{font-size:29px}.wordmark small{font-size:6px}.brand-crop{width:39px;height:39px}.brand-crop img{width:91px;left:-26px;top:-8px}.menu-toggle{display:block;background:none;border:1px solid #6a562f;color:#e4cc88;width:37px;height:35px;font-size:18px}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#0b0b0a;padding:19px 24px 24px;border-bottom:1px solid #5b492c;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px 4px;border-bottom:1px solid #ffffff12}.main-nav .nav-contact{margin-top:12px;text-align:center;border:1px solid #9c8044}.page-width{width:calc(100% - 38px)}.hero{height:calc(100svh - 69px);min-height:610px;max-height:850px}.hero-image{background-position:58% center}.hero-vignette{background:linear-gradient(90deg,#080807e8,rgba(8,8,7,.65)),linear-gradient(0deg,#090909 0%,transparent 23%)}.hero-inner{align-items:flex-start;padding-top:90px}.hero-copy{padding:0}.eyebrow{font-size:8px;letter-spacing:.18em;margin-bottom:16px}.eyebrow span{width:23px}h1{font-size:59px;margin-bottom:20px}.hero-lead{font-size:12px;line-height:1.8;max-width:340px}.hero-actions{align-items:flex-start;gap:10px;flex-direction:row;flex-wrap:wrap}.button{min-height:42px;padding:0 13px;font-size:9px}.button-outline{background:#090909a8}.hero-controls{right:0;bottom:49px;gap:8px}.hero-arrow{width:37px;height:37px;font-size:24px}.hero-dots{bottom:27px;gap:8px}.hero-dot{width:6px;height:6px}.hero-dot.active{width:22px}.scroll-cue{font-size:7px}.scroll-cue span{height:19px}.promise-strip{padding:17px 10px;display:grid;grid-template-columns:1fr 1fr;gap:13px 15px;font-size:7px}.promise-strip i{display:none}.promise-strip div{text-align:center}.section{padding:70px 0}.about{grid-template-columns:1fr;gap:35px}.about-photo{height:335px}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow){font-size:12px}.section-heading{margin-bottom:32px}.section-heading h2{font-size:38px}.section-heading>p:last-child{font-size:11px}.experience-grid{gap:11px}.experience-card{padding:7px 7px 15px}.exp-image{height:155px}.experience-card h3{font-size:17px;margin:12px 5px 6px}.experience-card p{font-size:10px;line-height:1.6;margin:0 5px 8px}.experience-card .text-arrow{font-size:7px;margin:0 5px;letter-spacing:.03em}.experience-card .text-arrow span{margin-left:3px}.cuisine-section{padding:70px 0}.cuisine-layout{grid-template-columns:1fr;gap:34px}.cuisine-copy h2{font-size:43px}.cuisine-copy>p:not(.eyebrow){font-size:12px}.menu-board{padding:21px 17px}.menu-tabs{gap:14px}.menu-tab{font-size:7px}.menu-display{min-height:195px;padding:27px 5px 15px}.menu-display h3{font-size:25px}.menu-display>p:not(.menu-kicker){font-size:11px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:195px 145px 145px;gap:9px}.gallery-tall{grid-column:span 2;grid-row:auto}.gallery-wide{grid-column:span 2}.gallery-grid figure:nth-child(2),.gallery-grid figure:nth-child(3){min-height:145px}.gallery-grid figcaption{font-size:13px;padding:23px 11px 10px}.values-band{padding:65px 0}.values-inner{grid-template-columns:1fr;gap:27px}.values-inner h2{font-size:39px}.value-list{gap:15px}.steps{grid-template-columns:1fr;gap:22px}.steps article{padding-top:14px}.steps h3{font-size:19px}.faq-section{padding:68px 0}.faq-layout{grid-template-columns:1fr;gap:22px}.faq-layout h2{font-size:39px}.faq-list summary{font-size:15px}.contact-section{padding:70px 0}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-copy h2{font-size:43px}.contact-copy>p:not(.eyebrow){font-size:12px}.contact-note{margin-top:18px;padding-top:14px}.enquiry-form{padding:18px 14px}.form-row{gap:9px}.enquiry-form label{font-size:7px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{padding:10px 9px;font-size:10px}.footer-top{padding:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.footer-top>p{grid-column:1/-1;grid-row:2}.footer-up{justify-self:end}.footer-bottom{font-size:8px;gap:10px}.footer-bottom span:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Refined carousel controls */
.hero-controls{gap:13px}
.hero-arrow{width:54px;height:54px;border:1px solid rgba(224,194,125,.72);background:linear-gradient(145deg,rgba(28,25,20,.92),rgba(7,7,7,.88));color:#e4c879;box-shadow:0 8px 26px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,244,208,.13);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease}
.hero-arrow:before{content:"";position:absolute;inset:4px;border:1px solid rgba(215,185,112,.22);border-radius:50%;pointer-events:none}
.hero-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;position:relative}
.hero-arrow:hover{transform:translateY(-2px);border-color:#f0d68f;background:linear-gradient(145deg,#d3ae52,#a98024);color:#17130a;box-shadow:0 10px 28px rgba(194,151,51,.28),inset 0 1px 0 rgba(255,255,255,.42)}
.hero-arrow:focus-visible{outline:2px solid #f0d68f;outline-offset:4px}
@media(max-width:640px){.hero-controls{gap:10px}.hero-arrow{width:46px;height:46px}.hero-arrow:before{inset:3px}.hero-arrow svg{width:16px;height:16px}}

/* Auto-rotating wedding service circles */
.service-orbit{padding:39px 0 43px;background:#10100e;border-bottom:1px solid #332b1d;overflow:hidden}
.orbit-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.orbit-heading .eyebrow{font-size:9px;margin-bottom:9px}
.orbit-heading h2{font-size:30px;line-height:1.13;margin:0}
.orbit-heading h2 em{color:var(--gold-bright)}
.service-pause{flex:none;display:inline-flex;align-items:center;gap:9px;border:1px solid #64512d;background:#0b0b09;color:#dec67f;padding:10px 14px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.2s}
.service-pause:hover{border-color:#d4b664;background:#1d1a12}
.service-pause span{font-size:12px}
.orbit-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.service-track{display:flex;width:max-content;will-change:transform;animation:service-drift 66s linear infinite}
.service-group{display:flex;align-items:flex-start;gap:17px;padding-right:17px}
.orbit-item{width:118px;flex:0 0 118px;min-height:133px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#e8dec8;transition:color .2s}
.orbit-item:hover,.orbit-item:focus-visible{color:var(--gold-bright)}
.orbit-thumb{width:77px;height:77px;border-radius:50%;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;border:1px solid #c5a654;background-color:#19160f;background-size:cover;background-position:center;box-shadow:0 0 0 4px #0a0a09,0 0 0 5px #61502e,0 8px 22px #0008;transition:transform .3s,box-shadow .3s}
.orbit-thumb:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 50% 34%,rgba(10,9,7,.38),rgba(5,5,4,.82))}
.orbit-glyph{font:28px/1 var(--serif);color:#f0d58c;text-shadow:0 2px 12px #000;transition:transform .3s}
.orbit-item:hover .orbit-thumb,.orbit-item:focus-visible .orbit-thumb{transform:translateY(-3px) scale(1.06);box-shadow:0 0 0 4px #0a0a09,0 0 0 5px #d5b45e,0 10px 25px #c39c3a30}
.orbit-item:hover .orbit-glyph{transform:scale(1.12)}
.orbit-label{display:block;margin-top:13px;font:11px/1.35 var(--serif);max-width:114px}
.orbit-detail{display:block;font-size:7px;line-height:1.45;color:#aa9c7a;max-width:116px;margin-top:4px}
.orbit-item:nth-child(7n+1) .orbit-thumb{background-image:url("assets/wedding-expertise.webp")}
.orbit-item:nth-child(7n+2) .orbit-thumb{background-image:url("assets/wedding-couple-ceremony.webp")}
.orbit-item:nth-child(7n+3) .orbit-thumb{background-image:url("assets/wedding-ceremony-red.webp")}
.orbit-item:nth-child(7n+4) .orbit-thumb{background-image:url("assets/wedding-couple-portrait.webp")}
.orbit-item:nth-child(7n+5) .orbit-thumb{background-image:url("assets/wedding-couple-flowers.webp")}
.orbit-item:nth-child(7n+6) .orbit-thumb{background-image:url("assets/wedding-bride-entry.webp")}
.orbit-item:nth-child(7n) .orbit-thumb{background-image:url("assets/wedding-main.webp")}
@keyframes service-drift{to{transform:translateX(-50%)}}
.service-orbit.is-paused .service-track,.orbit-window:hover .service-track,.orbit-window:focus-within .service-track{animation-play-state:paused}
@media(max-width:940px){.service-orbit{padding:35px 0}.service-group{gap:13px;padding-right:13px}.orbit-item{width:108px;flex-basis:108px}.orbit-thumb{width:72px;height:72px}}
@media(max-width:640px){.service-orbit{padding:26px 0 31px}.orbit-heading{margin-bottom:20px;align-items:flex-end}.orbit-heading h2{font-size:22px}.orbit-heading .eyebrow{font-size:7px;letter-spacing:.16em}.service-pause{padding:8px 9px;font-size:7px;gap:6px}.service-group{gap:8px;padding-right:8px}.orbit-item{width:91px;flex-basis:91px;min-height:117px}.orbit-thumb{width:63px;height:63px;box-shadow:0 0 0 3px #0a0a09,0 0 0 4px #61502e,0 7px 18px #0008}.orbit-glyph{font-size:24px}.orbit-label{font-size:9px;margin-top:10px;max-width:89px}.orbit-detail{font-size:6px;max-width:89px}}
@media(prefers-reduced-motion:reduce){.service-track{animation:none}}

.contact-channels{display:grid;gap:10px;margin-top:18px}.contact-channels a{color:#e2c871;font-size:12px;text-decoration:none}.contact-channels a:hover{text-decoration:underline;color:#f0dfa5}

.website-field{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* Ullasya wedding photography backgrounds */
.about{background:linear-gradient(90deg,rgba(8,8,7,.94),rgba(8,8,7,.86)),url("assets/wedding-couple-portrait.webp") center 42%/cover no-repeat}
.promise-strip{background:linear-gradient(rgba(9,9,8,.89),rgba(9,9,8,.94)),url("assets/wedding-bride-entry.webp") center 46%/cover no-repeat}
.experience-section{background:linear-gradient(rgba(9,9,8,.91),rgba(9,9,8,.94)),url("assets/wedding-expertise.webp") center 44%/cover no-repeat}
.cuisine-section{background:linear-gradient(90deg,rgba(9,9,8,.91),rgba(9,9,8,.88)),url("assets/wedding-ceremony-red.webp") center 52%/cover no-repeat}
.gallery-section{background:linear-gradient(rgba(9,9,8,.91),rgba(9,9,8,.93)),url("assets/wedding-couple-flowers.webp") center 48%/cover no-repeat}
.values-band{background:linear-gradient(90deg,rgba(9,9,8,.91),rgba(9,9,8,.88)),url("assets/wedding-couple-ceremony.webp") center 45%/cover no-repeat}
.process-section{background:linear-gradient(rgba(9,9,8,.92),rgba(9,9,8,.94)),url("assets/wedding-main.webp") center 53%/cover no-repeat}
.faq-section{background:linear-gradient(rgba(9,9,8,.92),rgba(9,9,8,.94)),url("assets/wedding-couple-portrait.webp") center 48%/cover no-repeat}
.contact-section{background:linear-gradient(90deg,rgba(9,9,8,.94),rgba(9,9,8,.88)),url("assets/wedding-expertise.webp") center 50%/cover no-repeat}
@media(max-width:700px){.about,.promise-strip,.experience-section,.cuisine-section,.gallery-section,.values-band,.process-section,.faq-section,.contact-section{background-attachment:scroll}}

/* Compact branded contact links */
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}
.contact-channels .contact-card{display:flex;flex-direction:column;gap:9px;min-width:0;padding:12px;border:1px solid #514329;background:linear-gradient(145deg,#17150f,#0c0c0b);color:#e7d9b5;text-decoration:none;transition:border-color .2s ease,transform .2s ease,background .2s ease}
.contact-channels a.contact-card:hover,.contact-channels a.contact-card:focus-visible{border-color:#c9a94e;background:#1b180f;transform:translateY(-2px);color:#fff0c2;text-decoration:none;outline:none}
.contact-card-action{display:flex;align-items:center;gap:8px;min-height:25px;color:#e4c96e;font-size:11px;font-weight:600;letter-spacing:.04em}
.contact-card-action svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-card-action svg path:only-child{fill:currentColor;stroke:none}
.contact-card-action .icon-dot{fill:currentColor;stroke:none}
.contact-card-action b{margin-left:auto;font-size:13px;font-weight:400}
.contact-card-action i{margin-left:auto;padding:3px 5px;border:1px solid #5e4d29;color:#a99a72;font-size:6px;font-style:normal;font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.contact-card-detail{display:block;overflow-wrap:anywhere;color:#bcb4a3;font-size:9px;line-height:1.45}
.contact-card.is-coming{opacity:.68}
@media(max-width:640px){.contact-channels{gap:8px;margin-top:17px}.contact-channels .contact-card{padding:10px}.contact-card-action{font-size:10px}.contact-card-detail{font-size:8px}}
.about-certificate{height:auto;min-height:460px;padding:0 20px 20px 0}.certificate-frame{position:relative;height:100%;min-height:440px;padding:14px;background:#0d0d0c;border:1px solid rgba(228,201,110,.5);box-shadow:0 18px 45px rgba(0,0,0,.35)}.certificate-frame img{display:block;width:100%;height:100%;min-height:410px;object-fit:contain;background:#f4f1ea;filter:none}.certificate-seal{position:absolute;right:-12px;bottom:6px;padding:9px 12px;background:#c9a43a;color:#0b0b0a;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.about-certificate:before{inset:22px 0 0 22px}
/* Keep the three user-marked content areas clean and black. */
.gallery-section,.process-section,.faq-section{background:#090909}
.floating-social{position:fixed;right:0;bottom:24px;z-index:30;display:flex;flex-direction:column;gap:10px}.floating-social-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.55);border-right:0;border-radius:50% 0 0 50%;background:#11110f;color:#fff;box-shadow:0 5px 18px rgba(0,0,0,.5);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.floating-social-button svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floating-social-button:hover,.floating-social-button:focus-visible{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 22px rgba(0,0,0,.48);outline:2px solid rgba(228,201,110,.72);outline-offset:2px}.floating-social-button.floating-instagram{border-color:#ffb3df;background:linear-gradient(145deg,#9b2cff,#ff176f 58%,#ff8a00);color:#fff;filter:saturate(1.2)}.floating-social-button .floating-icon-dot{fill:currentColor;stroke:none}.floating-social-button.floating-facebook{border-color:#8fc4ff;background:#1877f2;color:#fff;filter:saturate(1.25)}.floating-social-button.floating-facebook svg path{fill:currentColor;stroke:none}.floating-social-button.floating-facebook.is-coming{opacity:.42;cursor:not-allowed}.floating-social-button.floating-facebook.is-coming:hover{transform:none;outline:none}.floating-social-button.floating-whatsapp{border-color:#9affc1;background:#18d866;color:#fff;filter:saturate(1.2)}.floating-social-button.floating-whatsapp svg path:first-child{fill:none;stroke:currentColor}.floating-social-button.floating-whatsapp svg path:last-child{fill:currentColor;stroke:none}@media(max-width:640px){.floating-social{right:0;bottom:18px;gap:8px}.floating-social-button{width:40px;height:40px}.floating-social-button svg{width:19px;height:19px}}
.floating-social-button.floating-youtube{border-color:#ff6868;background:#ff0000;color:#fff}.floating-social-button.floating-youtube svg{width:20px;height:20px;fill:currentColor;stroke:none}
.hero-image{background-image:url("assets/Dreamy Waterfront Palace Wedding.png")}
