/*
Theme Name: Gint Art
Theme URI: https://gintart.ch
Author: Gint Art
Description: Custom bilingual Gint Art one-page website, based on V52. Editable artwork gallery.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: gintart
*/
:root{--cream:#faf7f2;--ivory:#fffdf9;--sand:#e8d8c7;--taupe:#d8c0ab;--ink:#30251d;--muted:#746052;--accent:#9c7753}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font:15px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:.95;margin:18px 0 24px}h1{font-size:clamp(65px,7vw,112px)}h2{font-size:clamp(52px,5.2vw,84px)}h3{font-size:13px;font-weight:600;letter-spacing:.14em}p{max-width:520px} .container{max-width:1350px;margin:auto;padding-left:5.5%;padding-right:5.5%}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,247,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(100,70,40,.1)}.nav{min-height:106px;display:grid;grid-template-columns:1fr 130px 1fr 86px;align-items:center;gap:15px}.nav-side{display:flex;gap:clamp(14px,2.4vw,38px);font-size:11px;letter-spacing:.12em;font-weight:600}.nav-left{justify-content:flex-end}.nav-right{justify-content:flex-start}.nav-side a:hover,.text-link:hover{color:var(--accent)}.brand{display:flex;align-items:center;flex-direction:column;line-height:1;justify-self:center;color:#1c251d}.brand-arc{font-size:13px;letter-spacing:.17em;font-weight:700;transform:rotate(-7deg)}.brand svg{height:43px;width:44px}.brand-bottom{font-size:11px;letter-spacing:.12em;transform:rotate(9deg)}.lang-switch{justify-self:end;display:flex;align-items:center;gap:5px;border:1px solid #b8a18e;padding:5px 7px;border-radius:20px;white-space:nowrap}.lang{border:0;background:transparent;padding:3px 7px;border-radius:15px;font-size:12px;cursor:pointer;color:#6e5d4d}.lang.active{background:var(--ink);color:white}.lang:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.section-split{display:grid;grid-template-columns:1fr 1fr}.hero{min-height:650px;background:var(--ivory)}.hero-copy{padding:clamp(60px,8vw,130px) 9% clamp(70px,7vw,110px) max(9%,calc((100vw - 1350px)/2 + 75px))}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:600;color:var(--accent)}.script{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,3.1vw,48px);font-style:italic;line-height:1.05;color:#866344;margin:18px 0 30px}.intro{font-size:14px;line-height:1.85}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.14em;color:var(--accent);margin-top:22px;font-weight:700}.text-link span:last-child{font-size:22px}.photo{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#e7d4bf 0%,#bfa48a 42%,#e9d9c8 100%)}.photo:before{content:'';position:absolute;width:60%;height:90%;border:1px solid rgba(255,255,255,.5);border-radius:48% 52% 45% 55%;transform:rotate(24deg)}.photo:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 10%,rgba(255,255,255,.45),transparent 43%)}.photo-label{position:relative;z-index:1;background:rgba(255,253,249,.88);border:1px solid #d5bda7;padding:13px 19px;letter-spacing:.16em;font-size:10px;text-align:center;font-weight:700}.photo-hero{min-height:650px;background:linear-gradient(145deg,#e7d5c2,#a8866d 60%,#e5cdb7)}.philosophy{background:#e8d9c9;min-height:540px}.photo-nature{min-height:540px;background:linear-gradient(125deg,#b49a80,#dfc9ad 60%,#ab886c)}.philosophy-copy{padding:90px 13% 70px 12%}.philosophy-copy p{font-size:14px}.smaller{font-size:35px}.discover-section{padding:80px 0;background:var(--ivory)}.centered{text-align:center;margin-bottom:40px}.discover-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:5%;align-items:center}.discover-option{min-height:210px}.discover-option+.discover-option{border-left:1px solid #d7bfab;padding-left:11%}.option-number{font:italic 30px 'Cormorant Garamond',serif;color:#ae8d71}.discover-option p{font-size:13px}.discover-option address{font-style:normal;font-size:13px;margin-top:20px}.outline-button{display:inline-block;border:1px solid #806c59;padding:12px 22px;font-size:10px;font-weight:700;letter-spacing:.13em;margin-top:12px;transition:background .2s,color .2s}.outline-button:hover{background:var(--ink);color:white}.photo-vitrine{height:235px;background:linear-gradient(150deg,#bda184,#e6cbb0,#997758)}.vitrine-caption{text-align:center;font:italic 23px 'Cormorant Garamond',serif;color:#85674e;margin-top:12px}.gallery-section{background:#e7d6c6;padding:95px 0 90px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.gallery-heading h2{margin-bottom:5px}.gallery-script{max-width:240px;text-align:right}.gallery-intro{font-size:13px;margin-bottom:30px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.gallery-item{min-width:0}.gallery-photo{aspect-ratio:1/1.06;background:linear-gradient(145deg,#c1a187,#e8d6c4 55%,#9d816e);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-item:nth-child(3n+2) .gallery-photo{background:linear-gradient(125deg,#dfc8b6,#ac8b75,#f0e0cd)}.gallery-item:nth-child(3n+3) .gallery-photo{background:linear-gradient(155deg,#a68c78,#e5c7a5,#bca18d)}.gallery-photo img{width:100%;height:100%;object-fit:cover}.item-id{position:absolute;left:10px;bottom:10px;background:var(--ivory);padding:3px 10px;font-size:12px;font-weight:700;letter-spacing:.06em}.gallery-placeholder{font-size:10px;letter-spacing:.14em;background:rgba(255,253,249,.82);padding:9px 12px;text-align:center}.gallery-note{text-align:center;margin-top:65px}.gallery-note h3{font-size:18px;letter-spacing:0}.gallery-note p{margin:0 auto 12px;font-size:13px}.contact-section{padding:105px 0;background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:13%;align-items:center}.contact-grid p{font-size:14px}.contact-links{border-left:1px solid #c9ad95;padding-left:12%;display:flex;flex-direction:column;gap:15px;font-size:17px}.contact-links a:hover{text-decoration:underline}footer{background:var(--cream)}.footer-inner{border-top:1px solid #cdb7a5;min-height:110px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.14em}.footer-leaf{font-size:32px;color:#364331}

/* Gint Art V9 — consolidated visual system */
:root{--cream:#faf7f2;--ivory:#fffdf9;--sand:#e8d8c9;--ink:#30251d;--label:#987451;--accent:#987451;--line:#d2bba8}
body{font-size:13px;line-height:1.65}
.container{max-width:1260px;padding-left:5%;padding-right:5%}
h1,h2{letter-spacing:-.025em;line-height:1.02}
h1{font-size:clamp(48px,5.1vw,75px);margin:14px 0 18px}
h2{font-size:clamp(39px,4vw,61px);margin:13px 0 18px}
/* Shared label typography: one colour, size and weight throughout */
.eyebrow,.text-link,.nav-side a,.discover-option h3{font-family:'DM Sans',Arial,sans-serif;font-size:14px;font-weight:400;color:var(--label);letter-spacing:.1em;line-height:1.5}
.nav-side a:hover,.text-link:hover{color:#76563c}
.site-header .nav{min-height:112px;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr) 92px;gap:14px}
.nav-side{gap:clamp(12px,2vw,30px)}
.brand{width:100px;height:100px;position:relative;display:flex;justify-content:center;align-items:center}
.brand-upload{display:block;position:absolute;inset:0;width:100px;height:100px;object-fit:contain;z-index:2}
.brand.has-custom-logo .brand-arc,.brand.has-custom-logo svg,.brand.has-custom-logo .brand-bottom{visibility:hidden}
.lang-switch{border-color:#c8b7a8;padding:4px 6px}
.lang{font-size:11px;padding:3px 7px}
.hero,.photo-hero{min-height:470px}
.hero-copy{padding:clamp(45px,5vw,74px) 8% 45px max(8%,calc((100vw - 1260px)/2 + 62px))}
.script{font-family:'Caveat',cursive;font-style:normal;font-weight:400;font-size:clamp(29px,3.2vw,43px);line-height:1.05;margin:12px 0 22px;color:#8a6648}
.intro{font-size:13px;line-height:1.7;max-width:470px}
.text-link{margin-top:13px;gap:18px}
.text-link span:last-child{font-size:22px}
/* Portrait is displayed at 70% of the photo area (30% smaller). */
.photo-hero{position:relative;min-height:470px}
.profile-image{position:relative;z-index:2;display:block;width:70%;height:70%;max-height:420px;object-fit:cover;object-position:center 35%;border-radius:48% 48% 5px 5px;box-shadow:0 15px 42px rgba(59,38,22,.1)}
.photo-hero.has-photo .photo-label{display:none}
.photo-hero.has-photo:before,.photo-hero.has-photo:after{display:none}
.philosophy,.photo-nature{min-height:390px}
.philosophy-copy{padding:56px 11% 45px 10%}
.philosophy-copy p{font-size:13px;line-height:1.65}
.smaller{font-size:30px}
.discover-section{padding:54px 0}
.centered{margin-bottom:25px}
.discover-option{min-height:175px}
.photo-vitrine{height:190px}
.vitrine-caption{font-family:'Caveat',cursive;font-style:normal;font-size:24px}
/* Gallery: open, left-aligned, no box or duplicate paragraph */
.gallery-section{background:var(--sand);padding:60px 0 65px}
.gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.gallery-heading h2{margin:8px 0 12px}
.gallery-script{font-family:'Caveat',cursive;font-size:19px;font-weight:400;max-width:240px;text-align:right;margin:0}
.gallery-note{background:transparent;border:0;box-shadow:none;text-align:left;max-width:none;padding:0;margin:0 0 26px}
.gallery-intro{font-size:14px;line-height:1.5;max-width:none;text-align:left;margin:0 0 14px}
.gallery-note .outline-button{display:inline-flex;align-items:center;border:0;border-radius:999px;background:var(--accent);color:white;padding:12px 27px;margin:0;font-size:12px;font-weight:500;letter-spacing:.09em}
.gallery-note .outline-button:hover{background:#76563c}
.gallery-grid{gap:12px}
/* Contact: one compact horizontal line, with accessible mobile stacking */
.contact-section{background:var(--cream);padding:34px 0}
.contact-layout{display:grid;grid-template-columns:72px minmax(200px,1.05fr) minmax(245px,1.35fr) minmax(210px,1.05fr);gap:22px;align-items:center}
.contact-art{display:flex;justify-content:center;align-items:center;min-height:0}
.contact-botanical{display:block;width:68px;max-width:100%;max-height:105px;object-fit:contain;opacity:.82}
.contact-copy{min-width:0}
.contact-copy h2{font-size:clamp(31px,3vw,43px);line-height:1.08;margin:7px 0 0}
.contact-description{font-size:13px;line-height:1.6;max-width:none;margin:0;padding:0 0 0 20px;border-left:1px solid var(--line)}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:11px;font-size:13px;margin:0;padding:0 0 0 20px;border:0;border-left:1px solid var(--line)}
.contact-links a{display:inline-flex;gap:9px;align-items:center;overflow-wrap:anywhere}
.contact-links a span{font-size:18px;color:var(--accent)}
.contact-links a:hover{text-decoration:underline}
.footer-inner{min-height:80px}
@media(max-width:1100px){
 .contact-layout{grid-template-columns:58px minmax(160px,.9fr) minmax(200px,1.2fr) minmax(185px,1fr);gap:13px}
 .contact-description,.contact-links{padding-left:13px}
 .contact-botanical{width:56px}
 .contact-copy h2{font-size:32px}
}
@media(max-width:900px){
 .site-header .nav{grid-template-columns:1fr 1fr;min-height:unset;gap:5px 16px;padding-top:8px}
 .brand{grid-column:1;grid-row:1;justify-self:start}
 .lang-switch{grid-column:2;grid-row:1}
 .nav-left,.nav-right{grid-row:2;grid-column:auto;justify-content:center;padding-bottom:12px}
 .nav-side{flex-wrap:wrap;gap:9px 15px}
 .discover-grid{grid-template-columns:1fr 1fr;gap:25px}
 .vitrine-wrap{grid-column:1/-1;max-width:330px;margin:auto}
 .gallery-grid{grid-template-columns:repeat(3,1fr)}
 .contact-layout{grid-template-columns:60px minmax(170px,1fr) minmax(230px,1.4fr);gap:15px}
 .contact-links{grid-column:2/-1;grid-row:2;flex-direction:row;flex-wrap:wrap;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}
}
@media(max-width:640px){
 .container{padding-left:6%;padding-right:6%}
 .site-header .nav{grid-template-columns:1fr 1fr}
 .nav-side{gap:8px 12px}
 .nav-side a{font-size:11px}
 .section-split{grid-template-columns:1fr}
 .hero,.photo-hero{min-height:unset}
 .hero-copy{padding:60px 7% 48px}
 .photo-hero{height:390px}
 .profile-image{width:70%;height:80%;max-height:340px}
 .philosophy .photo-nature{height:300px;min-height:unset}
 .philosophy-copy{padding:55px 7%}
 .discover-section{padding:60px 0}
 .discover-grid{grid-template-columns:1fr;gap:30px}
 .discover-option{min-height:unset}
 .discover-option+.discover-option{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}
 .vitrine-wrap{grid-column:auto;width:100%}
 .gallery-section{padding:48px 0}
 .gallery-heading{align-items:flex-start;flex-direction:column;gap:5px}
 .gallery-script{text-align:left}
 .gallery-intro{font-size:13px}
 .gallery-grid{grid-template-columns:repeat(2,1fr);gap:9px}
 .contact-layout{grid-template-columns:50px minmax(0,1fr);gap:12px 16px}
 .contact-art{grid-column:1;grid-row:1}
 .contact-botanical{width:48px}
 .contact-copy{grid-column:2;grid-row:1}
 .contact-description{grid-column:1/-1;grid-row:2;padding:0;border:0}
 .contact-links{grid-column:1/-1;grid-row:3;flex-direction:column;align-items:flex-start;padding:12px 0 0}
 .footer-inner{gap:12px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
}

/* V10 refinements: logo, portrait, navigation and open contact layout */
.site-header .nav{grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr) 92px;min-height:102px}
.brand,.brand-upload{width:90px;height:90px}
.nav-side a{color:#211d19;font-weight:400}
.nav-side a:hover{color:var(--accent)}
.profile-image{width:50%;height:50%;max-height:300px;object-fit:cover}
.contact-section{padding:76px 0 82px}
.contact-layout{display:grid;grid-template-columns:minmax(115px,.65fr) minmax(300px,1.9fr) minmax(225px,1fr);gap:clamp(24px,4vw,70px);align-items:center}
.contact-art{justify-content:center}
.contact-botanical{width:145px;max-height:175px;opacity:.9}
.contact-copy h2{font-size:clamp(40px,4vw,56px);margin:8px 0 14px}
.contact-description{font-size:14px;line-height:1.7;max-width:510px;padding:0;border:0;margin:0}
.contact-links{border-left:1px solid var(--line);padding-left:clamp(18px,3vw,42px);font-size:14px;gap:18px}
@media(max-width:900px){
 .site-header .nav{grid-template-columns:1fr 1fr;min-height:unset}
 .contact-layout{grid-template-columns:120px minmax(0,1fr);gap:20px 28px}
 .contact-botanical{width:110px;max-height:150px}
 .contact-links{grid-column:2;grid-row:2;border-left:0;border-top:1px solid var(--line);padding:18px 0 0;flex-direction:column;align-items:flex-start}
}
@media(max-width:640px){
 .profile-image{width:50%;height:50%;max-height:220px}
 .contact-section{padding:54px 0 60px}
 .contact-layout{grid-template-columns:75px minmax(0,1fr);gap:18px}
 .contact-art{grid-column:1;grid-row:1;align-self:start}
 .contact-botanical{width:72px;max-height:105px}
 .contact-copy{grid-column:2;grid-row:1}
 .contact-copy h2{font-size:clamp(34px,8vw,43px)}
 .contact-description{font-size:13px}
 .contact-links{grid-column:1/-1;grid-row:2;flex-direction:column;padding:18px 0 0}
}

/* V11: Vitrine photo, naturally cropped and responsive */
.photo-vitrine{width:100%;height:auto;aspect-ratio:4/3;max-height:240px;overflow:hidden}
.photo-vitrine .vitrine-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;display:block}
.photo-vitrine.has-photo .photo-label{display:none}
.photo-vitrine.has-photo::before,.photo-vitrine.has-photo::after{display:none}
@media(max-width:640px){.vitrine-wrap{max-width:340px;margin-inline:auto}.photo-vitrine{max-height:none}}

/* V12: approved discovery layout, darker subheadings, larger portrait */
.profile-image{width:60%;height:60%;max-height:360px}
.discover-option h3{color:#211d19;font-weight:500}
@media(max-width:640px){.profile-image{width:60%;height:60%;max-height:264px}}

/* Version 13 — organic portrait silhouette (replaces the arched window). */
.photo-hero .profile-image {
  width: 60%;
  height: 60%;
  max-height: 360px;
  object-fit: cover;
  object-position: center 35%;
  border-radius: 29% 18% 25% 13% / 19% 26% 17% 28%;
  box-shadow: none;
}
.photo-hero.has-photo::before,
.photo-hero.has-photo::after { display: none; }
@media (max-width: 640px) {
  .photo-hero .profile-image {
    width: 60%;
    height: 60%;
    max-height: 264px;
    border-radius: 29% 18% 25% 13% / 19% 26% 17% 28%;
  }
}


/* Version 14 — unified ivory hero, softer handwritten copy, organic portrait + oval */
.hero, .photo-hero { background: #fffdf9; }
.hero { align-items: stretch; }
.hero-copy { position: relative; z-index: 1; }
.hero-copy .script {
  font-family: 'Caveat', cursive;
  font-size: clamp(24px, 2.35vw, 34px);
  font-weight: 400;
  line-height: 1.08;
  margin: 15px 0 26px;
}
.hero-copy .intro { max-width: 535px; }
.photo-hero {
  isolation: isolate;
  overflow: hidden;
  background: #fffdf9;
}
.photo-hero::before {
  content: '';
  display: block;
  position: absolute;
  width: 83%;
  height: 79%;
  left: 8%;
  top: 11%;
  border: 0;
  border-radius: 47% 53% 42% 58% / 52% 42% 58% 48%;
  background: radial-gradient(ellipse at 55% 50%, #f2e4d6 0%, #f8eee5 60%, rgba(248,238,229,0) 76%);
  transform: rotate(-7deg);
  z-index: 0;
}
.photo-hero::after {
  content: '';
  display: block;
  position: absolute;
  width: 86%;
  height: 75%;
  left: 6%;
  top: 12%;
  border: 1px solid rgba(170,132,98,.48);
  border-radius: 50% 50% 46% 54% / 49% 52% 48% 51%;
  background: none;
  transform: rotate(-16deg);
  z-index: 3;
  pointer-events: none;
}
.photo-hero.has-photo::before,
.photo-hero.has-photo::after { display: block; }
.photo-hero .profile-image {
  width: 77%;
  height: auto;
  aspect-ratio: 1.3 / 1;
  max-height: none;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 27% 22% 28% 19% / 24% 30% 20% 27%;
  transform: rotate(-1deg);
  box-shadow: none;
  z-index: 2;
}
@media (max-width: 900px) {
  .photo-hero .profile-image { width: 78%; }
}
@media (max-width: 640px) {
  .hero-copy .script { font-size: 27px; }
  .photo-hero { height: 340px; }
  .photo-hero .profile-image { width: 76%; max-height: none; }
}

/* Version 15: About Me refinements */
.hero-copy .script {
  font-family: 'Nothing You Could Do', 'Caveat', cursive;
  font-size: clamp(19px, 1.75vw, 26px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -.025em;
  color: #906d50;
  margin: 14px 0 23px;
}
.hero-copy .intro { max-width: 560px; line-height: 1.75; }
.photo-hero .profile-image {
  width: 78%;
  aspect-ratio: 1.26 / 1;
  border-radius: 0;
  -webkit-mask-image: url('images/portrait-mask.svg');
  mask-image: url('images/portrait-mask.svg');
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  transform: none;
}
.photo-hero::before { width: 88%; height: 86%; left: 6%; top: 7%; opacity: .75; }
.photo-hero::after { width: 87%; height: 75%; left: 6%; top: 11%; transform: rotate(-13deg); border-color: rgba(170,132,98,.38); }
@media (max-width: 640px) {
 .hero-copy .script { font-size: 21px; }
 .photo-hero .profile-image { width: 83%; }
}

/* V16 — refinements to About Me only */
.hero-copy .hero-story { max-width: 560px; font-size: 14px; line-height: 1.95; }
.hero-story p { max-width: none; margin: 0 0 13px; }
.hero-story p:last-child { margin-bottom: 0; }
.hero-copy .script { font-size: clamp(18px, 1.58vw, 23px); font-weight: 400; line-height: 1.55; letter-spacing: 0; }
.photo-hero .profile-image { transform: translateY(18px); }
.photo-hero::before { width: 84%; height: 80%; left: 8%; top: 10%; opacity: .46; }
.photo-hero::after { width: 85%; height: 73%; left: 7%; top: 13%; opacity: .48; }
@media(max-width: 640px) {
 .hero-copy .script { font-size: 19px; }
 .photo-hero .profile-image { transform: translateY(7px); }
 .hero-story p { margin-bottom: 12px; }
}

/* V17 — subtle About Me refinements */
/* Make the fine oval around the portrait approximately 18% more visible. */
.photo-hero::after { border-color: rgba(170,132,98,.57); }
/* Give the three story paragraphs an extra 5px of breathing room. */
.hero-copy .hero-story p { margin-bottom: 18px; }
.hero-copy .hero-story p:last-child { margin-bottom: 0; }
@media (max-width: 640px) { .hero-copy .hero-story p { margin-bottom: 17px; } }


/* V18 — discovery section: aligned columns, legible numbers, organic vitrine */
.discover-grid { align-items: start; }
.discover-option { min-height: 0; }
.discover-option + .discover-option { align-self: stretch; }
.option-number {
  font-family: 'DM Sans', Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.4;
  letter-spacing: .06em;
  font-variant-numeric: lining-nums tabular-nums;
  color: #a77e5b;
  margin-bottom: 12px;
}
.discover-option h3 {
  margin: 0 0 17px;
  min-height: 21px;
  color: #211d19;
}
.discover-option p { margin: 0; line-height: 1.75; }
.discover-option address { margin-top: 20px; }
.vitrine-wrap { position: relative; isolation: isolate; padding: 14px 4px 0; }
.vitrine-wrap::before {
  content: ''; position: absolute; z-index: -1;
  inset: -7px -12px 25px -13px;
  background: radial-gradient(ellipse at 52% 50%, rgba(229,207,184,.48),rgba(246,234,220,.22) 65%, transparent 76%);
  border-radius: 45% 55% 51% 49% / 55% 44% 56% 45%;
  transform: rotate(-5deg);
}
.vitrine-wrap::after {
  content: ''; position: absolute; z-index: 2; pointer-events: none;
  top: 2px; left: -10px; width: calc(100% + 18px); height: 82%;
  border: 1px solid rgba(170,132,98,.40);
  border-radius: 51% 49% 44% 56% / 49% 53% 47% 51%;
  transform: rotate(-10deg);
}
.photo-vitrine {
  aspect-ratio: 4 / 3;
  height: auto;
  max-height: none;
  background: transparent;
  -webkit-mask-image: url('images/vitrine-mask.svg');
  mask-image: url('images/vitrine-mask.svg');
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.vitrine-caption {
  font-family: 'Nothing You Could Do', 'Caveat', cursive;
  font-style: normal;
  font-weight: 400;
  font-size: 19px;
  line-height: 1.5;
  color: #906d50;
  margin-top: 14px;
}
@media (max-width: 900px) {
  .discover-grid { align-items: start; }
  .vitrine-wrap { max-width: 360px; }
}
@media (max-width: 640px) {
  .discover-option h3 { min-height: 0; }
  .vitrine-wrap { margin-inline: auto; }
}

/* V19 — quieter vitrine: softly fading oval photograph, no surrounding ring */
.discover-section { padding-top: 54px; padding-bottom: 35px; }
.discover-grid { grid-template-columns: 1fr 1fr 1.04fr; gap: 4%; align-items: start; }
.vitrine-wrap { padding: 0; margin-top: -4px; width: 100%; }
.vitrine-wrap::before, .vitrine-wrap::after { content: none !important; display: none !important; }
.photo-vitrine {
  width: 100%; aspect-ratio: 1.28 / 1; height: auto; max-height: none;
  overflow: hidden; background: transparent;
  -webkit-mask-image: radial-gradient(ellipse 65% 61% at 50% 50%, #000 52%, rgba(0,0,0,.96) 65%, rgba(0,0,0,.65) 78%, transparent 100%);
  mask-image: radial-gradient(ellipse 65% 61% at 50% 50%, #000 52%, rgba(0,0,0,.96) 65%, rgba(0,0,0,.65) 78%, transparent 100%);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.photo-vitrine .vitrine-image { object-fit: cover; object-position: center; }
.vitrine-caption {
  margin: 4px -14% 0;
  font-size: clamp(15px,1.35vw,19px);
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
}
@media(max-width:900px) {
  .discover-grid { grid-template-columns: 1fr 1fr; gap: 25px; }
  .vitrine-wrap { grid-column: 1/-1; width: min(100%, 430px); max-width: none; margin: 0 auto; }
}
@media(max-width:640px) {
  .discover-grid { grid-template-columns: 1fr; }
  .vitrine-wrap { grid-column: auto; width: min(100%, 390px); }
  .vitrine-caption { white-space: normal; margin-inline: 0; }
}

/* V20 — smaller vitrine with a continuous soft fade; square product images */
.vitrine-wrap { width: 89%; margin: -4px auto 0; }
.photo-vitrine {
  aspect-ratio: 1.28 / 1;
  -webkit-mask-image: radial-gradient(ellipse 66% 66% at 50% 50%, #000 43%, rgba(0,0,0,.97) 53%, rgba(0,0,0,.78) 67%, rgba(0,0,0,.36) 80%, transparent 98%);
  mask-image: radial-gradient(ellipse 66% 66% at 50% 50%, #000 43%, rgba(0,0,0,.97) 53%, rgba(0,0,0,.78) 67%, rgba(0,0,0,.36) 80%, transparent 98%);
}
.vitrine-caption { margin-left: -18%; margin-right: -18%; }
.gallery-photo { aspect-ratio: 1 / 1; }
.gallery-photo img { width:100%; height:100%; object-fit:cover; }
@media (max-width:900px) { .vitrine-wrap { width: min(89%, 380px); } }
@media (max-width:640px) { .vitrine-wrap { width: min(89%, 340px); } .vitrine-caption { margin-left: -8%; margin-right: -8%; } }

/* V21 — smaller, softly feathered vitrine; consistent contact icons */
.vitrine-wrap { width: 76%; margin: -4px auto 0; }
.photo-vitrine {
  -webkit-mask-image: radial-gradient(ellipse 63% 62% at 50% 50%, #000 31%, rgba(0,0,0,.94) 46%, rgba(0,0,0,.65) 60%, rgba(0,0,0,.22) 75%, transparent 94%);
  mask-image: radial-gradient(ellipse 63% 62% at 50% 50%, #000 31%, rgba(0,0,0,.94) 46%, rgba(0,0,0,.65) 60%, rgba(0,0,0,.22) 75%, transparent 94%);
}
.contact-links .contact-name { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(21px,2vw,27px); font-weight:500; line-height:1.1; margin-bottom:4px; color:var(--ink); }
.contact-links a { display:flex; align-items:center; gap:12px; }
.contact-links a svg { width:17px; height:17px; flex:0 0 17px; stroke:var(--accent); fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:900px){ .vitrine-wrap{ width:min(76%,340px); } }
@media(max-width:640px){ .vitrine-wrap{ width:min(80%,290px); } .contact-links .contact-name{font-size:24px;} }


/* V22 — uniformly feathered vitrine edges and compact contact details */
.photo-vitrine {
  -webkit-mask-image: radial-gradient(ellipse closest-side at center, #000 32%, rgba(0,0,0,.97) 44%, rgba(0,0,0,.72) 60%, rgba(0,0,0,.28) 78%, transparent 100%);
  mask-image: radial-gradient(ellipse closest-side at center, #000 32%, rgba(0,0,0,.97) 44%, rgba(0,0,0,.72) 60%, rgba(0,0,0,.28) 78%, transparent 100%);
  -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
}
.contact-links { gap: 7px; }
.contact-links .contact-name {
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  margin: 0 0 2px;
  color: var(--ink);
}
.contact-links a { gap: 9px; line-height: 1.55; }
.contact-links a svg { width: 16px; height: 16px; flex-basis: 16px; }
@media (max-width: 640px) {
  .contact-links { gap: 7px; }
  .contact-links .contact-name { font-size: 14px; }
}


/* V24 — preserve the vitrine's soft edges while revealing more of its centre. */
.photo-vitrine {
  -webkit-mask-image: radial-gradient(ellipse closest-side at center,
    #000 0%, #000 43%, rgba(0,0,0,.98) 52%,
    rgba(0,0,0,.83) 64%, rgba(0,0,0,.43) 81%, transparent 100%);
  mask-image: radial-gradient(ellipse closest-side at center,
    #000 0%, #000 43%, rgba(0,0,0,.98) 52%,
    rgba(0,0,0,.83) 64%, rgba(0,0,0,.43) 81%, transparent 100%);
}
/* Restore a horizontally elongated organic oval for the About Me portrait. */
.photo-hero::before {
  width: 89%; height: 70%; left: 5.5%; top: 15%;
  border-radius: 53% 47% 49% 51% / 48% 52% 47% 53%;
}
.photo-hero::after {
  width: 91%; height: 68%; left: 4.5%; top: 16%;
  transform: rotate(-8deg);
  border-radius: 52% 48% 51% 49% / 48% 52% 47% 53%;
}
.photo-hero .profile-image {
  width: 82%;
  aspect-ratio: 1.48 / 1;
  height: auto;
  object-fit: cover;
  object-position: center 39%;
}
@media (max-width: 640px) {
  .photo-hero .profile-image { width: 84%; aspect-ratio: 1.42 / 1; }
  .photo-hero::before { height: 72%; top: 14%; }
  .photo-hero::after { height: 70%; top: 15%; }
}

/* V25 — smaller About Me heading; black contact details. */
.hero-copy h1 { font-size: clamp(55px, 6.1vw, 96px); }
.contact-links a span { color: var(--ink); }


/* V26 — clean, clear vitrine photo; no feathering, frame, or decorative overlays. */
.vitrine-wrap { width: 100%; max-width: 320px; margin: 0 auto; padding: 0; }
.vitrine-wrap::before, .vitrine-wrap::after,
.photo-vitrine::before, .photo-vitrine::after { content: none !important; display: none !important; }
.photo-vitrine {
  width: 100%; height: auto; aspect-ratio: 4 / 3;
  border-radius: 8px; overflow: hidden; background: transparent;
  -webkit-mask-image: none !important; mask-image: none !important;
  box-shadow: none;
}
.photo-vitrine .vitrine-image {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center; border-radius: 8px;
  filter: none; opacity: 1;
}
.vitrine-caption {
  margin: 9px 0 0; text-align: center; white-space: nowrap;
  font-family: 'Nothing You Could Do', 'Caveat', cursive;
  font-size: clamp(15px, 1.35vw, 19px); font-weight: 400;
}
@media (max-width: 900px) {
  .vitrine-wrap { width: min(100%, 320px); max-width: 320px; }
}
@media (max-width: 640px) {
  .vitrine-wrap { width: min(100%, 320px); }
  .vitrine-caption { white-space: normal; }
}

/* V27 crop removed in V30. */


/* V28 — smaller About Me heading, fuller portrait inside a wider oval outline. */
.hero-copy h1 {
  font-size: clamp(43px, 4.65vw, 72px);
  line-height: 1.04;
}
.photo-hero .profile-image {
  width: 81%;
  aspect-ratio: 1.17 / 1;
  height: auto;
  object-fit: cover;
  object-position: center 40%;
}
.photo-hero::before {
  width: 91%; height: 79%; left: 4.5%; top: 10.5%;
  border-radius: 52% 48% 50% 50% / 48% 52% 47% 53%;
}
.photo-hero::after {
  width: 92%; height: 76%; left: 4%; top: 12%;
  transform: rotate(-7deg);
  border-radius: 53% 47% 49% 51% / 51% 49% 52% 48%;
}
@media (max-width: 640px) {
  .hero-copy h1 { font-size: clamp(42px, 10vw, 60px); }
  .photo-hero .profile-image { width: 82%; aspect-ratio: 1.16 / 1; }
  .photo-hero::before { height: 79%; top: 10.5%; }
  .photo-hero::after { height: 76%; top: 12%; }
}


/* V29 — show the complete vitrine without cropping. */
.photo-vitrine {
  aspect-ratio: auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  display: block;
  overflow: visible;
  background: transparent;
  border-radius: 0;
}
.photo-vitrine .vitrine-image {
  position: relative !important;
  inset: auto !important;
  display: block;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 0;
}
/* V29 — a compact, single-line gallery enquiry prompt on desktop. */
.gallery-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  column-gap: 16px;
  row-gap: 10px;
}
.gallery-note .gallery-intro {
  margin: 0;
}
.gallery-note .outline-button {
  padding: 8px 16px;
  font-size: 10px;
  line-height: 1.4;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .gallery-note { column-gap: 12px; }
  .gallery-note .outline-button { padding: 8px 13px; }
}

/* V30 — final authoritative layout: no crop, compact gallery CTA. */
.discover-grid .vitrine-wrap .photo-vitrine {
  width: 100%; height: auto !important; max-height: none !important;
  aspect-ratio: auto !important; overflow: visible !important;
  background: transparent !important; border-radius: 0 !important;
  display: block !important;
}
.discover-grid .vitrine-wrap .photo-vitrine > img.vitrine-image {
  position: static !important; display: block !important;
  width: 100% !important; height: auto !important; max-height: none !important;
  aspect-ratio: auto !important; object-fit: contain !important;
  object-position: center !important; border-radius: 0 !important;
  clip-path: none !important; mask-image: none !important; -webkit-mask-image: none !important;
}
.gallery-section .gallery-note {
  display: flex !important; flex-direction: row !important; flex-wrap: wrap !important;
  align-items: center !important; justify-content: flex-start !important;
  gap: 10px 14px !important; margin: 0 0 26px !important; text-align: left !important;
}
.gallery-section .gallery-note > .gallery-intro {
  margin: 0 !important; width: auto !important; max-width: none !important;
  flex: 0 1 auto !important;
}
.gallery-section .gallery-note > .outline-button {
  display: inline-flex !important; width: auto !important; flex: 0 0 auto !important;
  align-items: center !important; margin: 0 !important; padding: 7px 14px !important;
  font-size: 10px !important; line-height: 1.3 !important; white-space: nowrap !important;
}

/* V30 final refinements — consolidated overrides */
/* Two steps smaller than V29, retaining a two-line desktop heading. */
.hero-copy h1 { font-size: clamp(37px, 4.05vw, 63px); line-height: 1.07; }
/* One step smaller, still delicate handwritten text. */
.hero-copy .script { font-size: clamp(17px, 1.4vw, 21px); font-weight: 400; }
/* The gallery signature is larger but remains fine, not bold. */
.gallery-section .gallery-script { font-family: 'Nothing You Could Do', 'Caveat', cursive; font-size: clamp(19px, 1.65vw, 23px); font-weight: 400; line-height: 1.5; }
/* Softer, understated enquiry action: warm outline, pill shape, no solid block. */
.gallery-section .gallery-note > .outline-button {
  border: 1px solid rgba(130, 97, 71, .55) !important;
  border-radius: 999px !important; background: rgba(255, 253, 249, .48) !important;
  color: #6e503c !important; padding: 8px 17px !important;
  font-size: 10px !important; font-weight: 500 !important;
  letter-spacing: .08em !important; box-shadow: none !important;
  transition: background .2s ease, border-color .2s ease !important;
}
.gallery-section .gallery-note > .outline-button:hover { background: rgba(255,253,249,.85) !important; border-color: #8d684a !important; }
/* Keep all product images square. */
.gallery-grid .gallery-photo { aspect-ratio: 1 / 1; }
@media(max-width:640px) { .hero-copy h1 {font-size: clamp(35px, 8.3vw, 51px);} .hero-copy .script {font-size: 18px;} }

/* V31: stronger warm oval outline around the portrait — colour only. */
.photo-hero::after { border-color: rgba(153, 107, 72, .67) !important; }

/* V31: one concise gallery line, with a handwritten, gentle enquiry link. */
.gallery-heading .gallery-script { display: none !important; }
.gallery-section .gallery-note > .outline-button {
  font-family: 'Nothing You Could Do', 'Caveat', cursive !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 5px 14px !important;
  border-color: rgba(145, 108, 78, .42) !important;
  background: rgba(255,253,249,.26) !important;
}
.gallery-section .gallery-note > .gallery-intro { font-size: 13px !important; }

/* V31: a delicate circular frame behind the vitrine, without cropping it. */
.discover-grid .vitrine-wrap { position: relative; isolation: isolate; }
.discover-grid .vitrine-wrap::before {
  content: ''; position: absolute; z-index: -1;
  width: min(94%, 305px); aspect-ratio: 1 / 1;
  height: auto; top: 50%; left: 50%;
  transform: translate(-50%, -57%);
  border: 1px solid rgba(153, 107, 72, .52);
  border-radius: 50%; background: transparent;
  inset: auto; margin: 0;
}
.discover-grid .vitrine-wrap::after { display: none !important; }
.discover-grid .vitrine-wrap .photo-vitrine { position: relative; z-index: 1; }
.discover-grid .vitrine-wrap .vitrine-caption { position: relative; z-index: 2; }


/* V34 — based on V31: smooth egg-shaped portrait, two offset oval outlines. */
.photo-hero { position: relative; isolation: isolate; }
.photo-hero .profile-image {
  width: 80% !important; height: auto !important; aspect-ratio: 1.17 / 1 !important;
  object-fit: cover !important; object-position: center 42% !important;
  /* Smooth egg-like contour, without scallops or angular edges. */
  border-radius: 49% 51% 47% 53% / 54% 53% 47% 46% !important;
  clip-path: none !important; mask-image: none !important; -webkit-mask-image: none !important;
  transform: none !important; position: relative; z-index: 2;
}
.photo-hero::before {
  content: '' !important; display: block !important; position: absolute !important;
  width: 89% !important; height: 76% !important; left: 5.5% !important; top: 12% !important;
  border: 1px solid rgba(157,112,78,.52) !important;
  border-radius: 50% 50% 48% 52% / 52% 49% 51% 48% !important;
  background: none !important; transform: rotate(-10deg) !important; z-index: 3 !important;
  pointer-events: none !important;
}
.photo-hero::after {
  content: '' !important; display: block !important; position: absolute !important;
  width: 92% !important; height: 79% !important; left: 3.5% !important; top: 10% !important;
  border: 1px solid rgba(174,134,101,.39) !important;
  border-radius: 51% 49% 52% 48% / 49% 53% 47% 51% !important;
  background: none !important; transform: rotate(8deg) !important; z-index: 3 !important;
  pointer-events: none !important;
}
@media(max-width:640px){.photo-hero .profile-image{width:82% !important;}}

/* V35: calm asymmetric egg portraits and paired, offset fine oval outlines. */
.photo-hero .profile-image {
  width: 80% !important;
  height: auto !important;
  aspect-ratio: 1.13 / 1 !important;
  object-fit: cover !important;
  object-position: center 40% !important;
  border-radius: 48% 55% 49% 52% / 58% 48% 53% 43% !important;
  clip-path: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
.photo-hero::before {
  width: 88% !important; height: 79% !important;
  left: 6% !important; top: 10% !important;
  border-radius: 48% 53% 51% 49% / 54% 48% 52% 46% !important;
  transform: rotate(-9deg) !important;
}
.photo-hero::after {
  width: 92% !important; height: 83% !important;
  left: 4% !important; top: 8% !important;
  border-radius: 51% 49% 48% 52% / 48% 55% 45% 52% !important;
  transform: rotate(7deg) !important;
}
/* Vitrine: entire picture shown, 30% smaller than its V34 display size. */
.discover-grid .vitrine-wrap {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 285px !important;
  padding: 25px 0 14px !important;
}
.discover-grid .vitrine-wrap .photo-vitrine {
  width: 70% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 1.18 / 1 !important;
  overflow: hidden !important;
  border-radius: 47% 53% 49% 51% / 55% 48% 52% 45% !important;
  background: transparent !important;
  z-index: 2 !important;
}
.discover-grid .vitrine-wrap .photo-vitrine img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center center !important;
  border-radius: inherit !important;
}
.discover-grid .vitrine-wrap::before,
.discover-grid .vitrine-wrap::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background: none !important;
  border: 1px solid rgba(153,107,72,.50) !important;
  width: 82% !important; height: 76% !important;
  left: 9% !important; top: 6% !important;
  border-radius: 49% 51% 52% 48% / 54% 47% 53% 46% !important;
  transform: rotate(-10deg) !important;
  margin: 0 !important;
  inset: auto !important;
}
.discover-grid .vitrine-wrap::after {
  width: 88% !important; height: 79% !important;
  left: 6% !important; top: 5% !important;
  border-color: rgba(174,134,101,.37) !important;
  border-radius: 52% 48% 49% 51% / 49% 54% 46% 51% !important;
  transform: rotate(8deg) !important;
}
.discover-grid .vitrine-wrap .vitrine-caption { margin-top: 12px !important; }
@media(max-width:640px) {
  .photo-hero .profile-image { width: 82% !important; }
  .discover-grid .vitrine-wrap { min-height: 250px !important; }
}

/* V36 — third, pale filled organic frame OUTSIDE the two fine outlines.
   The outer layer stays behind the portrait/vitrine and leaves a visible gap. */
.photo-hero { position: relative !important; isolation: isolate !important; overflow: visible !important; background: var(--ivory) !important; }
.photo-hero .portrait-backdrop {
  position: absolute; display: block; pointer-events: none;
  width: 97%; height: 91%; left: 1.5%; top: 4.5%;
  background: #f5ece3; opacity: .72;
  border-radius: 51% 49% 54% 46% / 47% 53% 48% 52%;
  transform: rotate(-5deg); z-index: 0;
}
.photo-hero::before { z-index: 1 !important; width: 86% !important; height: 76% !important; left: 7% !important; top: 12% !important; }
.photo-hero::after { z-index: 1 !important; width: 89% !important; height: 79% !important; left: 5.5% !important; top: 10.5% !important; }
.photo-hero .profile-image { z-index: 2 !important; width: 76% !important; aspect-ratio: 1.13/1 !important; }
.discover-grid .vitrine-wrap { position: relative !important; isolation: isolate !important; }
.discover-grid .vitrine-wrap .vitrine-backdrop {
  position: absolute; display: block; pointer-events: none;
  width: 98%; height: 91%; left: 1%; top: 3%;
  background: #f5ece3; opacity: .72;
  border-radius: 52% 48% 51% 49% / 48% 52% 46% 54%;
  transform: rotate(5deg); z-index: 0;
}
.discover-grid .vitrine-wrap::before { z-index: 1 !important; width: 84% !important; height: 78% !important; left: 8% !important; top: 8% !important; }
.discover-grid .vitrine-wrap::after { z-index: 1 !important; width: 87% !important; height: 80% !important; left: 6.5% !important; top: 7% !important; }
.discover-grid .vitrine-wrap .photo-vitrine { z-index: 2 !important; width: 65% !important; }
.discover-grid .vitrine-wrap .vitrine-caption { z-index: 3 !important; }
@media (max-width:640px) {
  .photo-hero .portrait-backdrop { width: 96%; left: 2%; }
  .discover-grid .vitrine-wrap .vitrine-backdrop { height: 85%; top: 5%; }
}

/* V37 — three distinct, non-overlapping organic layers around both images. */
.photo-hero { overflow:visible !important; isolation:isolate !important; }
.photo-hero .portrait-backdrop {
  display:block !important; position:absolute !important;
  width:96% !important; height:92% !important; left:2% !important; top:4% !important;
  background:#f3e9de !important; opacity:.75 !important;
  border:0 !important; border-radius:58% 42% 51% 49% / 48% 58% 42% 52% !important;
  transform:rotate(-7deg) !important; z-index:0 !important;
}
.photo-hero::before { width:88% !important; height:82% !important; left:6% !important; top:9% !important; transform:rotate(-8deg) !important; border-color:rgba(163,119,85,.48) !important; z-index:1 !important; }
.photo-hero::after { width:85% !important; height:78% !important; left:7.5% !important; top:11% !important; transform:rotate(6deg) !important; border-color:rgba(163,119,85,.36) !important; z-index:1 !important; }
.photo-hero .profile-image { width:76% !important; height:auto !important; aspect-ratio:1.15/1 !important; object-fit:cover !important; object-position:center 40% !important; border-radius:56% 44% 51% 49% / 49% 56% 44% 51% !important; transform:rotate(-1deg) !important; z-index:2 !important; }
/* The vitrine PNG is transparent: show it in full using contain, not cover. */
.discover-grid .vitrine-wrap { min-height:260px !important; padding:10px 0 4px !important; overflow:visible !important; }
.discover-grid .vitrine-wrap .vitrine-backdrop { width:88% !important; height:82% !important; left:6% !important; top:2% !important; border-radius:54% 46% 52% 48% / 48% 55% 45% 52% !important; background:#f3e9de !important; opacity:.75 !important; transform:rotate(-6deg) !important; z-index:0 !important; }
.discover-grid .vitrine-wrap::before { width:80% !important; height:73% !important; left:10% !important; top:7% !important; transform:rotate(8deg) !important; border-color:rgba(163,119,85,.5) !important; z-index:1 !important; }
.discover-grid .vitrine-wrap::after { display:block !important; width:77% !important; height:70% !important; left:11.5% !important; top:8.5% !important; transform:rotate(-7deg) !important; border-color:rgba(163,119,85,.35) !important; z-index:1 !important; }
.discover-grid .vitrine-wrap .photo-vitrine { width:58.5% !important; height:auto !important; aspect-ratio:4/3 !important; overflow:visible !important; border-radius:0 !important; background:transparent !important; z-index:2 !important; }
.discover-grid .vitrine-wrap .photo-vitrine img { position:relative !important; inset:auto !important; width:100% !important; height:auto !important; object-fit:contain !important; object-position:center !important; border-radius:0 !important; }
.discover-grid .vitrine-wrap .vitrine-caption { margin-top:7px !important; position:relative !important; z-index:3 !important; }
@media(max-width:640px) { .photo-hero .profile-image{width:74% !important;} .discover-grid .vitrine-wrap{min-height:230px !important;} }

/* V38 — Option 1: two offset, unfilled asymmetric rings and one pale filled ring.
   Both photographs are horizontal, softly irregular egg shapes. */
.photo-hero .portrait-backdrop {
  width: 99% !important; height: 94% !important;
  left: 0.5% !important; top: 3% !important;
  background: #f3e9de !important; opacity: .78 !important;
  border-radius: 58% 42% 55% 45% / 59% 46% 54% 41% !important;
  transform: rotate(-11deg) !important;
}
.photo-hero::before {
  width: 91% !important; height: 83% !important;
  left: 4.5% !important; top: 9% !important;
  border-radius: 55% 45% 52% 48% / 54% 48% 52% 46% !important;
  transform: rotate(-12deg) !important;
  background: transparent !important;
}
.photo-hero::after {
  width: 87% !important; height: 79% !important;
  left: 6.5% !important; top: 11% !important;
  border-radius: 48% 52% 56% 44% / 47% 56% 44% 53% !important;
  transform: rotate(9deg) !important;
  background: transparent !important;
}
.photo-hero .profile-image {
  width: 79% !important; aspect-ratio: 1.48 / 1 !important;
  border-radius: 57% 43% 54% 46% / 59% 45% 55% 41% !important;
  transform: rotate(-2deg) !important;
  object-fit: cover !important; object-position: center 42% !important;
}
.discover-grid .vitrine-wrap { min-height: 245px !important; }
.discover-grid .vitrine-wrap .vitrine-backdrop {
  width: 94% !important; height: 77% !important;
  left: 3% !important; top: 3% !important;
  border-radius: 56% 44% 53% 47% / 57% 44% 56% 43% !important;
  transform: rotate(-10deg) !important;
  background: #f3e9de !important; opacity: .78 !important;
}
.discover-grid .vitrine-wrap::before {
  width: 87% !important; height: 71% !important;
  left: 6.5% !important; top: 6% !important;
  border-radius: 54% 46% 51% 49% / 55% 47% 53% 45% !important;
  transform: rotate(-11deg) !important;
  background: transparent !important;
}
.discover-grid .vitrine-wrap::after {
  width: 83% !important; height: 68% !important;
  left: 8.5% !important; top: 8% !important;
  border-radius: 47% 53% 55% 45% / 48% 56% 44% 52% !important;
  transform: rotate(8deg) !important;
  background: transparent !important;
}
.discover-grid .vitrine-wrap .photo-vitrine {
  width: 70% !important; aspect-ratio: 1.55 / 1 !important;
  height: auto !important; overflow: hidden !important;
  border-radius: 56% 44% 54% 46% / 58% 46% 54% 42% !important;
  transform: rotate(-2deg) !important;
  background: transparent !important;
}
.discover-grid .vitrine-wrap .photo-vitrine img {
  display: block !important; width: 100% !important; height: 100% !important;
  object-fit: cover !important; object-position: center 44% !important;
  border-radius: inherit !important; transform: rotate(2deg) scale(1.03) !important;
}
.discover-grid .vitrine-wrap .vitrine-caption { margin-top: 12px !important; }
@media(max-width:640px){
  .photo-hero .profile-image { width: 79% !important; }
  .discover-grid .vitrine-wrap { min-height: 220px !important; }
}

/* V39: subtle refinements to the About Me portrait and product philosophy */
@media (min-width: 641px) {
  .photo-hero .portrait-backdrop {
    width: 89% !important; height: 86% !important; left: 5.5% !important; top: 7% !important;
    border-radius: 60% 40% 53% 47% / 55% 44% 56% 45% !important;
  }
  .photo-hero::before {
    width: 85% !important; height: 79% !important; left: 7.5% !important; top: 10.5% !important;
    border-color: rgba(169,123,85,.48) !important;
  }
  .photo-hero::after {
    width: 82% !important; height: 76% !important; left: 9% !important; top: 12% !important;
    border-color: rgba(169,123,85,.37) !important;
  }
}
.philosophy-copy .script.smaller { font-weight: 400 !important; font-style: italic; }
.philosophy-copy h2 { margin-top: 0; }
.philosophy-copy p { line-height: 1.85; }

/* V40 — cosmetic refinements only; section layout unchanged. */
/* About: 20% smaller pale filled egg; photo taller and subtly diagonal. */
.photo-hero .portrait-backdrop {
  width: 71.2% !important; height: 68.8% !important;
  left: 14.4% !important; top: 15.6% !important;
  border-radius: 61% 39% 52% 48% / 53% 47% 58% 42% !important;
  transform: rotate(-14deg) !important;
}
.photo-hero .profile-image {
  width: 79% !important; aspect-ratio: 1.25 / 1 !important;
  border-radius: 61% 39% 54% 46% / 55% 45% 59% 41% !important;
  transform: rotate(-7deg) !important;
  object-fit: cover !important; object-position: center 40% !important;
}
/* Vitrine: shrink the pale egg 20%; make the photograph taller. */
.discover-grid .vitrine-wrap .vitrine-backdrop {
  width: 75.2% !important; height: 61.6% !important;
  left: 12.4% !important; top: 10.7% !important;
  border-radius: 60% 40% 53% 47% / 54% 46% 59% 41% !important;
  transform: rotate(-13deg) !important;
}
.discover-grid .vitrine-wrap .photo-vitrine {
  width: 70% !important; aspect-ratio: 1.23 / 1 !important;
  border-radius: 60% 40% 54% 46% / 55% 45% 59% 41% !important;
  transform: rotate(-6deg) !important;
}
.discover-grid .vitrine-wrap .photo-vitrine img {
  object-fit: cover !important; object-position: center center !important;
  transform: rotate(6deg) scale(1.03) !important;
}
/* Larger but still light handwritten statement. */
.philosophy-copy .script.smaller {
  font-family: 'Nothing You Could Do','Caveat',cursive !important;
  font-size: clamp(32px, 3.5vw, 52px) !important;
  font-weight: 400 !important; font-style: normal !important; line-height: 1.25 !important;
}
@media(max-width:640px) {
  .photo-hero .profile-image { width: 79% !important; }
  .philosophy-copy .script.smaller { font-size: clamp(29px, 7vw, 40px) !important; }
}

/* V41 — targeted cosmetic adjustments; section grids and spacing unchanged. */
.hero-copy .script { white-space: nowrap; font-size: clamp(15px, 1.45vw, 20px) !important; }
.photo-hero .portrait-backdrop {
  width: 78.3% !important; height: 75.7% !important;
  left: 10.85% !important; top: 12.15% !important;
  background: #f1e6db !important; opacity: .78 !important;
}
.philosophy-copy .script.smaller { font-size: clamp(26px, 2.65vw, 39px) !important; }
.discover-section .eyebrow.centered { text-align: left !important; }
.discover-grid .vitrine-wrap .vitrine-backdrop {
  width: 79% !important; height: 64.7% !important;
  left: 10.5% !important; top: 9.2% !important;
  background: #f1e6db !important; opacity: .9 !important;
}
/* Keep the entire transparent PNG visible, including the base of the cabinet. */
.discover-grid .vitrine-wrap .photo-vitrine {
  height: auto !important; aspect-ratio: auto !important;
  overflow: visible !important; border-radius: 0 !important;
  transform: none !important; background: transparent !important;
}
.discover-grid .vitrine-wrap .photo-vitrine img {
  display: block !important; width: 100% !important; height: auto !important;
  object-fit: contain !important; transform: none !important;
  border-radius: 0 !important; clip-path: none !important;
}
@media (max-width: 640px) {
  .hero-copy .script { white-space: normal; font-size: 18px !important; }
  .philosophy-copy .script.smaller { font-size: 30px !important; }
}

/* V42 — handmade photo: same organic visual language as portrait and vitrine,
   without changing the existing two-column section layout. */
.philosophy .photo-nature {
  isolation:isolate; overflow:hidden; background:#e8d9c9;
  padding:28px 32px; min-height:390px;
}
.philosophy .photo-nature::before,
.philosophy .photo-nature::after { content:none !important; }
.photo-nature .nature-backdrop {
  position:absolute; width:86%; height:88%; z-index:0;
  background:#f4e9de; border-radius:47% 53% 44% 56% / 53% 44% 56% 47%;
  transform:rotate(-10deg);
}
.photo-nature .nature-outline {
  position:absolute; width:88%; height:87%; z-index:1; pointer-events:none;
  border:1px solid rgba(164,120,86,.45);
  border-radius:46% 54% 50% 50% / 55% 43% 57% 45%;
}
.photo-nature .nature-outline-one {transform:rotate(9deg) translate(-2%,1%)}
.photo-nature .nature-outline-two {transform:rotate(-13deg) translate(2%,-1%); opacity:.7}
.photo-nature .nature-image {
  position:relative; z-index:2; display:block; width:81%; height:84%;
  object-fit:cover; object-position:center 54%;
  border-radius:49% 51% 46% 54% / 54% 45% 55% 46%;
  transform:rotate(-5deg);
}
@media(max-width:760px){
  .philosophy .photo-nature {height:320px; min-height:320px; padding:20px}
  .photo-nature .nature-image {height:84%; width:76%}
}


/* V43 — consistent readable copy and balanced organic imagery. */
/* Both handwritten statements use the same responsive sizing. */
.hero-copy .script,
.philosophy-copy .script.smaller {
  font-size: clamp(20px, 1.8vw, 26px) !important;
  font-weight: 400 !important;
}
/* Paragraph and supporting copy; headings and navigation are unchanged. */
.hero-copy .hero-story, .hero-copy .hero-story p,
.philosophy-copy > p:not(.script),
.discover-option > p, .discover-option address,
.gallery-intro, .gallery-note .gallery-intro,
.contact-description, .contact-grid p:not(.script),
.discover-grid .vitrine-caption { font-size: 17px !important; }
/* About: increase the pale filled organic shape by about 5%, without changing the portrait. */
.photo-hero .portrait-backdrop {
  width: 82.2% !important; height: 79.5% !important;
  left: 8.9% !important; top: 10.2% !important;
}
/* Handmade photo and its framing are 20% smaller; filled shape reduced a further 10%. */
.philosophy .photo-nature { min-height: 390px; }
.photo-nature .nature-image { width: 64.8% !important; height: 67.2% !important; }
.photo-nature .nature-outline { width: 70.4% !important; height: 69.6% !important; }
.photo-nature .nature-backdrop { width: 61.9% !important; height: 63.4% !important; }
/* Vitrine: organic asymmetric oval crop, not a rectangular photograph.
   Keep a natural 4:3-ish ratio and center the cabinet to preserve its base. */
.discover-grid .vitrine-wrap .photo-vitrine {
  width: 77% !important; aspect-ratio: 1.33 / 1 !important;
  height: auto !important; overflow: hidden !important;
  border-radius: 56% 44% 53% 47% / 49% 57% 43% 51% !important;
  transform: rotate(-3deg) !important;
  background: #f1e6db !important;
}
.discover-grid .vitrine-wrap .photo-vitrine > img.vitrine-image {
  display: block !important; width: 100% !important; height: 100% !important;
  aspect-ratio: 1.33 / 1 !important; object-fit: cover !important;
  object-position: center 52% !important;
  border-radius: inherit !important; clip-path: none !important;
  transform: rotate(3deg) scale(1.015) !important;
}
@media (max-width: 760px) {
  .hero-copy .script, .philosophy-copy .script.smaller { font-size: clamp(20px, 4.2vw, 26px) !important; }
  .photo-nature .nature-image { width: 64.8% !important; height: 67.2% !important; }
}

/* V44 — restore body copy to 16px, subtly adjust image proportions. */
.hero-copy .hero-story, .hero-copy .hero-story p,
.philosophy-copy > p:not(.script),
.discover-option > p, .discover-option address,
.gallery-intro, .gallery-note .gallery-intro,
.gallery-section .gallery-note > .gallery-intro,
.contact-description, .contact-grid p:not(.script),
.discover-grid .vitrine-caption { font-size: 16px !important; }
/* About: beige backdrop 5% smaller than V43; portrait unchanged. */
.photo-hero .portrait-backdrop {
  width: 78.1% !important; height: 75.5% !important;
  left: 10.95% !important; top: 12.2% !important;
}
/* Vitrine: oval shape and crop retained; photo 5% smaller. */
.discover-grid .vitrine-wrap .photo-vitrine { width: 73.15% !important; }

/* V46 — slightly tighter spacing between the three About paragraphs. */
.hero-copy .hero-story p { margin-top: 0 !important; margin-bottom: 13px !important; }
.hero-copy .hero-story p:last-child { margin-bottom: 0 !important; }
@media (max-width: 640px) {
  .hero-copy .hero-story p { margin-bottom: 12px !important; }
}


/* V47 — a subtle, curved right edge for About paragraphs on wide screens.
   The portrait, headings, and handwritten line are intentionally unchanged.
   The invisible right float gently shortens lines around the centre of the
   story to echo the left contour of the adjacent oval portrait. */
@media (min-width: 1100px) {
  .hero-copy .hero-story::before {
    content: "";
    display: block;
    float: right;
    width: 42px;
    height: 400px;
    shape-outside: polygon(
      100% 0%, 100% 100%,
      75% 100%, 55% 88%, 28% 74%,
      5% 60%, 0% 48%, 8% 35%,
      35% 20%, 65% 8%, 100% 0%
    );
    pointer-events: none;
  }
  .hero-copy .hero-story::after { content: ""; display: block; clear: both; }
}

/* V49 — stronger, flowing curved right edge for About body text.
   A larger invisible float creates a pronounced inward curve around the
   middle paragraphs, returning to full line length near the bottom.
   No changes to portrait, heading or mobile layout. */
@media (min-width: 1100px) {
  .hero-copy .hero-story::before {
    width: 124px;
    height: 540px;
    shape-margin: 0;
    shape-outside: polygon(
      100% 0%, 100% 100%,
      100% 100%, 94% 93%, 78% 84%, 48% 74%,
      16% 64%, 2% 54%, 0% 46%, 9% 35%,
      31% 24%, 59% 13%, 85% 5%, 100% 0%
    );
  }
}


/* V50 — restore straight-edged About paragraphs; no oval text wrapping. */
.hero-copy .hero-story::before, .hero-copy .hero-story::after {
  content: none !important; display: none !important; float: none !important;
}
/* V50 — rounder, gently asymmetric portrait crop; keep image and outlines intact. */
.photo-hero .profile-image {
  aspect-ratio: 1.08 / 1 !important;
  border-radius: 55% 45% 53% 47% / 49% 53% 47% 51% !important;
  transform: rotate(-3deg) !important;
}
@media (max-width: 640px) {
  .photo-hero .profile-image { aspect-ratio: 1.08 / 1 !important; }
}
