/* =============================================
   L'ATELIER DES MURS — V10
   MASSIVE / Double Size Everything
   ============================================= */

@font-face{font-family:'Sfizia';src:url('../fonts/Sfizia-Bold.woff2') format('woff2'),url('../fonts/Sfizia-Bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'Sfizia';src:url('../fonts/Sfizia-Regular.woff2') format('woff2'),url('../fonts/Sfizia-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Chaney';src:url('../fonts/CHANEY-Regular.woff2') format('woff2'),url('../fonts/CHANEY-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Strawford';src:url('../fonts/Strawford-Light.woff2') format('woff2'),url('../fonts/Strawford-Light.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:'Strawford';src:url('../fonts/Strawford-Regular.woff2') format('woff2'),url('../fonts/Strawford-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Strawford';src:url('../fonts/Strawford-Bold.woff2') format('woff2'),url('../fonts/Strawford-Bold.otf') format('opentype');font-weight:700;font-display:swap}

:root{
    --terra:#B35C2F;--terra-d:#8B4513;--terra-l:#D4804A;
    --dark:#1A1816;--mid:#2E2B27;--grey:#4A4640;
    --cream:#ECE3D0;--sand:#F5F0E8;--white:#FFFFFF;
    --bg:#FAFAF8;
    --head:'Sfizia',Georgia,serif;
    --accent:'Chaney','Impact',sans-serif;
    --body:'Strawford','Helvetica Neue',Arial,sans-serif;
    --ease:cubic-bezier(.22,1,.36,1);
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:140px;overflow-x:hidden}
body{font-family:var(--body);font-size:20px;font-weight:500;line-height:1.85;color:var(--mid);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;width:100%}
html,body{max-width:100vw}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
strong{font-weight:700;color:var(--dark)}

.container{width:100%;max-width:1800px;margin:0 auto;padding:0 clamp(24px,5vw,80px)}

/* ---- BTN ---- */
.btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:24px 64px;
    font-family:var(--body);font-weight:700;font-size:1.15rem;
    letter-spacing:3px;text-transform:uppercase;
    background:var(--terra);color:var(--white);
    border:2px solid var(--terra);cursor:pointer;
    border-radius:0;
    transition:all .5s var(--ease);
    position:relative;overflow:hidden;
}
.btn::after{
    content:'';position:absolute;top:50%;left:50%;
    width:0;height:0;
    background:rgba(255,255,255,.12);border-radius:50%;
    transition:all .6s var(--ease);
    transform:translate(-50%,-50%);
}
.btn:hover{background:var(--terra-d);border-color:var(--terra-d);color:#fff;transform:translateY(-3px);box-shadow:0 12px 40px rgba(179,92,47,.25)}
.btn:hover::after{width:400px;height:400px}
.btn--o{background:transparent;color:var(--dark);border-color:var(--dark)}
.btn--o::after{background:rgba(0,0,0,.04)}
.btn--o:hover{background:var(--dark);color:var(--white);border-color:var(--dark);box-shadow:0 12px 40px rgba(0,0,0,.12)}
.btn--full{width:100%}

/* =============================================
   HEADER
   ============================================= */
.hdr{
    position:sticky;top:0;z-index:100;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(20px);
    transition:box-shadow .5s var(--ease),border-color .5s;
    overflow:visible;
    border-bottom:1px solid rgba(0,0,0,.06);
}
.hdr--shadow{box-shadow:0 4px 40px rgba(0,0,0,.06);border-color:transparent}
.hdr__inner{
    display:flex;align-items:center;
    gap:clamp(8px,1.5vw,32px);
    padding:0 clamp(16px,2vw,48px);
    height:100px;
    max-width:1600px;
    margin:0 auto;
    overflow:visible;
}
.hdr__logo{
    position:relative;z-index:110;
    flex-shrink:0;
    margin-top:clamp(30px,5vw,60px);
    transition:transform .5s var(--ease),filter .5s var(--ease);
}
.hdr__logo:hover{transform:scale(1.08) rotate(-2deg)}
.hdr__logo img{
    height:clamp(100px,15vw,240px);
    width:auto;
    filter:drop-shadow(0 8px 30px rgba(0,0,0,.08));
    transition:filter .5s var(--ease),transform .5s var(--ease);
}
.hdr__logo:hover img{filter:drop-shadow(0 16px 48px rgba(179,92,47,.25));transform:translateY(-4px)}
.hdr__nav{
    display:flex;align-items:center;gap:clamp(4px,1.2vw,32px);
    margin-left:auto;
    flex-shrink:1;flex-wrap:nowrap;
    min-width:0;
}
.hdr__nav-foot{display:none}
.hdr__link{
    font-family:var(--body);font-weight:700;font-size:clamp(.65rem,.85vw,1.15rem);
    letter-spacing:clamp(.3px,.15vw,2.5px);text-transform:uppercase;
    color:var(--mid);
    transition:color .4s var(--ease),transform .4s var(--ease);
    white-space:nowrap;position:relative;
}
.hdr__link::after{
    content:'';position:absolute;bottom:-8px;left:0;
    width:0;height:2px;background:var(--terra);
    transition:width .4s var(--ease);
}
.hdr__link:hover{color:var(--dark);transform:translateY(-1px)}
.hdr__link:hover::after{width:100%}
.hdr__right{display:flex;align-items:center;gap:clamp(4px,.8vw,20px);flex-shrink:0}
.hdr__tel{
    font-family:var(--body);font-weight:700;font-size:clamp(.7rem,.85vw,1.15rem);
    color:var(--dark);letter-spacing:.3px;white-space:nowrap;
    transition:color .3s;
}
.hdr__tel:hover{color:var(--terra)}
.hdr__cta{
    font-family:var(--body);font-weight:700;font-size:clamp(.6rem,.75vw,1rem);
    letter-spacing:clamp(.3px,.1vw,2px);text-transform:uppercase;
    background:var(--terra);color:var(--white);
    padding:clamp(8px,1vw,18px) clamp(10px,1.5vw,36px);
    transition:all .4s var(--ease);white-space:nowrap;
}
.hdr__cta:hover{background:var(--terra-d);transform:translateY(-2px);box-shadow:0 8px 28px rgba(179,92,47,.25)}

.hdr__burger{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;z-index:200;padding:0;-webkit-tap-highlight-color:transparent}
.hdr__burger span{display:block;position:absolute;left:0;width:28px;height:2px;background:var(--dark);transition:all .4s var(--ease)}
.hdr__burger span:nth-child(1){top:0}
.hdr__burger span:nth-child(2){top:9px}
.hdr__burger span:nth-child(3){top:18px}
.hdr__burger--open span:nth-child(1){top:9px;transform:rotate(45deg)}
.hdr__burger--open span:nth-child(2){opacity:0}
.hdr__burger--open span:nth-child(3){top:9px;transform:rotate(-45deg)}

/* =============================================
   HERO
   ============================================= */
.hero{
    padding:clamp(120px,16vw,240px) 0 clamp(100px,12vw,180px);
    background:var(--white);
    border-bottom:1px solid rgba(0,0,0,.06);
    overflow:hidden;
}
.hero__grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:clamp(48px,6vw,100px);
    align-items:center;
}
.hero__tag{
    font-family:var(--accent);font-size:clamp(.9rem,1.1vw,1.05rem);
    letter-spacing:clamp(5px,.8vw,8px);text-transform:uppercase;
    color:var(--terra);display:block;margin-bottom:40px;
}
.hero__title{
    font-family:var(--head);font-weight:700;
    font-size:clamp(3.5rem,9vw,8rem);
    line-height:1.05;color:var(--dark);margin-bottom:40px;
    max-width:14ch;
}
.hero__text{
    font-size:clamp(1.3rem,1.7vw,1.6rem);
    color:var(--mid);max-width:600px;line-height:1.9;margin-bottom:56px;
}
.hero__btns{display:flex;gap:20px;flex-wrap:wrap}
.hero__btns .btn{padding:24px 64px;font-size:1.15rem}
.hero__side{display:flex;flex-direction:column;gap:20px}
.hero__card{
    padding:36px 40px;
    border:1px solid rgba(0,0,0,.06);
    display:flex;align-items:center;gap:28px;
    transition:all .5s var(--ease);
}
.hero__card:hover{border-color:var(--terra);transform:translateX(8px);box-shadow:0 8px 32px rgba(179,92,47,.08)}
.hero__card-num{
    font-family:var(--accent);font-size:clamp(2.2rem,3.5vw,3.2rem);
    color:var(--terra);min-width:64px;
}
.hero__card-label{font-size:clamp(1.25rem,1.5vw,1.45rem);color:var(--mid);line-height:1.4}

/* =============================================
   PHILOSOPHIE
   ============================================= */
.philo{
    position:relative;overflow:hidden;
    background:var(--sand);
    padding:clamp(80px,12vw,160px) 0;
    text-align:center;
}
.philo__bg{
    position:absolute;inset:0;pointer-events:none;
}
.philo__leaf{
    position:absolute;
    border-radius:50% 0 50% 0;
    opacity:.06;
}
.philo__leaf--1{
    width:clamp(200px,30vw,500px);height:clamp(200px,30vw,500px);
    background:var(--terra);
    top:-10%;left:-5%;
    transform:rotate(-25deg);
}
.philo__leaf--2{
    width:clamp(150px,22vw,380px);height:clamp(150px,22vw,380px);
    background:var(--terra-d);
    bottom:-8%;right:-3%;
    transform:rotate(155deg);
}
.philo__leaf--3{
    width:clamp(100px,15vw,260px);height:clamp(100px,15vw,260px);
    background:var(--terra-l);
    top:20%;right:12%;
    transform:rotate(60deg);
}
.philo__text{
    font-family:var(--head);font-weight:700;
    font-size:clamp(2rem,4.5vw,4rem);
    line-height:1.3;color:var(--dark);
    position:relative;z-index:1;
    max-width:900px;margin:0 auto;
}

/* =============================================
   SECTIONS
   ============================================= */
.sec{padding:clamp(120px,14vw,200px) 0;overflow:hidden}
.sec--cream{background:var(--sand)}
.sec__head{max-width:900px;margin-bottom:clamp(56px,8vw,100px)}

.tag{
    display:inline-block;
    font-family:var(--accent);font-size:clamp(.9rem,1.1vw,1.05rem);
    letter-spacing:6px;text-transform:uppercase;
    color:var(--terra);margin-bottom:32px;
}
h2{
    font-family:var(--head);font-weight:700;
    font-size:clamp(2.8rem,6.5vw,5.5rem);
    line-height:1.04;color:var(--dark);
    word-break:break-word;overflow-wrap:break-word;
}
.lead{font-size:clamp(1.4rem,1.7vw,1.65rem);line-height:1.9;margin-bottom:32px}
p{margin-bottom:20px;font-size:clamp(1.25rem,1.45vw,1.4rem)}

.sec__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,8vw,120px);align-items:start}

blockquote{
    font-family:var(--head);font-style:italic;font-weight:400;
    font-size:clamp(1.5rem,1.9vw,1.8rem);line-height:1.7;color:var(--dark);
    padding:36px 0 36px 36px;margin:0;
    border-left:3px solid var(--terra);
    transition:border-color .5s var(--ease),transform .5s var(--ease);
}
blockquote:hover{border-left-width:6px;transform:translateX(4px)}

.loc{
    display:flex;align-items:flex-start;gap:24px;
    padding:28px 32px;
    border:1px solid rgba(0,0,0,.06);
    font-size:clamp(1.25rem,1.4vw,1.35rem);color:var(--mid);
    margin-top:28px;
    transition:all .5s var(--ease);
}
.loc:hover{border-color:var(--terra);transform:translateY(-2px);box-shadow:0 8px 32px rgba(179,92,47,.06)}
.loc svg{color:var(--terra);flex-shrink:0;margin-top:4px;width:24px;height:24px}
.loc strong{color:var(--dark);display:block;margin-bottom:6px;font-size:clamp(1.3rem,1.5vw,1.45rem)}

/* ---- PRÉSENTATION GRID ---- */
.pres{
    display:grid;grid-template-columns:1fr 1fr;
    gap:clamp(56px,8vw,120px);align-items:center;
}
.pres__left .tag{margin-bottom:32px}
.pres__left h2{margin-bottom:clamp(32px,4vw,48px)}

/* ---- HIGHLIGHTS ---- */
.highlights{display:flex;flex-direction:column;gap:20px}
.highlight{
    display:flex;align-items:flex-start;gap:24px;
    padding:28px 32px;
    border:1px solid rgba(0,0,0,.06);
    transition:all .5s var(--ease);
}
.highlight:hover{border-color:var(--terra);transform:translateY(-3px);box-shadow:0 8px 32px rgba(179,92,47,.08)}
.highlight__icon{
    width:52px;height:52px;display:flex;align-items:center;justify-content:center;
    background:var(--sand);flex-shrink:0;color:var(--terra);
    transition:all .4s var(--ease);
}
.highlight:hover .highlight__icon{background:var(--terra);color:var(--white)}
.highlight strong{color:var(--dark);display:block;margin-bottom:6px;font-size:clamp(1.2rem,1.4vw,1.35rem)}
.highlight p{font-size:clamp(1.05rem,1.2vw,1.15rem);color:var(--grey);margin:0;line-height:1.7}

/* =============================================
   BAND / NUMBERS
   ============================================= */
.band{
    background:var(--dark);
    padding:clamp(64px,9vw,100px) 0;
    overflow:hidden;
}
.band__row{display:grid;grid-template-columns:repeat(4,1fr)}
.band__item{text-align:center;padding:clamp(20px,3vw,36px)}
.band__item+.band__item{border-left:1px solid rgba(255,255,255,.08)}
.band__num{
    display:block;
    font-family:var(--accent);font-size:clamp(3rem,6.5vw,5.5rem);
    color:var(--terra-l);line-height:1;margin-bottom:16px;
}
.band__label{font-size:clamp(1.2rem,1.5vw,1.4rem);color:rgba(255,255,255,.65);letter-spacing:.5px;font-weight:500}

/* =============================================
   ACCORDION
   ============================================= */
.acc__item{border-bottom:1px solid rgba(0,0,0,.08);transition:background .4s var(--ease)}
.acc__item:first-child{border-top:1px solid rgba(0,0,0,.08)}
.acc__item--open{background:var(--bg)}
.acc__head{
    display:flex;align-items:center;gap:clamp(24px,3.5vw,40px);
    padding:clamp(32px,4.5vw,52px) clamp(16px,2.5vw,32px);cursor:pointer;
    transition:all .4s var(--ease);
}
.acc__head:hover{opacity:.7}
.acc__num{
    font-family:var(--accent);font-size:clamp(.9rem,1.1vw,1.05rem);
    letter-spacing:3px;color:var(--terra);
    width:48px;text-align:right;flex-shrink:0;
}
.acc__title{
    font-family:var(--head);font-weight:700;
    font-size:clamp(1.8rem,4vw,3.2rem);
    color:var(--dark);flex:1;
    transition:color .4s var(--ease);
}
.acc__item--open .acc__title{color:var(--terra)}
.acc__icon{
    width:48px;height:48px;position:relative;flex-shrink:0;
    border:1.5px solid rgba(0,0,0,.1);
    transition:all .5s var(--ease);
}
.acc__icon::before,.acc__icon::after{
    content:'';position:absolute;background:var(--mid);
    transition:all .4s var(--ease);
}
.acc__icon::before{width:20px;height:2px;top:50%;left:50%;transform:translate(-50%,-50%)}
.acc__icon::after{width:2px;height:20px;top:50%;left:50%;transform:translate(-50%,-50%)}
.acc__item--open .acc__icon{border-color:var(--terra);background:var(--terra)}
.acc__item--open .acc__icon::before,.acc__item--open .acc__icon::after{background:var(--white)}
.acc__item--open .acc__icon::after{transform:translate(-50%,-50%) rotate(90deg)}

.acc__body{max-height:0;overflow:hidden;transition:max-height .6s var(--ease),padding .6s var(--ease)}
.acc__item--open .acc__body{max-height:1000px;padding:0 clamp(16px,2.5vw,32px) clamp(32px,4.5vw,52px)}
.acc__intro{color:var(--mid);max-width:800px;margin-bottom:36px;font-size:clamp(1.35rem,1.7vw,1.6rem);line-height:1.8}
.acc__cta{
    text-align:center;padding:clamp(40px,6vw,72px);
    border:1px solid rgba(0,0,0,.06);
    transition:all .5s var(--ease);
}
.acc__cta:hover{border-color:var(--terra);box-shadow:0 8px 40px rgba(179,92,47,.06)}
.acc__cta p{max-width:700px;margin:0 auto 40px;font-size:clamp(1.3rem,1.6vw,1.55rem);color:var(--mid);line-height:1.8}

/* =============================================
   CARDS
   ============================================= */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.card{
    padding:clamp(28px,3.5vw,44px);
    border:1px solid rgba(0,0,0,.06);
    transition:all .5s var(--ease);
}
.card:hover{border-color:var(--terra);transform:translateY(-4px);box-shadow:0 16px 48px rgba(179,92,47,.08)}
.card h4{
    font-family:var(--head);font-weight:700;font-size:clamp(1.5rem,2vw,1.9rem);
    color:var(--dark);margin-bottom:18px;
    padding-left:24px;border-left:4px solid var(--terra);
    transition:padding-left .4s var(--ease);
}
.card:hover h4{padding-left:30px}
.card p{font-size:clamp(1.2rem,1.45vw,1.4rem);color:var(--grey);margin:0;line-height:1.85}

/* =============================================
   CAROUSEL
   ============================================= */
.carousel{max-width:1200px;margin:0 auto}
.carousel__main{position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.06)}
.carousel__stage{
    position:relative;
    aspect-ratio:16/10;
    background:var(--dark);
    overflow:hidden;
}
.carousel__stage picture,.carousel__stage>.carousel__img{position:absolute;inset:0;width:100%;height:100%}
.carousel__img{
    width:100%;height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity .8s var(--ease),transform .8s var(--ease);
    transform:scale(1.04);
}
.carousel__img--active{opacity:1;transform:scale(1)}
.carousel__caption{
    position:absolute;bottom:0;left:0;right:0;
    padding:24px 32px;
    font-family:var(--body);font-weight:700;font-size:clamp(1.1rem,1.4vw,1.3rem);
    color:var(--white);letter-spacing:.5px;
    background:linear-gradient(transparent,rgba(26,24,22,.65));
    z-index:2;
}
.carousel__arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    z-index:3;
    width:56px;height:56px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.85);
    backdrop-filter:blur(8px);
    border:none;cursor:pointer;
    font-size:2rem;line-height:1;color:var(--dark);
    transition:all .4s var(--ease);
}
.carousel__arrow:hover{background:var(--terra);color:var(--white);transform:translateY(-50%) scale(1.08)}
.carousel__arrow--left{left:20px}
.carousel__arrow--right{right:20px}

/* ---- THUMBNAILS ---- */
.carousel__thumbs{
    position:relative;
    margin-top:16px;
    overflow:hidden;
}
.carousel__track{
    display:flex;
    gap:12px;
    transition:transform .5s var(--ease);
}
.carousel__thumb{
    flex-shrink:0;
    width:calc((100% - 48px) / 5);
    aspect-ratio:4/3;
    border:2px solid transparent;
    cursor:pointer;
    overflow:hidden;
    padding:0;background:none;
    opacity:.5;
    transition:all .4s var(--ease);
}
.carousel__thumb img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform .4s var(--ease);
}
.carousel__thumb:hover{opacity:.8}
.carousel__thumb:hover img{transform:scale(1.08)}
.carousel__thumb--active{
    opacity:1;
    border-color:var(--terra);
    box-shadow:0 4px 20px rgba(179,92,47,.2);
}
.carousel__thumb--active img{transform:scale(1.04)}

/* =============================================
   CONTACT
   ============================================= */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(56px,8vw,100px);align-items:start}
.contact__items{display:flex;flex-direction:column;gap:20px;margin-top:40px}
.citem{
    display:flex;align-items:center;gap:24px;
    padding:24px 28px;
    border:1px solid rgba(0,0,0,.06);
    transition:all .5s var(--ease);
    font-size:clamp(1.25rem,1.45vw,1.4rem);color:var(--dark);
}
a.citem:hover{border-color:var(--terra);transform:translateX(8px);box-shadow:0 8px 32px rgba(179,92,47,.08)}
.citem__icon{
    width:60px;height:60px;display:flex;align-items:center;justify-content:center;
    background:var(--sand);flex-shrink:0;color:var(--terra);
    transition:all .4s var(--ease);
}
.citem__icon svg{width:24px;height:24px}
a.citem:hover .citem__icon{background:var(--terra);color:var(--white)}

.contact__form{
    padding:clamp(36px,5vw,60px);
    border:1px solid rgba(0,0,0,.06);
    transition:border-color .5s var(--ease);
}
.contact__form:focus-within{border-color:var(--terra)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.contact__form input,.contact__form select,.contact__form textarea{
    width:100%;padding:20px 24px;
    font-family:var(--body);font-size:1.2rem;color:var(--dark);
    background:var(--bg);border:1px solid rgba(0,0,0,.06);
    border-radius:0;outline:none;
    transition:all .4s var(--ease);
}
.contact__form input:focus,.contact__form select:focus,.contact__form textarea:focus{
    border-color:var(--terra);box-shadow:0 0 0 4px rgba(179,92,47,.06);
}
.contact__form textarea{resize:vertical;min-height:150px;margin-bottom:18px}
.contact__form select{cursor:pointer;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23544F47' stroke-width='1.5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 24px center;padding-right:48px;background-color:var(--bg)}
.contact__form input::placeholder,.contact__form textarea::placeholder{color:var(--grey);font-weight:500}

.flash{padding:22px 28px;margin-bottom:22px;font-size:1.15rem;border-radius:0;line-height:1.6;font-weight:500;will-change:opacity,transform}
.flash--ok{background:var(--sand);color:var(--terra-d);border-left:4px solid var(--terra)}
.flash--err{background:#fdf2f2;color:#8B2020;border-left:4px solid #c0392b}
.btn--loading{opacity:.7;pointer-events:none}
.grecaptcha-badge{visibility:hidden!important}
.recaptcha-notice{font-size:.85rem;color:var(--grey);margin-top:14px;line-height:1.5}
.recaptcha-notice a{text-decoration:underline}

/* =============================================
   FOOTER
   ============================================= */
.ft{background:var(--dark);padding:clamp(100px,12vw,160px) 0 0;overflow:hidden}
.ft__top{
    display:grid;grid-template-columns:1.5fr 1fr 1fr;
    gap:clamp(48px,7vw,100px);
    padding-bottom:clamp(60px,8vw,100px);
    border-bottom:1px solid rgba(255,255,255,.06);
}
.ft__logo{height:clamp(100px,14vw,180px);width:auto;margin-bottom:36px;opacity:.6;transition:opacity .4s}
.ft__logo:hover{opacity:.9}
.ft__brand p{font-size:clamp(1.4rem,1.8vw,1.8rem);color:rgba(255,255,255,.55);line-height:1.7}
.ft__heading{
    font-family:var(--accent);font-size:clamp(.9rem,1.2vw,1.1rem);
    letter-spacing:5px;text-transform:uppercase;font-weight:700;
    color:var(--terra-l);margin-bottom:32px;
}
.ft__links{display:flex;flex-direction:column;gap:20px}
.ft__links a,.ft__links span{font-size:clamp(1.4rem,1.8vw,1.7rem);color:rgba(255,255,255,.6);transition:all .3s var(--ease)}
.ft__links a:hover{color:var(--terra-l);transform:translateX(4px)}
.ft__bot{padding:clamp(32px,4vw,48px) 0;text-align:center;font-size:clamp(1.15rem,1.3vw,1.3rem);color:rgba(255,255,255,.4);letter-spacing:.5px}

/* =============================================
   ANIMATIONS
   ============================================= */
.reveal{
    opacity:0;transform:translateY(50px);
    transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.reveal--visible{opacity:1;transform:translateY(0)}
.reveal-left{
    opacity:0;transform:translateX(-50px);
    transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.reveal-left--visible{opacity:1;transform:translateX(0)}
.reveal-right{
    opacity:0;transform:translateX(50px);
    transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.reveal-right--visible{opacity:1;transform:translateX(0)}
.reveal-scale{
    opacity:0;transform:scale(.9);
    transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.reveal-scale--visible{opacity:1;transform:scale(1)}

.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}
.delay-4{transition-delay:.4s}
.delay-5{transition-delay:.5s}

/* =============================================
   RESPONSIVE
   ============================================= */
@media(max-width:1200px){
    .hdr__inner{gap:6px;padding:0 12px}
}

@media(max-width:1024px){
    .hero__grid{grid-template-columns:1fr}
    .hero__side{flex-direction:row;flex-wrap:wrap;gap:16px}
    .hero__card{flex:1;min-width:200px}
    .pres{grid-template-columns:1fr}
    .sec__cols{grid-template-columns:1fr}
    .contact{grid-template-columns:1fr}
    .band__row{grid-template-columns:repeat(2,1fr)}
    .band__item+.band__item{border-left:none}
    .band__item:nth-child(odd){border-right:1px solid rgba(255,255,255,.08)}
    .band__item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
    .ft__top{grid-template-columns:1fr 1fr}
    .carousel__thumb{width:calc((100% - 36px) / 4)}
}

@media(max-width:768px){
    body{font-size:18px}
    .carousel__arrow{width:40px;height:40px;font-size:1.5rem}
    .carousel__arrow--left{left:10px}
    .carousel__arrow--right{right:10px}
    .carousel__thumb{width:calc((100% - 24px) / 3)}
    .carousel__thumbs{margin-top:10px}
    .carousel__track{gap:8px}
    .hdr__nav,.hdr__right{display:none}
    .hdr__nav .hdr__tel,.hdr__nav .hdr__cta{display:none}
    .hdr__burger{display:block}
    .hdr__inner{justify-content:space-between;height:76px}
    .hdr__logo img{height:clamp(140px,38vw,200px)}
    .hdr__logo{margin-top:clamp(40px,8vw,70px);margin-right:0}

    .hdr__nav.hdr__nav--open{
        display:flex;flex-direction:column;
        position:fixed;top:0;right:0;
        width:80%;max-width:360px;height:100vh;height:100dvh;
        background:var(--white);z-index:150;
        padding:80px 32px 32px;gap:0;
        box-shadow:-8px 0 40px rgba(0,0,0,.08);
        animation:slideIn .4s var(--ease);
    }
    .nav-overlay{
        display:none;position:fixed;inset:0;
        background:rgba(0,0,0,.3);z-index:99;
        pointer-events:none;
        animation:fadeIn .3s var(--ease);
    }
    .nav-overlay--open{display:block}
    @keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}
    .hdr__nav--open .hdr__link{
        padding:22px 0;font-size:1.1rem;
        letter-spacing:2.5px;border-bottom:1px solid rgba(0,0,0,.04);
        color:var(--dark);
    }
    .hdr__nav--open .hdr__nav-foot{
        display:flex;flex-direction:column;gap:18px;
        margin-top:auto;padding-top:32px;
    }
    .hdr__nav-foot .hdr__nav-tel{
        text-align:center;font-weight:700;font-size:1.15rem;
        color:var(--dark);padding:20px;border:1px solid rgba(0,0,0,.06);
    }
    .hdr__nav-foot .btn{text-align:center;padding:20px}

    .hero{padding:clamp(80px,18vw,140px) 0 clamp(60px,10vw,80px)}
    .hero__title{font-size:clamp(2.8rem,10vw,4.5rem)}
    .hero__grid{grid-template-columns:1fr}
    .hero__side{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .hero__card{flex-direction:column;text-align:center;gap:10px;padding:20px}
    .hero__btns{flex-direction:column}
    .hero__btns .btn{width:100%;max-width:400px}

    h2{font-size:clamp(2.2rem,7vw,3.5rem)}
    .acc__title{font-size:clamp(1.5rem,5vw,2.2rem)}
    .band__num{font-size:clamp(2.4rem,8vw,3.5rem)}

    .acc__head{padding:clamp(20px,3.5vw,32px) clamp(12px,2vw,20px);gap:clamp(12px,3vw,24px)}
    .acc__num{width:auto}
    .acc__icon{width:36px;height:36px}
    .acc__icon::before{width:14px}
    .acc__icon::after{height:14px}
    .acc__item--open .acc__body{max-height:2000px;padding:0 clamp(12px,2vw,20px) clamp(20px,3vw,32px)}
    .acc__intro{font-size:1.15rem;margin-bottom:20px}
    .acc__cta{padding:clamp(20px,4vw,32px)}
    .acc__cta p{font-size:1.15rem}
    .acc__cta .btn{padding:18px 24px;font-size:.95rem;letter-spacing:1.5px;width:100%;box-sizing:border-box}
    .btn{padding:18px 28px;font-size:1rem;letter-spacing:2px;max-width:100%;box-sizing:border-box}
    .cards{grid-template-columns:1fr;gap:12px}
    .card{padding:clamp(20px,3vw,28px)}
    .card h4{font-size:1.25rem;margin-bottom:10px;padding-left:16px;border-left-width:3px}
    .card p{font-size:1.1rem;line-height:1.7}

    .contact{grid-template-columns:1fr;gap:32px}
    .contact__form{padding:clamp(20px,4vw,32px);border:1px solid rgba(0,0,0,.06)}
    .contact__form input,.contact__form select,.contact__form textarea{padding:16px 16px;font-size:1.05rem}
    .contact__form select{background-position:right 16px center;padding-right:40px}
    .citem{padding:16px 16px;gap:16px;font-size:1.1rem}
    .citem__icon{width:44px;height:44px}
    .citem__icon svg{width:20px;height:20px}
    .form-row{grid-template-columns:1fr}

    .sec{padding:clamp(48px,10vw,80px) 0;overflow:hidden}
    .sec__head{margin-bottom:clamp(28px,5vw,44px)}
    .container{padding:0 clamp(16px,4vw,40px)}

    .ft{padding:clamp(60px,10vw,100px) 0 0}
    .ft__top{grid-template-columns:1fr;text-align:center;gap:32px}
    .ft__logo{margin:0 auto 16px;height:clamp(80px,22vw,140px)}
    .ft__links{align-items:center}
    .ft__links a,.ft__links span{font-size:1.2rem}
    .ft__heading{margin-bottom:16px}
    .ft__bot{font-size:1rem;padding:24px 0}
}

@media(max-width:480px){
    .hero__side{grid-template-columns:1fr}
    .hero__card{flex-direction:row;text-align:left}
    .hero__title{font-size:2.4rem}
    .band__row{grid-template-columns:1fr 1fr}
}
