:root{
  --ink:#3c3550;
  --muted:#776f86;
  --cream:#fffaf6;
  --white:#ffffff;
  --pink:#f6c9d8;
  --pink-strong:#eaa9c0;
  --lilac:#ddd3f6;
  --blue:#cfe8f6;
  --mint:#d8efe3;
  --peach:#f8ddc8;
  --yellow:#fff0b8;
  --line:#eee4ed;
  --shadow:0 14px 36px rgba(87,67,101,.11);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Nunito",system-ui,sans-serif;line-height:1.55;background-image:radial-gradient(circle at 10% 8%,rgba(246,201,216,.24),transparent 24%),radial-gradient(circle at 92% 18%,rgba(207,232,246,.25),transparent 22%)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"DM Serif Display",serif;line-height:1.05;margin:.2em 0}
h1{font-size:clamp(2.5rem,5vw,4.9rem);font-weight:400}
h2{font-size:clamp(2rem,3.6vw,3.2rem);font-weight:400}
h3{font-size:1.55rem;font-weight:400}
p{margin:.6rem 0}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,60px);background:rgba(255,250,246,.88);backdrop-filter:blur(14px);border-bottom:1px solid rgba(100,80,110,.08)}
.brand{display:flex;align-items:center;gap:9px;font-family:"DM Serif Display",serif;font-size:1.35rem}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--lilac));font-size:1.2rem}
.nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.94rem}.nav>a:not(.btn):hover{color:#b86b92}
.menu-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:linear-gradient(135deg,#da86aa,#a995da);color:white;padding:12px 20px;border-radius:999px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(184,107,146,.2);transition:.2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(184,107,146,.26)}
.btn-small{padding:9px 16px}.btn-outline{background:white;color:var(--ink);border:1px solid var(--line);box-shadow:none}.full{width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:900;color:#a26788;background:rgba(246,201,216,.46);padding:7px 11px;border-radius:999px}
.eyebrow:before{content:"✦";font-size:.7rem}
.hero{min-height:calc(100vh - 60px);display:grid;grid-template-columns:1fr .86fr;gap:5vw;align-items:center;padding:38px clamp(20px,6vw,90px)}
.hero-copy{max-width:690px}.hero-copy p{font-size:1.05rem;max-width:590px;color:var(--muted)}
.hero-actions{display:flex;gap:16px;align-items:center;margin:23px 0 18px}.text-link{font-weight:800;color:#9d6283;border-bottom:1px dashed #c897b1}
.trust-row{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:.82rem}.trust-row span{background:white;border:1px solid var(--line);padding:7px 10px;border-radius:999px}
.hero-art{position:relative;max-width:520px;justify-self:end}.hero-art:before{content:"";position:absolute;inset:-14px 18px 22px -14px;border-radius:40px;background:linear-gradient(145deg,var(--blue),var(--pink),var(--lilac));z-index:-1;transform:rotate(-2deg)}
.hero-art img{width:100%;max-height:66vh;object-fit:cover;object-position:top;border-radius:34px;box-shadow:var(--shadow)}
.art-caption{position:absolute;right:-8px;bottom:14px;background:rgba(255,255,255,.94);padding:10px 14px;border-radius:15px;box-shadow:var(--shadow);font-size:.78rem;font-weight:800}
.section{padding:58px clamp(20px,6vw,90px)}
.soft{background:linear-gradient(180deg,rgba(221,211,246,.38),rgba(246,201,216,.22))}
.section-heading{max-width:650px;margin-bottom:27px}.section-heading h2{margin-top:10px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.steps article{padding:20px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:0 8px 24px rgba(87,67,101,.06);min-height:165px}.steps article:nth-child(1){background:#fff4f8}.steps article:nth-child(2){background:#f4f1ff}.steps article:nth-child(3){background:#eef9f3}.steps article:nth-child(4){background:#fff8e5}.steps article span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:white;font-size:.75rem;font-weight:900;color:#9a6b89}.steps article h3{margin-top:12px}.steps article p{font-size:.9rem;color:var(--muted)}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:18px}
.price-card{background:white;padding:28px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(87,67,101,.06)}
.price-card.featured{background:linear-gradient(145deg,#fff,#f8efff);border:2px solid #d9c5ef;transform:none}.badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#a26788}.price{font-family:"DM Serif Display",serif;font-size:3.5rem}.price-card p{color:var(--muted);font-size:.92rem}.featured .btn{background:linear-gradient(135deg,#da86aa,#a995da)}
.center-note{text-align:center;color:var(--muted);margin-top:22px;font-size:.88rem}
.gallery{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:16px}.gallery img,.gallery-placeholder{height:320px;border-radius:22px}.gallery img{object-fit:cover;object-position:top;box-shadow:var(--shadow)}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;border:1px dashed #ccb9d7}.gallery-placeholder:nth-child(2){background:#f3efff}.gallery-placeholder:nth-child(3){background:#fff3f7}.gallery-placeholder span{font-family:"DM Serif Display",serif;font-size:1.8rem}.gallery-placeholder p{color:var(--muted);font-size:.9rem}
.cta{margin:25px clamp(20px,6vw,90px) 60px;padding:34px 38px;background:linear-gradient(120deg,#f8d7e3,#ddd3f6,#d5edf7);color:var(--ink);border-radius:28px;display:flex;justify-content:space-between;align-items:center;gap:26px;border:1px solid rgba(255,255,255,.7)}.cta h2{max-width:720px;font-size:clamp(1.9rem,3.3vw,3rem)}.cta .btn{white-space:nowrap}
.footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:32px clamp(20px,6vw,90px);border-top:1px solid var(--line);font-size:.9rem}.footer div:last-child{display:flex;gap:20px;justify-content:flex-end;flex-wrap:wrap}
.order-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:4vw;padding:45px clamp(20px,6vw,90px)}.order-intro{position:sticky;top:95px;align-self:start}.order-intro h1{font-size:clamp(2.6rem,4.5vw,4.5rem)}.order-intro p{color:var(--muted)}.order-note{margin-top:22px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#fff3f8,#f2efff);border:1px solid var(--line)}
.order-form{background:white;padding:clamp(22px,3.5vw,38px);border-radius:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8)}.order-form h2{font-size:1.75rem;margin-top:28px}.order-form h2:first-of-type{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:flex;flex-direction:column;gap:7px;font-weight:800;margin-bottom:14px;font-size:.91rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px 13px;background:#fffafd;font:inherit;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#c9a6d8;box-shadow:0 0 0 3px rgba(221,211,246,.42)}textarea{resize:vertical}
.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 18px}.choice-card{margin:0;cursor:pointer}.choice-card input{position:absolute;opacity:0}.choice-card span{display:grid;gap:3px;padding:17px;border:2px solid var(--line);border-radius:17px;background:#fff}.choice-card input:checked+span{border-color:#c48db0;background:linear-gradient(135deg,#fff4f8,#f4f0ff)}.choice-card strong{font-family:"DM Serif Display",serif;font-size:1.75rem}.choice-card b{font-size:1.15rem;color:#a65f85}.choice-card small{color:var(--muted)}.check-label{flex-direction:row;align-items:center;margin-top:28px}.check-label input{width:auto}.summary-box{margin-top:22px;padding:18px;background:linear-gradient(135deg,#fff4f8,#f3efff);border-radius:17px}.summary-box div{display:flex;justify-content:space-between;padding:5px 0}.summary-box .total{border-top:1px solid rgba(120,100,130,.16);margin-top:8px;padding-top:13px;font-size:1.08rem}.legal-small{font-size:.75rem;color:var(--muted)}
.alert{padding:13px 15px;border-radius:13px;background:#f7f1ff;margin-bottom:17px}.alert.error{background:#fde8ef;color:#8c3452}
.confirmation{min-height:70vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.confirmation h1{max-width:800px}.confirmation p{max-width:620px}.confirmation-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--lilac));font-size:1.7rem;margin-bottom:18px}
.legal-page{max-width:900px;margin:auto;padding:55px 20px}.legal-page h1{font-size:3.4rem}.legal-page h2{font-size:1.7rem;margin-top:30px}
.admin-body{background:#f8f3fa}.admin-login{width:min(460px,calc(100% - 32px));margin:7vh auto;background:white;padding:34px;border-radius:24px;box-shadow:var(--shadow)}.admin-login h1{font-size:2.7rem}.admin-top{display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;background:linear-gradient(120deg,#6b5977,#9f7193);color:white}.admin-top div{display:flex;flex-direction:column}.admin-main{padding:30px 5vw}.admin-main h1{font-size:3.2rem}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:17px}.order-card{background:white;border-radius:20px;padding:21px;box-shadow:0 10px 28px rgba(0,0,0,.05)}.order-card-head{display:flex;justify-content:space-between;gap:18px}.order-card h2{font-size:1.45rem}.order-meta{font-size:.87rem;color:#696071}.order-card blockquote{margin:14px 0;padding:11px 14px;border-left:3px solid #c38cab;background:#fff4f8}.image-link{display:inline-block;font-weight:800;text-decoration:underline;margin-bottom:13px}.status-form{display:flex;gap:9px;align-items:center}.status-form select{margin:0}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eee8f2;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.status-expediee,.status-terminee{background:#dff1e7}.status-annulee{background:#f7dfe7}
@media(max-width:900px){.hero,.order-layout{grid-template-columns:1fr}.hero{min-height:auto}.hero-art{max-width:520px;justify-self:start}.steps{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img{grid-column:1/-1}.order-intro{position:static}.cta{flex-direction:column;align-items:flex-start}.footer{grid-template-columns:1fr}.footer div:last-child{justify-content:flex-start}}
@media(max-width:640px){.nav{display:none;position:absolute;top:59px;left:0;right:0;background:var(--cream);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero{padding-top:30px}.hero-actions{align-items:flex-start;flex-direction:column}.steps,.pricing-grid,.gallery,.form-grid,.choice-cards{grid-template-columns:1fr}.gallery img{grid-column:auto}.gallery img,.gallery-placeholder{height:290px}.art-caption{right:7px}.cta{padding:27px}.order-form{padding:21px}.footer div:last-child{flex-direction:column}.status-form{flex-direction:column;align-items:stretch}.section{padding:44px 18px}}

/* Accueil compact, doux et moderne */
.hero-compact{min-height:auto;padding-top:34px;padding-bottom:34px;grid-template-columns:.95fr 1.05fr;gap:4vw}
.hero-compact h1{font-size:clamp(2.35rem,4.5vw,4.35rem);max-width:680px}
.hero-compact .hero-copy p{max-width:560px}
.hero-collage{position:relative;min-height:470px;max-width:620px;width:100%;justify-self:end}
.hero-collage:before{content:"";position:absolute;inset:25px 30px 18px 55px;background:linear-gradient(145deg,#f8d8e4,#d9d0f3,#d7edf6);border-radius:38px;transform:rotate(2deg)}
.hero-collage img{position:absolute;object-fit:cover;box-shadow:var(--shadow);border:7px solid rgba(255,255,255,.92)}
.collage-main{right:8%;top:2%;width:60%;height:79%;border-radius:28px;object-position:top}
.collage-small{width:38%;height:42%;border-radius:22px}
.collage-one{left:0;bottom:1%;transform:rotate(-4deg)}
.collage-two{right:0;bottom:0;transform:rotate(4deg)}
.collage-note{position:absolute;left:11%;top:8%;background:white;padding:9px 13px;border-radius:999px;font-weight:900;font-size:.78rem;box-shadow:var(--shadow);transform:rotate(-3deg)}
.mini-strip{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:11px 20px;background:rgba(255,255,255,.72);border-block:1px solid var(--line);font-size:.84rem;font-weight:800;color:var(--muted)}
.mini-strip span{padding:5px 11px}
.compact-section{padding-top:44px;padding-bottom:44px}
.split-heading{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}
.split-heading>div{max-width:620px}.split-heading>p{max-width:430px;color:var(--muted);font-size:.92rem}
.masonry-gallery{display:grid;grid-template-columns:1.05fr .95fr .95fr;grid-auto-rows:190px;gap:15px}
.gallery-card{position:relative;margin:0;border-radius:22px;overflow:hidden;background:white;box-shadow:0 10px 28px rgba(87,67,101,.08)}
.gallery-card.tall{grid-row:span 2}.gallery-card.wide{grid-column:span 2}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.gallery-card:hover img{transform:scale(1.035)}
.gallery-card figcaption{position:absolute;left:11px;right:11px;bottom:11px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:rgba(255,255,255,.91);backdrop-filter:blur(10px);border-radius:14px;padding:9px 12px;font-size:.76rem}
.gallery-card figcaption strong{font-size:.86rem}.gallery-card figcaption span{color:var(--muted);text-align:right}
.steps-compact article{min-height:145px;padding:18px}.steps-compact article h3{font-size:1.35rem}.steps-compact article p{font-size:.86rem}
.pricing-compact{grid-template-columns:repeat(2,minmax(0,430px));gap:16px}.pricing-compact .price-card{padding:22px 24px}.price-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.price-head h3{font-size:2.2rem}.pricing-compact .price{font-size:2.8rem}.pricing-compact .btn{margin-top:7px;width:100%}
.cta-compact{margin-top:10px;margin-bottom:45px;padding:28px 32px}.cta-compact h2{font-size:clamp(1.7rem,3vw,2.55rem)}
@media(max-width:900px){.hero-collage{justify-self:start;max-width:620px}.masonry-gallery{grid-template-columns:1fr 1fr}.gallery-card.wide{grid-column:span 1}.split-heading{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:640px){.hero-collage{min-height:385px}.collage-main{width:68%;height:75%;right:4%}.collage-small{width:42%;height:38%}.collage-note{left:4%;top:4%}.masonry-gallery{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-card.tall{grid-row:span 1}.gallery-card figcaption{align-items:flex-start;flex-direction:column;gap:2px}.gallery-card figcaption span{text-align:left}.compact-section{padding-top:38px;padding-bottom:38px}.price-head{align-items:center}.mini-strip{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.mini-strip span{white-space:nowrap}}


/* Interactions félines */
@media (pointer: fine) {
  html, body, a, button, input, select, textarea, label, .choice-card {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg fill='%238b6fc9' stroke='%23ffffff' stroke-width='1.4'%3E%3Cellipse cx='16' cy='20' rx='7' ry='6'/%3E%3Cellipse cx='8' cy='11' rx='3' ry='4' transform='rotate(-25 8 11)'/%3E%3Cellipse cx='14' cy='7' rx='3' ry='4' transform='rotate(-8 14 7)'/%3E%3Cellipse cx='21' cy='8' rx='3' ry='4' transform='rotate(12 21 8)'/%3E%3Cellipse cx='26' cy='13' rx='3' ry='4' transform='rotate(28 26 13)'/%3E%3C/g%3E%3C/svg%3E") 16 16, auto;
  }
}

.paw-float-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 3;
}

.floating-paw {
  position: absolute;
  opacity: .16;
  font-size: clamp(18px, 2vw, 30px);
  animation: pawDrift var(--paw-duration, 12s) ease-in-out infinite alternate;
  filter: drop-shadow(0 4px 8px rgba(105, 82, 150, .12));
}

@keyframes pawDrift {
  0% { transform: translate3d(0, 10px, 0) rotate(var(--paw-rotate, -12deg)); }
  50% { transform: translate3d(12px, -14px, 0) rotate(calc(var(--paw-rotate, -12deg) + 8deg)); }
  100% { transform: translate3d(-8px, 8px, 0) rotate(calc(var(--paw-rotate, -12deg) - 5deg)); }
}

.paw-trail {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.35) rotate(var(--trail-rotate, 0deg));
  opacity: .58;
  font-size: 18px;
  animation: pawFade .75s ease-out forwards;
}

@keyframes pawFade {
  0% { opacity: .58; transform: translate(-50%, -50%) scale(.35) rotate(var(--trail-rotate, 0deg)); }
  45% { opacity: .42; transform: translate(-50%, -65%) scale(.9) rotate(var(--trail-rotate, 0deg)); }
  100% { opacity: 0; transform: translate(-50%, -105%) scale(1.1) rotate(var(--trail-rotate, 0deg)); }
}

.gallery-card, .process-card, .price-card, .choice-card, .order-note, .summary-box {
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.gallery-card:hover, .process-card:hover, .price-card:hover {
  transform: translateY(-6px) rotate(.25deg);
  box-shadow: 0 18px 38px rgba(105, 82, 150, .16);
}

.choice-card:hover, .order-note:hover, .summary-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(105, 82, 150, .12);
}

.btn {
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.btn:hover {
  transform: translateY(-2px) scale(1.02);
  filter: saturate(1.08);
  box-shadow: 0 10px 24px rgba(105, 82, 150, .22);
}

.btn::after {
  content: '🐾';
  position: absolute;
  right: -28px;
  opacity: 0;
  transition: right .25s ease, opacity .25s ease;
}

.btn:hover::after { right: 12px; opacity: .75; }

@media (prefers-reduced-motion: reduce) {
  .floating-paw, .paw-trail { animation: none !important; display: none; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
\n\n/* Galerie adaptée aux photos verticales et horizontales : aucune image n'est rognée. */
.masonry-gallery{display:columns;columns:3 260px;column-gap:15px;grid-template-columns:none;grid-auto-rows:unset}
.gallery-card,.gallery-card.tall,.gallery-card.wide{display:inline-block;width:100%;margin:0 0 15px;break-inside:avoid;grid-row:auto;grid-column:auto;background:#fff;padding:8px}
.gallery-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:16px}
.gallery-card figcaption{position:static;margin-top:7px;background:linear-gradient(135deg,#fff7fb,#f6f2ff);backdrop-filter:none}
.required-note{font-size:.82rem;color:var(--muted);margin:-4px 0 16px}.required-star{display:inline;color:#b56aa3;font-weight:900;margin-left:3px;text-shadow:0 0 10px rgba(181,106,163,.25)}
.optional-label{display:inline;font-weight:600;color:var(--muted);font-size:.72rem;margin-left:5px}
@media(max-width:640px){.masonry-gallery{columns:1}.gallery-card figcaption{flex-direction:row;align-items:center}.gallery-card figcaption span{text-align:right}}

/* Galerie : images entières, sans recadrage */
.gallery-showcase{overflow:hidden}
.art-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.art-gallery-card{margin:0;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:28px;padding:12px;box-shadow:0 14px 38px rgba(87,67,101,.09);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.art-gallery-card:hover{transform:translateY(-6px) rotate(-.25deg);box-shadow:0 22px 46px rgba(87,67,101,.15);border-color:#ddc5e8}
.art-gallery-card:nth-child(even):hover{transform:translateY(-6px) rotate(.25deg)}
.art-image-stage{display:flex;align-items:center;justify-content:center;min-height:390px;padding:12px;background:linear-gradient(145deg,#fff9fc,#f4f1ff);border-radius:20px;overflow:hidden}
.art-image-stage img{width:100%;height:auto;max-height:620px;object-fit:contain;border-radius:15px;transition:transform .35s ease;box-shadow:0 8px 22px rgba(60,53,80,.08)}
.art-gallery-card:hover .art-image-stage img{transform:scale(1.012)}
.art-gallery-card figcaption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 8px 4px}
.art-gallery-card figcaption div{display:flex;flex-direction:column;gap:2px}.art-gallery-card figcaption strong{font-family:"DM Serif Display",serif;font-size:1.25rem}.art-gallery-card figcaption span{font-size:.82rem;color:var(--muted)}
.gallery-paw{display:grid!important;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--lilac));font-size:1rem!important;color:var(--ink)!important;transition:transform .25s ease}.art-gallery-card:hover .gallery-paw{transform:rotate(14deg) scale(1.08)}

/* Nouveau tableau de bord administrateur */
.admin-body{min-height:100vh;background:#fbf8fc;background-image:radial-gradient(circle at 8% 5%,rgba(246,201,216,.3),transparent 23%),radial-gradient(circle at 95% 12%,rgba(207,232,246,.34),transparent 25%)}
.admin-top-modern{position:sticky;top:0;z-index:30;padding:13px clamp(18px,4vw,58px);background:rgba(66,52,78,.93);backdrop-filter:blur(16px);box-shadow:0 5px 24px rgba(45,33,54,.12)}
.admin-brand-block{display:flex!important;flex-direction:row!important;align-items:center;gap:11px}.admin-brand-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--lilac));color:var(--ink);font-size:1.1rem}.admin-brand-block div{display:flex;flex-direction:column}.admin-brand-block strong{font-family:"DM Serif Display",serif;font-size:1.25rem}.admin-brand-block span{font-size:.75rem;opacity:.78}
.admin-top-actions{display:flex;align-items:center;gap:10px}.admin-top-actions a{padding:8px 12px;border-radius:999px;font-size:.82rem;font-weight:800}.admin-top-actions a:hover{background:rgba(255,255,255,.12)}.admin-logout{background:rgba(255,255,255,.12)}
.admin-dashboard{padding:28px clamp(18px,4vw,58px) 60px;max-width:1500px;margin:auto}
.admin-welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.admin-welcome h1{font-size:clamp(2.2rem,4vw,3.7rem);margin:8px 0 2px}.admin-welcome p{color:var(--muted)}.admin-date{padding:9px 13px;border-radius:999px;background:white;border:1px solid var(--line);font-weight:800;font-size:.82rem;white-space:nowrap}
.admin-flash{margin:0 0 18px;padding:12px 15px;border-radius:14px;background:#e8f7ef;border:1px solid #c8ead8;color:#367056;font-weight:800}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:26px}.stat-card{position:relative;overflow:hidden;min-height:125px;padding:17px;border-radius:20px;border:1px solid rgba(255,255,255,.75);box-shadow:0 9px 25px rgba(87,67,101,.07);transition:transform .2s ease}.stat-card:hover{transform:translateY(-3px)}.stat-card:after{content:"✦";position:absolute;right:12px;top:7px;font-size:1.3rem;opacity:.28}.stat-card span,.stat-card small{display:block}.stat-card span{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.stat-card strong{display:block;font-family:"DM Serif Display",serif;font-size:2.25rem;line-height:1.15;margin:6px 0 2px}.stat-card small{font-size:.72rem;color:var(--muted)}.stat-money strong{font-size:1.65rem}.stat-pink{background:#fff0f6}.stat-lilac{background:#f2efff}.stat-blue{background:#edf8fd}.stat-mint{background:#effaf4}.stat-peach{background:#fff4eb}.stat-yellow{background:#fff9df}
.admin-orders-section{background:rgba(255,255,255,.67);border:1px solid rgba(255,255,255,.8);border-radius:28px;padding:20px;box-shadow:0 15px 42px rgba(87,67,101,.07)}
.admin-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.admin-section-head h2{font-size:2rem;margin:0}.admin-section-head p{font-size:.84rem;color:var(--muted)}
.admin-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-filters input{width:230px}.admin-filters select{width:170px}.admin-filters input,.admin-filters select{margin:0;background:white;padding:10px 12px}.filter-reset{font-size:.79rem;font-weight:800;color:#a55f85;padding:8px}
.admin-orders-grid{display:grid;gap:16px}.admin-order-card{display:grid;grid-template-columns:235px minmax(0,1fr);background:white;border:1px solid var(--line);border-radius:23px;overflow:hidden;box-shadow:0 8px 24px rgba(87,67,101,.06);transition:transform .2s ease,box-shadow .2s ease}.admin-order-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(87,67,101,.1)}
.admin-order-image{min-height:255px;background:linear-gradient(145deg,#f6f0f8,#eef7fb);padding:11px}.admin-order-image>a{position:relative;display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-radius:15px;overflow:hidden;background:white}.admin-order-image img{width:100%;height:100%;object-fit:contain}.admin-order-image a>span{position:absolute;left:50%;bottom:9px;transform:translateX(-50%) translateY(8px);opacity:0;background:rgba(60,53,80,.87);color:white;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap;transition:.2s}.admin-order-image a:hover>span{opacity:1;transform:translateX(-50%) translateY(0)}.admin-image-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:2rem;color:var(--muted)}.admin-image-empty small{font-size:.75rem;margin-top:7px}
.admin-order-content{padding:18px 20px}.admin-order-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-order-head h3{font-size:1.45rem;margin:6px 0 0}.admin-order-head time{font-size:.72rem;color:var(--muted)}.admin-order-total{font-family:"DM Serif Display",serif;font-size:1.75rem;white-space:nowrap}.admin-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.admin-info-grid>div{padding:12px;border-radius:15px;background:#fcf9fc;border:1px solid #f1e8f0}.admin-info-grid span,.admin-order-message span{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#9d6f8a;margin-bottom:5px}.admin-info-grid strong{display:block;font-size:.88rem}.admin-info-grid p,.admin-info-grid a{display:block;margin:2px 0;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.admin-info-grid a:hover{color:#a55f85}.admin-order-message{padding:12px 14px;border-radius:15px;background:linear-gradient(135deg,#fff4f8,#f6f2ff)}.admin-order-message p{margin:0;font-size:.84rem}
.admin-order-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.status-form{display:flex;gap:8px;align-items:center;flex:1}.status-form select{max-width:190px;margin:0;background:white}.delete-button{border:0;background:#fff0f3;color:#aa4f67;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer;transition:.2s}.delete-button:hover{background:#f8dce4;transform:translateY(-1px)}
.status{font-weight:900}.status-nouvelle{background:#f8dbea;color:#914e72}.status-contactee{background:#e9e2fb;color:#68549b}.status-acompte{background:#fff1c9;color:#8a6b19}.status-en_cours{background:#dfeefb;color:#39729d}.status-terminee,.status-expediee{background:#dff3e8;color:#39775a}.status-annulee{background:#f7dfe4;color:#9c5363}
.admin-empty{padding:50px;text-align:center;color:var(--muted)}.admin-empty>span{font-size:2.6rem}.admin-empty h3{color:var(--ink)}

@media(max-width:1150px){.stats-grid{grid-template-columns:repeat(3,1fr)}.admin-info-grid{grid-template-columns:1fr 1fr}.admin-info-grid>div:last-child{grid-column:span 2}}
@media(max-width:850px){.art-gallery-grid{grid-template-columns:1fr}.art-image-stage{min-height:260px}.admin-section-head{align-items:flex-start;flex-direction:column}.admin-filters{width:100%}.admin-filters input{flex:1;min-width:180px}.admin-order-card{grid-template-columns:180px minmax(0,1fr)}.admin-order-image{min-height:230px}.admin-info-grid{grid-template-columns:1fr}.admin-info-grid>div:last-child{grid-column:auto}}
@media(max-width:620px){.admin-top-modern{align-items:flex-start}.admin-top-actions a:first-child{display:none}.admin-dashboard{padding:20px 12px 45px}.admin-welcome{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:112px}.admin-orders-section{padding:12px;border-radius:20px}.admin-filters{display:grid;grid-template-columns:1fr}.admin-filters input,.admin-filters select{width:100%;max-width:none}.admin-order-card{grid-template-columns:1fr}.admin-order-image{height:280px;min-height:0}.admin-order-head{align-items:flex-start}.admin-info-grid{grid-template-columns:1fr}.admin-order-actions{align-items:stretch;flex-direction:column}.status-form{width:100%}.status-form select{max-width:none}.delete-form,.delete-button{width:100%}.art-gallery-card{padding:8px;border-radius:22px}.art-image-stage{padding:7px;border-radius:16px;min-height:220px}.art-gallery-card figcaption{padding:11px 6px 4px}}

/* Galerie centrée + visionneuse plein écran */
.art-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.art-gallery-card{display:flex;flex-direction:column}
.art-image-stage{appearance:none;border:0;width:100%;height:390px;min-height:0;padding:14px;cursor:zoom-in;background:linear-gradient(145deg,#fff9fc,#f4f1ff);position:relative}
.art-image-stage:focus-visible{outline:3px solid #c890d4;outline-offset:4px}
.art-image-stage img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center;box-shadow:none;background:transparent}
.art-gallery-card:hover .art-image-stage img{transform:scale(1.045)}
.art-gallery-card figcaption{margin-top:auto}
.gallery-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(35,25,43,.88);backdrop-filter:blur(12px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.gallery-lightbox.open{opacity:1;visibility:visible}
.lightbox-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(1100px,calc(100vw - 150px));height:min(88vh,900px)}
.lightbox-image{display:block;max-width:100%;max-height:calc(88vh - 50px);width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.35);transform:scale(.96);transition:transform .25s ease}
.gallery-lightbox.open .lightbox-image{transform:scale(1)}
.lightbox-counter{margin:12px 0 0;color:#fff;font-weight:800;letter-spacing:.04em}
.lightbox-close,.lightbox-nav{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.16);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.lightbox-close{top:20px;right:22px;width:48px;height:48px;border-radius:50%;font-size:2rem;line-height:1}
.lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:72px;border-radius:20px;font-size:3rem;line-height:1}
.lightbox-prev{left:24px}.lightbox-next{right:24px}
.lightbox-close:hover{transform:scale(1.08) rotate(4deg);background:rgba(255,255,255,.26)}
.lightbox-nav:hover{transform:translateY(-50%) scale(1.08);background:rgba(255,255,255,.26)}
body.lightbox-open{overflow:hidden}
@media(max-width:850px){.art-image-stage{height:360px}.lightbox-content{width:calc(100vw - 100px)}}
@media(max-width:620px){.art-image-stage{height:300px}.gallery-lightbox{padding:12px}.lightbox-content{width:100%;height:84vh}.lightbox-image{max-height:calc(84vh - 45px);border-radius:13px}.lightbox-nav{width:42px;height:58px;border-radius:15px;font-size:2.4rem}.lightbox-prev{left:8px}.lightbox-next{right:8px}.lightbox-close{top:10px;right:10px;width:42px;height:42px}.lightbox-counter{font-size:.82rem}}

/* ===== Correctif galerie éditoriale / masonry ===== */
.gallery-showcase{overflow:visible}
.art-gallery-grid{
  display:block;
  columns:4 230px;
  column-gap:16px;
}
.art-gallery-card{
  position:relative;
  display:inline-block;
  width:100%;
  margin:0 0 16px;
  padding:0;
  overflow:hidden;
  break-inside:avoid;
  border:1px solid rgba(105,80,118,.11);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 28px rgba(87,67,101,.09);
  transform:none!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.art-gallery-card:hover{
  transform:translateY(-5px)!important;
  border-color:rgba(194,141,176,.45);
  box-shadow:0 18px 38px rgba(87,67,101,.16);
}
.art-image-stage{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:#f7f1f8;
  cursor:zoom-in;
  appearance:none;
}
.art-image-stage img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  transition:transform .38s cubic-bezier(.2,.7,.2,1),filter .3s ease;
}
.art-gallery-card:hover .art-image-stage img{
  transform:scale(1.035);
  filter:saturate(1.03) contrast(1.02);
}
.art-gallery-card figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin:0;
  padding:38px 14px 13px;
  color:#fff;
  background:linear-gradient(180deg,transparent,rgba(42,31,50,.82));
  pointer-events:none;
}
.art-gallery-card figcaption strong{
  display:block;
  color:#fff;
  font-size:1.12rem;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.art-gallery-card figcaption span{
  color:rgba(255,255,255,.84);
  font-size:.72rem;
}
.gallery-paw{display:none!important}

@media(max-width:1050px){.art-gallery-grid{columns:3 220px}}
@media(max-width:760px){.art-gallery-grid{columns:2 190px;column-gap:12px}.art-gallery-card{margin-bottom:12px;border-radius:18px}.art-gallery-card figcaption{padding:32px 11px 10px}.art-gallery-card figcaption strong{font-size:1rem}}
@media(max-width:480px){.art-gallery-grid{columns:1}.art-gallery-card{max-width:420px;margin:0 auto 14px}.art-gallery-card:hover{transform:none!important}.art-gallery-card:hover .art-image-stage img{transform:none}}

/* ===== Galerie portfolio — cadrages adaptés portrait / paysage ===== */
.art-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:18px!important;
  columns:unset!important;
  align-items:stretch;
}
.art-gallery-card{
  position:relative;
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(111,82,125,.13);
  border-radius:26px;
  background:#fff;
  box-shadow:0 14px 34px rgba(76,55,88,.11);
  transform:translateZ(0)!important;
  transition:transform .3s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease,border-color .3s ease;
}
.art-gallery-card:nth-child(1){grid-column:span 5}
.art-gallery-card:nth-child(2){grid-column:span 7}
.art-gallery-card:nth-child(3){grid-column:span 6}
.art-gallery-card:nth-child(4){grid-column:span 6}
.art-gallery-card:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(183,123,172,.42);
  box-shadow:0 24px 52px rgba(76,55,88,.18);
}
.art-image-stage{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  min-height:0!important;
  padding:0!important;
  border:0;
  overflow:hidden;
  background:linear-gradient(145deg,#f8f3fb,#fff6fa);
  cursor:zoom-in;
}
.portrait-card .art-image-stage{aspect-ratio:4/5}
.landscape-card .art-image-stage{aspect-ratio:16/10}
.art-gallery-card:nth-child(3) .art-image-stage,
.art-gallery-card:nth-child(4) .art-image-stage{aspect-ratio:4/3}
.art-image-stage::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,transparent 52%,rgba(39,27,47,.74) 100%);
  opacity:.9;
  pointer-events:none;
  transition:opacity .3s ease;
}
.art-image-stage img{
  display:block;
  width:100%;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  transition:transform .55s cubic-bezier(.2,.72,.2,1),filter .35s ease;
}
.art-gallery-card:nth-child(1) .art-image-stage img{object-position:center 48%!important}
.art-gallery-card:nth-child(2) .art-image-stage img{object-position:center 52%!important}
.art-gallery-card:nth-child(3) .art-image-stage img{object-position:center 48%!important}
.art-gallery-card:nth-child(4) .art-image-stage img{object-position:center 42%!important}
.art-gallery-card:hover .art-image-stage img{
  transform:scale(1.065)!important;
  filter:saturate(1.04) contrast(1.025);
}
.art-gallery-card:hover .art-image-stage::after{opacity:.72}
.art-gallery-card figcaption{
  position:absolute!important;
  left:0;right:0;bottom:0;
  z-index:3;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:12px;
  margin:0!important;
  padding:30px 18px 16px!important;
  color:#fff;
  background:none!important;
  pointer-events:none;
}
.art-gallery-card figcaption strong{
  display:block;
  color:#fff!important;
  font-family:"DM Serif Display",serif;
  font-size:1.2rem!important;
  line-height:1.05;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}
.art-gallery-card figcaption span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.86)!important;
  font-size:.76rem!important;
}
.gallery-paw{display:none!important}
.art-gallery-card::before{
  content:"✦";
  position:absolute;
  top:14px;right:14px;
  z-index:4;
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  color:#76527f;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 20px rgba(57,40,65,.12);
  opacity:0;
  transform:translateY(-5px) scale(.92);
  transition:opacity .25s ease,transform .25s ease;
}
.art-gallery-card:hover::before{opacity:1;transform:translateY(0) scale(1)}
@media(max-width:850px){
  .art-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .art-gallery-card:nth-child(n){grid-column:span 1}
  .portrait-card .art-image-stage,.landscape-card .art-image-stage,.art-gallery-card:nth-child(3) .art-image-stage,.art-gallery-card:nth-child(4) .art-image-stage{aspect-ratio:4/5}
  .art-gallery-card:nth-child(2) .art-image-stage img{object-position:center!important}
}
@media(max-width:560px){
  .art-gallery-grid{grid-template-columns:1fr!important;gap:14px!important}
  .art-gallery-card{border-radius:20px}
  .portrait-card .art-image-stage{aspect-ratio:4/5}
  .landscape-card .art-image-stage{aspect-ratio:4/3}
  .art-gallery-card:nth-child(3) .art-image-stage,.art-gallery-card:nth-child(4) .art-image-stage{aspect-ratio:4/3}
  .art-gallery-card figcaption{padding:26px 14px 13px!important}
  .art-gallery-card:hover{transform:none!important}
  .art-gallery-card:hover .art-image-stage img{transform:scale(1.035)!important}
}

/* =========================================================
   RESPONSIVE GLOBAL — L'Atelier d'Astro
   Mobile-first polish for phones, tablets and small laptops
   ========================================================= */

/* Avoid accidental horizontal scroll from decorations/animations */
html,body{max-width:100%;overflow-x:clip}
.site-header,.section,.hero,.cta,.footer,.order-layout,.admin-dashboard{width:100%}

@media (max-width:1100px){
  .site-header{padding-inline:24px}
  .hero{padding:34px 34px;gap:34px}
  .section{padding:50px 34px}
  .cta{margin-inline:34px}
  .footer{padding-inline:34px}
  .order-layout{padding-inline:34px}
  .hero-copy h1{font-size:clamp(2.65rem,5.7vw,4.2rem)}
}

@media (max-width:900px){
  .site-header{min-height:64px;padding:10px 22px}
  .brand{font-size:1.2rem;min-width:0}
  .brand-mark{width:32px;height:32px;flex:0 0 auto}

  .hero{
    min-height:auto;
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);
    gap:28px;
    align-items:center;
    padding:32px 28px 44px;
  }
  .hero-copy{max-width:none}
  .hero-copy h1{font-size:clamp(2.45rem,6.7vw,3.8rem)}
  .hero-copy p{font-size:1rem}
  .hero-art,.hero-collage{width:100%;max-width:440px;justify-self:end}
  .hero-art img{max-height:520px}

  .section{padding:46px 28px}
  .section-heading{max-width:none}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-inline:auto}
  .cta{margin:22px 28px 48px;padding:28px 30px}
  .footer{padding:28px;gap:18px}

  .order-layout{padding:34px 28px;gap:26px}
  .order-intro{position:static}
  .order-form{border-radius:24px}

  .gallery-lightbox{padding:20px 64px}
  .lightbox-content{width:min(88vw,920px);height:min(82vh,760px)}
  .lightbox-image{max-height:calc(82vh - 52px)}
}

@media (max-width:760px){
  body.menu-open{overflow:hidden}
  .site-header{padding:10px 16px}
  .brand{font-size:1.12rem}
  .menu-toggle{
    display:grid;
    place-items:center;
    width:42px;height:42px;
    border-radius:14px;
    background:linear-gradient(135deg,#fff0f6,#f1edff);
    border:1px solid var(--line);
    box-shadow:0 7px 18px rgba(87,67,101,.08);
    cursor:pointer;
    z-index:31;
  }
  .nav{
    display:flex!important;
    position:fixed;
    inset:64px 12px auto 12px;
    z-index:30;
    padding:16px;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    border:1px solid rgba(117,87,132,.12);
    border-radius:22px;
    background:rgba(255,250,246,.98);
    box-shadow:0 20px 50px rgba(65,46,76,.18);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px) scale(.985);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
  }
  .nav.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
  .nav>a{width:100%;padding:12px 14px;border-radius:13px;text-align:center}
  .nav>a:not(.btn):hover{background:#fff1f7}
  .nav .btn{margin-top:4px}

  .hero{
    grid-template-columns:1fr;
    text-align:center;
    padding:30px 18px 38px;
    gap:26px;
  }
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .hero-copy h1{font-size:clamp(2.45rem,12vw,3.45rem);max-width:650px}
  .hero-copy p{font-size:.97rem;max-width:560px}
  .hero-actions{justify-content:center;align-items:center;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:20px}
  .hero-actions .btn{min-width:210px}
  .trust-row{justify-content:center}
  .hero-art,.hero-collage{justify-self:center;max-width:500px}
  .hero-art img{max-height:58vh}
  .art-caption{right:8px;bottom:10px}

  .section{padding:42px 18px}
  .split-heading{gap:9px}
  .split-heading>p{max-width:620px}
  .steps{gap:12px}
  .steps article{min-height:150px;padding:17px}
  .pricing-grid{gap:13px}
  .price-card{padding:22px}
  .price{font-size:3rem}
  .cta{margin:18px 18px 42px;padding:25px 23px;border-radius:24px;text-align:center;align-items:center}
  .cta h2{font-size:clamp(1.85rem,7vw,2.55rem)}
  .footer{grid-template-columns:1fr;text-align:center;padding:26px 18px}
  .footer div:last-child{justify-content:center;flex-direction:row}

  .order-layout{grid-template-columns:1fr;padding:28px 16px 42px}
  .order-intro{text-align:center}
  .order-intro h1{font-size:clamp(2.4rem,10vw,3.4rem)}
  .order-form{padding:22px 18px;border-radius:22px}
  .form-grid,.choice-cards{grid-template-columns:1fr}
  .check-label{margin-top:4px}

  /* Keep gallery visually designed on tablet, not flattened */
  .art-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .art-gallery-card:nth-child(n){grid-column:span 1!important}
  .art-gallery-card{border-radius:21px}
  .art-gallery-card:nth-child(1) .art-image-stage,
  .art-gallery-card:nth-child(3) .art-image-stage,
  .art-gallery-card:nth-child(4) .art-image-stage{aspect-ratio:4/5!important}
  .art-gallery-card:nth-child(2) .art-image-stage{aspect-ratio:4/3!important}
  .art-gallery-card figcaption{padding:27px 12px 12px!important}
  .art-gallery-card figcaption strong{font-size:1.02rem!important}
  .art-gallery-card figcaption span{font-size:.68rem!important}
  .art-gallery-card::before{opacity:1;transform:none;width:30px;height:30px;top:10px;right:10px;font-size:.8rem}

  .gallery-lightbox{padding:62px 12px 18px}
  .lightbox-content{width:100%;height:calc(100dvh - 88px)}
  .lightbox-image{max-width:100%;max-height:calc(100dvh - 132px);border-radius:16px}
  .lightbox-nav{top:auto;bottom:19px;transform:none;width:48px;height:48px;border-radius:50%;font-size:2rem}
  .lightbox-prev{left:calc(50% - 62px)}
  .lightbox-next{right:calc(50% - 62px)}
  .lightbox-close{top:12px;right:12px;width:44px;height:44px}
  .lightbox-counter{margin-top:9px;padding-bottom:52px}
}

@media (max-width:560px){
  h2{font-size:clamp(1.9rem,9.5vw,2.55rem)}
  .eyebrow{font-size:.64rem;letter-spacing:.1em}
  .site-header{min-height:60px}
  .nav{inset:60px 10px auto 10px}

  .hero{padding:24px 14px 32px}
  .hero-copy h1{font-size:clamp(2.25rem,12.3vw,3.15rem)}
  .hero-copy p{font-size:.93rem}
  .hero-actions{flex-direction:column;width:100%}
  .hero-actions .btn,.hero-actions .text-link{width:min(100%,330px)}
  .hero-actions .text-link{padding:8px}
  .trust-row{gap:6px}
  .trust-row span{font-size:.75rem;padding:6px 8px}
  .hero-art{width:calc(100% - 10px)}
  .hero-art:before{inset:-8px 10px 14px -8px;border-radius:28px}
  .hero-art img{border-radius:25px}

  .section{padding:36px 14px}
  .section-heading{margin-bottom:20px}
  .steps{grid-template-columns:1fr}
  .steps article{min-height:auto;padding:16px 17px}
  .steps article h3{font-size:1.35rem}
  .pricing-grid{grid-template-columns:1fr}
  .price-card{padding:21px;border-radius:21px}
  .price-card.featured{order:-1}
  .center-note{font-size:.8rem}
  .cta{margin:14px 14px 34px;padding:23px 17px}
  .cta .btn{width:100%}
  .footer div:last-child{gap:11px 16px}

  .art-gallery-grid{grid-template-columns:1fr!important;gap:13px!important}
  .art-gallery-card{max-width:460px;width:100%!important;margin-inline:auto!important;border-radius:22px}
  .art-gallery-card:nth-child(1) .art-image-stage,
  .art-gallery-card:nth-child(3) .art-image-stage,
  .art-gallery-card:nth-child(4) .art-image-stage{aspect-ratio:4/5!important}
  .art-gallery-card:nth-child(2) .art-image-stage{aspect-ratio:4/3!important}
  .art-gallery-card:hover{transform:none!important}
  .art-gallery-card:hover .art-image-stage img{transform:scale(1.025)!important}
  .art-gallery-card figcaption strong{font-size:1.06rem!important}
  .art-gallery-card figcaption span{font-size:.7rem!important}

  .order-form h2{font-size:1.55rem}
  input,select,textarea{font-size:16px;min-height:46px}
  textarea{min-height:120px}
  .choice-card span{padding:15px}
  .summary-box{padding:15px}

  .admin-top-modern,.admin-top{padding:13px 14px}
  .admin-dashboard,.admin-main{padding:18px 10px 38px}
  .admin-welcome h1,.admin-main h1{font-size:2.35rem}
  .stats-grid{grid-template-columns:1fr!important}
  .admin-order-image{height:240px!important}
  .admin-order-card{border-radius:20px}
}

@media (max-width:380px){
  .brand{font-size:1rem;gap:7px}
  .brand-mark{width:30px;height:30px}
  .menu-toggle{width:39px;height:39px}
  .hero-copy h1{font-size:2.12rem}
  .btn{padding:11px 16px}
  .section{padding-inline:12px}
  .cta{margin-inline:10px}
  .price{font-size:2.7rem}
}

/* Touch devices: no sticky hover state or cursor trail obstruction */
@media (hover:none),(pointer:coarse){
  .art-gallery-card:hover,.btn:hover,.steps article:hover,.price-card:hover{transform:none!important}
  .art-gallery-card:hover .art-image-stage img{transform:none!important}
  .paw-trail{display:none!important}
}

/* Landscape phones */
@media (max-height:520px) and (orientation:landscape){
  .nav{max-height:calc(100dvh - 72px);overflow:auto}
  .gallery-lightbox{padding:8px 64px}
  .lightbox-content{height:calc(100dvh - 16px)}
  .lightbox-image{max-height:calc(100dvh - 48px)}
  .lightbox-close{top:8px;right:8px}
  .lightbox-nav{top:50%;bottom:auto;transform:translateY(-50%)}
  .lightbox-prev{left:8px}.lightbox-next{right:8px}
  .lightbox-counter{padding-bottom:0}
}
