/* Local webfonts. Copyright and SIL OFL notices are in assets/fonts/. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Italiana';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/italiana-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--bg:#151313;--bg-2:#211c1d;--bg-3:#292123;--cream:#f1e9e4;--cream2:#e7dcd7;--rose:#ddb0b8;--rose-bright:#edc4cb;--ink:#faf5f2;--muted:#c2b1b1;--line:#514145;--coal:#282022;--ink-dark:#2a2022;--sans:'DM Sans',Arial,sans-serif;--serif:'Italiana',Georgia,serif;--max:1200px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.72 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}::selection{background:var(--rose);color:var(--coal)}:focus-visible{outline:2px solid var(--rose-bright);outline-offset:4px}.skip{position:absolute;top:-100px;left:15px;padding:14px;background:var(--rose);color:var(--coal);z-index:100}.skip:focus{top:12px}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.kicker{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700;color:var(--rose)}.display,.heading,.card-title{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}.display{font-size:clamp(75px,8.9vw,144px);margin:18px 0 28px}.heading{font-size:clamp(55px,6.3vw,89px);margin:15px 0 26px}.card-title{font-size:clamp(45px,4.1vw,63px);margin:8px 0 14px}.italic{font-style:italic;color:var(--rose);font-weight:400}.lead{font-size:clamp(16px,1.6vw,19px);line-height:1.75;color:#ddd0cd}.muted{color:var(--muted)}.light .kicker{color:#955763}.light .italic{color:#9f636f}.light .lead,.light .muted{color:#65595a}.light{background:var(--cream);color:var(--ink-dark)}.section{padding:112px 0}.section-intro{max-width:730px;margin-bottom:45px}.section-intro p{max-width:630px}.text-link{color:var(--rose-bright);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;text-decoration:none;display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid rgba(237,196,203,.65);padding-bottom:6px}.text-link:hover{color:white}.light .text-link{color:#894d59;border-bottom-color:#a57279}.btn{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:15px 27px;text-decoration:none;white-space:normal;border:1px solid var(--rose);background:none;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;transition:background-color .2s,border-color .2s,transform .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-fill{background:var(--rose);color:var(--coal)}.btn-fill:hover{background:var(--rose-bright)}.btn-stroke:hover{border-color:var(--rose-bright);color:var(--rose-bright)}.btn-dark{background:var(--coal);border-color:var(--coal);color:var(--ink)}.btn-dark:hover{background:#503840}.btn-small{min-height:44px;padding:10px 16px}.btn-arrow{font-size:17px;font-weight:400;line-height:1}.btn-group{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.topline{font-size:10px;letter-spacing:.16em;text-transform:uppercase;background:#201b1c;border-bottom:1px solid #3e3336;color:#d4c4c2}.topline-inner{height:33px;display:flex;align-items:center;justify-content:space-between}.topline a{text-decoration:none}.topline a:hover{color:var(--rose)}.nav{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(225,178,186,.18);background:rgba(21,19,19,.94);backdrop-filter:blur(16px)}.nav-inner{min-height:81px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{display:flex;align-items:baseline;gap:13px;white-space:nowrap;text-decoration:none}.logo-main{font:500 48px/1 var(--serif);color:var(--rose);letter-spacing:-.06em}.logo-sub{font-size:9px;text-transform:uppercase;letter-spacing:.21em;font-weight:700;color:#eddfdb}.navigation{display:flex;align-items:center;gap:30px}.navigation>a{text-decoration:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;white-space:nowrap}.navigation>a:hover{color:var(--rose)}.navigation .book-link{border:1px solid var(--rose);padding:13px 19px;color:var(--rose)}.navigation .book-link:hover{background:var(--rose);color:var(--coal)}.language{display:flex;align-items:center;gap:5px;border-left:1px solid var(--line);padding-left:22px}.language a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.09em;padding:5px;color:#b2a1a0}.language a[aria-current='page']{color:var(--rose);font-weight:700}.menu-button{display:none;border:1px solid var(--line);background:none;color:var(--ink);min-height:40px;min-width:43px;padding:8px;font-size:21px}.hero{position:relative;min-height:665px;overflow:hidden}.hero-grid{min-height:665px;display:grid;grid-template-columns:1.07fr .93fr;align-items:stretch;gap:0}.hero-left{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:95px 30px 90px 0}.hero-left>.kicker{margin:0}.hero .display{max-width:680px}.hero .display span{display:block}.hero-description{color:#d3c6c2;max-width:430px;margin:0 0 32px;line-height:1.82;font-size:17px}.hero-scroll{margin-top:74px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#b9a4a6;display:flex;align-items:center;gap:18px}.hero-scroll:before{content:'';display:inline-block;width:39px;height:1px;background:var(--rose)}.hero-art{position:relative;margin:42px 0 42px 25px;min-height:570px;border:1px solid #6a4d54;background:radial-gradient(circle at 64% 44%,rgba(242,203,205,.12),transparent 47%),linear-gradient(140deg,#403238 0%,#211b1f 55%,#34252c 100%);overflow:hidden}.hero-art:before{content:'';position:absolute;inset:7%;border:1px solid rgba(235,197,203,.24)}.hero-art:after{content:'';position:absolute;top:50%;left:45%;transform:translate(-50%,-50%);width:80%;aspect-ratio:1;border:1px solid rgba(246,206,214,.30);border-radius:50%;box-shadow:0 0 0 53px rgba(245,190,207,.035),0 0 0 125px rgba(245,190,207,.025)}.hero-monogram{font:400 clamp(320px,40vw,570px)/1 var(--serif);position:absolute;top:38%;left:46%;transform:translate(-50%,-50%);color:rgba(230,175,189,.2);letter-spacing:-.1em;z-index:1}.hero-ribbon{position:absolute;z-index:2;right:8%;bottom:13%;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.hero-ribbon span{font:italic 48px/1 var(--serif);color:var(--rose-bright)}.hero-ribbon small{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:#d7bcc0;margin-top:9px}.hero-index{position:absolute;top:10%;left:13%;font-size:10px;color:#d6b4bc;letter-spacing:.24em;text-transform:uppercase;z-index:2}.pills{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#1c1819}.pill-grid{min-height:83px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center}.pill-grid span{text-align:center;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:600;color:#debdc2}.pill-grid span+span{border-left:1px solid #49383c}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:12%;align-items:center}.about-text{max-width:570px}.about-text p{max-width:570px}.about-aside{position:relative;border-left:1px solid #c5aca9;padding:58px 10px 54px 55px}.about-aside .quote{font:italic 46px/1.15 var(--serif);letter-spacing:-.02em;color:#8f5b65}.about-aside .signature{text-transform:uppercase;letter-spacing:.18em;color:#8f5b65;font-size:11px;display:block;margin-top:30px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{min-height:385px;padding:31px 31px 29px;border:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.service-card:hover{border-color:#9f7d82;transform:translateY(-3px)}.service-top{display:flex;align-items:center;justify-content:space-between;color:var(--rose);font-size:11px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:36px}.service-glyph{font:italic 41px/1 var(--serif);opacity:.65;letter-spacing:0}.service-card p{color:#c4b2b1;font-size:14px;line-height:1.7;margin:0 0 25px}.service-card .text-link{margin-top:auto;align-self:flex-start}.feature{padding:0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.feature-info{padding:105px max(40px,calc((100vw - var(--max))/2)) 90px max(40px,calc((100vw - var(--max))/2));padding-right:70px;display:flex;flex-direction:column;justify-content:center}.feature-info .heading{max-width:600px}.feature-info p{max-width:500px}.feature-art{background:linear-gradient(135deg,#e2ccc8,#bf999c 55%,#7d626e);position:relative;overflow:hidden;display:grid;place-items:center}.feature-art:before,.feature-art:after{content:'';position:absolute;width:520px;height:520px;border:1px solid rgba(78,43,52,.28);border-radius:50%;transform:rotate(32deg) scaleX(.68)}.feature-art:after{transform:rotate(-32deg) scaleX(.68)}.feature-art .art-word{font:italic clamp(85px,10vw,165px)/1 var(--serif);letter-spacing:-.06em;color:rgba(90,55,65,.63);z-index:2;text-align:center}.feature-art .art-caption{position:absolute;left:42px;bottom:40px;color:#66494f;text-transform:uppercase;letter-spacing:.21em;font-size:10px}.service-detail{padding:105px 0 90px}.detail-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:end;margin-bottom:39px}.detail-head h2{margin-bottom:0}.detail-head p{margin-bottom:0;max-width:545px}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.detail-block{padding:29px 0;border-top:1px solid var(--line)}.detail-block h3{font:400 36px/1.1 var(--serif);color:var(--rose);margin:0 0 18px}.detail-block ul{list-style:none;padding:0;margin:0;color:#d5c7c5;font-size:14px}.detail-block li{margin-bottom:11px}.detail-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;border-top:1px solid var(--line);padding-top:26px}.detail-bottom p{margin:0;max-width:590px;color:var(--muted);font-size:13px}.split-services{display:grid;grid-template-columns:1fr 1fr;gap:22px}.split-card{background:#241e20;border:1px solid var(--line);padding:49px 42px 45px;display:flex;flex-direction:column}.split-card .kicker{margin:0 0 18px}.split-card h3{font:400 clamp(48px,4.5vw,66px)/1.05 var(--serif);letter-spacing:-.03em;margin:0 0 16px}.split-card p{color:#c9b8b7;max-width:510px}.split-card ul{padding:0;list-style:none;color:#ebdbd8;font-size:13px;margin:12px 0 28px}.split-card li{padding:9px 0;border-bottom:1px solid #49383d}.split-card li:first-child{border-top:1px solid #49383d}.split-card .text-link{margin-top:auto;align-self:flex-start}.price{color:var(--rose);font-size:26px;font-family:var(--serif);margin-bottom:10px}.price small{display:block;font:400 11px/1.5 var(--sans);color:var(--muted)}.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}.gallery-head .section-intro{margin:0}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}.gallery-photo{min-height:355px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid #776367;background:linear-gradient(145deg,#3a2f32,#201b1e)}.gallery-photo:before{content:'';width:180%;height:110%;border:1px solid rgba(241,193,203,.25);border-radius:50%;position:absolute;transform:rotate(35deg);left:-42%;top:-20%}.gallery-photo:after{content:'';position:absolute;width:115%;height:140%;border:1px solid rgba(241,193,203,.14);border-radius:50%;left:30%;top:25%;transform:rotate(-25deg)}.gallery-photo:nth-child(2){background:linear-gradient(150deg,#564248,#30252a)}.gallery-photo:nth-child(3){background:linear-gradient(160deg,#594349,#281d24)}.gallery-photo .photo-label{z-index:1;text-align:center;color:var(--rose-bright);font:italic 41px/1 var(--serif);padding:25px}.gallery-photo .photo-type{position:absolute;top:20px;left:21px;z-index:1;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#e5bec5}.gallery-photo .photo-hint{position:absolute;bottom:19px;left:21px;right:21px;z-index:1;font-size:10px;letter-spacing:.03em;color:#dbc5c6}.gallery-note{margin-top:17px;color:var(--muted);font-size:12px}.cta-section{padding:100px 0;background:var(--cream);color:var(--coal)}.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.cta-section .heading{max-width:630px}.cta-section p{max-width:610px}.contact-panel{background:#e7d8d5;border:1px solid #d1b9b8;padding:29px 32px 32px}.contact-panel label{display:block;margin-bottom:9px;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#724850}.contact-panel select,.contact-panel textarea{display:block;width:100%;padding:13px 14px;border:1px solid #bc9fa1;background:#f8f0ec;color:#362a2b;border-radius:0;outline:none}.contact-panel select:focus,.contact-panel textarea:focus{border-color:#804451;box-shadow:0 0 0 2px #80445122}.contact-panel textarea{height:95px;resize:vertical;margin-bottom:20px}.contact-panel .field{margin-bottom:17px}.contact-panel .btn{width:100%;margin-top:3px}.contact-panel small{display:block;color:#6c5d5f;font-size:11px;margin-top:14px;line-height:1.5}.contact-section{padding:105px 0 84px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%}.contact-section h3{font:400 40px/1.15 var(--serif);color:var(--rose);margin:0 0 17px}.contact-section address{font-style:normal}.contact-section p{color:#d8c9c7}.contact-box{padding-top:22px;border-top:1px solid var(--line);margin-bottom:24px}.contact-box .detail-label{font-size:10px;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin:0 0 10px}.contact-box a:not(.btn){color:var(--rose-bright);text-underline-offset:5px}.contact-box p{margin:0}.social{display:flex;gap:22px;flex-wrap:wrap}.social a{text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:3px}.faq{padding:65px 0 80px;border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:75px}.faq h2{font-size:58px;margin:8px 0 0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;list-style:none;font-size:14px;font-weight:600;cursor:pointer;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:26px;color:var(--rose);line-height:1}.faq details[open] summary:after{content:'–'}.faq details p{color:var(--muted);font-size:13px;line-height:1.75;max-width:600px;margin:14px 25px 0 0}.footer{background:#110f10;border-top:1px solid var(--line);padding:32px 0;color:#b4a2a2;font-size:12px}.footer-flex{display:flex;gap:30px;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer a{color:var(--rose);text-decoration:none}.footnote{margin-top:15px;font-size:10px;color:#988787}.mobile-contact{display:none}
@media(max-width:1150px){.navigation{gap:17px}.navigation>a{font-size:10px}.language{padding-left:10px}.hero-left{padding-right:10px}.hero-art{margin-left:14px}.feature-info{padding-left:50px;padding-right:40px}}
@media(max-width:880px){.wrap{width:calc(100% - 46px)}.nav-inner{min-height:71px}.logo-main{font-size:42px}.logo-sub{font-size:8px}.navigation{position:absolute;top:71px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:17px 24px 23px;background:#211a1d;border-bottom:1px solid var(--line);box-shadow:0 18px 20px #0004}.navigation.is-open{display:flex}.navigation>a{padding:13px 5px;font-size:12px}.navigation .book-link{text-align:center;margin-top:11px}.menu-button{display:inline-flex;align-items:center;justify-content:center}.language{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:13px;margin-top:8px}.language a{font-size:12px}.hero-grid{min-height:590px}.hero-art{min-height:480px}.hero .display{font-size:clamp(70px,9.5vw,100px)}.about-grid{gap:40px}.feature-grid{min-height:520px}.feature-info{padding:65px 35px}.feature-art .art-word{font-size:100px}.detail-head{gap:30px}.split-card{padding:32px}.faq-grid{gap:35px}}
@media(max-width:680px){html{scroll-padding-top:75px}.topline-inner{height:29px}.topline-inner a{display:none}.topline{font-size:9px}.nav-inner{min-height:68px}.navigation{top:68px}.logo-main{font-size:39px}.logo-sub{font-size:8px}.wrap{width:calc(100% - 36px)}.section{padding:72px 0}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-left{padding:70px 0 54px}.hero .display{font-size:clamp(70px,16vw,105px);line-height:.93;margin:22px 0 25px}.hero-description{font-size:15px;max-width:450px}.hero-art{min-height:325px;margin:0 0 28px}.hero-monogram{font-size:340px}.hero-ribbon span{font-size:39px}.hero-ribbon small{font-size:8px}.hero-scroll{display:none}.pill-grid{min-height:66px}.pill-grid span{font-size:9px;letter-spacing:.1em}.about-grid,.detail-head,.feature-grid,.split-services,.cta-grid,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:26px}.about-aside{padding:22px 5px 22px 25px}.about-aside .quote{font-size:35px}.about-aside .signature{margin-top:17px}.heading{font-size:clamp(52px,12vw,72px)}.services-grid{grid-template-columns:1fr;gap:13px}.service-card{min-height:0;padding:28px}.service-top{margin-bottom:20px}.card-title{font-size:53px}.feature-info{padding:70px 18px}.feature-art{min-height:260px}.feature-art .art-word{font-size:90px}.feature-art .art-caption{left:20px;bottom:18px}.service-detail{padding:72px 0}.detail-list{grid-template-columns:1fr;gap:0}.detail-block{padding:24px 0}.detail-bottom{flex-direction:column;align-items:stretch}.detail-bottom .btn{width:100%}.split-card{padding:33px 25px}.gallery-head{flex-direction:column;align-items:stretch}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-photo{min-height:230px}.gallery-photo:first-child{grid-column:1/-1;min-height:300px}.gallery-photo .photo-label{font-size:34px}.gallery-photo .photo-hint{font-size:9px}.cta-section{padding:72px 0}.contact-panel{padding:25px 21px}.contact-section{padding:78px 0 60px}.faq{padding:55px 0 90px}.faq h2{font-size:55px}.footer{padding:27px 0 90px}.mobile-contact{position:fixed;z-index:28;bottom:0;left:0;right:0;display:block;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:rgba(23,20,21,.97);border-top:1px solid var(--line);box-shadow:0 -8px 30px #0005}.mobile-contact a{display:flex;justify-content:center;align-items:center;gap:12px;background:var(--rose);color:#241d1e;text-align:center;text-decoration:none;padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}}
@media(max-width:390px){.logo-sub{display:none}.hero .display{font-size:65px}.pill-grid span{letter-spacing:.04em}.gallery-photo .photo-label{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* P.ink v3 — restored editorial style from the first prototype */
.display,.heading,.card-title{letter-spacing:-.045em;line-height:1.08}
.italic{font-style:normal}
/* Keep text readable with Italiana's more generous glyph proportions */
.hero .display{font-size:clamp(65px,7.5vw,119px)}
.heading{font-size:clamp(45px,5.2vw,73px)}
.card-title{font-size:clamp(39px,3.6vw,52px)}
.logo-main{font-weight:400;font-size:46px;letter-spacing:-.045em}
.about-aside .quote{font-style:normal;font-size:clamp(35px,3.3vw,48px)}
.feature-art .art-word,.gallery-photo .photo-label{font-style:normal}
/* Original right-side treatment: soft concentric circles and a discreet capital P.
   All decorative graphics are CSS; no borrowed photographs. */
.hero-art-original{background:transparent;border:0;margin:30px -5px 28px 0;min-height:600px;overflow:visible;isolation:isolate}
.hero-art-original:before{content:'';position:absolute;inset:auto;left:51%;top:50%;width:min(39vw,570px);height:min(39vw,570px);transform:translate(-50%,-50%);border:1px solid rgba(223,177,184,.25);border-radius:50%;box-shadow:0 0 0 85px rgba(223,177,184,.033),0 0 0 169px rgba(223,177,184,.017)}
.hero-art-original:after{display:none}
.hero-art-original .hero-logo-mark{position:absolute;left:52.5%;top:49%;transform:translate(-50%,-50%);width:min(49vw,650px);height:auto;display:block;opacity:.95;z-index:1;pointer-events:none;user-select:none}
.hero-art-original .hero-index,.hero-art-original .hero-ribbon,.hero-art-original .hero-monogram{display:none}
.hero-art-original .hero-detail{position:absolute;right:9%;bottom:15%;font-size:11px;letter-spacing:.23em;text-transform:uppercase;color:rgba(223,177,184,.56)}
.hero-scroll{margin-top:60px}
@media(max-width:880px){
 .hero .display{font-size:clamp(64px,8.4vw,100px)}
 .hero-art-original{min-height:480px;margin:20px -7px 20px 0}
 .hero-art-original:before{width:430px;height:430px}
 .hero-art-original .hero-logo-mark{width:488px}
}
@media(max-width:680px){
 .logo-main{font-size:39px}
 .hero .display{font-size:clamp(58px,13.8vw,91px);line-height:1.03}
 .hero-left{padding:65px 0 24px}
 .hero-art-original{min-height:250px;margin:0 0 24px}
 .hero-art-original:before{width:285px;height:285px;box-shadow:0 0 0 48px rgba(223,177,184,.035),0 0 0 105px rgba(223,177,184,.017)}
 .hero-art-original .hero-logo-mark{width:300px;top:50%}
 .hero-art-original .hero-detail{font-size:9px;bottom:7%}
 .heading{font-size:clamp(45px,11vw,68px)}
 .card-title{font-size:45px}
 .about-aside .quote{font-size:35px}
}
@media(max-width:390px){.hero .display{font-size:clamp(54px,13.7vw,66px)}.hero-art-original .hero-logo-mark{width:269px}}


/* P.ink v4 — interactive editorial spotlight and care guides */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.spotlight{background:var(--cream);position:relative}
.spotlight-slide[hidden]{display:none!important}
.spotlight-slide{animation:spotlight-appear .35s ease both}
@keyframes spotlight-appear{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.spotlight .feature-grid{min-height:590px}
.spotlight .feature-info{padding-bottom:74px;padding-top:78px}
.spotlight .feature-info .heading{font-size:clamp(45px,5.2vw,73px)}
.spotlight .feature-info p{max-width:550px}
.spotlight .feature-info .lead{line-height:1.57}
.spotlight .feature-info .muted{line-height:1.68}
.spotlight .feature-info .btn-group{margin-top:15px}
.spotlight .btn-outline-ink{color:#3d3033;border-color:#ad8e94;background:transparent}
.spotlight .btn-outline-ink:hover{color:#281d20;border-color:#674750;background:#ead9d8}
.spotlight .feature-art-care{background:linear-gradient(135deg,#d9b7bc 0%,#aa858d 48%,#54424c 100%)}
.spotlight .feature-art-tattoo{background:linear-gradient(135deg,#e5d2c9 0%,#bcaaa6 48%,#806975 100%)}
.spotlight .feature-art-care::before,.spotlight .feature-art-care::after{border-color:rgba(250,227,224,.35)}
.spotlight .feature-art-care .art-word{font-size:clamp(80px,10vw,145px);color:#fff8f4}
.spotlight .feature-art-tattoo .art-word{font-size:clamp(83px,10vw,140px);color:#55434b}
.spotlight .feature-art .art-caption{letter-spacing:.18em}
.spotlight-controls{height:72px;display:flex;align-items:center;justify-content:center;gap:52px;background:#e9ded9;border-top:1px solid #d5c6c3;position:relative}
.spotlight-arrow{width:45px;height:45px;display:grid;place-items:center;border:1px solid #bda3a2;background:transparent;color:#4f383e;font:300 24px/1 var(--sans);border-radius:50%;transition:background .2s,transform .2s,border-color .2s}
.spotlight-arrow:hover{background:#f6ede9;border-color:#a57680;transform:translateY(-1px)}
.spotlight-dots{display:flex;gap:14px;align-items:center;justify-content:center}
.spotlight-dot{width:12px;height:12px;border:1.5px solid #906873;background:transparent;border-radius:50%;padding:0;transition:background .2s,transform .2s}
.spotlight-dot.is-active{background:#906873;transform:scale(1.08)}
.spotlight-dot:hover{background:#be98a2}
.guide-modal{position:fixed;max-height:min(92vh,1050px);width:min(700px,calc(100% - 30px));max-width:700px;border:1px solid #d9c1c2;background:#f5ede8;color:#302326;box-shadow:0 25px 100px #0008;padding:0;overflow:auto;overscroll-behavior:contain}
.guide-modal::backdrop{background:rgba(10,7,8,.78);backdrop-filter:blur(5px)}
.guide-modal-inner{padding:28px clamp(23px,5vw,52px) 35px}
.guide-top{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}
.guide-top .kicker{color:#925e6b;margin:13px 0 0}
.guide-close{border:1px solid #c9b1b2;border-radius:50%;background:none;color:#604950;font-size:30px;width:43px;height:43px;line-height:1;flex-shrink:0}
.guide-close:hover{background:#eadbd6}
.guide-title{font:400 clamp(44px,5.8vw,67px)/1.05 var(--serif);letter-spacing:-.04em;margin:0 0 18px}
.guide-title em{font-style:normal;color:#9d6774}
.guide-intro{font-size:15px;line-height:1.75;color:#635256;margin:0 0 26px}
.guide-steps{list-style:none;counter-reset:steps;display:grid;gap:0;padding:0;margin:0 0 24px}
.guide-steps li{counter-increment:steps;position:relative;padding:18px 0 18px 48px;border-top:1px solid #ddc9c5;display:grid;gap:4px}
.guide-steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:20px;font-size:12px;letter-spacing:.12em;font-weight:700;color:#a0727e}
.guide-steps strong{font-size:14px;color:#302426}
.guide-steps span{font-size:13px;line-height:1.7;color:#5e5051}
.guide-warning{border-left:3px solid #9d6673;background:#eadbd7;padding:20px 24px}
.guide-warning strong{font-size:14px;color:#4b3038}
.guide-warning p{font-size:13px;line-height:1.65;margin:5px 0 0}
.guide-note{font-size:12px;color:#726467;line-height:1.65;margin:18px 0}
.guide-footer{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:23px}
.guide-dismiss{border:0;background:transparent;color:#70535b;font-size:12px;text-transform:uppercase;letter-spacing:.1em;text-decoration:underline;text-underline-offset:6px;padding:12px 0}
.guide-source{font-size:11px;color:#746367;margin:20px 0 0;line-height:1.6}
.guide-source a{color:#80505c;text-underline-offset:3px}
@media(max-width:880px){.spotlight .feature-info{padding:64px 32px 55px}.spotlight .feature-info .heading{font-size:clamp(43px,5.5vw,58px)}.spotlight .feature-art-care .art-word,.spotlight .feature-art-tattoo .art-word{font-size:clamp(68px,11vw,100px)}}
@media(max-width:680px){.spotlight .feature-grid{min-height:0}.spotlight .feature-info{padding:67px 19px 53px}.spotlight .feature-info .heading{font-size:clamp(44px,10.5vw,66px)}.spotlight .feature-info .lead{font-size:16px}.spotlight .feature-art{min-height:245px}.spotlight .feature-art-care .art-word,.spotlight .feature-art-tattoo .art-word{font-size:88px}.spotlight-controls{height:65px;gap:39px}.spotlight-arrow{width:40px;height:40px}.guide-modal{max-height:88dvh}.guide-modal-inner{padding:15px 22px 28px}.guide-title{font-size:clamp(43px,10vw,58px)}.guide-steps li{padding-left:38px}.guide-footer .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.spotlight-slide{animation:none}}


/* P.ink V5 — iOS-proof iconography and photographic micro-galleries */
.icon-arrow{width:17px;height:17px;display:inline-block;vertical-align:-3px;flex:none;stroke:currentColor}
.btn-arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.btn-arrow .icon-arrow{width:18px;height:18px}
.text-link .icon-arrow{width:15px;height:15px;transition:transform .2s ease}
.text-link:hover .icon-arrow{transform:translate(2px,-2px)}
.social .icon-arrow,.topline .icon-arrow,.book-link .icon-arrow{width:13px;height:13px;vertical-align:-2px;margin-left:3px}
/* Service icons emerge from the card border instead of using unicode emoji. */
.service-card{position:relative;overflow:visible;margin-top:22px;isolation:isolate}
.service-top{padding-right:58px}
.service-emblem{position:absolute;right:25px;top:-27px;width:58px;height:58px;display:grid;place-items:center;border:1px solid #967681;border-radius:50%;color:var(--rose-bright);background:#262022;box-shadow:0 12px 25px rgba(0,0,0,.16);transition:transform .25s ease,border-color .25s ease}
.service-emblem svg{width:33px;height:33px;display:block}
.service-card:hover .service-emblem{transform:translateY(-3px);border-color:var(--rose-bright)}
/* Category-specific carousel; imagery never masquerades as actual P.ink client photos. */
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.gallery-card{position:relative;aspect-ratio:4 / 5;min-width:0;overflow:hidden;isolation:isolate;border:1px solid #7d646c;background:#261f25;color:#faf4f2}
.gallery-images,.gallery-image,.gallery-shade{position:absolute;inset:0;width:100%;height:100%}
.gallery-image{object-fit:cover;object-position:center;display:block}
.gallery-image[hidden]{display:none!important}
.gallery-shade{pointer-events:none;z-index:1;background:linear-gradient(to bottom,rgba(13,10,14,.52) 0%,rgba(13,10,14,.07) 42%,rgba(13,10,14,.05) 62%,rgba(13,10,14,.58) 100%)}
.gallery-copy{position:absolute;z-index:2;top:25px;left:25px;right:20px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;pointer-events:none}
.gallery-copy .photo-type{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#f3d6da}
.gallery-copy .photo-label{font:400 clamp(34px,3.5vw,53px)/1.1 var(--serif);color:#f5d3d9;letter-spacing:-.035em;text-align:left}
.gallery-nav{position:absolute;top:52%;z-index:3;display:grid;place-items:center;width:42px;height:50px;padding:0;background:rgba(28,22,28,.40);color:#fff8f7;border:1px solid rgba(244,219,221,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s ease,transform .2s ease}
.gallery-nav-prev{left:0;border-left:0;border-radius:0 5px 5px 0;transform:translateY(-50%)}
.gallery-nav-next{right:0;border-right:0;border-radius:5px 0 0 5px;transform:translateY(-50%)}
.gallery-nav svg{width:21px;height:21px}
.gallery-nav:hover{background:rgba(65,40,53,.8)}
.gallery-nav:active{background:rgba(124,85,100,.85)}
.gallery-foot{position:absolute;z-index:2;bottom:19px;left:25px;right:22px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.11em;color:#f2dadd;pointer-events:none}
.gallery-count{white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}
.count-slash{padding:0 4px;opacity:.55}
.gallery-placeholder-caption{text-transform:uppercase;font-size:9px;letter-spacing:.1em;color:#ead0d4;text-align:right}
.gallery-note{max-width:850px;line-height:1.7}
@media(max-width:880px){.gallery-grid{gap:12px}.gallery-copy{left:17px;top:20px}.gallery-copy .photo-label{font-size:clamp(30px,4vw,43px)}.gallery-foot{left:17px;right:14px}.gallery-nav{width:36px;height:46px}}
@media(max-width:680px){.services-grid{gap:17px}.service-card{margin-top:22px}.gallery-grid{grid-template-columns:1fr;gap:17px}.gallery-card{aspect-ratio:5 / 5;min-height:320px}.gallery-copy{left:22px;top:22px}.gallery-copy .photo-label{font-size:51px}.gallery-foot{left:22px;right:20px;bottom:18px}.gallery-nav{width:45px;height:54px}.gallery-nav svg{width:24px;height:24px}}
@media(max-width:390px){.gallery-card{min-height:290px}.gallery-copy .photo-label{font-size:44px}}
@media(prefers-reduced-motion:reduce){.service-emblem,.gallery-nav,.text-link .icon-arrow{transition:none}}

.spotlight-arrow svg{width:20px;height:20px;display:block}


/* P.ink V6 — fix interactions, restore gallery proportions, arrow-only controls, refined service emblems */
.service-emblem{width:62px;height:62px;right:24px;top:-30px;border-color:#8f727a;background:#241d1f}
.service-emblem svg{width:35px;height:35px}
.service-top{padding-right:70px}

.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.gallery-card{position:relative;min-height:355px;height:355px;aspect-ratio:auto;display:block;overflow:hidden;border:1px solid #776367;background:linear-gradient(145deg,#3a2f32,#201b1e)}
.gallery-card:nth-child(2){background:linear-gradient(150deg,#564248,#30252a)}
.gallery-card:nth-child(3){background:linear-gradient(160deg,#594349,#281d24)}
.gallery-images,.gallery-image,.gallery-shade{position:absolute;inset:0;width:100%;height:100%}
.gallery-image{object-fit:cover;object-position:center;display:block}
.gallery-copy{position:absolute;z-index:2;top:20px;left:21px;right:21px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}
.gallery-copy .photo-type{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#e5bec5;font-weight:700}
.gallery-copy .photo-label{font:italic 41px/1 var(--serif);color:var(--rose-bright);text-align:left;padding:0}
.gallery-foot{position:absolute;bottom:19px;left:21px;right:21px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#dbc5c6;letter-spacing:.03em;pointer-events:none}
.gallery-placeholder-caption{text-transform:none;font-size:10px;letter-spacing:.03em;color:#dbc5c6;text-align:right}
.gallery-nav{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:transparent;color:#f7eceb;transform:translateY(-50%);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:.84;transition:opacity .2s ease,transform .2s ease,color .2s ease}
.gallery-nav-prev{left:12px}
.gallery-nav-next{right:12px}
.gallery-nav svg{width:26px;height:26px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.gallery-nav:hover{background:transparent;color:#fff;opacity:1}
.gallery-nav:active{background:transparent;transform:translateY(-50%) scale(.96)}
.gallery-card::before{content:'';width:180%;height:110%;border:1px solid rgba(241,193,203,.25);border-radius:50%;position:absolute;transform:rotate(35deg);left:-42%;top:-20%;pointer-events:none;z-index:0}
.gallery-card::after{content:'';position:absolute;width:115%;height:140%;border:1px solid rgba(241,193,203,.14);border-radius:50%;left:30%;top:25%;transform:rotate(-25deg);pointer-events:none;z-index:0}
.gallery-shade{pointer-events:none;z-index:1;background:linear-gradient(to bottom,rgba(13,10,14,.40) 0%,rgba(13,10,14,.06) 40%,rgba(13,10,14,.05) 62%,rgba(13,10,14,.5) 100%)}
.gallery-card .gallery-images,.gallery-card .gallery-copy,.gallery-card .gallery-foot,.gallery-card .gallery-nav,.gallery-card .gallery-shade{z-index:1}
.gallery-card .gallery-copy,.gallery-card .gallery-foot,.gallery-card .gallery-nav{z-index:2}
@media(max-width:880px){.gallery-grid{grid-template-columns:1fr 1fr;gap:16px}.gallery-card:first-child{grid-column:1 / -1;min-height:370px;height:370px}.gallery-copy .photo-label{font-size:38px}.gallery-nav{width:30px;height:30px}.gallery-nav svg{width:24px;height:24px}}
@media(max-width:680px){.gallery-grid{grid-template-columns:1fr;gap:17px}.gallery-card,.gallery-card:first-child{min-height:320px;height:320px}.gallery-copy{left:22px;top:22px}.gallery-copy .photo-label{font-size:48px}.gallery-foot{left:22px;right:20px;bottom:18px}.gallery-nav{width:34px;height:34px}.gallery-nav-prev{left:10px}.gallery-nav-next{right:10px}.gallery-nav svg{width:24px;height:24px}}
@media(max-width:390px){.gallery-card,.gallery-card:first-child{min-height:290px;height:290px}.gallery-copy .photo-label{font-size:42px}}
@media(prefers-reduced-motion:reduce){.gallery-nav{transition:none}}


/* P.ink V7 — custom service drawings provided by P.ink */
.service-card{position:relative;overflow:visible;isolation:isolate}
.service-top{padding-right:72px}
.service-emblem{position:absolute;right:24px;top:22px;width:54px;height:54px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;transform:none}
.service-card:hover .service-emblem{transform:none;border-color:transparent}
.service-emblem-image{display:block;max-width:54px;max-height:54px;width:auto;height:auto;object-fit:contain;opacity:1;filter:none}
@media(max-width:680px){.service-top{padding-right:68px}.service-emblem{right:20px;top:20px;width:48px;height:48px}.service-emblem-image{max-width:48px;max-height:48px}}


/* P.ink V8 - actual P.ink photographs, with subtle overlay typography. */
.spotlight .feature-art-photo{position:relative;background:#2d2526;isolation:isolate;overflow:hidden;display:block;min-height:570px}
.spotlight .feature-art-photo::before,.spotlight .feature-art-photo::after{content:none!important;display:none!important}
.spotlight .feature-art-photo .feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0}
.spotlight .feature-art-photo::after{content:''!important;display:block!important;position:absolute;inset:0;width:auto;height:auto;transform:none;border:0;border-radius:0;box-shadow:none;z-index:1;background:linear-gradient(180deg,transparent 34%,rgba(18,14,18,.12) 55%,rgba(13,10,13,.69) 100%);pointer-events:none}
.spotlight .feature-art-photo .art-word{position:absolute;z-index:2;bottom:16%;left:8%;text-align:left;font-family:var(--serif);font-style:normal;font-weight:400;font-size:clamp(57px,6.9vw,102px);line-height:.82;color:#fff1f1;letter-spacing:-.045em;text-shadow:0 2px 18px rgba(0,0,0,.25);pointer-events:none}
.spotlight .feature-art-photo .art-caption{position:absolute;z-index:2;left:8%;bottom:6%;font-size:10px;letter-spacing:.16em;color:#f4dedf;text-shadow:0 1px 8px rgba(0,0,0,.3);pointer-events:none}
.spotlight .feature-art-lamination .feature-photo{object-position:57% 48%}
.spotlight .feature-art-piercing .feature-photo{object-position:52% 48%}
.spotlight .feature-art-drawing .feature-photo{object-position:50% 50%}
@media(max-width:880px){
 .spotlight .feature-art-photo{min-height:440px}
 .spotlight .feature-art-photo .art-word{font-size:clamp(58px,8.4vw,84px)}
}
@media(max-width:680px){
 .spotlight .feature-art-photo{min-height:350px;height:350px}
 .spotlight .feature-art-photo .art-word{font-size:clamp(62px,15vw,80px);bottom:19%;left:8%}
 .spotlight .feature-art-photo .art-caption{left:8%;bottom:7%;font-size:9px}
 .spotlight .feature-art-lamination .feature-photo{object-position:53% 47%}
 .spotlight .feature-art-piercing .feature-photo{object-position:50% 43%}
 .spotlight .feature-art-drawing .feature-photo{object-position:48% 51%}
}
@media(max-width:390px){.spotlight .feature-art-photo{min-height:325px;height:325px}}


/* V10: fotografie di In primo piano, spostamento fine senza modificare le foto sorgenti. */
.spotlight .feature-art-lamination .feature-photo {
  object-position: 57% 42%;
  transform: translate(-10px, 20px) scale(1.06);
  transform-origin: center center;
}
.spotlight .feature-art-piercing .feature-photo {
  object-position: 52% 57%;
  transform: translate(14px, 0px) scale(1.07);
  transform-origin: center center;
}
@media (max-width:680px) {
  .spotlight .feature-art-lamination .feature-photo {
    object-position: 53% 42%;
    transform:translate(-7px, 15px) scale(1.06);
  }
  .spotlight .feature-art-piercing .feature-photo {
    object-position: 50% 58%;
    transform:translate(10px, 0px) scale(1.07);
  }
}


/* V12 dialog fallback */
html.dialog-open-fallback, body.dialog-open-fallback { overflow: hidden; }
.guide-modal[open] { display: grid; }

/* V13: show the entire original tattoo photo; no image crop, filters or colour modifications. */
.gallery-card-tattoo .gallery-image{object-fit:contain;object-position:center;background:#201b1e}

/* V14: Beauty original images uncropped, just like the Tattoo gallery. */
.gallery-card-beauty .gallery-image{object-fit:contain;object-position:center;background:#201b1e}

/* V15 — Original Studio gallery photographs are shown without cropping or visual adjustments. */
.gallery-card-studio .gallery-image { object-fit:contain; object-position:center; background:#201b1e; }


/* P.ink V16 — Responsive, edge-to-edge gallery photographs.
   File sorgenti invariati. Il ritaglio e' soltanto visivo e dipende
   dalle dimensioni del contenitore (cover), non modifica il JPEG/PNG. */
.gallery-card-tattoo .gallery-image,
.gallery-card-beauty .gallery-image,
.gallery-card-studio .gallery-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  background: #201b1e;
}
/* Conserva i dettagli piu' importanti nelle foto anche cambiando layout. */
.gallery-card-beauty .gallery-image:nth-child(1){object-position: 51% 48%;}
.gallery-card-beauty .gallery-image:nth-child(3){object-position: 55% 51%;}
.gallery-card-studio .gallery-image:nth-child(2){object-position: 50% 43%;}
.gallery-card-studio .gallery-image:nth-child(5){object-position: 50% 56%;}
/* Testi e frecce rimangono sospesi sopra le immagini. */
.gallery-card .gallery-images {position:absolute;inset:0;overflow:hidden;}
.gallery-card .gallery-image[hidden]{display:none!important;}


/* V17: native controls with CSS-only fallback on Apple / restricted preview */
/* Mobile navigation: a checkbox and its label open the same menu without JavaScript. */
.menu-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.menu-button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;}
.menu-lines{width:23px;display:flex;flex-direction:column;gap:5px;}
.menu-lines span{display:block;width:100%;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s;}
.menu-toggle:checked + .menu-button .menu-lines span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle:checked + .menu-button .menu-lines span:nth-child(2){opacity:0}
.menu-toggle:checked + .menu-button .menu-lines span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.menu-toggle:focus-visible + .menu-button{outline:2px solid var(--rose-bright);outline-offset:4px;}
@media(max-width:880px){
  .menu-toggle:checked ~ .navigation{
    --navigation-offset:105px;
    display:flex;
    z-index:45;
    max-height:calc(100vh - var(--navigation-offset));
    max-height:calc(100dvh - var(--navigation-offset) - env(safe-area-inset-bottom,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}
@media(max-width:680px){.menu-toggle:checked ~ .navigation{--navigation-offset:98px;}}
/* Radios remain available to the keyboard in the CSS-only fallback. */
.carousel-radio{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.spotlight .spotlight-slide{display:none!important;}
.spotlight .spotlight-arrow{display:none!important;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;}
.spotlight .spotlight-controls{position:relative;}
.spotlight .spotlight-dots{order:2;}
.spotlight .spotlight-arrow-prev{order:1;}
.spotlight .spotlight-arrow-next{order:3;}
.spotlight .spotlight-dot{display:block;cursor:pointer;touch-action:manipulation;}
.spotlight .spotlight-dot.is-active{background:transparent;transform:none;}
.gallery-card .gallery-image{display:none!important;}
.gallery-card .gallery-nav{display:none!important;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;}
.gallery-count-state{display:none;}
.gallery-card .gallery-images{pointer-events:none;}
.gallery-card .gallery-shade,.gallery-card .gallery-copy,.gallery-card .gallery-foot{pointer-events:none;}
.gallery-card .gallery-nav{pointer-events:auto;z-index:8;}
@media(max-width:880px){.gallery-card .gallery-nav{min-width:44px;min-height:44px;} }
@media(max-width:680px){.gallery-card .gallery-nav{min-width:44px;min-height:44px;} }
.spotlight button.spotlight-arrow,.gallery-card button.gallery-nav{display:grid!important;}
.spotlight button.spotlight-arrow,.spotlight button.spotlight-dot,.gallery-card button.gallery-nav{-webkit-appearance:none;appearance:none;}
.spotlight button.spotlight-arrow{padding:0;}
.gallery-card button.gallery-nav:focus-visible,.spotlight button.spotlight-arrow:focus-visible,.spotlight button.spotlight-dot:focus-visible{outline:2px solid var(--rose-bright);outline-offset:2px;}
.carousel-radio:focus ~ .gallery-images,.carousel-radio:focus ~ .spotlight-controls{outline:2px solid var(--rose-bright);outline-offset:-4px;}
#contenuto,#inizio,#studio,#servizi,#estetica,#tattoo-piercing,#galleria,#prenota,#contatti{scroll-margin-top:96px;}
@media(max-width:880px){#contenuto,#inizio,#studio,#servizi,#estetica,#tattoo-piercing,#galleria,#prenota,#contatti{scroll-margin-top:82px;}}

#spotlight-1:checked ~ .spotlight-slide[data-slide-index="1"]{display:block!important;}
#spotlight-1:checked ~ .spotlight-controls .spotlight-arrow[data-control-for="1"]{display:grid!important;}
#spotlight-1:checked ~ .spotlight-controls .spotlight-dot[data-dot-index="1"]{background:#906873;transform:scale(1.08);}
#spotlight-2:checked ~ .spotlight-slide[data-slide-index="2"]{display:block!important;}
#spotlight-2:checked ~ .spotlight-controls .spotlight-arrow[data-control-for="2"]{display:grid!important;}
#spotlight-2:checked ~ .spotlight-controls .spotlight-dot[data-dot-index="2"]{background:#906873;transform:scale(1.08);}
#spotlight-3:checked ~ .spotlight-slide[data-slide-index="3"]{display:block!important;}
#spotlight-3:checked ~ .spotlight-controls .spotlight-arrow[data-control-for="3"]{display:grid!important;}
#spotlight-3:checked ~ .spotlight-controls .spotlight-dot[data-dot-index="3"]{background:#906873;transform:scale(1.08);}
#gallery-tattoo-1:checked ~ .gallery-images .gallery-image[data-gallery-index="1"]{display:block!important;}
#gallery-tattoo-1:checked ~ .gallery-nav[data-control-for="1"]{display:grid!important;}
#gallery-tattoo-1:checked ~ .gallery-foot .gallery-count-state[data-count-for="1"]{display:inline;}
#gallery-tattoo-2:checked ~ .gallery-images .gallery-image[data-gallery-index="2"]{display:block!important;}
#gallery-tattoo-2:checked ~ .gallery-nav[data-control-for="2"]{display:grid!important;}
#gallery-tattoo-2:checked ~ .gallery-foot .gallery-count-state[data-count-for="2"]{display:inline;}
#gallery-tattoo-3:checked ~ .gallery-images .gallery-image[data-gallery-index="3"]{display:block!important;}
#gallery-tattoo-3:checked ~ .gallery-nav[data-control-for="3"]{display:grid!important;}
#gallery-tattoo-3:checked ~ .gallery-foot .gallery-count-state[data-count-for="3"]{display:inline;}
#gallery-tattoo-4:checked ~ .gallery-images .gallery-image[data-gallery-index="4"]{display:block!important;}
#gallery-tattoo-4:checked ~ .gallery-nav[data-control-for="4"]{display:grid!important;}
#gallery-tattoo-4:checked ~ .gallery-foot .gallery-count-state[data-count-for="4"]{display:inline;}
#gallery-tattoo-5:checked ~ .gallery-images .gallery-image[data-gallery-index="5"]{display:block!important;}
#gallery-tattoo-5:checked ~ .gallery-nav[data-control-for="5"]{display:grid!important;}
#gallery-tattoo-5:checked ~ .gallery-foot .gallery-count-state[data-count-for="5"]{display:inline;}
#gallery-beauty-1:checked ~ .gallery-images .gallery-image[data-gallery-index="1"]{display:block!important;}
#gallery-beauty-1:checked ~ .gallery-nav[data-control-for="1"]{display:grid!important;}
#gallery-beauty-1:checked ~ .gallery-foot .gallery-count-state[data-count-for="1"]{display:inline;}
#gallery-beauty-2:checked ~ .gallery-images .gallery-image[data-gallery-index="2"]{display:block!important;}
#gallery-beauty-2:checked ~ .gallery-nav[data-control-for="2"]{display:grid!important;}
#gallery-beauty-2:checked ~ .gallery-foot .gallery-count-state[data-count-for="2"]{display:inline;}
#gallery-beauty-3:checked ~ .gallery-images .gallery-image[data-gallery-index="3"]{display:block!important;}
#gallery-beauty-3:checked ~ .gallery-nav[data-control-for="3"]{display:grid!important;}
#gallery-beauty-3:checked ~ .gallery-foot .gallery-count-state[data-count-for="3"]{display:inline;}
#gallery-beauty-4:checked ~ .gallery-images .gallery-image[data-gallery-index="4"]{display:block!important;}
#gallery-beauty-4:checked ~ .gallery-nav[data-control-for="4"]{display:grid!important;}
#gallery-beauty-4:checked ~ .gallery-foot .gallery-count-state[data-count-for="4"]{display:inline;}
#gallery-beauty-5:checked ~ .gallery-images .gallery-image[data-gallery-index="5"]{display:block!important;}
#gallery-beauty-5:checked ~ .gallery-nav[data-control-for="5"]{display:grid!important;}
#gallery-beauty-5:checked ~ .gallery-foot .gallery-count-state[data-count-for="5"]{display:inline;}
#gallery-studio-1:checked ~ .gallery-images .gallery-image[data-gallery-index="1"]{display:block!important;}
#gallery-studio-1:checked ~ .gallery-nav[data-control-for="1"]{display:grid!important;}
#gallery-studio-1:checked ~ .gallery-foot .gallery-count-state[data-count-for="1"]{display:inline;}
#gallery-studio-2:checked ~ .gallery-images .gallery-image[data-gallery-index="2"]{display:block!important;}
#gallery-studio-2:checked ~ .gallery-nav[data-control-for="2"]{display:grid!important;}
#gallery-studio-2:checked ~ .gallery-foot .gallery-count-state[data-count-for="2"]{display:inline;}
#gallery-studio-3:checked ~ .gallery-images .gallery-image[data-gallery-index="3"]{display:block!important;}
#gallery-studio-3:checked ~ .gallery-nav[data-control-for="3"]{display:grid!important;}
#gallery-studio-3:checked ~ .gallery-foot .gallery-count-state[data-count-for="3"]{display:inline;}
#gallery-studio-4:checked ~ .gallery-images .gallery-image[data-gallery-index="4"]{display:block!important;}
#gallery-studio-4:checked ~ .gallery-nav[data-control-for="4"]{display:grid!important;}
#gallery-studio-4:checked ~ .gallery-foot .gallery-count-state[data-count-for="4"]{display:inline;}
#gallery-studio-5:checked ~ .gallery-images .gallery-image[data-gallery-index="5"]{display:block!important;}
#gallery-studio-5:checked ~ .gallery-nav[data-control-for="5"]{display:grid!important;}
#gallery-studio-5:checked ~ .gallery-foot .gallery-count-state[data-count-for="5"]{display:inline;}
/* V17: no delayed scroll in embedded mobile previews */
html{scroll-behavior:auto;}
.mobile-contact{pointer-events:none;}
.mobile-contact a{pointer-events:auto;}

/* Legal documents and footer links */
.legal-page .legal-section{margin-top:clamp(32px,6vw,72px);scroll-margin-top:100px;}
.legal-page .legal-section + .legal-section{padding-top:clamp(24px,4vw,48px);border-top:1px solid var(--line);}
.legal-page .legal-copy{max-width:74ch;overflow-wrap:anywhere;}
.footer .footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;}
.footer .footer-legal a{text-decoration:underline;text-underline-offset:.2em;}

.footer .footer-activities{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0;margin:16px 0 0;}
.footer .footer-activities span{display:block;}

@media (min-width:881px){.legal-document .menu-toggle{display:none;}}
