:root{
  --navy:#173b70;
  --navy-deep:#133665;
  --pale:#dbe6f5;
  --text:#111827;
  --desktop-wide:1340px;
  --header-inner:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:15px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.skip-link{position:fixed;left:-9999px;top:0;z-index:9999;background:#fff;padding:8px}.skip-link:focus{left:8px}

/* Header — matched to the translucent Elementor header in the reference */
.site-header{position:absolute;z-index:50;left:0;right:0;top:0;height:130px;background:rgba(220,233,246,.72)}
.header-inner{height:130px;width:min(var(--header-inner),calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:180px 1fr 180px;align-items:center;position:relative}
.brand{justify-self:start;display:block}.brand img{width:111px;height:111px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:48px;height:100%}
.desktop-nav a{position:relative;color:var(--navy);font-family:Georgia,'Times New Roman',serif;font-size:12px;font-weight:700;line-height:1;padding:10px 0}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--navy);transition:right .22s ease}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}
.socials{display:flex;align-items:center;justify-content:flex-end;gap:20px}
.socials a{color:#5a86c8;width:22px;height:22px;display:grid;place-items:center;transition:transform .2s ease,color .2s ease}
.socials a:hover{transform:translateY(-2px);color:var(--navy)}
.socials svg{width:20px;height:20px;fill:currentColor}
.menu-toggle,.mobile-nav{display:none}

/* Slider Revolution dimensions from the original markup: desktop height 900px */
.hero{height:900px;position:relative;overflow:hidden;background:#c5d3e2}
.hero-slide{position:absolute;inset:0;opacity:0;z-index:0;transition:opacity 1s cubic-bezier(.645,.045,.355,1)}
.hero-slide.active{opacity:1;z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}

.section-shell{width:min(var(--desktop-wide),calc(100% - 176px));margin:0 auto}
.fancy-title{height:58px;margin:0;color:var(--navy-deep);font-family:Georgia,'Times New Roman',serif;display:flex;align-items:baseline;white-space:nowrap;font-weight:700;line-height:1}
.title-prefix{font-size:48px;letter-spacing:-1.3px}
.typing{font-size:17px;margin-left:4px;font-weight:700;letter-spacing:-.2px}
.typing-caret{font-size:18px;margin-left:1px;font-weight:400;animation:caret-blink .78s step-end infinite}
@keyframes caret-blink{50%{opacity:0}}

/* ABOUT */
.about-section{height:790px;padding-top:49px;background:#fff}
.about-panel{height:676px;margin-top:1px;width:100%;background:linear-gradient(104deg,#fff 0%,#fff 58%,#e2ebf7 100%);display:grid;grid-template-columns:minmax(0,1fr) 488px;align-items:center;overflow:hidden}
.about-copy{max-width:765px;padding-left:8px;color:#111;font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.53;align-self:center}
.about-copy p{margin:0 0 20px}.about-copy p:last-child{margin-bottom:0}
.about-photo{width:418px;justify-self:start;align-self:center}
.about-photo img{width:418px;height:627px;object-fit:cover}

/* exact visual strips from the supplied reference; these were CSS backgrounds, not img tags in the HTML */
.visual-band{height:350px;position:relative;overflow:hidden;background-position:center center;background-repeat:no-repeat;background-size:cover}
.beach-band{background-image:url('../images/reference-band-beach.jpg')}
.jungle-band{background-image:url('../images/reference-band-jungle.jpg')}

/* PRODUCTS */
.products-section{height:423px;padding-top:35px;background:#fff}
.products-section .fancy-title{height:58px}
.product-gallery{height:258px;margin-top:16px;border:8px solid #d9e5f4;background:#d9e5f4;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;overflow:hidden}
.product-gallery a{display:block;background:#fff;overflow:hidden;position:relative}
.product-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.product-gallery a:hover img{transform:scale(1.025)}

/* CONTACT */
.contact-section{height:479px;padding-top:35px;background:#fff}
.contact-panel{height:355px;margin-top:17px;display:grid;grid-template-columns:640px minmax(0,1fr);background:linear-gradient(103deg,#fff 0%,#e2ebf7 100%);overflow:hidden}
.contact-image{height:355px;overflow:hidden}.contact-image img{width:100%;height:100%;object-fit:cover}
.contact-form{height:355px;padding:22px 20px 18px 36px;display:flex;flex-direction:column;background:linear-gradient(102deg,#f9fbfe 0%,#dce8f7 100%)}
.contact-form label{font-size:13px;line-height:17px;color:#17365f;margin:0 0 3px}
.contact-form input,.contact-form textarea{width:100%;border:0;border-radius:4px;background:#fff;color:#222;outline:0;padding:0 15px;font-size:13px;box-shadow:0 0 0 1px rgba(40,76,117,.03)}
.contact-form input{height:45px;margin:0 0 10px}
.contact-form textarea{height:104px;min-height:104px;resize:none;padding-top:12px;margin:0 0 11px}
.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 0 0 1px #7e9fc7}
.contact-form button{height:43px;border:0;border-radius:10px;background:#173b70;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:700;cursor:pointer;transition:filter .2s ease,transform .2s ease}
.contact-form button:hover{filter:brightness(1.07);transform:translateY(-1px)}
.comments-closed{height:34px;margin:0;padding:8px 0 0;color:#555;font-family:Georgia,'Times New Roman',serif;font-size:12px;line-height:1}

/* FOOTER */
.site-footer{height:354px;background:#fff;text-align:center;padding-top:26px}
.site-footer img{width:272px;height:232px;object-fit:contain;margin:0 auto 8px}
.site-footer p{margin:0;color:#6b6b6b;font-family:Georgia,'Times New Roman',serif;font-size:12px;line-height:1.4}
.site-footer a{color:#800000;font-weight:700}
.bottom-stray{height:12px;color:#777;font-family:serif;font-size:12px;line-height:12px}

/* Original Elementor entrance-animation equivalents */
.animate-on-view{opacity:0;will-change:transform,opacity}
.animate-on-view.is-visible.anim-fade-left{animation:fadeInLeft 1s both}
.animate-on-view.is-visible.anim-rotate-up-left{animation:rotateInUpLeft 1s both}
@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}
@keyframes rotateInUpLeft{from{transform-origin:left bottom;transform:rotate3d(0,0,1,45deg);opacity:0}to{transform-origin:left bottom;transform:none;opacity:1}}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}.lightbox img{max-width:min(1500px,92vw);max-height:90vh;object-fit:contain}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:transparent;color:#fff;cursor:pointer;line-height:1}
.lightbox-close{right:28px;top:20px;font-size:50px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:70px}.lightbox-prev{left:28px}.lightbox-next{right:28px}

/* Tablet/mobile adaptation while preserving the desktop reference exactly */
@media(max-width:1024px){
  .site-header{height:92px}.header-inner{height:92px;width:calc(100% - 34px);grid-template-columns:1fr auto}.brand img{width:74px;height:74px}
  .desktop-nav,.socials{display:none}.menu-toggle{display:block;width:42px;height:42px;border:0;background:transparent;color:var(--navy);padding:8px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:currentColor;margin:6px 0;transition:.25s}
  .mobile-nav{display:none;position:absolute;left:0;right:0;top:92px;background:rgba(227,237,248,.98);box-shadow:0 8px 24px rgba(23,59,112,.15);padding:8px 0}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:13px 18px;color:var(--navy);font-family:Georgia,'Times New Roman',serif;font-weight:700}
  .hero{height:743px}
  .section-shell{width:calc(100% - 48px)}
  .about-section{height:auto;padding:42px 0 50px}.about-panel{height:auto;min-height:650px;grid-template-columns:1fr 380px}.about-photo{width:340px}.about-photo img{width:340px;height:auto}.about-copy{font-size:14px;padding:30px 15px}
  .title-prefix{font-size:38px}.typing{font-size:15px}.typing-caret{font-size:16px}
  .visual-band{height:280px}
  .products-section{height:auto;padding:38px 0 55px}.product-gallery{height:auto;aspect-ratio:1340/258}
  .contact-section{height:auto;padding:38px 0 40px}.contact-panel{height:auto;grid-template-columns:1fr 1fr}.contact-image{height:auto;min-height:310px}.contact-form{height:auto;min-height:310px;padding:22px}
  .comments-closed{height:32px}
}
@media(max-width:767px){
  .hero{height:565px}.section-shell{width:calc(100% - 30px)}
  .fancy-title{height:auto;min-height:48px;white-space:normal;flex-wrap:wrap}.title-prefix{font-size:34px}.typing{font-size:14px}
  .about-panel{display:flex;flex-direction:column-reverse;background:linear-gradient(180deg,#e4edf8 0 47%,#fff 47% 100%);padding:18px 0}.about-photo{width:min(418px,86%)}.about-photo img{width:100%;height:auto}.about-copy{max-width:none;padding:30px 8px 5px;font-size:14px}
  .visual-band{height:210px;background-size:auto 100%}
  .product-gallery{height:auto;aspect-ratio:auto;grid-template-columns:1fr;border-width:6px}.product-gallery a{aspect-ratio:16/9}
  .contact-panel{grid-template-columns:1fr}.contact-image{min-height:0;aspect-ratio:16/9}.contact-form{min-height:345px}
  .site-footer{height:auto;padding:28px 0 35px}.site-footer img{width:210px;height:auto}
}
@media(max-width:480px){.hero{height:349px}.site-header{height:78px}.header-inner{height:78px}.brand img{width:62px;height:62px}.mobile-nav{top:78px}.visual-band{height:165px}.title-prefix{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.product-gallery img{transition:none}.typing-caret{animation:none}.animate-on-view{opacity:1}.animate-on-view.is-visible{animation:none!important}}
