/* Canva homepage redesign — isolated from the existing production styles.
   Source reference: Homepage.pdf, Branding Package.pdf and global navigation/footer PDFs.
   Nixie One is loaded from Google Fonts; Goodtimes requires supplied font asset
   to be uploaded as /fonts/Goodtimes.otf for exact rendering. */
@import url('https://fonts.googleapis.com/css2?family=Nixie+One&display=swap');
@font-face{font-family:'Goodtimes';src:url('/fonts/Goodtimes.otf') format('opentype');font-display:swap;font-weight:400}
:root{--cosmos:#29100c;--burnt:#7b3534;--pastel-blue:#a9c0cb;--chartreuse:#bfb065;--moss:#53461c;--canva-cream:#edeae6;--cream:#edeae6;--lavender:#a9c0cb}
html,body{background:var(--canva-cream);color:var(--cosmos)}
body{font-family:'Nixie One',Georgia,serif}
.site-header{color:var(--canva-cream);background:transparent}
.site-header.scrolled{background:var(--cosmos);color:var(--pastel-blue)}
.site-header.scrolled .logo,.site-header .logo{background:var(--canva-cream)}
.site-header.scrolled .logo{background:var(--pastel-blue)}
.nav{min-height:64px;padding:8px clamp(20px,2.8vw,45px)}
.nav-links{gap:clamp(8px,1.05vw,18px)}
.site-header .nav-links a{font-family:'Nixie One',Georgia,serif;text-transform:lowercase;font-size:clamp(12px,1.35vw,18px);font-weight:400;letter-spacing:-.015em}
.site-header .nav-links a[aria-current="page"]::after{background:currentColor}
@media(max-width:760px){.nav-links{background:var(--cosmos);color:var(--pastel-blue)}.menu-toggle{font-family:'Nixie One',serif;color:inherit}}
.hero{min-height:clamp(440px,36.4vw,690px);height:36.4vw;padding:90px 24px 20px;background:#292929}
.hero-photo{background-image:url('/images/home-hero.jpg');filter:grayscale(1);inset:0}
.hero::before{background:rgba(0,0,0,.06)}
.hero h1{font-family:'Goodtimes',cursive;color:var(--canva-cream);font-size:clamp(30px,3.8vw,66px);font-weight:400;line-height:1.15}
.wedding-intro{background:var(--canva-cream);color:var(--cosmos);padding:clamp(32px,3vw,55px) 20px 0}
.wedding-intro-inner{max-width:900px}
.wedding-names{display:block;font:400 clamp(31px,3.55vw,62px)/1.1 'Goodtimes',cursive;color:var(--cosmos);margin:0 auto 6px}
.wedding-first-name,.wedding-last-name{display:inline;text-align:center}
.wedding-first-name::after{content:' & '}
.wedding-ampersand{display:none}
.wedding-invite{font:400 clamp(18px,1.85vw,30px)/1.35 'Nixie One',Georgia,serif;text-transform:none;letter-spacing:0;color:var(--cosmos)}
.wedding-on{font:400 clamp(18px,1.65vw,27px)/1.2 'Goodtimes',cursive;margin:20px 0 12px}
.wedding-date{font:400 clamp(23px,2.45vw,39px)/1.25 'Goodtimes',cursive;text-transform:none;color:var(--cosmos)}
.wedding-place{font:400 clamp(18px,1.8vw,30px)/1.25 'Nixie One',Georgia,serif;text-transform:none;color:var(--cosmos);margin-top:1px}
.wedding-intro-description{font:400 clamp(16px,1.65vw,26px)/1.38 'Nixie One',Georgia,serif;color:var(--cosmos);max-width:min(680px,90vw);margin:20px auto 0}
.wedding-intro .home-side-flower{width:clamp(80px,10vw,150px);filter:grayscale(1) sepia(.35);opacity:.75}
.wedding-intro .home-side-flower-left{left:clamp(15px,8vw,130px);top:auto;bottom:-210px}
.wedding-intro .home-side-flower-right{right:clamp(25px,9vw,150px);top:clamp(125px,14vw,230px)}
.home-countdown{background:var(--canva-cream);padding:22px 20px 0}
.home-countdown .countdown-panel{max-width:410px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;transform:none!important;opacity:1!important}
.home-countdown .countdown-unit+.countdown-unit{border:0}
.home-countdown .countdown-number{font:400 clamp(25px,2.6vw,42px)/1.2 'Nixie One',Georgia,serif;color:var(--cosmos)}
.home-countdown .countdown-label{font:400 clamp(13px,1.25vw,21px)/1.2 'Goodtimes',cursive;color:var(--cosmos)}
.canva-home-rsvp{background:var(--canva-cream);display:flex;justify-content:center;padding:24px 20px 0}
.canva-home-rsvp .wedding-rsvp-cta{display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:8px 25px;border:0;background:var(--pastel-blue);color:var(--cosmos);font:400 clamp(21px,2.1vw,35px)/1.2 'Goodtimes',cursive;transform:rotate(-2deg);transition:transform .2s}
.canva-home-rsvp .wedding-rsvp-cta:hover{transform:rotate(0) scale(1.06)}
.home-cream-spacer{background:var(--canva-cream);height:clamp(65px,9vw,140px)}
.footer-photo-stage{background:var(--canva-cream)}
.site-footer{background:var(--cosmos);color:var(--pastel-blue);height:clamp(80px,7vw,115px)}
.footer-content{justify-content:center}
.footer-monogram{display:none}
.footer-links{gap:clamp(9px,1.35vw,22px)}
.footer-links a{font-family:'Goodtimes',cursive!important;color:var(--pastel-blue)!important;font-size:clamp(13px,1.35vw,22px)!important;text-transform:lowercase!important;letter-spacing:0!important}
.footer-links a:hover{color:var(--canva-cream)!important}
.footer-cream-strip{background:var(--canva-cream);height:28px}
.footer-arc-text{fill:var(--cosmos);color:var(--cosmos)}
body.home-intro-loading .hero::after{background:var(--cosmos)}
body.home-intro-loading .hero-copy::before{background:var(--canva-cream)}
@media(max-width:760px){
 .hero{height:65svh;min-height:420px}
 .wedding-intro{padding:34px 16px 0}
 .wedding-names{font-size:clamp(25px,6.1vw,38px)}
 .wedding-invite{font-size:clamp(15px,4vw,20px)}
 .wedding-intro-description{max-width:95%;font-size:clamp(15px,3.7vw,19px);line-height:1.45}
 .wedding-intro .home-side-flower-left{left:-25px;bottom:-150px}
 .wedding-intro .home-side-flower-right{right:-25px;top:180px}
 .footer-links{flex-wrap:wrap;gap:8px 14px}
 .site-footer{height:auto;min-height:90px;padding:18px 14px}
}
@media(prefers-reduced-motion:reduce){.canva-home-rsvp .wedding-rsvp-cta{transition:none}}

/* Correct the legacy visual treatments that were overriding the Canva design. */
.wedding-intro .wedding-invite,.wedding-intro .wedding-date,.wedding-intro .wedding-place{color:var(--cosmos)!important}
.wedding-names,.wedding-first-name,.wedding-last-name{font-family:'Goodtimes',cursive!important}
.hero h1,.wedding-on,.wedding-date,.home-countdown .countdown-label,.footer-links a{font-family:'Goodtimes',cursive!important}
.wedding-invite,.wedding-place,.wedding-intro-description,.home-countdown .countdown-number,.nav-links a{font-family:'Nixie One',Georgia,serif!important}
.wedding-intro .wedding-rsvp-cta{margin:0!important}
.wedding-intro .home-side-flower-left{bottom:-210px!important;top:auto!important}
.site-footer .footer-links a{text-decoration:none}
/* Keep the page readable even before the proprietary Goodtimes asset is hosted. */

/* Restore original full-screen hero and loading curtain proportions. */
.hero{height:auto;min-height:100svh;padding:110px 20px 40px}
.hero-photo{inset:-8% 0;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.10)}
@media(max-width:760px){.hero{height:auto;min-height:100svh;padding:95px 18px 25px}.hero-photo{inset:-6% 0;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.08)}}
body.home-intro-loading .hero::after{position:fixed;inset:0}

/* Precise Canva image framing: no legacy 110% zoom or parallax crop. */
.hero-photo{inset:0!important;transform:none!important;background-image:url('/images/home-hero.jpg')!important;background-position:center center!important;background-size:cover!important;will-change:auto!important}
.hero::before{background:linear-gradient(180deg,rgba(0,0,0,.20),transparent 38%,rgba(0,0,0,.12))!important}
/* Original full-height loading implementation, now in Black Cosmos. */
body.home-intro-loading .hero::after{background:#29100c!important}
body.home-intro-loading .hero-copy::before{background:transparent!important;-webkit-mask:none!important;mask:none!important;background-image:url('/images/loading-flower.png')!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;width:136px!important;height:136px!important;bottom:calc(100% + 22px)!important;aspect-ratio:1!important}
/* Canva-exported decorative linework, with sizing relative to 1024px mockup. */
.site-header .logo{width:clamp(80px,7.82vw,116px)!important;aspect-ratio:420/221!important;background:none!important}
.site-header .logo img{object-fit:contain!important}
.site-header .logo-scroll{filter:brightness(0) saturate(100%) invert(78%) sepia(17%) saturate(405%) hue-rotate(158deg) brightness(97%)}
.wedding-intro .home-side-flower{filter:none!important;opacity:1!important}
.wedding-intro .home-side-flower-left{width:clamp(115px,19.9vw,204px)!important;left:5.56vw!important;top:auto!important;bottom:-250px!important;transform:none!important}
.wedding-intro .home-side-flower-right{width:clamp(120px,21.6vw,221px)!important;right:3.6vw!important;top:100px!important;transform:none!important}
@media(max-width:760px){.hero-photo{background-position:center center!important}.wedding-intro .home-side-flower-left{left:-45px!important;width:130px!important;bottom:-155px!important}.wedding-intro .home-side-flower-right{right:-55px!important;width:140px!important;top:175px!important}}

/* Global navigation component — underline only, no bounce, scale or rotation. */
.site-header .nav-links a,.site-header .nav-links a:hover,.site-header .nav-links a:focus-visible{
 transform:none!important;filter:none!important;text-decoration:none!important;
 transition:none!important;text-transform:lowercase!important;
}
.site-header .nav-links a::after{height:1px!important;bottom:-4px!important;transition:none!important;transform:scaleX(0)!important}
.site-header .nav-links a:hover::after,
.site-header .nav-links a:focus-visible::after,
.site-header .nav-links a[aria-current="page"]::after{transform:scaleX(1)!important}
.site-header .nav-links a[aria-current="page"]:hover::after{transform:scaleX(1)!important}
/* Footer component: Canva uses lowercase decorative lettering on Cosmos. */
.site-footer{background:#29100c!important;color:#a9c0cb!important}
.site-footer .footer-links a{font-family:'Goodtimes',cursive!important;text-transform:lowercase!important;transform:none!important;filter:none!important}
.site-footer .footer-links a:hover{transform:none!important;filter:none!important}
.footer-cream-strip{background:#edeae6!important}

/* Typography tokens transcribed from annotated Branding Package and Homepage PDFs. */
:root{--font-h1:50px;--font-h2:40px;--font-h3:35px;--font-h4:24px;--font-h5:22px;--font-body1:22px;--font-body2:20px}
.hero h1{font-family:'Goodtimes',cursive!important;font-size:65px!important;letter-spacing:0!important;text-transform:none!important}
.wedding-names{font-family:'Goodtimes',cursive!important;font-size:50px!important;letter-spacing:0!important;text-transform:none!important}
.wedding-invite{font-family:'Nixie One',serif!important;font-size:24px!important;letter-spacing:0!important;text-transform:lowercase!important}
.wedding-on{font-family:'Goodtimes',cursive!important;font-size:26px!important;letter-spacing:0!important;text-transform:lowercase!important}
.wedding-date{font-family:'Goodtimes',cursive!important;font-size:35px!important;letter-spacing:0!important;text-transform:none!important}
.wedding-place{font-family:'Nixie One',serif!important;font-size:24px!important;letter-spacing:0!important;text-transform:none!important}
.wedding-intro-description{font-family:'Nixie One',serif!important;font-size:22px!important;letter-spacing:0!important;line-height:1.35!important}
.site-header .nav-links a{font-family:'Nixie One',serif!important;font-size:20px!important;letter-spacing:0!important;text-transform:lowercase!important}
.home-countdown .countdown-number{font-family:'Nixie One',serif!important;font-size:35px!important}
.home-countdown .countdown-label{font-family:'Goodtimes',cursive!important;font-size:22px!important;text-transform:lowercase!important}
.site-footer .footer-links a{font-family:'Goodtimes',cursive!important;font-size:26px!important;text-transform:lowercase!important}
.canva-home-rsvp .wedding-rsvp-cta{
 font-family:'Goodtimes',cursive!important;font-size:40px!important;
 background-color:transparent!important;
 background-image:url('/images/cta-highlight.png')!important;
 background-position:center!important;background-repeat:no-repeat!important;
 background-size:100% 100%!important;min-width:170px!important;min-height:62px!important;
 padding:7px 22px!important;border:0!important;box-shadow:none!important;
}
.canva-home-rsvp .wedding-rsvp-cta:hover{transform:rotate(-2deg) scale(1.035)!important}
@media(max-width:760px){
 .hero h1{font-size:clamp(31px,8vw,65px)!important}
 .wedding-names{font-size:clamp(29px,7vw,50px)!important}
 .wedding-invite{font-size:clamp(17px,4.5vw,24px)!important}
 .wedding-date{font-size:clamp(23px,6vw,35px)!important}
 .wedding-place{font-size:clamp(18px,4.6vw,24px)!important}
 .wedding-intro-description{font-size:clamp(17px,4.2vw,22px)!important}
 .site-header .nav-links a{font-size:20px!important}
 .site-footer .footer-links a{font-size:clamp(16px,4vw,26px)!important}
 .home-countdown .countdown-number{font-size:clamp(25px,6vw,35px)!important}
 .home-countdown .countdown-label{font-size:clamp(13px,3.4vw,22px)!important}
}

/* Equal outer gutters for navigation links and monogram. */
.site-header .nav{box-sizing:border-box!important;width:100%!important;padding-left:clamp(20px,2.8vw,45px)!important;padding-right:clamp(20px,2.8vw,45px)!important;justify-content:space-between!important}
.site-header .nav-links{margin-left:0!important}
.site-header .logo{margin-right:0!important;flex-shrink:0!important}

/* 2026-10-27 mockup corrections: homepage typography, spacing and assets. */
.wedding-intro{padding-top:100px!important}
.wedding-place{font-family:'Nixie One',serif!important;text-transform:none!important;font-variant:normal!important}
.wedding-date{text-transform:none!important}
.footer-arc-text,.footer-arc-text text,.footer-arc-text textPath{font-family:'Goodtimes',cursive!important;font-size:20px!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;fill:#29100c!important}
.site-header,.site-header.scrolled{background:#edeae6!important;color:#29100c!important}
.site-header .nav-links a,.site-header.scrolled .nav-links a{color:#29100c!important}
.site-header .logo,.site-header.scrolled .logo{background:none!important}
.site-header .logo-top,.site-header.scrolled .logo-top{opacity:1!important;filter:none!important}
.site-header .logo-scroll,.site-header.scrolled .logo-scroll{opacity:0!important}
.site-header .nav-links{gap:calc(clamp(8px,1.05vw,18px) * 1.2)!important}
.site-footer .footer-links{gap:calc(clamp(9px,1.35vw,22px) * 1.2)!important}
.canva-home-rsvp .wedding-rsvp-cta{background-image:url('/images/cta-highlight.png')!important;background-color:transparent!important}
@media(max-width:760px){.wedding-intro{padding-top:100px!important}.site-header .nav-links{background:#edeae6!important;color:#29100c!important}}

/* Two-state homepage header per Canva: transparent over hero at top,
   Creme / Cosmos on upward-scroll reveal. Secondary pages remain Creme. */
body:has(.hero) .site-header:not(.scrolled){
 background:transparent!important;
 color:#edeae6!important;
 box-shadow:none!important;
}
body:has(.hero) .site-header:not(.scrolled) .nav-links a{
 color:#edeae6!important;
}
body:has(.hero) .site-header:not(.scrolled) .menu-toggle{
 color:#edeae6!important;
}
body:has(.hero) .site-header:not(.scrolled) .logo-top{
 opacity:1!important;
 filter:brightness(0) invert(1)!important;
}
body:has(.hero) .site-header.scrolled{
 background:#edeae6!important;
 color:#29100c!important;
}
body:has(.hero) .site-header.scrolled .nav-links a{
 color:#29100c!important;
}
body:has(.hero) .site-header.scrolled .logo-top{
 filter:none!important;
}
@media(max-width:760px){
 body:has(.hero) .site-header.menu-open .nav-links{
  background:#edeae6!important;
 }
 body:has(.hero) .site-header.menu-open .nav-links a{
  color:#29100c!important;
 }
}

/* Ensure uploaded navigation flower remains visible in both header states. */
.site-header .logo{display:block!important;position:relative!important;visibility:visible!important;opacity:1!important;overflow:visible!important;min-width:80px!important}
.site-header .logo .logo-top{display:block!important;position:relative!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;object-fit:contain!important;z-index:2!important}
.site-header .logo .logo-scroll{display:none!important}
body:has(.hero) .site-header:not(.scrolled) .logo .logo-top{filter:brightness(0) invert(1)!important}
body:has(.hero) .site-header.scrolled .logo .logo-top{filter:none!important}

/* Final Canva adjustments: preserve full-size link gaps and visible flower art. */
.site-header .nav-links{gap:clamp(13.8px,1.81125vw,31.05px)!important}
.site-footer .footer-links{gap:clamp(13.8px,1.81125vw,30.36px)!important}
.site-header .logo{
 width:clamp(64px,6.256vw,92.8px)!important;
 min-width:64px!important;
 aspect-ratio:420/221!important;
 -webkit-mask:none!important;mask:none!important;
 background:transparent!important;
}
.site-header .logo .logo-top{
 display:block!important;opacity:1!important;
 width:100%!important;height:100%!important;
 position:absolute!important;inset:0!important;
 -webkit-mask:none!important;mask:none!important;
}
.site-header.scrolled .logo .logo-top{filter:brightness(0) saturate(100%) invert(7%) sepia(30%) saturate(1407%) hue-rotate(326deg) brightness(92%) contrast(94%)!important}
body:has(.hero) .site-header:not(.scrolled) .logo .logo-top{filter:brightness(0) invert(1)!important}
.wedding-intro{overflow:visible!important}
.wedding-intro .home-side-flower-left{
 top:auto!important;bottom:-105px!important;
 left:5.56vw!important;display:block!important;
 visibility:visible!important;opacity:1!important;z-index:2!important;
}
.home-cream-spacer{height:clamp(26px,3.6vw,56px)!important}
.footer-photo-stage{height:clamp(160px,18vw,240px)!important}
@media(max-width:760px){
 .site-header .nav-links{gap:20px!important}
 .site-footer .footer-links{gap:clamp(12px,3.8vw,20px)!important}
 .wedding-intro .home-side-flower-left{left:-20px!important;bottom:-75px!important;width:130px!important}
 .home-cream-spacer{height:26px!important}
 .footer-photo-stage{height:170px!important}
}

/* Hero parallax + section-over-hero reveal (sticky image cover effect). */
.hero{position:sticky!important;top:0!important;z-index:0!important;overflow:hidden!important}
.hero .hero-photo{
 inset:-12% 0!important;
 transform:translate3d(0,var(--parallax-y,0px),0)!important;
 will-change:transform!important;
 background-size:cover!important;
}
.wedding-intro,.home-countdown,.canva-home-rsvp,.home-cream-spacer,
.footer-photo-stage,.site-footer,.footer-cream-strip{
 position:relative;
 z-index:2;
}
@media(prefers-reduced-motion:reduce){
 .hero{position:relative!important}
 .hero .hero-photo{inset:0!important;transform:none!important;will-change:auto!important}
}

/* Header flower: visible dark silhouette on scrolled cream navigation.
   The original styles.css forces all logo images opacity:0, so override it. */
.site-header .logo{
 width:clamp(54.4px,5.3176vw,78.88px)!important;
 min-width:54.4px!important;
 aspect-ratio:420/221!important;
 -webkit-mask:none!important;mask:none!important;
 background:none!important;
}
.site-header .logo img.logo-top{
 display:block!important;visibility:visible!important;opacity:1!important;
 position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;
 filter:brightness(0) saturate(100%)!important;
}
body:has(.hero) .site-header:not(.scrolled) .logo img.logo-top{
 filter:brightness(0) invert(1)!important;
}
body:has(.hero) .site-header.scrolled .logo img.logo-top{
 filter:brightness(0) saturate(100%)!important;
}
.site-header .logo img.logo-scroll{display:none!important}
/* Halve the remaining whitespace before the childhood photo. */
.home-cream-spacer{height:clamp(13px,1.8vw,28px)!important}
.footer-photo-stage{height:clamp(120px,13vw,180px)!important}
/* Keep the entire left flower inside the cream introduction section. */
.wedding-intro .home-side-flower-left{
 left:max(16px,5.56vw)!important;
 top:45%!important;bottom:auto!important;
 width:clamp(115px,19.9vw,204px)!important;
 max-width:calc(100vw - 32px)!important;
 transform:translateY(-50%)!important;
 z-index:2!important;
}
@media(max-width:760px){
 .home-cream-spacer{height:13px!important}
 .footer-photo-stage{height:120px!important}
 .wedding-intro .home-side-flower-left{
  left:12px!important;top:65%!important;bottom:auto!important;
  width:115px!important;transform:translateY(-50%)!important;
 }
}

/* Prevent parallax from exposing the hero's dark background. The hero image
   stays fixed while the cream section scrolls over it. */
.hero .hero-photo{
 inset:0!important;
 transform:none!important;
 background-position:center center!important;
 background-size:cover!important;
 will-change:auto!important;
}
.wedding-date,.wedding-date .wave-char{
 text-transform:none!important;
 font-variant:normal!important;
}

/* Enlarge childhood photo 25%, retaining its bottom alignment and reveal. */
.footer-photo-wrap{width:clamp(325px,40vw,550px)!important}
.footer-kids-photo{max-width:100%!important;max-height:100%!important}
@media(max-width:760px){.footer-photo-wrap{width:min(375px,100vw)!important}}

/* Left floral illustration: 35% smaller and aligned with invitation paragraph. */
.wedding-intro .home-side-flower-left{
 width:clamp(75px,12.935vw,133px)!important;
 top:72%!important;
 bottom:auto!important;
 transform:translateY(-50%)!important;
}
@media(max-width:760px){
 .wedding-intro .home-side-flower-left{
  width:75px!important;
  top:76%!important;
  bottom:auto!important;
 }
}

/* RSVP is a clickable link; show the pointer cursor across the entire brushstroke. */
.canva-home-rsvp .wedding-rsvp-cta,
.canva-home-rsvp .wedding-rsvp-cta *{
 cursor:pointer!important;
}
/* Enlarge the childhood portrait another 25% without changing its reveal timing. */
.footer-photo-wrap{width:clamp(406.25px,50vw,687.5px)!important}
.footer-kids-photo{max-width:100%!important;max-height:100%!important}
@media(max-width:760px){
 .footer-photo-wrap{width:min(468.75px,100vw)!important}
}

/* Kids photo only: restore original wrapper geometry so curved lettering
   keeps its prior size/position. Enlarge the actual bitmap instead. */
.footer-photo-wrap{width:clamp(260px,32vw,440px)!important}
.footer-kids-photo{
 transform:scale(1.25)!important;
 transform-origin:center bottom!important;
 max-width:100%!important;
 max-height:100%!important;
}
.footer-photo-stage{overflow:visible!important}
@media(max-width:760px){
 .footer-photo-wrap{width:300px!important;max-width:100vw!important}
}

/* Keep the curved message legible above the enlarged childhood photo. */
.footer-photo-wrap .footer-arc-text{
 z-index:5!important;
 left:58%!important;
 top:-42px!important;
 width:58%!important;
 overflow:visible!important;
}
.footer-photo-wrap .footer-arc-text text,
.footer-photo-wrap .footer-arc-text textPath{
 font-size:22px!important;
}
.footer-photo-wrap .footer-kids-photo{position:relative;z-index:1!important}
@media(max-width:760px){
 .footer-photo-wrap .footer-arc-text{left:56%!important;top:-36px!important;width:62%!important}
}

/* One shared navigation geometry across home and all inner pages. */
.site-header .nav{
 min-height:80px!important;height:80px!important;
 padding:8px clamp(20px,2.8vw,45px)!important;
 box-sizing:border-box!important;
 width:100%!important;
 display:flex!important;align-items:center!important;
 justify-content:space-between!important;
}
.site-header .nav-links{
 display:flex;align-items:center!important;flex-wrap:nowrap!important;
 gap:clamp(13.8px,1.81125vw,31.05px)!important;
 margin:0!important;padding:0!important;
}
.site-header .logo{
 width:clamp(54.4px,5.3176vw,78.88px)!important;
 min-width:clamp(54.4px,5.3176vw,78.88px)!important;
 flex:0 0 auto!important;
 aspect-ratio:420/221!important;
 margin:0!important;
}
@media(max-width:760px){
 .site-header .nav{height:66px!important;min-height:66px!important}
 .site-header .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start!important;gap:20px!important;padding:19px!important}
 .site-header.menu-open .nav-links{display:flex!important}
}

/* Homepage hero keeps its bespoke heading size; other home headings use global 55px. */
body:not(:has(.hero)) h1{font-size:60px!important}
body:has(.hero) h1:not(.hero h1){font-size:60px!important}
body:has(.hero) .hero h1{font-size:65px!important}
