/*
Theme Name: Open Water Swimmers - Nice 1975
Theme URI: https://nice1975.it
Author: Griffe / Guglielmo
Author URI: https://nice1975.it
Description: Tema one-page per Open Water Swimmers - Nice 1975. Squadra di nuoto in acque libere con anima ambientale: tutela del mare, della flora e fauna marina, del litorale e delle spiagge.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ows-nice1975
*/

:root{
  --navy:#0A1826; --navy2:#0d2033; --panel:#0f2537;
  --deep:#103d52; --teal:#2f8ca0; --teal-l:#57b3c4;
  --cream:#F3EFE2; --dust:#8FB3C7;
  --line:rgba(243,239,226,.13);
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.ows{
  background:var(--navy); color:var(--cream);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.ows .display{font-family:"Anton","Arial Narrow",sans-serif; font-weight:400; letter-spacing:.5px; line-height:.94; text-transform:uppercase}
.ows .eyebrow{font-size:.74rem; letter-spacing:.32em; text-transform:uppercase; font-weight:600; color:var(--teal-l)}
.ows a{color:inherit; text-decoration:none}
.ows .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}

.ows-header{position:fixed; top:0; left:0; right:0; z-index:50; transition:background .3s,border-color .3s; border-bottom:1px solid transparent}
.ows-header.scrolled{background:rgba(8,18,30,.86); backdrop-filter:blur(10px); border-color:var(--line)}
.ows .nav{display:flex; align-items:center; justify-content:space-between; height:88px}
.ows .brand{display:flex; align-items:center; gap:14px; font-family:"Anton",sans-serif; font-size:1.35rem; letter-spacing:1px; text-transform:uppercase}
.ows .brand img{height:60px; width:auto; display:block}
.ows .brand span b{color:var(--dust); font-weight:400}
.ows .menu{display:flex; gap:34px; font-size:.82rem; letter-spacing:.13em; text-transform:uppercase; font-weight:600}
.ows .menu a{color:rgba(243,239,226,.72); transition:color .2s}
.ows .menu a:hover{color:var(--cream)}
.ows .burger{display:none; background:none; border:0; color:var(--cream); font-size:1.5rem; cursor:pointer}

.ows-hero{position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden}
.ows-hero .hero-bg{position:absolute; inset:0; background:url('assets/images/hero.jpg') center 50%/cover no-repeat; transform:scale(1.08); animation:owsdrift 22s ease-in-out infinite alternate}
@keyframes owsdrift{to{transform:scale(1.16) translateY(-1.5%)}}
.ows-hero .hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,18,30,.5) 0%,rgba(8,18,30,.14) 30%,rgba(8,18,30,.5) 64%,var(--navy) 100%)}
.ows-hero .hero-inner{position:relative; z-index:2; width:100%; padding-bottom:9vh}
.ows-hero .eyebrow{margin-bottom:22px; opacity:0; animation:owsup .9s .2s forwards}
.ows .claim{font-size:clamp(3.4rem,12vw,10.5rem); color:var(--cream); text-shadow:0 4px 40px rgba(0,0,0,.5)}
.ows .claim .l1{opacity:0; animation:owsup 1s .35s forwards}
.ows .claim .l2{opacity:0; animation:owsup 1s .5s forwards}
.ows .claim .l2 em{font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--teal-l)}
.ows .hero-sub{max-width:540px; margin-top:26px; font-size:1.12rem; color:rgba(243,239,226,.92); text-shadow:0 2px 18px rgba(0,0,0,.5); opacity:0; animation:owsup 1s .7s forwards}
.ows .hero-cta{display:flex; gap:16px; margin-top:34px; flex-wrap:wrap; opacity:0; animation:owsup 1s .85s forwards}
.ows .btn{display:inline-flex; align-items:center; gap:9px; padding:15px 30px; font-weight:700; font-size:.86rem; letter-spacing:.1em; text-transform:uppercase; border-radius:2px; transition:transform .15s,background .2s,color .2s; cursor:pointer; border:1.5px solid var(--cream)}
.ows .btn.solid{background:var(--cream); color:var(--navy)}
.ows .btn.solid:hover{background:var(--teal-l); border-color:var(--teal-l); transform:translateY(-2px)}
.ows .btn.ghost{background:transparent; color:var(--cream)}
.ows .btn.ghost:hover{background:rgba(243,239,226,.1); transform:translateY(-2px)}
.ows .scrollcue{position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:3; font-size:.68rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(243,239,226,.7); display:flex; flex-direction:column; align-items:center; gap:9px; animation:owsbob 2.4s ease-in-out infinite}
.ows .scrollcue::after{content:""; width:1px; height:34px; background:linear-gradient(var(--teal-l),transparent)}
@keyframes owsbob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(7px)}}
@keyframes owsup{from{opacity:0; transform:translateY(26px)}to{opacity:1; transform:translateY(0)}}

.ows .waterline{display:block; width:100%; height:56px; margin-top:-2px}
.ows section{position:relative}
.ows .sec-pad{padding:118px 0}
.ows .reveal{opacity:0; transform:translateY(34px); transition:opacity .8s ease,transform .8s ease}
.ows .reveal.in{opacity:1; transform:none}

.ows .progetto{background:var(--navy)}
.ows .split{display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center}
.ows .progetto h2{font-size:clamp(2.2rem,5vw,4rem); color:var(--cream); margin:16px 0 24px}
.ows .progetto p{color:rgba(243,239,226,.82); margin-bottom:18px; max-width:46ch}
.ows .since{display:inline-flex; align-items:baseline; gap:12px; margin-top:14px; padding-top:20px; border-top:1px solid var(--line)}
.ows .since b{font-family:"Anton",sans-serif; font-size:2.4rem; color:var(--dust); letter-spacing:1px}
.ows .since span{font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(243,239,226,.6)}
.ows .figure{position:relative; border-radius:3px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 70px rgba(0,0,0,.5)}
.ows .figure img{width:100%; height:100%; object-fit:cover; object-position:center 52%; display:block}
.ows .figure .tag{position:absolute; left:0; bottom:0; background:var(--deep); color:var(--cream); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; padding:9px 16px; font-weight:600}

.ows .impegno{position:relative}
.ows .impegno-hero{position:relative; min-height:78vh; display:flex; align-items:center; overflow:hidden}
.ows .impegno-hero .bg{position:absolute; inset:0; background:url('assets/images/impegno.jpg') center 55%/cover no-repeat}
.ows .impegno-hero .bg::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,18,30,.92) 0%,rgba(8,18,30,.58) 55%,rgba(8,18,30,.22) 100%)}
.ows .impegno-hero .content{position:relative; z-index:2; max-width:620px}
.ows .impegno-hero h2{font-size:clamp(2.3rem,5.4vw,4.4rem); color:var(--cream); margin:16px 0 20px}
.ows .impegno-hero p{color:rgba(243,239,226,.9); font-size:1.12rem; max-width:48ch}
.ows .pillars{background:var(--navy2); padding:96px 0}
.ows .pgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px}
.ows .pillar{border-top:2px solid var(--teal); padding-top:22px}
.ows .pillar .n{font-family:"Anton",sans-serif; font-size:1.1rem; color:var(--teal-l); letter-spacing:.14em}
.ows .pillar h3{font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.5px; font-size:1.55rem; color:var(--cream); margin:10px 0 12px}
.ows .pillar p{color:rgba(243,239,226,.76); font-size:.98rem}
.ows .giovani{margin-top:64px; padding:40px 46px; background:linear-gradient(120deg,var(--deep),var(--navy2)); border-left:3px solid var(--teal-l); border-radius:2px}
.ows .giovani p{font-size:1.28rem; color:var(--cream); max-width:60ch; font-weight:500}
.ows .giovani p em{color:var(--teal-l); font-style:normal}

.ows .merch{background:var(--navy)}
.ows .merch-head{max-width:640px; margin-bottom:52px}
.ows .merch-head h2{font-size:clamp(2.2rem,5vw,4rem); color:var(--cream); margin:16px 0 18px}
.ows .merch-head p{color:rgba(243,239,226,.82)}
.ows .mgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.ows .card{position:relative; background:var(--panel); border:1px solid var(--line); border-radius:3px; padding:30px 26px 26px; min-height:210px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; transition:transform .2s,border-color .2s,background .2s}
.ows .card::before{content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--teal),var(--teal-l))}
.ows .card:hover{transform:translateY(-5px); border-color:var(--teal); background:#122c40}
.ows .card .idx{position:absolute; top:22px; right:24px; font-family:"Anton",sans-serif; font-size:.95rem; color:rgba(143,179,199,.4)}
.ows .card h3{font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.5px; font-size:1.5rem; color:var(--cream); margin-bottom:8px}
.ows .card p{color:rgba(243,239,226,.66); font-size:.9rem; line-height:1.5}
.ows .merch-note{margin-top:34px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; color:var(--dust); font-size:.86rem; letter-spacing:.04em}
.ows .merch-note .dot{width:7px; height:7px; border-radius:50%; background:var(--teal-l); flex:none}

.ows .contatti{background:linear-gradient(180deg,var(--navy) 0%,#081422 100%); text-align:center; padding:130px 0}
.ows .contatti h2{font-size:clamp(2.4rem,6vw,5rem); color:var(--cream); margin-bottom:22px}
.ows .contatti p{max-width:52ch; margin:0 auto 40px; color:rgba(243,239,226,.82); font-size:1.12rem}
.ows .contatti .hero-cta{justify-content:center; animation:none; opacity:1}
.ows .ig svg,.ows .mail svg{width:18px; height:18px}

.ows-footer{background:#081422; border-top:1px solid var(--line); padding:52px 0 40px}
.ows .foot{display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap}
.ows .foot .brand img{height:76px}
.ows .foot small{color:rgba(243,239,226,.5); font-size:.78rem; letter-spacing:.04em}
.ows .foot .fl{display:flex; gap:26px; font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; color:rgba(243,239,226,.6)}
.ows .foot .fl a:hover{color:var(--cream)}
.ows .foot-claim{font-family:"Anton",sans-serif; text-transform:uppercase; letter-spacing:2px; color:var(--teal-l); font-size:.95rem}

@media(max-width:860px){
  .ows .menu{display:none} .ows .burger{display:block}
  .ows .split,.ows .pgrid,.ows .mgrid{grid-template-columns:1fr; gap:40px}
  .ows .mgrid{gap:16px}
  .ows .sec-pad{padding:84px 0}
  .ows .figure{aspect-ratio:16/12}
  .ows .giovani{padding:30px 26px}
  .ows .impegno-hero .bg::after{background:linear-gradient(180deg,rgba(8,18,30,.5),rgba(8,18,30,.9))}
}
@media(prefers-reduced-motion:reduce){
  .ows-hero .hero-bg{animation:none; transform:scale(1.05)}
  .ows .scrollcue{animation:none}
  .ows *{animation-duration:.001s!important}
  .ows .reveal{transition:none}
}
