/* Editorial campaign layout */
.shell{width:min(1240px,88%)}
.masthead{min-height:100px;padding:12px 0;display:flex;justify-content:space-between;gap:24px}.masthead::after{display:none}.masthead>.brand-window{order:-1;margin:0;width:120px;height:68px}.masthead>.brand-window img{width:240px;height:240px;left:-60px;top:-93px;clip-path:polygon(26% 39.5%,73% 39.5%,73% 54%,70% 54%,70% 62%,30% 62%,30% 54%,26% 54%)}.masthead-note{font-size:12px;letter-spacing:1px}.masthead-note.right{margin-left:auto}.masthead-note:not(.right){margin-left:auto}
.hero{position:relative;display:flex;align-items:center;justify-content:flex-end;max-width:1920px;min-height:690px;isolation:isolate;overflow:hidden;background:#f7f1e9}.campaign-visual{position:absolute;inset:0;z-index:-2}.campaign-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{background:none;padding:70px 7% 70px 30px;width:48%;align-self:center;display:block}.hero h1{font-size:clamp(4rem,6.5vw,7rem);line-height:.97;letter-spacing:-.055em;font-weight:500}.hero h1 em{color:var(--sage-dark)}.hero .eyebrow{font-size:12px;letter-spacing:2px;margin-bottom:28px}.hero-description{font-size:16px;line-height:1.8;max-width:380px;margin-top:25px}.primary-link{display:inline-flex;gap:32px;align-items:center;margin-top:28px;background:var(--ink);color:var(--cream);border-radius:40px;padding:17px 28px;font-size:14px;min-height:52px}.primary-link:hover{background:#53614b;text-decoration:none}.primary-link span{font-size:21px}.hero-location{font-size:12px;letter-spacing:1px;color:var(--body);margin-top:24px}.campaign-credit{position:absolute;bottom:18px;left:4%;font-size:10px;letter-spacing:1.6px;color:var(--body)}.signature-strip{border-block:1px solid var(--line);justify-content:space-evenly;padding:25px 6%;font-family:'DM Sans',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:2px;font-style:normal;gap:20px}.artist{padding-block:100px;display:grid;grid-template-columns:1fr 2fr;gap:6%}.artist>.eyebrow{padding-top:12px}.artist>div{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.artist h2{font-size:clamp(2.6rem,3.5vw,4rem)}.artist>div>p{font-size:16px;line-height:1.9;margin:0;color:var(--body)}.portfolio{padding-top:0;padding-bottom:100px}.section-heading{display:grid;grid-template-columns:1fr 1fr;text-align:left;column-gap:8%;align-items:end;margin-bottom:36px}.section-heading>.eyebrow{grid-column:1/-1}.section-heading>p:last-child{max-width:410px;margin:0;justify-self:end}.gallery{padding:28px;gap:30px 24px;border-radius:0}.gallery .photo{aspect-ratio:4/5}.gallery figcaption{padding-block:17px;border:0}.gallery figcaption>span:first-child{font-size:24px}.gallery figcaption>span:last-child{font-size:12px}.appointment{padding:70px;gap:8%;background:var(--sage);border:0;margin-bottom:80px;grid-template-columns:1fr 1.15fr}.appointment h2{font-size:clamp(3rem,4.5vw,4.8rem)}input,textarea{border:0;border-bottom:1px solid #a9b09f;border-radius:0;background:rgba(247,241,233,.55);padding:14px}.form-button{border-radius:30px;padding:15px 30px;background:var(--ink)}.closing{border-top:1px solid var(--line);padding:65px 6%}.closing-title{font-size:clamp(2.6rem,4vw,4rem)}.footer{padding-block:28px}.photo img{transition:transform .6s ease}.footer .payment-methods{padding-top:10px}
@media(min-width:1600px){.hero{min-height:790px}.hero-copy{padding-right:10%}}
@media(max-width:900px){.hero{min-height:600px}.hero-copy{width:49%;padding-right:5%}.hero h1{font-size:4.3rem}.artist{grid-template-columns:1fr;padding-block:65px;gap:20px}.artist>div{gap:8%}.appointment{padding:40px}.section-heading>p:last-child{max-width:320px}}
@media(max-width:600px){.masthead{min-height:90px;gap:12px}.masthead>.brand-window{width:100px;height:56px}.masthead>.brand-window img{width:210px;height:210px;left:-55px;top:-83px}.masthead-note:not(.right){font-size:11px;line-height:1.6;letter-spacing:0}.masthead-note.right{display:none}.hero{min-height:0;display:flex;flex-direction:column;padding-top:340px;overflow:hidden}.campaign-visual{bottom:auto;height:390px;width:170%;left:-6%}.campaign-visual img{object-position:left center}.hero:after{content:'';position:absolute;top:290px;height:100px;left:0;right:0;background:linear-gradient(transparent,var(--cream));z-index:-1}.hero-copy{width:100%;padding:25px 7% 48px;text-align:left}.hero h1{font-size:clamp(3.8rem,15vw,5.5rem)}.hero .eyebrow{margin-bottom:20px;font-size:11px;letter-spacing:1.5px}.hero-description{margin-top:20px}.hero-location{margin-bottom:0}.campaign-credit{top:18px;bottom:auto;font-size:9px;left:6%}.signature-strip{gap:12px;padding:22px 5%;font-size:10px;letter-spacing:1px;flex-wrap:wrap}.artist{padding-block:55px}.artist>div{grid-template-columns:1fr;gap:25px}.artist h2{font-size:3.1rem}.artist>.eyebrow{margin-bottom:0}.section-heading{display:block;margin-bottom:28px}.section-heading>p:last-child{margin-top:22px;max-width:none}.gallery{padding:16px;gap:20px 12px}.gallery .photo{aspect-ratio:4/5}.gallery figcaption{padding-block:12px}.gallery figcaption>span:first-child{font-size:18px}.gallery figcaption>span:last-child{display:none}.gallery figure:last-child{width:calc((100% - 12px)/2)}.portfolio{padding-bottom:55px}.appointment{width:100%;padding:48px 6%;margin-bottom:0;grid-template-columns:1fr;gap:30px}.appointment h2{font-size:3.5rem}.closing{padding:48px 6%}.form-grid{gap:20px 14px}.footer{gap:18px}.footer p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.photo img{transition:none}}

/* Circular showroom: three featured sets, six smaller works. */
.gallery{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:38px 24px;padding:48px 36px 36px}
.gallery figure{grid-column:span 1;min-width:0;width:100%;justify-self:center}
.gallery figure:nth-child(-n+3){grid-column:span 2;margin-bottom:12px}
.gallery .photo{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--cream);outline:1px solid rgba(247,241,233,.25);outline-offset:7px}
.gallery .photo img{object-fit:cover;object-position:center}
.gallery figcaption{display:block;text-align:center;padding:22px 0 0;border:0}
.gallery figcaption>span:first-child{display:block;font-size:19px;line-height:1.3}
.gallery figure:nth-child(-n+3) figcaption>span:first-child{font-size:28px}
.gallery figcaption>span:last-child{display:none}
.gallery figure:last-child{grid-column:span 1;width:100%;justify-self:center}
@media(min-width:901px){.gallery figure:nth-child(-n+3){width:90%}.gallery figure:nth-child(n+4){width:88%}}
@media(max-width:900px){.gallery{gap:32px 24px;padding:36px 28px}.gallery figure:nth-child(n+4){grid-column:span 2;width:76%}.gallery figure:nth-child(-n+3) figcaption>span:first-child{font-size:23px}.gallery figcaption>span:first-child{font-size:18px}}
@media(max-width:600px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;padding:32px 24px}.gallery figure:nth-child(-n+3){grid-column:1/-1;width:80%;max-width:290px;margin-bottom:6px}.gallery figure:nth-child(n+4){grid-column:span 1;width:100%}.gallery figure:nth-child(-n+3) figcaption>span:first-child{font-size:26px}.gallery figcaption>span:first-child{font-size:18px}.gallery figcaption{padding-top:18px}.gallery .photo{outline-offset:5px}}

/* Closing editorial artwork and centered location lockup. */
.closing{position:relative;isolation:isolate;overflow:hidden;min-height:500px;display:flex;align-items:center;padding:70px 6%;background:var(--cream);border-top:0}.closing-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.closing-copy{width:55%;text-align:center}.closing-copy .eyebrow{margin-bottom:25px}.closing-title{font-size:clamp(2.8rem,4.2vw,4.8rem)}.closing-location{font-size:20px;line-height:1.6;color:var(--ink);margin:0}.closing-location span{display:block;font-size:13px;letter-spacing:3px;text-transform:uppercase;margin-top:8px;color:var(--body)}
@media(max-width:700px){.closing{min-height:670px;padding:48px 6% 340px;align-items:flex-start}.closing-copy{width:100%}.closing-title{font-size:clamp(2.5rem,9vw,3.7rem)}.closing-art{top:auto;bottom:0;left:-55%;width:155%;height:350px;max-width:none;object-position:right center}.closing-location{font-size:20px}.closing-copy .eyebrow{font-size:12px}.closing:after{content:'';position:absolute;left:0;right:0;bottom:300px;height:50px;background:linear-gradient(var(--cream),transparent);z-index:-1}}

/* Four coordinated service illustrations. */
.services{padding:0 0 90px}.services-heading{text-align:center;margin-bottom:42px}.services-heading h2{font-size:clamp(2.5rem,4vw,4rem)}.services-heading .eyebrow{margin-bottom:16px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.services-grid article{text-align:center;min-width:0}.service-icon{width:150px;aspect-ratio:1;margin:0 auto 22px;border-radius:50%;background-image:url('assets/service-icons.png');background-size:200% 200%;background-repeat:no-repeat;outline:1px solid var(--line);outline-offset:7px}.icon-gel{background-position:0 0}.icon-colors{background-position:100% 0}.icon-french{background-position:0 100%}.icon-art{background-position:100% 100%}.services-grid h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:28px;line-height:1.2;margin:0 0 12px}.services-grid p{font-size:15px;line-height:1.8;color:var(--body);max-width:250px;margin:0 auto}@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.services{padding-bottom:65px}}@media(max-width:480px){.services-grid{gap:32px 20px}.service-icon{width:112px;margin-bottom:20px}.services-grid h3{font-size:25px}.services-grid p{font-size:14px;line-height:1.7}.services-heading{margin-bottom:35px}.services-heading h2{font-size:2.6rem}}

.appointment{border-radius:24px}.appointment-intro{padding-top:12px}.whatsapp-direct{display:block;margin-top:34px;font-size:13px;line-height:1.7;color:var(--body)}.whatsapp-direct strong{display:block;font-size:17px;font-weight:500;color:var(--ink);margin-top:8px}.appointment .form-button{width:100%;display:flex;gap:18px;min-height:54px}.appointment .form-button span{font-size:22px}.field select{width:100%;min-height:53px;border:0;border-bottom:1px solid #a9b09f;border-radius:0;background:rgba(247,241,233,.55);color:var(--ink);font:inherit;font-size:16px;padding:14px}.field select:focus-visible{outline:2px solid var(--sage-dark);outline-offset:3px}@media(max-width:600px){.appointment{border-radius:0}.whatsapp-direct{margin-top:24px}}
