@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');

:root{
  --ink:#272126;
  --muted:#70676d;
  --cream:#fbf7f2;
  --paper:#fffdfb;
  --blush:#f1dfe3;
  --rose:#a45b78;
  --rose-dark:#733d56;
  --champagne:#c6a878;
  --line:#e7dde0;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;object-fit:cover}
.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,247,242,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:11px}
.brand-gift{width:39px;height:39px;border:1px solid #b78c9b;border-radius:50%;display:grid;place-items:center;font-size:23px;color:var(--rose)}
.brand strong{display:block;font:600 28px/0.9 var(--serif)}
.brand small{display:block;letter-spacing:.18em;font-size:7px;color:var(--rose);margin-top:8px}
.site-header nav{display:flex;align-items:center;gap:30px;font-size:12px}
.site-header nav a{color:#51494f}
.nav-cta{padding:12px 18px;border:1px solid var(--ink);border-radius:30px}
.mobile-menu{display:none;font-size:12px}
.hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;padding:80px 8vw 90px;overflow:hidden}
.eyebrow,.section-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-weight:600}
.hero h1{font:600 clamp(58px,7vw,106px)/.82 var(--serif);letter-spacing:-.045em;margin:25px 0 30px}
h1 em,h2 em,blockquote em{font-style:italic;font-weight:400;color:var(--rose)}
.hero p{max-width:540px;color:var(--muted);font-size:15px}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;padding:15px 23px;border-radius:40px;font:600 11px var(--sans);letter-spacing:.05em;cursor:pointer}
.button-dark{background:var(--ink);color:white}
.button-light{background:white;color:var(--ink)}
.button-outline{border:1px solid var(--ink);background:transparent}
.text-link{font-size:12px;border-bottom:1px solid #b9afb4;padding-bottom:5px}
.text-link span{color:var(--rose)}
.hero-art{height:560px;position:relative}
.hero-frame{position:absolute;overflow:hidden;box-shadow:0 25px 70px rgba(64,35,46,.13)}
.hero-frame-main{width:72%;height:88%;right:5%;top:2%;border-radius:180px 180px 8px 8px}
.hero-frame-main img{height:100%;filter:saturate(.9)}
.hero-frame-small{width:39%;height:43%;left:0;bottom:2%;border:9px solid var(--cream)}
.hero-frame-small img{height:100%}
.hero-caption{position:absolute;right:0;bottom:5%;font:500 21px/1 var(--serif);text-align:right;color:var(--rose-dark)}
.section{padding:110px 8vw}
.intro{border-top:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;margin-top:30px}
h2{font:600 clamp(42px,5vw,72px)/.9 var(--serif);letter-spacing:-.035em;margin:0}
.intro p{font-size:15px;color:var(--muted);max-width:570px;align-self:end}
.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}
.section-head p{max-width:380px;color:var(--muted);font-size:13px}
.category-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:330px 330px;gap:18px}
.category{position:relative;overflow:hidden;background:#eee}
.category-large{grid-row:span 2}
.category img{height:100%;transition:transform .7s ease;filter:saturate(.88)}
.category:hover img{transform:scale(1.045)}
.category:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(20,10,15,.68))}
.category-overlay{position:absolute;z-index:2;left:28px;right:25px;bottom:24px;color:white}
.category-overlay span{font-size:10px;opacity:.8;letter-spacing:.18em}
.category-overlay h3{font:600 40px/.9 var(--serif);margin:8px 0}
.category-overlay p{font-size:10px;opacity:.9;margin:0}
.quote-section{background:var(--blush);padding:100px 8vw;text-align:center}
.quote-inner{max-width:800px;margin:auto}
.quote-mark{font:100px/.5 var(--serif);color:var(--rose);opacity:.45}
blockquote{font:600 clamp(42px,5.5vw,76px)/.85 var(--serif);letter-spacing:-.035em;margin:30px 0}
.quote-inner p{max-width:470px;margin:auto;color:#695d63;font-size:13px}
.custom{background:#fffdfb}
.custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;margin-top:45px}
.custom-copy p{max-width:500px;color:var(--muted);margin:25px 0 32px}
.steps-card{border:1px solid var(--line);background:var(--cream)}
.mini-step{display:flex;gap:25px;padding:25px 30px;border-bottom:1px solid var(--line);font:500 24px var(--serif)}
.mini-step:last-child{border-bottom:0}
.mini-step b{font:600 10px var(--sans);color:var(--rose);letter-spacing:.15em;padding-top:7px}
.gallery{background:var(--cream)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:12px}
.gallery-grid img{height:100%}
.gallery-grid img:nth-child(1){grid-column:span 3;grid-row:span 2}
.gallery-grid img:nth-child(2){grid-column:span 3;grid-row:span 3}
.gallery-grid img:nth-child(3){grid-column:span 3;grid-row:span 2}
.gallery-grid img:nth-child(4){grid-column:span 3;grid-row:span 3}
.gallery-grid img:nth-child(5){grid-column:span 6;grid-row:span 2}
.gallery-grid img:nth-child(6){grid-column:span 6;grid-row:span 2}
.process{background:#2c2429;color:white}
.process .section-label{color:#d8a9ba}
.process h2{margin-top:22px}
.process h2 em{color:#e8b9c9}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:70px;background:rgba(255,255,255,.18)}
.process-grid>div{background:#2c2429;padding:30px 25px;min-height:250px}
.process-grid span{font-size:10px;color:#d8a9ba;letter-spacing:.15em}
.process-grid h3{font:500 30px var(--serif);margin:28px 0 10px}
.process-grid p{font-size:12px;color:#cfc4c8}
.contact-section{background:var(--rose-dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:100px 8vw}
.contact-section .eyebrow{color:#e7bdca}
.contact-section h2{margin:22px 0;color:white}
.contact-section h2 em{color:#efc4d0}
.contact-copy p{max-width:480px;color:#eadde1;font-size:14px}
.contact-form{display:grid;gap:18px}
.contact-form label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#f2dce2}
.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid rgba(255,255,255,.45);background:transparent;color:white;padding:12px 0;font:14px var(--sans);outline:none;border-radius:0}
.contact-form option{color:var(--ink)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#d9c6cc}
footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 8vw;background:#20191d;color:#d8ccd0;font-size:10px}
.footer-brand strong{font:600 26px var(--serif);display:block;color:white}
.footer-brand span{color:#a99ba0}
footer a{color:#e3bac7}
.login-page{min-height:100vh;background:radial-gradient(circle at 75% 25%,#f5dfe6 0,#fbf7f2 34%,#f6ece8 100%);display:grid;place-items:center;padding:30px}
.login-shell{width:min(520px,100%)}
.login-card{background:rgba(255,253,251,.88);border:1px solid rgba(115,61,86,.14);padding:58px 58px 35px;box-shadow:0 30px 90px rgba(75,35,50,.12);backdrop-filter:blur(14px)}
.login-card .brand-mark{display:flex;align-items:center;gap:11px;margin-bottom:70px}
.login-card h1{font:600 clamp(48px,8vw,72px)/.85 var(--serif);letter-spacing:-.04em;margin:22px 0}
.login-card h1 em{color:var(--rose)}
.login-copy{font-size:13px;color:var(--muted);max-width:390px}
.access-form{margin-top:40px}
.access-form label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--rose-dark);margin-bottom:8px}
.password-row{display:flex;border-bottom:1px solid #bcaeb3}
.password-row input{flex:1;border:0;background:transparent;padding:13px 0;font:14px var(--sans);outline:0}
.password-row button{border:0;background:transparent;font:600 11px var(--sans);color:var(--rose-dark);cursor:pointer;padding:0 0 0 15px}
.error{background:#f6e5e9;color:#8b3c58;padding:10px 13px;font-size:11px;margin-top:22px}
.login-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:55px;padding-top:18px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8b8086}
@media(max-width:900px){
  .site-header nav{display:none}.mobile-menu{display:block}
  .hero{grid-template-columns:1fr;padding:65px 7vw 80px}.hero-art{height:500px;margin-top:10px}
  .intro-grid,.custom-grid,.contact-section{grid-template-columns:1fr}
  .category-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 360px}.category-large{grid-row:span 2}
  .process-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .site-header{height:70px;padding:0 6vw}.brand strong{font-size:25px}
  .hero h1{font-size:58px}.hero-art{height:420px}.hero-frame-main{width:76%;height:86%}.hero-frame-small{width:43%;height:42%}
  .section{padding:75px 6vw}.section-head{display:block}.section-head p{margin-top:22px}
  .category-grid{display:grid;grid-template-columns:1fr;grid-template-rows:440px 320px 320px}.category-large{grid-row:span 1}
  .category-overlay h3{font-size:36px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.gallery-grid img{grid-column:span 1!important;grid-row:span 1!important}
  .gallery-grid img:nth-child(1),.gallery-grid img:nth-child(4){grid-row:span 2!important}
  .process-grid{grid-template-columns:1fr}
  .contact-section{padding:75px 6vw}
  footer{flex-direction:column;align-items:flex-start;padding:30px 6vw}
  .login-card{padding:42px 28px 28px}.login-card .brand-mark{margin-bottom:55px}
}


/* ===== Giftstory V2 ===== */
.announcement{height:29px;background:#2c2429;color:#ead9df;display:grid;place-items:center;font-size:8px;letter-spacing:.17em;text-transform:uppercase}
.hero{min-height:760px;background:radial-gradient(circle at 85% 35%,#f4dfe6 0,#fbf7f2 38%,#fbf7f2 70%)}
.hero-note{margin-top:42px;font-size:10px;letter-spacing:.08em;color:#84777e}
.hero-note span{color:var(--rose);margin-right:7px}
.hero-art:before{content:"";position:absolute;width:290px;height:290px;border-radius:50%;background:#f3d9e1;right:3%;top:15%;filter:blur(3px)}
.hero-orbit{position:absolute;width:86%;height:86%;right:-3%;top:5%;border:1px solid rgba(164,91,120,.2);border-radius:50%;transform:rotate(-18deg)}
.hero-seal{position:absolute;left:4%;top:4%;width:75px;height:75px;border:1px solid rgba(115,61,86,.35);border-radius:50%;display:grid;place-items:center;text-align:center;font:500 28px/.6 var(--serif);color:var(--rose-dark);background:rgba(255,253,251,.75)}
.hero-seal small{font:600 6px var(--sans);letter-spacing:.12em}
.hero-caption span{font-family:var(--sans);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;color:#9d8e95;font:500 12px var(--serif);letter-spacing:.13em}
.marquee div{display:inline-block;animation:marquee 28s linear infinite}
.marquee span{color:var(--rose);padding:0 25px}
@keyframes marquee{to{transform:translateX(-30%)}}
.intro{background:#fffdfb}
.intro-grid p+p{margin-top:18px}
.category-overlay i{display:block;font:italic 16px var(--serif);margin-top:17px;color:#f3dce3}
.category:before{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.24);z-index:3;pointer-events:none;margin:12px}
.choice-board{border:1px solid var(--line);background:#fbf7f2;display:grid;grid-template-columns:1fr 1fr}
.choice{min-height:180px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.choice:nth-child(2n){border-right:0}.choice:nth-last-child(-n+2){border-bottom:0}
.choice span{font-size:9px;letter-spacing:.18em;color:var(--rose)}
.choice strong{display:block;font:500 31px var(--serif);margin-top:28px}
.choice small{display:block;color:var(--muted);font-size:10px;margin-top:5px}
.gallery-grid figure{margin:0;position:relative;overflow:hidden;height:100%}
.gallery-grid figure img{transition:transform .7s ease}
.gallery-grid figure:hover img{transform:scale(1.05)}
.gallery-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px 14px 12px;color:white;font:italic 17px var(--serif);background:linear-gradient(transparent,rgba(20,10,15,.6))}
.testimonials{background:#f4e7e9}
.testimonial-head{display:flex;justify-content:space-between;align-items:end;margin:25px 0 45px}
.stars{color:#a45b78;letter-spacing:.15em}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonial-grid blockquote{margin:0;background:#fffdfb;padding:32px;min-height:260px;box-shadow:0 14px 35px rgba(70,35,50,.05)}
.testimonial-grid blockquote>span{font:60px/.5 var(--serif);color:#c795a7}
.testimonial-grid p{font:500 23px/1.05 var(--serif);margin:25px 0}
.testimonial-grid small{font:9px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#8d7f86}
.faq{background:#fffdfb}
.faq-list{max-width:800px;margin:55px 0 0 auto;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:23px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;font:500 24px var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary b{font:400 22px var(--sans);color:var(--rose)}
.faq details p{max-width:650px;color:var(--muted);font-size:13px;margin:16px 0 0}
.contact-section{position:relative;overflow:hidden}
.contact-section:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-190px;top:-180px}
.whatsapp{display:inline-block;margin-top:25px;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:6px;font-size:11px;color:#f1dce3}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form-success,.form-error{padding:13px 15px;font-size:11px}
.form-success{background:#e8f0e8;color:#31583d}.form-error{background:#f7e2e7;color:#7d304b}
.privacy-note{font-size:9px;color:#cbb9c0}
@media(max-width:900px){
  .testimonial-grid{grid-template-columns:1fr}.choice{min-height:150px}
}
@media(max-width:600px){
  .announcement{font-size:7px}
  .hero{min-height:auto}.hero-note{margin-top:28px}
  .hero-art{margin-top:30px}
  .hero-seal{width:60px;height:60px;font-size:23px}
  .choice-board{grid-template-columns:1fr}.choice{border-right:0!important}.choice:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.choice:last-child{border-bottom:0}
  .testimonial-head{display:block}.stars{margin-top:20px}
  .faq summary{font-size:20px}
  .form-row{grid-template-columns:1fr}
}

/* Logo officiel fourni par le client */
.brand-logo{
  width:168px;
  height:auto;
  display:block;
  object-fit:contain;
}
.footer-brand img{
  width:125px;
  height:auto;
  display:block;
  object-fit:contain;
  margin-bottom:8px;
}
.login-card .brand-mark{
  display:block;
}
.login-card .brand-mark img{
  width:170px;
  height:auto;
  display:block;
  object-fit:contain;
}
@media(max-width:600px){
  .brand-logo{width:132px}
  .login-card .brand-mark img{width:155px}
}

.hero-seal{display:none!important}
.footer-brand img{mix-blend-mode:normal}
.login-card .brand-mark img{mix-blend-mode:normal}

/* ===== Giftstory V2.2 — refined hero ===== */
.hero-v22{
  min-height:700px;
  padding:72px 9vw 88px;
  grid-template-columns: .95fr 1.05fr;
  background:
    radial-gradient(circle at 82% 35%, rgba(239,211,220,.62), transparent 34%),
    radial-gradient(circle at 56% 82%, rgba(247,231,224,.72), transparent 32%),
    #fbf8f4;
}
.hero-v22 .hero-copy{position:relative;z-index:4;padding-right:2vw}
.hero-v22 .hero-copy .eyebrow{color:#a9697f;letter-spacing:.2em}
.hero-v22 h1{
  font-size:clamp(58px,6.6vw,96px);
  line-height:.83;
  margin:25px 0 30px;
  letter-spacing:-.045em;
}
.hero-v22 h1 em{color:#9f6377}
.hero-v22 p{font:400 16px/1.55 var(--serif);color:#665c61;max-width:550px}
.hero-v22 .hero-actions{gap:18px;margin-top:30px}
.hero-v22 .button{min-height:50px}
.hero-v22 .button-dark span{margin-left:12px;font-size:16px}
.hero-signature{
  margin-top:34px;
  font:italic 19px var(--serif);
  color:#8e7780;
}
.hero-signature span{color:#a9697f;padding:0 7px}
.hero-art-v22{
  height:570px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-art-v22:before{
  content:"";
  position:absolute;
  width:480px;height:480px;
  right:1%;top:8%;
  border-radius:50%;
  background:rgba(242,218,224,.66);
}
.hero-art-v22:after{
  content:"";
  position:absolute;
  width:68%;height:78%;
  right:7%;top:9%;
  border:1px solid rgba(174,124,140,.25);
  border-radius:48% 52% 46% 54%;
  transform:rotate(-10deg);
}
.hero-photo-wrap{
  width:78%;height:88%;
  position:relative;
  z-index:2;
}
.hero-photo{
  width:100%;height:100%;
  overflow:hidden;
  border-radius:190px 190px 10px 10px;
  box-shadow:0 35px 80px rgba(73,39,50,.16);
  background:#eee;
}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-photo-inset{
  position:absolute;
  width:32%;height:35%;
  left:-12%;bottom:-3%;
  border:8px solid #fbf8f4;
  box-shadow:0 18px 45px rgba(73,39,50,.16);
  overflow:hidden;
}
.hero-photo-inset img{height:100%;object-fit:cover}
.passion-badge{
  position:absolute;
  right:-1%;bottom:12%;
  z-index:5;
  width:135px;height:135px;
  border:1px solid #b58b70;
  border-radius:50%;
  background:rgba(255,253,250,.9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  box-shadow:0 15px 35px rgba(80,45,55,.08);
}
.passion-badge span{font:25px var(--serif);color:#a77c57}
.passion-badge small{font-size:7px;letter-spacing:.16em;color:#b18867;margin-top:2px}
.passion-badge strong{font:600 10px/1.45 var(--sans);letter-spacing:.12em;color:#9b7256;margin-top:8px}
.passion-badge i{width:36px;height:1px;background:#b58b70;margin-top:9px}
.hero-flourish{
  position:absolute;
  left:7%;top:7%;
  z-index:4;
  color:#b98496;
  font:60px var(--serif);
  transform:rotate(-12deg);
}
.botanical{
  position:absolute;
  z-index:1;
  color:#b79667;
  opacity:.65;
  font-size:100px;
}
.botanical-left{left:-3%;bottom:8%;transform:rotate(30deg)}
.site-header .brand-logo{width:176px}
.footer-brand img{background:transparent}
@media(max-width:900px){
  .hero-v22{grid-template-columns:1fr;padding-top:55px}
  .hero-art-v22{height:500px;margin-top:25px}
  .hero-photo-wrap{width:78%}
}
@media(max-width:600px){
  .hero-v22{padding:55px 6vw 70px}
  .hero-v22 h1{font-size:56px}
  .hero-v22 p{font-size:15px}
  .hero-v22 .hero-actions{flex-wrap:wrap}
  .hero-v22 .button{width:100%}
  .hero-signature{margin-top:24px}
  .hero-art-v22{height:420px}
  .hero-art-v22:before{width:330px;height:330px;right:0}
  .hero-photo-wrap{width:82%;height:86%}
  .hero-photo{border-radius:120px 120px 8px 8px}
  .hero-photo-inset{width:36%;height:35%;left:-8%;border-width:6px}
  .passion-badge{width:105px;height:105px;right:-4%;bottom:9%}
  .passion-badge strong{font-size:8px}
  .hero-flourish{font-size:45px;left:3%}
}

/* ===== Giftstory FINAL — validated refinements ===== */
.creations-final{padding-top:95px;padding-bottom:100px;background:#fffdfb}
.creations-final .section-head{align-items:center}
.creations-final .section-head h2{margin-top:14px}
.section-lead{max-width:420px!important;margin:18px 0 0!important;color:#766a71!important;font-size:14px!important}
.outline-cta{
  border:1px solid #bd7188;border-radius:30px;padding:14px 22px;
  color:#7e4057;font-size:11px;font-weight:600;letter-spacing:.04em;
  white-space:nowrap;transition:.25s;
}
.outline-cta:hover{background:#b9657f;color:#fff}
.outline-cta span{font-size:16px;margin-left:15px}
.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.product-card{min-width:0;border:1px solid #eee1e4;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(70,35,50,.035)}
.product-image{height:235px;overflow:hidden;background:#eee7e5}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.product-card:nth-child(1) .product-image img{object-position:center 65%}
.product-card:nth-child(2) .product-image img{object-position:center 55%}
.product-card:nth-child(3) .product-image img{object-position:center 58%}
.product-card:nth-child(4) .product-image img{object-position:center 58%}
.product-card:nth-child(5) .product-image img{object-position:center 55%}
.product-card:hover .product-image img{transform:scale(1.045)}
.product-info{min-height:76px;padding:14px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.product-info h3{font:500 22px/.95 var(--serif);margin:0}
.product-info small{display:block;margin-top:7px;color:#8a7a82;font-size:7px;text-transform:uppercase;letter-spacing:.1em}
.product-info>a{width:37px;height:37px;border:1px solid #c97890;border-radius:50%;display:grid;place-items:center;color:#b65d77;font-size:16px;flex:none}
.custom-final{background:#fbf8f4}
.custom-final .custom-grid{gap:5vw}
.custom-final .custom-copy{padding-right:2vw}
.custom-final .custom-copy p{max-width:500px}
.custom-final .button span{margin-left:12px;font-size:15px}
.steps-final{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #e5d8dc;border-bottom:1px solid #e5d8dc}
.step-final{position:relative;padding:20px 20px 26px;border-right:1px solid #e5d8dc;min-height:275px;background:#fbf8f4}
.step-final:last-child{border-right:0}
.step-number{
  display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;
  border:1px solid #d997aa;color:#b84e70;font:600 27px var(--serif);
  background:#fffaf9;box-shadow:0 0 0 8px #fbf0f2;margin-bottom:18px;
}
.step-icon{
  position:absolute;left:68px;top:58px;width:33px;height:33px;border-radius:50%;
  background:#f9e4e9;border:1px solid #e1a9b8;display:grid;place-items:center;
  color:#b64e6e;font:20px var(--serif)
}
.step-final h3{font:600 28px/.95 var(--serif);margin:2px 0 7px}
.step-final>small{font-size:8px;color:#a06b7b}
.step-final p{font-size:11px;line-height:1.5;color:#776c72;margin-top:20px}
.gallery-final{background:#fffdfb;padding-top:95px}
.instagram-intro{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:38px}
.instagram-intro h2{margin-top:13px}
.instagram-intro p{max-width:430px;color:#766a71;font-size:14px;margin:18px 0 0}
.instagram-cta{
  display:inline-flex;align-items:center;gap:12px;background:#b9657f;color:#fff;
  padding:15px 24px;border-radius:32px;font-size:11px;font-weight:600;
  box-shadow:0 10px 25px rgba(165,83,112,.17);white-space:nowrap;
}
.instagram-cta:hover{background:#984e68}
.instagram-cta b{font-size:17px;font-weight:400;margin-left:8px}
.ig-symbol{font-size:21px;line-height:1}
.gallery-tight{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:230px;gap:9px}
.gallery-tight figure{margin:0;position:relative;overflow:hidden;background:#eee}
.gallery-tight figure img{height:100%;width:100%;object-fit:cover;transition:transform .6s}
.gallery-tight figure:nth-child(1) img{object-position:center 68%}
.gallery-tight figure:nth-child(2) img{object-position:center 52%}
.gallery-tight figure:nth-child(3) img{object-position:center 62%}
.gallery-tight figure:nth-child(4) img{object-position:center 62%}
.gallery-tight figure:nth-child(5) img{object-position:center 58%}
.gallery-tight figure:nth-child(6) img{object-position:center 58%}
.gallery-tight figure:hover img{transform:scale(1.05)}
.gallery-tight figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(25,15,20,.72))}
.gallery-tight figcaption{z-index:2;position:absolute;left:15px;bottom:12px;color:#fff;font:italic 17px var(--serif)}
.gallery-tight figcaption span{display:block;font:7px var(--sans);text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px;opacity:.8}
@media(max-width:1100px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .product-image{height:260px}
  .steps-final{grid-template-columns:repeat(2,1fr)}
  .step-final:nth-child(2){border-right:0}.step-final:nth-child(-n+2){border-bottom:1px solid #e5d8dc}
  .gallery-tight{grid-template-columns:repeat(3,1fr);grid-auto-rows:250px}
}
@media(max-width:700px){
  .creations-final .section-head,.instagram-intro{display:block}
  .outline-cta,.instagram-cta{display:inline-flex;margin-top:25px}
  .product-grid{grid-template-columns:1fr 1fr}
  .product-image{height:230px}
  .product-info h3{font-size:20px}
  .product-info{min-height:82px}
  .steps-final{grid-template-columns:1fr}
  .step-final{border-right:0!important;border-bottom:1px solid #e5d8dc!important;min-height:230px}
  .step-final:last-child{border-bottom:0!important}
  .gallery-tight{grid-template-columns:1fr 1fr;grid-auto-rows:210px}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:1fr}
  .product-image{height:280px}
  .gallery-tight{grid-template-columns:1fr 1fr}
}
