/* Shared workspace polish */
.site-menu-toggle,.dashboard-header-toggle{display:none}
.site-header{position:relative;z-index:20;background:#fff}
.site-header nav a{padding:8px 2px;transition:color .18s}
.site-header nav a:hover{color:var(--green)}
.header-actions{display:flex;align-items:center;gap:12px}
@media(max-width:760px){
 .site-header{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:12px 20px}
 .site-header .brand img{width:135px;height:43px}
 .site-menu-toggle,.dashboard-header-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:12px;font-weight:800}
 .site-header nav{display:none;grid-column:1/-1;order:initial;width:100%;padding:9px 0 2px;flex-wrap:wrap;gap:4px;border-top:1px solid var(--line)}
 .site-header nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-header nav a{padding:11px;background:var(--paper);border-radius:8px;font-size:12px}
 .site-header .header-actions{grid-column:3;grid-row:1}
 .site-header .header-actions .button{padding:9px 11px}
 .workspace-layout{display:block}
 .site-header:has(.dashboard-header-toggle){grid-template-columns:minmax(0,1fr) auto}
 .site-header:has(.dashboard-header-toggle) .brand{grid-column:1;grid-row:1}
 .site-header .dashboard-header-toggle{grid-column:2;grid-row:1}
 .workspace-nav{display:none!important;position:static;max-height:72vh;overflow-y:auto;overflow-x:hidden;flex-direction:column;flex-wrap:nowrap;padding:12px;margin-bottom:20px;box-shadow:0 18px 35px #102d1d12}
 .workspace-nav.is-open{display:flex!important}
 .workspace-nav-heading{display:block;margin:0;padding:11px 12px;border-radius:8px;background:#f6f9f6;color:#264b34;font-size:12px}
 .workspace-nav-group+.workspace-nav-group{margin-top:4px}
 .workspace-nav-group:not([open]) .workspace-nav-heading:after{content:'+';float:right;font-size:18px;line-height:1}
 .workspace-nav-group[open] .workspace-nav-heading:after{content:'−';float:right;font-size:18px;line-height:1}
 .workspace-nav a{width:100%;font-size:13px;padding:10px}
}
.analytics-date-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:16px}
.analytics-date-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--muted)}
.analytics-date-form input{min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}
.analytics-presets{margin-top:18px}
.analytics-filter{min-width:0;padding-bottom:24px}
.analytics-filter .workspace-panel-heading{min-width:0;padding-bottom:12px}
.analytics-filter .workspace-panel-heading>div{min-width:0}
.analytics-filter .workspace-panel-heading h2{overflow-wrap:anywhere}
.analytics-filter .analytics-presets{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0 25px 18px}
.analytics-filter .analytics-date-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(120px,auto);align-items:end;gap:12px;margin:0;padding:0 25px}
.analytics-filter .analytics-date-form label{display:grid;min-width:0;gap:6px}
.analytics-filter .analytics-date-form input{display:block;box-sizing:border-box;min-width:0;width:100%;max-width:100%;font:inherit;font-size:14px}
.analytics-filter .analytics-date-form button{width:100%;white-space:normal}
.analytics-filter .notice{margin:15px 25px 0}
@media(max-width:900px){.analytics-filter .analytics-date-form{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-filter .analytics-date-form button{grid-column:1/-1}}
@media(max-width:520px){.analytics-filter .analytics-presets{padding:0 18px 16px}.analytics-filter .analytics-presets a{flex:1 1 auto}.analytics-filter .analytics-date-form{grid-template-columns:minmax(0,1fr);padding:0 18px}.analytics-filter .analytics-date-form button{grid-column:1}.analytics-filter .notice{margin-inline:18px}}
.portfolio-editor-entry{display:flex;align-items:center;gap:12px}.portfolio-editor-entry img{width:58px;height:58px;object-fit:cover;border-radius:9px}.portfolio-editor-entry span{display:grid}
.portfolio-work-photo{display:block;width:100%;height:190px;object-fit:cover;border-radius:10px;margin-bottom:18px}
.portfolio-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portfolio-photo-card{overflow:hidden;border:1px solid #dfe8dc;border-radius:16px;background:#fff;box-shadow:0 12px 28px #102f1b0c}.portfolio-photo-card>img{display:block;width:100%;height:230px;object-fit:cover}.portfolio-photo-card>div{padding:18px}.portfolio-photo-card h3{font-size:18px;margin:0 0 8px}.portfolio-photo-card .prose p{font-size:12px;margin:0 0 9px}.portfolio-photo-card small{color:var(--muted)}@media(max-width:760px){.portfolio-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:530px){.portfolio-photo-grid{grid-template-columns:1fr}.portfolio-photo-card>img{height:260px}}
.workspace-layout {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: clamp(24px, 4vw, 60px);
  align-items: start;
}
.workspace-nav {
  position: sticky;
  top: 24px;
  gap: 2px;
  padding: 18px 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 36px #10153c08;
}
.workspace-nav-heading {
  margin: 18px 12px 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.workspace-nav-heading:first-child { margin-top: 2px; }
.workspace-nav-group-links{display:grid;gap:2px}.workspace-nav-group>summary{cursor:pointer;list-style:none}.workspace-nav-group>summary::-webkit-details-marker{display:none}
.workspace-nav-group{padding:0 6px 10px;border-bottom:1px solid #edf1ed}
.workspace-nav-group:last-of-type{border-bottom:0;padding-bottom:0}
.workspace-nav-group+.workspace-nav-group{margin-top:8px}
.workspace-nav-group .workspace-nav-heading{margin:0 0 5px;padding:10px 8px;border-radius:8px;background:#f3f7f3;color:#294d35;font-size:10px;font-weight:900;letter-spacing:.1em}
.workspace-nav-group-links{padding-left:8px;border-left:2px solid #dce7dd}
.workspace-nav-group-links a{position:relative;padding-left:15px;color:#536159;font-size:12px;font-weight:600}
.workspace-nav-group-links a[aria-current="page"]{color:#254f34;font-weight:800}
.identity-switcher { padding: 0 5px 12px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.identity-switcher label { margin-bottom: 5px; font-size: 10px; }
.identity-switcher select { padding: 8px; font-size: 11px; }
.workspace-nav a {
  border-radius: 9px;
  color: #344039;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 12px;
}
.workspace-nav a[aria-current="page"] {
  background: #edf5e9;
  color: #315139;
}
.workspace-content { min-width: 0; }
.workspace-content .dashboard-title { margin: 3px 0 12px; }
.workspace-content .panel,
.workspace-content .form-card {
  border-radius: 16px;
  box-shadow: 0 10px 28px #10153c06;
}
.workspace-content .panel-heading { align-items: flex-start; }
.workspace-content .panel-heading h2 { margin-bottom: 8px; }
.workspace-content .panel-heading p { margin: 0; }
.workspace-content .stat { border-radius: 14px; background: #fff; }
.workspace-content .button { white-space: normal; }
.workspace-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.workspace-page-header p { margin-bottom: 0; max-width: 600px; }
.portfolio-editor-section { margin: 18px 0; }
.portfolio-editor-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid var(--line);
  padding: 18px 0;
}
.portfolio-editor-row:first-of-type { margin-top: 22px; }
.portfolio-editor-row strong { display: block; font-size: 14px; }
.portfolio-editor-row small { color: var(--muted); }
.portfolio-editor-row .actions { gap: 16px; font-size: 12px; }
.portfolio-editor-row form { margin: 0; }
.portfolio-editor-row a:hover { color: var(--green); }
.portfolio-empty { margin: 18px 0 0; }
.portfolio-form-eyebrow { margin-top: 30px; }
.portfolio-appearance-form { margin-top: 20px; }
.portfolio-design-fieldset { margin: 0 0 25px; padding: 0; border: 0; }
.portfolio-design-fieldset legend,
.portfolio-photo-fields label { display: block; margin-bottom: 9px; color: var(--ink); font-size: 13px; font-weight: 700; }
.portfolio-design-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.portfolio-design-options label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 9px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 700; }
.portfolio-design-options label:has(input:checked) { background: #edf5e9; border-color: #8eae93; color: #24553a; }
.portfolio-design-options input { accent-color: #3c6b49; }
.portfolio-design-name { min-width: 0; }
.portfolio-design-preview { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 5px; height: 190px; overflow: hidden; padding: 12px; border: 1px solid #dce5e0; border-radius: 6px; background: #fff; color: #22352e; }
.portfolio-design-preview > i { display: block; flex: 0 0 36px; background: #dce8df url("../img/portfolio-demo/cover.6154f78e2ab6.webp") center 48% / cover no-repeat; }
.portfolio-design-preview .preview-avatar { align-self: flex-start; width: 30px; height: 30px; margin: -21px 0 0 8px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
.portfolio-design-preview > b { font-size: 12px; }
.portfolio-design-preview > em { display: block; width: 55%; height: 5px; background: #b9c8c0; }
.portfolio-design-preview span { display: grid; gap: 4px; }
.portfolio-design-preview small { display: block; min-height: 16px; border: 1px solid #d7e0da; background: #f7f9f8; }
.portfolio-design-preview .preview-services { grid-template-columns: repeat(2, 1fr); margin-top: 4px; }
.portfolio-design-preview .preview-quotes,
.portfolio-design-preview .preview-links { grid-template-columns: repeat(3, 1fr); }
.preview-link { align-items: center; text-align: center; }
.preview-link > i { width: calc(100% + 24px); margin-top: -12px; }
.preview-link .preview-avatar { align-self: center; width: 36px; height: 36px; margin-top: -24px; }
.preview-link .preview-links,
.preview-link .preview-services,
.preview-link .preview-quotes { width: 85%; grid-template-columns: 1fr; }
.preview-link small { min-height: 12px; border-radius: 4px; }
.portfolio-design-preview-actions { display: flex; gap: 20px; margin-top: 10px; font-size: 12px; font-weight: 700; }
.portfolio-photo-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; margin-bottom: 26px; }
.portfolio-photo-fields > div { min-width: 0; padding-top: 18px; border-top: 1px solid var(--line); }
.portfolio-photo-fields input[type="file"] { display: block; max-width: 100%; margin: 12px 0 8px; font-size: 12px; }
.portfolio-photo-fields input[type="checkbox"] { accent-color: #3c6b49; }
.portfolio-photo-fields .portfolio-clear-photo { display: inline-flex; align-items: center; gap: 7px; margin: 0; font-size: 12px; font-weight: 600; cursor: pointer; }
.portfolio-photo-fields small { margin-top: 8px; color: var(--muted); }
.portfolio-photo-preview { display: block; width: 100%; max-width: 260px; object-fit: cover; border: 1px solid var(--line); }
.portfolio-photo-preview-profile { width: 124px; height: 124px; border-radius: 50%; }
.portfolio-photo-preview-cover { max-width: 420px; aspect-ratio: 2.5 / 1; border-radius: 5px; }
.portfolio-focus-controls { display: grid; gap: 14px; max-width: 340px; margin-top: 16px; }
.portfolio-slider { display: grid; gap: 6px; }
.portfolio-slider label { display: flex; justify-content: space-between; margin: 0; font-size: 12px; font-weight: 650; }
.portfolio-slider input[type="range"] { width: 100%; height: 24px; margin: 0; padding: 0; accent-color: #3c6b49; cursor: pointer; }
.portfolio-photo-preview[hidden] { display: none; }
.identity-social-field label { display: inline-flex; align-items: center; gap: 9px; }
.social-icon { display: block; width: 19px; height: 19px; flex: none; }
.portfolio-socials .social-icon { width: 19px; height: 19px; }
.workspace-empty-state { text-align: center; padding: 35px 20px; }
.workspace-empty-state h2 { margin-bottom: 12px; }
.workspace-empty-state p { max-width: 450px; margin-inline: auto; }

/* Public portfolio */
.public-page { background: #fff; }
.portfolio-site {
  --portfolio-ink: #142427;
  --portfolio-muted: #596868;
  --portfolio-line: #dce5e0;
  color: var(--portfolio-ink);
  background: #fff;
  overflow-wrap: anywhere;
}
.portfolio-site .prose { min-width: 0; overflow-wrap: anywhere; }
.portfolio-site .prose img,
.portfolio-site .prose video,
.portfolio-site .prose iframe { max-width: 100%; height: auto; }
.portfolio-site .prose pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; }
.portfolio-container { width: min(1160px, calc(100% - 56px)); margin-inline: auto; }
.portfolio-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  min-height: 96px;
  border-bottom: 1px solid var(--portfolio-line);
}
.portfolio-brand { display: inline-flex; align-items: center; gap: 13px; max-width: 320px; min-width: 0; font: 800 17px Manrope, system-ui, sans-serif; letter-spacing: -.03em; }
.portfolio-brand img,
.portfolio-monogram { width: 43px; height: 43px; border-radius: 12px; object-fit: contain; flex: none; }
.portfolio-brand .portfolio-brand-photo { border-radius: 50%; object-fit: cover; }
.portfolio-monogram { display: grid; place-items: center; background: var(--portfolio-accent); color: #fff; font-size: 24px; }
.portfolio-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; font-size: 12px; font-weight: 700; }
.portfolio-nav a:hover { color: var(--portfolio-accent); }
.portfolio-hero {
  position: relative;
  overflow: hidden;
  background: #f1f6f2;
  border-bottom: 1px solid var(--portfolio-line);
}
.portfolio-cover-image { width: 100%; height: clamp(120px, 13vw, 170px); overflow: hidden; }
.portfolio-cover-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.portfolio-hero-with-cover .portfolio-hero-grid { padding-block: clamp(28px, 4vw, 50px); }
.portfolio-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr); gap: clamp(35px, 7vw, 110px); align-items: end; padding-block: clamp(60px, 8vw, 105px); }
.portfolio-kicker,
.portfolio-section-number,
.portfolio-note-overline,
.portfolio-card-index,
.portfolio-result span { display: block; font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.portfolio-kicker { color: var(--portfolio-accent); margin-bottom: 22px; }
.portfolio-hero h1 { max-width: 820px; font-size: clamp(46px, 5.6vw, 76px); line-height: 1.06; letter-spacing: 0; margin-bottom: 25px; overflow-wrap: anywhere; }
.portfolio-intro { max-width: 670px; color: #435454; font-size: clamp(16px, 1.4vw, 19px); }
.portfolio-hero-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 35px; }
.portfolio-socials { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 24px; }
.portfolio-socials a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #b9c9c0; border-radius: 50%; background: #fff; color: var(--portfolio-ink); font-size: 11px; font-weight: 800; }
.portfolio-socials a:hover { border-color: var(--portfolio-accent); color: var(--portfolio-accent); text-decoration: none; }
.portfolio-catalog-subtitle { margin: 0 0 15px; font-size: 17px; letter-spacing: 0; }
.portfolio-collection-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(210px, 30%); gap: 12px; overflow-x: auto; padding-bottom: 17px; margin-bottom: 28px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.portfolio-collection-card { display: block; min-width: 0; overflow: hidden; border: 1px solid var(--portfolio-line, var(--linkpage-line)); border-radius: 7px; background: #fff; scroll-snap-align: start; }
.portfolio-collection-card:hover { border-color: var(--portfolio-accent, var(--linkpage-accent)); text-decoration: none; }
.portfolio-collection-image { display: grid; place-items: center; height: 140px; overflow: hidden; background: #eef2ee; }
.portfolio-collection-image img { width: 100%; height: 100%; object-fit: contain; }
.portfolio-collection-image > span { color: #51705b; font-size: 42px; font-weight: 750; }
.portfolio-collection-copy { display: grid; gap: 3px; padding: 12px 14px 14px; }
.portfolio-collection-copy strong { font-size: 15px; overflow-wrap: anywhere; }
.portfolio-collection-copy small { color: #5d6e61; font-size: 11px; }
.portfolio-collection-action { display: flex; justify-content: space-between; margin-top: 9px; color: var(--portfolio-accent, var(--linkpage-accent)); font-size: 12px; font-weight: 750; }
.portfolio-product-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(245px, 24%); gap: 18px; overflow-x: auto; padding: 0 0 16px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #708d7b #e6ece7; }
.portfolio-product-card { display: flex; flex-direction: column; min-width: 0; background: #fff; color: var(--portfolio-ink, var(--linkpage-ink)); scroll-snap-align: start; }
.portfolio-product-card:hover { text-decoration: none; }
.portfolio-product-image { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #f1f3f0; }
.portfolio-product-card img { display: block; width: 100%; height: 100%; max-height: none; margin: 0; border-radius: 0; object-fit: cover; transition: transform .3s; }
.portfolio-product-card:hover img { transform: scale(1.025); }
.portfolio-product-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: #e8efea; color: #436251; font-size: 46px; font-weight: 650; }
.portfolio-product-image .catalog-sale-tag { position: absolute; top: 10px; left: 10px; padding: 5px 8px; border-radius: 3px; background: #fff; color: #a4443b; font-size: 10px; font-weight: 650; line-height: 1; }
.portfolio-product-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; padding: 12px 2px 0; }
.portfolio-product-copy small { margin-bottom: 5px; color: #687371; font-size: 11px; font-weight: 400; line-height: 1.35; }
.portfolio-product-name { min-height: 2.7em; margin-bottom: 9px; font-size: 14px; font-weight: 550; line-height: 1.35; overflow-wrap: anywhere; }
.portfolio-product-prices { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 9px; margin-top: auto; }
.portfolio-product-price { color: #222b29; font-size: 16px; font-weight: 650; }
.portfolio-compare-price { color: #85908b; font-size: 12px; font-weight: 400; }
.portfolio-product-action { display: inline-flex; align-self: flex-start; gap: 6px; margin-top: 11px; color: var(--portfolio-accent, var(--linkpage-accent)); font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.portfolio-button { display: inline-flex; align-items: center; gap: 20px; padding: 15px 20px; background: var(--portfolio-ink); color: #fff; border-radius: 8px; font-size: 13px; font-weight: 750; }
.portfolio-button:hover { background: #2b4243; text-decoration: none; }
.portfolio-text-link { font-size: 13px; font-weight: 750; }
.portfolio-hero-aside { border-top: 3px solid var(--portfolio-accent); }
.portfolio-aside-label { display: block; padding: 18px 0 8px; color: var(--portfolio-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.portfolio-hero-aside a { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; padding: 16px 0; border-bottom: 1px solid #cad8cf; font-size: 15px; font-weight: 700; }
.portfolio-hero-aside a:hover { color: var(--portfolio-accent); text-decoration: none; }
.portfolio-hero-aside strong { color: var(--portfolio-accent); font-size: 12px; }
.portfolio-section { padding-block: clamp(55px, 7vw, 90px); scroll-margin-top: 25px; }
.portfolio-about { border-bottom: 1px solid var(--portfolio-line); }
.portfolio-about-copy { max-width: 800px; color: var(--portfolio-muted); font-size: 16px; }
.portfolio-about-copy h2,
.portfolio-about-copy h3 { margin: 30px 0 12px; font-size: 23px; color: var(--portfolio-ink); }
.portfolio-about-copy p { color: inherit; font-size: inherit; }
.portfolio-about-copy :last-child { margin-bottom: 0; }
.portfolio-section-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 35px; }
.portfolio-section-number { color: var(--portfolio-accent); margin-bottom: 16px; }
.portfolio-section-head h2,
.portfolio-contact-section h2 { font-size: clamp(34px, 4vw, 54px); margin-bottom: 0; }
.portfolio-section-head p { max-width: 250px; font-size: 13px; margin: 0; }
.portfolio-grid { display: grid; gap: 18px; }
.portfolio-services-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border-top: 1px solid var(--portfolio-line); border-left: 1px solid var(--portfolio-line); background: var(--portfolio-line); }
.portfolio-service-card { min-width: 0; padding: clamp(24px, 3vw, 36px); border-right: 1px solid var(--portfolio-line); border-bottom: 1px solid var(--portfolio-line); background: #fff; }
.portfolio-service-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.portfolio-service-card .portfolio-card-index { margin-bottom: 24px; }
.portfolio-service-card h3 { margin: 0 0 14px; font-size: clamp(22px, 2.5vw, 30px); letter-spacing: 0; overflow-wrap: anywhere; }
.portfolio-service-card > p { min-height: 3.3em; margin-bottom: 15px; color: var(--portfolio-muted); font-size: 14px; }
.portfolio-item-details { border-top: 1px solid var(--portfolio-line); padding-top: 13px; }
.portfolio-item-details summary { width: fit-content; color: var(--portfolio-accent); font-size: 13px; font-weight: 750; cursor: pointer; }
.portfolio-item-details .prose { padding-top: 20px; color: var(--portfolio-muted); font-size: 14px; }
.portfolio-item-details .prose p { color: inherit; font-size: inherit; }
.portfolio-item-details .prose :last-child { margin-bottom: 0; }
.portfolio-more { margin-top: 24px; }
.portfolio-more > summary { width: fit-content; padding: 12px 0; border-bottom: 2px solid var(--portfolio-accent); font-size: 14px; font-weight: 750; cursor: pointer; }
.portfolio-more > .portfolio-services-grid,
.portfolio-more > .portfolio-testimonial-wall,
.portfolio-more > .portfolio-links-list { margin-top: 20px; }
.portfolio-card { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 0; min-width: 0; padding: 30px; border: 1px solid var(--portfolio-line); border-radius: 8px; background: #fff; text-align: left; }
.portfolio-card-index { color: var(--portfolio-accent); margin-bottom: 48px; }
.portfolio-card h3 { font-size: 22px; margin-bottom: 15px; overflow-wrap: anywhere; }
.portfolio-card .prose { color: var(--portfolio-muted); font-size: 14px; }
.portfolio-card .prose p { color: inherit; font-size: inherit; }
.portfolio-card .prose :last-child { margin-bottom: 0; }
.portfolio-work-section { background: #f5f8f6; }
.portfolio-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.portfolio-work-card { min-height: 320px; }
.portfolio-work-card .portfolio-card-index { margin-bottom: 35px; }
.portfolio-result { border-top: 1px solid var(--portfolio-line); padding-top: 18px; margin-top: auto; }
.portfolio-result span { color: var(--portfolio-accent); margin-bottom: 8px; }
.portfolio-result p { color: var(--portfolio-ink); font-size: 14px; margin: 0; }
.portfolio-work-card > a { font-size: 13px; font-weight: 750; margin-top: 22px; }
.portfolio-testimonial-wall { display: grid; grid-template-columns: 1fr; gap: 38px; max-width: 900px; }
.portfolio-testimonial-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 52%); gap: 24px; overflow-x: auto; padding: 4px 2px 22px; scroll-snap-type: x mandatory; scrollbar-color: var(--portfolio-accent) var(--portfolio-line); }
.portfolio-testimonial-rail .portfolio-quote { min-height: 280px; padding: 36px 24px 24px; border: 1px solid var(--portfolio-line); border-top: 3px solid var(--portfolio-accent); scroll-snap-align: start; }
.portfolio-quote { position: relative; margin: 0; padding: 36px 0 0; border-top: 2px solid var(--portfolio-line); }
.portfolio-quote-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 250px); gap: 30px; align-items: end; padding: 35px 0; border-top: 3px solid var(--portfolio-accent); border-bottom: 1px solid var(--portfolio-line); }
.portfolio-quote-mark { position: absolute; top: -9px; left: 0; color: var(--portfolio-accent); font: 800 70px/1 Georgia, serif; pointer-events: none; }
.portfolio-quote blockquote { position: relative; margin: 25px 0; color: var(--portfolio-ink); font: 400 18px/1.6 Georgia, serif; }
.portfolio-quote-featured blockquote { margin: 25px 0; font: 400 clamp(23px, 2.6vw, 32px)/1.45 Georgia, serif; letter-spacing: 0; }
.portfolio-quote blockquote p { color: inherit; font-size: inherit; }
.portfolio-quote blockquote :last-child { margin-bottom: 0; }
.portfolio-quote figcaption { position: relative; display: flex; flex-direction: column; justify-content: end; min-width: 0; font-size: 13px; z-index: 1; }
.portfolio-quote-featured figcaption { padding-top: 18px; border-top: 1px solid var(--portfolio-line); }
.portfolio-quote figcaption span { color: var(--portfolio-muted); }
.portfolio-links-section { background: #f5f8f6; }
.portfolio-links-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.portfolio-quick-link:last-child:nth-child(odd) { grid-column: 1 / -1; }
.portfolio-quick-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; min-height: 72px; padding: 18px 0; border-bottom: 1px solid var(--portfolio-line); background: transparent; font-size: 15px; font-weight: 750; }
.portfolio-quick-link:hover { color: var(--portfolio-accent); text-decoration: none; }
.portfolio-quick-link span:last-of-type { color: var(--portfolio-accent); font-size: 20px; }
.portfolio-quick-link small { color: var(--portfolio-muted); }
.portfolio-contact-section { background: var(--portfolio-ink); color: #fff; }
.portfolio-contact-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 55px; }
.portfolio-contact-section .portfolio-section-number { color: color-mix(in srgb, var(--portfolio-accent) 45%, white); }
.portfolio-contact-section p { color: #d1dddd; font-size: 15px; margin-top: 20px; }
.portfolio-contact-location { font-size: 12px!important; }
.portfolio-contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.portfolio-contact-actions a { display: flex; justify-content: space-between; gap: 20px; padding: 18px; border: 1px solid #ffffff55; border-radius: 9px; font-size: 13px; font-weight: 750; }
.portfolio-contact-actions a:hover { background: #ffffff16; text-decoration: none; }
.portfolio-draft { display: inline-block; width: fit-content; margin-top: 20px; padding: 4px 9px; border-radius: 20px; background: #fff5d9; color: #785819; font-size: 11px; font-weight: 750; }
.portfolio-site .prose a { text-decoration: underline; text-underline-offset: 3px; }
.public-quick-links{margin-top:48px;padding:42px 0;background:#17372c;color:#fff}
.public-quick-links-inner{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:40px;width:min(1120px,calc(100% - 40px));margin:auto}
.public-quick-links-inner>div>span{color:#a9d3ae;font-size:9px;font-weight:900;letter-spacing:.15em}
.public-quick-links h2{max-width:390px;margin:10px 0 0;color:#fff;font-size:clamp(25px,3vw,38px)}
.public-quick-links nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.public-quick-links nav a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;border-bottom:1px solid #ffffff26;color:#fff;font-size:13px;font-weight:750}
.public-quick-links nav a:hover{color:#c6e7c3;text-decoration:none}.public-quick-links nav b{color:#a9d3ae;font-size:18px}
@media(max-width:700px){.public-quick-links{padding:32px 0}.public-quick-links-inner{grid-template-columns:1fr;gap:20px}.public-quick-links nav{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}.public-quick-links nav a{flex:0 0 min(245px,78vw);min-height:64px;padding:0 15px;border:1px solid #ffffff2e;border-radius:10px;scroll-snap-align:start}}

@media (max-width: 1000px) {
  .portfolio-hero-grid { grid-template-columns: 1.2fr .8fr; gap: 28px; }
}
@media (max-width: 760px) {
  .portfolio-collection-grid { grid-auto-columns: minmax(205px, 66%); }
  .portfolio-product-rail { grid-auto-columns: minmax(210px, 70%); }
  .workspace-layout { display: block; }
  .workspace-nav { position: static; }
  .portfolio-editor-row { align-items: flex-start; flex-direction: column; gap: 10px; }
  .portfolio-container { width: min(100% - 36px, 1160px); }
  .portfolio-header { min-height: 0; padding-block: 16px; flex-wrap: wrap; }
  .portfolio-brand { font-size: 15px; }
  .portfolio-nav { gap: 14px; font-size: 11px; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  .portfolio-nav a { white-space: nowrap; }
  .portfolio-hero-grid { grid-template-columns: 1fr; padding-block: 55px; }
  .portfolio-hero-aside { max-width: 420px; }
  .portfolio-hero-with-cover .portfolio-hero-aside { display: none; }
  .portfolio-services-grid { grid-template-columns: 1fr; }
  .portfolio-section-head { display: block; }
  .portfolio-section-head p { margin-top: 12px; }
  .portfolio-work-grid,
  .portfolio-links-list,
  .portfolio-contact-grid { grid-template-columns: 1fr; }
  .portfolio-testimonial-wall { grid-template-columns: 1fr; gap: 28px; }
  .portfolio-testimonial-rail { grid-auto-columns: 88%; }
  .portfolio-quote-featured { grid-column: auto; }
  .portfolio-quote-featured { display: block; }
  .portfolio-quote-featured blockquote { margin-bottom: 25px; }
  .portfolio-contact-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) {
  .portfolio-contact-actions { grid-template-columns: 1fr; }
  .portfolio-card,
  .portfolio-service-card { padding: 23px; }
}

/* Photo-led link page */
.linkpage-site {
  --linkpage-ink: #1b2927;
  --linkpage-muted: #586563;
  --linkpage-line: #dce3df;
  --linkpage-strong: color-mix(in srgb, var(--linkpage-accent) 70%, #1b2927);
  min-height: 80vh;
  color: var(--linkpage-ink);
  background: #f7f9f8;
  overflow-wrap: anywhere;
}
.linkpage-cover { height: clamp(160px, 16vw, 240px); background: color-mix(in srgb, var(--linkpage-accent) 30%, #dce8e1); overflow: hidden; }
.linkpage-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.linkpage-content { width: min(680px, calc(100% - 40px)); margin-inline: auto; padding-bottom: 80px; }
.linkpage-profile { margin-top: -58px; text-align: center; }
.linkpage-avatar { display: grid; place-items: center; width: 116px; height: 116px; margin: 0 auto 18px; border: 5px solid #f7f9f8; border-radius: 50%; background: #fff; box-shadow: 0 5px 20px #1424271a; overflow: hidden; }
.linkpage-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.linkpage-avatar .linkpage-avatar-logo { padding: 10px; object-fit: contain; }
.linkpage-avatar span { display: grid; place-items: center; width: 100%; height: 100%; background: var(--linkpage-strong); color: #fff; font: 800 48px/1 Manrope, system-ui, sans-serif; }
.linkpage-category { margin: 0 0 7px; color: var(--linkpage-strong); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.linkpage-profile h1 { margin: 0 0 13px; font-size: clamp(29px, 4vw, 42px); letter-spacing: 0; overflow-wrap: anywhere; }
.linkpage-bio { max-width: 550px; margin: 0 auto; color: var(--linkpage-muted); font-size: 15px; line-height: 1.6; }
.linkpage-socials { justify-content: center; margin-top: 20px; }
.linkpage-socials a { color: var(--linkpage-ink); border-color: var(--linkpage-line); }
.linkpage-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px 22px; margin: 28px 0 0; padding: 14px 0; border-top: 1px solid var(--linkpage-line); border-bottom: 1px solid var(--linkpage-line); font-size: 12px; font-weight: 700; }
.linkpage-nav a:hover { color: var(--linkpage-strong); }
.linkpage-section { margin-top: 42px; scroll-margin-top: 20px; }
.linkpage-section h2 { margin: 0 0 18px; font-size: 22px; letter-spacing: 0; }
.linkpage-link-list { display: grid; gap: 10px; }
.linkpage-link-list > a { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 66px; padding: 16px 20px; border: 1px solid var(--linkpage-line); border-radius: 8px; background: #fff; font-size: 15px; font-weight: 700; text-align: left; }
.linkpage-link-list > a:hover { border-color: var(--linkpage-strong); color: var(--linkpage-strong); text-decoration: none; }
.linkpage-link-list > a > span:last-child { flex: none; color: var(--linkpage-strong); font-size: 20px; }
.linkpage-link-list small { color: var(--linkpage-muted); font-size: 11px; font-weight: 500; }
.linkpage-item-list { border-top: 1px solid var(--linkpage-line); }
.linkpage-item-list article { padding: 20px 0; border-bottom: 1px solid var(--linkpage-line); }
.linkpage-item-list h3 { margin: 0 0 7px; font-size: 18px; letter-spacing: 0; overflow-wrap: anywhere; }
.linkpage-item-list p,
.linkpage-item-list .prose { margin: 0 0 10px; color: var(--linkpage-muted); font-size: 14px; }
.linkpage-item-list .prose p { color: inherit; font-size: inherit; }
.linkpage-item-list .prose :last-child { margin-bottom: 0; }
.linkpage-item-list details summary,
.linkpage-more > summary { width: fit-content; color: var(--linkpage-strong); font-size: 13px; font-weight: 750; cursor: pointer; }
.linkpage-item-list details .prose { padding-top: 14px; }
.linkpage-result { padding-left: 14px; border-left: 3px solid var(--linkpage-strong); }
.linkpage-work-link { color: var(--linkpage-strong); font-size: 13px; font-weight: 750; }
.linkpage-more { margin-top: 18px; }
.linkpage-more > .linkpage-link-list,
.linkpage-more > .linkpage-item-list,
.linkpage-more > .linkpage-quote-list { margin-top: 16px; }
.linkpage-quote-list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 82%); gap: 14px; overflow-x: auto; padding-bottom: 16px; scroll-snap-type: x mandatory; }
.linkpage-quote-list figure { position: relative; min-height: 230px; margin: 0; padding: 20px 22px; border-left: 3px solid var(--linkpage-strong); background: #fff; scroll-snap-align: start; }
.linkpage-quote-list figure > span { display: block; height: 32px; color: var(--linkpage-strong); font: 700 48px/1 Georgia, serif; }
.linkpage-quote-list blockquote { margin: 14px 0; color: var(--linkpage-ink); font: 400 17px/1.5 Georgia, serif; }
.linkpage-quote-list blockquote p { color: inherit; font-size: inherit; }
.linkpage-quote-list blockquote :last-child { margin-bottom: 0; }
.linkpage-quote-list figcaption { font-size: 12px; }
.linkpage-quote-list figcaption small { color: var(--linkpage-muted); }
.linkpage-about { padding-top: 3px; color: var(--linkpage-muted); font-size: 14px; }
.linkpage-about p { color: inherit; font-size: inherit; }
.linkpage-about h2,
.linkpage-about h3 { margin: 20px 0 10px; color: var(--linkpage-ink); font-size: 18px; }
.linkpage-contact { padding-top: 28px; border-top: 1px solid var(--linkpage-line); }
.linkpage-contact > p { color: var(--linkpage-muted); font-size: 13px; }
.linkpage-contact-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.linkpage-contact-list a { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 55px; padding: 14px 16px; border: 1px solid var(--linkpage-line); border-radius: 8px; background: #fff; font-size: 13px; font-weight: 700; }
.linkpage-contact-list a:hover { border-color: var(--linkpage-strong); text-decoration: none; }
.linkpage-draft { display: block; margin-top: 8px; color: #785819; font-size: 11px; }
.linkpage-site .prose img,
.linkpage-site .prose video,
.linkpage-site .prose iframe { max-width: 100%; height: auto; }

@media (max-width: 760px) {
  .portfolio-photo-fields { grid-template-columns: 1fr; }
  .linkpage-cover { height: 180px; }
  .linkpage-content { width: min(100% - 32px, 680px); }
  .linkpage-profile { margin-top: -51px; }
  .linkpage-avatar { width: 102px; height: 102px; }
}
@media (max-width: 440px) {
  .portfolio-design-options { grid-template-columns: 1fr; }
  .linkpage-nav { gap: 5px 14px; }
  .linkpage-contact-list { grid-template-columns: 1fr; }
}

/* Identity editor */
.identity-intro{max-width:660px}.identity-form{max-width:920px;padding:clamp(20px,4vw,42px)}.identity-form-section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid #e1e9e2}.identity-form-section:last-of-type{border-bottom:0;margin-bottom:10px}.identity-section-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px}.identity-section-heading>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#e8f1e7;color:#315139;font-size:12px;font-weight:800}.identity-section-heading h2{margin:0;font-size:21px;letter-spacing:-.03em}.identity-section-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.identity-fields{display:grid;gap:18px}.identity-fields.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-form .form-field{min-width:0;margin-bottom:18px}.identity-form .form-field label{margin-bottom:7px}.identity-form .form-field .helptext{margin-top:6px}.industry-other{margin-top:12px}.industry-other[hidden]{display:none}.identity-form input[type=color]{width:84px;min-height:46px}.identity-logo-card{display:flex;align-items:center;gap:24px;padding:18px;border:1px solid #d7e4d9;border-radius:14px;background:#f8faf7}.identity-logo-preview{display:grid;place-items:center;flex:0 0 125px;width:125px;height:125px;overflow:hidden;border:1px dashed #bacdbd;border-radius:12px;background:white;color:#829489;font-size:12px}.identity-logo-preview img{width:100%;height:100%;object-fit:contain;padding:9px}.identity-logo-preview img[hidden],.identity-logo-preview span[hidden]{display:none}.identity-logo-controls p{margin:5px 0 12px;color:var(--muted);font-size:12px}.identity-logo-controls input[type=file]{position:absolute;width:1px!important;height:1px!important;opacity:0;pointer-events:none}.identity-file-button{display:inline-flex;cursor:pointer;font-size:12px}.identity-file-name{display:block;margin-top:8px;color:#315139;font-size:12px;overflow-wrap:anywhere}.identity-remove-logo{display:flex!important;align-items:center;gap:8px;margin-top:12px!important;cursor:pointer;font-size:12px!important;color:#8c3f33!important}.identity-socials{margin-top:10px;padding:20px;border-radius:14px;background:#f7faf7;border:1px solid #e1e9e2}.identity-socials h3{font-size:16px;margin:0 0 4px}.identity-socials>p{margin:0 0 16px;color:var(--muted);font-size:12px}.identity-social-icons{display:flex;gap:8px;flex-wrap:wrap}.identity-social-icon{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #d5e1d7;border-radius:9px;background:white;color:#34483c;font-size:12px;font-weight:700;cursor:pointer}.identity-social-icon:hover,.identity-social-icon.is-added{border-color:#86b38e;background:#e9f3e8}.identity-social-icon .social-icon{width:18px;height:18px}.identity-social-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.identity-social-field{padding:14px;border:1px solid #d5e1d7;border-radius:10px;background:white;margin:0!important}.identity-social-field[hidden]{display:none}.identity-social-field label{display:flex!important;align-items:center;gap:8px}.identity-social-field .social-icon{width:18px;height:18px}.identity-social-field .link-button{display:inline-block;margin-top:9px}.identity-address-card{display:grid;gap:5px;padding:18px 20px;border:1px solid #cddfcb;border-radius:13px;background:#f2f8ef}.identity-address-card .status-pill{justify-self:start;margin-bottom:5px}.identity-address-card code{font-size:14px;color:#24553a;overflow-wrap:anywhere}.identity-address-card small{color:var(--muted)}.identity-domain-choice{margin:18px 0!important}.identity-domain-choice .text-link{display:inline-block;margin-top:9px}.identity-domain-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.identity-domain-actions .button{font-size:12px;padding:11px 14px}.identity-consent>label{display:flex!important;align-items:flex-start;gap:10px;padding:17px;border:1px solid #bdd5bf;border-radius:11px;background:#f5f9f4;font-size:14px!important;cursor:pointer}.identity-consent input{flex:0 0 auto;margin-top:3px;transform:scale(1.15)}.identity-consent .helptext{margin-left:18px}@media(max-width:680px){.identity-fields.two-column,.identity-social-fields{grid-template-columns:1fr}.identity-logo-card{align-items:flex-start}.identity-logo-preview{flex-basis:90px;width:90px;height:90px}.identity-domain-actions{display:grid}}
.portfolio-address-list{display:grid;gap:10px;margin:18px 0}.portfolio-address-list>div{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;border:1px solid #dce7dc;border-radius:10px;background:#f8faf7;font-size:12px}.portfolio-address-list span,.portfolio-address-list small{color:var(--muted)}.portfolio-address-list strong{overflow-wrap:anywhere}.portfolio-address-list a{font-weight:700}@media(max-width:680px){.portfolio-address-list>div{grid-template-columns:1fr;gap:4px}}
.identity-form .form-field input[type=color]{width:86px;min-width:86px;padding:4px}

/* Portfolio appearance: a live crop stage instead of isolated sliders */
.portfolio-preview-stage{margin:26px 0 24px;padding:20px;border:1px solid #d6e4d9;border-radius:16px;background:linear-gradient(140deg,#f3f8f2,#fbfcf9)}
.portfolio-preview-stage-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:17px}
.portfolio-preview-stage-heading .eyebrow{display:block;margin:0 0 6px;font-size:10px}
.portfolio-preview-stage-heading h3{margin:0;font-size:18px;letter-spacing:-.03em}
.portfolio-preview-stage-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}
.portfolio-preview-state{flex:none;padding:6px 10px;border-radius:30px;background:white;border:1px solid #d7e5d9;color:#416449;font-size:10px;font-weight:700}
.portfolio-stage-frame{max-width:720px;margin:auto;overflow:hidden;border:1px solid #dce6df;border-radius:13px;background:#fff;box-shadow:0 15px 35px #17382914}
.portfolio-stage-header{display:flex;align-items:center;gap:9px;padding:11px 17px;font-size:12px}
.portfolio-stage-header>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portfolio-stage-nav{margin-left:auto;color:#6f8277;font-size:8px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.portfolio-stage-header-avatar,.portfolio-stage-body-avatar{display:grid;place-items:center;flex:none;overflow:hidden;border-radius:50%;background:#dfecdf;color:#315139;font-weight:800}
.portfolio-stage-header-avatar{width:42px;height:42px}
.portfolio-stage-header-avatar img,.portfolio-stage-body-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-stage-header-avatar img[hidden],.portfolio-stage-body-avatar img[hidden],.portfolio-stage-cover img[hidden],.portfolio-stage-header-avatar span[hidden],.portfolio-stage-body-avatar span[hidden],.portfolio-stage-cover span[hidden]{display:none}
.portfolio-stage-header-avatar img.is-logo,.portfolio-stage-body-avatar img.is-logo{object-fit:contain;padding:5px;background:white}
.portfolio-stage-cover{display:grid;place-items:center;height:125px;overflow:hidden;background:linear-gradient(120deg,#dce9de,#bad3c2);color:#547661;font-size:11px;font-weight:700}
.portfolio-stage-cover img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-stage-body{display:flex;align-items:center;gap:17px;padding:21px 25px 26px;background:#f7faf7}
.portfolio-stage-body>div{display:grid;gap:4px;min-width:0}
.portfolio-stage-body small{font-size:9px;font-weight:800;color:#4c7552;letter-spacing:.1em;text-transform:uppercase}
.portfolio-stage-body strong{font:800 22px/1.2 Manrope,system-ui,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}
.portfolio-stage-body>div>span{color:#6d7e73;font-size:11px}
.portfolio-stage-body-avatar{display:none;width:96px;height:96px;border:5px solid white;box-shadow:0 6px 20px #152d2419;font-size:34px}
.portfolio-preview-stage[data-design="link_page"] .portfolio-stage-header{display:none}
.portfolio-preview-stage[data-design="link_page"] .portfolio-stage-cover{height:165px}
.portfolio-preview-stage[data-design="link_page"] .portfolio-stage-body{flex-direction:column;gap:7px;padding:0 20px 25px;text-align:center;background:#fff}
.portfolio-preview-stage[data-design="link_page"] .portfolio-stage-body-avatar{display:grid;margin-top:-48px}
.portfolio-preview-stage[data-design="link_page"] .portfolio-stage-body>div{justify-items:center}
.portfolio-preview-caption{display:block;margin-top:12px;color:#627568;font-size:11px;line-height:1.5}
.portfolio-photo-fields>.portfolio-photo-card{padding:20px;border:1px solid #dce7df;border-radius:13px;background:#fff}
.portfolio-photo-card>label:first-child{font-size:16px;font-weight:800}
.portfolio-photo-intro{min-height:38px;margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.5}
.portfolio-photo-fields .portfolio-photo-preview{box-shadow:0 6px 16px #132b2115}
.portfolio-photo-fields .portfolio-photo-preview-cover{width:100%}
.portfolio-focus-controls{max-width:none;margin-top:18px;padding:16px;border-radius:10px;background:#f7faf7}
.portfolio-focus-controls>p{margin:0;color:#4d6655;font-size:11px;line-height:1.5}
.portfolio-slider output{color:#315139;font-weight:800}
.portfolio-slider>span{display:flex;justify-content:space-between;color:#718275;font-size:10px}
.portfolio-photo-fields .portfolio-slider input[type=range]{width:100%;height:27px;min-height:0;padding:0;border:0;box-shadow:none}

/* Compact content library: native, keyboard-accessible disclosure cards */
.portfolio-content-section{position:relative;margin:12px 0!important;padding:0!important;overflow:hidden}
.portfolio-content-summary{display:flex;align-items:center;gap:17px;padding:23px 190px 23px 26px;cursor:pointer;list-style:none}
.portfolio-content-summary::-webkit-details-marker{display:none}
.portfolio-content-summary::marker{content:""}
.portfolio-content-summary:hover{background:#f8fbf7}
.portfolio-content-summary:focus-visible{outline:3px solid #80ad66;outline-offset:-4px}
.portfolio-content-mark{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:#e8f1e6;color:#386446;font:800 12px Manrope,system-ui,sans-serif}
.portfolio-content-title{display:grid;gap:4px;min-width:0}
.portfolio-content-title>strong{font:800 19px/1.25 Manrope,system-ui,sans-serif;letter-spacing:-.03em}
.portfolio-content-title>small{color:var(--muted);font-size:12px;line-height:1.5}
.portfolio-content-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}
.portfolio-content-meta b{padding:4px 8px;border-radius:99px;background:#eef4ee;color:#3a6046;font-size:10px;font-weight:700}
.portfolio-content-meta b+ b{background:#f4f5f2;color:#68786c}
.portfolio-content-chevron{position:absolute;top:35px;right:151px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #d4dfd5;color:#315139;font-size:19px;line-height:1;transition:transform .2s}
.portfolio-content-group[open] .portfolio-content-chevron{transform:rotate(180deg)}
.portfolio-content-group[open] .portfolio-content-summary{background:#f8fbf7}
.portfolio-content-add{position:absolute;top:32px;right:25px;padding:9px 12px!important;font-size:11px!important;white-space:nowrap}
.portfolio-content-list{padding:0 26px 20px;border-top:1px solid #e6ede6}
.portfolio-content-list .portfolio-editor-row:first-child{margin-top:0}
.portfolio-content-list .portfolio-empty{padding:20px 0 0;margin:0}
@media(max-width:760px){.portfolio-preview-stage-heading{display:block}.portfolio-preview-state{display:inline-block;margin-top:12px}.portfolio-stage-nav{display:none}.portfolio-photo-intro{min-height:0}}
@media(max-width:580px){.portfolio-content-summary{gap:11px;padding:20px 44px 16px 18px}.portfolio-content-mark{flex-basis:34px;width:34px;height:34px}.portfolio-content-title>strong{font-size:17px}.portfolio-content-chevron{top:23px;right:16px}.portfolio-content-add{position:static;display:inline-flex;margin:0 0 18px 63px}.portfolio-content-list{padding:0 18px 15px}.portfolio-stage-body{padding:18px}.portfolio-stage-body strong{font-size:18px}}
.portfolio-photo-card input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.portfolio-photo-fields .portfolio-photo-upload{display:inline-flex;align-items:center;margin:12px 0 8px;padding:10px 13px;font-size:11px;cursor:pointer}
.portfolio-photo-card input[type=file]:focus-visible+.portfolio-photo-upload{outline:3px solid #80ad66;outline-offset:3px}
.portfolio-photo-file-name{display:block;margin-bottom:7px;color:#315139;font-size:11px;overflow-wrap:anywhere}
.portfolio-photo-file-name:empty{display:none}
.portfolio-focus-controls [data-photo-position-hint]:empty{display:none}
.portfolio-focus-controls [data-photo-position-hint]{color:#735b2d;font-size:11px;font-weight:700}
.portfolio-photo-fields .portfolio-slider input[type=range]:disabled{opacity:.4;cursor:not-allowed}
.portfolio-site .prose pre { overflow-wrap: anywhere; }
@media(max-width:760px){.portfolio-nav{flex-wrap:wrap!important;overflow-x:visible!important}.portfolio-product-rail{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));overflow-x:visible}.portfolio-product-rail>*{min-width:0;max-width:100%}}
@media(max-width:760px){.workspace-layout .workspace-nav{position:static;top:auto;display:none;max-height:72vh;overflow-y:auto;overflow-x:hidden;flex-direction:column;flex-wrap:nowrap;gap:4px;padding:12px;margin-bottom:20px}.workspace-layout .workspace-nav.is-open{display:flex}.workspace-layout .workspace-nav-heading{display:block;margin:0;padding:11px 12px;border-radius:8px;background:#f6f9f6;color:#264b34;font-size:12px;letter-spacing:0;text-transform:none}.workspace-layout .workspace-nav a{display:block;width:100%;white-space:normal;padding:10px 12px;font-size:13px}}
.portfolio-product-grid{display:grid;grid-template-columns:repeat(var(--product-columns,3),minmax(0,1fr));gap:22px;margin:0 0 22px}.portfolio-product-grid .portfolio-product-card{min-width:0}.portfolio-product-grid .portfolio-product-image{aspect-ratio:4/3}.portfolio-catalog-intro{max-width:520px;color:#50675a}.portfolio-album{margin:0 0 32px}.portfolio-album h3{margin:0 0 6px;font-size:22px}.portfolio-album>p{margin:0 0 18px;color:#5a6e60}.portfolio-photo-card>video{display:block;width:100%;height:230px;object-fit:contain;background:#10241b}.portfolio-gallery-manager{padding:22px}.portfolio-gallery-upload{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;max-width:650px}.portfolio-gallery-upload>label,.portfolio-gallery-upload>small,.portfolio-gallery-upload>input,.portfolio-gallery-upload>select{grid-column:1/-1}.portfolio-gallery-upload>label{font-size:12px;font-weight:800}.portfolio-gallery-upload>input,.portfolio-gallery-upload>select{min-height:42px}.portfolio-gallery-upload>small{color:#617466}.portfolio-gallery-upload>.portfolio-gallery-publish{display:flex;gap:8px;align-items:center}.portfolio-gallery-upload>button{justify-self:start}.portfolio-album-manager{margin-top:24px}.portfolio-album-manager h3{font-size:17px}.portfolio-album-manager>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e1e8e2}.portfolio-album-manager>div span{display:flex;gap:8px}.portfolio-album-manager form{margin:0}.portfolio-video-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:9px;background:#17342b;color:#fff}.portfolio-display-settings{margin:20px 0;padding:20px;border:1px solid #dce7df;border-radius:12px}.portfolio-display-settings legend{font-weight:800}.portfolio-display-settings p{font-size:12px}.portfolio-display-settings .workspace-form-grid{margin-top:15px}@media(max-width:900px){.portfolio-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:530px){.portfolio-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portfolio-photo-card>video{height:260px}.portfolio-gallery-manager{padding:17px}.portfolio-album-manager>div{align-items:flex-start;flex-direction:column}}
.public-gallery-page{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:55px 0 80px}.public-gallery-header{max-width:760px}.public-gallery-header h1{margin:8px 0 10px;font-size:clamp(38px,6vw,68px);line-height:1;letter-spacing:-.055em}.public-gallery-header p{color:#586d5e;line-height:1.7}.public-gallery-back{display:inline-block;margin-bottom:34px;color:#315e43;font-size:12px;font-weight:800;text-decoration:none}.public-gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 24px}.public-gallery-filters a{padding:9px 13px;border:1px solid #d9e5da;border-radius:999px;background:#fff;color:#315b42;font-size:12px;font-weight:800;text-decoration:none}.public-gallery-filters a[aria-current=page]{border-color:#315b42;background:#315b42;color:#fff}.public-gallery-filters span{opacity:.7}.public-gallery-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:32px;color:#5e7164;font-size:12px}.public-gallery-pagination a{color:#315d43;font-weight:800}.public-gallery-empty{grid-column:1/-1;padding:35px;border:1px solid #dfe8df;border-radius:14px;background:#fff;text-align:center}

/* Gallery media is independent of the product catalog. */
.portfolio-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}
.portfolio-gallery-controls{display:flex;gap:8px;flex:none}
.portfolio-gallery-controls button{width:39px;height:39px;border:1px solid #cbdccd;border-radius:50%;background:#fff;color:#2d5b3e;font-size:20px;cursor:pointer}
.portfolio-gallery-controls button:disabled{opacity:.4;cursor:default}
.portfolio-gallery-rail{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:6px 3px 18px;scrollbar-color:#9bb9a1 transparent}
.portfolio-gallery-rail>.portfolio-photo-card,.portfolio-gallery-rail>.public-album-card{flex:0 0 clamp(245px,28vw,330px);scroll-snap-align:start;min-width:0}
.portfolio-gallery-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}
.portfolio-photo-card{min-width:0}
.portfolio-photo-open{display:block;position:relative;overflow:hidden;background:#edf2eb}
.portfolio-photo-open>img,.portfolio-video-preview>video{display:block;width:100%;height:225px;object-fit:cover}
.portfolio-photo-open:hover>img,.portfolio-photo-open:hover .portfolio-video-preview>video{transform:scale(1.025)}
.portfolio-photo-open>img,.portfolio-video-preview>video{transition:transform .2s ease}
.portfolio-video-preview{position:relative;display:block}
.portfolio-video-preview>span{position:absolute;right:12px;bottom:12px;border-radius:999px;background:#17372add;color:#fff;font-size:11px;font-weight:800;padding:8px 11px}
.portfolio-photo-copy{padding:16px 18px 18px}
.portfolio-photo-copy h3{margin:5px 0 8px}
.portfolio-photo-copy p{font-size:12px;color:#5d7163;margin:0 0 10px}
.portfolio-photo-copy>a{font-size:12px;font-weight:800;color:#315d43;text-decoration:none}
.portfolio-photo-copy>a:hover{text-decoration:underline}
.public-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.public-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.public-album-card{display:block;overflow:hidden;border:1px solid #dfe8dc;border-radius:16px;background:#fff;color:#23382a;text-decoration:none}
.public-album-card>img,.public-album-card>video{display:block;width:100%;height:220px;object-fit:cover;background:#10241b}
.public-album-card>span{display:grid;gap:5px;padding:18px}
.public-album-card strong{font-size:19px}.public-album-card small,.public-album-card>span>span{color:#5e7164;font-size:12px}
.public-album-card:hover strong{text-decoration:underline}
.public-gallery-detail{max-width:980px}
.public-gallery-detail-top,.public-gallery-detail-pager{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#607362;font-size:12px;font-weight:800}
.public-gallery-detail-top a,.public-gallery-detail-pager a,.public-gallery-detail-copy a{color:#315d43;text-decoration:none}
.public-gallery-detail-top a:hover,.public-gallery-detail-pager a:hover,.public-gallery-detail-copy a:hover{text-decoration:underline}
.public-gallery-detail-media{display:grid;place-items:center;margin:22px 0 0;min-height:280px;border-radius:18px;overflow:hidden;background:#10241b}
.public-gallery-detail-media img,.public-gallery-detail-media video{display:block;max-width:100%;max-height:min(76vh,850px);width:auto;height:auto}
.public-gallery-detail-media video{width:100%}
.public-gallery-detail-copy{padding:22px 0 32px}.public-gallery-detail-copy h1{font-size:clamp(30px,5vw,52px);margin:8px 0 12px}.public-gallery-detail-copy p{color:#506655}

/* Mobile public pages use compact swipe rails instead of long card stacks. */
@media(max-width:760px){
  .portfolio-services-grid,.portfolio-work-grid,.portfolio-product-grid,.portfolio-product-rail,.linkpage-item-rail{display:grid;grid-auto-flow:column;grid-template-columns:none!important;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:3px 2px 17px;scrollbar-width:thin;scrollbar-color:#8dab93 transparent}
  .portfolio-services-grid{grid-auto-columns:minmax(260px,86%);border:0;background:transparent}
  .portfolio-service-card{border:1px solid var(--portfolio-line);scroll-snap-align:start}
  .portfolio-service-card:last-child:nth-child(odd){grid-column:auto}
  .portfolio-work-grid{grid-auto-columns:minmax(270px,88%)}
  .portfolio-work-card{min-height:100%;scroll-snap-align:start}
  .portfolio-product-grid,.portfolio-product-rail{grid-auto-columns:minmax(220px,76%);margin-bottom:18px}
  .portfolio-product-grid>.portfolio-product-card,.portfolio-product-rail>*{width:auto;max-width:none;scroll-snap-align:start}
  .linkpage-item-rail{grid-auto-columns:minmax(250px,86%);border:0}
  .linkpage-item-rail article{display:flex;min-height:230px;flex-direction:column;padding:20px;border:1px solid var(--linkpage-line);border-radius:10px;background:#fff;scroll-snap-align:start}
  .linkpage-item-rail article>details,.linkpage-item-rail article>.linkpage-work-link{margin-top:auto}
}
.public-gallery-detail-pager{border-top:1px solid #dfe8dc;padding-top:20px}
@media(max-width:760px){.public-gallery-grid,.public-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portfolio-photo-open>img,.portfolio-video-preview>video{height:200px}}
@media(max-width:530px){.public-gallery-grid,.public-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-gallery-grid .portfolio-photo-open>img,.public-gallery-grid .portfolio-video-preview>video,.public-album-card>img,.public-album-card>video{height:145px}.public-gallery-grid .portfolio-photo-copy{padding:11px}.public-gallery-grid .portfolio-photo-copy h3,.public-album-card strong{font-size:14px}.public-gallery-grid .portfolio-photo-copy p{display:none}.public-album-card>span{padding:12px}}
@media(max-width:760px){.portfolio-services-grid,.portfolio-testimonial-rail,.linkpage-quote-list{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin}.portfolio-services-grid>.portfolio-service-card,.portfolio-testimonial-rail>.portfolio-quote,.linkpage-quote-list>figure{flex:0 0 min(82%,340px);scroll-snap-align:start;min-width:0}.portfolio-services-grid{border-left:0;background:transparent}.portfolio-service-card:last-child:nth-child(odd){grid-column:auto}.portfolio-testimonial-rail>.portfolio-quote{min-height:230px}.linkpage-quote-list>figure{max-width:none}}
@media(max-width:530px){.portfolio-gallery-rail{gap:12px}.portfolio-gallery-rail>.portfolio-photo-card,.portfolio-gallery-rail>.public-album-card{flex-basis:calc((100% - 12px)/2)}.portfolio-gallery-rail .portfolio-photo-open>img,.portfolio-gallery-rail .portfolio-video-preview>video,.portfolio-gallery-rail>.public-album-card>img,.portfolio-gallery-rail>.public-album-card>video{height:auto;aspect-ratio:4/3;object-fit:cover}.portfolio-gallery-rail .portfolio-photo-copy{padding:11px}.portfolio-gallery-rail .portfolio-photo-copy h3,.portfolio-gallery-rail>.public-album-card strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;overflow-wrap:anywhere}.portfolio-gallery-rail .portfolio-photo-copy p,.portfolio-gallery-rail>.public-album-card>span>span{display:none}.portfolio-gallery-rail>.public-album-card>span{padding:12px}.portfolio-services-grid>.portfolio-service-card,.portfolio-testimonial-rail>.portfolio-quote,.linkpage-quote-list>figure{flex-basis:84%}}
@media(max-width:760px){.portfolio-site .portfolio-collection-grid,.linkpage-site .portfolio-collection-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,66vw);grid-template-columns:none;overflow-x:auto}.portfolio-site .portfolio-collection-grid>*,.linkpage-site .portfolio-collection-grid>*{max-width:none}}
@media(max-width:530px){.portfolio-site .portfolio-collection-grid,.linkpage-site .portfolio-collection-grid{grid-auto-columns:minmax(0,76vw)}}
@media(prefers-reduced-motion:reduce){.portfolio-photo-open>img,.portfolio-video-preview>video{transition:none}}
.business-demo-notice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px max(22px,calc((100vw - 1180px)/2));background:#102820;color:#dceadc;font-size:11px;line-height:1.5}.business-demo-notice>div{display:flex;align-items:center;gap:12px}.business-demo-notice strong{flex:none;padding:5px 8px;border:1px solid #6e9c7d;border-radius:999px;color:#fff;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.business-demo-notice a{flex:none;color:#fff;font-weight:800}.business-demo-notice a:hover{color:#c8ecc3}@media(max-width:700px){.business-demo-notice{align-items:flex-start;flex-direction:column;gap:8px}.business-demo-notice>div{align-items:flex-start;flex-direction:column;gap:6px}}
.portfolio-price-list-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.2rem}.portfolio-price-list-preview article{padding:1.2rem;border:1px solid var(--portfolio-line,#e5e5dd);border-radius:16px;background:var(--portfolio-surface,#fff)}.portfolio-price-list-preview h3{margin:0 0 .8rem}.portfolio-price-list-preview article>div{display:flex;justify-content:space-between;gap:.8rem;padding:.45rem 0;border-top:1px solid var(--portfolio-line,#eee)}.portfolio-price-list-preview strong{white-space:nowrap}
