.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   GRACE & AFEES  |  #FromAduToIdo
   Paste into: Elementor > Site Settings > Custom CSS
   ============================================================ */

/* ---------- 1. Hero auto-blend: panel colour, fade and logo adapt to each photo ---------- */
.ga-hero{isolation:isolate;overflow:hidden;background-color:#C9C4C6}
/* ONE slideshow (on the hero section) paints both layers of every slide, so they can never fall out of step.
   ::before = the photo zoomed on its left edge + blurred  -> the panel colour, matched automatically
   ::after  = the sharp photo on the right, fading into its own blur -> no visible edge */
.ga-hero .elementor-background-slideshow__slide__image{position:relative;width:100%;height:100%;background-size:0 0!important;background-repeat:no-repeat}
.ga-hero .elementor-background-slideshow__slide__image::before,
.ga-hero .elementor-background-slideshow__slide__image::after{content:"";position:absolute;background-image:inherit;background-repeat:no-repeat;pointer-events:none}
.ga-hero .elementor-background-slideshow__slide__image::before{inset:-12%;background-size:420% auto;background-position:2% 22%;
  filter:blur(70px) saturate(1.15) contrast(1.12)}
.ga-hero .elementor-background-slideshow__slide__image::after{top:0;right:0;bottom:0;left:44%;background-size:cover;background-position:center 40%;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%)}
@media (max-width:1024px){.ga-hero .elementor-background-slideshow__slide__image::after{left:0;bottom:auto;height:70vh;
  -webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 42%);mask-image:linear-gradient(0deg,transparent 0%,#000 42%)}}
@media (max-width:767px){.ga-hero .elementor-background-slideshow__slide__image::after{height:62vh}}
.ga-hero .elementor-background-slideshow .swiper-slide{transition-timing-function:cubic-bezier(.45,0,.2,1)!important}
.ga-hero .ga-hero-panel,.ga-hero .ga-hero-photo{background:transparent!important}
/* text + button: white ink with "difference" = dark on light photos, light on dark photos */
.ga-hero .ga-hero-panel>.elementor-element:not(.ga-logo){mix-blend-mode:difference}
.ga-hero .elementor-heading-title{color:#fff!important}
.ga-hero .ga-muted .elementor-heading-title{opacity:.75}
.ga-hero .elementor-countdown-digits{color:#fff!important}
.ga-hero .elementor-countdown-label{color:#fff!important;opacity:.72}
.ga-hero .elementor-countdown-item+.elementor-countdown-item{border-left-color:rgba(255,255,255,.45)!important}
.ga-hero .elementor-button{background:transparent!important;color:#fff!important;border:1px solid #fff!important}
/* logo: inverted + difference (black on light, ivory on dark); the masked grey layer removes any colour cast */
.ga-hero .ga-logo{position:relative}
.ga-hero .ga-logo img{filter:invert(1);mix-blend-mode:difference}
.ga-hero .ga-logo::after{content:"";position:absolute;inset:0;background:#808080;mix-blend-mode:color;pointer-events:none;
  -webkit-mask:url(https://adutoido.love/wp-content/uploads/2026/10/logo-ink.png) center/contain no-repeat;mask:url(https://adutoido.love/wp-content/uploads/2026/10/logo-ink.png) center/contain no-repeat}
@supports not ((backdrop-filter:invert(1)) or (-webkit-backdrop-filter:invert(1))){
  .ga-hero .ga-logo img{opacity:1;filter:invert(1);mix-blend-mode:difference}
  .ga-hero .ga-logo .elementor-widget-container::after{display:none}}

/* ---------- 2. Header (sticky, colour-aware, swipeable mobile menu) ---------- */
.ga-header{background-color:var(--gh-bg,#E7E2E5)!important}
.ga-header .ga-mono img{filter:invert(var(--gh-inv,0))}
.ga-header .elementor-button{color:var(--gh-fg,#1C1714)!important}
.ga-header .ga-rsvp .elementor-button{border-color:var(--gh-line,rgba(28,23,20,.35))!important}
.ga-header .ga-rsvp .elementor-button:hover{background-color:var(--gh-fg,#1C1714)!important;color:var(--gh-bg,#E7E2E5)!important}
.ga-header .ga-nav{--width:auto;width:auto;margin-left:auto}
.ga-header .ga-nav .elementor-widget{flex:none}
@media (max-width:1024px){
  .ga-header .ga-headrow,.ga-header .ga-headrow>.e-con-inner{flex-wrap:wrap!important;row-gap:0}
  .ga-header .ga-rsvp{margin-left:auto}
  .ga-header .ga-nav{order:3;--width:100%;width:100%;margin:10px 0 0;padding-top:4px;overflow-x:auto;scrollbar-width:none;
    -webkit-overflow-scrolling:touch;border-top:1px solid rgba(28,23,20,.14);justify-content:flex-start}
  .ga-header .ga-nav::-webkit-scrollbar{display:none}
}
[id]{scroll-margin-top:84px}
@media (max-width:1024px){[id]{scroll-margin-top:124px}}


/* ---------- 3. Editorial sections: weekend, venues, wedding party, gallery, travel ---------- */

/* labels: small caps line + hairline */
.ga-lbl .elementor-heading-title{display:flex;align-items:center;gap:14px}
.ga-lbl .elementor-heading-title::after{content:"";flex:0 0 48px;height:1px;background:#B8956A}
.ga-lbl-c .elementor-heading-title{justify-content:center}
.ga-lbl-c .elementor-heading-title::before{content:"";flex:0 0 48px;height:1px;background:currentColor;opacity:.6}
.ga-pty .ga-lbl .elementor-heading-title::after{background:rgba(201,164,108,.6)}
/* ghost chapter numerals */
.ga-ghost{position:relative;overflow:hidden}
.ga-ghost::after{position:absolute;top:clamp(24px,4vw,48px);right:clamp(8px,3vw,48px);font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:clamp(140px,22vw,320px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(184,149,106,.28);pointer-events:none;z-index:0}
.ga-pty.ga-ghost::after{-webkit-text-stroke:1px rgba(201,164,108,.22)}
.ga-ghost>.e-con,.ga-ghost>.elementor-element,.ga-ghost>.e-con-inner{position:relative;z-index:1}
.ga-n01::after{content:"01"}.ga-n02::after{content:"02"}.ga-n03::after{content:"03"}
.ga-n04::after{content:"04"}.ga-n05::after{content:"05"}.ga-n06::after{content:"06"}
/* welcome */
.ga-sig .elementor-heading-title{display:flex;align-items:center;gap:16px}
.ga-sig .elementor-heading-title::before{content:"";width:40px;height:1px;background:#B8956A}
/* scripture */
.ga-glyph .elementor-heading-title{color:rgba(184,149,106,.38)!important;margin-bottom:-.12em}
.ga-scr-q .elementor-heading-title{max-width:20ch;margin:0 auto;padding:36px 0;border-top:1px solid rgba(28,23,20,.14);border-bottom:1px solid rgba(28,23,20,.14)}
/* weekend: arches, giant numerals, staggered second card */
.ga-arch img{width:100%!important;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 0 0;display:block;
  transform:translate3d(0,var(--py,0px),0) scale(1.16);transition:transform 1.4s cubic-bezier(.2,.7,.2,1);will-change:transform}
.ga-arch .elementor-widget-container,.ga-arch{overflow:hidden;border-radius:999px 999px 0 0}
.ga-card:hover .ga-arch img{transform:translate3d(0,var(--py,0px),0) scale(1.2)}
.ga-datebox{margin-top:-70px!important;position:relative;z-index:2}
@media (max-width:767px){.ga-datebox{margin-top:-22px!important}}
.ga-bignum .elementor-heading-title{text-shadow:0 0 1px rgba(247,243,241,.4)}
@media (min-width:1025px){.ga-card2{margin-top:110px!important}}
.ga-facts .elementor-heading-title small{display:block;font-family:'Figtree',Arial,sans-serif;font-size:14px;font-weight:300;color:#6B625B;margin-top:3px;letter-spacing:0}
.ga-facts>.e-con:first-child{border-top:1px solid rgba(28,23,20,.14)}
/* venues */
.ga-vrow{border-top:1px solid rgba(28,23,20,.14)}
.ga-vlist>.ga-vrow:last-child{border-bottom:1px solid rgba(28,23,20,.14)}
.ga-vrow iframe{width:100%;display:block}
/* wedding party: dark evening moment */
.ga-pty{background-image:radial-gradient(ellipse 560px 300px at 50% 0%,rgba(201,164,108,.13),transparent 70%)!important;background-repeat:no-repeat}
.ga-orn .elementor-heading-title{display:flex;align-items:center;justify-content:center;gap:12px}
.ga-orn .elementor-heading-title::before,.ga-orn .elementor-heading-title::after{content:"";width:60px;height:1px;background:rgba(201,164,108,.45)}
.ga-orn i{display:block;width:6px;height:6px;transform:rotate(45deg);border:1px solid #C9A46C}
.ga-ring{width:min(100%,230px)!important;margin:0 auto}
.ga-ring .elementor-flip-box{position:relative;aspect-ratio:1;height:auto!important;border-radius:50%;border:1px solid #C9A46C;
  transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ga-ring .elementor-flip-box__layer{inset:7px!important;width:auto!important;height:auto!important;border-radius:50%!important;overflow:hidden}
.ga-ring .elementor-flip-box__front .elementor-flip-box__layer__overlay{background:transparent!important}
.ga-ring .elementor-flip-box__back .elementor-flip-box__layer__overlay{padding:18%!important}
.ga-ring .elementor-flip-box__layer__description{font-family:'Fraunces',Georgia,serif!important;font-style:italic;font-weight:300!important;color:#F4EFEA!important}
.ga-ring .elementor-flip-box::after{content:"";position:absolute;inset:-13px;border-radius:50%;border:1px dashed rgba(201,164,108,.55);
  opacity:0;transition:opacity .6s;animation:gaSpin 40s linear infinite;pointer-events:none}
@keyframes gaSpin{to{transform:rotate(360deg)}}
.ga-pcard:hover .ga-ring .elementor-flip-box{transform:translateY(-8px)}
.ga-pcard:hover .ga-ring .elementor-flip-box::after{opacity:1}
/* gallery strip */
.ga-strip{overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;
  padding:6px clamp(20px,5vw,64px) 6px!important;scroll-padding-inline:clamp(20px,5vw,64px)}
.ga-strip::-webkit-scrollbar{display:none}
.ga-strip.drag{cursor:grabbing;scroll-snap-type:none}
.ga-strip>.elementor-element{flex:none!important;width:auto!important;scroll-snap-align:start}
.ga-gimg img{height:clamp(340px,60vh,560px)!important;width:auto!important;max-width:none!important;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ga-gimg a,.ga-gimg figure{display:block;overflow:hidden}
.ga-gimg:hover img{transform:scale(1.03)}
.ga-gimg .widget-image-caption{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;color:#6B625B;text-align:left;margin-top:12px}
.ga-prog{height:1px;background:rgba(28,23,20,.14);position:relative;margin:26px 0 12px}
.ga-prog span{position:absolute;left:0;top:-1px;height:3px;width:20%;background:#1C1714;transition:width .2s}
/* travel tabs + hotel rows */
.ga-tabs{border-bottom:1px solid rgba(28,23,20,.14)}
.ga-tab{cursor:pointer;padding-bottom:14px;margin-bottom:-1px;border-bottom:1px solid transparent;transition:border-color .3s}
.ga-tab .elementor-heading-title{color:#6B625B!important;transition:color .3s}
.ga-tab small{display:block;font-family:'Figtree',Arial,sans-serif;font-size:11px;letter-spacing:2.4px;color:#6E4430;margin-bottom:6px}
.ga-tab.on{border-color:#1C1714}.ga-tab.on .elementor-heading-title{color:#1C1714!important}
.ga-pane.ga-off{display:none!important}
.ga-hrow{border-bottom:1px solid rgba(28,23,20,.14)}
.ga-links a{color:#1C1714;margin-left:20px;letter-spacing:1px;text-underline-offset:5px}
.ga-links a:first-child{margin-left:0}
.ga-todo span{display:inline-block;margin:0 22px 8px 0}
.ga-todo span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#B8956A;margin-right:10px;vertical-align:middle}
/* sign-off + reading progress */
.ga-read{position:fixed;left:0;top:0;height:2px;width:0;background:#B8956A;z-index:10000;transition:width .1s linear}
@media (prefers-reduced-motion:reduce){.ga-ring .elementor-flip-box::after{animation:none}.ga-arch img{transform:none!important}}


/* ---------- 4. Polish: type, buttons, countdown, cards, galleries, motion ---------- */
/* ===== Grace & Afees: polish layer (pretty + smooth) ===== */
/* type rendering */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
::selection{background:#B8956A;color:#fff}
.elementor-heading-title{text-wrap:balance;font-optical-sizing:auto}
.elementor-widget-text-editor p{text-wrap:pretty}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
img{image-rendering:auto}
/* buttons: square, quiet, smooth */
.elementor-button{border-radius:0!important;transition:background-color .45s cubic-bezier(.2,.7,.2,1),color .45s cubic-bezier(.2,.7,.2,1),border-color .45s cubic-bezier(.2,.7,.2,1)!important;font-family:'Figtree',sans-serif}
.elementor-button:focus-visible{outline:2px solid #B8956A;outline-offset:4px}
/* sticky header: hairline shadow once scrolling */
.ga-header{transition:box-shadow .5s ease,background-color 1.2s ease!important}
.ga-header.elementor-sticky--effects{box-shadow:0 10px 30px rgba(28,23,20,.07)}
/* hero slideshow: softer easing on the crossfade */
.ga-hero-photo .elementor-background-slideshow .swiper-slide{transition-timing-function:cubic-bezier(.45,0,.2,1)!important}
.ga-logo img{transition:filter 2.5s ease}
/* countdown: digits in Fraunces, labels in Figtree, hairline dividers */
.elementor-countdown-wrapper{gap:0}
.elementor-countdown-item{background:transparent!important;border:0!important;padding:2px 12px!important}
.elementor-countdown-item+.elementor-countdown-item{border-left:1px solid rgba(184,149,106,.55)!important}
.elementor-countdown-digits{font-family:'Fraunces',serif!important;font-weight:300!important;font-size:46px;line-height:1.05!important;font-variant-numeric:lining-nums tabular-nums}
.elementor-countdown-label{font-family:'Figtree',sans-serif!important;font-size:12px!important;letter-spacing:1.4px;margin-top:6px}
@media (max-width:767px){.elementor-countdown-digits{font-size:34px}.elementor-countdown-item{padding:2px 6px!important}}
/* flip boxes (wedding party) */
.elementor-flip-box{border-radius:0}
.elementor-flip-box__layer{transition-duration:.9s!important;transition-timing-function:cubic-bezier(.2,.7,.2,1)!important;border-radius:0!important}
.elementor-flip-box__front .elementor-flip-box__layer__overlay{background:linear-gradient(0deg,rgba(20,30,31,.62),rgba(20,30,31,0) 58%)!important;justify-content:flex-end}
.elementor-flip-box__back{background-color:#2A1B15!important}
.elementor-flip-box__layer__title{font-family:'Fraunces',serif!important;font-weight:300!important;color:#F4EFEA!important;margin-bottom:6px}
.elementor-flip-box__layer__description{font-family:'Figtree',sans-serif!important;font-weight:300;color:rgba(244,239,234,.82)!important;line-height:1.6}
/* galleries */
.elementor-gallery-item{overflow:hidden;background:#F1E9E7}
.elementor-gallery-item__image{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .6s ease!important}
.elementor-gallery-item:hover .elementor-gallery-item__image{transform:scale(1.035)}
.elementor-gallery-item__overlay{background:transparent!important}
.elementor-gallery__titles-container .elementor-gallery-title{font-family:'Fraunces',serif!important;font-weight:300;color:#6B625B;transition:color .3s ease,border-color .3s ease}
.elementor-gallery__titles-container .elementor-gallery-title:hover,.elementor-gallery__titles-container .elementor-gallery-title.elementor-item-active{color:#1C1714}
.elementor-gallery__titles-container .elementor-gallery-title::before,.elementor-gallery__titles-container .elementor-gallery-title::after{display:none!important}
/* lightbox */
.elementor-lightbox{--lightbox-ui-color:rgba(244,239,234,.7);--lightbox-ui-color-hover:#fff;--lightbox-text-color:#F4EFEA;--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:26px}
.elementor-lightbox.dialog-lightbox-widget,.elementor-lightbox .dialog-widget-content{background-color:#120D0A!important}
/* cards, maps, lists */
.ga-hotel,.e-con[class*="ga-"]{transition:border-color .35s ease}
.elementor-widget-google_maps iframe{transition:filter .6s ease}
.elementor-icon-list-item{transition:color .3s ease}
/* rsvp iframe resizes smoothly */
#rsvpFrame{transition:height .4s cubic-bezier(.2,.7,.2,1)}
/* gentle entrance: soften Elementor's fadeIn into a short rise */
@keyframes fadeIn{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
.animated.fadeIn{animation-duration:1.1s!important;animation-timing-function:cubic-bezier(.2,.7,.2,1)!important}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .elementor-invisible{visibility:visible!important}
  .animated{animation:none!important}
  .elementor-flip-box__layer,.elementor-gallery-item__image{transition:none!important}
}/* End custom CSS */