/* =========================
   FILE: /sandrinecoiff/assets/css/style.css
   ========================= */
:root{--bg:#ffffff;--text:#111318;--muted:#5b6472;--card:#ffffff;--border:#e9edf3;--shadow:0 18px 50px rgba(17,19,24,.08);--salmon:#ff7a8a;--salmon2:#ff9aa6;--radius:18px;--radius2:26px;--container:1120px;--focus:0 0 0 4px rgba(255,122,138,.22);}
*{box-sizing:border-box;}
html,body{height:100%;}
body{margin:0;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#fff 0%,#fff 35%,#fff7f8 100%);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 18px;}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip:focus{left:14px;top:14px;width:auto;height:auto;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:999;}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.78);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid rgba(233,237,243,.75);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-logo{width:42px;height:42px;border-radius:14px;object-fit:cover;border:1px solid var(--border);background:#fff;}
.brand-name{font-weight:700;letter-spacing:.2px;}
.nav{display:flex;align-items:center;gap:18px;}
.nav a{font-weight:500;color:#1a1d24;opacity:.92;padding:10px 10px;border-radius:12px;transition:transform .15s ease,background .15s ease,opacity .15s ease;}
.nav a:hover{background:rgba(255,122,138,.10);transform:translateY(-1px);opacity:1;}
.nav a.is-active, .nav a[aria-current="page"]{background:rgba(255,122,138,.14);opacity:1;}
.nav .cta{background:linear-gradient(135deg,var(--salmon) 0%,var(--salmon2) 100%);color:#fff;padding:11px 14px;border-radius:14px;box-shadow:0 14px 30px rgba(255,122,138,.25);}
.nav .cta:hover{background:linear-gradient(135deg,var(--salmon2) 0%,var(--salmon) 100%);}

.burger{display:none;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border);border-radius:14px;background:#fff;width:44px;height:44px;box-shadow:0 10px 25px rgba(17,19,24,.06);cursor:pointer;}
.burger span{display:block;width:20px;height:2px;background:#1a1d24;border-radius:2px;transition:transform .2s ease,opacity .2s ease;}

.hero{padding:48px 0 16px;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch;}
.hero-card{background:radial-gradient(1200px 600px at -10% -10%,rgba(255,122,138,.20) 0%,rgba(255,122,138,0) 55%),#fff;border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);padding:28px;overflow:hidden;position:relative;}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#1a1d24;background:rgba(255,122,138,.12);border:1px solid rgba(255,122,138,.22);padding:7px 10px;border-radius:999px;}
.h1{font-size:44px;line-height:1.08;margin:14px 0 10px;}
.lead{font-size:16.5px;color:var(--muted);max-width:60ch;margin:0 0 18px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;}
.btn:focus{outline:none;box-shadow:var(--focus);}
.btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(17,19,24,.08);}
.btn-primary{border:none;background:linear-gradient(135deg,var(--salmon) 0%,var(--salmon2) 100%);color:#fff;box-shadow:0 14px 30px rgba(255,122,138,.25);}
.btn-soft{background:rgba(255,122,138,.10);border:1px solid rgba(255,122,138,.22);}
.hero-photo{border-radius:var(--radius2);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;background:#fff;position:relative;}
.hero-photo img{width:100%;height:100%;object-fit:cover;min-height:360px;}
.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.badge{font-size:12.5px;color:#1a1d24;background:#fff;border:1px solid var(--border);padding:8px 10px;border-radius:999px;box-shadow:0 10px 24px rgba(17,19,24,.05);}

.section{padding:34px 0;}
.section-title{font-size:28px;line-height:1.15;margin:0 0 10px;}
.section-sub{margin:0 0 18px;color:var(--muted);max-width:70ch;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 14px 35px rgba(17,19,24,.06);padding:18px;display:flex;flex-direction:column;gap:10px;}
.card h3{margin:0;font-size:17px;}
.card p{margin:0;color:var(--muted);}
.card .more{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:#1a1d24;font-weight:600;}
.card .more span{display:inline-block;transition:transform .15s ease;}
.card:hover .more span{transform:translateX(3px);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
.portrait{border-radius:var(--radius2);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;background:#fff;}
.portrait img{width:100%;height:100%;object-fit:cover;min-height:340px;}
.block{background:#fff;border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);padding:22px;}
.block p{margin:0;color:var(--muted);}

.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.quote{background:#fff;border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);padding:18px;}
.quote p{margin:0 0 10px;color:#1a1d24;}
.quote .by{color:var(--muted);font-weight:600;font-size:13px;}

.cta-band{background:linear-gradient(135deg,rgba(255,122,138,.16) 0%,rgba(255,154,166,.10) 100%);border:1px solid rgba(255,122,138,.22);border-radius:var(--radius2);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 14px 35px rgba(255,122,138,.10);}
.cta-band strong{font-size:16px;}
.cta-band p{margin:6px 0 0;color:var(--muted);}

.page-head{padding:28px 0 10px;}
.breadcrumb{color:var(--muted);font-size:13px;margin:0 0 8px;}
.page-title{font-size:34px;line-height:1.1;margin:0 0 10px;}
.page-lead{margin:0;color:var(--muted);max-width:80ch;}

.form{background:#fff;border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);padding:18px;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
label{font-weight:600;font-size:13px;color:#1a1d24;}
input,textarea{border:1px solid var(--border);border-radius:14px;padding:12px 12px;font-family:inherit;font-size:14px;outline:none;background:#fff;}
textarea{min-height:140px;resize:vertical;}
input:focus,textarea:focus{box-shadow:var(--focus);border-color:rgba(255,122,138,.55);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.alert{padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:#fff;}
.alert.ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08);}
.alert.err{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08);}

.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.g-item{border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#fff;box-shadow:0 12px 28px rgba(17,19,24,.06);cursor:pointer;position:relative;}
.g-item img{width:100%;height:180px;object-fit:cover;transition:transform .25s ease;}
.g-item:hover img{transform:scale(1.04);}
.g-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.12) 100%);opacity:0;transition:opacity .2s ease;}
.g-item:hover::after{opacity:1;}
.lightbox{position:fixed;inset:0;background:rgba(17,19,24,.82);display:none;align-items:center;justify-content:center;padding:18px;z-index:100;}
.lightbox.is-open{display:flex;}
.lightbox-inner{max-width:1100px;width:100%;position:relative;}
.lightbox-img{width:100%;max-height:82vh;object-fit:contain;border-radius:18px;box-shadow:0 26px 70px rgba(0,0,0,.35);background:#fff;}
.lightbox-close{position:absolute;top:-10px;right:-10px;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;font-weight:800;cursor:pointer;backdrop-filter:blur(10px);}
.lightbox-close:focus{outline:none;box-shadow:0 0 0 4px rgba(255,122,138,.25);}

.site-footer{margin-top:34px;border-top:1px solid rgba(233,237,243,.75);background:#fff;}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;padding:26px 0;}
.footer-title{font-weight:800;margin-bottom:10px;}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.footer-links a{color:var(--muted);font-weight:500;}
.footer-links a:hover{color:#1a1d24;}
.footer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.footer-bottom{border-top:1px solid var(--border);padding:14px 0;color:var(--muted);font-size:13px;}

.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.post{background:#fff;border:1px solid var(--border);border-radius:var(--radius2);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:10px;}
.post .meta{font-size:12.5px;color:var(--muted);}
.post h3{margin:0;font-size:17px;line-height:1.2;}
.post p{margin:0;color:var(--muted);}
.post a.more{margin-top:auto;font-weight:700;display:inline-flex;gap:8px;align-items:center;}
.post a.more span{transition:transform .15s ease;}
.post:hover a.more span{transform:translateX(3px);}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:16px;}
  .h1{font-size:38px;}
  .grid-3{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;}
  .quote-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .blog-list{grid-template-columns:1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .burger{display:flex;}
  .nav{position:fixed;left:14px;right:14px;top:76px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;align-items:stretch;gap:6px;}
  .nav.is-open{display:flex;}
  .nav a{padding:12px 12px;}
  .nav .cta{width:100%;text-align:center;justify-content:center;}
  .form-row{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr;}
}
