/* CosmoTattoo / editorial studio edition */
:root{--ct-bg:#f4f0e9;--ct-paper:#fbf8f3;--ct-ink:#30222d;--ct-muted:#70656b;--ct-accent:#765266;--ct-line:#d9cec9}
body{font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
h2{font-size:clamp(34px,4.6vw,62px);font-weight:450;line-height:1.06;letter-spacing:-.055em}
h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em;color:var(--ct-accent)}
.ct-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:650;margin-bottom:26px}
.ct-button{border-radius:2px;min-height:54px;padding:17px 25px;gap:22px;font-weight:550;transition:background .2s,box-shadow .2s,transform .2s}
.ct-button:hover{background:#53394a;box-shadow:0 6px 20px #30222d16;transform:translateY(-2px)}
.ct-secondary:hover{background:#e7dedf}
.ct-text-link{font-weight:550;text-decoration-thickness:1px;text-underline-offset:6px;line-height:1.7}
.ct-topline{background:var(--ct-ink);padding:7px 0;font-size:10px;letter-spacing:.08em}
.ct-header-inner{min-height:104px}.ct-brand strong{font-size:20px;font-weight:700;letter-spacing:-.02em}.ct-brand small{font-size:9px;letter-spacing:.16em}
.ct-nav{gap:26px;font-size:13px}.ct-nav a{position:relative;padding:9px 0}.ct-nav a:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.ct-nav a:hover:after,.ct-nav a[aria-current]:after{transform:scaleX(1)}.ct-nav a[aria-current]{text-decoration:none}
.ct-header-inner>.ct-button{font-size:12px;min-height:44px;padding:12px 20px}
.ct-home>.ct-content>.ct-hero{padding:0;margin-bottom:50px}
.ct-home .ct-hero-image{order:0;position:relative;background:#181625}
.ct-home .ct-hero-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0}
.ct-home .ct-hero-image figcaption{width:100%;margin:0;padding:15px max(32px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;gap:20px;background:var(--ct-ink);color:#eee5e6;font-size:10px;letter-spacing:.14em}
.ct-hero-image figcaption a{color:inherit;white-space:nowrap}
.ct-home .ct-hero-copy{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center;margin-top:80px;margin-bottom:15px}
.ct-hero h1{font-size:clamp(48px,6.5vw,88px);line-height:1.02;letter-spacing:-.065em;font-weight:430}
.ct-hero h1 em{display:block;color:var(--ct-accent);font-weight:400}
.ct-hero-description p{font-size:18px;line-height:1.8;max-width:445px}.ct-hero-description .ct-meta{font-size:12px!important;line-height:1.75}
.ct-hero-description .ct-actions{gap:20px 24px}
.ct-page-jumps{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--ct-line);border-bottom:1px solid var(--ct-line);padding:20px 0;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.ct-page-jumps a{text-decoration:none}.ct-page-jumps a:last-child{color:var(--ct-accent)}
.ct-home>.ct-content>section:not(.ct-hero){margin-top:108px;margin-bottom:108px}
.ct-section-heading{margin-bottom:44px;align-items:flex-end;gap:50px}.ct-section-heading>div:last-child:not(:first-child),.ct-section-heading>p{max-width:360px}.ct-section-heading p{font-size:15px;margin:0 0 20px}.ct-section-heading h2{margin-bottom:0}
.ct-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 30px;margin:0}
.ct-work:nth-child(even){padding-top:84px}
.ct-work a{border-radius:2px;background:#e3d7db}
.ct-work img{aspect-ratio:4/5;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.ct-work a:hover img{transform:scale(1.035)}
.ct-work-zoom{width:42px;height:42px;line-height:42px;font-size:19px;right:18px;bottom:18px;background:#fbf8f3ed}
.ct-work figcaption{position:relative;padding-right:45px;margin-top:19px;line-height:1.4}
.ct-work-title{display:block;color:var(--ct-ink);font-size:17px;font-weight:500}
.ct-work-style{display:block;font-size:11px;letter-spacing:.035em;color:var(--ct-muted);margin-top:8px}
.ct-work-number{position:absolute;right:0;top:0;font-size:12px;letter-spacing:.05em;color:var(--ct-accent)}
.ct-section-tail{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;border-top:1px solid var(--ct-line);padding-top:22px;margin-top:40px}.ct-section-tail p{margin:0;font-size:12px}
.ct-service-list{border-top:1px solid var(--ct-ink)}
.ct-service-list>a{display:grid;grid-template-columns:50px 1fr .95fr 50px;gap:30px;align-items:center;padding:36px 0;border-bottom:1px solid var(--ct-line);text-decoration:none;transition:padding .2s,background .2s}
.ct-service-list>a:hover{padding-left:14px;padding-right:14px;background:#eae1e0}
.ct-service-index{font-size:12px;color:var(--ct-accent);align-self:start;margin-top:7px}
.ct-service-list h3{font-size:clamp(25px,3vw,39px);font-weight:450;letter-spacing:-.04em}.ct-service-list p{font-size:15px;line-height:1.8;margin:0;max-width:315px}.ct-service-arrow{font-size:32px;text-align:right}
.ct-team{grid-template-columns:.85fr 1.15fr;gap:70px}.ct-team p{font-size:16px;line-height:1.85}.ct-team h2{font-size:clamp(35px,4.2vw,56px)}
.ct-team-photo img{border-radius:2px}.ct-team-photo figcaption{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:18px}
.ct-team .ct-team-photo{position:relative}.ct-team .ct-team-photo:before{content:"";position:absolute;inset:-18px 20px 44px -18px;border:1px solid var(--ct-line);pointer-events:none;z-index:-1}
.ct-process{border-top:1px solid var(--ct-line);padding-top:62px}.ct-steps{gap:50px;margin-top:48px}.ct-steps li:before{font-family:Georgia,serif;font-size:45px;line-height:1;font-weight:400;margin-bottom:26px;color:#967688}.ct-steps strong{font-weight:500;font-size:21px}.ct-steps p{line-height:1.85}
.ct-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.ct-faq>div>p{max-width:290px;font-size:15px}.ct-faq-list{border-top:1px solid var(--ct-ink)}.ct-faq-list details{border-bottom:1px solid var(--ct-line)}.ct-faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;font-size:16px;line-height:1.5;list-style:none;font-weight:500}.ct-faq-list summary::-webkit-details-marker{display:none}.ct-faq-list summary span{font-size:23px;line-height:1;font-weight:300;color:var(--ct-accent);transition:transform .2s}.ct-faq-list details[open] summary span{transform:rotate(45deg)}.ct-faq-list details p{font-size:14px;line-height:1.85;margin:0;padding:0 38px 26px 0}
.ct-request{position:relative;background:var(--ct-ink);color:#f6efe9;padding:64px;gap:75px;border-radius:2px;overflow:hidden}
.ct-request .ct-eyebrow{color:#d0adbf}.ct-request h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.05em;font-weight:430;line-height:1.09}.ct-request-intro p{color:#d5c4cf;font-size:15px;max-width:340px}.ct-request .ct-meta{color:#d5c4cf}.ct-request-intro a{color:#f6efe9}.ct-request-intro:after{content:"";display:block;width:120px;height:120px;border:1px solid #a98298;border-radius:50%;margin-top:55px;background:radial-gradient(circle,transparent 28%,#a98298 29%,transparent 30%,transparent 47%,#a98298 48%,transparent 49%)}
.ct-form{position:relative}.ct-form label{font-size:12px;font-weight:500;color:#f2e8ee}.ct-form input:not([type=checkbox]),.ct-form textarea{border:1px solid #a8909e;background:#ffffff08;border-radius:2px;color:#fff9f4;padding:14px;min-height:51px;transition:background .2s,border-color .2s}.ct-form input::placeholder,.ct-form textarea::placeholder{color:#c0afb8;opacity:1}.ct-form input:focus,.ct-form textarea:focus{outline:2px solid #d2a9c0;outline-offset:3px;background:#ffffff0e}.ct-form .ct-optional{color:#c0afb8;margin-left:5px}.ct-form .ct-consent span{color:#ddcdd7;font-size:11px}.ct-consent input{accent-color:#bd98ab}.ct-form .ct-button{background:#ebdbe0;color:#30222d!important;border-color:#ebdbe0;margin-top:8px}.ct-form .ct-button:hover{background:#fff7f1}.ct-request .ct-form-status{color:#ffcece!important}.ct-request .ct-form-status.ct-success{color:#b8edc8!important}
.ct-visit{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;border-top:1px solid var(--ct-line);padding-top:65px}.ct-visit-card{border-left:1px solid var(--ct-line);padding:40px 0 40px 56px}.ct-contact-phone{font-size:clamp(24px,2.8vw,38px);letter-spacing:-.04em;text-decoration:none;white-space:nowrap}.ct-visit .ct-meta{font-size:12px}.ct-visit-card .ct-actions{gap:25px}
.ct-cards{gap:24px}.ct-card{background:#eae3df;border:0;padding:28px;min-height:270px;transition:background .2s,transform .2s}.ct-card:hover{background:#e2d6da}.ct-card h3{font-size:27px;font-weight:450;letter-spacing:-.04em}.ct-card-number{font-size:10px;text-transform:uppercase;margin-bottom:40px}.ct-card p{font-size:14px;line-height:1.7}.ct-card .ct-arrow{font-size:24px}.ct-card:nth-child(3n+2){background:#e4d9de}.ct-card:nth-child(3n+2):hover{background:#dac9d1}
.ct-footer{background:#271e27;padding-top:60px}.ct-footer-signature{font-size:clamp(34px,9.9vw,135px);font-weight:700;line-height:1;letter-spacing:-.065em;border-bottom:1px solid #58444f;padding-bottom:44px;margin-bottom:56px;color:#dfcbd4}.ct-footer-signature span{display:block;font:italic 22px/1.6 Georgia,serif;letter-spacing:-.02em;margin-top:14px;color:#c7aaba}.ct-footer h2{font-family:inherit;font-size:18px;letter-spacing:-.02em}.ct-footer-bottom{font-size:10px;line-height:1.8}.ct-footer p,.ct-footer-bottom{color:#cdbcc5}
.ct-breadcrumbs{font-size:11px;line-height:1.65;gap:8px;padding:25px 0 30px}.ct-breadcrumbs a{text-decoration:none}.ct-breadcrumbs a:hover{text-decoration:underline}
.ct-page-layout{grid-template-columns:205px minmax(0,1fr);gap:70px;padding-bottom:80px}.ct-page-title{font-size:clamp(35px,4vw,55px);font-weight:450;line-height:1.07;letter-spacing:-.05em;margin-bottom:35px}.ct-sidebar{top:28px}.ct-sidebar a{font-size:12px;padding:10px 0}.ct-sidebar h2{font-size:10px;font-weight:650;letter-spacing:.15em}.ct-sidebar a[aria-current]{padding-left:12px;border-left:2px solid var(--ct-accent)}.ct-sidebar .ct-button{font-size:12px}.ct-page-layout .ct-content>section{margin:52px 0}.ct-page-layout .ct-content h2{font-size:clamp(27px,3vw,37px);font-weight:450}.ct-page-layout p{line-height:1.85}.ct-page-layout .ct-work-grid{margin:40px 0;gap:35px 22px}.ct-page-layout .ct-work:nth-child(even){padding-top:50px}.ct-page-layout .ct-work-title{font-size:14px}.ct-page-layout .ct-work-style{font-size:10px}.ct-page-layout .ct-card{min-height:230px}.ct-page-layout .ct-request{grid-template-columns:1fr;gap:30px;padding:35px}.ct-page-layout .ct-request-intro:after{display:none}.ct-page-layout .ct-request-intro p{max-width:100%}.ct-page-layout .ct-request h2{font-size:38px}.ct-feature{background:#e8dfe2;padding:35px;border:0}.ct-feature h2{letter-spacing:-.045em}.ct-cta{background:#e8dfe2;border-top:1px solid #cbb6c2;padding:44px!important}.ct-cta h2{font-size:36px}.ct-article-page .ct-content>p:not(.ct-meta){font-size:18px}.ct-article-page .ct-content>section:not(.ct-cta){max-width:750px}.ct-article-byline{border-bottom:1px solid var(--ct-line);padding-bottom:18px;margin-bottom:28px;font-size:11px!important}
.ct-mobile-booking{box-shadow:0 -6px 26px #30222d10}.ct-mobile-booking .ct-button{border-radius:2px}.ct-mobile-menu summary{list-style:none}.ct-mobile-menu summary::-webkit-details-marker{display:none}.ct-mobile-menu summary:before{content:"☰";margin-right:9px;font-size:13px}
@media(min-width:1500px){.ct-hero h1{font-size:88px}}
@media(max-width:1100px){.ct-nav{gap:17px}.ct-header-inner{gap:16px}.ct-home .ct-hero-copy{gap:40px}.ct-hero h1{font-size:clamp(48px,6.8vw,74px)}.ct-faq,.ct-team,.ct-visit{gap:40px}.ct-request{padding:45px;gap:40px}.ct-page-layout{gap:35px;grid-template-columns:185px minmax(0,1fr)}.ct-visit-card{padding-left:32px}.ct-home>.ct-content>section:not(.ct-hero){margin-top:85px;margin-bottom:85px}}
@media(max-width:800px){
 body{font-size:16px}h2{font-size:39px;letter-spacing:-.05em}.ct-topline{font-size:9px;padding:8px 0}.ct-header-inner{min-height:82px}.ct-brand strong{font-size:19px}.ct-brand small{font-size:8px}.ct-brand img{width:34px;height:43px}.ct-brand{gap:10px}.ct-mobile-menu summary{padding:13px 0 13px 10px;font-size:12px}
 .ct-home .ct-hero-image figcaption{font-size:8px;letter-spacing:.08em;padding:14px 18px;gap:10px}.ct-home .ct-hero-copy{grid-template-columns:1fr;gap:20px;margin-top:44px;margin-bottom:0}.ct-hero h1{font-size:clamp(44px,9.5vw,64px);line-height:1.05}.ct-hero-description p{font-size:16px;max-width:550px;margin-top:0}.ct-hero-description .ct-actions{margin:24px 0;gap:18px}.ct-hero-description .ct-meta{margin-bottom:0}.ct-home>.ct-content>.ct-hero{margin-bottom:36px}.ct-eyebrow{font-size:9px;margin-bottom:20px}
 .ct-page-jumps{justify-content:flex-start;gap:24px;padding:16px 0;font-size:9px;overflow:auto;scrollbar-width:thin;white-space:nowrap}.ct-page-jumps a{flex-shrink:0}.ct-page-jumps a:last-child{display:none}
 .ct-home>.ct-content>section:not(.ct-hero){margin-top:64px;margin-bottom:64px}.ct-section-heading{gap:20px;align-items:start;margin-bottom:30px}.ct-section-heading>div:last-child:not(:first-child){max-width:430px}.ct-section-heading p{font-size:14px;margin-bottom:12px}.ct-section-heading h2{font-size:39px}.ct-section-heading .ct-eyebrow{margin-bottom:18px}
 .ct-work-grid{gap:30px 14px}.ct-work:nth-child(even){padding-top:42px}.ct-work img{aspect-ratio:3/4}.ct-work figcaption{margin-top:12px;padding-right:0}.ct-work-title{font-size:13px;line-height:1.45}.ct-work-style{font-size:9px;line-height:1.5;margin-top:5px}.ct-work-number{display:none}.ct-work-zoom{width:30px;height:30px;line-height:30px;font-size:15px;right:8px;bottom:8px}.ct-section-tail{margin-top:26px;padding-top:20px;gap:14px}.ct-section-tail p{font-size:11px}.ct-section-tail a{font-size:12px}
 .ct-service-list>a{grid-template-columns:22px 1fr 30px;gap:12px;padding:27px 0}.ct-service-index{font-size:10px}.ct-service-list h3{font-size:28px}.ct-service-list p{grid-column:2;grid-row:2;font-size:13px;max-width:360px}.ct-service-arrow{grid-column:3;grid-row:1;font-size:25px}.ct-service-list>a:hover{padding-left:0;padding-right:0}
 .ct-team{grid-template-columns:1fr;gap:34px}.ct-team h2{font-size:42px}.ct-team p{font-size:15px}.ct-team .ct-team-photo:before{display:none}.ct-team-photo figcaption{font-size:9px;margin-top:12px}
 .ct-process{padding-top:38px}.ct-steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.ct-steps li{position:relative;padding-left:53px}.ct-steps li:before{position:absolute;left:0;top:2px;font-size:33px}.ct-steps strong{font-size:19px}.ct-steps p{font-size:14px;margin:12px 0 0}
 .ct-faq{grid-template-columns:1fr;gap:30px}.ct-faq>div>p{max-width:100%}.ct-faq-list summary{font-size:14px;padding:22px 0}.ct-faq-list details p{font-size:13px;padding-right:20px}
 .ct-request{grid-template-columns:1fr;padding:28px 22px;gap:30px}.ct-request h2{font-size:36px}.ct-request-intro:after{display:none}.ct-request-intro p{font-size:14px;max-width:100%}.ct-request .ct-meta{font-size:11px!important}.ct-form input:not([type=checkbox]),.ct-form textarea{font-size:16px}.ct-form .ct-button{font-size:14px}.ct-form .ct-consent span{font-size:10px}.ct-request-intro>.ct-text-link{font-size:13px}
 .ct-visit{grid-template-columns:1fr;gap:20px;padding-top:40px}.ct-visit-card{border-left:0;border-top:1px solid var(--ct-line);padding:30px 0 0}.ct-contact-phone{font-size:30px}.ct-visit p{font-size:15px}.ct-visit-card .ct-actions{gap:20px}
 .ct-cards{gap:14px}.ct-card{padding:25px;min-height:230px}.ct-card-number{margin-bottom:28px}.ct-card h3{font-size:27px}.ct-card p{margin-right:18px}.ct-card .ct-arrow{right:24px;bottom:24px}.ct-card:hover{transform:none}
 .ct-footer{padding-top:40px;padding-bottom:105px}.ct-footer-signature{font-size:10vw;padding-bottom:30px;margin-bottom:34px}.ct-footer-signature span{font-size:19px;margin-top:12px}.ct-footer-grid{gap:30px}.ct-footer h2{font-size:17px}.ct-footer-bottom{gap:18px}.ct-footer-bottom div{gap:12px}
 .ct-page-layout{display:flex;gap:24px;padding-bottom:35px}.ct-sidebar{background:#eae2e2;padding:15px 17px;border:0}.ct-sidebar nav{gap:7px 18px}.ct-sidebar nav a{padding:3px 0;font-size:11px}.ct-sidebar a[aria-current]{border:0;padding-left:0;text-decoration:underline}.ct-sidebar h2{font-size:9px}.ct-breadcrumbs{font-size:10px;padding:20px 0}.ct-page-title{font-size:36px;line-height:1.1;overflow-wrap:break-word}.ct-page-layout .ct-content>section{margin:36px 0}.ct-page-layout .ct-content h2{font-size:30px}.ct-page-layout .ct-work-grid{gap:25px 13px;margin:30px 0}.ct-page-layout .ct-work:nth-child(even){padding-top:36px}.ct-page-layout .ct-work-title{font-size:12px}.ct-page-layout .ct-work-style{font-size:9px}.ct-page-layout .ct-request{padding:28px 22px}.ct-page-layout .ct-request h2{font-size:32px}.ct-feature{padding:24px}.ct-article-page .ct-content>p:not(.ct-meta){font-size:17px}.ct-cta{padding:26px!important}
 .ct-mobile-booking a{font-size:12px;padding:12px 8px;min-height:45px}.ct-mobile-booking .ct-secondary{background:transparent}.ct-mobile-booking .ct-secondary:hover{background:#e7dedf}
}
@media(max-width:360px){.ct-brand strong{font-size:17px}.ct-brand small{font-size:7px}.ct-hero h1{font-size:42px}.ct-contact-phone{font-size:26px}.ct-home .ct-hero-image figcaption{font-size:7px}.ct-work-title{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

.ct-home>.ct-content>.ct-request{margin:108px auto!important}@media(max-width:800px){.ct-home>.ct-content>.ct-request{margin:64px auto!important}}

.ct-services-toggle{display:none}@media(max-width:800px){.ct-sidebar[data-collapsible] h2{display:none}.ct-sidebar[data-collapsible] .ct-services-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;min-height:24px;background:transparent;border:0;font-family:inherit;font-size:12px;font-weight:500;line-height:1.5;color:var(--ct-ink);cursor:pointer}.ct-services-toggle span{font-size:21px;font-weight:300;line-height:1}.ct-sidebar[data-collapsible]:not(.ct-services-open) nav{display:none}.ct-services-toggle[aria-expanded=true] span{transform:rotate(45deg)}.ct-sidebar[data-collapsible]{padding:14px 17px}}
