/*
Theme Name: Orange Investments
Theme URI: https://orange-investments.local/
Author: Orange Investment ASI
Description: Customowy motyw dla Orange Investment ASI sp. z o.o. - jednostronicowa strona inwestycyjna z animacjami i edytowalnymi treściami przez ACF.
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: orange-investments
*/

:root{
    --c-primary: #fe7003;
    --c-primary-2: #fd9100;
    --c-gradient: linear-gradient(135deg, #fe7003 0%, #fd9100 100%);
    --c-gradient-soft: linear-gradient(135deg, rgba(254,112,3,0.08) 0%, rgba(253,145,0,0.08) 100%);
    --c-page: #ffffff;
    --c-bg: #ffffff;
    --c-bg-alt: #fafafa;
    --c-hero: #0a0604;
    --c-hero-2: #1a0f06;
    --c-text: #1a1a1a;
    --c-text-soft: #555;
    --c-text-on-dark: #f3ece3;
    --c-text-on-dark-soft: rgba(243,236,227,.72);
    --c-border: rgba(0,0,0,0.08);
    --font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --font-display: 'Syne', 'Open Sans', sans-serif;
    --header-h: 110px;
    --container: 1400px;
    --radius: 30px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    margin:0;
    font-family:var(--font-body);
    font-weight:400;
    font-size:16px;
    line-height:1.7;
    color:var(--c-text);
    background:var(--c-page);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--c-primary);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--c-primary-2)}
p{margin:0 0 1.2em}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.15;margin:0 0 .6em;letter-spacing:-.01em}

.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:#000;color:#fff;padding:.6rem 1rem;z-index:9999}

.site-header{
    position:fixed;
    top:0;left:0;right:0;
    height:var(--header-h);
    z-index:100;
    display:flex;
    align-items:center;
    background:#ffffff;
    transition:background .35s ease, box-shadow .35s ease, height .35s ease;
}
.site-header.is-scrolled{
    background:rgba(255,255,255,.95);
    backdrop-filter:saturate(180%) blur(12px);
    -webkit-backdrop-filter:saturate(180%) blur(12px);
    box-shadow:0 2px 24px rgba(0,0,0,.06);
    height:80px;
}
.site-header__inner{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.site-logo{display:inline-flex;align-items:center;gap:10px}
.site-logo a{display:inline-flex;align-items:center;gap:14px}
.site-logo img,.site-logo svg{max-height:54px;width:auto;transition:max-height .35s ease, filter .35s ease}
.is-scrolled .site-logo img,.is-scrolled .site-logo svg{max-height:42px}

.site-logo__mark{width:54px;height:54px;flex-shrink:0;transition:width .35s ease,height .35s ease}
.is-scrolled .site-logo__mark{width:42px;height:42px}
.site-logo__text{
    display:flex;
    flex-direction:column;
    line-height:1;
    font-family:var(--font-display);
    color:var(--c-text);
    letter-spacing:.02em;
}
.site-logo__text-top{font-weight:700;font-size:22px;letter-spacing:.01em}
.site-logo__text-bot{font-weight:600;font-size:10px;letter-spacing:.32em;margin-top:4px;opacity:.85}

.main-nav{display:flex;align-items:center;gap:32px}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:38px}
.main-nav a{
    color:var(--c-text);
    font-family:var(--font-display);
    font-weight:600;
    font-size:13px;
    letter-spacing:.2em;
    text-transform:uppercase;
    position:relative;
    padding:6px 0;
}
.main-nav a::after{
    content:"";
    position:absolute;left:0;bottom:0;
    width:0;height:2px;
    background:var(--c-gradient);
    transition:width .35s cubic-bezier(.6,.05,.25,1);
}
.main-nav a:hover::after,.main-nav a.is-active::after{width:100%}

.menu-toggle{
    display:none;
    background:none;border:none;cursor:pointer;
    padding:10px;
    color:var(--c-text);
    font-family:var(--font-display);
    font-weight:600;
    font-size:13px;
    letter-spacing:.18em;
    text-transform:uppercase;
    align-items:center;
    gap:10px;
}
.menu-toggle__lines{display:inline-flex;flex-direction:column;gap:4px;width:22px}
.menu-toggle__lines span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .3s ease}
.menu-toggle[aria-expanded="true"] .menu-toggle__lines span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__lines span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle__lines span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.ocm{
    position:fixed;top:0;right:0;bottom:0;
    width:min(420px,86vw);
    background:#fff;
    z-index:99;
    transform:translateX(100%);
    transition:transform .5s cubic-bezier(.6,.05,.25,1);
    box-shadow:-12px 0 40px rgba(0,0,0,.12);
    padding:120px 40px 40px;
    overflow-y:auto;
}
.ocm.is-open{transform:translateX(0)}
.ocm ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.ocm a{
    font-family:var(--font-display);
    font-weight:700;
    font-size:32px;
    color:var(--c-text);
    transition:color .3s ease, transform .3s ease;
    display:inline-block;
}
.ocm a:hover{color:var(--c-primary);transform:translateX(6px)}
.ocm-backdrop{
    position:fixed;inset:0;
    background:rgba(0,0,0,.4);
    opacity:0;pointer-events:none;
    transition:opacity .4s ease;
    z-index:98;
}
.ocm-backdrop.is-open{opacity:1;pointer-events:auto}

.hero{
    position:relative;
    margin:calc(var(--header-h) - 12px) 46px 0;
    border-radius:var(--radius);
    background:radial-gradient(ellipse at 30% 20%, #1d1108 0%, #0d0703 55%, #060403 100%);
    color:var(--c-text-on-dark);
    padding:90px clamp(28px, 6vw, 90px) 110px;
    display:flex;
    align-items:center;
    overflow:hidden;
    isolation:isolate;
    min-height:min(720px, 88vh);
    clip-path:inset(6% 14% 22% 14% round 30px);
    transform:scale(.965);
    transition:clip-path 1.4s cubic-bezier(.5,0,.1,1), transform 1.4s cubic-bezier(.5,0,.1,1);
}
.hero.is-revealed{
    clip-path:inset(0 0 0 0 round 30px);
    transform:scale(1);
}

.hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit}
.hero__bg::before,
.hero__bg::after,
.hero__orb{
    content:"";
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    will-change:transform;
}
.hero__bg::before{
    width:55vw;height:55vw;
    left:-15vw;top:-15vw;
    background:radial-gradient(circle, rgba(254,112,3,.65) 0%, rgba(254,112,3,0) 70%);
    opacity:.85;
    animation:orbDrift1 11s ease-in-out infinite;
}
.hero__bg::after{
    width:48vw;height:48vw;
    right:-15vw;bottom:-18vw;
    background:radial-gradient(circle, rgba(253,145,0,.6) 0%, rgba(253,145,0,0) 70%);
    opacity:.8;
    animation:orbDrift2 13s ease-in-out infinite;
}
.hero__orb{
    width:36vw;height:36vw;
    left:30%;top:30%;
    background:radial-gradient(circle, rgba(255,160,60,.55) 0%, rgba(255,160,60,0) 70%);
    opacity:.7;
    animation:orbDrift3 9s ease-in-out infinite;
}
.hero__orb--2{
    width:26vw;height:26vw;
    left:60%;top:55%;
    background:radial-gradient(circle, rgba(255,90,0,.65) 0%, rgba(255,90,0,0) 70%);
    opacity:.65;
    animation:orbDrift4 14s ease-in-out infinite;
}
.hero__orb--3{
    width:20vw;height:20vw;
    left:10%;top:70%;
    background:radial-gradient(circle, rgba(255,200,120,.5) 0%, rgba(255,200,120,0) 70%);
    opacity:.6;
    animation:orbDrift5 10s ease-in-out infinite;
}
@keyframes orbDrift1{
    0%,100%{transform:translate(0,0) scale(1)}
    25%{transform:translate(28vw,12vw) scale(1.25)}
    50%{transform:translate(40vw,28vw) scale(.9)}
    75%{transform:translate(15vw,35vw) scale(1.15)}
}
@keyframes orbDrift2{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(-30vw,-22vw) scale(1.3)}
    66%{transform:translate(-15vw,-35vw) scale(.85)}
}
@keyframes orbDrift3{
    0%,100%{transform:translate(0,0) scale(1)}
    20%{transform:translate(20vw,-15vw) scale(1.2)}
    50%{transform:translate(-25vw,15vw) scale(.85)}
    80%{transform:translate(15vw,25vw) scale(1.15)}
}
@keyframes orbDrift4{
    0%,100%{transform:translate(0,0) scale(1)}
    30%{transform:translate(-30vw,-18vw) scale(1.3)}
    60%{transform:translate(-12vw,12vw) scale(.9)}
}
@keyframes orbDrift5{
    0%,100%{transform:translate(0,0) scale(1)}
    40%{transform:translate(35vw,-22vw) scale(1.4)}
    70%{transform:translate(20vw,8vw) scale(.95)}
}

.hero__inner{
    position:relative;
    z-index:1;
    max-width:var(--container);
    margin:0 auto;
    width:100%;
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:60px;
    align-items:center;
}
.hero--centered .hero__inner{
    grid-template-columns:1fr;
    max-width:980px;
    text-align:center;
}
.hero--centered .hero__copy{
    display:flex;
    flex-direction:column;
    align-items:center;
}
.hero--centered .hero__lead{margin:0 auto}
.hero__eyebrow{
    display:inline-block;
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(12px,.85vw,14px);
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:28px;
    color:var(--c-text-on-dark);
    opacity:.85;
}
.hero__title{
    font-size:clamp(28px,3vw,64px);
    line-height:1.18;
    margin-bottom:32px;
    font-weight:700;
    color:#fff;
    letter-spacing:-.005em;
}
.hero__title-accent{
    background:var(--c-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    display:inline-block;
}
.hero__lead{
    font-size:clamp(13px,.92vw,15px);
    line-height:1.8;
    color:var(--c-text-on-dark-soft);
    max-width:560px;
}
.hero__lead p{margin:0 0 1em;color:inherit}

.hero__visual{
    position:relative;
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:70%;
    margin-left:auto;
    width:100%;
}
.hero__asterisk{
    width:100%;
    height:100%;
    animation:asteriskRotate 28s linear infinite;
    transform-origin:50% 50%;
}
@keyframes asteriskRotate{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}

.section{
    padding:100px 8vw;
    position:relative;
}
.section--alt{background:transparent}
.section__inner{max-width:var(--container);margin:0 auto}
.section__head{margin-bottom:60px;max-width:820px}
.section__eyebrow{
    display:inline-block;
    font-family:var(--font-display);
    font-weight:600;
    font-size:14px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--c-primary);
    margin-bottom:14px;
}
.section__title{
    font-size:clamp(32px,3.2vw,55px);
    line-height:1.15;
    margin-bottom:24px;
}
.section__title--gradient{
    background:var(--c-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.section__lead{font-size:clamp(15px,1vw,17px);color:var(--c-text-soft);max-width:780px}

.clip-reveal{
    position:relative;
    border-radius:var(--radius);
    overflow:hidden;
    background:#fff;
    box-shadow:0 30px 80px -30px rgba(0,0,0,.12);
    padding:64px clamp(28px, 5vw, 90px);
    clip-path:inset(15px 8vw 15px 8vw round 30px);
    transition:clip-path 1.1s cubic-bezier(.6,.05,.25,1);
}
.clip-reveal.is-visible{clip-path:inset(0 0 0 0 round 30px)}
.clip-reveal--accent{
    background:var(--c-gradient);
    color:#fff;
}
.clip-reveal--accent .section__title{color:#fff}
.clip-reveal--accent .section__lead,.clip-reveal--accent p{color:rgba(255,255,255,.92)}

.info-block{margin-bottom:60px}
.info-block:last-child{margin-bottom:0}
.info-block p{font-size:15px;line-height:1.85;color:var(--c-text-soft)}
.info-block ol,.info-block ul{padding-left:1.4em;margin:0 0 1.2em}
.info-block li{margin-bottom:.6em;color:var(--c-text-soft);line-height:1.85}

.hero--page{
    min-height:auto;
    padding:80px clamp(28px,6vw,90px) 80px;
    background:#0a0604;
}
.hero.hero--page{margin-top:calc(var(--header-h) + 16px)}
.hero--page .hero__inner{
    grid-template-columns:1fr;
    text-align:center;
    justify-items:center;
}
.hero__title--centered{
    margin:0;
    font-size:clamp(28px,3.6vw,64px);
}

.section--info-page{padding-top:60px}
.section--info-page .info-card{margin-top:0}

.page-content{
    font-size:15px;
    line-height:1.85;
    color:var(--c-text-soft);
}
.page-content > *:first-child{margin-top:0}
.page-content h2{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(22px,2vw,32px);
    line-height:1.25;
    margin:56px 0 18px;
    background:var(--c-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.page-content h3{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(17px,1.3vw,21px);
    line-height:1.3;
    margin:36px 0 14px;
    color:var(--c-text);
}
.page-content p{margin:0 0 1.2em}
.page-content ol,.page-content ul{padding-left:1.5em;margin:0 0 1.4em}
.page-content li{margin-bottom:.6em;line-height:1.85}
.page-content li > ul,.page-content li > ol{margin-top:.4em;margin-bottom:.6em}
.page-content a{color:var(--c-primary);text-decoration:underline;text-underline-offset:3px}
.page-content a:hover{color:var(--c-primary-2)}
.page-content strong{color:var(--c-text);font-weight:600}

.section--info{
    padding:0 0 40px;
    background:transparent;
    position:relative;
    z-index:1;
}
.info-card{
    position:relative;
    z-index:2;
    margin:-70px 8vw 0;
    background:#fff;
    border-radius:var(--radius);
    padding:80px clamp(40px,6vw,120px);
}
.info-card .info-block + .info-block{margin-top:60px;padding-top:60px;border-top:1px solid var(--c-border)}

.kontakt{
    position:relative;
    margin:0 46px 24px;
    border-radius:var(--radius);
    background:radial-gradient(ellipse at 30% 20%, #1d1108 0%, #0d0703 55%, #060403 100%);
    color:var(--c-text-on-dark);
    padding:60px clamp(24px,5vw,70px) 60px;
    overflow:hidden;
    isolation:isolate;
    clip-path:inset(8% 14% 22% 14% round 30px);
    transform:scale(.965);
    transition:clip-path 1.4s cubic-bezier(.5,0,.1,1), transform 1.4s cubic-bezier(.5,0,.1,1);
}
.kontakt.is-revealed{
    clip-path:inset(0 0 0 0 round 30px);
    transform:scale(1);
}
.kontakt__bg{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit}
.kontakt__orb{
    position:absolute;
    border-radius:50%;
    filter:blur(90px);
    pointer-events:none;
}
.kontakt__orb{
    width:48vw;height:48vw;
    right:-15vw;top:-20vw;
    background:radial-gradient(circle, rgba(254,112,3,.45) 0%, rgba(254,112,3,0) 70%);
    opacity:.7;
}
.kontakt__orb--2{
    width:36vw;height:36vw;
    left:-12vw;bottom:-15vw;
    background:radial-gradient(circle, rgba(253,145,0,.35) 0%, rgba(253,145,0,0) 70%);
    opacity:.6;
}
.kontakt__inner{
    position:relative;
    z-index:1;
    max-width:var(--container);
    margin:0 auto;
    width:100%;
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:50px;
    align-items:center;
}
.kontakt__eyebrow{
    display:inline-block;
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(11px,.78vw,13px);
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:18px;
    color:var(--c-text-on-dark);
    opacity:.85;
}
.kontakt__title{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(22px,2.4vw,46px);
    line-height:1.15;
    margin:0 0 10px;
    background:var(--c-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    letter-spacing:-.005em;
}
.kontakt__legal{
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(13px,.95vw,17px);
    color:#fff;
    margin:0 0 24px;
}
.kontakt__address{
    font-style:normal;
    font-size:clamp(12px,.85vw,14px);
    line-height:1.85;
    color:var(--c-text-on-dark-soft);
}
.kontakt__address p{margin:0;color:inherit}
.kontakt__email{margin-top:12px !important}
.kontakt__email a{
    color:var(--c-primary);
    text-decoration:none;
    transition:color .25s ease;
}
.kontakt__email a:hover{color:var(--c-primary-2)}
.kontakt__visual{
    position:relative;
    aspect-ratio:1/1;
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:340px;
    justify-self:end;
    width:100%;
}
.kontakt__asterisk,
.kontakt__logo{
    width:100%;
    height:100%;
    object-fit:contain;
}

.site-footer{
    background:transparent;
    padding:24px 46px 32px;
}
.site-footer__inner{
    max-width:var(--container);
    margin:0 auto;
    text-align:center;
}
.site-footer__copy{
    font-size:13px;
    color:#777;
    line-height:1.6;
}
.site-footer__copy a{
    color:var(--c-primary);
    text-decoration:none;
    transition:color .25s ease;
}
.site-footer__copy a:hover{color:var(--c-primary-2)}

.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.6,.05,.25,1),transform .9s cubic-bezier(.6,.05,.25,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal--delay-1{transition-delay:.12s}
.reveal--delay-2{transition-delay:.24s}
.reveal--delay-3{transition-delay:.36s}

.to-top{
    position:fixed;right:24px;bottom:24px;
    width:48px;height:48px;border-radius:50%;
    background:var(--c-gradient);
    color:#fff;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 10px 30px -8px rgba(254,112,3,.6);
    opacity:0;pointer-events:none;
    transition:opacity .35s ease, transform .35s ease;
    z-index:90;
    transform:translateY(20px);
}
.to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top:hover{transform:translateY(-4px)}
.to-top svg{width:18px;height:18px}

@media (max-width: 1024px){
    .hero{margin:calc(var(--header-h) - 12px) 24px 0;padding:80px clamp(24px,5vw,60px) 90px;min-height:auto}
    .hero__inner{grid-template-columns:1fr;gap:50px}
    .hero__visual{max-width:420px;margin:0 auto;width:100%}
    .info-card{margin:-50px 6vw 0;padding:60px clamp(28px,5vw,80px)}
    .kontakt{margin:0 24px 16px;padding:50px clamp(24px,5vw,50px)}
    .kontakt{clip-path:inset(5% 10% 18% 10% round 24px)}
    .kontakt.is-revealed{clip-path:inset(0 0 0 0 round 24px)}
    .kontakt__inner{grid-template-columns:1fr;gap:40px}
    .kontakt__visual{max-width:300px;margin:0 auto;justify-self:center}
    .site-footer{padding:24px 24px 32px}
}
@media (max-width: 768px){
    :root{--header-h:80px;--radius:24px}
    .site-header__inner{padding:0 20px}
    .main-nav{display:none}
    .menu-toggle{display:inline-flex}
    .hero{margin:calc(var(--header-h) + 12px) 10px 0;padding:60px 24px 80px;clip-path:inset(4% 8% 14% 8% round 24px)}
    .hero.is-revealed{clip-path:inset(0 0 0 0 round 24px)}
    .hero__eyebrow{margin-bottom:20px}
    .hero__title{font-size:clamp(28px,7vw,44px);margin-bottom:28px}
    .hero__visual{max-width:220px}
    .section{padding:60px 6vw}
    .section--info{padding:0 0 32px}
    .info-card{margin:-40px 4vw 0;padding:40px 24px}
    .info-card .info-block + .info-block{margin-top:40px;padding-top:40px}
    .kontakt{margin:0 10px 12px;padding:40px 24px;clip-path:inset(4% 8% 14% 8% round 24px)}
    .kontakt.is-revealed{clip-path:inset(0 0 0 0 round 24px)}
    .kontakt__visual{max-width:240px}
    .site-footer{padding:24px 16px 32px}
    .site-footer__copy{font-size:12px}
}
@media (max-width: 480px){
    .hero__visual{max-width:170px}
    .ocm a{font-size:26px}
    .info-card{padding:32px 20px}
    .kontakt{padding:36px 20px}
    .kontakt__visual{max-width:200px}
}

@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
