/* Public mini-sites v2. Scoped to the renderer: no marketing/editor restyling. */
.public-site.site-v2 {
  --site-title:'Syne',Arial,sans-serif;
  --site-body:'DM Sans',Arial,sans-serif;
  --ink:#182d28; --muted:#52655e; --line:#cdd8d1;
  --site-paper:#f7f8f5; --site-panel:#edf1eb;
  --site-gutter:clamp(22px,5vw,80px);
  background:var(--site-paper); color:var(--ink); font:400 16px/1.7 var(--site-body);
  overflow-wrap:anywhere;
}
.site-v2 *, .site-v2 *::before, .site-v2 *::after { min-width:0; }
.site-v2 :focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.site-v2 .public-hero {
  display:grid; grid-template-rows:auto 1fr auto; align-items:stretch;
  min-height:min(900px,100svh); overflow:visible;
  color:#fff; background:var(--deep);
}
.site-v2 .public-hero::after { background:linear-gradient(90deg,#081c18e8 0%,#081c18b8 48%,#081c184d 100%); }
.site-v2 .public-hero.no-cover::after { background:none; }
.site-v2 .cover-image { object-fit:cover; }
.site-v2 .public-nav {
  position:relative; inset:auto; padding:26px var(--site-gutter); gap:30px;
  min-height:96px; border-bottom:1px solid #ffffff30;
}
.site-v2 .public-nav>a { max-width:45%; font:600 clamp(18px,2vw,25px)/1.15 var(--site-title); letter-spacing:-.05em; }
.site-v2 .public-nav>a>span { overflow-wrap:anywhere; }
.site-v2 .professional-logo { width:44px; height:44px; flex-basis:44px; border-radius:0; }
.site-v2 .public-links { gap:clamp(14px,2vw,32px); font-size:12px; }
.site-v2 .public-links a { min-height:44px; display:inline-flex; align-items:center; }
.site-v2 .public-nav a { color:inherit; }
.site-v2 .public-menu { position:static; }
.site-v2 .public-menu summary { min-height:44px; padding:10px 13px; border:1px solid #ffffff75; border-radius:0; color:inherit; }
.site-v2 .public-menu>div {
  top:calc(100% - 1px); left:0; right:0; width:auto; padding:14px var(--site-gutter);
  background:var(--deep); border:1px solid #ffffff40; max-height:65svh; overflow:auto; box-shadow:0 18px 30px #0003;
}
.site-v2 .public-menu>div a { color:#fff; min-height:48px; padding:12px 0; border-bottom:1px solid #ffffff26; font-size:14px; }
.site-v2 .public-copy {
  align-self:center; width:100%; max-width:1600px; margin-inline:auto;
  padding:clamp(60px,9vh,135px) var(--site-gutter); text-align:left;
}
.site-v2 .hero-overline { flex-wrap:wrap; gap:14px; margin-bottom:30px; }
.site-v2 .hero-overline .eyebrow { color:inherit; font-size:11px; letter-spacing:.13em; }
.site-v2 .hero-rule { width:28px; opacity:.65; }
.site-v2 .hero-location { font-size:12px; opacity:.9; }
.site-v2 .public-copy h1 {
  max-width:1050px; margin:0 0 30px; font:600 clamp(56px,7.4vw,112px)/1.03 var(--site-title);
  letter-spacing:-.065em; font-style:normal; text-wrap:balance;
}
.site-v2 .hero-specialties { display:flex; flex-wrap:wrap; gap:8px 20px; padding:0; margin:0 0 28px; list-style:none; font-size:12px; color:inherit; }
.site-v2 .hero-specialties li { display:flex; align-items:center; gap:10px; }
.site-v2 .hero-specialties li::before { content:''; width:4px; height:4px; flex:0 0 4px; background:currentColor; }
.site-v2.template-galerie .hero-specialties { justify-content:center; }
.site-v2 .public-copy .hero-intro { max-width:540px; margin:0 0 34px; color:inherit; font-size:17px; line-height:1.65; }
.site-v2 .public-hero-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:20px 28px; }
.site-v2 .public-hero-actions .btn { min-height:54px; padding:16px 23px; border-radius:0; font-size:13px; }
.site-v2 .hero-secondary { color:inherit; font-size:13px; min-height:48px; border-color:#ffffff80; }
.site-v2 .hero-bottom {
  position:relative; inset:auto; margin:0 var(--site-gutter); padding:19px 0;
  border-top:1px solid #ffffff40; color:inherit; letter-spacing:.06em; font-size:10px; align-items:center;
}
.site-v2 .hero-bottom a { display:inline-flex; align-items:center; gap:30px; min-height:44px; text-decoration:none; }
.site-v2 .hero-art { z-index:-1; opacity:1; inset:0; pointer-events:none; overflow:hidden; }
.site-v2 .hero-art span {
  right:-.04em; top:50%; bottom:auto; transform:translateY(-42%); font:600 clamp(200px,43vw,680px)/.9 var(--site-title);
  color:var(--lime); opacity:.09; letter-spacing:-.1em;
}
.site-v2 .hero-art i { right:24%; top:0; width:1px; height:100%; min-width:0; min-height:0; border:0; border-left:1px solid #ffffff12; border-radius:0; }
.site-v2 .public-main { width:100%; max-width:1600px; margin-inline:auto; padding:0 var(--site-gutter); }
.site-v2 .public-section { padding:clamp(60px,7vw,112px) 0; margin:0; border-bottom:1px solid var(--line); }
.site-v2 .section-heading { max-width:none; margin-bottom:42px; }
.site-v2 .section-eyebrow { display:flex; align-items:center; gap:22px; margin-bottom:24px; }
.site-v2 .site-kicker { color:var(--forest); font-size:10px; line-height:1.5; letter-spacing:.13em; margin:0; }
.site-v2 .section-number { font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }
.site-v2 .section-heading h2 { max-width:840px; font:500 clamp(36px,4.5vw,68px)/1.08 var(--site-title); letter-spacing:-.05em; margin:0; }
.site-v2 .section-intro { max-width:540px; margin-top:22px; font-size:16px; }
.site-v2 [data-section=services] .section-content { display:block; }
.site-v2 .offer-collection { border-top:1px solid var(--line); }
.site-v2 .service-line {
  display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:start;
  gap:12px 28px; border:0; border-bottom:1px solid var(--line); padding:32px 0;
  background:transparent; border-radius:0;
}
.site-v2 .service-line:last-child { border-bottom:0; }
.site-v2 .service-index { font-size:11px; color:var(--forest); padding-top:7px; }
.site-v2 .service-body { grid-column:2; }
.site-v2 .service-line h3 { font:500 clamp(23px,2.4vw,34px)/1.2 var(--site-title); letter-spacing:-.04em; margin:0 0 12px; }
.site-v2 .service-line p { max-width:540px; margin:0 0 14px; font-size:15px; line-height:1.7; color:var(--muted); }
.site-v2 .service-line .service-price { grid-column:3; grid-row:1; padding-top:6px; font-size:15px; font-weight:600; color:var(--ink); white-space:normal; max-width:190px; }
.site-v2 .service-format { background:var(--site-panel); color:var(--ink); border-radius:0; padding:5px 9px; font-size:12px; }
.site-v2 .service-link { grid-column:2/4; font-size:12px; color:var(--forest); min-height:44px; padding:4px 0; margin:0; align-items:center; }
.site-v2 .gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:46px 28px; }
.site-v2 .work-item { margin:0; padding:0; max-width:none; }
.site-v2 .work-item img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:0; }
.site-v2 .work-item video { width:100%; height:auto; max-height:75svh; background:#17241f; }
.site-v2 .gallery figcaption { padding-top:16px; gap:20px; }
.site-v2 .gallery figcaption h3 { font:500 24px/1.2 var(--site-title); letter-spacing:-.03em; margin:0 0 8px; }
.site-v2 .gallery figcaption p { font-size:14px; line-height:1.65; color:var(--muted); }
.site-v2 .audio-piece { padding:28px; background:var(--site-panel); border:1px solid var(--line); }
.site-v2 audio { width:100%; }
.site-v2 .gallery-single { grid-template-columns:minmax(0,1fr); }
.site-v2 .gallery-single img { aspect-ratio:16/9; max-height:760px; }
.site-v2 .about-story:empty { display:none; }
.site-v2 .about-lead { max-width:900px; font-size:clamp(20px,2.2vw,30px); line-height:1.6; margin:0 0 36px; }
.site-v2 .experience-note { display:flex; gap:25px; align-items:baseline; padding:20px 0; margin:0 0 30px; border-block:1px solid var(--line); }
.site-v2 .experience-note span { font-size:12px; color:var(--muted); }
.site-v2 .experience-note strong { font:500 25px/1.3 var(--site-title); }
.site-v2 .about-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; margin:0; }
.site-v2 .about-detail { max-width:none; padding:24px 0; border-top:1px solid var(--line); }
.site-v2 .about-detail dt { font-size:12px; font-weight:600; margin:0 0 16px; }
.site-v2 .about-detail dd { margin:0; }
.site-v2 .about-detail p { margin:0; font-size:15px; line-height:1.7; }
.site-v2 .site-tags { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }
.site-v2 .site-tags li { padding:7px 12px; border:1px solid var(--line); font-size:13px; line-height:1.5; background:var(--site-panel); }
.site-v2 .site-more { margin-top:18px; border-block:1px solid var(--line); }
.site-v2 .site-more>summary { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:64px; padding:16px 0; font-size:14px; list-style:none; }
.site-v2 .site-more>summary::-webkit-details-marker { display:none; }
.site-v2 .site-more[open]>summary>span { transform:rotate(45deg); }
.site-v2 [data-section=contact] {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:50px;
  margin:0 calc(-1 * var(--site-gutter)); padding:clamp(55px,7vw,100px) var(--site-gutter);
  color:var(--ink); background:var(--site-panel); border:0;
}
.site-v2 [data-section=contact] .section-heading { margin:0; }
.site-v2 [data-section=contact] h2 { max-width:590px; }
.site-v2 .contact-invitation { font-size:17px; margin:0 0 22px; }
.site-v2 .contactlinks { gap:12px; margin:0 0 34px; }
.site-v2 .contactlinks .btn { min-height:52px; border-radius:0; font-size:13px; background:var(--forest); color:#fff; }
.site-v2 .contactlinks .btn.light { background:transparent; border-color:var(--line); color:var(--ink); }
.site-v2 .contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 30px; margin:0; border-color:var(--line); padding-top:26px; }
.site-v2 .contact-details dt { font-size:11px; color:var(--muted); margin-bottom:7px; }
.site-v2 .contact-details dd { margin:0; font-size:14px; line-height:1.65; }
.site-v2 .legal-section { padding:26px 0; }
.site-v2 footer { padding:30px 0; font-size:12px; }
.site-v2 .professional-signature { font:600 20px/1.2 var(--site-title); letter-spacing:-.04em; }
/* Profession changes information hierarchy, not just the accent colour. */
.site-v2.composition-craft [data-section=services], .site-v2.composition-business [data-section=services] { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:70px; }
.site-v2.composition-craft [data-section=services] .section-heading, .site-v2.composition-business [data-section=services] .section-heading { position:sticky; top:28px; align-self:start; }
.site-v2.composition-learning .offer-collection, .site-v2.composition-personal .offer-collection, .site-v2.composition-hospitality .offer-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; border:0; }
.site-v2.composition-learning .service-line, .site-v2.composition-personal .service-line, .site-v2.composition-hospitality .service-line { display:flex; align-items:flex-start; flex-direction:column; gap:14px; padding:30px; border:1px solid var(--line); }
.site-v2.composition-learning .service-body, .site-v2.composition-personal .service-body, .site-v2.composition-hospitality .service-body { flex:1; }
.site-v2.composition-learning .service-price, .site-v2.composition-personal .service-price, .site-v2.composition-hospitality .service-price { max-width:none; }
.site-v2.composition-personal .service-line { border:0; border-top:2px solid var(--forest); background:var(--site-panel); }
.site-v2.composition-portfolio .gallery { grid-template-columns:1.2fr .8fr; gap:70px 36px; }
.site-v2.composition-portfolio .work-item:nth-child(even) { padding-top:110px; }
.site-v2.composition-portfolio .work-item img { aspect-ratio:4/5; }
.site-v2.composition-portfolio .gallery-single { grid-template-columns:minmax(0,1fr); }
.site-v2.composition-portfolio .gallery-single img { aspect-ratio:16/10; }
.site-v2.composition-hospitality { --site-title:'Bodoni Moda',Georgia,serif; }
.site-v2.composition-business .public-copy h1 { max-width:900px; }
.site-v2.composition-menu { --site-title:'Bodoni Moda',Georgia,serif; }
.site-v2.composition-menu [data-section=services] .section-heading { max-width:660px; }
.site-v2.composition-menu .service-line { padding:26px 0; }
.site-v2.composition-menu .service-index { display:none; }
.site-v2.composition-menu .service-line { grid-template-columns:minmax(0,1fr) auto; }
.site-v2.composition-menu .service-body { grid-column:1; }
.site-v2.composition-menu .service-line .service-price { grid-column:2; }
.site-v2.composition-menu .service-link { grid-column:1/3; }
.site-v2.composition-shop .work-item:nth-child(3n+1) { grid-column:1/-1; }
.site-v2.composition-shop .work-item:nth-child(3n+1) img { aspect-ratio:16/8; }
.site-v2.composition-community .service-index { font-size:21px; font-weight:600; padding:0; }
/* Four chosen art directions remain available across all professions. */
.site-v2.template-studio .public-hero { background:var(--lime); color:#132e26; }
.site-v2.template-studio .public-hero.has-cover::after { background:linear-gradient(90deg,#edf3eef5 0%,#edf3eee8 50%,#edf3ee7a 100%); }
.site-v2.template-studio .public-nav, .site-v2.template-studio .hero-bottom { border-color:#132e2640; }
.site-v2.template-studio .public-copy .eyebrow, .site-v2.template-studio .hero-bottom { color:inherit; }
.site-v2.template-studio .hero-art span { color:var(--forest); opacity:.12; }
.site-v2.template-studio .public-menu summary, .site-v2.template-studio .hero-secondary { border-color:#132e2660; }
.site-v2.template-studio .public-hero-actions .btn { background:var(--forest); color:#fff; border-color:var(--forest); }
.site-v2.template-galerie { --site-paper:#14201c; --site-panel:#1e2e27; --ink:#f2f4ec; --muted:#bfcac1; --line:#ffffff35; }
.site-v2.template-galerie .site-kicker, .site-v2.template-galerie .service-link, .site-v2.template-galerie .service-index { color:var(--lime); }
.site-v2.template-galerie .public-copy { text-align:center; }
.site-v2.template-galerie .hero-overline, .site-v2.template-galerie .public-hero-actions { justify-content:center; }
.site-v2.template-galerie .public-copy h1, .site-v2.template-galerie .hero-intro { margin-inline:auto; }
.site-v2.template-galerie .public-hero::after { background:#071811b8; }
.site-v2.template-signature .public-copy h1 { --site-title:'Bodoni Moda',Georgia,serif; font-weight:400; }
.site-v2.template-signature .public-hero::after { background:linear-gradient(90deg,#0b2025eb 0%,#0b2025b8 55%,#0b20255c 100%); }
.site-v2.template-signature .public-hero.no-cover::after { background:none; }
/* Dialogs and inline previews use their own width, including on desktop. */
html:has(#previewDialog[open]) { overflow:hidden; }
#previewDialog { scrollbar-gutter:stable; }
#fullPreview, .mini-preview { container-type:inline-size; }
.mini-preview .site-v2 .public-nav { display:none; }
@container(max-width:760px) {
 .public-site.site-v2 { --site-gutter:24px; }
 .public-site.site-v2 .public-hero { min-height:600px; }
 .public-site.site-v2 .public-hero.no-cover { min-height:0; }
 .public-site.site-v2 .public-copy { padding-block:60px; }
 .public-site.site-v2 .public-copy h1 { font-size:clamp(38px,12cqw,72px); }
 .public-site.site-v2 .public-main { padding-inline:var(--site-gutter); }
 .public-site.site-v2 .public-section { padding-block:55px; }
 .public-site.site-v2 .section-heading h2 { font-size:36px; }
 .public-site.site-v2 .section-heading { margin-bottom:28px; }
 .public-site.site-v2 [data-section=services], .public-site.site-v2 [data-section=contact] { display:block; }
 .public-site.site-v2 [data-section=services] .section-heading { position:static; }
 .public-site.site-v2 .offer-collection { grid-template-columns:minmax(0,1fr); }
 .public-site.site-v2 .public-links { display:none; }
 .public-site.site-v2 .public-menu { display:block; }
 .public-site.site-v2 .about-details { grid-template-columns:minmax(0,1fr); }
 .public-site.site-v2 .gallery { grid-template-columns:minmax(0,1fr); gap:32px; }
 .public-site.site-v2 .work-item:nth-child(even) { padding-top:0; }
 .public-site.site-v2 [data-section=contact] .section-heading { margin-bottom:30px; }
}
@media(max-width:760px) {
 .public-site.site-v2 { --site-gutter:24px; }
 .public-site.site-v2 .public-hero { min-height:calc(100svh - 60px); }
 .public-site.site-v2 .public-hero.no-cover { min-height:0; }
 .public-site.site-v2 .public-hero.has-cover::after { background:linear-gradient(0deg,#071b17ed 0%,#071b17ab 65%,#071b17cc 100%); }
 .public-site.site-v2.template-studio .public-hero.has-cover::after { background:#edf3eee8; }
 .public-site.site-v2 .public-nav { min-height:80px; padding:18px var(--site-gutter); gap:18px; }
 .public-site.site-v2 .public-nav>a { max-width:70%; font-size:20px; }
 .public-site.site-v2 .professional-logo { width:34px; height:34px; flex-basis:34px; }
 .public-site.site-v2 .public-links { display:none; }
 .public-site.site-v2 .public-menu { display:block; }
 .public-site.site-v2 .public-copy { padding:52px var(--site-gutter) 48px; }
 .public-site.site-v2 .public-copy h1 { font-size:clamp(40px,11vw,70px); margin-bottom:24px; line-height:1.06; letter-spacing:-.055em; }
 .public-site.site-v2 .hero-overline { gap:10px; margin-bottom:24px; }
 .public-site.site-v2 .hero-overline .eyebrow { font-size:10px; }
 .public-site.site-v2 .hero-location { font-size:11px; }
 .public-site.site-v2 .hero-rule { width:18px; }
 .public-site.site-v2 .public-copy .hero-intro { font-size:16px; line-height:1.65; margin-bottom:28px; }
 .public-site.site-v2 .public-hero-actions { gap:12px 24px; }
 .public-site.site-v2 .public-hero-actions .btn { font-size:13px; min-height:52px; padding:15px 19px; }
 .public-site.site-v2 .hero-secondary { font-size:12px; }
 .public-site.site-v2 .hero-bottom { font-size:9px; padding:8px 0; gap:20px; }
 .public-site.site-v2 .hero-art span { font-size:80vw; right:-.06em; }
 .public-site.site-v2 .public-section { padding-block:54px; }
 .public-site.site-v2 .section-heading { margin-bottom:28px; }
 .public-site.site-v2 .section-eyebrow { margin-bottom:20px; gap:16px; }
 .public-site.site-v2 .section-heading h2 { font-size:clamp(32px,8.6vw,44px); line-height:1.12; }
 .public-site.site-v2 .section-intro { font-size:15px; }
 .public-site.site-v2 [data-section=services], .public-site.site-v2 [data-section=contact] { display:block; }
 .public-site.site-v2 [data-section=services] .section-heading { position:static; }
 .public-site.site-v2 .offer-collection { grid-template-columns:minmax(0,1fr); gap:16px; }
 .public-site.site-v2 .service-line { grid-template-columns:22px minmax(0,1fr); gap:10px 14px; padding:26px 0; }
 .public-site.site-v2 .service-line h3 { font-size:25px; }
 .public-site.site-v2 .service-line p { font-size:14px; }
 .public-site.site-v2 .service-line .service-price { grid-column:2; grid-row:auto; padding:0; max-width:none; font-size:14px; }
 .public-site.site-v2 .service-link { grid-column:2; font-size:12px; }
 .public-site.site-v2.composition-learning .service-line, .public-site.site-v2.composition-personal .service-line, .public-site.site-v2.composition-hospitality .service-line { padding:24px; }
 .public-site.site-v2.composition-menu .service-line { grid-template-columns:minmax(0,1fr); }
 .public-site.site-v2.composition-menu .service-price, .public-site.site-v2.composition-menu .service-link { grid-column:1; }
 .public-site.site-v2 .gallery { grid-template-columns:minmax(0,1fr); gap:34px; }
 .public-site.site-v2 .work-item:nth-child(even) { padding-top:0; }
 .public-site.site-v2 .work-item img { aspect-ratio:4/3; }
 .public-site.site-v2 .gallery-single img { aspect-ratio:4/3; }
 .public-site.site-v2 .gallery figcaption { gap:14px; padding-top:15px; }
 .public-site.site-v2 .gallery figcaption h3 { font-size:23px; }
 .public-site.site-v2 .about-lead { font-size:20px; line-height:1.65; }
 .public-site.site-v2 .about-details { grid-template-columns:minmax(0,1fr); }
 .public-site.site-v2 .about-detail { padding-block:22px; }
 .public-site.site-v2 .about-detail p { font-size:15px; }
 .public-site.site-v2 .site-tags li { font-size:13px; }
 .public-site.site-v2 [data-section=contact] { padding-block:52px; }
 .public-site.site-v2 [data-section=contact] .section-heading { margin-bottom:28px; }
 .public-site.site-v2 .contact-details { gap:24px 18px; }
 .public-site.site-v2 .contactlinks { display:grid; justify-items:stretch; gap:12px; }
 .public-site.site-v2 .contactlinks .btn { width:100%; }
 .public-site.site-v2 .contact-invitation { font-size:16px; }
 .public-site.site-v2 footer { gap:20px; align-items:flex-start; }
 .public-site.site-v2 .legal-section { padding-block:24px; }
 .public-site.site-v2 .professional-signature { font-size:20px; }
}
@media(max-width:359px) {
 .public-site.site-v2 { --site-gutter:20px; }
 .public-site.site-v2 .public-nav>a { font-size:18px; }
 .public-site.site-v2 .public-copy h1 { font-size:37px; }
 .public-site.site-v2 .public-hero-actions .btn { width:100%; }
 .public-site.site-v2 .contact-details { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) { .public-site.site-v2 *, .public-site.site-v2 *::before, .public-site.site-v2 *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Expressive direction + optional motion. The content is never hidden by CSS. */
.site-v2.palette-forest { --lime:#d5ed83; }
.site-v2.palette-cobalt { --forest:#214bb2; --deep:#122750; --lime:#e1ecff; --site-paper:#f7f9ff; --site-panel:#eaf0fc; }
.site-v2.palette-carbon { --forest:#252923; --deep:#171b16; --lime:#d5ed83; --site-paper:#fafbf6; --site-panel:#eff2e7; }
.site-v2.template-galerie.palette-cobalt { --site-paper:#111d35; --site-panel:#1b2d4f; }
.site-v2.template-galerie.palette-carbon { --site-paper:#171b16; --site-panel:#252b21; }
.site-v2.style-bold .public-copy h1 { font-size:clamp(60px,8.4vw,130px); letter-spacing:-.07em; }
.site-v2.style-bold .hero-overline { gap:16px; }
.site-v2.style-bold .hero-location { padding:5px 11px; border:1px solid currentColor; border-radius:30px; }
.site-v2.style-bold .hero-art { background-image:repeating-linear-gradient(120deg,transparent,transparent 119px,#ffffff09 120px,transparent 121px); }
.site-v2.style-bold .hero-art span { font-size:clamp(240px,48vw,760px); opacity:.13; }
.site-v2.style-bold .section-number { display:grid; place-items:center; width:30px; height:30px; background:var(--forest); color:#fff; font-size:10px; }
.site-v2.style-bold.template-galerie .section-number { background:var(--lime); color:var(--deep); }
.site-v2.style-bold .section-heading h2 { font-size:clamp(40px,5vw,78px); }
.site-v2.style-bold .service-index { font:500 23px/1.2 var(--site-title); letter-spacing:-.04em; }
.site-v2.style-bold.composition-learning .service-line { background:var(--site-panel); border:0; border-top:3px solid var(--forest); }
.site-v2.style-bold.composition-hospitality .service-line { border-color:var(--forest); }
.site-v2.style-bold.composition-personal .service-line:nth-child(even) { background:var(--forest); color:#fff; --ink:#fff; --muted:#e3eae6; --line:#ffffff55; }
.site-v2.style-bold.composition-personal .service-line:nth-child(even) .service-index,
.site-v2.style-bold.composition-personal .service-line:nth-child(even) .service-link { color:var(--lime); }
.site-v2.style-bold.composition-personal .service-line:nth-child(even) .service-format { background:#ffffff18; }
.site-v2.style-bold.composition-portfolio .work-item:first-child { grid-column:1/-1; }
.site-v2.style-bold.composition-portfolio .work-item:first-child img { aspect-ratio:16/9; }
.site-v2.style-bold.template-galerie .public-copy h1 { text-transform:uppercase; font-weight:500; }
.site-v2.style-bold.template-signature .public-copy h1 { font-style:italic; letter-spacing:-.055em; }
.site-v2.style-bold [data-section=contact] {
 background:var(--forest); color:#fff; --ink:#fff; --muted:#e1eae4; --line:#ffffff40;
}
.site-v2.style-bold [data-section=contact] .site-kicker { color:var(--lime); }
.site-v2.style-bold [data-section=contact] .contactlinks .btn { background:var(--lime); border-color:var(--lime); color:var(--deep); }
.site-v2.style-bold [data-section=contact] .contactlinks .btn.light { background:transparent; border-color:#ffffff70; color:#fff; }
.site-v2.style-bold [data-section=contact] .demo-contact-note { color:#e1eae4; }
.site-v2 .site-image-link { position:relative; display:block; overflow:hidden; color:#fff; }
.site-v2 .image-expand { position:absolute; bottom:16px; right:16px; display:grid; place-items:center; width:42px; height:42px; background:#142521dd; color:#fff; font-size:21px; }
.site-v2 .site-image-link:focus-visible { outline-offset:5px; }
.site-v2 .site-lightbox {
 position:fixed; inset:0; width:min(1280px,calc(100% - 32px)); height:auto; max-height:94dvh;
 padding:20px; margin:auto; background:#142521; color:#fff; border:1px solid #ffffff40; border-radius:0;
 overflow:auto; box-shadow:0 30px 100px #0007;
}
.site-v2 .site-lightbox::backdrop { background:#07120ee8; }
.site-v2 .lightbox-toolbar,.site-v2 .lightbox-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-v2 .lightbox-toolbar { margin-bottom:18px; font-size:13px; }
.site-v2 .site-lightbox button { min-width:48px; min-height:48px; padding:10px 16px; border:1px solid #ffffff60; color:#fff; background:transparent; font-size:14px; }
.site-v2 .lightbox-picture img { max-height:68dvh; width:100%; object-fit:contain; }
.site-v2 .lightbox-bottom { margin-top:20px; align-items:flex-start; }
.site-v2 .lightbox-caption { font-size:14px; line-height:1.6; margin:0; max-width:800px; }
.site-v2 .lightbox-navigation { display:flex; gap:10px; flex-shrink:0; }
html:has(.site-lightbox[open]) { overflow:hidden; }
@media(hover:hover) and (pointer:fine) {
 .site-v2[data-motion=subtle] .btn,.site-v2[data-motion=subtle] .service-line,.site-v2[data-motion=subtle] .site-image-link img { transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease; }
 .site-v2[data-motion=subtle] .btn:hover { transform:translateY(-2px); box-shadow:0 7px 22px #0002; }
 .site-v2[data-motion=subtle] .site-image-link:hover img { transform:scale(1.025); }
 .site-v2.style-bold[data-motion=subtle].composition-learning .service-line:hover,
 .site-v2.style-bold[data-motion=subtle].composition-personal .service-line:hover { transform:translateY(-4px); box-shadow:0 16px 32px #14252115; }
}
@container(max-width:760px) {
 .public-site.site-v2.style-bold .public-copy h1 { font-size:clamp(39px,12cqw,72px); }
 .public-site.site-v2.style-bold .section-heading h2 { font-size:36px; }
}
@media(max-width:760px) {
 .public-site.site-v2.style-bold .public-copy h1 { font-size:clamp(42px,12vw,74px); }
 .public-site.site-v2.style-bold .section-heading h2 { font-size:clamp(34px,9vw,48px); }
 .public-site.site-v2.style-bold .hero-overline { gap:10px; }
 .public-site.site-v2.style-bold .hero-location { font-size:10px; padding:4px 9px; }
 .public-site.site-v2.style-bold.composition-portfolio .work-item:first-child img { aspect-ratio:4/3; }
 .site-v2 .site-lightbox { width:calc(100% - 16px); max-height:96dvh; padding:14px; }
 .site-v2 .lightbox-bottom { flex-direction:column; gap:16px; }
 .site-v2 .lightbox-navigation { align-self:flex-end; }
 .site-v2 .lightbox-picture img { max-height:62dvh; }
}
.site-v2[data-motion=none] *, .site-v2[data-motion=none] *::before, .site-v2[data-motion=none] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media(prefers-reduced-motion:reduce) { .site-v2 *, .site-v2 *::before,.site-v2 *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(prefers-reduced-motion:reduce) { .site-v2 .btn,.site-v2 .service-line,.site-v2 .site-image-link img { transform:none!important; } }

/* Compact phone composition: first content precedes decorative screen height. */
@media(max-width:760px) {
 .public-site.site-v2 .public-hero { min-height:0; }
 .public-site.site-v2 .public-nav { min-height:72px; padding-block:14px; }
 .public-site.site-v2 .public-copy { align-self:start; padding-block:30px 34px; }
 .public-site.site-v2 .hero-overline { margin-bottom:18px; }
 .public-site.site-v2 .public-copy h1,
 .public-site.site-v2.style-bold .public-copy h1 { font-size:clamp(36px,10vw,48px); margin-bottom:20px; }
 .public-site.site-v2 .public-copy .hero-intro { font-size:15px; line-height:1.6; margin-bottom:22px; }
 .public-site.site-v2 .hero-specialties { margin-bottom:20px; }
 .public-site.site-v2 .public-hero-actions { gap:8px 18px; }
 .public-site.site-v2 .public-hero-actions .btn { min-height:48px; }
 .public-site.site-v2 .hero-bottom { display:none; }
}
