{"id":193440,"date":"2016-02-04T21:27:54","date_gmt":"2016-02-05T02:27:54","guid":{"rendered":"https:\/\/ccstudiosmiami.com\/galeria\/"},"modified":"2026-10-04T20:15:56","modified_gmt":"2026-10-05T00:15:56","slug":"galeria","status":"publish","type":"page","link":"https:\/\/ccstudiosmiami.com\/es\/galeria\/","title":{"rendered":"Galer\u00eda del Estudio"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_block_section cc-hero-plain-sec\" id=\"hero\"><div class=\"et_pb_row_0 et_pb_row et_block_row\"><div class=\"et_pb_column_0 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><link rel=\"preload\" as=\"font\" type=\"font\/ttf\" href=\"https:\/\/fonts.gstatic.com\/s\/bodonimoda\/v28\/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oZDdwIA.ttf\" crossorigin><style>:root {\n  --accent: #000000;\n  --ash: #000000;\n  --bg: var(--ivory);\n  --bg-alt: var(--warm-white);\n  --black: #0B0A09;\n  --btn-radius: 0px;\n  --fg: var(--ink);\n  --fg-alt: var(--ink);\n  --font-body: 'Montserrat', -apple-system, sans-serif;\n  --font-display: 'Bodoni Moda', Georgia, serif;\n  --graphite: #3a352f;\n  --ink: #141210;\n  --ivory: #F9F0E0;\n  --ivory-deep: #F1E6D2;\n  --line: rgba(20,18,16,0.14);\n  --warm-white: #FCF8F0;\n}\n\n\/* Exact font files used by the approved interactive library.\n   A unique family name prevents WordPress\/Divi from satisfying the request with\n   another Bodoni Moda file under the same family name. *\/\n@font-face {\n  font-family: 'CC Bodoni Moda';\n  font-style: normal;\n  font-weight: 500;\n  font-display: swap;\n  src: url('https:\/\/fonts.gstatic.com\/s\/bodonimoda\/v28\/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oXzawIA.ttf') format('truetype');\n}\n:root {\n  --font-display: 'CC Bodoni Moda', 'Bodoni Moda', Georgia, serif;\n}\n@font-face {\n  font-family: 'CC Bodoni Moda';\n  font-style: normal;\n  font-weight: 600;\n  font-display: swap;\n  src: url('https:\/\/fonts.gstatic.com\/s\/bodonimoda\/v28\/aFT67PxzY382XsXX63LUYL6GYFcan6NJrKp-VPjfJMShrpsGFUt8oZDdwIA.ttf') format('truetype');\n}\n\n\/* scale.css \u2014 reusable type, spacing and motion roles.\n   Loaded after tokens.css and before base.css. HOME's token values remain\n   mirrored in tokens.css; this file supplies additional component roles.\n\n   Owner correction 2026-09-16: preserve HOME's normal section-heading scale\n   (Bodoni Moda, clamp(28px, 6vw, 46px), weight 600) and its component-specific\n   spacing. The display\/H2 variables below do not replace base.css's .bk-h2.\n   Existing roles are retained for their consumers, not applied as a mandatory\n   heading ladder. Component optical exceptions remain documented in shared source.\n   The 4px-based spacing roles support reuse without flattening HOME's composition. *\/\n\n:root {\n  --t-hero-size: clamp(34px, 4.5vw, 60px);\n  --t-hero-lh: 1.08;\n  --t-hero-ls: -0.015em;\n  \/* ---- reusable type roles ---------------------------------------------- *\/\n  \/* Optional display role. Normal HOME headings use their component\/base rules. *\/\n  --t-display-size: clamp(38px, 5.6vw, 58px);\n  --t-display-lh: 1.02;\n  --t-display-ls: -0.02em;\n\n  --t-h2-size: clamp(29px, 3.4vw, 42px);\n  --t-h2-lh: 1.08;\n  --t-h2-ls: -0.015em;\n  \/* The same title role inside a single column no wider than 480px (the standalone \/links\/ page, 2026-10-01).\n     --t-h2 scales with the VIEWPORT, the column does not: at 1440 the role's 42px drew \"Content Studio in Miami\"\n     467px wide in a 456px column, and at 320 its 29px floor drew it 322px in 296px -- a third title line either\n     way. The cap is the column (minus its two --s-3 gutters) over that line's measured advance in the system face,\n     11.1em, plus 4%. Every width from 360 to 414 keeps the plain role (29px). *\/\n  --t-column-title-size: min(var(--t-h2-size), calc((min(100vw, 480px) - 2 * var(--s-3)) \/ 11.6));\n\n  --t-h3-size: clamp(20px, 1.9vw, 25px);\n  --t-h3-lh: 1.18;\n  --t-h3-ls: -0.01em;\n\n  \/* Numerals are their own role: they need tabular figures so a price column\n     aligns, and they should never inherit a heading's optical letter-spacing. *\/\n  --t-numeral-size: clamp(28px, 2.6vw, 36px);\n  --t-numeral-lh: 1;\n  --t-numeral-ls: -0.015em;\n\n  --t-lead-size: 17px;\n  --t-lead-lh: 1.55;\n\n  --t-body-size: 16px;\n  --t-body-lh: 1.70;\n\n  --t-meta-size: 13px;      \/* replaces 12.5 \/ 13 \/ 13.5, which were one job *\/\n  --t-meta-lh: 1.45;\n  \/* The meta role for a line that must stay ONE line on the narrowest phones (owner 2026-10-02, \/links\/ route cards:\n     \"make all sub text in the button fit on one line no matter the break point\"). 13px from 375px up; below that it\n     steps down with the screen (12.3px at 360, 11.5px at 344, 10.2px at 320), sized so the longest \/links\/ route line\n     (245px at 13px) fits its card. tests\/test_links_page.py measures every line at 320-1440. *\/\n  --t-meta-fit-size: min(var(--t-meta-size), calc(5.2vw - 6.4px));\n\n  --t-ui-size: 12px;        \/* buttons and controls *\/\n  --t-ui-lh: 1;\n  --t-ui-ls: 0.16em;\n\n  --t-micro-size: 11px;     \/* replaces three different 10.5px treatments *\/\n  --t-micro-lh: 1.25;\n  --t-micro-ls: 0.10em;\n\n  \/* ---- spacing: 4px base ------------------------------------------------- *\/\n  --s-1: 4px;\n  --s-2: 8px;\n  --s-3: 12px;\n  --s-4: 16px;\n  --s-5: 24px;    \/* shared spacing role; component gaps retain their documented values *\/\n  --s-6: 32px;\n  --s-7: 48px;\n  --s-8: 64px;\n  --s-9: 96px;\n  --s-10: 128px;\n\n  \/* ---- section rhythm ---------------------------------------------------- *\/\n  \/* Available section roles. Base .bk-section and component-specific rules\n     determine actual padding; these variables are not assigned automatically. *\/\n  --sec-lg: var(--s-10);\n  --sec: var(--s-9);\n  --sec-sm: var(--s-8);\n\n  \/* ---- motion ------------------------------------------------------------ *\/\n  \/* Shared transition durations. Preserve each component's documented timing\n     and reduced-motion behavior when it consumes or extends these roles. *\/\n  --motion-fast: 120ms;\n  --motion-base: 250ms;\n  --motion-slow: 400ms;\n  --motion-ease: cubic-bezier(0.2, 0.7, 0.3, 1);\n}\n\n@media (max-width: 600px) {\n  :root {\n    --sec-lg: 72px;\n    --sec: 56px;\n    --sec-sm: 40px;\n  }\n}\n\n\/* base.css \u2014 layout primitives lifted verbatim from HOME's live CSS\n   (reference\/home.css). Every selector is scoped to .et-l--post per\n   the project's CSS-specificity rule (winning specificity is\n   body[class] .et-l--post <sel>). Do not hand-invent a rule here \u2014\n   re-run refresh_reference.py and re-extract if HOME changes.\n\n   Where HOME shipped two conflicting declarations for the same selector\n   (a base rule plus a later, higher-cascade-order override), the rule\n   that actually wins on the live page is the one transcribed below. *\/\n\n\/* box-sizing, and why it is here rather than assumed.\n   Measured 2026-09-14: `grep box-sizing` across the whole system returned ZERO hits.\n   .btn--block is width:100% with 38px horizontal padding and a 1px border, so inside\n   the 1180px container it computed 1258px and overflowed by 78px -- visible as the\n   ivory ADD EDITING button hanging past the price card above it. A 78px overshoot\n   reads worse than an obvious break, because it looks like a decision. *\/\n.et-l--post,\n.et-l--post *,\n.et-l--post *::before,\n.et-l--post *::after {\n  box-sizing: border-box;\n}\n\n\/* .bk-section \u2014 section wrapper padding *\/\n.et-l--post .bk-section {\n  padding: clamp(48px, 8vw, 96px) 0;\n}\n@media (max-width: 760px) {\n  .et-l--post .bk-section {\n    padding-top: 32px !important;\n    padding-bottom: 32px !important;\n  }\n}\n\n\/* SECTION SPACING CONDITIONS -- owner 2026-09-24: \"We should have spacing conditions\n   in place. I didn't ask for no space I asked for standard normal looking.\"\n   tools\/cc_system\/spacing.py derives every boundary from each component's `spacing`\n   role in components.json; build.py emits the result as bk-gap-* classes on the Divi\n   section; these rules are the ONLY place a system section's vertical padding is set.\n   Component stylesheets never pad their own section root (tests\/test_spacing_conditions\n   enforces it), and spacing.py check measures the rendered gaps against the conditions.\n     std    ordinary boundary                     --sec-y each side\n     rel    inside the reviews\/press\/feed group   --sec-y-rel each side\n     none   embed bottom; media meeting media or closing the page\n     embed  after an embed: tops its own blank inset up to the standard gap *\/\n.et-l--post {\n  --sec-y: clamp(32px, 4vw, 48px);\n  --sec-y-rel: clamp(24px, 2.25vw, 32px);\n}\n.et-l--post .et_pb_section.bk-gap-t--std [data-screen-label].bk-section { padding-top: var(--sec-y) !important; }\n.et-l--post .et_pb_section.bk-gap-b--std [data-screen-label].bk-section { padding-bottom: var(--sec-y) !important; }\n.et-l--post .et_pb_section.bk-gap-t--rel [data-screen-label].bk-section { padding-top: var(--sec-y-rel) !important; }\n.et-l--post .et_pb_section.bk-gap-b--rel [data-screen-label].bk-section { padding-bottom: var(--sec-y-rel) !important; }\n.et-l--post .et_pb_section.bk-gap-t--none [data-screen-label].bk-section { padding-top: 0 !important; }\n.et-l--post .et_pb_section.bk-gap-b--none [data-screen-label].bk-section { padding-bottom: 0 !important; }\n.et-l--post .et_pb_section.bk-gap-t--embed [data-screen-label].bk-section {\n  padding-top: max(0px, calc(2 * var(--sec-y) - var(--embed-inset-bottom, 0px))) !important;\n}\n\n\/* Owner 2026-09-24, same seam as HOME's map band (map.css): the footer's own\n   `border-top: 1px solid var(--line)` plus the 1px sticky anchor read as a grey line\n   under the closing media. The footer CSS is inline in the Divi Theme Builder and not\n   REST-writable, so this is the page-payload exception to `.et-l--post` scoping.\n   spacing.py adds the class to a page's last section when it is edge-to-edge media. *\/\nbody:has(.et-l--post .bk-section--flush-footer) .bk-footer {\n  border-top: 0;\n  margin-top: -1px;\n}\n\n\/* .bk-section--tight \u2014 the standard system section (every `content`, `proof`,\n   `media` and `embed` component). Its value is the spacing token; the derived\n   bk-gap-* classes above decide each edge on a built page. *\/\n.et-l--post .bk-section--tight {\n  padding: var(--sec-y) 0;\n}\n\n\/* .container-bk \u2014 section content width *\/\n.et-l--post .container-bk {\n  width: min(1180px, 92vw);\n  margin: 0 auto;\n}\n\n\/* .bk-h2 \u2014 section heading. HOME's base rule sets font-weight: 500, but\n   a later compound rule (.bk-h2, .hm-hero__title, ... { font-weight:\n   600 !important; }) wins the cascade regardless of source order. Only\n   the .bk-h2-relevant weight is transcribed here; the compound\n   selector's other classes belong to components not yet in this\n   system. *\/\n.et-l--post .bk-h2 {\n  font-family: var(--font-display);\n  font-weight: 600 !important;\n  font-size: clamp(28px, 6vw, 46px);\n  line-height: 1.04;\n  letter-spacing: -0.01em !important;\n  color: var(--ink) !important;\n  margin: 0;\n  padding: 0 0 10px;\n  text-wrap: balance;\n}\n\n\/* The theme forces h2 to 18px on very narrow phones. Keep normal section\n   headings on HOME's scale; explicit quiet\/loud variants retain their own roles. *\/\n.et-l--post .bk-section:not(.bk-section--quiet):not(.bk-section--loud) .bk-h2 {\n  font-size: clamp(28px, 6vw, 46px) !important;\n}\n\n\/* .bk-lead \u2014 section lead paragraph *\/\n.et-l--post .bk-lead {\n  font-size: var(--t-body-size);\n  text-wrap: balance;\n  font-weight: 500;\n  color: var(--graphite);\n  line-height: 1.6;\n  max-width: 56ch;\n  margin: 12px 0 0;\n}\n\n\/* .reveal \u2014 scroll-in animation primitive. The \"revealed\" state and the\n   .reveal-armed unrevealed state are one mechanism; both are transcribed\n   so the primitive actually animates. Values are HOME's winning\n   (higher cascade order) declaration: .8s \/ translateY(24px). *\/\n.et-l--post .reveal {\n  opacity: 1;\n  transform: none;\n  transition: opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);\n}\n.et-l--post .reveal-armed .reveal:not(.in) {\n  opacity: 0;\n  transform: translateY(24px);\n}\n\n\/* FIX 4: .reveal runs a fade\/translate on every section (via .reveal-armed\n   above) and had no prefers-reduced-motion counterpart at all \u2014 the only\n   reduced-motion query in the whole system gated the press marquee\n   (press.css's .ccp-track), leaving this, the mechanism that actually fires\n   on every section, ungated. Removing just the transition is not enough:\n   a page whose JS arms .reveal-armed before the intersection observer adds\n   .in would leave the untransitioned element stuck at opacity:0 forever \u2014\n   worse than the motion it replaces. Both declarations are neutralised\n   together so content is always visible under reduced motion, regardless\n   of .reveal-armed\/.in state. *\/\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .reveal {\n    transition: none;\n  }\n  .et-l--post .reveal-armed .reveal:not(.in) {\n    opacity: 1;\n    transform: none;\n  }\n}\n\n\/* Base section ground \u2014 the other half of the tone system.\n\n   HOME paints EVERY section ivory and lets .hm-tone-d opt out. Only the opt-out\n   below was transcribed, so every section that is not .hm-tone-d fell through to\n   Divi's own dynamic rule (.et_pb_section{background-color:rgb(255,255,255)},\n   specificity 0,1,0, no !important) and rendered WHITE. That is the mechanism\n   behind the \/podcast-studio-miami\/ 4\/10 build: measured live 2026-09-13, all 15\n   sections computed rgb(255,255,255) while HOME alternates #F9F0E0 \/ #F1E6D2.\n\n   Verified live on the broken page: this rule at (0,2,0) + !important beats\n   Divi's (0,1,0), turning 15 white sections ivory; .hm-tone-d below is (0,3,0)\n   and still wins, so the opt-out is unaffected.\n\n   Transcribed byte-for-byte from reference\/home.css. The descendant combinator\n   is load-bearing: `.et-l--post.et_pb_section` (no space) matches no element on\n   any page. tests\/test_cc_system_divi_nesting.py guards the difference. *\/\n.et-l--post .et_pb_section {\n  background-color: var(--ivory) !important;\n}\n\n\/* .hm-tone-d \u2014 deeper-ivory section tone *\/\n.et-l--post .et_pb_section.hm-tone-d {\n  background-color: var(--ivory-deep) !important;\n}\n\n\/* a \u2014 bare inline links in body copy (FIX 2). HOME's own scoped rule for\n   this exact selector (reference\/home.css: `.et-l--post a`, declaring\n   colour:inherit and text-decoration:none) was never transcribed into this\n   system at all, so any bare <a> sitting in ordinary body copy fell through\n   to the true browser default instead \u2014 blue, underlined \u2014 a foreign\n   colour on a palette of ivory + black, taupe on hover\/active only.\n   Confirmed live on the mock at both breakpoints: \"Just need the room?\",\n   \"3D studio tour\", \"video studio rental\".\n\n   Deliberate divergence from HOME's own value here (second one in this\n   system; see the .hm-scrim\/F4 note further down for the first, and the\n   same reasoning applies): HOME's colour:inherit \/ text-decoration:none is\n   not a visible link style, it is a blank slate \u2014 every link surface HOME\n   actually ships (.foot-areas a, .bk-trust__item, .rate-tile,\n   .hm-close__contact a, ...) layers its own explicit, visible treatment on\n   top of it. A bare link in plain body copy that never got one of those\n   layered treatments would render on HOME exactly as it did here:\n   indistinguishable from the surrounding text, no colour or shape cue that\n   it's interactive at all \u2014 its own accessibility gap (WCAG 1.4.1, use of\n   colour\/shape alone), not a stylistic choice worth reproducing. Given a\n   choice between transcribing an invisible link and shipping a visible\n   one, this system ships the visible one. Matches this system's own\n   .hm-hero__alt treatment (explicit colour + underline + underline-offset),\n   recoloured for ivory body copy \u2014 ink instead of ivory \u2014 with taupe on\n   hover only, per the palette rule. More specific rules already in this\n   system win the cascade over this unchanged: .btn, .hm-hero__alt,\n   .bk-trust__item, .pk-note a, .ccp-logo, and sticky.css's own unscoped\n   .stickybar .btn--bar. *\/\n.et-l--post a {\n  color: var(--ink);\n  text-decoration: underline;\n  text-decoration-color: var(--btn-ghost-line);\n  text-underline-offset: 3px;\n}\n.et-l--post a:hover {\n  color: #8D8175;\n  text-decoration-color: currentColor;\n}\n\n\/* .btn \u2014 base button.\n\n   Fix round 3, FIX 2: HOME's live page has no global `a{text-decoration:none}`\n   of its own \u2014 it inherits one from Divi's external theme stylesheet, which\n   this system never loads (and the local mock, correctly, does not fake).\n   Without it `.btn`'s label rendered underlined, since `.btn` is an `<a>` and\n   nothing here ever cleared the UA-default anchor underline. Declared\n   directly so the button is self-sufficient and does not depend on a theme\n   reset it does not ship. *\/\n.et-l--post .btn {\n  font-family: var(--font-body);\n  font-weight: 600;\n  font-size: var(--t-ui-size);\n  letter-spacing: 0.22em;\n  text-transform: uppercase;\n  text-decoration: none;\n  display: inline-flex;\n  align-items: center;\n  gap: 0.7em;\n  padding: 18px 38px;\n  line-height: 1.35;  \/* set here, not inherited: one 58px button in every section (owner 2026-09-30) *\/\n  \/* 2026-10-01: 58px came only from the 15px .arrow's line box (20.25px). A label without the arrow\n     span (\"Book Now\", \"Start My Membership \u2192\" with a text arrow) measured 54px. The floor makes the\n     height independent of the label. Border-box (top of this file), so it includes padding. *\/\n  min-height: 58px;\n  border-radius: var(--btn-radius);\n  cursor: pointer;\n  border: 1px solid transparent;\n  transition: transform .35s cubic-bezier(.2,.7,.3,1), background .35s ease, color .35s ease, opacity .3s;\n  white-space: nowrap;\n}\n.et-l--post .btn:hover {\n  transform: translateY(-2px);\n}\n.et-l--post .btn .arrow {\n  font-size: 15px;\n  transition: transform .35s;\n}\n.et-l--post .btn:hover .arrow {\n  transform: translateX(4px);\n}\n\n\/* .btn--solid \u2014 DESIGN.md primary: true-black fill and ivory label. *\/\n.et-l--post .btn--solid {\n  background: var(--accent) !important;\n  color: var(--ivory) !important;\n}\n.et-l--post .btn--solid:hover {\n  opacity: 0.88;\n}\n\n\/* Ivory tone variables \u2014 fix round 1 (task-4b-report.md), ruling on\n   FIX 3. HOME defines --page-bg, --tone-a-\u2026, --tone-b-\u2026, --nav-\u2026, --btn-bg,\n   --btn-fg\/--btn-ghost-fg\/--btn-ghost-line\/--hero-fg inside\n   [data-dir=\"ivory\"] and [data-dir=\"noir\"] tone wrappers (reference\/\n   home.css, offset ~62103), so .btn--ghost below never had anything to\n   resolve: this system emits no [data-dir] wrapper anywhere. Ruling:\n   this site is ivory-grounded, so only the ivory set is applied here,\n   at the system root, rather than requiring every component to emit a\n   [data-dir=\"ivory\"] wrapper of its own. The noir set is NOT added \u2014\n   nothing in this system needs it, and unused configurability is not\n   wanted. These are not part of Task 1's 16-token tokens.css (and must\n   not be \u2014 a test asserts tokens.css matches reference\/home-tokens.json\n   exactly), so they live here instead. *\/\n.et-l--post {\n  \/* Page-container ground, transcribed from reference\/home.css:\n     `.et-l--post{background:var(--ivory);font-weight:500;color:var(--ink);}`.\n     Until now this block declared --page-bg\/--tone-a-bg and never painted them,\n     so .et-l--post computed rgba(0,0,0,0) over a white body: the tokens existed\n     and nothing consumed them. Both this and the .et_pb_section rule above are\n     load-bearing \u2014 fixing either alone still leaves the page wrong. *\/\n  background: var(--ivory);\n  font-weight: 500;\n  color: var(--ink);\n  --page-bg: var(--ivory);\n  --tone-a-bg: var(--ivory);\n  --tone-a-fg: var(--ink);\n  --tone-b-bg: var(--warm-white);\n  --tone-b-fg: var(--ink);\n  --nav-bg: rgba(249,240,224,0.86);\n  --nav-fg: var(--ink);\n  --btn-bg: var(--accent);\n  --btn-fg: var(--ivory);\n  --btn-ghost-fg: var(--ink);\n  --btn-ghost-line: rgba(20,18,16,0.45);\n  --hero-fg: var(--ink);\n}\n\n\/* .btn--ghost \u2014 outline button. HOME defines this using tone-scoped\n   custom properties (--btn-ghost-fg, --btn-ghost-line, --page-bg) set on\n   [data-dir=\"ivory\"] \/ [data-dir=\"noir\"] wrappers, which are not part of\n   Task 1's 16-token tokens.css. Transcribed verbatim; the ivory tone\n   block above (fix round 1) now supplies --btn-ghost-fg\/--btn-ghost-line\n   at the system root, so .btn--ghost resolves without a component\n   needing to emit its own data-dir wrapper. See task-2-report.md and\n   task-4b-report.md's fix round 1. *\/\n.et-l--post .btn--ghost {\n  background: transparent;\n  color: var(--btn-ghost-fg);\n  border-color: var(--btn-ghost-line);\n}\n.et-l--post .btn--ghost:hover {\n  background: var(--btn-ghost-fg);\n  color: var(--page-bg);\n}\n\n\/* .btn--bar \u2014 REMOVED from base.css, 2026-09-14. This rule and its :hover carried the\n   `.et-l--post` prefix \"per the scoping rule\", and MEASURED, the sticky bar is a direct\n   child of <body> on a built page and in the styleguide alike: it is never inside\n   `.et-l--post`, so neither rule could ever match. SYSTEM.md already records `sticky` as\n   the one deliberate divergence from the scoping rule; this was that divergence applied\n   to the stylesheet and then un-applied to the markup, and nothing noticed because a\n   selector that matches nothing costs nothing visible.\n\n   It was also STALE, which is what makes it worth removing rather than leaving: it kept\n   `padding: 13px 26px` from before the Task 10 tap-target fix, while the live rule in\n   sticky.css carries `15px 26px`. Had the scoping ever been \"corrected\" to make this\n   rule match, it would have won on specificity and silently regressed the sticky CTA\n   from 45px back to 41px -- under the 44px minimum, on the page's most-used control.\n\n   The live declarations are sticky.css's unscoped `.stickybar .btn--bar`, unchanged.\n   Found by tests\/test_scale_consumers_render.py. *\/\n\/* .btn--block \u2014 full-width variant for a lone CTA that follows a full-width\n   text or price block (FIX 1). `.btn` sizes to its label, never its\n   container, so a single button left after a wide block (a price table in\n   #editing, the whole hero content column, the offer card's feature grid)\n   strands far short of that block's own right edge \u2014 worst case, #editing's\n   \"EMAIL ABOUT EDITING\" (272px) under price rows spanning 1180px at 1440px,\n   a ~900px gap. Close is unaffected: two buttons in .stack-cta already read\n   as a row and need no change.\n\n   Chosen fix (of the two options in the brief): an explicit stretch variant,\n   not a shared max-width constraining the wide block down to button size \u2014\n   the price rows (.shoot-row) and the feature grid (.incl-cards) are\n   supposed to run the block's full width, so shrinking THEM to match the\n   button would fight their own layout intent. Stretching the lone button\n   to its own container's width instead resolves the right edge without\n   touching either of those. `display:flex` alone already makes the box\n   block-level (it fills the containing block's width like a div would);\n   `width:100%` is kept for clarity, and `justify-content:center` re-centres\n   the label since the button no longer shrink-wraps it. Applied to hero's\n   primary CTA, #editing's CTA and the offer card's CTA \u2014 see SYSTEM.md for\n   the ruling recording `btn--block` as a class HOME does not ship. *\/\n.et-l--post .btn--block {\n  display: flex;\n  width: 100%;\n  justify-content: center;\n}\n\n\/* Focus-visible ring \u2014 FIX 8. Before this, only .ccp-logo (press.css) and\n   the tour-video facade (.cc-yt-facade, room.css) carried the branded taupe\n   ring; every other link and button fell back to the browser default\n   outline \u2014 inconsistent, not absent, but inconsistent enough that three\n   reviewers each flagged it. Extended here so the same ring applies to\n   every link and button system-wide. More specific component rules\n   (.ccp-logo, .cc-yt-facade) already declare their own outline-offset for\n   their own context and are unaffected \u2014 this only fills the gap\n   everywhere else. Never removes an indicator, only re-colours it. *\/\n.et-l--post a:focus-visible,\n.et-l--post button:focus-visible {\n  outline: 2px solid #8D8175;\n  outline-offset: 3px;\n}\n\n\/* @keyframes hmmarquee \u2014 HOME's marquee scroll animation (verbatim from\n   reference\/home.css), added by Task 3 for components\/marquee.css's\n   `animation: hmmarquee 32s linear infinite;`. It lives here rather than in\n   marquee.css because CSS keyframe selectors (from\/to\/%) cannot be prefixed\n   with .et-l--post, and this file \u2014 unlike components\/*.css \u2014 is not\n   covered by the per-component scoping test. *\/\n@keyframes hmmarquee {\n  to {\n    transform: translateX(-50%);\n  }\n}\n\n\/* @keyframes ccp-scroll \u2014 HOME's press-logo marquee scroll animation\n   (verbatim from reference\/home.css, offset ~57606), added by Task 4b for\n   components\/press.css's `animation: ccp-scroll 50s linear infinite;`. Same\n   reason as @keyframes hmmarquee above: from\/to selectors cannot be\n   prefixed with .et-l--post, and components\/press.css IS covered by the\n   per-component scoping test. *\/\n@keyframes ccp-scroll {\n  from {\n    transform: translateX(0);\n  }\n  to {\n    transform: translateX(-50%);\n  }\n}\n\n\n\/* Divi's row geometry for these pages, carried in the page CSS (owner 2026-10-02: \"flickers\").\n   Not invented: these are the values Divi's own per-page module CSS gives every section, row and\n   code module of a system page (et-builder-module-design-*-cached-inline-styles, read on draft\n   195947). Divi prints that block after the hero whenever its et-cache file is missing -- on every\n   draft and on a live page after each content change -- so the page first painted with Divi's\n   default row (80% wide, padded) and snapped full width ~2 s later (filmed: film-after\/christmas).\n   This page CSS rides inline before the hero, so the first paint already has the final geometry.\n   Its own file, outside base.css, so the standalone \/links\/ page (its own Divi rows, measured byte\n   budget) is unchanged; registry.system_css() places it right after base.css. *\/\n.et-l--post .et_pb_section {\n  padding: 0;\n}\n.et-l--post .et_pb_row {\n  width: 100% !important;\n  max-width: 100% !important;\n  padding: 0 !important;\n}\n.et-l--post .et_pb_code {\n  margin-bottom: 0 !important;\n}\n\n\/* Phase 2 booking embed. Acuity owns its service choices and prices. The shared\n   CC heading sits inside the scheduler shell so the page does not repeat those\n   choices in a second interface immediately above the live calendar. *\/\n.et-l--post .cc-booking > .container-bk {\n  scroll-margin-top:calc(var(--cc-header-height) + 16px);\n}\n\/* Owner 2026-09-24: the heading and scheduler sit on the section's own ivory, with no\n   card fill or outline, so the booking task reads as part of the page. The heading\n   keeps the section's single alignment axis; Acuity paints its own ivory.\n\n   Acuity paints blank space inside its own frame -- 37px above its first heading and\n   ~77px below \"Check Code Balance\" (footer 22 + wrapper 33 + a tracking-frame line),\n   none of it reachable with Acuity's supported selectors. That inset IS the spacing:\n   the lead sits directly on the frame, and the section after the embed only tops the\n   77px up to the standard boundary (base.css bk-gap-t--embed). spacing.py check\n   re-measures the inset inside the frame on every render. *\/\n.et-l--post {\n  --embed-inset-bottom: 77px;\n}\n.et-l--post .cc-booking__intro {\n  display:grid;\n  gap:16px;\n  padding:0;\n}\n.et-l--post .cc-booking__intro .bk-lead {\n  margin:0;\n  max-width:62ch;\n}\n.et-l--post .cc-booking__calendar {\n  position:relative;\n}\n.et-l--post .cc-booking__calendar iframe {\n  display:block;\n  width:100%;\n  min-height:1220px;\n  border:0;\n  background:transparent;\n}\n@media (min-width:760px) {\n  .et-l--post .cc-booking__intro {\n    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);\n    align-items:center;\n  }\n  \/* The reservation must stay BELOW the scheduler's content height: Acuity's embed\n     script only grows a frame to its content, so a taller reservation (1120 against\n     1109 of content, measured 2026-09-24) stays as blank space inside the frame. *\/\n  .et-l--post .cc-booking__calendar iframe { min-height:1000px; }\n}\n\n\/* Phase 2 (owner 2026-09-27): the scheduler over the page, on the choice the visitor tapped. *\/\n.et-l--post .cc-book-sheet { display: contents; }\n.et-l--post .cc-book-sheet__dialog { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: var(--ivory); color: var(--ink); }\n.et-l--post .cc-book-sheet__dialog[open] { display: flex; flex-direction: column; }\n.et-l--post .cc-book-sheet__dialog::backdrop { background: rgba(20, 18, 16, .5); }\n.et-l--post .cc-book-sheet__bar { flex: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); min-height: 60px; padding: var(--s-2) var(--s-3) var(--s-2) var(--s-5); border-bottom: 1px solid var(--line); background: var(--ivory); }\n.et-l--post .cc-book-sheet__title { margin: 0; font: 600 20px\/1.2 var(--font-display); color: var(--ink); }\n.et-l--post .cc-book-sheet__close { flex: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 0; background: var(--warm-white); color: var(--ink); font: 400 26px\/1 var(--font-body); cursor: pointer; }\n.et-l--post .cc-book-sheet__close:hover { background: #8D8175; color: var(--black); }\n.et-l--post .cc-book-sheet__frame { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: var(--ivory); }\n@media (min-width: 900px) {\n  .et-l--post .cc-book-sheet__dialog { width: min(760px, 92vw); height: min(900px, 92dvh); margin: auto; border: 1px solid var(--line); }\n}\n\n\/* close.css \u2014 HOME's closing CTA band (.hm-close), extracted verbatim\n   from reference\/home.css (offset ~91544-92330, one contiguous block,\n   already .et-l--post-scoped in the source), with deliberate divergence\n   per F9\/F10.\n\n   F9: the source rule ships a centring text-align declaration on\n   .hm-close (value: center), and margin:14px auto 28px on .hm-close p\n   (the \"auto\" left\/right margin centres the 46ch-capped paragraph).\n   That pairing is the root of the defect this component exists to fix\n   on the page it replaces \u2014 a centred heading\/lead over a button row\n   that then overflows a 420-pixel-wide cap and shoves right (that\n   page's own CSS is not part of this system; see task-4-brief.md). Both\n   are dropped here so the band reads left-aligned top to bottom: the\n   centring declaration is removed from .hm-close, and .hm-close p's\n   margin is 14px 0 28px (no auto).\n\n   Fix round 1, FIX 1 (Critical): .hm-close h2's own local block shipped\n   font-weight: 500, but reference\/home.css also carries a second,\n   unconditional compound rule at offset ~108275 \u2014 a comma-separated\n   list of eleven selectors including .bk-h2 and .hm-close h2 \u2014 that\n   sets font-weight: 600 !important. !important wins regardless of\n   specificity or source order, so HOME's live .hm-close h2 renders at\n   600, not 500. base.css already documents this exact compound rule for\n   its sibling .bk-h2 (base.css:33-38); the same precedent applies here.\n   The winning value (600 !important) is transcribed below. No other\n   declaration in .hm-close \/ .hm-close h2 \/ .hm-close p is affected by\n   that compound rule \u2014 re-checked every selector this component and\n   the other five components in this task use against the full\n   comma-list; the compound rule only touches .hm-close h2.\n\n   F10: .hm-close__contact \u2014 HOME's own place for a plain grey contact\n   line, and exactly the \"bare grey address\" named in the defect \u2014 is\n   deliberately NOT extracted. This component never carries an address;\n   that belongs to the location component only.\n\n   Buttons: fix round 1, FIX 2 \u2014 .stack-cta is extracted below (offset\n   ~78667 in reference\/home.css: display:flex; gap:16px; flex-wrap:wrap;\n   no cascade conflict, single declaration). It was previously described\n   in this comment as a base.css primitive; it never shipped anywhere in\n   the system, so the two CTA buttons had no flex\/gap and fell back to\n   block layout. .stack-cta--center (the same offset, justify-content:\n   center) is NOT extracted \u2014 this component never uses that modifier,\n   and adding it would be unused configurability.\n\n   Fix round 1, FIX 3 \u2014 the secondary action now uses .btn--ghost, not a\n   bare .btn. .btn--ghost's --btn-ghost-fg\/--btn-ghost-line previously\n   had nowhere to resolve, because HOME scopes them to a [data-dir]\n   wrapper this system never emitted; base.css now applies the ivory set\n   of those tone variables at the system root (see base.css's own note),\n   so .btn--ghost renders correctly here without this component needing\n   to emit a [data-dir] wrapper itself. *\/\n\/* GROUND REMOVED 2026-09-14. This rule painted `var(--ivory-deep)` on the closing band\n   itself, making `close` the one component that authored its own ground -- against\n   MASTER.md rule 4 (\"Grounds are derived, never authored\") and against the tone law's\n   own guarantee that a page closes on base. `components.json` declares this component\n   `ground: \"base\"`, and `build.ground_tones()` now derives grounds from that field, so\n   this line was a second authority quietly overruling the first on every page.\n\n   Found by the senior-UI seat measuring the last section of a built page and getting\n   rgb(241,230,210) where the derivation said base. The band keeps its hairline top\n   rule, which is what actually separates it from the section above. *\/\n.et-l--post .hm-close {\n  color: var(--ink);\n  padding: clamp(48px, 9vw, 90px) 0;\n  border-top: 1px solid var(--line);\n}\n.et-l--post .hm-close h2 {\n  font-family: var(--font-display);\n  font-weight: 600 !important;\n  font-size: clamp(30px, 7vw, 56px);\n  line-height: 1.02;\n  color: var(--ink);\n}\n.et-l--post .hm-close p {\n  font-family: var(--font-body);\n  font-size: var(--t-lead-size);\n  line-height: var(--t-lead-lh);\n  font-weight: 500;\n  color: var(--graphite);\n  margin: 14px 0 28px;\n  max-width: 46ch;\n}\n.et-l--post .stack-cta {\n  display: flex;\n  gap: 16px;\n  flex-wrap: wrap;\n}\n\n\/* Owner change requests 2026-09-26 (rates rebuild): \"I need a better table design especially for\n   mobile and it also does not line up with the left and right padding of the other sections\",\n   then \"still not design good enough or easy to understand. It is also very long on mobile.\"\n   Supersedes the 2026-09-17 compact phone layout and the two stacked phone layouts of Sept 26.\n\n   One comparison matrix at every width, in the language of HOME's rate ledger directly above it\n   (.cc-rates): micro column heads over an ink rule, hairline rows, left-aligned row labels. The\n   CC Studios column carries the ivory-deep tone as one continuous band, so the answer to \"what do\n   I get here\" is a single column of check marks read top to bottom. Answers are one word; a\n   stacked phone layout is what made the section long, so the three columns never stack. The\n   section shares HOME's container edges (no narrower cap). *\/\n.et-l--post .cc-comparison__intro { margin: 0 0 var(--s-6); }\n.et-l--post .cc-comparison__label { font: 500 12px\/1.5 var(--font-body); letter-spacing: .34em; text-transform: uppercase; margin: 0 0 18px; }\n.et-l--post .cc-comparison__label:empty { display: none; }\n.et-l--post .cc-comparison .bk-h2 { text-align: left; }\n.et-l--post .cc-comparison .bk-lead { max-width: 60ch; text-align: left; }\n\/* The theme's `.entry-content table:not(.variations)` draws a 1px #eee box and\n   `.entry-content tr th` turns every th #555 at 700; both are set explicitly here. *\/\n.et-l--post .cc-comparison table[role=\"table\"] { width: 100%; border: 0; border-collapse: collapse; table-layout: fixed; background: transparent; color: var(--ink); font-family: var(--font-body); }\n.et-l--post .cc-comparison th, .et-l--post .cc-comparison td { padding: 13px 12px; border: 0; border-bottom: 1px solid var(--line); text-align: center; vertical-align: middle; color: var(--ink); font-size: 15px; font-weight: 500; line-height: 1.3; overflow-wrap: normal; hyphens: manual; }\n.et-l--post .cc-comparison th:first-child { padding-left: 0; text-align: left; }\n.et-l--post .cc-comparison th:last-child, .et-l--post .cc-comparison td:last-child { padding-right: 0; }\n.et-l--post .cc-comparison thead th { padding-top: 0; padding-bottom: 10px; border-bottom-color: var(--ink); font-size: var(--t-micro-size); font-weight: 600; letter-spacing: var(--t-micro-ls); line-height: var(--t-micro-lh); text-transform: uppercase; color: var(--graphite); vertical-align: bottom; }\n.et-l--post .cc-comparison thead th:nth-child(2) { width: 24%; color: var(--ink); }\n.et-l--post .cc-comparison thead th:nth-child(3) { width: 28%; }\n\/* The answer column gives back 4px of its left padding so the longest answer, \"No siempre\",\n   stays on one line from 361px up; the row label wraps before an answer does. *\/\n.et-l--post .cc-comparison th:last-child, .et-l--post .cc-comparison td:last-child { padding-left: 8px; }\n\/* 2026-10-01 (A22): the CC Studios column no longer carries an ivory-deep band. On a phone it painted\n   13% of the ivory section as a tinted box. The column still reads first: ink header, 600 answers,\n   against the graphite 14px other column. *\/\n.et-l--post .cc-comparison td:nth-of-type(1) { font-weight: 600; font-variant-numeric: tabular-nums; }\n.et-l--post .cc-comparison td:nth-of-type(2) { color: var(--graphite); font-size: 14px; }\n.et-l--post .cc-comparison__check { display: inline-block; font-size: 17px; font-weight: 600; line-height: 1; }\n\/* The words a screen reader hears for the check mark. Hidden by clip-path alone, at its natural size: the\n   usual 1px box makes the text overflow its box, which acceptance A4 (rightly) reads as overflowing text. *\/\n.et-l--post .cc-comparison__sr { position: absolute; clip-path: inset(50%); white-space: nowrap; }\n\/* Grouped tables (the library specimen): a group title spans the row above its features. *\/\n.et-l--post .cc-comparison .cc-comparison__group th { padding: var(--s-5) 0 var(--s-2); border-bottom-color: var(--ink); background: transparent; font-weight: 600; text-align: left; }\n.et-l--post .cc-comparison__note { margin: var(--s-3) 0 0; font-size: var(--t-meta-size); line-height: 1.5; color: var(--graphite); }\n.et-l--post .cc-comparison .stack-cta { justify-content: flex-start; margin-top: var(--s-6); }\n\n\/* Small phones: the same steps the rate ledger takes at this width. The answer column widens\n   so \"No siempre\" (the longest answer) stays on one line at 320; the row label wraps instead. *\/\n@media (max-width: 360px) {\n  .et-l--post .cc-comparison thead th:nth-child(3) { width: 30%; }\n  .et-l--post .cc-comparison th, .et-l--post .cc-comparison td { padding-left: 8px; padding-right: 8px; font-size: 14px; }\n  .et-l--post .cc-comparison thead th { font-size: 10px; letter-spacing: 0.06em; }\n  .et-l--post .cc-comparison td:nth-of-type(2) { font-size: 13px; }\n}\n\n@media (min-width: 760px) {\n  .et-l--post .cc-comparison thead th:nth-child(2), .et-l--post .cc-comparison thead th:nth-child(3) { width: 200px; }\n  .et-l--post .cc-comparison th, .et-l--post .cc-comparison td { padding-top: 15px; padding-bottom: 15px; font-size: 16px; }\n  .et-l--post .cc-comparison thead th { padding-top: 0; font-size: var(--t-micro-size); }\n  .et-l--post .cc-comparison td:nth-of-type(2) { font-size: 15px; }\n}\n\n\/* Phase 2: preserve the contact page's form-first grouping and direct routes. *\/\n.et-l--post .cc-contact__layout { display:grid; gap:var(--s-6); align-items:start; }\n.et-l--post :is(.cc-contact__direct,.cc-contact__form) { min-width:0; }\n.et-l--post .cc-contact__form { border:1px solid var(--line); background:var(--warm-white); padding:var(--s-5); }\n.et-l--post .cc-contact__direct > h2 { font:600 var(--t-h3-size)\/1.2 var(--font-display); margin:0 0 var(--s-4); padding:0; }\n.et-l--post .cc-contact__methods { display:grid; gap:var(--s-3); list-style:none; padding:0; margin:0; }\n.et-l--post .cc-contact__methods .cc-link { display:flex; align-items:center; gap:var(--s-4); padding:var(--s-4); min-height:80px; border:1px solid var(--line); background:var(--warm-white); text-decoration:none; }\n.et-l--post .cc-link__copy { display:grid; gap:var(--s-1); min-width:0; }\n.et-l--post .cc-link__icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; flex:none; }\n.et-l--post .cc-link__icon svg { width:22px; height:22px; }\n.et-l--post .cc-contact__methods .cc-link__label { font:600 15px\/1.45 var(--font-body); overflow-wrap:anywhere; }\n.et-l--post .cc-contact__methods .cc-link__detail { font:400 13px\/1.5 var(--font-body); color:var(--graphite); }\n.et-l--post .cc-contact__access { padding:var(--s-5); border:1px solid var(--line); background:var(--ivory-deep); margin-top:var(--s-4); }\n.et-l--post .cc-contact__access dl { margin:0; display:grid; gap:var(--s-3); }\n.et-l--post .cc-contact__access dl > div { display:flex; justify-content:space-between; gap:var(--s-3); font:500 13px\/1.6 var(--font-body); }\n.et-l--post .cc-contact__access dd { margin:0; text-align:right; color:var(--graphite); }\n.et-l--post .cc-contact__access p { font:400 13px\/1.65 var(--font-body); margin:var(--s-5) 0 0; padding:0; }\n.et-l--post .cc-contact__reservation { padding:var(--s-5); border:1px solid var(--ink); background:var(--warm-white); margin-top:var(--s-4); }\n.et-l--post .cc-contact__reservation h3 { font:600 var(--t-h3-size)\/1.2 var(--font-display); margin:0; padding:0; }\n.et-l--post .cc-contact__reservation p { font:400 14px\/1.65 var(--font-body); margin:var(--s-3) 0 var(--s-4); padding:0; }\n.et-l--post .cc-contact__reservation .btn { display:flex; justify-content:center; width:100%; text-align:center; white-space:normal; padding:16px; min-height:52px; }\n.et-l--post .cc-contact__note { font:400 13px\/1.65 var(--font-body); text-align:center; margin:var(--s-4) 0 0; padding:0; }\n.et-l--post .cc-contact__note a { text-decoration:underline; text-underline-offset:4px; }\n.et-l--post .cc-social { display:grid; grid-template-columns:repeat(5,44px); justify-content:flex-start; gap:var(--s-2); list-style:none; margin:var(--s-5) 0 0; padding:0; }\n.et-l--post .cc-social a { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); background:var(--warm-white); }\n.et-l--post .cc-contact .cc-social { display:flex; flex-wrap:wrap; justify-content:center; max-width:252px; margin-inline:auto; }\n.et-l--post .cc-social svg { width:18px; height:18px; }\n.et-l--post .cc-form { display:grid; gap:var(--s-5); margin:0; max-width:752px; }\n.et-l--post .cc-form__intro :is(h2,h3) { font:600 var(--t-h3-size)\/1.2 var(--font-display); letter-spacing:-.01em; margin:0; padding:0; text-wrap:balance; }\n.et-l--post .cc-contact .cc-form__intro :is(h2,h3) { font-size:var(--t-h2-size); line-height:1.12; }\n.et-l--post .cc-form__quick { display:flex; flex-wrap:wrap; gap:var(--s-2); list-style:none; margin:var(--s-4) 0 0; padding:0; }\n.et-l--post .cc-form__quick .cc-link { display:flex; align-items:center; gap:var(--s-2); min-height:44px; border:1px solid var(--line); padding:8px 12px; text-decoration:none; font:600 13px\/1.5 var(--font-body); }\n.et-l--post .cc-form__quick .cc-link__icon { width:18px; height:18px; }\n.et-l--post .cc-form__quick .cc-link__icon svg { width:18px; height:18px; }\n@media (hover:hover) { .et-l--post .cc-form__quick .cc-link:hover { background:var(--ivory-deep); border-color:#8D8175; color:var(--ink); } }\n.et-l--post .cc-form__intro p { font:500 15px\/1.65 var(--font-body); color:var(--graphite); margin:var(--s-3) 0 0; padding:0; }\n.et-l--post .cc-form__fields { display:grid; gap:var(--s-5); }\n.et-l--post .cc-field { display:grid; gap:var(--s-2); min-width:0; align-content:start; }\n.et-l--post .cc-field label { font:600 13px\/1.6 var(--font-body); margin:0; padding:0; }\n.et-l--post .cc-field label span { font-weight:400; }\n.et-l--post .cc-field :is(input,select,textarea) { width:100%; min-width:0; border:1px solid var(--line); border-radius:0; background:var(--ivory); color:var(--ink); padding:12px 16px; min-height:52px; font:400 16px\/1.5 var(--font-body); }\n.et-l--post .cc-field ::placeholder { color:var(--graphite); opacity:1; }\n.et-l--post .cc-field textarea { resize:vertical; min-height:128px; }\n.et-l--post .cc-field [aria-invalid=\"true\"] { border-width:2px; border-color:var(--ink); padding:11px 15px; }\n.et-l--post .cc-field__error { margin:0; padding:0; font:500 13px\/1.6 var(--font-body); color:var(--ink); }\n.et-l--post .cc-form :is(.cc-form__status,.cc-form__summary) { margin:0; padding:var(--s-4); border:1px solid var(--ink); font:500 16px\/1.6 var(--font-body); background:var(--ivory-deep); }\n.et-l--post .cc-form [hidden] { display:none; }\n\/* 2026-10-01 (A24): the submit takes the standard .btn padding, line-height and 58px floor. Its own\n   16px\/1.6\/52px measured 53px beside 58px buttons on \/rates\/. *\/\n.et-l--post .cc-form > .btn { justify-self:stretch; justify-content:center; white-space:normal; text-align:center; }\n@media (hover:hover) {\n .et-l--post :is(.cc-contact__methods .cc-link,.cc-social a):hover { border-color:#8D8175; color:var(--ink); background:var(--ivory-deep); }\n}\n@media (min-width:980px) {\n .et-l--post .cc-contact__layout { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:var(--s-7); }\n .et-l--post .cc-contact__form { padding:var(--s-7); }\n .et-l--post .cc-contact__direct { padding-top:var(--s-3); }\n\n}\n\n@media (min-width:1200px) { .et-l--post .cc-contact .cc-social { max-width:none; gap:var(--s-1); } }\n\n\/* Phase 2: technical media retains its intrinsic ratio. The action supplies detail. *\/\n.et-l--post .cc-detail-section__lead { max-width: 62ch; }\n.et-l--post .cc-detail-section__lead:empty,\n.et-l--post .cc-detail-section .bk-h2:empty { display: none; }\n.et-l--post .cc-detail { margin: var(--s-5) 0 0; }\n.et-l--post .cc-detail__open {\n  display: block; width: 100%; padding: 0;\n  border: 1px solid var(--line); border-radius: 0;\n  background: var(--warm-white); color: var(--ink); cursor: zoom-in;\n}\n.et-l--post .cc-detail__open img { display: block; width: 100%; height: auto; object-fit: contain; }\n.et-l--post .cc-detail__open > span {\n  display: flex; justify-content: space-between; align-items: center; gap: var(--s-4);\n  min-height: 56px; padding: var(--s-4) var(--s-5);\n  border-top: 1px solid var(--line); font-family: var(--font-body);\n  font-size: var(--t-meta-size); font-weight: 600; text-align: left;\n}\n.et-l--post .cc-detail__open:hover > span { background: #8D8175; color: #000; }\n.et-l--post .cc-detail figcaption { margin-top: var(--s-3); font-size: var(--t-meta-size); line-height: 1.55; }\n.et-l--post .cc-detail figcaption:empty { display: none; }\n.et-l--post .cc-detail__original,\n.et-l--post .cc-detail__caption a {\n  display: inline-flex; align-items: center; min-height: 44px;\n  font-size: var(--t-meta-size); font-weight: 600; color: var(--ink);\n  text-decoration: underline; text-underline-offset: 4px;\n}\n.et-l--post .cc-detail__dialog {\n  box-sizing: border-box; width: min(1320px, calc(100vw - 32px));\n  max-width: none; max-height: calc(100dvh - 32px); margin: auto;\n  padding: var(--s-5); border: 1px solid var(--ink); border-radius: 0;\n  background: var(--ivory); color: var(--ink); overflow: auto;\n}\n.et-l--post .cc-detail__dialog::backdrop { background: rgba(0,0,0,.72); }\n.et-l--post .cc-detail__toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-5); }\n.et-l--post .cc-detail__toolbar .btn {\n  min-width: 0; padding-inline: var(--s-4); white-space: normal;\n  line-height: 1.35; text-align: center; justify-content: center;\n}\n.et-l--post .cc-detail__viewport { max-height: calc(100dvh - 240px); overflow: auto; background: var(--warm-white); }\n.et-l--post .cc-detail__viewport img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; }\n.et-l--post .cc-detail__dialog[data-zoomed] .cc-detail__viewport img { width: auto; max-width: none; }\n.et-l--post .cc-detail__caption { margin-top: var(--s-4); }\n.et-l--post .cc-detail__caption p { margin: 0; font-size: var(--t-meta-size); line-height: 1.55; }\n.et-l--post .cc-detail [hidden] { display: none; }\n.et-l--post .cc-detail__error { margin: var(--s-4) 0 0; font-size: var(--t-body-size); }\n@media (max-width: 600px) {\n  .et-l--post .cc-detail__dialog { padding: var(--s-4); }\n  .et-l--post .cc-detail__toolbar { align-items: stretch; }\n  .et-l--post .cc-detail__toolbar .btn { flex: 1; padding-inline: var(--s-2); letter-spacing: .1em; }\n  .et-l--post .cc-detail__open > span { padding-inline: var(--s-4); }\n}\n\n\/* The source section is a guided walkthrough followed by a planning diagram. *\/\n.et-l--post .cc-detail-section__layout { display: grid; grid-template-columns: minmax(0,.68fr) minmax(0,1.32fr); gap: clamp(32px,5vw,64px); align-items: start; }\n\/* 2026-09-25, first page to ship this component (\/tour\/): base.css's !important section-title size\n   already wins over this font-size, and the 1.1 line-height that rode with it made this the only\n   section title off HOME's 1.04 (acceptance A18 red on staging: 50.6px vs 47.84px at 1440, 30.8 vs\n   29.12 at 390). The heading now takes the shared section-title line-height. *\/\n.et-l--post .cc-detail-section__intro .bk-h2 { font-size: var(--t-h2-size); }\n.et-l--post .cc-detail-section__intro .bk-lead { line-height: 1.65; }\n.et-l--post .cc-detail-section__media { min-width: 0; }\n.et-l--post .cc-detail-section__media .cc-tourvid { left: auto; right: auto; margin: 0; width: 100%; max-width: none; aspect-ratio: 16 \/ 9; }\n.et-l--post .cc-detail-section__media .cc-tourvid iframe { width: 100%; height: 100%; border: 0; display: block; }\n.et-l--post .cc-detail-section__media .cc-yt-facade { padding: 0; }\n.et-l--post .cc-detail__label { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); margin-bottom: var(--s-3); }\n.et-l--post .cc-detail__label h3 { margin: 0; font-family: var(--font-body); font-size: 16px; font-weight: 600; line-height: 1.4; }\n.et-l--post .cc-detail__label span { font-family: var(--font-body); font-size: 13px; line-height: 1.5; }\n.et-l--post .cc-detail__label h3:empty,\n.et-l--post .cc-detail__label span:empty { display: none; }\n.et-l--post .cc-detail { margin-top: var(--s-6); }\n.et-l--post .cc-detail:first-child { margin-top: 0; }\n.et-l--post .cc-detail__open { background: transparent; border: 0; }\n.et-l--post .cc-detail__open img { border: 1px solid var(--line); box-sizing: border-box; }\n.et-l--post .cc-detail__open > span { border-top: 0; padding: var(--s-3) 0 0; min-height: 44px; justify-content: flex-start; gap: var(--s-3); }\n.et-l--post .cc-detail__open:hover > span { background: transparent; text-decoration: underline; text-decoration-color: #8D8175; }\n.et-l--post .cc-detail__original { display: none; }\n.et-l--post .cc-detail__error:not([hidden]) + .cc-detail__original { display: inline-flex; }\n@media (max-width: 959px) {\n  .et-l--post .cc-detail-section__layout { grid-template-columns: minmax(0,1fr); gap: var(--s-5); }\n  .et-l--post .cc-detail-section__intro { max-width: 62ch; }\n}\n@media (max-width: 600px) {\n  .et-l--post .cc-detail-section__media .cc-tourvid { width: 100vw; max-width: 100vw; margin-left: calc((100% - 100vw) \/ 2); }\n  .et-l--post .cc-detail__label { flex-wrap: wrap; gap: 4px var(--s-3); }\n}\n\n\/* editing.css \u2014 the podcast page's editing add-on price list, built from\n   HOME's shoot-row family (reference\/home.css, base rule offset ~87052,\n   desktop override offset ~107129). base.css already supplies bk-section,\n   bk-section--tight, container-bk, bk-h2, bk-lead, btn and btn--ghost, so\n   this file adds only what those primitives do not cover: shoot-row,\n   shoot-row__name and shoot-row__price, the three classes editing.html's\n   tier shape actually uses. Every declaration of each is enumerated below\n   (base rule, :hover, the min-width:760px override, and the shared\n   compound font-weight group) \u2014 no other shoot-row-family class\n   (shoot-row--feat, __meta, __flag, __right, __use, __arrow) is touched,\n   since this component's markup never emits them. Every selector scoped\n   to .et-l--post per the project's CSS-specificity rule. *\/\n.et-l--post .shoot-row {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  align-items: center;\n  gap: 4px 16px;\n  border: 1px solid var(--line);\n  background: var(--warm-white);\n  padding: 18px 18px;\n  color: inherit;\n  position: relative;\n  transition: border-color .25s, background .25s, transform .25s;\n}\n.et-l--post .shoot-row:hover {\n  border-color: var(--accent);\n  transform: translateY(-1px);\n}\n@media (min-width: 760px) {\n  .et-l--post .shoot-row {\n    grid-template-columns: minmax(0, 1fr) auto;\n    align-content: start;\n    gap: 0;\n    padding: 28px 24px;\n  }\n  .et-l--post .shoot-row__price {\n    font-size: clamp(28px, 3vw, 34px);\n  }\n}\n\n\/* .shoot-row__name \u2014 HOME's base rule sets font-weight: 500, but a later\n   compound rule (.bk-h2, .hm-hero__title, ..., .shoot-row__name, ... ,\n   sharing a font-weight: 600 !important declaration) wins the cascade\n   regardless of source order, the same trap documented in base.css for\n   .bk-h2. Only the weight that actually renders is transcribed here. *\/\n.et-l--post .shoot-row__name {\n  grid-column: 1;\n  font-family: var(--font-display);\n  font-weight: 600 !important;\n  font-size: clamp(21px, 5.2vw, 25px);\n  line-height: 1.05;\n  display: flex;\n  align-items: baseline;\n  gap: 9px;\n  flex-wrap: wrap;\n}\n.et-l--post .shoot-row__price {\n  font-family: var(--font-body);\n  font-weight: 600;\n  letter-spacing: -0.015em;\n  font-size: clamp(24px, 6.5vw, 30px);\n  line-height: 1;\n}\n\n\/* Keep each tier's description with its price and separate the two choices. *\/\n.et-l--post [data-screen-label=\"editing\"] .shoot-row + .shoot-row {\n  margin-top: 24px;\n}\n.et-l--post [data-screen-label=\"editing\"] .shoot-row__meta {\n  margin: 8px 0 0;\n}\n.et-l--post [data-screen-label=\"editing\"] .shoot-row:not(a):hover {\n  transform: none;\n  border-color: var(--line);\n}\n@media (min-width: 760px) {\n  .et-l--post [data-screen-label=\"editing\"] .btn--block {\n    display: inline-flex;\n    width: auto;\n  }\n}\n\n\/* Phase 2 (owner 2026-09-28, rental LP): \"dollhouse needs to stay on the page\". Round 5, after the\n   owner rejected staging v3's tour (\"horrible design and needs to be redone\") and chose \"HOME's\n   pattern, both kept\": the section IS HOME's tour -- room.css's .space-feat \/ .cc-tourvid \/\n   .cc-yt-facade in the walkthrough layout, full-bleed on phones and the container on desktop,\n   16:9 at every width. This file adds only what a 3D model needs on top of HOME's facade: the\n   centred label, the viewer frame, and the one line that opens the owner's Short under it.\n   The poster is the viewer's own first frame on the section's ivory, so there is no tinted box\n   (A22) and the swap does not jump. Spacing: HOME's declarations or --s-* tokens only. *\/\n.et-l--post .cc-explore__label { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); white-space: nowrap; }\n.et-l--post .cc-explore__start:hover .cc-explore__label,\n.et-l--post .cc-explore__start:focus-visible .cc-explore__label { background: #8D8175; color: var(--black); }\n.et-l--post .cc-explore__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; opacity: 0; transition: opacity .4s cubic-bezier(.22, 1, .36, 1); }\n.et-l--post .cc-tourvid[data-state=\"ready\"] .cc-explore__frame { opacity: 1; }\n.et-l--post .cc-tourvid[data-state=\"ready\"] .cc-explore__label { display: none; }\n.et-l--post .cc-tourvid[data-state=\"loading\"] .cc-explore__label .arrow { display: none; }\n.et-l--post .cc-explore__more { margin: var(--s-4) 0 0; font-size: var(--t-meta-size); line-height: 1.5; }\n.et-l--post .cc-explore__play { position: relative; color: var(--ink); border-bottom: 1px solid var(--accent); text-decoration: none; }\n\/* v7 review: the line measured 199x17 at 390, under WCAG 2.5.8's 24px. The hit area grows by --s-2 above\n   and below (33px) without moving the line or its underline. *\/\n.et-l--post .cc-explore__play::after { content: \"\"; position: absolute; inset: calc(-1 * var(--s-2)) 0; }\n.et-l--post .cc-explore__play:hover { color: #8D8175; border-color: #8D8175; }\n\/* The Short plays where its line was, vertical, never taller than 80% of the screen. *\/\n.et-l--post .cc-explore__vframe { display: block; width: min(100%, calc(80svh * 9 \/ 16)); aspect-ratio: 9 \/ 16; margin: var(--s-4) auto 0; border: 0; }\n\/* Round 6 (v5 review) shrank the label on phones (11px, .1em, 41px tall) so it hid less of the model.\n   2026-10-01 (A24, owner 2026-09-30 \"it should all be standardized\"): the label is the standard 58px\n   .btn at every width, like every other button on the page. The whole frame stays the tap target. *\/\n\/* Round 10: Matterport's in-place rule on phones (\"the iframe has to cover at least 60% of the screen\",\n   Matterport help, Embed a Matterport 3D Model). Measured on staging at 390x844: 480px (57%) showed its\n   play screen, which leaves the page; 530px (63%) and 620px (73%) played in place. *\/\n@media (max-width: 759px) {\n  .et-l--post .cc-explore .cc-tourvid[data-state] div.cc-yt-facade { aspect-ratio: auto; height: var(--cc-explore-open, 70svh); }\n}\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .cc-explore__frame { transition: none; }\n}\n\n\/* faq.css \u2014 HOME's FAQ accordion (.faq), extracted verbatim from\n   reference\/home.css (offset ~104586-105797, one contiguous block).\n   Every selector scoped to .et-l--post per the project's CSS-specificity\n   rule. Exactly one declaration found for each selector below\n   (enumerated every literal occurrence in reference\/home.css, not just\n   the first match) \u2014 no cascade conflicts.\n\n   The toggle script is inline in scratchpad\/home.html (comment\n   \"FAQ accordion\"), the same file already mined for .specacc__head and\n   .gal-tab \u2014 confirmed by searching for \"faq-q\" before concluding\n   anything, not assumed. faq.html now carries that exact script (click\n   toggle, an initial\/resize\/font-load fit pass named ccFaqFit), brace-\n   doubled for str.format() the same way specacc.html\/gallery.html are. *\/\n.et-l--post .faq {\n  border-top: 1px solid var(--line);\n  margin-top: 16px;\n}\n.et-l--post .faq-item {\n  border-bottom: 1px solid var(--line);\n}\n.et-l--post .faq-q {\n  width: 100%;\n  background: none;\n  border: 0;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 16px;\n  padding: 20px 2px;\n  text-align: left;\n  color: inherit;\n  font-family: var(--font-body);\n  font-size: 15px;\n  font-weight: 600;\n}\n.et-l--post .faq-icon {\n  position: relative;\n  width: 16px;\n  height: 16px;\n  flex: 0 0 auto;\n}\n.et-l--post .faq-icon::before,\n.et-l--post .faq-icon::after {\n  content: \"\";\n  position: absolute;\n  background: var(--accent);\n  transition: transform .35s cubic-bezier(.2,.7,.3,1);\n}\n.et-l--post .faq-icon::before {\n  top: 50%;\n  left: 0;\n  right: 0;\n  height: 1.5px;\n  transform: translateY(-50%);\n}\n.et-l--post .faq-icon::after {\n  left: 50%;\n  top: 0;\n  bottom: 0;\n  width: 1.5px;\n  transform: translateX(-50%);\n}\n\/* FIX 5: aria-expanded lives on .faq-q (the button that is actually focused\n   and clicked), not on the wrapping .faq-item div \u2014 see faq.html's script. *\/\n.et-l--post .faq-q[aria-expanded=\"true\"] .faq-icon::after {\n  transform: translateX(-50%) scaleY(0);\n}\n\/* A COLLAPSED PANEL MUST LEAVE THE TAB ORDER. Added 2026-09-14.\n\n   `max-height: 0; overflow: hidden` hides a panel visually and does NOTHING to\n   focusability. Measured on the reference page: 4 `<a href>` links inside collapsed\n   `.faq-a` panels matched `:focus-visible`, held live bounding rects, and painted ZERO\n   pixels on focus. A keyboard user tabs into content they cannot see, on every page\n   carrying an FAQ -- SC 2.4.3 and 2.4.7, in a library component. Neither review round\n   caught it until a seat enumerated every focusable node instead of sampling some.\n\n   `visibility: hidden` is the fix that needs no JavaScript: it takes descendants out of\n   the tab order, and the state already lives on the button as `aria-expanded`, so the\n   sibling combinator reads it rather than inventing a second source of truth. The\n   delayed transition keeps the panel visible for the length of the close animation, so\n   the height collapse is still seen. *\/\n.et-l--post .faq[data-cc-disclosure-ready] .faq-q[aria-expanded=\"false\"] + .faq-a {\n  visibility: hidden;\n  transition: max-height .4s cubic-bezier(.4,0,.2,1), visibility 0s linear .4s;\n}\n\n.et-l--post .faq[data-cc-disclosure-ready] .faq-q[aria-expanded=\"true\"] + .faq-a {\n  visibility: visible;\n  transition: max-height .4s cubic-bezier(.4,0,.2,1), visibility 0s;\n}\n\n.et-l--post .faq-a {\n  overflow: hidden;\n  max-height: none;\n  transition: max-height .4s cubic-bezier(.4,0,.2,1);\n}\n.et-l--post .faq-a__in {\n  padding: 0 2px 22px;\n  font-size: 14px;\n  font-weight: 500;\n  color: var(--graphite);\n  line-height: 1.6;\n  max-width: 64ch;\n}\n\/* Rental LP round 4: an answer link was an 18px-tall target. Vertical padding on an inline box\n   enlarges the tap area without moving any line of the answer. *\/\n.et-l--post .faq-a__in a { padding-block: 4px; }\n\n\/* One FAQ heading and a continuous question list; no subtitle\/topic headings. *\/\n.et-l--post .cc-faqgroups-body {min-width:0;display:grid;gap:0;margin-top:var(--s-6)}\n.et-l--post .cc-faqgroups-body > .bk-section {padding:0!important}\n.et-l--post .cc-faqgroups-body > .bk-section > .container-bk {width:100%;margin:0;max-width:none}\n.et-l--post .cc-faqgroups .faq {margin-top:0}\n.et-l--post .cc-faqgroups-body > [data-cc-faq-group] ~ [data-cc-faq-group] .faq {border-top:0}\n@media(min-width:981px){.et-l--post .cc-faqgroups-body {margin-top:var(--s-7)}}\n\n\n\/* HOME-derived gallery controls and responsive photographic composition.\n   Keep the first visible frame dominant and let small filtered sets fill the grid. *\/\n.et-l--post .gal-tabs {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin: 22px 0 16px;\n}\n\/* Task 10 residual FIX 2: a manifest with one genuine category (or none at\n   all) passes tabs as an empty string rather than inventing categories --\n   the wrapping div then renders with no children at all, but still holds\n   its own 22px\/16px margin, leaving an unexplained gap above the photo\n   grid. Chosen fix (simpler of the two options in the brief): a CSS-only\n   :empty rule, over having the component omit the wrapper -- omitting the\n   wrapper needs a conditional in the template that this plain str.format\n   markup has no way to express, where :empty just reads the DOM state\n   that already exists. Same mechanism as offer.css's empty-secondary-\n   action collapse. *\/\n\/* Filters become usable when the component's script initializes. *\/\n.et-l--post [data-gallery]:not([data-gallery-ready]) .gal-tabs,\n.et-l--post .gal-tabs:empty {\n  display: none;\n}\n.et-l--post .gal-tab {\n  font-family: var(--font-body);\n  font-size: var(--t-ui-size);\n  font-weight: 600;\n  letter-spacing: 0.04em;\n  padding: 7px 15px;\n  border: 1px solid var(--line);\n  background: transparent;\n  cursor: pointer;\n  color: var(--ink);\n  transition: background .2s, color .2s, border-color .2s;\n}\n.et-l--post .gal-tab.is-sel {\n  background: var(--accent);\n  color: var(--ivory);\n  border-color: var(--accent);\n}\n\n\/* HOME mobile keeps the gallery as equal two-column peers. The script\n   marks filtered figures hidden, so desktop lead selectors follow visible order. *\/\n.et-l--post .gal-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: var(--s-2) var(--s-3);\n}\n.et-l--post .gal-grid figure {\n  margin: 0;\n  min-width: 0;\n  min-height: 0;\n  overflow: hidden;\n  aspect-ratio: 3\/2;\n}\n\/* 2026-09-28 (owner: \"some are okay to be cropped but others not\"): a registered portrait frame\n   spans two rows (~0.73), so a standing person is not cut at the knees by a 3:2 cell (it showed\n   44% of its height). images.py stamps data-frame-orientation on every registered <img>; dense\n   packing fills the neighbour column. HOME's gallery has no portrait frame, so it is unchanged.\n   Round 6 (A23): `aspect-ratio: auto` let the photo's own height (w\/0.67) set the two rows it spans,\n   so those rows grew and showed 19px\/28px gutters beside HOME's 8px. A 3:4 ratio contributes less\n   than two 3:2 rows plus the gap, and stretch fills exactly that area. Both axes stretch: with only\n   align-self, the ratio set the WIDTH from the stretched height (179px in a 173px column, v7 review). *\/\n.et-l--post .gal-grid { grid-auto-flow: dense; }\n.et-l--post .gal-grid > figure:has(img[data-frame-orientation=\"portrait\"]) { grid-row: span 2; aspect-ratio: 3 \/ 4; align-self: stretch; justify-self: stretch; }\n.et-l--post .gal-open {\n  display: block;\n  width: 100%;\n  height: 100%;\n  min-height: 44px;\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  color: inherit;\n  cursor: zoom-in;\n  overflow: hidden;\n}\n.et-l--post .gal-open:focus-visible {\n  outline: 2px solid var(--ivory);\n  outline-offset: -4px;\n  box-shadow: inset 0 0 0 5px var(--ink);\n}\n\/* Four desktop columns fit a 2x2 lead and four supports. An 8px row gutter\n   with a 12px column gutter keeps every cell exactly 3:2, including the lead.\n   Three frames use three columns; one or two use only two columns. *\/\n@media (min-width: 760px) {\n  .et-l--post .gal-grid {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n  }\n  .et-l--post .gal-grid:not(.gal-grid--rail) > figure:nth-child(1 of figure:not([hidden])) {\n    grid-column: span 2;\n    grid-row: span 2;\n  }\n  \/* The direct :not([hidden]) also invalidates :has() when a filter changes;\n     putting it only inside the of-clause left stale column counts in Chromium. *\/\n  .et-l--post .gal-grid:has(> figure:not([hidden]):nth-child(3 of figure:not([hidden])):nth-last-child(1 of figure:not([hidden]))) {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n  .et-l--post .gal-grid:not(.gal-grid--rail):not(:has(> figure:not([hidden]):nth-child(3 of figure:not([hidden])))) {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n  .et-l--post .gal-grid:not(:has(> figure:not([hidden]):nth-child(3 of figure:not([hidden])))) > figure {\n    grid-row: auto;\n  }\n}\n\/* Two frames are peers; a single frame retains the full-width lead treatment. *\/\n.et-l--post .gal-grid > figure:nth-child(1 of figure:not([hidden])):nth-last-child(2 of figure:not([hidden])) {\n  grid-column: auto;\n  grid-row: auto;\n}\n.et-l--post .gal-grid img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform .9s cubic-bezier(.2,.7,.3,1);\n}\n.et-l--post .gal-grid figure:hover img {\n  transform: scale(1.05);\n}\n\/* gallery.html updates hidden and inline display together. Hidden also defines\n   which figures take part in the layout selectors above. *\/\n.et-l--post .gal-grid figure[hidden] {\n  display: none;\n}\n\n\/* One native modal viewer per architectural gallery. It reads every source\n   figure in DOM order, so the expanded sequence continues across filters. *\/\nhtml.gal-lightbox-open:has(.et-l--post .gal-lightbox[open]),\nbody.gal-lightbox-open:has(.et-l--post .gal-lightbox[open]) {\n  overflow: hidden !important;\n  overscroll-behavior: none;\n}\nhtml.gal-lightbox-open:has(.et-l--post .gal-lightbox[open]) {\n  scrollbar-gutter: stable;\n}\n.et-l--post .gal-lightbox {\n  position: fixed;\n  inset: 0;\n  width: 100%;\n  max-width: none;\n  height: 100%;\n  max-height: none;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  border-radius: 0;\n  background: rgba(11,10,9,.96);\n  color: var(--ivory);\n  overflow: hidden;\n}\n.et-l--post .gal-lightbox[open] {\n  display: block;\n}\n.et-l--post .gal-lightbox::backdrop {\n  background: rgba(11,10,9,.92);\n}\n.et-l--post .gal-lightbox__stage {\n  box-sizing: border-box;\n  display: grid;\n  place-items: center;\n  width: 100%;\n  min-height: 100svh;\n  min-height: 100dvh;\n  padding: max(56px,env(safe-area-inset-top)) max(64px,env(safe-area-inset-right)) max(56px,env(safe-area-inset-bottom)) max(64px,env(safe-area-inset-left));\n  overscroll-behavior: contain;\n  touch-action: pan-y;\n}\n.et-l--post .gal-lightbox figure {\n  display: grid;\n  place-items: center;\n  width: 100%;\n  height: 100%;\n  margin: 0;\n  overflow: hidden;\n  aspect-ratio: auto;\n}\n.et-l--post .gal-lightbox img {\n  display: block;\n  width: auto;\n  height: auto;\n  max-width: calc(100vw - 128px);\n  max-height: calc(100svh - 112px);\n  max-height: calc(100dvh - 112px);\n  object-fit: contain;\n  user-select: none;\n  -webkit-user-drag: none;\n}\n.et-l--post .gal-lightbox__close,\n.et-l--post .gal-lightbox__nav {\n  position: fixed;\n  z-index: 1;\n  display: grid;\n  place-items: center;\n  width: 48px;\n  height: 48px;\n  min-height: 48px;\n  padding: 0;\n  border: 1px solid rgba(249,240,224,.55);\n  border-radius: 0;\n  background: rgba(11,10,9,.72);\n  color: var(--ivory);\n  font-family: var(--font-body);\n  font-size: var(--t-h3-size);\n  line-height: 1;\n  cursor: pointer;\n}\n.et-l--post .gal-lightbox__close:hover,\n.et-l--post .gal-lightbox__nav:hover {\n  border-color: var(--ivory);\n  background: var(--ivory);\n  color: var(--ink);\n}\n.et-l--post .gal-lightbox__close:focus-visible,\n.et-l--post .gal-lightbox__nav:focus-visible {\n  outline: 2px solid var(--ivory);\n  outline-offset: 3px;\n}\n.et-l--post .gal-lightbox__close {\n  top: max(12px,env(safe-area-inset-top));\n  right: max(12px,env(safe-area-inset-right));\n  font-size: var(--t-numeral-size);\n}\n.et-l--post .gal-lightbox__prev {\n  top: 50%;\n  left: max(12px,env(safe-area-inset-left));\n  transform: translateY(-50%);\n}\n.et-l--post .gal-lightbox__next {\n  top: 50%;\n  right: max(12px,env(safe-area-inset-right));\n  transform: translateY(-50%);\n}\n.et-l--post .gal-lightbox__status {\n  position: fixed;\n  bottom: max(16px,env(safe-area-inset-bottom));\n  left: 50%;\n  transform: translateX(-50%);\n  padding: 8px 12px;\n  background: rgba(11,10,9,.72);\n  color: var(--ivory);\n  font-family: var(--font-body);\n  font-size: var(--t-ui-size);\n  font-weight: 600;\n  line-height: 1;\n  white-space: nowrap;\n}\n@media (max-width: 759px) {\n  .et-l--post .gal-lightbox__stage {\n    padding-right: 12px;\n    padding-left: 12px;\n  }\n  .et-l--post .gal-lightbox img {\n    max-width: calc(100vw - 24px);\n    max-height: calc(100svh - 112px);\n    max-height: calc(100dvh - 112px);\n  }\n}\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .gal-grid img {\n    transition: none;\n  }\n}\n\n\/* HOME's social feed is an edge-to-edge square grid: four visible tiles on\n   mobile, eight on desktop. The linked images remain native Instagram posts. *\/\n.et-l--post [data-gallery]:has(.gal-grid > figure > a[href*=\"instagram.com\/\"]):not(:has(.gal-grid > figure > img, .gal-grid > figure > .gal-open, .gal-grid > figure > a:not([href*=\"instagram.com\/\"]))) .container-bk {\n  width: 100%;\n}\n.et-l--post [data-gallery] .bk-h2:empty { display: none; }\n.et-l--post [data-gallery] .gal-grid:empty { display: none; }\n\/* The feed's vertical spacing is a derived condition (spacing.py, base.css bk-gap-*):\n   standard or related space above it, flush against the map or footer below it.\n   Owner 2026-09-24 retired the 2026-09-22 rule that zeroed the section above the\n   feed -- \"I didn't ask for no space I asked for standard normal looking.\" *\/\n.et-l--post [data-gallery]:has(.cc-live-feed--instagram) .container-bk {\n  display: none;\n}\n.et-l--post .cc-live-feed--instagram,\n.et-l--post .cc-live-feed--instagram #sb_instagram {\n  width: 100% !important;\n  max-width: none !important;\n  padding: 0 !important;\n}\n\/* Owner 2026-09-22: Smash Balloon's own grid wrapper carries `padding: 12px 0`, which\n   is the ivory strip that survived above the map after the section paddings went to\n   zero. Measured on the live page: last tile bottom 6780, feed section bottom 6792.\n   Zeroing the wrapper, not the items, leaves the tiles' own edges untouched. *\/\n.et-l--post .cc-live-feed--instagram #sbi_images {\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n}\n.et-l--post .gal-grid:has(> figure > a[href*=\"instagram.com\/\"]):not(:has(> figure > img, > figure > .gal-open, > figure > a:not([href*=\"instagram.com\/\"]))) {\n  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n  gap: 0;\n  margin-top: 0;\n}\n.et-l--post .gal-grid:has(> figure > a[href*=\"instagram.com\/\"]):not(:has(> figure > img, > figure > .gal-open, > figure > a:not([href*=\"instagram.com\/\"]))) > figure {\n  grid-area: auto !important;\n  aspect-ratio: 1;\n  border: 0;\n}\n.et-l--post .gal-grid:has(> figure > a[href*=\"instagram.com\/\"]):not(:has(> figure > img, > figure > .gal-open, > figure > a:not([href*=\"instagram.com\/\"]))) > figure > a {\n  display: block;\n  height: 100%;\n}\n.et-l--post .gal-grid:has(> figure > a[href*=\"instagram.com\/\"]):not(:has(> figure > img, > figure > .gal-open, > figure > a:not([href*=\"instagram.com\/\"]))) img {\n  height: 100%;\n  object-fit: cover;\n  transform: none;\n}\n@media (max-width: 759px) {\n  .et-l--post .gal-grid:has(> figure > a[href*=\"instagram.com\/\"]):not(:has(> figure > img, > figure > .gal-open, > figure > a:not([href*=\"instagram.com\/\"]))) > figure:nth-of-type(n+5) {\n    display: none;\n  }\n  \/* Smash Balloon owns the live-feed markup, so the static figure rule above\n     cannot control its responsive count. Keep the approved HOME contract\n     explicit at the rendered-item level: eight items may load, only the first\n     four participate in the mobile layout. *\/\n  .et-l--post .cc-live-feed--instagram #sb_instagram .sbi_item:nth-child(n+5) {\n    display: none !important;\n  }\n}\n@media (min-width: 760px) {\n  .et-l--post .gal-grid:has(> figure > a[href*=\"instagram.com\/\"]):not(:has(> figure > img, > figure > .gal-open, > figure > a:not([href*=\"instagram.com\/\"]))) {\n    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;\n  }\n}\n\n\/* HOME gallery closing card, lifted from the live reference. *\/\n.et-l--post .gal-cta {\n  grid-column: 1 \/ 3;\n  background: var(--ivory);\n  border: 1px solid var(--line);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  gap: 14px;\n  padding: 34px 22px;\n}\n.et-l--post .gal-cta h3 {\n  font-family: var(--font-display);\n  font-weight: 600;\n  line-height: 1.04;\n  margin: 0;\n}\n.et-l--post .gal-cta p {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  letter-spacing: 0.02em;\n  color: var(--graphite);\n  margin: 0;\n}\n.et-l--post .gal-cta h3 {\n  font-weight: 600 !important;\n}\n\/* The card title sits on one line at every width (owner 2026-10-04: \"Your Shoot Belongs Here fits on one line on all\n   breakpoints\"). HOME's size where it fits; narrower cards scale it to the card from its character count\n   (--cta-chars, written by gallery_closing.py; 0.53em covers CC Bodoni 600's widest measured title, 0.515em\/char).\n   !important: the theme sets every h3 to 16px !important below 325px. *\/\n.et-l--post .gal-cta { container-type: inline-size; }\n.et-l--post .gal-cta h3 {\n  max-width: none;\n  white-space: nowrap;\n  font-size: min(clamp(24px, 6vw, 32px), calc(100cqi \/ (var(--cta-chars, 16) * 0.53))) !important;\n}\n\n\/* The titled card's rhythm (owner 2026-10-04: \"the spacing in your shoot belongs here ... above title, below title and\n   below cta\"). HOME's closing rhythm (close.css): the title hugs its line, the action sits apart, and the card's top\n   and bottom match. Measured: the theme's h3 {padding-bottom: 10px} pushed the title 27px off its line while the\n   button sat 18px under it. Titled cards only: the Christmas set descriptions reuse .gal-cta without a title. *\/\n.et-l--post .gal-cta:has(> h3) { padding-block: var(--s-6); gap: 0; }\n.et-l--post .gal-cta:has(> h3) > h3 { padding-bottom: 0; }\n.et-l--post .gal-cta:has(> h3) > p { margin: var(--s-2) 0 var(--s-5); }\n\n\/* Keep translated CTA labels inside the card at 320px. *\/\n.et-l--post .gal-cta .btn {\n  max-width: 100%;\n  white-space: normal;\n  justify-content: center;\n}\n\n\/* Phase 2 \u00b7 Set rail -- owner 2026-09-30, Christmas: \"too much scrolling for mobile ... use all the\n   photos ... best in class\". Opt-in with content.layout = \"rail\", so HOME's grid above is unchanged\n   (its two lead\/column-count rules exclude .gal-grid--rail). One set's photos: the widest frame leads\n   at HOME's 3:2, every other frame sits in one swipe row at its native ratio, so nothing is cropped and\n   no frame is repeated to fill a grid. Mechanics are the usecases phone carousel's (snap, contained\n   overscroll, no scrollbar); gutters are the gallery's own tokens. No counter; a tap opens the shared\n   viewer. Arrows were left out on 2026-09-30 (the peek was to be the cue) and added on 2026-10-02 (owner:\n   \"add arrows to the sets carousel so it looks like you can scroll\"), see .gal-railnav below. Phones stack lead, row and card; from 920px (the reviews desktop step) the lead and the\n   row share one height side by side. *\/\n.et-l--post .gal-grid.gal-grid--rail {\n  --gal-rail-h: clamp(300px, 90vw, 440px);\n  grid-template-columns: minmax(0, 1fr);\n  grid-auto-flow: row;\n}\n.et-l--post .gal-grid.gal-grid--rail > figure {\n  grid-column: auto;\n  grid-row: auto;\n}\n\/* Under a row the set's card is the chapter's closing line, not a second box: HOME's card type and\n   gap, left-aligned on the section ground. *\/\n.et-l--post .gal-grid--rail > .gal-cta {\n  grid-column: 1 \/ -1;\n  padding: 0;\n  border: 0;\n  background: none;\n  align-items: flex-start;\n  text-align: left;\n}\n.et-l--post .gal-grid--rail > .gal-cta h3 {\n  max-width: none;\n}\n\/* The set's description reads as a paragraph, so it takes .bk-lead's body setting instead of the\n   card's 13px note. *\/\n.et-l--post .gal-grid--rail > .gal-cta p {\n  font-size: var(--t-body-size);\n  font-weight: 500;\n  letter-spacing: normal;\n  line-height: 1.6;\n  max-width: 56ch;\n  text-wrap: pretty;\n}\n.et-l--post .gal-rail {\n  display: flex;\n  gap: var(--s-3);\n  min-width: 0;\n  overflow-x: auto;\n  overscroll-behavior-x: contain;\n  scroll-snap-type: x mandatory;\n  scroll-behavior: smooth;\n  scrollbar-width: none;\n  -webkit-overflow-scrolling: touch;\n}\n.et-l--post .gal-rail::-webkit-scrollbar {\n  display: none;\n}\n.et-l--post .gal-rail:focus-visible {\n  outline: 2px solid var(--ink);\n  outline-offset: 3px;\n}\n\/* Arrows (owner 2026-10-02: \"add arrows to the sets carousel so it looks like you can scroll\"; this\n   reverses the 2026-09-30 peek-only ruling). They share the rail's grid cell instead of wrapping it,\n   centred on its height, and wear the shared viewer's square arrow; hover takes the brand taupe. *\/\n.et-l--post .gal-grid--rail > .gal-rail,\n.et-l--post .gal-grid--rail > .gal-railnav {\n  grid-row: 2;\n  grid-column: 1;\n}\n.et-l--post .gal-railnav {\n  z-index: 1;\n  align-self: center;\n  display: flex;\n  justify-content: space-between;\n  padding: 0 var(--s-2);\n  pointer-events: none;\n}\n.et-l--post .gal-railnav__btn {\n  display: grid;\n  place-items: center;\n  width: 48px;\n  height: 48px;\n  min-height: 48px;\n  padding: 0;\n  border: 1px solid rgba(249,240,224,.55);\n  border-radius: 0;\n  background: rgba(11,10,9,.72);\n  color: var(--ivory);\n  font-family: var(--font-body);\n  font-size: var(--t-h3-size);\n  line-height: 1;\n  cursor: pointer;\n  pointer-events: auto;\n}\n.et-l--post .gal-railnav__btn[hidden] {\n  display: none;\n}\n.et-l--post .gal-railnav__next {\n  margin-left: auto;\n}\n.et-l--post .gal-railnav__btn:hover {\n  border-color: #8D8175;\n  background: #8D8175;\n  color: #000;\n}\n.et-l--post .gal-railnav__btn:focus-visible {\n  outline: 2px solid var(--ivory);\n  outline-offset: -5px;\n}\n.et-l--post .gal-grid--rail .gal-rail > figure {\n  flex: none;\n  height: var(--gal-rail-h);\n  aspect-ratio: auto;\n  scroll-snap-align: start;\n}\n.et-l--post .gal-grid--rail .gal-rail img {\n  width: auto;\n  max-width: none;\n  height: 100%;\n}\n\/* A wide frame inside the row takes the row's full width at its own ratio instead of the row's\n   height, which on a phone would make it wider than the screen. *\/\n.et-l--post .gal-grid--rail .gal-rail > figure:has(img[data-frame-orientation=\"landscape\"]) {\n  flex: 0 0 100%;\n  height: auto;\n  align-self: center;\n}\n.et-l--post .gal-grid--rail .gal-rail > figure:has(img[data-frame-orientation=\"landscape\"]) img {\n  width: 100%;\n  height: auto;\n}\n@media (min-width: 920px) {\n  .et-l--post .gal-grid.gal-grid--rail {\n    grid-template-columns: auto minmax(0, 1fr);\n    align-items: start;\n  }\n  .et-l--post .gal-grid--rail > .gal-cta {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) auto;\n    column-gap: var(--s-6);\n    align-items: center;\n  }\n  .et-l--post .gal-grid--rail > .gal-cta .btn {\n    grid-column: 2;\n    grid-row: 1 \/ span 2;\n  }\n  .et-l--post .gal-grid.gal-grid--rail > figure {\n    height: var(--gal-rail-h);\n  }\n  .et-l--post .gal-grid--rail > .gal-rail,\n  .et-l--post .gal-grid--rail > .gal-railnav {\n    grid-row: 1;\n    grid-column: 2;\n  }\n}\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .gal-rail {\n    scroll-behavior: auto;\n  }\n}\n\n\/* hero.css \u2014 HOME's above-fold hero band (.hm-herosec > .hm-hero > .hm-hero__in),\n   extracted from reference\/home.css. Exact byte offsets are in task-3-report.md.\n   Every selector is scoped to .et-l--post per the project's CSS-specificity rule. *\/\n\n\/* F1 fix \u2014 the ~145px opaque white band above the hero (Divi's default section\n   top padding, stacked on top of HOME's own nav-clearance padding below).\n   HOME's own fix, copied verbatim (reference\/home.css offset ~52457). *\/\n#page-container .et-l--post .et_pb_section.et_pb_section_0{padding-top:0!important}\n\n\/* The fixed navigation overlays the media. A former 79px padding-top created an\n   empty beige band between the header and video on both breakpoints. *\/\n.et-l--post .hm-herosec {\n  position: relative !important;\n  padding-top: 0 !important;\n}\n.et-l--post .hm-herosec .et_pb_row,\n.et-l--post .hm-herosec .et_pb_column,\n.et-l--post .hm-herosec .et_pb_code,\n.et-l--post .hm-herosec .et_pb_code_inner {\n  position: static !important;\n}\n\n\/* .hm-hero \u2014 the image band. HOME ships TWO bare .hm-hero declarations\n   at equal specificity, neither !important (offset ~55043 and ~79831) \u2014\n   the later one wins the whole rule (min-height:clamp(..., 800px) beats the\n   earlier clamp(..., 760px); position\/display\/align-items\/overflow\/\n   background have no earlier competitor at all). Fix round 1 correction:\n   the first pass here transcribed the LOSING (earlier, 760px-only)\n   declaration and missed that the winner makes `.hm-hero` a flex container\n   that bottom-aligns its content (`display:flex; align-items:flex-end`) \u2014\n   without that, `.hm-hero__in` falls into ordinary block flow and pins to\n   the TOP of the image, which is also where `.hm-scrim` is weakest (see\n   the F4 note on `.hm-scrim` below).\n\n   Two further narrow-viewport .hm-hero min-height overrides exist,\n   found on the same re-check: `@media(max-width:479px)` and\n   `@media(max-width:359px)`, compensating min-height for the mobile\n   header at very small viewports. Transcribed as their own media blocks\n   until 2026-10-02, when the first paint became the full screen (see the\n   note on `.hm-hero` below).\n\n   Beyond the winning declaration, two properties are still added, both\n   still needed because this component's template nests `.hm-scrim` INSIDE\n   `.hm-hero` and paints the photo via CSS background-image rather than\n   HOME's <video>, per the reasoning below:\n     - the winning declaration's own `position: relative` already covers\n       the nested-scrim positioning-context need described in the previous\n       revision of this comment \u2014 no separate addition required there\n       anymore.\n     - background-size\/position\/repeat \u2014 reproducing the <video>'s\n       object-fit:cover \/ object-position:center behaviour for a CSS\n       background-image instead of a video element. *\/\n\/* Owner 2026-10-02 (\"flickers on tour, home page, etc.\"): the first paint is the full first screen.\n   HOME's clamp(480px, 72svh, 800px) and its phone overrides (100svh - 149px \/ 164px, room for the\n   trust strip the Crown hero retired) were never the final height: home_fold.js stretched the hero to\n   the screen at DOMContentLoaded, so every page painted a short hero, then jumped (filmed at 390x844:\n   Home 0.91 -> 1.13 s, Book 0.76 -> 1.04 s, Christmas 0.70 -> 1.05 s). The hero sits at the top of the\n   page under the overlaid nav, so 100svh is the height the script arrives at; the script still grows\n   the hero when its copy is taller than a short screen. *\/\n.et-l--post .hm-hero {\n  position: relative;\n  min-height: 100svh;\n  display: flex;\n  align-items: flex-end;\n  overflow: hidden;\n  background: transparent;\n  background-size: cover;\n  background-position: center center;\n  background-repeat: no-repeat;\n}\n.et-l--post .hm-bgpic {\n  position:absolute;\n  inset:0;\n  z-index:0;\n}\n.et-l--post .hm-bgpic img {\n  display:block;\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  object-position:center;\n}\n\/* Owner 2026-10-02: \"I do not want any poster\". A video hero paints nothing but the video, so its\n   ground is ink until the first frame: the overlaid nav and the hero copy are ivory, and on the page's\n   ivory they would vanish until the video arrives. The phone video opens on a black title card. *\/\n.et-l--post .hm-hero:has(.hm-bgvid) {\n  background-color: var(--ink);\n}\n\n\/* A light upper veil preserves the photograph. The stronger scrim follows the\n   content block below, so a long translation cannot rise above its protection.\n   Fixed viewport-percentage stops failed at the first glyph in short viewports;\n   see the fresh minimum-contrast red run in implementation\/contrast\/. *\/\n.et-l--post .hm-scrim {\n  position: absolute;\n  inset: 0;\n  z-index: 1;\n  pointer-events: none;\n  background: linear-gradient(180deg, rgba(28,20,14,.18), transparent 65%);\n}\n\n\/* .hm-hero__in \u2014 the content column, above the scrim. *\/\n.et-l--post .hm-hero__in {\n  position: relative;\n  z-index: 2;\n  width: min(1180px, 92vw);\n  margin: 0 auto;\n  padding: 0 0 clamp(40px, 7vw, 72px);\n  color: var(--ivory);\n}\n\n\/* Fade starts above the text and reaches its contrast floor at the first line.\n   It spans the section, never a tinted card behind the copy. *\/\n.et-l--post .hm-hero__in::before {\n  content: \"\";\n  position: absolute;\n  z-index: -1;\n  left: 50%;\n  transform: translateX(-50%);\n  width: 100vw;\n  top: -240px;\n  bottom: 0;\n  pointer-events: none;\n  background: linear-gradient(180deg, rgba(28,20,14,0) 0,\n    rgba(28,20,14,.70) 240px, rgba(28,20,14,.85) 100%);\n}\n\n\/* .hm-hero__title \u2014 HOME's H1. Three winning declarations are reconciled\n   here: the bare `.et-l--post h1` rule (font-family \/ line-height base), the\n   class-specific `.hm-hero__title` rule (higher specificity than the bare h1\n   rule, so its line-height \/ letter-spacing \/ max-width win instead), and the\n   compound `!important` weight override HOME shares with `.bk-h2` and others\n   (font-weight:600). HOME's live H1 also carries an inline font-size override\n   (clamp(34px, 9vw, 60px)) that beats the class rule's own clamp(36px, 7.4vw, 66px)\n   by specificity \u2014 that smaller, actually-rendered clamp is transcribed here\n   directly so the component does not depend on a per-page inline style. *\/\n.et-l--post .hm-hero__title {\n  font-family: var(--font-display);\n  font-weight: 600 !important;\n  font-size: var(--t-hero-size);\n  line-height: var(--t-hero-lh);\n  letter-spacing: var(--t-hero-ls) !important;\n  max-width: none;\n  color: var(--ivory);\n  margin: 0;\n  padding: 0;\n  text-wrap: balance;\n  overflow-wrap: break-word;\n}\n\/* Owner 2026-10-03: \"3 words sitting on 2 looks weird\". A title may name its phone lines (manifest\n   `h1_lines`); below 768px each phrase is its own line, so lines break where phrases end and widen downward.\n   A line still wraps inside itself on the narrowest phones, so nothing can overflow. *\/\n@media (max-width: 767px) {\n  .et-l--post .hm-hero__line { display: block; }\n}\n.et-l--post .hm-hero__title em {\n  font-style: italic;\n  font-weight: 500;\n}\n\n\/* .hm-hero__sub *\/\n.et-l--post .hm-hero__sub {\n  font-family: var(--font-body);\n  font-size: clamp(14px, 3.6vw, 18px);\n  font-weight: 500;\n  opacity: 0.9;\n  \/* Owner 2026-10-01, \"still not tight enough ... title to subtitle\": --s-2 (desktop --s-3), down from\n     HOME's clamp(22px, 4vw, 32px). Ink gap measured on staging at 390: 33px -> 19px.\n     padding: 0 because the theme lifts `p{padding-bottom:1em}` only for the LAST paragraph; once the\n     reviews line followed the subtitle it gained 14px of invisible padding (tests\/test_hero_proof.py). *\/\n  margin: var(--s-2) 0 0;\n  padding: 0;\n  max-width: 60ch;\n  line-height: 1.5;\n  \/* 2026-09-30: with both prices in the subtitle, Christmas ended its paragraph on \"24.\" alone. *\/\n  text-wrap: pretty;\n}\n\n\/* --- Ruling C2 \/ SYSTEM_ADDITIONS ---------------------------------------\n   hm-hero__kicker, hm-hero__meta and hm-hero__alt do not exist on HOME \u2014\n   measured, not assumed. Spec 5.1 requires a kicker, a delimited meta list\n   (the F3 fix) and a secondary link, so per D7 they are added to the system\n   here rather than hand-authored on a page. Recorded in SYSTEM.md. *\/\n\n\/* .hm-hero__kicker \u2014 NOT IMPLEMENTED, deliberately. 2026-09-14.\n\n   Spec 5.1 requires a hero kicker; this rule styled one, SYSTEM_ADDITIONS registered\n   it, and hero.html never emitted it. Found by tests\/test_additions_render.py.\n\n   Resolved by dropping it rather than building it, and the argument FOR building it is\n   real enough to record: HOME ships `.hm-hero__eyebrow`, so the treatment is this\n   brand's own hero vocabulary rather than an imported trope, and nothing in\n   direction.json forbids a single kicker. Three things outweigh that.\n\n   1. It would be an INTRODUCTION, not a restoration. The class has matched zero\n      elements for the life of the system, so emitting it now adds a new visible\n      element to the top of every page this system builds. Dropping it changes no\n      pixel anywhere.\n   2. No kicker copy has ever been authored. Across every manifest and sample in the\n      system's history the only values that existed were the literal \"x\", in two unit\n      test fixtures. The obvious content is also redundant: the H1 reads \"Podcast\n      Studio Miami\", so a kicker reading \"PODCAST STUDIO\" repeats the title, which is\n      the specific thing that makes an eyebrow read as generated.\n   3. UBIQUITY INVERTS AT SYSTEM SCALE. direction.json's ban and antislop's\n      `eyebrow-on-every-section` both count eyebrows WITHIN a page, and a hero kicker\n      is one section of eleven, so both would pass. But it would render on 54 of 54\n      pages: total ubiquity across the site, invisible to a per-page check. An element\n      that is voice on HOME's single hero becomes grammar on fifty-four of them.\n\n   WHAT WOULD REVERSE THIS: authored kicker copy that says something the H1 does not --\n   a different term, a qualifier, a proof point. At that moment it stops being scaffold\n   and the argument in (2) disappears. Add the slot then, and put the render in front\n   of the owner at 390x844 first, because it changes every page's first screen. *\/\n\/* .hm-hero__meta \u2014 F3 fix: the meta placeholder renders as real <li>\n   elements here, visually delimited with the same \"\u25c6\" glyph HOME already\n   uses to separate .hm-marquee__item entries (see marquee.css), recoloured\n   for the dark hero band instead of the light marquee band.\n\n   Fix round 3, FIX 3: three items (each 9-26 characters) plus two \"\u25c6\"\n   separators (each with 1.4em of left margin) cannot fit one line at\n   390px alongside the 0.7em side padding per item. The row used to wrap\n   with the separator still glued to the end of the previous line's last\n   item, so a \"\u00b7\" dangled at the right edge with the final item stranded,\n   indented, alone on line two. Below the same 479px breakpoint this\n   component already uses for the hero's own min-height (see `.hm-hero`\n   above), the media query below stacks the items vertically instead of\n   wrapping them horizontally: no wrap point can ever land mid-row, so no\n   separator can ever dangle, regardless of how long any one item's text\n   is. The \"\u25c6\" glyph is dropped at that breakpoint (a vertical list\n   doesn't need an inline separator) rather than rotated to sit at the\n   end of a line, which would just relocate the same risk. *\/\n.et-l--post .hm-hero__meta {\n  display: flex;\n  flex-wrap: wrap;\n  list-style: none;\n  margin: clamp(16px, 3vw, 22px) 0 0;\n  padding: 0;\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  color: var(--ivory);\n  opacity: 0.92;\n}\n.et-l--post .hm-hero__meta li {\n  padding: 0 0.7em;\n}\n.et-l--post .hm-hero__meta li:first-child {\n  padding-left: 0;\n}\n.et-l--post .hm-hero__meta li:not(:last-child)::after {\n  content: \"\u25c6\";\n  font-size: 0.4em;\n  vertical-align: middle;\n  margin-left: 1.4em;\n  color: var(--ivory);\n  opacity: 0.6;\n}\n@media (max-width: 479px) {\n  .et-l--post .hm-hero__meta {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 6px;\n  }\n  .et-l--post .hm-hero__meta li {\n    padding: 0;\n  }\n  .et-l--post .hm-hero__meta li:not(:last-child)::after {\n    content: none;\n  }\n}\n\n\/* .hm-hero__reviews \u2014 Crown, owner 2026-09-30. The trust strip under the hero is retired; its\n   review proof moves INTO the hero, directly under the subtitle (the prices live in the subtitle\n   itself). Owner: reviews \"below the studio rates so its not so prominent on the top\", then \"fix\n   the spacing below the subtitle and the google reviews ... make it tighter\".\n\n   Spacing is proximity: the subtitle (the claim) and this line (who vouches for it) are one group,\n   the buttons are the next. Owner 2026-10-01 asked for all three gaps tighter; measured as INK gaps\n   (letters to letters, not boxes) at 390 they went 33\/36\/32px -> 19\/12\/18px: title->subtitle --s-2,\n   subtitle->reviews --s-1, reviews->buttons --s-4 (desktop --s-3\/--s-2\/--s-5). Study and red run:\n   Documents\/2026-09-30_trust-strip-redesign\/build\/spacing-r2\/ and build\/redrun\/.\n\n   Owner 2026-10-01: \"remove the link leading out of our site to google for the hero\". The line is\n   plain text: an unclassed <span> takes the link's place with the link's own inline-flex box, so\n   every letter stays where the owner approved it (making the <p> itself the flex row measured\n   0.9px closer to the subtitle). No underline, hover, focus ring or tap target: nothing here is\n   clickable. Stars are decorative (the label says \"five-star\"), so they are aria-hidden.\n\n   Critique 2026-10-01: at 600 the label read brighter than the subtitle (500), against the owner's\n   \"not so prominent\", and the Spanish label wrapped at 360px, stranding \"Google\". Weight 500 and\n   1px star tracking fit it on one line from 360px (EN from 320px); below that the whole label\n   drops under the stars instead of breaking mid-phrase. *\/\n.et-l--post .hm-hero__reviews {\n  margin: var(--s-1) 0 0;\n  padding: 0;\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  line-height: 1.4;\n  letter-spacing: 0.01em;\n  color: var(--ivory);\n}\n.et-l--post .hm-hero__reviews > span {\n  display: inline-flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: var(--s-1) var(--s-2);\n}\n@media (min-width: 760px) {\n  .et-l--post .hm-hero__sub {\n    margin-top: var(--s-3);\n  }\n  .et-l--post .hm-hero__reviews {\n    margin-top: var(--s-2);\n  }\n}\n.et-l--post .hm-hero__stars {\n  font-size: var(--t-ui-size);\n  letter-spacing: 1px;\n  line-height: 1;\n}\n.et-l--post .hm-hero__reviews-label {\n  white-space: nowrap;\n}\n\n\/* .hm-hero__alt \u2014 REMOVED 2026-09-14. This rule styled the hero's secondary link\n   until 2026-09-13, when that link became `btn btn--ghost` (the change recorded ~30\n   lines below as \"replacing `btn--block` + `.hm-hero__alt`\"). The replacement landed;\n   the rule did not leave. It then sat here styled, registered in SYSTEM_ADDITIONS as a\n   deliberate addition to HOME's vocabulary, and matching zero elements -- and the\n   comment further down documents a real bug caused by reasoning about its leftover\n   `color: var(--ivory)` as if it were still live.\n\n   Found by tests\/test_additions_render.py, which asserts that every class this system\n   adds to HOME actually reaches an element. Dead CSS that the documentation presents\n   as a feature is the same defect as a rule nothing applies, and it is how the next\n   person concludes the hero has a treatment it has not had since September 13. *\/\n\/* .hm-hero__actions \u2014 HOME's paired-CTA row, transcribed verbatim from\n   reference\/home.css. Added 2026-09-13, replacing `btn--block` + `.hm-hero__alt`\n   in the hero.\n\n   Why: the hero shipped one full-width `btn--block` button followed by a bare\n   text link. Measured on the live page, that button rendered 359px wide in a\n   390px viewport (the owner's \"the button is full width?\"), and the secondary\n   path \u2014 640 impressions of measured demand against the primary's 32 \u2014 was a\n   wrapping underlined link, not a control. `btn--block` is a SYSTEM_ADDITIONS\n   class HOME does not ship; HOME pairs its hero CTAs in this flex row instead.\n\n   At <=600px HOME switches to nowrap with flex:1 1 0, so the two buttons split\n   the row 50\/50 rather than stacking \u2014 which is what makes a paired CTA work at\n   390px at all. *\/\n.et-l--post .hm-hero__actions {\n  display: flex;\n  gap: 12px;\n  flex-wrap: wrap;\n  \/* Owner 2026-10-01 (\"review to buttons\" not tight enough): --s-4, desktop --s-5, down from HOME's 28px.\n     Ink gap from the reviews line to the buttons at 390: 32px -> 18px. *\/\n  margin-top: var(--s-4);\n}\n@media (min-width: 760px) {\n  .et-l--post .hm-hero__actions {\n    margin-top: var(--s-5);\n  }\n}\n\n\/* Wrap translated labels between words, never inside the action verb. *\/\n.et-l--post .hm-hero__actions .btn {\n  white-space: normal;\n  line-height: 1.35;\n  text-align: center;\n  overflow-wrap: normal;\n  justify-content: center;\n}\n\n\/* GROUND-AWARE GHOST BUTTON. Added 2026-09-14.\n\n   `--btn-ghost-fg` is a single global value (var(--ink)) declared once at the system\n   root, with no on-dark variant -- so the hero's secondary call to action rendered\n   near-black type on a dark photograph. Measured on composited pixels, worst decile\n   inside the label's own box: 1.62:1 at 390 and 2.01:1 at 1440 against a 4.5 floor\n   (12px\/600 is not \"large text\"). An SC 1.4.3 failure on every page carrying a hero\n   -- and it is the path PRODUCT.md's second design principle depends on, since \"let\n   the space sell\" is served by \"Take the tour\", which was the unreadable one.\n\n   Cause: on 2026-09-13 `.hm-hero__alt` (which carried `color: var(--ivory)`) was\n   replaced by `.hm-hero__actions`; the replacement inherited the flex layout and not\n   the recolour. The comment above `.hm-hero__alt` still described the ivory treatment\n   as live. A comment outlived its implementation -- which is why this is a TOKEN\n   variant rather than a one-off colour: the next component over a photograph needs\n   the same pair, and until now the system had nowhere to put it.\n\n   The HOVER override is not optional. `.btn--ghost:hover` sets\n   `background: var(--btn-ghost-fg); color: var(--page-bg)`, so with the fg token\n   flipped to ivory that is ivory on ivory: fixing the rest state alone would have\n   traded an unreadable button for an invisible one. *\/\n.et-l--post .hm-hero__actions .btn--ghost {\n  --btn-ghost-fg: var(--ivory);\n  --btn-ghost-line: rgba(249, 240, 224, 0.55);\n}\n\n.et-l--post .hm-hero__actions .btn--ghost:hover {\n  color: var(--ink);\n}\n\n\/* Owner 2026-09-28 (rental LP): two EQUAL routes (both btn--invert) sit in HOME's one row on\n   phones (\"the stacked buttons on mobile do not look good\"). Short labels fit one line each once\n   the arrows drop and the tracking tightens to .14em; HOME's ghost pair never matches this. *\/\n@media (max-width: 600px) {\n  .et-l--post .hm-hero__actions:has(> .btn--invert + .btn--invert) .btn { letter-spacing: 0.14em; }\n  .et-l--post .hm-hero__actions:has(> .btn--invert + .btn--invert) .arrow { display: none; }\n}\n@media (max-width: 600px) {\n  .et-l--post .hm-hero__actions {\n    flex-wrap: nowrap;\n    gap: 10px;\n  }\n  .et-l--post .hm-hero__actions .btn {\n    flex: 1 1 0;\n    min-width: 0;\n    justify-content: center;\n    padding-left: 14px;\n    padding-right: 14px;\n  }\n}\n\n@media (max-width: 359px) {\n  .et-l--post .hm-hero__actions .btn {\n    padding-left: 10px;\n    padding-right: 10px;\n    letter-spacing: 0.12em;\n  }\n}\n\/* Round 9 (owner: \"do your recommendation\" -- RENT STUDIO solid with its arrow, BOOK A SHOOT ghost):\n   at HOME's .22em the arrow wrapped to a second line at 360 and 375. Opt-in via actions_style \"compact\".\n   2026-10-01 (A24): the pair keeps HOME's .22em down to 375 by giving back side padding instead\n   (10px, the same step HOME's hero takes below 360); measured one line, 58px, at 375 and 390.\n   360-374 still needs .14em: at .22em \"RENT STUDIO \u2192\" wraps there even at 10px. Below 360 the\n   general step above (.12em, 10px) applies. Placed after the general phone rules, which it overrides. *\/\n@media (max-width: 600px) {\n  .et-l--post .hm-hero__actions--compact .btn { padding-left: 10px; padding-right: 10px; }\n}\n@media (min-width: 360px) and (max-width: 374px) {\n  .et-l--post .hm-hero__actions--compact .btn { letter-spacing: 0.14em; }\n}\n\n\/* HOME's responsive background video and original subhead grouping. *\/\n.et-l--post .hm-bgvid {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: center;\n  pointer-events: none;\n}\n.et-l--post .hm-hero__meta:empty {\n  display: none;\n}\n.et-l--post .hm-hero__actions .btn--invert {\n  background: var(--ivory);\n  color: var(--ink);\n}\n.et-l--post .hm-hero__actions .btn--invert:hover {\n  background: #8D8175;\n  color: #000;\n}\n\/* Reduced motion: the hero's script pauses the video, so the visitor keeps its still frame. Hiding\n   it would leave an empty hero now that a video hero has no poster (owner 2026-10-02). *\/\n\n\/* With an adjacent trust strip, the strip closes the first fold. *\/\n.et-l--post .hm-hero[style*=\"--cc-hero-fold\"] {\n  min-height: var(--cc-hero-fold);\n}\n\n\/* Phase 2: the approved HOME display\/lead\/actions on a content-sized plain ground.\n   No artificial media space, compulsory eyebrow, metadata row or viewport height. *\/\n.et-l--post .cc-hero-plain {\n  padding-block: clamp(48px, 7vw, 96px) var(--s-6);\n}\n.et-l--post .cc-hero-plain__title {\n  max-width: 100%;\n  margin: 0;\n  font-family: var(--font-display);\n  font-size: var(--t-hero-size);\n  line-height: var(--t-hero-lh);\n  letter-spacing: var(--t-hero-ls);\n  font-weight: 600;\n  text-wrap: balance;\n  overflow-wrap: break-word;\n}\n.et-l--post .cc-hero-plain__sub {\n  max-width: 60ch;\n  margin: var(--s-5) 0 0;\n  font-family: var(--font-body);\n  font-size: var(--t-lead-size);\n  line-height: 1.55;\n  font-weight: 500;\n  color: var(--ink);\n  text-wrap: pretty;\n}\n.et-l--post .cc-hero-plain__actions {\n  display: flex;\n  flex-wrap: wrap;\n  gap: var(--s-3);\n  margin-top: var(--s-5);\n}\n.et-l--post .cc-hero-plain__sub:empty,\n.et-l--post .cc-hero-plain__actions:empty { display: none; }\n\/* The explicit light header is fixed. Reserve its measured 71px height before\n   the normal section rhythm; isolated specimens need no header reservation. *\/\nbody:has(#main-header[data-cc-nav-context=\"light\"]) .et-l--post .cc-hero-plain {\n  padding-top: calc(var(--cc-header-height) + clamp(48px, 7vw, 96px)) !important;\n}\n@media (max-width: 760px) {\n  body:has(#main-header[data-cc-nav-context=\"light\"]) .et-l--post .cc-hero-plain {\n    padding-top: calc(var(--cc-header-height) + var(--s-6)) !important;\n  }\n}\n@media (max-width: 600px) {\n  .et-l--post .cc-hero-plain__actions .btn { flex: 1 1 auto; justify-content: center; }\n}\n\/* Retain the opening's identity and supporting value facts. *\/\n.et-l--post .cc-hero-plain__label { margin: 0 0 var(--s-4); font-size: var(--t-meta-size); font-weight: 600; color: var(--graphite); }\n.et-l--post .cc-hero-plain__label:empty { display: none; }\n.et-l--post .cc-hero-plain__facts { display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6); padding: 0; margin: var(--s-6) 0 0; list-style: none; }\n.et-l--post .cc-hero-plain__facts li { display: flex; gap: var(--s-2); font: 600 var(--t-meta-size)\/1.6 var(--font-body); color: var(--ink); }\n.et-l--post .cc-hero-plain__facts li::before { content: '\u2726'; }\n.et-l--post .cc-hero-plain__facts:empty { display: none; }\n@media (max-width: 760px) {\n  .et-l--post .cc-hero-plain__facts { flex-direction: column; gap: var(--s-2); margin-top: var(--s-5); }\n}\n\n\/* Phase 2 studio introductions share CC typography, grounds, controls and facts.\n   Editorial is the common layer; the two other pairs add composition only. *\/\n.et-l--post .cc-intro { padding: clamp(32px,4.5vw,64px) 0; color: var(--ink); }\n.et-l--post .cc-intro-grid { display: grid; gap: 28px; }\n.et-l--post .cc-intro h2 { font: 600 clamp(32px,3.65vw,52px)\/1.04 var(--font-display); letter-spacing: -.015em !important; color: var(--ink) !important; margin: 0; padding: 0; text-wrap: balance; }\n.et-l--post .cc-intro h3 { margin: 0; font: 600 25px\/1.1 var(--font-display); }\n.et-l--post .cc-intro p { margin: 0; font: 500 15px\/1.6 var(--font-body); }\n.et-l--post .cc-intro-heading > p { margin-top: 20px; max-width: 54ch; }\n.et-l--post .cc-intro-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 12px; }\n.et-l--post .cc-intro-facts dt { font: 600 clamp(24px,2.5vw,34px)\/1.1 var(--font-display); }\n.et-l--post .cc-intro-facts dd { font: 500 11px\/1.45 var(--font-body); margin: 8px 0 0; }\n.et-l--post .cc-intro .cc-intro-included h3 { font: 600 14px\/1.4 var(--font-body); margin-bottom: 8px; }\n.et-l--post .cc-intro-included small { display: block; margin-top: 10px; font: 500 12px\/1.5 var(--font-body); color: var(--graphite); }\n.et-l--post .cc-intro-routes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 24px; row-gap: 0; }\n.et-l--post .cc-intro-route { min-width: 0; display: grid; grid-row: span 5; grid-template-rows: subgrid; align-items: start; }\n.et-l--post .cc-intro .cc-intro-route__desc { font-size: 13px; margin-top: 10px; }\n.et-l--post .cc-intro .cc-intro-route__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 20px; }\n.et-l--post .cc-intro-route__price strong { font: 600 38px\/1.05 var(--font-display); }\n.et-l--post .cc-intro-route__price span { font: 500 12px\/1.4 var(--font-body); }\n.et-l--post .cc-intro .cc-intro-route__qualifier { font-size: 12px; margin: 8px 0 18px; }\n.et-l--post .cc-intro-route .btn { margin-top: 0; align-self: stretch; min-height: 48px; padding: 14px 18px; font-size: 11px; letter-spacing: .1em; width: 100%; text-align: center; justify-content: center; white-space: normal; }\n.et-l--post .cc-intro-details { border-top: 1px solid var(--line); min-width: 0; }\n.et-l--post .cc-intro-detail { border-bottom: 1px solid var(--line); }\n.et-l--post .cc-intro-detail summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; cursor: pointer; }\n.et-l--post .cc-intro-detail summary::-webkit-details-marker { display: none; }\n.et-l--post .cc-intro-detail summary strong { display: block; font: 600 25px\/1.15 var(--font-display); }\n.et-l--post .cc-intro-detail summary small { display: block; font: 500 12px\/1.45 var(--font-body); margin-top: 5px; color: var(--graphite); }\n.et-l--post .cc-intro-detail summary i { flex: 0 0 16px; height: 16px; position: relative; }\n.et-l--post .cc-intro-detail summary i::before, .et-l--post .cc-intro-detail summary i::after { content: ''; position: absolute; background: currentColor; top: 7px; width: 16px; height: 1px; }\n.et-l--post .cc-intro-detail summary i::after { transform: rotate(90deg); transition: transform .2s ease; }\n.et-l--post .cc-intro-detail[open] summary i::after { transform: rotate(0); }\n.et-l--post .cc-intro-detail__body { padding: 0 0 24px; font: 500 14px\/1.6 var(--font-body); }\n.et-l--post .cc-intro-detail__body p { font-size: 14px; margin-bottom: 16px; }\n.et-l--post .cc-intro-detail__body h3 { margin: 18px 0 10px; font: 600 14px\/1.4 var(--font-body); }\n.et-l--post .cc-intro-detail__body ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }\n.et-l--post .cc-intro-table { max-width: 100%; margin-top: 24px; }\n.et-l--post .cc-intro-table table { width: 100%; border-collapse: collapse; font: 500 12px\/1.5 var(--font-body); }\n.et-l--post .cc-intro-table caption { text-align: left; font-weight: 600; font-size: 14px; margin-bottom: 10px; }\n.et-l--post .cc-intro-table th, .et-l--post .cc-intro-table td { text-align: left; padding: 10px 8px 10px 0; border-bottom: 1px solid var(--line); vertical-align: top; }\n.et-l--post .cc-intro-table thead th { font-weight: 600; }\n.et-l--post .cc-intro-table tbody th { font-weight: 500; }\n@media (max-width: 600px) {\n  .et-l--post .cc-intro { padding: 32px 0 !important; }\n  .et-l--post .cc-intro-grid { gap: 24px; }\n  .et-l--post .cc-intro h2 { font-size: var(--t-hero-size); }\n  .et-l--post .cc-intro-facts { gap: 8px; }\n  .et-l--post .cc-intro-facts dd { font-size: 10px; }\n  .et-l--post .cc-intro-routes { column-gap: 16px; row-gap: 0; }\n  .et-l--post .cc-intro-route h3 { font-size: var(--t-h3-size); }\n  .et-l--post .cc-intro-route .btn { padding: 13px 8px; font-size: 10px; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .cc-intro * { transition: none !important; scroll-behavior: auto !important; }\n}\n\n\/* A: one mobile reading column; each service owns its price, details and action. *\/\n.et-l--post .cc-intro--editorial .cc-intro-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 32px; }\n.et-l--post .cc-intro--editorial .cc-intro-heading p { margin-top: 18px; max-width: 46ch; font-size: 16px; line-height: 1.65; }\n.et-l--post .cc-intro--editorial .cc-intro-detail summary { display: grid; grid-template-columns: minmax(0,1fr) 16px; gap: 6px 12px; min-height: 88px; padding: 18px 0; }\n.et-l--post .cc-intro--editorial .cc-intro-detail summary strong { font: 600 16px\/1.4 var(--font-body); }\n.et-l--post .cc-intro--editorial .cc-intro-detail summary small { grid-column: 1; font: 500 12px\/1.45 var(--font-body); margin: 0; }\n.et-l--post .cc-intro--editorial .cc-intro-detail summary i { grid-column: 2; grid-row: 1; }\n.et-l--post .cc-intro--editorial .cc-intro-route__price { margin: 0; display: block; white-space: nowrap; font: 600 14px\/1.4 var(--font-body); }\n.et-l--post .cc-intro--editorial .cc-intro-table { margin-top: 28px; }\n@media (min-width: 1000px) {\n  .et-l--post .cc-intro--editorial .cc-intro-grid { grid-template-columns: .9fr 1.1fr; gap: var(--s-8); align-items: start; }\n  .et-l--post .cc-intro--editorial .cc-intro-detail summary { grid-template-columns: max-content minmax(0,1fr) 16px; gap: 8px 16px; min-height: 72px; padding: 20px 0; }\n  .et-l--post .cc-intro--editorial .cc-intro-detail summary small { grid-column: 2; align-self: center; white-space: nowrap; }\n  .et-l--post .cc-intro--editorial .cc-intro-detail summary i { grid-column: 3; }\n}\n\n\/* Space-first A: the studio sells the visit; pricing is a quieter guide. *\/\n\/* Owner 2026-09-22: the studio guide read as a stack of bold labels. It is a\n   specification list, so each feature gets a 22px line icon in its own column, the\n   title keeps the body role beside it on one baseline, and the description hangs\n   under the title on that same axis. The glyph set is closed and lives in\n   intro_content.py; a manifest names an icon, it never carries markup. *\/\n.et-l--post .cc-intro--editorial .cc-intro-specs { margin: 0; display: grid; gap: 22px; }\n.et-l--post .cc-intro--editorial .cc-intro-specs dt { display: grid; grid-template-columns: 22px minmax(0,1fr); column-gap: 12px; align-items: center; margin: 0 0 6px; font: 600 16px\/1.375 var(--font-body); }\n.et-l--post .cc-intro--editorial .cc-intro-specs dd { margin: 0 0 0 34px; font: 500 14px\/1.65 var(--font-body); color: var(--graphite); }\n.et-l--post .cc-intro-specs__icon { display: block; width: 22px; height: 22px; color: var(--ink); }\n.et-l--post .cc-intro-specs__icon svg { display: block; width: 100%; height: 100%; }\n.et-l--post .cc-intro--editorial .cc-intro-pricing .cc-intro-tabpanel { padding-top: 0; }\n\/* Owner 2026-09-22: HOME's two-cell price tab bar sits directly under the guide row. *\/\n.et-l--post .cc-intro--editorial .cc-intro-pricing .price-tabs { margin: 0 0 20px; }\n\n\/* C2 2026-09-22 -- .cc-rates: the compact studio-rental ledger. Eight durations in\n   three aligned columns on 46px rows, so the whole sheet reads in one phone screen;\n   the full-size .shoot-row ledger spent ~1,100px on the same eight numbers. Column\n   heads use the micro role, durations the body role, figures tabular so the two\n   price columns line up. The one featured row is ruled in ink instead of boxed, so\n   the ledger stays a ledger. *\/\n.et-l--post .cc-rates { margin: 0; }\n.et-l--post .cc-rates table { width: 100%; border-collapse: collapse; table-layout: auto; background: transparent; color: var(--ink); font-family: var(--font-body); }\n.et-l--post .cc-rates th, .et-l--post .cc-rates td { padding: 13px 0 13px 12px; border: 0; border-bottom: 1px solid var(--line); text-align: right; vertical-align: middle; white-space: nowrap; font-variant-numeric: tabular-nums; }\n.et-l--post .cc-rates thead th { padding: 0 0 10px 12px; border-bottom: 1px solid var(--ink); font-size: var(--t-micro-size); font-weight: 600; letter-spacing: var(--t-micro-ls); line-height: var(--t-micro-lh); text-transform: uppercase; color: var(--graphite); white-space: normal; vertical-align: bottom; }\n.et-l--post .cc-rates th:first-child, .et-l--post .cc-rates td:first-child { padding-left: 0; text-align: left; }\n\/* Owner 2026-09-22: the duration and its flag stay on ONE line at every width. The two\n   price columns size to their content (width:1% under auto layout) so the first column\n   keeps the room; at very narrow phones the flag and column heads tighten instead of\n   wrapping. *\/\n.et-l--post .cc-rates th:nth-child(2), .et-l--post .cc-rates th:nth-child(3) { width: 1%; }\n.et-l--post .cc-rates tbody th { font-size: 14px; font-weight: 600; line-height: 1.3; }\n.et-l--post .cc-rates tbody td { font-size: 15px; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; }\n.et-l--post .cc-rates tbody td:nth-child(2) { font-weight: 600; }\n\/* v7 review: price.css sets the flag at opacity .72 -- #555 became #83807C, 3.46:1 at 11px. Opaque it is ~6.6:1. *\/\n.et-l--post .cc-rates .shoot-row__flag { vertical-align: 0.12em; margin-left: 8px; letter-spacing: 0.1em; white-space: nowrap; opacity: 1; }\n\/* Owner 2026-09-27: a linked price opens its exact booking choice. The link fills the row height\n   so the tap target is the full 46px row, not the figure's glyphs. *\/\n.et-l--post .cc-rates td a { display: inline-block; min-width: 44px; text-align: right; margin: -13px 0; padding: 13px 0; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }\n.et-l--post .cc-rates td a:hover { color: #8D8175; }\n.et-l--post .cc-rates td a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }\n\/* Owner 2026-09-22: a package row keeps HOME's two-column shape at EVERY width --\n   name and price on ONE line, meta beneath the name. hierarchy.css stacks .shoot-row\n   below 600px for pages whose price string also carries the duration (\"$750 \u00b7 2\n   hours\"); here the duration lives in .shoot-row__meta, so the row has the room. *\/\n.et-l--post .cc-intro-pricing .shoot-row { grid-template-columns: minmax(0,1fr) auto; align-items: start; }\n.et-l--post .cc-intro-pricing .shoot-row__name { min-width: 0; }\n.et-l--post .cc-intro-pricing .shoot-row__name .shoot-row__flag { white-space: nowrap; opacity: 1; }\n\/* The price sits ON the package name's line, not centred over the whole row: the\n   same alignment the rate ledger beside it uses, and the thing the owner asked for. *\/\n.et-l--post .cc-intro-pricing .shoot-row__right { grid-column: 2; grid-row: 1; align-self: center; margin-top: 0; width: auto; justify-content: flex-end; }\n.et-l--post .cc-intro-pricing .shoot-row__price { white-space: nowrap; }\n\/* Owner 2026-09-22: \"shrink most pop\" -- the marker stays BESIDE the package name at\n   phone widths, so name, marker and price share one line. All three step down\n   together (roles first, existing literals for the marker) because shrinking the\n   marker alone cannot buy the ~90px the row needs. *\/\n@media (max-width: 759px) {\n  .et-l--post .cc-intro-pricing .shoot-row__name { font-size: var(--t-body-size); }\n  .et-l--post .cc-intro-pricing .shoot-row__price { font-size: var(--t-h3-size); }\n  .et-l--post .cc-intro-pricing .shoot-row__name .shoot-row__flag { font-size: 10px; letter-spacing: 0.06em; margin-left: 8px; }\n}\n\/* 375px is a real phone (SE, 8, 13 mini) and the marker landed one word short there.\n   The row gives back its own horizontal padding and column gap rather than shrinking\n   the name a second time. *\/\n@media (max-width: 430px) {\n  .et-l--post .cc-intro-pricing .shoot-row { padding-left: 14px; padding-right: 14px; column-gap: 12px; }\n  .et-l--post .cc-intro-pricing .shoot-row__name .shoot-row__flag { letter-spacing: 0.04em; margin-left: 6px; }\n}\n@media (max-width: 360px) {\n  .et-l--post .cc-rates th, .et-l--post .cc-rates td { padding-left: 8px; }\n  .et-l--post .cc-rates thead th { font-size: 10px; letter-spacing: 0.06em; }\n  .et-l--post .cc-rates tbody th { font-size: 13px; }\n  .et-l--post .cc-rates tbody td { font-size: 14px; }\n  .et-l--post .cc-rates .shoot-row__flag { font-size: 10px; letter-spacing: 0.05em; margin-left: 6px; }\n}\n\/* Two further steps, set by where the marker actually stopped fitting rather than by\n   round numbers: 374 is the last width the 16px name survives, 339 the last for 15px.\n   Measured per width in tests\/test_studio_introduction.py. *\/\n@media (max-width: 374px) {\n  .et-l--post .cc-intro-pricing .shoot-row__name { font-size: 15px; }\n  .et-l--post .cc-intro-pricing .shoot-row__price { font-size: 18px; }\n  .et-l--post .cc-intro-pricing .shoot-row__name .shoot-row__flag { letter-spacing: 0.02em; }\n  .et-l--post .cc-intro-pricing .shoot-row__right { gap: 8px; }\n}\n\/* Below 360 the decorative arrow goes. It carries no meaning -- the whole row is the\n   link -- and it and its gap were the last ~30px standing between the marker and the\n   name's line. *\/\n@media (max-width: 359px) {\n  .et-l--post .cc-intro-pricing .shoot-row { padding-left: 12px; padding-right: 12px; column-gap: 10px; }\n  .et-l--post .cc-intro-pricing .shoot-row__name { font-size: 14px; }\n  .et-l--post .cc-intro-pricing .shoot-row__price { font-size: var(--t-lead-size); }\n  .et-l--post .cc-intro-pricing .shoot-row__name .shoot-row__flag { letter-spacing: 0; margin-left: 5px; }\n  .et-l--post .cc-intro-pricing .shoot-row__arrow { display: none; }\n}\n.et-l--post .cc-rates .cc-rates__feat th, .et-l--post .cc-rates .cc-rates__feat td,\n.et-l--post .cc-rates tr:has(+ .cc-rates__feat) th, .et-l--post .cc-rates tr:has(+ .cc-rates__feat) td { border-bottom-color: var(--ink); }\n.et-l--post .cc-rates + .rent-foot { margin-top: 24px; }\n@media (min-width: 760px) {\n  .et-l--post .cc-rates th:nth-child(2), .et-l--post .cc-rates th:nth-child(3) { width: 160px; min-width: 160px; }\n  .et-l--post .cc-rates th, .et-l--post .cc-rates td { padding-top: 15px; padding-bottom: 15px; }\n  .et-l--post .cc-rates tbody th { font-size: 15px; }\n  .et-l--post .cc-rates tbody td { font-size: 16px; }\n}\n@media (min-width: 1100px) {\n  .et-l--post .cc-intro--editorial .cc-intro-specs { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 32px; row-gap: 28px; }\n}\n\n\/* Phase 2: three owner-requested compositions of the same studio introduction.\n   The image proves the space before the detailed guide; control type is uniform. *\/\n.et-l--post .cc-intro--editorial .cc-intro-grid { grid-template-areas: 'heading' 'photo' 'details'; gap: 28px; }\n.et-l--post .cc-intro--editorial .cc-intro-heading { grid-area: heading; }\n.et-l--post .cc-intro--editorial .cc-intro-photo { grid-area: photo; margin: 0; min-height: 0; height: auto; aspect-ratio: 3 \/ 2; overflow: hidden; }\n.et-l--post .cc-intro--editorial .cc-intro-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }\n.et-l--post .cc-intro--editorial .cc-intro-details { grid-area: details; }\n\/* 2026-10-01 (A20): the wide frame is the photo's own shape (the template's width\/height, 1850x960) at\n   every width. 16:9 cut 8% of its width on phones; 5:2 cut 23% of its height on desktop, the top of\n   the arch. Nothing is cropped now. *\/\n.et-l--post .cc-intro--editorial[data-intro-layout=\"wide\"] .cc-intro-photo { aspect-ratio: 1850 \/ 960; }\n.et-l--post .cc-intro--editorial[data-intro-layout=\"photo-first\"] .cc-intro-grid { grid-template-areas: 'photo' 'heading' 'details'; }\n.et-l--post .cc-intro--editorial[data-intro-layout=\"photo-first\"] .cc-intro-photo { aspect-ratio: 16 \/ 9; }\n@media (min-width: 1000px) {\n  .et-l--post .cc-intro--editorial .cc-intro-grid { column-gap: 64px; row-gap: 32px; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"beside\"] .cc-intro-grid { grid-template-columns: .95fr 1.05fr; grid-template-areas: 'heading details' 'photo details'; grid-template-rows: auto 1fr; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"beside\"] .cc-intro-photo { align-self: start; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"wide\"] .cc-intro-grid { grid-template-columns: 1fr; grid-template-areas: 'heading' 'photo' 'details'; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"wide\"] .cc-intro-heading { display: block; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"wide\"] .cc-intro-heading h2 { max-width: 26ch; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"wide\"] .cc-intro-heading p { margin-top: 20px; max-width: 76ch; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"photo-first\"] .cc-intro-grid { grid-template-columns: 1.1fr .9fr; grid-template-areas: 'photo heading' 'details details'; align-items: center; gap: 40px 64px; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"photo-first\"] .cc-intro-photo { aspect-ratio: 4 \/ 3; }\n  .et-l--post .cc-intro--editorial:not([data-intro-layout=\"beside\"]) .cc-intro-specs { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 40px; }\n}\n\n\/* Owner 2026-09-25: \/tour\/ reuses HOME's introduction without its photo, because the set cards\n   above it already show the space. `text` is `wide` minus the figure: the figure leaves the layout\n   and the accessibility tree, and its lazy image is never requested. *\/\n.et-l--post .cc-intro--editorial[data-intro-layout=\"text\"] .cc-intro-grid { grid-template-areas: 'heading' 'details'; }\n.et-l--post .cc-intro--editorial[data-intro-layout=\"text\"] .cc-intro-photo { display: none; }\n\/* Owner 2026-09-25: \/tour\/ drops the introduction paragraph. An empty lead leaves no box behind,\n   so the grid gap alone separates the heading from the guide. *\/\n.et-l--post .cc-intro--editorial .cc-intro-heading > p:empty { display: none; }\n@media (min-width: 1000px) {\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"text\"] .cc-intro-grid { grid-template-columns: 1fr; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"text\"] .cc-intro-heading { display: block; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"text\"] .cc-intro-heading h2 { max-width: 26ch; }\n  .et-l--post .cc-intro--editorial[data-intro-layout=\"text\"] .cc-intro-heading p { margin-top: 20px; max-width: 76ch; }\n}\n\n\/* Phase 2: two distinct service paths above shared studio details. *\/\n.et-l--post .cc-intro--services .cc-intro-heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: end; }\n.et-l--post .cc-intro--services .cc-intro-heading p { margin: 0; }\n.et-l--post .cc-intro--services .cc-intro-facts { border: 0; padding: 0; grid-template-columns: repeat(4,1fr); }\n.et-l--post .cc-intro--services .cc-intro-facts > div { display: flex; align-items: baseline; gap: 10px; }\n.et-l--post .cc-intro--services .cc-intro-facts dd { margin: 0; }\n.et-l--post .cc-intro--services .cc-intro-routes { gap: 0; border: 1px solid var(--ink); }\n.et-l--post .cc-intro--services .cc-intro-route { padding: 32px; background: var(--warm-white); }\n.et-l--post .cc-intro--services .cc-intro-route + .cc-intro-route { border-left: 1px solid var(--line); background: transparent; }\n.et-l--post .cc-intro--services .cc-intro-route h3 { font-size: var(--t-h2-size); }\n.et-l--post .cc-intro--services .cc-intro-route__price strong { font-size: var(--t-display-size); }\n.et-l--post .cc-intro--services .cc-intro-route .btn { max-width: 280px; }\n.et-l--post .cc-intro--services .cc-intro-included { display: grid; grid-template-columns: 200px 1fr; column-gap: 30px; padding: 0 0 4px; }\n.et-l--post .cc-intro--services .cc-intro-included small { grid-column: 2; }\n.et-l--post .cc-intro--services .cc-intro-details { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; align-items: start; }\n@media (max-width: 800px) {\n  .et-l--post .cc-intro--services .cc-intro-heading { display: block; }\n  .et-l--post .cc-intro--services .cc-intro-heading p { margin-top: 18px; }\n  .et-l--post .cc-intro--services .cc-intro-facts > div { display: block; }\n  .et-l--post .cc-intro--services .cc-intro-facts dd { margin-top: 8px; }\n  .et-l--post .cc-intro--services .cc-intro-included, .et-l--post .cc-intro--services .cc-intro-details { display: block; }\n}\n@media (max-width: 600px) {\n  .et-l--post .cc-intro--services .cc-intro-route { padding: 20px 14px; }\n  .et-l--post .cc-intro--services .cc-intro-route h3 { font-size: var(--t-h3-size); }\n  .et-l--post .cc-intro--services .cc-intro-route__price strong { font-size: var(--t-display-size); }\n\n}\n\n\/* Phase 2: existing studio imagery with a concise, navigable studio guide. *\/\n.et-l--post .cc-intro--visual .cc-intro-grid { grid-template-columns: .9fr 1.1fr; grid-template-areas: 'photo heading' 'photo facts' 'photo included' 'routes routes' 'details details'; column-gap: var(--s-7); }\n.et-l--post .cc-intro--visual .cc-intro-heading { grid-area: heading; }\n.et-l--post .cc-intro--visual .cc-intro-facts { grid-area: facts; }\n.et-l--post .cc-intro--visual .cc-intro-included { grid-area: included; }\n.et-l--post .cc-intro--visual .cc-intro-routes { grid-area: routes; border-top: 1px solid var(--line); padding-top: 28px; }\n.et-l--post .cc-intro--visual .cc-intro-details { grid-area: details; }\n.et-l--post .cc-intro-photo { grid-area: photo; margin: 0; min-height: 400px; }\n.et-l--post .cc-intro-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }\n.et-l--post .cc-intro--visual .cc-intro-route { grid-row: auto; grid-template-rows: auto; display: grid; grid-template-columns: 1fr auto; column-gap: 24px; }\n.et-l--post .cc-intro--visual .cc-intro-route h3, .et-l--post .cc-intro--visual .cc-intro-route__desc { grid-column: 1; }\n.et-l--post .cc-intro--visual .cc-intro-route__price { grid-column: 2; grid-row: 1 \/ span 2; margin: 0; display: block; text-align: right; }\n.et-l--post .cc-intro--visual .cc-intro-route__price span { display: block; margin-top: 8px; }\n.et-l--post .cc-intro--visual .cc-intro-route__qualifier { grid-column: 1 \/ -1; }\n.et-l--post .cc-intro--visual .cc-intro-route .btn { grid-column: 1 \/ -1; }\n.et-l--post .cc-intro-tabs { display: flex; border-bottom: 1px solid var(--ink); gap: 0; }\n.et-l--post .cc-intro-tabs button { flex: 1; padding: 18px 12px; min-height: 56px; border: 0; border-bottom: 3px solid transparent; background: none; font: 600 13px\/1.4 var(--font-body); color: var(--ink); cursor: pointer; }\n.et-l--post .cc-intro-tabs button[aria-selected=\"true\"] { border-bottom-color: var(--ink); background: var(--warm-white); }\n.et-l--post .cc-intro-tabpanel { padding: 24px 0 0; }\n.et-l--post .cc-intro-tabpanel[hidden] { display: none; }\n.et-l--post .cc-intro--visual .cc-intro-tabpanel .cc-intro-detail__body { columns: 2; column-gap: var(--s-7); }\n.et-l--post .cc-intro-tabpanel h3, .et-l--post .cc-intro-tabpanel table, .et-l--post .cc-intro-tabpanel li { break-inside: avoid; }\n@media (max-width: 800px) {\n  .et-l--post .cc-intro--visual .cc-intro-grid { grid-template-columns: 1fr; grid-template-areas: 'heading' 'facts' 'included' 'routes' 'photo' 'details'; }\n  .et-l--post .cc-intro-photo { min-height: 0; height: 230px; }\n  .et-l--post .cc-intro--visual .cc-intro-route { display: grid; grid-template-columns: 1fr; grid-row: span 5; grid-template-rows: subgrid; }\n  .et-l--post .cc-intro--visual .cc-intro-route__price { grid-column: 1; grid-row: auto; margin-top: 18px; text-align: left; }\n  .et-l--post .cc-intro-tabs { display: grid; grid-template-columns: 1fr 1fr; }\n  .et-l--post .cc-intro--visual .cc-intro-tabpanel .cc-intro-detail__body { columns: auto; }\n}\n\n\n\/* location.css \u2014 HOME's map block (.hm-map), extracted verbatim from\n   reference\/home.css (offset ~108645-109007, one contiguous block, already\n   .et-l--post-scoped in the source). One declaration found for each\n   selector below \u2014 no cascade conflicts, no duplicate elsewhere in the\n   file. HOME's own live page (scratchpad\/home.html, offset ~149625) only\n   fills the .hm-map__frame iframe and leaves .hm-map__title\/.hm-map__addr\n   unused, but the CSS rules for both already exist and ship the address\n   text this component is built to carry \u2014 the only component allowed to,\n   per F10.\n\n   bk-section \/ container-bk \/ bk-h2 \/ reveal are base.css primitives,\n   referenced here, not duplicated. *\/\n.et-l--post .hm-map {\n  width: 100%;\n  margin: 0;\n  padding: 0;\n}\n.et-l--post .hm-map__title {\n  margin: 0 0 6px;\n}\n.et-l--post .hm-map__addr {\n  font-family: var(--font-body);\n  color: var(--graphite);\n  font-size: 14px;\n  margin: 0 0 22px;\n}\n.et-l--post .hm-map__frame {\n  width: 100%;\n  height: clamp(380px, 50vw, 560px);\n  border: 0;\n  display: block;\n}\n\n\/* 2026-09-25: the address is an <h3>, and the live theme's bare h1-h6\/h3 rules\n   (0,0,1) render it as display Bodoni at 19px\/35px, weight 600, line-height 1em,\n   with 10px bottom padding. Measured on live \/podcast-studio-miami\/. The approved\n   specimen shows Montserrat 700 in ink. Scoped to this component because map.html's\n   <h2> shares .hm-map__title and must keep the display face. *\/\n.et-l--post [data-screen-label=\"location\"] .hm-map__title {\n  font-family: var(--font-body);\n  font-size: var(--t-lead-size);\n  font-weight: 700;\n  line-height: normal;\n  color: var(--ink);\n  padding-bottom: 0;\n}\n\n\/* map.css \u2014 HOME's location map band (.hm-map). Body extracted verbatim from\n   reference\/home.css by tools\/cc_system\/lift.py; every selector scoped to\n   .et-l--post. Re-run lift.py --classes hm-map hm-map__frame hm-map__title.\n\n   Why this component exists: 18 map sections across 18 pages (measured\n   2026-09-13, vocabulary.py) with no component \u2014 so the neighbourhood cohort\n   hand-rolled a map band ten times over.\n\n   No selector is declared twice; there is nothing to resolve.\n\n   The <iframe> element itself is supplied by the caller through map.html, not\n   by this stylesheet. .hm-map__frame fixes its height with a clamp, so the\n   iframe must NOT also carry width\/height attributes that fight it. *\/\n.et-l--post .hm-map {\n  width:100%;\n  margin:0;\n  padding:0;\n}\n.et-l--post .hm-map__title {\n  margin:0 0 6px;\n}\n.et-l--post .hm-map__frame {\n  width:100%;\n  height:clamp(380px, 50vw, 560px);\n  border:0;\n  display:block;\n}\n\n\/* HOME's map is a full-width band. Its edges are derived (`media` role, spacing.py):\n   flush against the feed above it and the footer below it. *\/\n.et-l--post [data-screen-label=\"map\"] .container-bk {\n  width: 100%;\n}\n.et-l--post [data-screen-label=\"map\"] .bk-h2:empty,\n.et-l--post [data-screen-label=\"map\"] .bk-lead:empty {\n  display: none;\n}\n.et-l--post [data-screen-label=\"map\"] .bk-h2:not(:empty),\n.et-l--post [data-screen-label=\"map\"] .bk-lead:not(:empty) {\n  width: min(1180px, 92vw);\n  margin-left: auto;\n  margin-right: auto;\n}\n\n\/* WHERE THE MAP MEETS THE FOOTER. Owner 2026-09-22, correcting a first attempt that\n   removed the footer's top padding: that was not what \"flush\" meant. Keep the padding.\n   What the owner can see is a grey hairline under the map, and measured at 1512 and\n   390 it is two separate 1px rows, not one:\n\n     map section bottom   7325.02\n     + 1px                the sticky anchor section, which renders 1px tall, in ivory\n     footer box top       7326.02, whose own `border-top: 1px solid var(--line)` is the\n                          grey line itself\n\n   The footer's CSS is inline in the Divi Theme Builder code module and is not\n   REST-writable, so this override lives in the page payload -- the documented second\n   exception to the `.et-l--post` scoping rule after `sticky`. Removing the border and\n   pulling the footer up by that one anchor pixel puts the footer's own ground directly\n   against the map's bottom edge, with nothing between them to see. It ships only in\n   the payload of a page carrying this band, which today is HOME alone. *\/\nbody:has(.et-l--post .hm-map) .bk-footer {\n  border-top: 0;\n  margin-top: -1px;\n}\n\n\/* marquee.css \u2014 HOME's services marquee (.hm-marquee), extracted verbatim\n   from reference\/home.css (offset ~83420). Every selector scoped to\n   .et-l--post per the project's CSS-specificity rule.\n\n   The `hmmarquee` keyframe this relies on lives in base.css, not here \u2014 see\n   the comment there for why. *\/\n.et-l--post .hm-marquee {\n  overflow: hidden;\n  border-bottom: 1px solid var(--line);\n  padding: 16px 0;\n  background: var(--warm-white);\n  cursor: pointer;\n}\n.et-l--post .hm-marquee__track {\n  display: flex;\n  width: max-content;\n  animation: hmmarquee 32s linear infinite;\n}\n.et-l--post .hm-marquee:hover .hm-marquee__track {\n  animation-play-state: paused;\n}\n.et-l--post .hm-marquee__item {\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: clamp(26px, 4.4vw, 48px);\n  letter-spacing: -0.01em;\n  padding: 0 0.45em;\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5em;\n  white-space: nowrap;\n  color: var(--ink);\n  line-height: 1.2;\n}\n.et-l--post .hm-marquee__item::after {\n  content: \"\u25c6\";\n  font-size: 0.34em;\n  color: var(--accent);\n  font-family: var(--font-body);\n}\n\n@media (prefers-reduced-motion: reduce) {\n  \/* FIX 4 (Task 10): this was the one animated mechanism prefers-reduced-motion\n     never covered at all \u2014 press.css's .ccp-track had its own query, this one\n     didn't. Same treatment as .ccp-track: stop the animation and wrap the\n     (duplicated, for the seamless loop) track into a static row instead of\n     leaving it frozen mid-scroll, where only whatever fits the viewport at\n     that instant would ever be visible. *\/\n  .et-l--post .hm-marquee__track {\n    animation: none;\n    flex-wrap: wrap;\n    justify-content: center;\n    width: 100%;\n  }\n  .et-l--post .hm-marquee__item[aria-hidden=\"true\"] {\n    display: none;\n  }\n}\n\n\/* Phase 2 recovery: preserve portrait identity and the signed personal story. *\/\n.et-l--post .cc-media-prose__layout { display: grid; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); grid-template-areas: \"media heading\" \"media body\"; gap: var(--s-5) clamp(32px, 5vw, var(--s-8)); align-items: start; }\n.et-l--post .cc-media-prose__heading { grid-area: heading; margin: 0; line-height: 1.12; text-wrap: balance; }\n.et-l--post .cc-media-prose__figure { grid-area: media; min-width: 0; margin: 0; position: sticky; top: var(--s-5); }\n.et-l--post .cc-media-prose__portrait { position: relative; overflow: hidden; }\n.et-l--post .cc-media-prose__figure img { display: block; width: 100%; height: auto; aspect-ratio: 4 \/ 5; object-fit: cover; border-radius: 0; }\n.et-l--post .cc-media-prose__identity { position: absolute; inset: auto 0 0; padding: 48px 24px 24px; color: var(--ivory); background: linear-gradient(transparent, rgba(0,0,0,.8)); }\n.et-l--post .cc-media-prose__identity strong { display: block; font-family: var(--font-display); font-size: clamp(28px, 3vw, 34px); line-height: 1.1; font-weight: 600; }\n.et-l--post .cc-media-prose__identity span { display: block; margin-top: 8px; font-family: var(--font-body); font-size: 13px; line-height: 1.4; font-weight: 500; }\n.et-l--post .cc-media-prose__figure figcaption { font-family: var(--font-body); font-size: var(--t-meta-size); font-weight: 500; line-height: 1.55; margin-top: var(--s-3); color: var(--ink); }\n.et-l--post .cc-media-prose__figure figcaption:empty { display: none; }\n.et-l--post .cc-media-prose .cc-media-prose__body { grid-area: body; min-width: 0; padding: 0; max-width: 65ch; overflow-wrap: break-word; }\n.et-l--post .cc-media-prose__body > .bk-prose__lead:empty { display: none; }\n.et-l--post .cc-media-prose__body > p:last-child:has(> em:first-child) { border-top: 1px solid var(--line); padding-top: var(--s-5); margin-top: var(--s-6); font-size: 13px; font-weight: 500; }\n.et-l--post .cc-media-prose__body > p:last-child > em:first-child { display: inline-block; font-family: var(--font-display); font-size: clamp(28px, 3vw, 34px); font-weight: 500; margin-bottom: 8px; }\n.et-l--post .cc-media-prose.bk-section:not(.bk-section--quiet):not(.bk-section--loud) .bk-h2 { font-size: var(--t-h2-size) !important; }\n@media (max-width: 759px) {\n  .et-l--post .cc-media-prose__layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: \"media\" \"heading\" \"body\"; gap: var(--s-5); }\n  .et-l--post .cc-media-prose__figure { position: static; }\n  .et-l--post .cc-media-prose__heading { max-width: 24ch; }\n  .et-l--post .cc-media-prose.bk-section:not(.bk-section--quiet):not(.bk-section--loud) .bk-h2 { font-size: clamp(28px, 3vw, 34px) !important; }\n}\n\n\/* nav.css -- the site header, in all THREE states.\n   GLOBAL COMPONENT. Divi's theme header; its CSS is authored in the WordPress\n   Customizer, not in this repo. Captured 2026-09-13 from the live cascade in the order\n   the browser applies it: Divi theme defaults, then the site's compiled overrides, then\n   the Customizer block. Rules are grouped by source below and left in that order, so the\n   last declaration for any selector is the one that actually wins.\n\n   THE THREE STATES -- this is what \"the nav in both colours\" means, and there are three:\n     1. over the hero    #main-header:not(.et-fixed-header)\n                         transparent with a top-down black gradient scrim; menu text\n                         --ivory; logo inverted to white via filter:brightness(0) invert(1).\n     2. scrolled         #main-header.et-fixed-header\n                         Divi's solid treatment, dark text, logo un-inverted.\n     3. mobile menu open #main-header:has(.mobile_nav.opened)\n                         background --warm-white #FCF8F0, hamburger --ink, logo un-inverted.\n\n   A REAL CASCADE CONFLICT, recorded rather than resolved silently: the site bundle sets\n     #main-header:not(.et-fixed-header) #top-menu li a { color:#141210!important }   (2,1,2)\n   and the Customizer block sets\n     body[class] #main-header:not(.et-fixed-header) #top-menu li a { color:#F9F0E0!important }  (2,2,3)\n   Both carry !important; the Customizer selector is more specific, so IVORY wins and the\n   nav reads light over the photo hero. Removing the body[class] prefix would silently\n   flip every hero nav to dark text.\n\n   \u26a0 LIVE DEFECT FOUND BY RENDERING THIS, 2026-09-13 -- the logo disappears when the\n   mobile menu is open. Mechanism, confirmed against the cascade below:\n\n     the Customizer's last filter rule is\n        body #main-header:not(.et-fixed-header) .logo_container img,\n        body #main-header:not(.et-fixed-header) #logo\n        { filter: brightness(0) invert(1) !important }\n     and `#logo` is a <picture> ELEMENT, not the <img>. Every un-invert rule --\n     including the mobile-open one -- targets `#logo img`, the CHILD. A filter on a\n     parent establishes a containing rendering context; `filter:none` on the child\n     cannot cancel it.\n\n   Opening the mobile menu does not add .et-fixed-header, so :not(.et-fixed-header)\n   still matches: the header ground correctly turns --warm-white #FCF8F0 while the\n   logo stays inverted WHITE on it. On phones, which are ~95% of this site's traffic.\n\n   The fix belongs in the Customizer, not here: either drop `#logo` from the invert\n   selector so only `.logo_container img` is filtered, or add `#logo` (not `#logo img`)\n   to the mobile-open un-invert rule. This file transcribes what is live and must keep\n   showing the defect until the Customizer is changed.\n\n   KNOWN DEFECT, live: the Customizer block ends with FOUR stacked CC-NAV-END markers.\n   That is the marker-duplication bug already on record (WP normalises an escaped\n   forward slash back to a bare one, and the\n   marker match stacks). Left as-is here because this file transcribes what is live; fix\n   it in the Customizer, not by editing this file.\n\n   The marker names above and below are written WITHOUT their comment delimiters on\n   purpose. CSS comments do not nest: spelling a marker in full closed this comment\n   early, and everything after it became stray text that the parser glued onto the\n   next selector and discarded. Same family as the stray-terminator bug in base.css\n   (a token name ending in a hyphen-star, followed by a slash), and invisible for the\n   same reason -- nothing raises, the rule simply stops existing. Writing THAT token\n   out in full here re-broke this very comment on the first attempt, which is the\n   most direct evidence available that prose about the bug is not a substitute for a\n   gate against it.\n   Caught 2026-09-14, when the parse gate began comparing the authored block count\n   to the parsed one instead of asserting `> 250`. *\/\n\n\/* ---- from Divi theme defaults (et-core-unified-tb-194807-874.min.css) ---- *\/\n#et_search_icon:hover,\n.mobile_menu_bar:before,\n.mobile_menu_bar:after,\n.et_toggle_slide_menu:after,\n.et-social-icon a:hover,\n.et_pb_sum,\n.et_pb_pricing li a,\n.et_pb_pricing_table_button,\n.et_overlay:before,\n.entry-summary p.price ins,\n.et_pb_member_social_links a:hover,\n.et_pb_widget li a:hover,\n.et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active,\n.et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a.active,\n.et_pb_gallery .et_pb_gallery_pagination ul li a.active,\n.wp-pagenavi span.current,\n.wp-pagenavi a:hover,\n.nav-single a,\n.tagged_as a,\n.posted_in a {\n  color:#ffffff;\n}\n.et-search-form,\n.nav li ul,\n.et_mobile_menu,\n.footer-widget li:before,\n.et_pb_pricing li:before,\nblockquote {\n  border-color:#ffffff;\n}\n#main-header,\n#main-header .nav li ul,\n.et-search-form,\n#main-header .et_mobile_menu {\n  background-color:rgba(255,255,255,0.8);\n}\n.et_header_style_centered .mobile_nav .select_page,\n.et_header_style_split .mobile_nav .select_page,\n.et_nav_text_color_light #top-menu>li>a,\n.et_nav_text_color_dark #top-menu>li>a,\n#top-menu a,\n.et_mobile_menu li a,\n.et_nav_text_color_light .et_mobile_menu li a,\n.et_nav_text_color_dark .et_mobile_menu li a,\n#et_search_icon:before,\n.et_search_form_container input,\nspan.et_close_search_field:after,\n#et-top-navigation .et-cart-info {\n  color:#0a0a0a;\n}\n#main-header .nav li ul a {\n  color:#ffffff;\n}\n#top-menu li a,\n.et_search_form_container input {\n  font-weight:bold;\n  font-style:normal;\n  text-transform:uppercase;\n  text-decoration:none;\n  letter-spacing:5px;\n}\n#top-menu li.current-menu-ancestor>a,\n#top-menu li.current-menu-item>a,\n#top-menu li.current_page_item>a {\n  color:#0a0a0a;\n}\n#main-header {\n  box-shadow:none;\n}\n#main-header,\n#et-top-navigation {\n  font-family:'Josefin Sans',sans-serif;\n}\n\n\/* ---- from site overrides (et-core-unified-874.min.css) ---- *\/\n#main-header {\n  position:fixed!important;\n  top:0!important;\n  left:0;\n  right:0;\n  width:100%!important;\n  z-index:99999!important;\n  box-shadow:none!important;\n  border-bottom:1px solid transparent!important;\n  transition:background .35s,backdrop-filter .35s,box-shadow .35s,border-color .35s,color .3s!important;\n}\nbody.et_pb_pagebuilder_layout #main-header:not(.et-fixed-header) {\n  background:transparent!important;\n  background-color:transparent!important;\n}\nbody.et_pb_pagebuilder_layout #main-header:has(.mobile_nav.opened) {\n  background:#FCF8F0!important;\n  background-color:#FCF8F0!important;\n}\nbody.et_pb_pagebuilder_layout #main-header:has(.mobile_nav.opened) .logo_container #logo img {\n  filter:none!important;\n}\nbody.et_pb_pagebuilder_layout #main-header:has(.mobile_nav.opened) .mobile_menu_bar:before {\n  color:#141210!important;\n}\n#main-header:not(.et-fixed-header) #top-menu li a {\n  color:#141210!important;\n}\n#main-header:not(.et-fixed-header) .mobile_menu_bar:before {\n  color:#141210!important;\n}\nbody.page-id-874 #main-header:not(.et-fixed-header) #top-menu li a,\nbody.page-id-192 #main-header:not(.et-fixed-header) #top-menu li a,\nbody.page-id-192218 #main-header:not(.et-fixed-header) #top-menu li a {\n  color:#FFFFFF!important;\n}\nbody.page-id-874 #main-header:not(.et-fixed-header) .mobile_menu_bar:before,\nbody.page-id-192 #main-header:not(.et-fixed-header) .mobile_menu_bar:before,\nbody.page-id-192218 #main-header:not(.et-fixed-header) .mobile_menu_bar:before {\n  color:#FFFFFF!important;\n}\n#main-header .logo_container #logo img {\n  filter:none!important;\n}\nbody.page-id-874 #main-header:not(.et-fixed-header) .logo_container #logo img,\nbody.page-id-192 #main-header:not(.et-fixed-header) .logo_container #logo img,\nbody.page-id-192218 #main-header:not(.et-fixed-header) .logo_container #logo img {\n  filter:brightness(0) invert(1)!important;\n}\n#main-header.et-fixed-header .logo_container #logo img,\n#main-header:has(.mobile_nav.opened) .logo_container #logo img {\n  filter:none!important;\n}\nbody.et_pb_pagebuilder_layout #main-header.et-fixed-header {\n  background:#FCF8F0!important;\n  background-color:#FCF8F0!important;\n  -webkit-backdrop-filter:blur(12px);\n  backdrop-filter:blur(12px);\n  border-bottom:1px solid rgba(20,18,16,.12)!important;\n  box-shadow:0 6px 24px rgba(11,10,9,.06)!important;\n}\n#main-header.et-fixed-header #top-menu li a {\n  color:#141210!important;\n}\n#main-header.et-fixed-header .mobile_menu_bar:before {\n  color:#141210!important;\n}\n#main-header .container.et_menu_container,\n#main-header.et-fixed-header .container.et_menu_container {\n  display:flex!important;\n  align-items:center!important;\n  justify-content:space-between!important;\n  position:relative!important;\n  height:70px!important;\n  min-height:70px!important;\n  max-height:70px!important;\n  padding-top:0!important;\n  padding-bottom:0!important;\n  max-width:1340px!important;\n}\n.logo_container,\n#main-header.et-fixed-header .logo_container {\n  position:static!important;\n  height:70px!important;\n  display:flex!important;\n  align-items:center!important;\n  width:auto!important;\n  margin:0!important;\n  flex:0 0 auto!important;\n}\n#main-header .logo_container #logo img,\n#main-header.et-fixed-header .logo_container #logo img {\n  height:36px!important;\n  max-height:36px!important;\n  width:auto!important;\n}\n#logo,\n#main-header.et-fixed-header #logo {\n  max-height:36px!important;\n}\n#main-header #et-top-navigation,\n#main-header.et-fixed-header #et-top-navigation {\n  padding:0!important;\n  margin:0!important;\n  display:flex!important;\n  align-items:center!important;\n  height:70px!important;\n}\n\/* Preserve HOME's mobile alignment after the shared margin reset above.\n   Divi's clearfix ::after is a third flex item: space-between alone leaves the\n   menu in the middle. The auto margin consumes that gap and retains the gutter. *\/\n@media (max-width:980px) {\n  #main-header #et-top-navigation,\n  #main-header.et-fixed-header #et-top-navigation {\n    margin-left:auto!important;\n  }\n  \/* The fixed header above is 70px tall. Keep every menu link reachable\n     in landscape and zoomed layouts without changing Divi's slide behavior. *\/\n  #main-header .et_mobile_menu {\n    box-sizing:border-box;\n    max-height:calc(100vh - 70px);\n    max-height:calc(100dvh - 70px);\n    overflow-y:auto;\n    overscroll-behavior:contain;\n  }\n}\n#main-header #top-menu li a {\n  font-family:'Montserrat',sans-serif!important;\n  font-size:13px!important;\n  font-weight:600!important;\n  letter-spacing:.16em!important;\n  text-transform:uppercase!important;\n  padding:0!important;\n  line-height:1!important;\n}\n#main-header #top-menu li.menu-item-392 a {\n  background:#0B0A09!important;\n  color:#F9F0E0!important;\n  padding:11px 22px!important;\n  font-size:12px!important;\n  line-height:1.1!important;\n}\n#main-header #top-menu li.menu-item-392 a:hover {\n  opacity:.88!important;\n}\n#main-header #top-menu li.current-menu-item>a,\n#main-header #top-menu li.current_page_item>a,\nbody.home #main-header #top-menu li.menu-item-249>a {\n  text-decoration:underline!important;\n  text-underline-offset:7px!important;\n  text-decoration-thickness:1.5px!important;\n  text-decoration-color:currentColor!important;\n}\n.mobile_menu_bar:before {\n  font-size:32px!important;\n  line-height:1!important;\n}\n#main-header .wpml-ls-menu-item .wpml-ls-native {\n  font-size:0!important;\n  letter-spacing:0!important;\n}\n#main-header .wpml-ls-item-en>a .wpml-ls-native::after {\n  content:\"EN\";\n  font-size:var(--t-ui-size);\n  letter-spacing:1.92px;\n}\n#main-header .wpml-ls-item-es>a .wpml-ls-native::after {\n  content:\"ES\";\n  font-size:var(--t-ui-size);\n  letter-spacing:1.92px;\n}\n#main-header .wpml-ls-menu-item.menu-item-has-children>a::after {\n  display:none!important;\n}\n#main-header .wpml-ls-item-en.wpml-ls-current-language>a .wpml-ls-native::after {\n    \/* Literal NBSP (U+00A0) and U+25BE, deliberately NOT the CSS hex escapes.\n     A CSS hex escape needs a backslash, Divi block JSON then carries that as a\n     DOUBLE backslash, and preflight check_divi_comment_transport blocks it:\n     WordPress rewrites backslashes on save -- the same normalisation that\n     stacked duplicate blocks on \/tour\/. Measured 2026-09-15 against the live\n     stored document: 1022 hyphen-escapes, 653 lt-escapes, 1320 quote-escapes,\n     and ZERO backslash escapes of any kind, so these two would have been the\n     first with no round-trip precedent. Literal UTF-8 needs no backslash and\n     the serializer already runs ensure_ascii=False. Do not 'tidy' these back\n     into hex escapes -- that re-blocks every page build. *\/\ncontent:\"EN\u00a0\u25be\";\n}\n#main-header .wpml-ls-item-es.wpml-ls-current-language>a .wpml-ls-native::after {\n  content:\"ES\u00a0\u25be\";\n}\n#main-header .wpml-ls-menu-item .wpml-ls-display {\n  display:none!important;\n}\n\n\/* The selected language must read as selected. The former mobile rule dimmed the\n   current locale to 42%, which made the alternate language look active. Keep a\n   non-colour indicator so the state remains clear without relying on contrast alone.\n   SUPERSEDED 2026-10-02 (owner): the 600 weight and the 1px line below are overridden on desktop and phone by the\n   \"language you are on\" blocks further down (700 + the selected page's underline on the letters). Kept because it\n   records the site's live compiled CSS. *\/\n#main-header .wpml-ls-current-language>a {\n  opacity:1!important;\n  font-weight:600!important;\n  position:relative;\n}\n#main-header .wpml-ls-current-language>a::before {\n  content:\"\";\n  position:absolute;\n  left:0;\n  right:0;\n  bottom:10px;\n  height:1px;\n  background:currentColor;\n}\n#main-header .wpml-ls-current-language>.sub-menu a {\n  font-weight:500!important;\n  opacity:.78!important;\n}\n@media (max-width:980px) {\n  #main-header #mobile_menu>.wpml-ls-current-language>a::before { bottom:13px; }\n  #main-header #mobile_menu>.wpml-ls-current-language>.sub-menu a {\n    color:var(--graphite)!important;\n  }\n}\n\n\/* ---- from Customizer, inline (the CC-NAV-START block) ---- *\/\nbody.et_pb_pagebuilder_layout #main-header:not(.et-fixed-header) {\n  background-image:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.26) 50%,rgba(0,0,0,0) 85%)!important;\n  background-repeat:no-repeat!important;\n  background-size:100% 100%!important;\n  background-color:transparent!important;\n  border-bottom-color:transparent!important;\n}\nbody[class] #main-header:not(.et-fixed-header) #top-menu li a {\n  color:#F9F0E0!important;\n}\nbody[class] #main-header:not(.et-fixed-header) #top-menu>li.menu-item-392>a {\n  color:#F9F0E0!important;\n}\nbody[class] #main-header:not(.et-fixed-header) .mobile_menu_bar:before {\n  color:#F9F0E0!important;\n}\nbody #main-header:not(.et-fixed-header) .logo_container img,\nbody #main-header:not(.et-fixed-header) #logo {\n  filter:brightness(0) invert(1)!important;\n}\n#main-header .et_mobile_menu li.menu-item-has-children > ul.sub-menu {\n  display: block !important;\n  visibility: visible !important;\n}\n#main-header .et_mobile_menu li.menu-item-has-children > a:after {\n  content: '' !important;\n}\n\n@media (min-width: 981px) {\n  \/* The existing language controller opens with Enter\/Space via aria-expanded. *\/\n  #main-header #top-menu .wpml-ls-menu-item > a[aria-expanded=\"true\"] + ul.sub-menu {\n    visibility: visible;\n    opacity: 1;\n  }\n}\n\n\/* Phase 2: declared hero context. The captured, unannotated header above remains\n   unchanged. One existing Divi fixed\/open state drives both foreground variants;\n   an unknown authored context receives the readable solid treatment below.\n   Keep the logo filter on its image only: filtering picture AND image inverts it\n   twice. No image sampling, scroll controller or second click owner is needed. *\/\nbody[class] #main-header[data-cc-nav-context] {\n  --cc-nav-foreground:var(--ink);\n  --cc-nav-logo-filter:none;\n  background:var(--warm-white)!important;\n  background-image:none!important;\n  border-bottom-color:var(--line)!important;\n}\nbody[class] #main-header[data-cc-nav-context=\"light\"]:not(.et-fixed-header):not(:has(.mobile_nav.opened)) {\n  background:transparent!important;\n  border-bottom-color:transparent!important;\n}\nbody[class] #main-header[data-cc-nav-context=\"media\"]:not(.et-fixed-header):not(:has(.mobile_nav.opened)) {\n  --cc-nav-foreground:var(--ivory);\n  --cc-nav-logo-filter:brightness(0) invert(1);\n  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.26) 50%,rgba(0,0,0,0) 85%)!important;\n  background-repeat:no-repeat!important;\n  background-size:100% 100%!important;\n  border-bottom-color:transparent!important;\n}\nbody[class] #main-header[data-cc-nav-context] #top-menu li a,\nbody[class] #main-header[data-cc-nav-context] .mobile_menu_bar:before {\n  color:var(--cc-nav-foreground)!important;\n}\nbody[class] #main-header[data-cc-nav-context] #logo {\n  filter:none!important;\n}\nbody[class] #main-header[data-cc-nav-context] .logo_container #logo img {\n  filter:var(--cc-nav-logo-filter)!important;\n}\nbody[class] #main-header[data-cc-nav-context] .logo_container>a,\nbody[class] #main-header[data-cc-nav-context] #top-menu li a {\n  display:flex;\n  align-items:center;\n  min-width:44px;\n  min-height:44px;\n}\nbody[class] #main-header[data-cc-nav-context] .mobile_menu_bar {\n  display:grid;\n  place-items:center;\n  width:44px;\n  height:44px;\n  line-height:1;\n  appearance:none;\n  padding:0;\n  border:0;\n  border-radius:0;\n  background:transparent;\n  color:var(--cc-nav-foreground);\n  font:inherit;\n}\nbody[class] #main-header[data-cc-nav-context] .mobile_menu_bar:before {\n  content:'';\n  width:20px;\n  height:2px;\n  background:currentColor;\n  box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;\n}\n\/* The close X is drawn, not typed (owner 2026-10-02: \"the x is closer to the bottom of the section vs the middle\").\n   The glyph U+00D7 sat in a 24px box whose line box Divi's icon rule holds at 32px (font-size and line-height both\n   important), so it drew about 10px below the header's centre line. Two 2px diagonals in an 18px square, centred by\n   the 44px grid button exactly like the hamburger's bars. No font can move it. *\/\nbody[class] #main-header[data-cc-nav-context]:has(.mobile_nav.opened) .mobile_menu_bar:before {\n  content:'';\n  width:18px;\n  height:18px;\n  background:linear-gradient(45deg,transparent calc(50% - 1px),currentColor calc(50% - 1px),currentColor calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),currentColor calc(50% - 1px),currentColor calc(50% + 1px),transparent calc(50% + 1px));\n  box-shadow:none;\n}\nbody[class] #main-header[data-cc-nav-context] #top-menu .sub-menu li a {\n  color:var(--ink)!important;\n}\nbody[class] #main-header[data-cc-nav-context] #top-menu>li.menu-item-392>a,\nbody[class] #main-header[data-cc-nav-context] .et_mobile_menu>li.menu-item-392>a {\n  background:var(--accent)!important;\n  color:var(--ivory)!important;\n}\nbody[class] #main-header[data-cc-nav-context] #top-menu>li.menu-item-392>a:is(:hover,:focus-visible),\nbody[class] #main-header[data-cc-nav-context] .et_mobile_menu>li.menu-item-392>a:is(:hover,:focus-visible) {\n  background:#8D8175!important;\n  color:var(--accent)!important;\n  opacity:1!important;\n}\n@media (min-width:981px) {\n  #main-header[data-cc-nav-context] #top-menu .wpml-ls-current-language>.sub-menu {\n    left:auto;\n    right:0;\n  }\n  \/* An explicit closed state wins over Divi's hover\/focus-within fallback.\n     Otherwise Escape returns focus but leaves the language panel visible. *\/\n  #main-header[data-cc-nav-context] #top-menu .wpml-ls-menu-item>a[aria-expanded=\"false\"]+.sub-menu {\n    display:none;\n  }\n}\n\n\/* The page you are on, in the header (owner 2026-10-02: \"the selection while underlined its not clear, it should\n   also be bolded and underline\"). Desktop items are Montserrat 600, so the selected one steps to 700 (a face the site\n   loads) and keeps HOME's underline. The phone menu asked for 'Josefin Sans', which the site never loads; iPhones drew\n   Helvetica, whose 600 is already bold, so a weight step could not show. It now draws in the system's Montserrat 600\n   like the desktop menu, and the selected item is 700 and underlined. The Book Now button is never marked.\n   Sitewide: these same rules go in the Customizer for pages the system does not own yet. *\/\nbody[class] #main-header #top-menu>li:is(.current-menu-item,.current_page_item):not(.menu-item-392)>a,\nbody.home[class] #main-header #top-menu>li.menu-item-249>a {\n  font-weight:700!important;\n  text-decoration:underline!important;\n  text-underline-offset:7px!important;\n  text-decoration-thickness:1.5px!important;\n}\nbody[class] #main-header .et_mobile_menu>li>a {\n  font-family:'Montserrat',sans-serif!important;\n  font-weight:600!important;\n}\nbody[class] #main-header .et_mobile_menu>li:is(.current-menu-item,.current_page_item):not(.menu-item-392)>a,\nbody.home[class] #main-header .et_mobile_menu>li.menu-item-249>a {\n  font-weight:700!important;\n  text-decoration:underline!important;\n  text-underline-offset:6px!important;\n  text-decoration-thickness:1.5px!important;\n}\n\nbody[class] #main-header .et_mobile_menu>li:is(.current-menu-item,.current_page_item):not(.menu-item-392)>a,\nbody.home[class] #main-header .et_mobile_menu>li.menu-item-249>a {\n  position:relative;\n}\n\/* The phone menu's arrow is the link's in-flow ::after (block, margin-left:auto inside 26px of right padding), so the\n   underline would run under it too. Out of flow it is not decorated; pinned exactly where flex placed it. *\/\nbody[class] #main-header .et_mobile_menu>li:is(.current-menu-item,.current_page_item):not(.menu-item-392)>a::after,\nbody.home[class] #main-header .et_mobile_menu>li.menu-item-249>a::after {\n  position:absolute;\n  top:0;\n  bottom:0;\n  right:26px;\n  margin:0;\n  display:flex;\n  align-items:center;\n}\n\n\/* The language you are on, in the phone menu. Measured live 2026-10-02: the theme's two-id rule\n   (#main-header #mobile_menu > li.wpml-ls-menu-item > a, opacity .42 important) beat the one-id system rule above,\n   so the current language showed at 42% and the other at full ink -- it read as if the other one were selected.\n   Same mark as the selected page: full ink, 700, underlined (the 1px line above is replaced, not doubled). *\/\n@media (max-width:980px) {\n  body[class] #main-header #mobile_menu>li.wpml-ls-menu-item a {\n    font-family:'Montserrat',sans-serif!important;\n  }\n  body[class] #main-header #mobile_menu>li.wpml-ls-current-language>a {\n    opacity:1!important;\n    font-weight:700!important;\n    color:var(--ink)!important;\n    text-decoration:underline!important;\n    text-underline-offset:6px!important;\n    text-decoration-thickness:1.5px!important;\n  }\n  body[class] #main-header #mobile_menu>li.wpml-ls-current-language>a::before {\n    content:none!important;\n  }\n  \/* Owner 2026-10-02 round 4: \"also translator switch on mobile nav bolded\". The other language was 500 at 0.78 in\n     graphite and read faint beside the 600 menu; it now matches the menu items. The current one keeps 700 + underline. *\/\n  body[class] #main-header #mobile_menu>li.wpml-ls-current-language>.sub-menu a {\n    font-weight:600!important;\n    opacity:1!important;\n    color:var(--ink)!important;\n  }\n}\n\n\/* The language you are on, beside the logo on desktop. Owner 2026-10-02, second round: \"did not do the selected\n   bolded for en and es\". It stayed 600 like every item, marked only by the 1px line above, drawn 10px over the link's\n   bottom edge and well under the letters. It now takes the selected page's mark: 700 and the same underline. The label\n   and its arrow were one pseudo (\"EN \u25be\"), so an underline would have run under the arrow; the arrow moves to the span's\n   own ::before, placed after the letters by flex order and left undecorated (the span is inline-flex, an atomic box,\n   so nothing from the link's own decoration reaches it either). *\/\n@media (min-width:981px) {\n  body[class] #main-header #top-menu>li.wpml-ls-current-language>a {\n    font-weight:700!important;\n  }\n  body[class] #main-header #top-menu>li.wpml-ls-current-language>a::before {\n    content:none!important;\n  }\n  body[class] #main-header #top-menu>li.wpml-ls-current-language>a .wpml-ls-native {\n    display:inline-flex;\n    align-items:baseline;\n  }\n  body[class] #main-header #top-menu>li.wpml-ls-item-en.wpml-ls-current-language>a .wpml-ls-native::after {\n    content:\"EN\";\n  }\n  body[class] #main-header #top-menu>li.wpml-ls-item-es.wpml-ls-current-language>a .wpml-ls-native::after {\n    content:\"ES\";\n  }\n  body[class] #main-header #top-menu>li.wpml-ls-current-language>a .wpml-ls-native::after {\n    text-decoration:underline!important;\n    text-underline-offset:7px!important;\n    text-decoration-thickness:1.5px!important;\n  }\n  body[class] #main-header #top-menu>li.wpml-ls-current-language>a .wpml-ls-native::before {\n    content:\"\u00a0\u25be\";\n    order:1;\n    font-size:var(--t-ui-size);\n    letter-spacing:1.92px;\n    text-decoration:none;\n  }\n}\n\n\/* Shared measured clearance for context-aware plain heroes and topic anchors. *\/\n:root { --cc-header-height: 71px; }\n\n\/* Phase 2: membership-first offer with a related question form, not hourly rates. *\/\n.et-l--post .cc-offer__heading { text-align:center; margin-bottom:var(--s-6); }\n.et-l--post .cc-offer__layout { display:grid; gap:var(--s-7); padding:var(--s-5); border:1px solid var(--line); background:var(--warm-white); }\n.et-l--post :is(.cc-offer__detail,.cc-offer__inquiry) { min-width:0; }\n.et-l--post .cc-offer__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--s-2); margin:0; padding:0; }\n.et-l--post .cc-offer__price strong { font:700 clamp(52px,9vw,72px)\/1 var(--font-body); letter-spacing:-.035em; }\n.et-l--post .cc-offer__price span { font:500 16px\/1.5 var(--font-body); }\n.et-l--post .cc-offer__savings { font:500 12px\/1.6 var(--font-body); border:1px solid var(--line); padding:var(--s-3) var(--s-4); margin:var(--s-4) 0 var(--s-5); }\n.et-l--post .cc-offer__intro { font:500 16px\/1.7 var(--font-body); margin:0; padding:0; }\n.et-l--post .cc-offer__features { display:grid; gap:var(--s-5); margin:var(--s-5) 0; padding:var(--s-5) 0 0; border-top:1px solid var(--line); list-style:none; }\n.et-l--post .cc-offer__features h3 { font:600 16px\/1.5 var(--font-body); padding:0; margin:0 0 var(--s-1); }\n.et-l--post .cc-offer__features p { font:400 14px\/1.65 var(--font-body); padding:0; margin:0; color:var(--graphite); }\n.et-l--post .cc-offer__action .btn { display:flex; width:100%; justify-content:center; text-align:center; white-space:normal; }\n.et-l--post .cc-offer__inquiry { border-top:1px solid var(--line); padding-top:var(--s-6); }\n@media (min-width:980px) {\n .et-l--post .cc-offer__layout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-8); padding:var(--s-7); }\n .et-l--post .cc-offer__inquiry { border-top:0; padding-top:0; }\n .et-l--post .cc-offer .cc-form__fields { grid-template-columns:repeat(2,minmax(0,1fr)); }\n .et-l--post .cc-offer :is(.cc-field--name,.cc-field--message) { grid-column:1\/-1; }\n}\n\n\/* Original featured gallery geometry and controls, measured at 320\u20131440px.\n   Owner's sole visual change: the section ground now uses approved ivory. *\/\n.et-l--post .cc-portfolio {padding:0!important;background:var(--ivory)!important;-webkit-font-smoothing:antialiased}\n.et-l--post .cc-portfolio [hidden] {display:none!important}\n.et-l--post .cc-portfolio .gal-bar {background:var(--ivory)}\n.et-l--post .cc-portfolio .gal-bar__in {width:min(1240px,100%);margin:0 auto;padding:clamp(20px,3vw,30px) clamp(20px,5vw,54px) clamp(26px,3.6vw,36px);display:flex;align-items:center;justify-content:space-between;gap:18px}\n.et-l--post .cc-portfolio .gtabs {display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}\n.et-l--post .cc-portfolio .gtabs::-webkit-scrollbar {display:none}\n.et-l--post .cc-portfolio .gal-tab {flex:0 0 auto;white-space:nowrap;font-family:var(--font-body);font-size:12px;font-weight:600;line-height:normal;letter-spacing:.04em;padding:9px 15px;border:1px solid rgba(20,18,16,.14);border-radius:0;background:transparent;color:#141210;cursor:pointer;transition:background .2s,color .2s,border-color .2s;min-height:44px}\n.et-l--post .cc-portfolio .gal-tab:hover {border-color:#000}\n.et-l--post .cc-portfolio .gal-tab.is-sel {background:#000;color:#F9F0E0;border-color:#000}\n.et-l--post .cc-portfolio .gal-bar__cta {flex:0 0 auto}\n.et-l--post .cc-portfolio .gal-bar__cta .btn {display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-body);font-weight:600;font-size:12px;line-height:25.2px;letter-spacing:.12em;text-transform:uppercase;padding:16px 30px;background:#0B0A09;color:#F9F0E0;border:1px solid #0B0A09;border-radius:0;text-decoration:none;transition:background .2s}\n.et-l--post .cc-portfolio .gal-bar__cta .btn:hover {background:#8D8175;border-color:#8D8175}\n.et-l--post .cc-portfolio-source-arrow {font-family:serif}\n.et-l--post .cc-portfolio .gal-grid-row {display:flex;width:100%;max-width:100%;margin:0;padding:0}\n.et-l--post .cc-portfolio-column {width:29.66666667%;margin-right:5.5%;min-width:0}\n.et-l--post .cc-portfolio-column:last-child {margin-right:0}\n.et-l--post .cc-portfolio .gal-item {margin:8px;padding:0}\n.et-l--post .cc-portfolio-open {display:block;line-height:0}\n.et-l--post .cc-portfolio-open img {display:block;width:100%;height:auto}\n@media(max-width:980px){.et-l--post .cc-portfolio-column {width:33.33333333%;margin:0 0 30px}.et-l--post .cc-portfolio-column:last-child {margin:0}}\n@media(max-width:767px){.et-l--post .cc-portfolio .gal-item {margin:5px}}\n@media(max-width:720px){.et-l--post .cc-portfolio .gal-bar__in {padding-top:16px;padding-bottom:22px}.et-l--post .cc-portfolio .gal-bar__cta {display:none}}\n@media(prefers-reduced-motion:reduce){.et-l--post .cc-portfolio .gal-tab,.et-l--post .cc-portfolio .gal-bar__cta .btn {transition:none}}\n\n\/* press.css \u2014 HOME's \"as seen in\" logo marquee (.ccp-press), extracted\n   verbatim from reference\/home.css (offset ~57075) and confirmed against\n   the identical inline <style> block inside the live page's press\n   section in scratchpad\/home.html. Unlike almost everything else mined\n   for this system, HOME ships this CSS completely UNSCOPED \u2014 no\n   .et-l--post prefix anywhere in the source, because it comes from a\n   page-local Code-module <style> tag, not the sitewide Additional CSS \u2014\n   so every selector below is scoped here for the first time, per the\n   project's rule. One declaration found for each selector (enumerated\n   every literal occurrence in reference\/home.css, not just the first\n   match, including inside both @media blocks) \u2014 no cascade conflicts.\n\n   Search-before-concluding: scratchpad\/home.html's inline JS was\n   searched for \"ccp-\" and has no hits, confirming the marquee is\n   CSS-only \u2014 .ccp-track's motion is a pure @keyframes animation, no\n   toggle\/JS behaviour to extract here, unlike faq\/sticky.\n\n   @keyframes ccp-scroll lives in base.css, not here, for the same\n   reason @keyframes hmmarquee does (see base.css's own comment on it):\n   its from\/to percentage selectors cannot be prefixed with .et-l--post,\n   and this file IS covered by the per-component scoping test, so a bare\n   from or to selector here would fail it.\n\n   Mobile refinement (offset ~111527, inside reference\/home.css's\n   @media (max-width:760px) block, single declaration, no conflicting\n   duplicate elsewhere): HOME tightens this section's top padding and\n   widens its bottom padding so it sits close under the reviews section\n   above it \u2014 the reviews-side counterpart of this same pairing lives in\n   reviews.css. *\/\n.et-l--post .ccp-press {\n  position: relative;\n  left: 50%;\n  right: 50%;\n  width: 100vw;\n  max-width: 100vw;\n  margin-left: -50vw;\n  margin-right: -50vw;\n  padding: 0;\n  box-sizing: border-box;\n  overflow: hidden;\n}\n.et-l--post .ccp-marquee {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);\n  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);\n}\n.et-l--post .ccp-track {\n  display: flex;\n  align-items: center;\n  gap: clamp(40px, 6vw, 74px);\n  width: max-content;\n  animation: ccp-scroll 50s linear infinite;\n  will-change: transform;\n}\n.et-l--post .ccp-marquee:hover .ccp-track {\n  animation-play-state: paused;\n}\n\/* Keyboard focus exposes one stationary, horizontally scrollable sequence. *\/\n.et-l--post .ccp-marquee:focus-within {\n  overflow-x: auto;\n  scroll-padding-inline: 8px;\n  -webkit-mask-image: none;\n  mask-image: none;\n}\n.et-l--post .ccp-marquee:focus-within .ccp-track {\n  animation: none;\n  transform: none;\n  padding-inline: 8px;\n}\n.et-l--post .ccp-marquee:focus-within [aria-hidden=\"true\"] {\n  display: none;\n}\n.et-l--post .ccp-marquee:not([data-cc-press-ready]):focus-within .ccp-track {\n  width: 100%;\n  flex-wrap: wrap;\n  justify-content: center;\n}\n.et-l--post .ccp-logo {\n  flex: 0 0 auto;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  text-decoration: none;\n}\n.et-l--post .ccp-logo img {\n  width: auto;\n  display: block;\n  opacity: .62;\n  transition: opacity .25s cubic-bezier(.22,1,.36,1), transform .25s cubic-bezier(.22,1,.36,1);\n}\n.et-l--post a.ccp-logo:hover img,\n.et-l--post a.ccp-logo:focus-visible img {\n  opacity: 1;\n  transform: translateY(-1px);\n}\n.et-l--post a.ccp-logo:focus-visible {\n  outline: 2px solid #8D8175;\n  outline-offset: 6px;\n}\n.et-l--post .ccp-badge img {\n  opacity: .72;\n}\n@media (max-width: 980px) {\n  .et-l--post .ccp-track {\n    animation-duration: 38s;\n  }\n  .et-l--post .ccp-logo img {\n    transform: scale(.82);\n  }\n  .et-l--post a.ccp-logo:hover img {\n    transform: scale(.82) translateY(-1px);\n  }\n}\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .ccp-marquee {\n    -webkit-mask-image: none;\n    mask-image: none;\n  }\n  .et-l--post .ccp-track {\n    animation: none;\n    flex-wrap: wrap;\n    justify-content: center;\n    width: 100%;\n    gap: 28px 46px;\n    max-width: 1180px;\n    margin: 0 auto;\n    padding: 0 20px;\n  }\n  .et-l--post .ccp-track > [aria-hidden=\"true\"] {\n    display: none;\n  }\n}\n\/* The strip's section edges are derived (`proof` role, spacing.py). The marquee adds\n   no padding of its own, so the logos sit exactly on the section's content edge. *\/\n@media (min-width: 761px) {\n  .et-l--post .ccp-press {\n    padding-top: 0;\n    padding-bottom: 0;\n  }\n}\n\n\/* price.css \u2014 HOME's studio-rate list (.shoot-list \/ .shoot-row). Body\n   extracted verbatim from reference\/home.css by tools\/cc_system\/lift.py; every\n   selector scoped to .et-l--post. Re-run\n   lift.py --classes shoot-list shoot-row shoot-row__name shoot-row__meta\n   shoot-row__use shoot-row__right shoot-row__price rather than editing below.\n\n   Why this component exists: 34 price sections across 24 pages (measured\n   2026-09-13, vocabulary.py) and the system had no price component at all.\n   offer.html sells ONE dominant package; this is the multi-row RATE TABLE.\n   They are different jobs, and conflating them is what produced eight pages\n   whose sticky-bar price contradicts their own rate rows.\n\n   Conflicts, enumerated:\n     .shoot-list \/ .shoot-row \/ .shoot-row__meta \/ .shoot-row__right \/\n     .shoot-row__price   2x each \u2014 base + @media min-760. Above 760px HOME\n                         re-lays each row from a 2-column [name | price] grid\n                         into a single column with the price beneath, and\n                         switches the list itself to 3 columns. Additive by\n                         breakpoint; no conflict.\n     .shoot-row__name    2x \u2014 base font-weight:500; later compound rule wins at\n                         600 !important.\n   No other selector is declared twice.\n\n   Transcribed but inert: `.shoot-row:hover .shoot-row__arrow`. HOME declares\n   the hover transform but ships neither a base rule for .shoot-row__arrow nor\n   any markup using it (searched reference\/home.css and all 54 rendered pages).\n   Kept because it is part of the lifted rule and costs nothing; do not add\n   markup for it without a base rule to go with it. *\/\n.et-l--post .shoot-list {\n  display: grid;\n  gap: 10px;\n  margin-top: 18px;\n}\n\/* Phase 2: standalone package\/comparison lists keep names near their prices.\n   Opt-in content variant; HOME's full-width price composition is unchanged. *\/\n.et-l--post [data-price-measure=\"compact\"] > .container-bk {\n  width: min(752px, 92vw);\n}\n.et-l--post .shoot-list:has(.price-tabs) {\n  display: block;\n}\n.et-l--post .shoot-row {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) auto;\n  align-items: center;\n  gap: 4px 16px;\n  border: 1px solid var(--line);\n  background: var(--warm-white);\n  padding: 18px 18px;\n  color: inherit;\n  position: relative;\n  transition: border-color .25s, background .25s, transform .25s;\n}\n.et-l--post .shoot-row:hover {\n  border-color: var(--accent);\n  transform: translateY(-1px);\n}\n\/* `.shoot-row__flag` was in the MARKUP and in no stylesheet, so the featured row\n   rendered \"The Signature Most Popular\" as one continuous string -- the badge simply\n   ran on from the name. Caught by the senior-UI seat reading the render; the same\n   declared-but-unapplied pattern as the emphasis layer and the layout families, at the\n   smallest possible scale. Set small, spaced and slightly recessive so it reads as a\n   label on the row rather than part of the product name. *\/\n.et-l--post .shoot-row__flag {\n  display: inline-block;\n  margin-left: 10px;\n  vertical-align: 0.18em;\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 600;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  opacity: 0.72;\n}\n\n.et-l--post .shoot-row--feat {\n  border: 1.5px solid var(--accent);\n}\n.et-l--post .shoot-row__name {\n  grid-column: 1;\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: var(--t-h3-size);\n  line-height: var(--t-h3-lh);\n  display: flex;\n  align-items: baseline;\n  gap: 9px;\n  flex-wrap: wrap;\n}\n.et-l--post .shoot-row__meta {\n  grid-column: 1;\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  color: var(--graphite);\n  margin-top: 5px;\n  line-height: 1.4;\n}\n.et-l--post .shoot-row__meta b {\n  color: var(--ink);\n  font-weight: 600;\n}\n.et-l--post .shoot-row__use {\n  display: block;\n}\n.et-l--post .shoot-row__right {\n  grid-column: 2;\n  grid-row: 1 \/ span 2;\n  display: flex;\n  align-items: center;\n  gap: 14px;\n}\n.et-l--post .shoot-row__price {\n  font-family: var(--font-body);\n  font-weight: 600;\n  letter-spacing: -0.015em;\n  font-size: var(--t-numeral-size);\n  line-height: var(--t-numeral-lh);\n}\n.et-l--post .shoot-row:hover .shoot-row__arrow {\n  transform: translateX(4px);\n}\n\/* RECORDED DIVERGENCE FROM HOME, 2026-09-14: the ledger stays a ledger at every width.\n\n   HOME breaks this list into `repeat(3, minmax(0,1fr))` above 760px. Three problems,\n   all measured rather than argued:\n\n     1. It contradicts the component's own declared family. direction.json defines\n        `ledger` as \"a list of rows where the row IS the unit, not a card ... reads as a\n        menu rather than a grid of boxes\". As a 3-up grid it rendered\n        `grid-template-columns: 385.328px 385.328px 385.344px` -- byte-identical to\n        `steps` and `usecases`, which are declared `centered-stack`. Three components,\n        three declared families, one rendered shape. That is how the family test kept\n        passing while the senior-UI seat scored composition a 4: the test reads a label.\n     2. The orphan. This file's own comment warns \"3 or 6 rows sit flush; 4 or 5 leave a\n        ragged tail\", and the canonical sample ships five -- so \"Most Popular\" stranded\n        in the top-right corner, row heights 220px against 185px. Adding the two hourly\n        rates this section was missing would have made it 3+3+1, which is worse. A\n        vertical ledger has no tail at any count.\n     3. Comparison. Five prices in one column are read by running an eye down a single\n        edge; in a 3-up grid the same five sit at three x-positions across two rows of\n        unequal height. The section exists to be compared.\n\n   HOME is authority for structure, classes and tokens. It is not authority for a\n   composition this system elsewhere defines differently. Same precedent as `.hm-scrim`\n   and `stats`. *\/\n@media (min-width: 760px) {\n  .et-l--post .shoot-list {\n    grid-template-columns: 1fr;\n    gap: 0;\n  }\n  .et-l--post .shoot-row {\n    padding: 22px 24px;\n    align-items: center;\n  }\n  .et-l--post .shoot-row__meta {\n    margin-top: 6px;\n  }\n  .et-l--post .shoot-row__right {\n    grid-column: 2;\n    grid-row: 1 \/ span 2;\n    margin-top: 0;\n    justify-content: space-between;\n    width: auto;\n  }\n  .et-l--post .shoot-row__price {\n    font-size: var(--t-numeral-size);\n  }\n}\n.et-l--post .shoot-row__name {\n  font-weight: 600 !important;\n}\n.et-l--post .shoot-list br {\n  display:none;\n}\n\n.et-l--post .price-tabs {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 0;\n  border: 1px solid var(--accent);\n  margin-top: 28px;\n}\n.et-l--post .price-tab {\n  appearance: none;\n  background: none;\n  border: 0;\n  cursor: pointer;\n  padding: 15px 10px;\n  min-height: 56px;\n  color: var(--ink);\n  font-family: var(--font-body);\n  font-size: var(--t-ui-size);\n  font-weight: 600;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 3px;\n  line-height: 1.2;\n  transition: background .3s, color .3s;\n}\n.et-l--post .price-tab small {\n  font-size: var(--t-micro-size);\n  font-weight: 500;\n  letter-spacing: 0.04em;\n  text-transform: none;\n  opacity: 0.62;\n}\n.et-l--post .price-tab:first-child {\n  border-right: 1px solid var(--accent);\n}\n.et-l--post .price-tab[aria-selected=\"true\"] {\n  background: var(--ivory-deep);\n  color: var(--ink);\n  box-shadow: inset 0 -2px 0 var(--ink);\n}\n.et-l--post .price-tab[aria-selected=\"true\"] small {\n  opacity: 0.75;\n}\n.et-l--post .price-panel {\n  display: none;\n  padding-top: 28px;\n}\n.et-l--post .price-panel[data-active] {\n  display: block;\n}\n.et-l--post .price-panel[hidden] {\n  display: none !important;\n}\n.et-l--post .rent-head {\n  display: flex;\n  align-items: baseline;\n  justify-content: space-between;\n  gap: 12px;\n  flex-wrap: wrap;\n}\n.et-l--post .rent-head h3 {\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: var(--t-h3-size);\n  line-height: var(--t-h3-lh);\n}\n.et-l--post .rent-head__from {\n  font-family: var(--font-body);\n  font-size: var(--t-ui-size);\n  font-weight: 600;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  color: var(--accent);\n}\n.et-l--post .rent-note {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  color: var(--graphite);\n  margin: 6px 0 0;\n  line-height: 1.55;\n}\n.et-l--post .rent-note a {\n  color: var(--ink);\n  border-bottom: 1px solid var(--accent);\n}\n.et-l--post .rate-tiles {\n  display: grid;\n  grid-template-columns: repeat(2,1fr);\n  gap: 10px;\n  margin-top: 20px;\n}\n.et-l--post .rate-tile {\n  border: 1px solid var(--line);\n  background: var(--warm-white);\n  padding: 40px 16px 18px;\n  position: relative;\n}\n.et-l--post a.rate-tile {\n  text-decoration: none;\n  color: inherit;\n  cursor: pointer;\n  transition: border-color .2s, transform .2s;\n}\n.et-l--post a.rate-tile:hover {\n  border-color: var(--accent);\n  transform: translateY(-1px);\n}\n.et-l--post .rate-tile--feat {\n  border-color: var(--accent);\n  border-width: 1.5px;\n}\n.et-l--post .rate-tile__h {\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 600;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: var(--graphite);\n}\n.et-l--post .rate-tile__p {\n  font-family: var(--font-body);\n  font-weight: 600;\n  letter-spacing: -0.015em;\n  font-size: var(--t-numeral-size);\n  line-height: 1;\n  margin-top: 8px;\n  color: #000000;\n}\n.et-l--post .rate-tile__we {\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 500;\n  color: var(--graphite);\n  margin-top: 5px;\n}\n.et-l--post .rate-tile__flag {\n  position: absolute;\n  top: 10px;\n  right: 10px;\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 600;\n  letter-spacing: 0.1em;\n  text-transform: uppercase;\n  color: var(--ink);\n  background: var(--ivory-deep);\n  border: 1px solid var(--line);\n  padding: 4px 6px;\n  line-height: 1.2;\n}\n.et-l--post .rent-foot {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 12px 18px;\n  align-items: center;\n  justify-content: space-between;\n  margin-top: 20px;\n}\n.et-l--post .rent-foot__note {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  color: var(--graphite);\n}\n.et-l--post .rent-foot__note strong {\n  color: var(--ink);\n  font-weight: 600;\n}\n@media (min-width: 760px) {\n  .et-l--post .rate-tiles {\n    grid-template-columns: repeat(4,minmax(0,1fr));\n  }\n}\n\n\/* The Rates page needs both day categories on the same duration row. These\n   semantic table cells reuse the ledger's type, spacing and hairline; the\n   existing single-amount package rows above are unchanged. *\/\n.et-l--post .shoot-list [data-price-comparison] table {\n  width: 100%;\n  border-collapse: collapse;\n  table-layout: fixed;\n  color: var(--ink);\n  font-family: var(--font-body);\n  background: transparent;\n}\n.et-l--post .shoot-list [data-price-comparison] caption,\n.et-l--post .shoot-list > [data-price-group] > h3 {\n  margin: 0 0 16px;\n  padding: 0;\n  font-family: var(--font-display);\n  font-size: var(--t-h3-size);\n  font-weight: 600;\n  line-height: var(--t-h3-lh);\n  text-align: left;\n  color: var(--ink);\n}\n.et-l--post .shoot-list [data-price-comparison] th,\n.et-l--post .shoot-list [data-price-comparison] td {\n  padding: 16px 8px;\n  border: 0;\n  border-bottom: 1px solid var(--line);\n  text-align: right;\n  font-size: var(--t-lead-size);\n  font-weight: 500;\n  line-height: 1.4;\n  font-variant-numeric: tabular-nums;\n}\n.et-l--post .shoot-list [data-price-comparison] th:first-child {\n  text-align: left;\n  padding-left: 0;\n}\n.et-l--post .shoot-list [data-price-comparison] tr > :last-child {\n  padding-right: 0;\n}\n.et-l--post .shoot-list [data-price-comparison] thead th {\n  font-size: var(--t-meta-size);\n  font-weight: 600;\n}\n.et-l--post .shoot-list [data-price-comparison] > p,\n.et-l--post .shoot-list > [data-price-group] > p {\n  font-family: var(--font-body);\n  font-size: var(--t-lead-size);\n  line-height: 1.6;\n  color: var(--graphite);\n  margin: 16px 0;\n}\n.et-l--post .shoot-list > [data-price-group] {\n  margin-top: var(--s-8);\n}\n\n\/* The HOME picker occupies the full component width. *\/\n.et-l--post .shoot-list:has(> .price-tabs) {\n  display: block;\n}\n.et-l--post .price-tabs:not([data-cc-price-ready]) {\n  display: none;\n}\n.et-l--post .bk-section:not(:has(.price-tabs[data-cc-price-ready])) .price-panel {\n  display: block;\n}\n.et-l--post .price-panel .shoot-list {\n  grid-template-columns: 1fr;\n}\n.et-l--post .price-panel .shoot-row {\n  grid-template-columns: minmax(0, 1fr) auto;\n}\n.et-l--post .price-panel .shoot-row__right {\n  grid-column: 2;\n  grid-row: 1 \/ span 2;\n  margin-top: 0;\n}\n\/* Contextual two-package lists keep their existing explanatory opening. *\/\n.et-l--post [data-price-measure=\"compact\"] .bk-h2:empty { display: none; }\n.et-l--post [data-price-measure=\"compact\"] .bk-lead { text-align: left; margin-left: 0; }\n.et-l--post [data-price-measure=\"compact\"] .pk-note { text-align: left; font-size: var(--t-meta-size); line-height: 1.55; }\n.et-l--post [data-price-measure=\"compact\"] .shoot-row { grid-template-columns: minmax(0, 1fr) auto; }\n.et-l--post [data-price-measure=\"compact\"] .shoot-row__right { grid-column: 2; grid-row: 1 \/ span 2; margin-top: 0; }\n\n\/* prose.css \u2014 the long-form body band.\n   \u26a0 Ruling C2 addition; see the SYSTEM.md additions table. Read with suspicion.\n\n   REBUILT 2026-09-14 after the owner rejected v1: \"what a private studio actually\n   charges section? like what is this? boring, text heavy and even poorly designed and\n   formatted.\" Correct on all three counts, and the cause was measurable rather than\n   a matter of taste.\n\n   v1 set body copy at .bk-lead's values \u2014 15px \/ 1.6 \/ --graphite. That is a LEAD\n   measure, meant for one introductory sentence, and it was being asked to carry whole\n   articles. Measured on the live editorial pages, the site's real body copy is:\n\n       .bp-body p        18px \/ line-height 1.75 \/ #1c1a17\n       .bp-body          max-width 752px, centred, clamp(38px, 5vw, 64px) top padding\n       .bp-body .bp-lead 'Bodoni Moda' clamp(21px, 2.6vw, 27px) \/ 1.4 \/ weight 500\n       .bp-body h3       'Bodoni Moda' 600 clamp(20px, 2.6vw, 25px), margin 1.5em 0 .4em\n       .bp-body img      width 100%, margin 1.6em 0\n\n   Three points of difference from v1, all of them the reason it read as a wall:\n     1. 18px at 1.75, not 15px at 1.6. Three points of size and 0.15 of leading is the\n        difference between an article and a caption.\n     2. A SERIF LEAD paragraph. The live pages open long-form with Bodoni at ~27px; v1\n        opened with the same 15px grey as everything else, so nothing announced a start.\n     3. INLINE IMAGERY. One live guide section carries 14 .bp-postimg images. v1 had a\n        figure slot of exactly zero. PRODUCT.md design principle 2 is \"Let the space\n        sell\" \u2014 a prose band with no photograph is the one place that principle was\n        ignored completely.\n\n   THREE THINGS DELIBERATELY NOT LIFTED, because the live editorial CSS violates this\n   project's own anti-references while getting the type right:\n     * `blockquote { border-left: 3px solid var(--taupe) }` \u2014 a side-stripe border, an\n       absolute ban. Replaced below with an indent and the serif face, which is how the\n       quote earns emphasis without a coloured rule.\n     * `border-radius: 8px` on images and tables \u2014 the rounded-card treatment the owner\n       reacted to on the bp- twins. Squared to 0, matching --btn-radius.\n     * `--taupe` on link borders and ::marker \u2014 clay is hover\/active only (One Accent\n       Rule). Links take --ink; the marker takes the body colour.\n\n   ONE TOKEN DECISION, recorded: the live body colour is #1c1a17 and the system token\n   --ink is #141210. Rather than admit a FOURTH near-black (the system already carries\n   #000000, #0B0A09 and #141210), this uses var(--ink). The visible difference is under\n   one perceptual step; a fourth black is a permanent maintenance cost.\n\n   2026-09-15 refinement: the historical serif-lead choice above is superseded.\n   Explanatory introductions use the shared Montserrat lead role; Bodoni remains\n   for headings and pull quotes. The reading column shares its heading's left axis. *\/\n\n.et-l--post .bk-prose {\n  max-width: 752px;\n  margin: 0;\n  padding: clamp(20px, 3vw, 30px) 0 0;\n}\n\n\/* Full-bleed variant, for a band carrying a table or a wide figure. *\/\n.et-l--post .bk-prose--wide {\n  max-width: none;\n}\n\n\/* The explanatory lead uses the shared lead role.\n\n   Written `p.bk-prose__lead`, not `.bk-prose__lead`, ON PURPOSE. The body rule below\n   is `.et-l--post .bk-prose p` \u2014 specificity (0,2,1) \u2014 and a bare class on the lead is\n   (0,2,0), so the body rule WINS and the lead silently renders as ordinary body copy.\n   That is exactly what shipped in the first render of this rebuild: the serif lead was\n   in the markup, in the stylesheet, and invisible. A class that loses to its own\n   component's element selector is not a style, it is a comment. *\/\n.et-l--post .bk-prose p.bk-prose__lead {\n  font-family: var(--font-body);\n  font-size: var(--t-lead-size);\n  line-height: var(--t-lead-lh);\n  font-weight: 500;\n  color: var(--ink);\n  margin: 0 0 1em;\n  text-wrap: pretty;\n}\n\n.et-l--post .bk-prose p,\n.et-l--post .bk-prose li {\n  font-family: var(--font-body);\n  font-size: 18px;\n  font-weight: 400;\n  line-height: 1.75;\n  color: var(--ink);\n}\n\n.et-l--post .bk-prose p {\n  margin: 0 0 1.25em;\n  text-wrap: pretty;\n}\n\n.et-l--post .bk-prose p:last-child {\n  margin-bottom: 0;\n}\n\n.et-l--post .bk-prose h3 {\n  font-family: var(--font-display);\n  font-weight: 600;\n  font-size: clamp(20px, 2.6vw, 25px);\n  line-height: 1.2;\n  letter-spacing: -0.01em;\n  color: var(--ink);\n  margin: 1.5em 0 0.4em;\n  text-wrap: balance;\n}\n\n.et-l--post .bk-prose h3:first-child {\n  margin-top: 0;\n}\n\n.et-l--post .bk-prose ul {\n  margin: 0 0 1.3em;\n  padding-left: 1.25em;\n  list-style: disc;\n}\n\n.et-l--post .bk-prose li {\n  margin: 0 0 0.55em;\n}\n\n.et-l--post .bk-prose strong,\n.et-l--post .bk-prose b {\n  color: var(--ink);\n  font-weight: 700;\n}\n\n.et-l--post .bk-prose a {\n  color: var(--ink);\n  text-decoration: none;\n  border-bottom: 1.5px solid var(--ink);\n  padding-bottom: 1px;\n}\n\n.et-l--post .bk-prose a:hover {\n  border-bottom-color: var(--accent);\n}\n\n\/* Inline imagery. The thing v1 was missing entirely. Square, full measure, and it\n   breaks the column rather than sitting beside it \u2014 the live pages do the same. *\/\n.et-l--post .bk-prose figure {\n  margin: 1.6em 0;\n}\n\n.et-l--post .bk-prose img {\n  width: 100%;\n  height: auto;\n  display: block;\n  border-radius: 0;\n}\n\n.et-l--post .bk-prose figcaption {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  color: var(--graphite);\n  margin-top: 8px;\n}\n\n\/* The pull quote, WITHOUT the side stripe. Emphasis comes from the display face and\n   the indent, which is what the rest of this system uses for emphasis anywhere else. *\/\n.et-l--post .bk-prose blockquote {\n  margin: 1.7em 0;\n  padding: 0 0 0 1.3em;\n  font-family: var(--font-display);\n  font-size: clamp(20px, 2.4vw, 23px);\n  line-height: 1.35;\n  font-style: italic;\n  color: var(--ink);\n}\n\n\/* 14 of the 73 measured prose sections carry no heading at all. Rendering an empty\n   <h2> would ship an axe \"empty-heading\" violation and a phantom line-box. *\/\n.et-l--post [data-screen-label=\"prose\"] .bk-h2:empty {\n  display: none;\n}\n\n\/* reviews.css -- HOME-like Google review card carousel.\n   Current HOME renders Trustindex review cards: white cards on the section ground,\n   a compact name\/source header, gold stars, a Google mark, and horizontal controls.\n   The cc_system component keeps the existing typed review figures and restores that\n   composition without embedding a third-party widget or fabricating review content. *\/\n\n\/* Josefin targets #reviews h2 with an important mobile size intended for its\n   product-review widget. HOME's review heading keeps the shared section scale. *\/\n.et-l--post #reviews .bk-h2 {\n  font-size: clamp(28px, 6vw, 46px) !important;\n}\n\n.et-l--post .rev-grid {\n  position: relative;\n  margin-top: clamp(22px, 3vw, 30px);\n}\n\n.et-l--post .rev-grid > [role=\"list\"] {\n  display: grid;\n  grid-auto-flow: column;\n  grid-auto-columns: minmax(310px, 1fr);\n  gap: 18px;\n  overflow-x: auto;\n  scroll-snap-type: x mandatory;\n  scroll-behavior: smooth;\n  padding: 0 0 26px;\n  scrollbar-width: thin;\n  scrollbar-color: rgba(20, 18, 16, 0.28) rgba(20, 18, 16, 0.14);\n}\n\n.et-l--post .rev-grid > [role=\"list\"]::-webkit-scrollbar {\n  height: 4px;\n}\n\n.et-l--post .rev-grid > [role=\"list\"]::-webkit-scrollbar-track {\n  background: rgba(20, 18, 16, 0.14);\n}\n\n.et-l--post .rev-grid > [role=\"list\"]::-webkit-scrollbar-thumb {\n  background: rgba(20, 18, 16, 0.36);\n}\n\n@media (min-width: 920px) {\n  .et-l--post .rev-grid > [role=\"list\"] {\n    grid-auto-columns: calc((100% - 36px) \/ 2.5);\n  }\n}\n\n.et-l--post .rev {\n  position: relative;\n  scroll-snap-align: start;\n  min-height: 232px;\n  margin: 0;\n  padding: 24px 22px 22px;\n  border: 1px solid rgba(20, 18, 16, 0.14);\n  background: #fff;\n  box-shadow: 0 10px 18px rgba(20, 18, 16, 0.08);\n  display: flex;\n  flex-direction: column;\n}\n\n.et-l--post .rev::before {\n  content: \"\";\n  position: absolute;\n  top: 24px;\n  right: 22px;\n  width: 20px;\n  height: 20px;\n  background: url(\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\") center \/ contain no-repeat;\n}\n\n.et-l--post .rev blockquote,\n.et-l--post [data-screen-label=\"reviews\"] .rev blockquote {\n  order: 2;\n  margin: 0;\n  padding: 0 34px 0 0;\n  border: 0;\n  font-family: var(--font-body);\n  font-size: 15px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--graphite);\n}\n\n.et-l--post #reviews .rev blockquote {\n  font-family: var(--font-body);\n  font-size: 15px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--graphite);\n}\n\n.et-l--post .rev blockquote::before,\n.et-l--post #reviews .rev blockquote::before {\n  content: \"\u2605\u2605\u2605\u2605\u2605\";\n  display: block;\n  margin: 9px 0 9px;\n  color: #f5ad00;\n  font-size: clamp(20px, 2.6vw, 25px);\n  line-height: 1;\n  letter-spacing: 1px;\n}\n\n.et-l--post .rev blockquote::after {\n  content: \"\u201c\";\n  position: absolute;\n  right: 22px;\n  bottom: 14px;\n  font-family: Georgia, serif;\n  font-size: clamp(34px, 9vw, 60px);\n  line-height: 0.8;\n  color: rgba(20, 18, 16, 0.48);\n}\n\n.et-l--post .rev figcaption,\n.et-l--post [data-screen-label=\"reviews\"] .rev figcaption {\n  order: 1;\n  padding-right: 44px;\n  font-family: var(--font-body);\n  font-size: 14px;\n  font-weight: 800;\n  line-height: 1.16;\n  letter-spacing: 0.08em;\n  color: var(--ink);\n  text-transform: none;\n}\n\n.et-l--post .rev figcaption span {\n  display: block;\n  margin-top: 4px;\n  font-size: 10px;\n  font-weight: 700;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  color: var(--graphite);\n}\n\n\n.et-l--post [data-screen-label=\"reviews\"] .rev blockquote[data-review-collapsed=\"true\"] {\n  max-height: 128px;\n  overflow: hidden;\n}\n\n.et-l--post [data-screen-label=\"reviews\"] .rev blockquote[data-review-collapsed=\"false\"] {\n  max-height: none;\n  overflow: visible;\n}\n\n.et-l--post .rev [data-review-toggle] {\n  order: 3;\n  align-self: flex-start;\n  min-width: 44px;\n  min-height: 44px;\n  margin: 6px 0 0;\n  padding: 0 0 2px;\n  border: 0;\n  border-bottom: 1px solid currentColor;\n  display: inline-flex;\n  align-items: center;\n  background: transparent;\n  color: var(--ink);\n  font-family: var(--font-body);\n  font-size: 15px;\n  font-weight: 800;\n  letter-spacing: 0.12em;\n  line-height: 1.2;\n  text-transform: uppercase;\n  cursor: pointer;\n  touch-action: manipulation;\n}\n\n.et-l--post .rev [data-review-toggle]:focus-visible {\n  outline: 2px solid var(--ink);\n  outline-offset: 3px;\n}\n\n.et-l--post .rev-grid > button {\n  position: absolute;\n  top: 50%;\n  z-index: 2;\n  width: 44px;\n  height: 44px;\n  padding: 0;\n  border: 1px solid rgba(20, 18, 16, 0.28);\n  border-radius: 50%;\n  display: none;\n  background: #fff;\n  color: var(--ink);\n  font: 400 clamp(20px, 2.6vw, 25px)\/40px Georgia, serif;\n  cursor: pointer;\n  transform: translateY(-50%);\n}\n\n.et-l--post .rev-grid[data-reviews-overflow] > button {\n  display: block;\n}\n\n.et-l--post .rev-grid > button:first-of-type {\n  left: -22px;\n}\n\n.et-l--post .rev-grid > button:last-of-type {\n  right: -22px;\n}\n\n.et-l--post .rev-grid > button:disabled {\n  opacity: 0.35;\n  cursor: default;\n}\n\n.et-l--post .rev-grid > button:focus-visible,\n.et-l--post .rev-grid > [role=\"list\"]:focus-visible {\n  outline: 2px solid var(--ink);\n  outline-offset: 3px;\n}\n\n\n.et-l--post .rev-grid + p {\n  margin: clamp(8px, 1.5vw, 14px) 0 0;\n  font-family: var(--font-body);\n  font-size: 15px;\n  font-weight: 700;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n}\n\n.et-l--post .rev-grid + p a {\n  border-bottom: 1px solid currentColor;\n}\n\n.et-l--post .rev-grid + p a:focus-visible {\n  outline: 2px solid var(--ink);\n  outline-offset: 3px;\n}\n\n@media (max-width: 700px) {\n  .et-l--post .rev-grid > [role=\"list\"] {\n    grid-auto-columns: 100%;\n  }\n\n}\n\n.et-l--post [data-screen-label=\"reviews\"] .container-bk > p:empty { display: none; }\n.et-l--post [data-screen-label=\"reviews\"] .rev-grid[hidden] { display: none !important; }\n.et-l--post [data-screen-label=\"reviews\"] .cc-live-feed--reviews { margin-top: 18px; }\n\n\/* Trustindex emits the populated widget with an inline loading state. On cached\n   WordPress renders its initializer can fail to remove that state, leaving real\n   review cards in the DOM at opacity:0 and height:0. The plugin stylesheet already\n   owns the carousel layout; this only restores the visible state of populated markup. *\/\n.et-l--post .cc-live-feed--reviews .ti-widget[data-trustindex-widget].cc-live-feed--ready {\n  opacity: 1 !important;\n  height: auto !important;\n  overflow: visible !important;\n}\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post .rev-grid > [role=\"list\"] { scroll-behavior: auto; }\n}\n\n\/* Keep both carousel controls inside the viewport, clear of review text. *\/\n.et-l--post .rev-grid { padding-bottom: 56px; }\n.et-l--post .rev-grid > button { top: auto; bottom: 0; transform: none; }\n.et-l--post .rev-grid > button:first-of-type { left: auto; right: 54px; }\n.et-l--post .rev-grid > button:last-of-type { right: 0; }\n@media (max-width: 359px) {\n  .et-l--post .rev-grid > [role=\"list\"] { grid-auto-columns: 90%; }\n}\n\n\/* The section's edges are derived (`proof` role, spacing.py). Trustindex ends its\n   widget with `.ti-controls-line { margin-bottom: 20px }` inside a container with\n   `margin-bottom: 15px`; both collapse out of the widget and added 20px of blank space\n   under every review carousel (measured 2026-09-24). The widget's last row now ends\n   on the section's content edge. *\/\n.et-l--post .cc-live-feed--reviews .ti-widget-container,\n.et-l--post .cc-live-feed--reviews .ti-controls-line { margin-bottom: 0 !important; }\n\n\/* room.css \u2014 a single-room feature card with an embedded tour-video facade\n   in place of a photo, extracted from reference\/home.css. Every selector\n   scoped to .et-l--post per the project's CSS-specificity rule.\n\n   Composition note: HOME's own live page uses .cc-tourvid standalone (no\n   .space-feat wrapper) for its studio-tour section (offset ~52192,\n   <section class=\"bk-section bk-section--tight\" id=\"space\">...<div\n   class=\"cc-tourvid\">...<\/div>). .space-feat (offset ~85394) is HOME's own\n   media+body feature-card layout, used elsewhere for a room\/amenity card\n   with a photo in .space-feat__media. This component combines the two real\n   HOME class families deliberately: .space-feat \/ .space-feat--solo for the\n   card shell (media column + text column, single-card variant), with\n   .cc-tourvid's video facade dropped into the .space-feat__media slot\n   instead of a photo. No class is invented; both families already ship on\n   HOME. *\/\n\n\/* .space-feat \/ .space-feat--solo \u2014 the card shell. Two declarations for\n   .space-feat: mobile-default single column (offset ~85394) and a desktop\n   2-column split (offset ~106656, inside @media (min-width:760px)) \u2014 both\n   transcribed, additive by breakpoint, no conflict. .space-feat--solo has\n   exactly one declaration (offset ~85351, inside @media (max-width:600px),\n   !important) \u2014 it only forces 1fr on narrow viewports; at desktop width\n   the plain .space-feat 2-column media+text split still applies since\n   --solo carries no desktop override of its own. *\/\n.et-l--post .space-feat {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 18px;\n  margin-top: 28px;\n}\n\n\/* .space-feat__media \u2014 the media column. Two declarations: base aspect-\n   ratio 4\/3 (offset ~85394) and a desktop aspect-ratio:auto (offset\n   ~106656) that lets the video facade's own 16\/9 ratio govern instead. *\/\n\/* 16\/9 at every width, 2026-09-14. HOME ships 4\/3 with a desktop `auto`; that is two\n   ratios in a slot `direction.json` declares as one (\"room_poster\": \"16:9\"), and it\n   rendered 1.333 at 390 and a content-sized 1.645 at 1440 -- the declared ratio at\n   neither. The `auto` existed so the video facade's own 16\/9 could govern, which is\n   an argument for 16\/9 being the slot's real ratio rather than for leaving it\n   unstated. Recorded Divergence from HOME, same basis as `.hm-scrim` and `price`. *\/\n.et-l--post .space-feat__media {\n  position: relative;\n  overflow: visible;\n}\n\/* .space-feat__media img \/ :hover img \u2014 HOME's own declarations for a\n   photo in this slot. Kept verbatim even though this component fills the\n   slot with .cc-tourvid instead of an <img>, so the class still behaves\n   correctly if a page ever swaps in a plain photo here. *\/\n.et-l--post .space-feat__media img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform 1s cubic-bezier(.2,.7,.3,1);\n}\n.et-l--post .space-feat__media:hover img {\n  transform: scale(1.04);\n}\n\n\/* .space-feat__body \u2014 the text column. One declaration each for the\n   container, its h3 and its p (offset ~85394). This component uses the\n   h2 and body placeholders as plain text inside a bare p, so only the container and\n   p rules are load-bearing; h3 is kept for parity with HOME's own shape\n   in case a future page author nests a heading here too. *\/\n.et-l--post .space-feat__body {\n  padding: clamp(24px, 5vw, 34px);\n  background: var(--warm-white);\n  border: 1px solid var(--line);\n}\n\/* Supporting copy is optional. When the heading and video already explain the\n   section, an empty slot must not render as a blank bordered panel. *\/\n.et-l--post .space-feat__body:empty {\n  display: none;\n}\n.et-l--post .space-feat__body h3 {\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: clamp(24px,4.6vw,34px);\n  line-height: 1.05;\n  margin: 0 0 12px;\n  font-weight: 600;\n}\n.et-l--post .space-feat__body p {\n  font-size: var(--t-body-size);\n  margin: 0 0 16px;\n  text-wrap: pretty;\n  font-weight: 500;\n  color: var(--graphite);\n  line-height: 1.6;\n}\n.et-l--post .space-feat__body ul,\n.et-l--post .space-feat__body .amen {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 11px 24px;\n  list-style: none;\n  padding: 20px 0 0;\n  margin: 18px 0 0;\n  border-top: 1px solid var(--line);\n}\n.et-l--post .space-feat__body li {\n  position: relative;\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  line-height: 1.4;\n  color: var(--ink);\n  padding: 0 0 0 22px;\n}\n.et-l--post .space-feat__body li::before {\n  content: \"\u2713\";\n  position: absolute;\n  left: 0;\n  top: 0;\n}\n.et-l--post .space-feat__media .cc-tourvid { margin-top: 0; }\n.et-l--post .space-feat__body [data-cc-video-link] {\n  margin-top: 16px;\n  font-size: var(--t-meta-size);\n}\n.et-l--post .space-feat__body [data-cc-video-link] {\n  color: var(--ink);\n  border-bottom: 1px solid var(--accent);\n}\n\n\/* .cc-tourvid \u2014 the video facade wrapper. HOME ships THREE declarations\n   for this exact bare selector (confirmed by enumerating every literal\n   \".cc-tourvid\" occurrence in reference\/home.css, not just the first\n   match): a mobile-default full-bleed breakout (offset ~55643, unscoped\n   in the source \u2014 .et-l--post prefix added here per the project rule),\n   a desktop cap to 760px inside @media (min-width:760px) (offset ~55688,\n   also unscoped in the source), and an additive margin-top (offset\n   ~85372, already scoped in the source). No !important on any of the\n   three, and the two base\/media declarations touch disjoint breakpoints\n   (mobile default vs. min-width:760px) so there is no real conflict to\n   resolve \u2014 all three combine. Full-bleed-mobile \/ capped-desktop is a\n   deliberate, documented HOME pattern (project memory:\n   \"full-bleed MOBILE-ONLY, desktop capped 760px\"). *\/\n.et-l--post .cc-tourvid {\n  position: relative;\n  left: 50%;\n  right: 50%;\n  width: 100vw;\n  max-width: 100vw;\n  margin-left: -50vw;\n  margin-right: -50vw;\n  overflow: hidden;\n  background: var(--black);\n  line-height: 0;\n  margin-top: 28px;\n}\n@media (min-width: 760px) {\n  .et-l--post .cc-tourvid {\n    position: relative;\n    left: auto;\n    right: auto;\n    width: 100%;\n    max-width: 760px;\n    margin-left: 0;\n    margin-right: auto;\n  }\n}\n\n\/* .cc-yt-facade \/ .cc-yt-play \u2014 the click-to-play thumbnail and its play\n   glyph, always scoped as descendants of .cc-tourvid, one declaration each\n   (offset ~55655-56941). Unscoped in the source (bare \".cc-tourvid\n   .cc-yt-facade\", etc.) \u2014 .et-l--post prefix added per the project rule. *\/\n.et-l--post .cc-tourvid .cc-yt-facade {\n  position: relative;\n  display: block;\n  width: 100%;\n  aspect-ratio: 16\/9;\n  background: var(--black);\n  border: 0;\n  cursor: pointer;\n  overflow: hidden;\n}\n.et-l--post .cc-tourvid .cc-yt-facade img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  display: block;\n  border: 0;\n  margin: 0;\n}\n.et-l--post .cc-tourvid .cc-yt-facade iframe {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n  display: block;\n}\n.et-l--post .cc-tourvid .cc-yt-play {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  width: 74px;\n  height: 52px;\n  background: rgba(0,0,0,.72);\n  pointer-events: none;\n  transition: background .25s cubic-bezier(.22,1,.36,1);\n}\n.et-l--post .cc-tourvid .cc-yt-play::after {\n  content: \"\";\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-40%, -50%);\n  border: solid transparent;\n  border-width: 11px 0 11px 19px;\n  border-left-color: #fff;\n}\n.et-l--post .cc-tourvid .cc-yt-facade:hover .cc-yt-play,\n.et-l--post .cc-tourvid .cc-yt-facade:focus-visible .cc-yt-play {\n  background: #8D8175;\n}\n.et-l--post .cc-tourvid .cc-yt-facade:focus-visible {\n  outline: 2px solid #8D8175;\n  outline-offset: -4px;\n}\n\n.et-l--post .space-feat .cc-yt-facade {\n  padding: 0;\n}\n.et-l--post .space-feat div.cc-yt-facade {\n  cursor: default;\n}\n\n.et-l--post .cc-tourvid button.cc-yt-facade { padding: 0; border: 0; cursor: pointer; }\n\n\/* Walkthrough variant: one full-width video after the introduction owns the specs. *\/\n.et-l--post [data-room-layout=\"walkthrough\"] .space-feat { grid-template-columns: 1fr; gap: 24px; margin-top: 20px; }\n.et-l--post [data-room-layout=\"walkthrough\"] .space-feat__body { order: -1; padding: 0; border: 0; background: transparent; max-width: 70ch; }\n.et-l--post [data-room-layout=\"walkthrough\"] .space-feat__body p { margin: 0; }\n.et-l--post [data-room-layout=\"walkthrough\"] .cc-tourvid { margin-top: 0; max-width: none; }\n\n\/* specacc.css \u2014 HOME's specs\/amenities accordion (.specacc), extracted\n   verbatim from reference\/home.css (offset ~98712-100200, one contiguous\n   block). Every selector scoped to .et-l--post per the project's\n   CSS-specificity rule. Exactly one declaration found for each selector\n   below (enumerated every literal occurrence in reference\/home.css, not\n   just the first match) \u2014 no cascade conflicts, except .specacc__list's\n   own column count, which is additive by breakpoint (see below).\n\n   Fix round 1: .specacc__body ships max-height:0 with no companion CSS\n   rule that expands it for [aria-expanded=\"true\"] because the expand\n   happens in JS, not CSS \u2014 confirmed inline in scratchpad\/home.html\n   (comment \"spec accordion (Amenities & Equipment)\"), the same file\n   already mined for .cc-tourvid\/.gal-tabs. specacc.html now carries that\n   exact script (click toggle, initial-state pass, resize handler),\n   brace-doubled for str.format() the same way room.html\/gallery.html\n   are. *\/\n.et-l--post .specacc {\n  border-top: 1px solid var(--line);\n  margin-top: 28px;\n}\n.et-l--post .specacc__item {\n  border-bottom: 1px solid var(--line);\n}\n.et-l--post .specacc__head {\n  width: 100%;\n  background: none;\n  border: 0;\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 16px;\n  padding: 22px 2px;\n  text-align: left;\n  color: inherit;\n}\n.et-l--post .specacc__head h3 {\n  margin: 0;\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: clamp(20px, 4.6vw, 27px);\n  line-height: 1.08;\n}\n.et-l--post .specacc__head .meta {\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 600;\n  letter-spacing: 0.12em;\n  text-transform: uppercase;\n  color: var(--graphite);\n  margin-top: 5px;\n}\n.et-l--post .specacc__icon {\n  position: relative;\n  width: 17px;\n  height: 17px;\n  flex: 0 0 auto;\n}\n.et-l--post .specacc__icon::before,\n.et-l--post .specacc__icon::after {\n  content: \"\";\n  position: absolute;\n  background: var(--accent);\n  transition: transform .35s cubic-bezier(.2,.7,.3,1);\n}\n.et-l--post .specacc__icon::before {\n  top: 50%;\n  left: 0;\n  right: 0;\n  height: 1.5px;\n  transform: translateY(-50%);\n}\n.et-l--post .specacc__icon::after {\n  left: 50%;\n  top: 0;\n  bottom: 0;\n  width: 1.5px;\n  transform: translateX(-50%);\n}\n\/* FIX 5: aria-expanded lives on .specacc__head (the button that is actually\n   focused and clicked), not on the wrapping .specacc__item div \u2014 see\n   specacc.html's script. *\/\n.et-l--post .specacc__head[aria-expanded=\"true\"] .specacc__icon::after {\n  transform: translateX(-50%) scaleY(0);\n}\n.et-l--post .specacc__body {\n  overflow: hidden;\n  max-height: none;\n  transition: max-height .45s cubic-bezier(.4,0,.2,1);\n}\n\/* .specacc__list \u2014 mobile-default 1 column; desktop widens to 2 (offset\n   ~106656, inside @media (min-width:760px)), plus a desktop-only border\n   restored on the 2nd item once it moves into its own row \u2014 additive by\n   breakpoint, not a conflict. *\/\n.et-l--post .specacc__list {\n  list-style: none;\n  margin: 0;\n  padding: 2px 2px 24px;\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 0;\n}\n@media (min-width: 760px) {\n  .et-l--post .specacc__list {\n    grid-template-columns: 1fr 1fr;\n    gap: 0 32px;\n  }\n  .et-l--post .specacc__list li:nth-child(2) {\n    border-top: 1px solid var(--line);\n  }\n}\n.et-l--post .specacc__list li {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  line-height: 1.4;\n  color: var(--ink);\n  padding: 10px 0;\n  border-top: 1px solid var(--line);\n  display: flex;\n  gap: 11px;\n  align-items: flex-start;\n}\n.et-l--post .specacc__list li:first-child,\n.et-l--post .specacc__list li:nth-child(2) {\n  border-top: 0;\n}\n.et-l--post .specacc__list li svg {\n  width: 14px;\n  height: 14px;\n  color: var(--accent);\n  flex: 0 0 auto;\n  margin-top: 3px;\n}\n\n\/* Section edges are derived (`content` role, spacing.py) like every other section;\n   the compact 36px \/ 24px override was retired with the spacing conditions, 2026-09-24. *\/\n\n\/* HOME's value grid, restored by owner direction on 2026-09-16.\n   Lift: tools\/cc_system\/lift.py --classes stats stat stat__n stat__l.\n   Duplicate winners: desktop .stats uses four columns; .stat__n uses weight 600.\n   Same-day production at 390\/1440 confirms the warm-white cells and Bodoni figures.\n   The label uses the existing 11px micro role: a 0.5px readability refinement.\n   Label line-height is captured explicitly from HOME's inherited Divi values so\n   the canonical body scale does not change the card heights. *\/\n\n.et-l--post [data-screen-label=\"stats\"] .intro-wrap {\n  text-align: left;\n  max-width: none;\n  margin: 0;\n}\n\n.et-l--post [data-screen-label=\"stats\"] .intro-wrap .bk-h2 {\n  font-size: clamp(28px,6vw,46px);\n  line-height: 1.04;\n  letter-spacing: -0.01em;\n}\n\n.et-l--post [data-screen-label=\"stats\"] .intro-wrap .bk-lead {\n  margin-left: 0;\n  margin-right: 0;\n  font-size: 16px;\n}\n\n.et-l--post .stats {\n  display: grid;\n  grid-template-columns: repeat(2,1fr);\n  gap: 1px;\n  background: var(--line);\n  border: 1px solid var(--line);\n  margin-top: 34px;\n}\n\n.et-l--post .stat {\n  background: var(--warm-white);\n  padding: 24px 14px;\n  text-align: center;\n}\n\n.et-l--post .stat__n {\n  font-family: var(--font-display);\n  font-weight: 600 !important;\n  font-size: clamp(30px,7vw,46px);\n  line-height: 1;\n  letter-spacing: -0.01em;\n  color: #000000;\n}\n\n.et-l--post .stat__l {\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 600;\n  line-height: 21.6px;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n  color: var(--graphite);\n  margin-top: 8px;\n}\n\n@media (min-width: 760px) {\n  .et-l--post .stats {\n    grid-template-columns: repeat(4,minmax(0,1fr));\n  }\n}\n\n@media (min-width: 768px) {\n  .et-l--post .stat__l {\n    line-height: 25.2px;\n  }\n}\n\n.et-l--post .stats br {\n  display: none;\n}\n\n\/* Owner notes: left-aligned introduction; retain HOME\u2019s four value cards. *\/\n@media (min-width: 920px) {\n  .et-l--post [data-screen-label=\"stats\"] .intro-wrap {\n    display: grid;\n    grid-template-columns: 1.1fr 1fr;\n    gap: 64px;\n    align-items: end;\n  }\n  .et-l--post [data-screen-label=\"stats\"] .intro-wrap .bk-lead { margin: 0; }\n}\n\n\/* steps.css \u2014 HOME's numbered how-it-works list (.steps), extracted\n   verbatim from reference\/home.css (offset ~103950-104200). Every\n   selector scoped to .et-l--post per the project's CSS-specificity rule.\n   Exactly one declaration found for each selector below (enumerated\n   every literal occurrence in reference\/home.css, not just the first\n   match) \u2014 no cascade conflicts, except .steps's own column count,\n   which is additive by breakpoint (see below).\n\n   HOME declares `counter-reset: step` on .steps but ships no matching\n   `counter-increment` \/ `content: counter(step)` rule anywhere in\n   reference\/home.css (confirmed by search) \u2014 the reset is vestigial in\n   HOME's own CSS. This component does not rely on it; the number in\n   each .step__n is supplied as literal text by the caller, inside the\n   items slot, matching how HOME's own font-only styling of .step__n\n   (no ::before\/content rule) implies the number is markup, not\n   CSS-generated. *\/\n.et-l--post .steps {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 12px;\n  margin-top: 28px;\n  counter-reset: step;\n}\n@media (min-width: 760px) {\n  .et-l--post .steps {\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n  }\n}\n.et-l--post .step {\n  border: 1px solid var(--line);\n  background: var(--warm-white);\n  padding: 26px 22px;\n  position: relative;\n}\n\/* .step__n \u2014 FIX 3 (Task 10): HOME's own value here (a large, low-opacity\n   ghost numeral) is exactly the \"01\/02\/03 numbered section marker\" DESIGN.md\n   line 169 explicitly bans, and this owner has a documented history of\n   rejecting that scaffold on sight. Two independent reviewers flagged it on\n   this page. The h3 verbs already carry the sequence (Pick Your Option ->\n   Record Your Episode -> Get Your Files), reinforced by plain DOM\/grid\n   order, so the numeral is redundant, not informative \u2014 removed outright\n   rather than restyled into a different decorative marker (a bullet, an\n   icon, a badge would all just be the same scaffold in a new shape).\n   Content authoring is a separate pass, so the manifest's own item markup\n   still supplies a literal \"1\"\/\"2\"\/\"3\" text node here; this rule is the\n   system-level guarantee that it never renders as ghost-numeral scaffolding\n   again, on this page or any future one built from this component. *\/\n.et-l--post .step__n {\n  display: none;\n}\n.et-l--post .step h3 {\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: clamp(19px, 4vw, 23px);\n  line-height: 1.1;\n  margin: 8px 0 6px;\n}\n.et-l--post .step p {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  color: var(--graphite);\n  line-height: 1.5;\n  margin: 0;\n}\n\/* The ledger stacks on mobile; give the description its own readable line gap.\n   Target the paragraph so hierarchy.css's heading margin reset cannot erase it. *\/\n@media (max-width: 759px) {\n  .et-l--post .step h3 + p {\n    margin-top: var(--s-2);\n  }\n}\n\n\/* Shared booking bar. The zero-height sticky anchor sits at the dynamic\n   viewport edge without adding document height. Its surface rises above that\n   anchor, avoiding WebKit's faulty `position:fixed; bottom:0` path while\n   keeping the approved safe-area padding and visibility behavior. The script\n   moves the anchor directly before #page-container so Divi transforms and\n   overflow cannot become its sticky containing block. *\/\n.stickybar {\n  position: sticky;\n  top: 100vh;\n  top: 100dvh;\n  width: 100%;\n  height: 0;\n  z-index: 999999;\n  pointer-events: none;\n}\n.stickybar__surface {\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: #FCF8F0;\n  border-top: 1px solid rgba(20,18,16,.18);\n  padding: 11px clamp(16px, 4vw, 22px);\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 14px;\n  transform: translateY(120%);\n  visibility: hidden;\n  pointer-events: none;\n  transition: transform var(--motion-base) var(--motion-ease);\n  box-shadow: 0 -8px 24px rgba(11,10,9,.12);\n}\n\n\/* Browser tabs already reserve their own bottom safe area. Adding the inset\n   again creates an empty ivory band under the CTA on iPhone Safari and Chrome.\n   Installed\/fullscreen web apps do draw into that area, so only those display\n   modes receive the device inset. *\/\n@media (display-mode: standalone), (display-mode: fullscreen) {\n  .stickybar__surface {\n    padding-bottom: max(11px, env(safe-area-inset-bottom));\n  }\n}\n.stickybar.show .stickybar__surface {\n  transform: translateY(0);\n  visibility: visible;\n  pointer-events: auto;\n}\n.stickybar__price b {\n  font-family: Montserrat, sans-serif;\n  font-size: 14px;\n  font-weight: 700;\n  display: block;\n  line-height: 1.2;\n  color: #000;\n}\n\/* FIX 6 (Task 10): measured 41px tall at 390px \u2014 below the 44px minimum tap\n   target. Vertical padding raised 13px -> 15px (44 -> 45px with the 1px\n   border top+bottom already counted); horizontal padding, font-size and\n   weight are untouched so the button's visual weight doesn't change. *\/\n.stickybar .btn--bar {\n  background: #000;\n  color: #FCF8F0;\n  border: 1px solid #000;\n  border-radius: 0;\n  font-family: Montserrat, sans-serif;\n  font-weight: 600;\n  font-size: var(--t-meta-size);\n  letter-spacing: .06em;\n  text-transform: uppercase;\n  text-decoration: none;\n  padding: 12px clamp(14px, 4vw, 26px);\n  min-height: 44px;\n  min-width: min-content;\n  box-sizing: border-box;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  white-space: normal;\n  overflow-wrap: normal;\n  line-height: 1.25;\n  transition: background .2s, border-color .2s;\n}\n.stickybar .btn--bar:hover {\n  background: #8D8175;\n  border-color: #8D8175;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .stickybar__surface, .stickybar .btn--bar {\n    transition: none;\n  }\n}\n\n\/* Phase 2 recovery: the actual provider is the opening view, without a second poster. *\/\n.et-l--post .cc-tour-section { padding-top: var(--s-5); }\n.et-l--post .cc-tour-section__lead { max-width: 62ch; }\n.et-l--post .cc-tour-section__lead:empty,\n.et-l--post .cc-tour-section .bk-h2:empty { display: none; }\n.et-l--post .cc-tour { margin-top: var(--s-5); }\n.et-l--post .cc-tour-section .bk-h2:empty + .cc-tour-section__lead:empty + .cc-tour { margin-top: 0; }\n\/* 2026-09-28: the frame sits on the section's own ground while the provider loads; ivory-deep read as a\n   tinted box (A22, 62% of the section). *\/\n.et-l--post .cc-tour__stage { position: relative; width: 100%; aspect-ratio: 16 \/ 9; min-height: 360px; max-height: 680px; background: transparent; }\n.et-l--post .cc-tour__frame,\n.et-l--post .cc-tour__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }\n.et-l--post .cc-tour__footer { display: none; }\n.et-l--post .cc-tour[data-tour-state=\"unavailable\"] .cc-tour__footer { display: flex; justify-content: flex-end; padding-top: var(--s-3); }\n.et-l--post .cc-tour__status { position: absolute; inset: 0; z-index: 1; display: grid; justify-items: center; align-content: center; gap: var(--s-4); margin: 0; padding: var(--s-6); background: transparent; color: var(--ink); font-size: var(--t-body-size); line-height: 1.6; text-align: center; }\n.et-l--post .cc-tour[data-tour-state=\"loading\"] .cc-tour__status::before { content: \"\"; display: block; width: 28px; height: 28px; border: 2px solid var(--line); border-top-color: var(--ink); border-radius: 50%; animation: cc-tour-loading 1s linear infinite; }\n.et-l--post .cc-tour[data-tour-state=\"loaded\"] .cc-tour__status { display: none; }\n@keyframes cc-tour-loading { to { transform: rotate(360deg); } }\n@media (prefers-reduced-motion: reduce) { .et-l--post .cc-tour[data-tour-state=\"loading\"] .cc-tour__status::before { animation: none; } }\n.et-l--post .cc-tour__status:empty { display: none; }\n.et-l--post .cc-tour [hidden] { display: none; }\n.et-l--post .cc-tour__start { display: none; }\n@media (max-width: 600px) {\n  .et-l--post .cc-tour__stage { width: 100vw; margin-left: calc((100% - 100vw) \/ 2); aspect-ratio: auto; height: var(--cc-tour-h, 480px); }\n  \/* Phones: one tap starts Matterport IN the page (play=1, >= 60% of the screen); its own play button leaves it. *\/\n  .et-l--post .cc-tour__start { display: block; position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: pointer; }\n  .et-l--post .cc-tour__start:focus-visible { outline: 2px solid #8D8175; outline-offset: -4px; }\n}\n\n\/* trust.css \u2014 HOME's post-hero trust bar (.bk-trust), extracted verbatim\n   from reference\/home.css (offset ~82191). Every selector scoped to\n   .et-l--post per the project's CSS-specificity rule.\n\n   F6 fix is baked in by omission: this is HOME's real, plain 3-up trust\n   row \u2014 no bordered grid box, no .ccmat__facts. Do not add either back. *\/\n.et-l--post .bk-trust {\n  background: var(--ivory-deep);\n  border-top: 1px solid var(--line);\n  border-bottom: 1px solid var(--line);\n}\n.et-l--post .bk-trust__row {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  gap: 1px;\n  background: var(--line);\n}\n.et-l--post .bk-trust__item {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 6px;\n  text-align: center;\n  padding: 18px 8px;\n  background: var(--ivory-deep);\n}\n\/* Fix round 1, Important: the reviews item is an <a>, and there is no\n   sitewide anchor reset in base.css\/tokens.css to fall back on. Without\n   these two rules (reference\/home.css offset ~78885) it renders default\n   browser blue-and-underlined \u2014 a palette violation (ivory + black only,\n   taupe on hover) on every page that ships the trust bar. *\/\n.et-l--post a.bk-trust__item {\n  color: inherit;\n  text-decoration: none;\n}\n.et-l--post a.bk-trust__item:hover .t {\n  text-decoration: underline;\n  text-underline-offset: 3px;\n}\n\/* .ic \u2014 the inline SVG icon on non-review items. *\/\n.et-l--post .bk-trust__item .ic {\n  width: 20px;\n  height: 20px;\n  flex: 0 0 auto;\n  color: var(--accent);\n}\n.et-l--post .bk-trust__item .stars {\n  color: var(--accent);\n  letter-spacing: 1.5px;\n  font-size: 14px;\n  line-height: 1;\n}\n\/* .txt is a structural wrapper only \u2014 HOME has no CSS rule for `.txt`\n   itself (Ruling C3); `.t` \/ `.s` below are styled as descendants of\n   `.bk-trust__item`, which still matches through the `.txt` wrapper. *\/\n.et-l--post .bk-trust__item .t {\n  font-family: var(--font-body);\n  font-size: var(--t-ui-size);\n  font-weight: 600;\n  letter-spacing: 0.01em;\n  line-height: 1.25;\n}\n.et-l--post .bk-trust__item .s {\n  font-family: var(--font-body);\n  font-size: var(--t-micro-size);\n  font-weight: 500;\n  color: var(--graphite);\n  line-height: 1.2;\n}\n\n\/* usecases.css \u2014 HOME's \"One Studio, Every Kind of Shoot\" card grid\n   (.who-grid \/ .who-card). Body extracted verbatim from reference\/home.css by\n   tools\/cc_system\/lift.py; every selector scoped to .et-l--post per the\n   project's CSS-specificity rule. Do not hand-edit the rules below \u2014 re-run\n   lift.py --classes who-grid who-card who-card__scrim who-card__txt.\n\n   Why this component exists: measured 2026-09-13 across all 54 EN pages with\n   tools\/cc_system\/vocabulary.py, the use-cases slot renders on HOME and on 11\n   of the 14 service pages, and the system had NO component for it. Every page\n   that wanted one hand-authored its own. That is exactly the D7 defect the\n   system exists to retire.\n\n   Conflicts, enumerated (lift.py reports every duplicate selector, not just the\n   first match):\n     .who-grid            2x \u2014 base (1 column) + @media min-760 (3 columns).\n                               Additive by breakpoint; no conflict.\n     .who-card__txt h3    3x \u2014 base sets font-weight:500; a later compound rule\n                               wins with font-weight:600 !important; a third\n                               sets color:var(--ivory), which .who-card__txt\n                               already supplies by inheritance. All three are\n                               transcribed, because the rule that actually wins\n                               live is the one that must be recorded.\n   No other selector is declared twice. *\/\n.et-l--post .who-grid {\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 12px;\n  margin-top: 28px;\n}\n.et-l--post .who-card {\n  position: relative;\n  overflow: hidden;\n  aspect-ratio: 3\/2;   \/* declared in direction.json; see its _corrections *\/\n  display: flex;\n  align-items: flex-end;\n}\n\/* Portrait work keeps a portrait frame; measured metadata comes from images.py. *\/\n.et-l--post .who-card:has(img[data-frame-orientation=\"portrait\"]) {\n  aspect-ratio: 4\/5;\n}\n.et-l--post .who-card img {\n  position: absolute;\n  inset: 0;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: transform .9s cubic-bezier(.2,.7,.3,1);\n}\n.et-l--post .who-card:hover img {\n  transform: scale(1.05);\n}\n.et-l--post .who-card__scrim {\n  position: absolute;\n  inset: 0;\n  \/* A SCRIM IS A PERCENTAGE AND A PHOTOGRAPH IS NOT. Retuned 2026-09-14.\n     The 30% start was modelled, never measured against the cards it ships on. The\n     title sits at roughly 61-73% of card height, where the old ramp had reached only\n     alpha ~0.34-0.48 -- so legibility was a property of which photograph landed in\n     the slot. Card 3 (\"Photographers & Video\") draws the brightest frame in the\n     library and measured 5.14:1 at 390; a half-pixel type change elsewhere in this\n     same file moved the text block down a few pixels and it fell to 4.31:1, under\n     the 4.5 floor. A component one rounding error from failing has no margin.\n     The flat zone now starts at 45% and terminates at 0.88, so the title band sits in\n     the opaque part of the ramp rather than on its slope, and the result stops\n     depending on which frame is chosen. Guarded by\n     tests\/test_contrast_over_photos.py, which measures composited pixels.\n     2026-09-25, owner: \"lighten the overlay\" so the photographs read. A percentage\n     ramp cannot do that safely, because the text block's height varies with the copy.\n     \/tour\/'s two-line titles at 844x390 rose into the thin part of the old ramp and\n     measured 1.0-2.6:1 under the 3.0 floor. So the card keeps only a light tone, and\n     the dark fade moves onto .who-card__txt, where it grows with the text it protects.\n     Measured over HOME + \/tour\/, EN\/ES, at all four test viewports: titles >= 6.70:1,\n     descriptions >= 7.14:1. *\/\n  background: linear-gradient(180deg,\n              rgba(11,10,9,0) 50%,\n              rgba(11,10,9,0.20) 100%);\n}\n.et-l--post .who-card__txt {\n  position: relative;\n  z-index: 1;\n  width: 100%;\n  box-sizing: border-box;\n  \/* 2026-10-02, owner: \"Lower the dark overlay ... It needs to see more picture and less words.\" The fade now starts\n     24px above the title instead of 48px (0.64 there) and peaks at 0.72 instead of 0.85; the title is the system h3 role (20-25px,\n     was 22-28px) and the description sits directly under it. Contrast is re-measured by\n     tests\/test_contrast_over_photos.py on composited pixels. *\/\n  padding: var(--s-5) var(--s-4) var(--s-4);\n  color: var(--ivory);\n  background: linear-gradient(180deg,\n              rgba(11,10,9,0) 0,\n              rgba(11,10,9,0.64) var(--s-5),\n              rgba(11,10,9,0.72) 100%);\n}\n\/* 2026-10-04, owner: \"remove the subtext ... just leave the title and lower the overlay even more\" (HOME, then \/tour\/).\n   Without the line the dark band is only as tall as the title, and it peaks at 0.65 instead of 0.72. These titles\n   are 20-25px at weight 600, so their floor is 4.5:1. Measured on composited pixels over every HOME and \/tour\/ card\n   (EN\/ES, four viewports): 0.60 failed (4.31:1, HOME card 1 at 844x390), 0.63 cleared by 6%, 0.65 is kept for\n   headroom. Cards that still carry a line keep the 0.72 fade. Guarded by tests\/test_contrast_over_photos.py. *\/\n.et-l--post .who-card__txt:not(:has(p)) {\n  background: linear-gradient(180deg,\n              rgba(11,10,9,0) 0,\n              rgba(11,10,9,0.58) var(--s-5),\n              rgba(11,10,9,0.65) 100%);\n}\n.et-l--post .who-card__txt h3 {\n  font-family: var(--font-display);\n  font-weight: 500;\n  font-size: var(--t-h3-size);\n  line-height: 1.05;\n  margin: 0;\n  padding: 0;   \/* the theme pads every h3 10px at the bottom, inside this box *\/\n}\n.et-l--post .who-card__txt p {\n  font-family: var(--font-body);\n  font-size: var(--t-meta-size);\n  font-weight: 500;\n  opacity: 0.85;\n  margin: 0;\n  line-height: 1.4;\n}\n@media (min-width: 760px) {\n  .et-l--post .who-grid {\n    grid-template-columns: repeat(3,minmax(0,1fr));\n  }\n  \/* This one-sentence audience introduction belongs to the same horizontal\n     axis as the three cards. The global 56ch reading cap made it wrap in the\n     middle of an otherwise open desktop row. *\/\n  .et-l--post [data-screen-label=\"usecases\"] > .container-bk > .bk-lead {\n    max-width: none;\n    text-wrap: pretty;\n  }\n}\n.et-l--post .who-card__txt h3 {\n  font-weight: 600 !important;\n}\n.et-l--post .who-card__txt h3 {\n  color:var(--ivory);\n}\n.et-l--post .who-grid br {\n  display:none;\n}\n\n\/* OWNER-DIRECTED ADDITION, 2026-09-22 -- not a lifted HOME rule.\n   On a phone the three cards were a three-screen stack, so the second and third were\n   a scroll-depth bet. They become one swipeable row: each card 82% of the reading\n   column, so the next one peeks and the affordance is the layout rather than an\n   invented control. Snap points square a card up after a flick; the cards, their\n   scrim and their links are untouched, and desktop keeps HOME's 3-up grid. Keyboard\n   users reach every card by tabbing its link, which scrolls the row. *\/\n@media (max-width: 759px) {\n  .et-l--post .who-grid {\n    grid-template-columns: none;\n    grid-auto-flow: column;\n    grid-auto-columns: 82%;\n    gap: 10px;\n    overflow-x: auto;\n    overscroll-behavior-x: contain;\n    scroll-snap-type: x mandatory;\n    scrollbar-width: none;\n    -webkit-overflow-scrolling: touch;\n  }\n  .et-l--post .who-grid::-webkit-scrollbar {\n    display: none;\n  }\n  .et-l--post .who-grid > .who-card {\n    scroll-snap-align: start;\n  }\n}\n@media (max-width: 759px) and (prefers-reduced-motion: reduce) {\n  .et-l--post .who-grid {\n    scroll-behavior: auto;\n  }\n}\n\n\/* Phase 2 (owner 2026-09-28, rental LP): the value before the price. Round 5, after the owner\n   rejected staging v3 (\"cropping the set\"; \"included ... on the bottom of the sets\" on desktop;\n   spacing not following the system):\n   * every set photo sits in a frame at its NATIVE 3:2, so nothing is cropped (A20 measures it);\n   * HOME's heading rhythm is kept, not overridden: .bk-h2's own 10px + .bk-lead's own 12px, and\n     28px from the lead to the content, as in HOME's use-case section;\n   * phones: one wide lead photo, then two per row, then the inclusions (owner: mobile \"looks fine\");\n   * desktop: three equal columns; the inclusions take the sixth cell beside the last two photos,\n     so the section is one grid on one axis (A21) instead of a list hanging under it.\n   Spacing is HOME's own declarations or --s-* tokens only (tests\/test_new_component_spacing.py). *\/\n.et-l--post .cc-value__sets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-3); margin-top: 28px; }\n.et-l--post .cc-value__set { display: grid; align-content: start; gap: var(--s-2); margin: 0; padding: 0; }\n.et-l--post .cc-value__set:first-child { grid-column: 1 \/ -1; }\n.et-l--post .cc-value__media { aspect-ratio: 3 \/ 2; overflow: hidden; }\n.et-l--post .cc-value__media img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }\n.et-l--post .cc-value__cap { display: flex; align-items: flex-start; gap: var(--s-2); margin: 0; padding: 0; font: 500 14px\/1.4 var(--font-body); color: var(--ink); }\n.et-l--post .cc-value__cap .cc-intro-specs__icon { flex-shrink: 0; width: 20px; height: 20px; }\n.et-l--post .cc-value__group { margin-top: var(--s-6); }\n.et-l--post .cc-value__title { margin: 0 0 var(--s-3); font: 600 16px\/1.375 var(--font-body); color: var(--ink); }\n.et-l--post .cc-value__incl { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3) var(--s-4); }\n.et-l--post .cc-value__incl li { display: flex; align-items: baseline; gap: var(--s-2); margin: 0; padding: 0; font: 500 14px\/1.5 var(--font-body); color: var(--ink); }\n.et-l--post .cc-value__incl li::before { content: \"\"; flex-shrink: 0; width: 6px; height: 6px; background: var(--ink); transform: translateY(-2px); }\n\/* Desktop: one 3x2 grid -- five photos and the inclusions in the sixth cell. *\/\n@media (min-width: 900px) {\n  .et-l--post .cc-value__body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5) var(--s-3); margin-top: 28px; }\n  .et-l--post .cc-value__sets { display: contents; }\n  .et-l--post .cc-value__set:first-child { grid-column: auto; }\n  .et-l--post .cc-value__cap { font-size: 15px; }\n  .et-l--post .cc-value__group { margin-top: 0; }\n  .et-l--post .cc-value__incl { grid-template-columns: 1fr; gap: var(--s-3); }\n  .et-l--post .cc-value__incl li { font-size: 15px; }\n}\n\n\/* hierarchy.css \u2014 shared corrections and optional compatibility variants.\n   Loaded after component CSS and before states.css.\n\n   Owner correction 2026-09-16: canonical templates preserve HOME's heading\n   family and scale. They do not assign loud\/quiet classes. Composition follows\n   the page's purpose; a mandatory type ladder is not a design requirement.\n   The existing variant declarations below remain for explicit compatibility.\n   Their computed effect depends on the component and the complete cascade. *\/\n\n\/* Optional loud variant; never assigned by canonical templates. *\/\n.et-l--post .bk-section--loud {\n  padding-top: clamp(72px, 12vw, 148px);\n  padding-bottom: clamp(72px, 12vw, 148px);\n}\n\n\/* Legacy heading treatment. Keep its declarations stable for explicit users;\n   normal headings retain HOME's base.css scale. The rendered H1\/H2 relationship\n   is checked at 390 and 1440; a stylesheet clamp alone is not render evidence. *\/\n.et-l--post .bk-section--loud .bk-h2 {\n  font-size: clamp(40px, 6.5vw, 54px);\n  line-height: 1.0;\n  letter-spacing: -0.02em;\n  max-width: 16ch;\n}\n\n.et-l--post .bk-section--loud .bk-lead {\n  font-size: var(--t-lead-size);\n  max-width: 48ch;\n  margin-top: 18px;\n}\n\n\/* Optional quiet spacing; never required as a quota on a page. *\/\n.et-l--post .bk-section--quiet {\n  padding-top: clamp(34px, 5vw, 56px);\n  padding-bottom: clamp(34px, 5vw, 56px);\n}\n\n\/* Legacy quiet heading treatment; no forced ratio against HOME headings. *\/\n.et-l--post .bk-section--quiet .bk-h2 {\n  font-size: clamp(20px, 3vw, 26px);\n  line-height: 1.12;\n  letter-spacing: -0.005em;\n}\n\n\/* Existing phone-width compatibility declarations. *\/\n@media (max-width: 600px) {\n  .et-l--post .bk-section--loud .bk-h2 {\n    font-size: clamp(30px, 8.8vw, 34px);\n    max-width: none;\n  }\n  .et-l--post .bk-section--loud {\n    padding-top: clamp(44px, 9vw, 64px);\n    padding-bottom: clamp(44px, 9vw, 64px);\n  }\n}\n\n\/* Preserve HOME's value-grid and room-card surfaces. Owner direction 2026-09-16\n   supersedes the generic card-fill removal that changed these section designs. *\/\n.et-l--post .shoot-row,\n.et-l--post .step {\n  background: transparent;\n}\n\n\/* DESIGN.md reserves #000000 for brand ink and controls. Preserve the original\n   --accent\/--ash tokens and footer\/sticky declarations; the retired generic\n   pure-black ban must not override them. Section grounds are checked separately. *\/\n\n\/* Existing steps layout. HOME's cards, reviews and other compositions remain\n   governed by their components; generic repeated-layout bans are not authority\n   to redesign them. No automatic emphasis policy depends on this treatment. *\/\n\n\/* STEPS -> a hairline ledger. Three steps are a SEQUENCE, so they get the shape\n   this system already uses for ordered, scannable fact (price, stats): full-width\n   rows, one rule between each, title left and description right. The ordinal is\n   still `display:none` -- steps.css argues at length that the ghost numeral is the\n   banned 01\/02\/03 scaffold, and rank here comes from reading order and the rule,\n   which is what a ledger is for. *\/\n.et-l--post .steps {\n  gap: 0;\n}\n.et-l--post .step {\n  border: 0;\n  border-top: 1px solid var(--line);\n  padding: 20px 0;\n}\n.et-l--post .step:last-child {\n  border-bottom: 1px solid var(--line);\n}\n.et-l--post .step h3 {\n  margin: 0;\n}\n@media (min-width: 760px) {\n  .et-l--post .steps {\n    grid-template-columns: 1fr;\n  }\n  .et-l--post .step {\n    display: grid;\n    grid-template-columns: minmax(0, 24ch) minmax(0, 1fr);\n    gap: 4px 40px;\n    align-items: baseline;\n  }\n}\n\n\/* HOME review cards and use-case columns belong to their components.\n   The editorial quote promotion and asymmetric photo grid were rejected\n   on 2026-09-16; shared overrides must not replace those compositions. *\/\n\n\/* THE SYSTEM SETS ITS OWN BODY TYPEFACE. Added 2026-09-14.\n\n   `.et-l--post` is transcribed from HOME and sets background, font-weight and colour --\n   and no font-family. Only two rules in base.css name a face at all, both for specific\n   elements. So the container inherits whatever the host page provides, and MEASURED on\n   a build with no WordPress theme behind it, `.et-l--post` computes `font-family: Times`\n   and every paragraph in the system renders in it. The headings look right only because\n   `.bk-h2` and `.hm-hero__title` name the display face explicitly.\n\n   On the live site Divi's theme sets a body font, so this has never been visible -- the\n   theme was silently covering for the system. That is the same class of dependency as a\n   mock standing in for a page: it works until the thing underneath changes, and then it\n   fails somewhere nobody was looking. DESIGN.md says \"Montserrat for everything else\";\n   a design system that cannot produce its own body face on a blank page does not own its\n   typography, it borrows it.\n\n   Found by acceptance criterion A17, which reported `body=Times` on every local render\n   and was correct every time. Recorded Divergence from HOME, same basis as the others\n   in this file. *\/\n.et-l--post {\n  font-family: var(--font-body);\n  font-size: var(--t-body-size);\n  line-height: var(--t-body-lh);\n}\n\n\/* THE TRUST STRIP FITS ITS CONTENT. Found 2026-09-15 by looking at the page at 390\n   rather than at a gate: `repeat(3, 1fr)` against a manifest supplying TWO items left\n   a third of the band empty, directly under the hero, on the viewport carrying ~95% of\n   this site's traffic. Every check passed -- `three-equal-cards` needs three children\n   and this has two -- which is exactly the case the render gate exists for.\n\n   `grid-auto-flow: column` with `grid-auto-columns: 1fr` makes one equal track per\n   item, so the component lays out whatever it is given instead of assuming HOME's\n   three. A hardcoded column count in a system component is a content assumption\n   wearing a layout rule. *\/\n.et-l--post .bk-trust__row {\n  grid-template-columns: none;\n  grid-auto-flow: column;\n  grid-auto-columns: 1fr;\n}\n\n\/* THE LEDGER ROW STACKS AT PHONE WIDTH. Found 2026-09-15 by looking at the price\n   section at 390: the row is `1fr auto`, and `auto` sized the price column to 178px\n   against 359px of row, leaving the NAME 126px. \"Full-service session\" in Bodoni at\n   that measure breaks at the hyphen -- \"Full- \/ service \/ session\" -- a legal break\n   that reads as a typesetting accident in display type, on the viewport the owner\n   gates on.\n\n   The price string is the cause: \"$750 \u00b7 2 hours\" is wider than the name it is\n   competing with, so no ratio of fr units fixes it while `auto` wins. Stacking gives\n   the name the full measure and keeps the ledger reading as rows, which is the point\n   of the family. Above 600 the two-column ledger is unchanged. *\/\n@media (max-width: 600px) {\n  .et-l--post .shoot-row {\n    grid-template-columns: 1fr;\n    row-gap: 4px;\n  }\n  \/* The CHILD's explicit placement is what actually holds the two columns open.\n     `grid-template-columns: 1fr` alone changes nothing here: price.css places\n     `.shoot-row__right` at `grid-column: 2; grid-row: 1 \/ span 2`, so the browser\n     creates an IMPLICIT second column sized to the price and the name keeps its 126px.\n     The cascade was never the problem -- the browser confirmed this file's rule was\n     winning while the layout did not move.\n\n     And the placement that needed resetting already existed, in the wrong place:\n     price.css stacks the row inside `@media (min-width: 760px)`, so DESKTOP got the\n     roomy layout with a 28-34px price and MOBILE got the cramped two-column one. On a\n     site where ~95% of traffic is 390 wide, the responsive behaviour was inverted. *\/\n  .et-l--post .shoot-row__right {\n    grid-column: 1;\n    grid-row: auto;\n    margin-top: 12px;\n    justify-content: space-between;\n    width: 100%;\n  }\n}\n\n\/* THE CLOSING CTA PAIR MATCHES ITS OWN WIDTH AT PHONE SIZE. Measured 2026-09-15 at\n   390: the two stacked buttons render 343px and 236px inside a 359px measure -- a\n   107px difference, with a ragged right edge on the last thing the page asks anyone\n   to do. The wider one is near-full only because its label happens to be long; that\n   is an accident of copy, not a decision.\n\n   `btn--block` exists in SYSTEM_ADDITIONS for exactly this reason, recorded there as\n   \"a lone .btn after a full-width block ... strands far short of that block's own\n   right edge\". The same argument applies to a stacked PAIR, and more so: two buttons\n   of different widths read as unfinished in a way one narrow button does not.\n\n   Scoped to `.hm-close .stack-cta` so the hero's side-by-side pair -- which sits in a\n   row and is already balanced -- is untouched. Above 600 both size to their labels as\n   before. *\/\n@media (max-width: 600px) {\n  .et-l--post .hm-close .stack-cta .btn {\n    display: block;\n    width: 100%;\n    text-align: center;\n  }\n}\n\n\/* MEASURE, CAPPED AT DESKTOP. Measured 2026-09-15 at 1440: two body blocks ran past a\n   readable line length -- `.step p` at 884px and `.hm-map__addr` at 1180px, against the\n   65-75 characters this project's own design guidance names. Past roughly 75 the eye\n   loses its place on the return sweep. Neither gate in this system looks at measure.\n\n   The steps one was MINE: the ledger redesign above set `minmax(0, 24ch) minmax(0, 1fr)`\n   and `1fr` handed the description whatever the container had left. Same regression\n   shape as the sticky hover -- correct at the viewport I checked, wrong at the one I\n   did not.\n\n   THREE METRICS WERE WRONG BEFORE ONE WAS RIGHT, which is worth recording because the\n   first two each produced a confident number:\n     width \/ (fontSize * 0.5)   a `ch` is not half the font size; overstated by ~40%\n     characters \/ line count    the AVERAGE, not the longest line -- a 158-character\n                                paragraph over two lines averages 79 while its widest\n                                line holds 66, so it reported a defect that was fixed\n     widest line box \/ measured advance width     what the guideline is actually about\n   Counted that way: the widest line is now 561-584px, about 63-66 characters, and no\n   block at either viewport exceeds 75. *\/\n@media (min-width: 760px) {\n  .et-l--post .step {\n    grid-template-columns: minmax(0, 24ch) minmax(0, 58ch);\n  }\n}\n.et-l--post .hm-map__addr {\n  max-width: 54ch;\n}\n\n\/* THE HERO FITS A LANDSCAPE PHONE. Measured 2026-09-15 at 844x390: the hero renders\n   480px tall on a 390px screen and the CTA ends at 421 -- below the fold. Someone\n   holding their phone sideways sees the headline and no call to action.\n\n   The cause is the unconditional floor in HOME's `clamp(480px, 72svh, 800px)`. At 390\n   tall, 72svh is 281px, so the 480px floor wins and the band is taller than the\n   screen. The floor exists to stop the hero collapsing on short-but-wide viewports;\n   it is the same value that breaks them.\n\n   `min(480px, 88svh)` keeps the floor at 480 everywhere it fits and yields to the\n   viewport where it does not: 343px at 844x390, unchanged at 1440x900 (648) and at\n   390x844 (695, where HOME's own max-width:479px rule governs anyway).\n\n   Acceptance criterion A2 is exactly \"h1+cta above fold\" and would have caught this --\n   it only ever runs at 390x844 and 1440x900. A criterion is only as wide as the\n   viewports it is pointed at. Recorded Divergence from HOME. *\/\n@media (min-width: 480px) {\n  \/* SCOPED to where the base clamp actually governs. Unscoped, this rule is later and\n     equally specific, so it overrode HOME's own `@media (max-width: 479px)` rule --\n     `calc(100svh - 149px)`, which fills the screen minus the mobile header -- and took\n     portrait from 695px to 608px. That is a visible regression at the viewport\n     carrying ~95% of traffic, introduced by a fix for a viewport carrying very little.\n     Caught by measuring all four viewports after the change rather than only the one\n     that was broken. *\/\n  \/* 2026-10-02 (A25, owner: \"flickers\"): 100svh, the height home_fold.js always gave the hero once it ran.\n     The clamp painted 648px at 1440x900 and 343px at 844x390, then the script stretched it to the screen --\n     the same first-paint jump the phone rules caused. min-height still lets a short screen's hero grow to\n     its copy, so the landscape case above keeps its headline and CTA. *\/\n  .et-l--post .hm-hero {\n    min-height: 100svh;\n  }\n}\n\n\/* states.css -- interaction states for every interactive element in the system.\n   \u26a0 THIS FILE IS DESIGNED, NOT TRANSCRIBED. It and prose.css are the only two.\n   Loaded LAST by registry.system_css(), so it can correct a component's own :hover.\n\n   Why it exists: measured 2026-09-13 across the whole system, the ONLY interaction\n   state defined anywhere was :hover. Not one :focus, :focus-visible, :active or\n   :disabled rule existed on any of the five button variants, on the FAQ and spec\n   accordions, or on in-prose links. A keyboard user could not see where they were on\n   seven of fifteen audited pages (0 changed pixels on focus, negative-control\n   verified) -- WCAG 2.4.7 Level AA, failing live.\n\n   ------------------------------------------------------------------------------\n   THE FOCUS RING -- two candidates, both real, one active.\n   The owner picks from the RENDER, not from this comment (styleguide.html renders\n   both, on an ivory ground, on a toned ground, and over a photo hero).\n\n   CANDIDATE A -- \"halo\" (ACTIVE by default below)\n     outline: 2px solid var(--ivory); box-shadow: 0 0 0 5px var(--black);\n     Already shipping on four pages, measured at 17.49:1 on ivory and 16.00:1 on the\n     toned ground. Works over a photograph too, because the ivory inner edge separates\n     the black ring from dark image content. Costs a second shadow, which DESIGN.md's\n     Flat-Editorial Rule otherwise reserves.\n\n   CANDIDATE B -- \"offset rule\" (swap the two blocks below to activate)\n     outline: 3px solid var(--black); outline-offset: 3px;\n     No shadow, so the Flat-Editorial Rule stays intact, and it is one declaration.\n     Weaker over a photographic hero, where a black ring on dark image content loses\n     its edge -- which is exactly where the hero's own CTAs live.\n\n   Both clear 3:1 against every legal ground. :focus-visible, never :focus, so a mouse\n   click does not leave a ring behind -- that is what got focus styling deleted here\n   before, and deleting it is how the WCAG failure started.\n   ------------------------------------------------------------------------------ *\/\n\n\/* Shared halo includes future controls and the global chrome. *\/\n.et-l--post :is(a, button, input, select, textarea, [tabindex], [role=\"button\"]):focus-visible,\n#main-header :focus-visible,\n.stickybar .btn--bar:focus-visible {\n  outline: 2px solid var(--ivory);\n  outline-offset: 0;\n  box-shadow: 0 0 0 5px var(--black);\n}\n\n\/* Controls retain their geometry; hit areas do not rely on icon dimensions. *\/\n#main-header .mobile_menu_bar {\n  min-width: 44px;\n  min-height: 44px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  touch-action: manipulation;\n}\n#main-header:has(.mobile_nav.opened) .logo_container #logo,\n#main-header:has(.mobile_nav.opened) .logo_container #logo img {\n  filter: none !important;\n}\n.et-l--post .gal-tab {\n  min-width: 44px;\n  min-height: 44px;\n  touch-action: manipulation;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .et-l--post *,\n  .et-l--post *::before,\n  .et-l--post *::after,\n  #main-header,\n  #main-header *,\n  .stickybar,\n  .stickybar * {\n    animation: none !important;\n    transition-duration: 0s !important;\n    scroll-behavior: auto !important;\n  }\n}\n\n\/* A focus ring must never be clipped by an ancestor's overflow. .who-card sets\n   overflow:hidden for its image zoom, which would shear the ring off. *\/\n.et-l--post .who-card:focus-visible {\n  overflow: visible;\n}\n\n\/* ---- :active -------------------------------------------------------------\n   .btn:hover lifts the button 2px. Without an :active rule the button stays\n   lifted while being pressed, so a press reads as no feedback at all. Return it\n   to rest: the press is the only moment the control should sit flat. *\/\n.et-l--post .btn:active,\n.stickybar .btn--bar:active {\n  transform: translateY(0);\n  transition-duration: .05s;\n}\n\n\/* ---- :disabled -----------------------------------------------------------\n   Nothing in the system disables a control today, but the sticky bar and the\n   booking CTAs are the obvious future case, and an undefined disabled state\n   renders as a fully live-looking button that silently does nothing. *\/\n.et-l--post .btn:disabled,\n.et-l--post .btn[aria-disabled=\"true\"] {\n  opacity: 0.45;\n  cursor: not-allowed;\n  pointer-events: none;\n  transform: none;\n}\n\n\/* DESIGN.md: true-black labels on clay for primary hover and keyboard focus.\n   Full opacity preserves the measured 5.53:1 contrast. The shared halo above\n   remains the focus indicator; controls retain their position. *\/\n.et-l--post .btn--solid:not(:disabled):not([aria-disabled=\"true\"]):is(:hover, :focus-visible) {\n  background: #8D8175 !important;\n  border-color: #8D8175;\n  color: var(--accent) !important;\n  opacity: 1;\n  transform: none;\n}\n.stickybar .btn--bar:is(:hover, :focus-visible) {\n  background: #8D8175;\n  border-color: #8D8175;\n  color: var(--accent);\n}\n\n\/* ---- BLOCK-LEVEL CARD ANCHORS ------------------------------------------------\n   base.css carries HOME's rule `.et-l--post a { text-decoration: underline }`, which\n   is right for a bare link inside a sentence and wrong for every anchor that is a\n   CARD. .shoot-row, .who-card and .gal-tab are block elements that happen to be\n   anchors; inheriting a prose underline, they render with every line of their content\n   underlined -- the package name, the meta line and the price all struck through with\n   a rule.\n\n   Found 2026-09-14 by rendering the price ladder and looking at it. The tell that\n   someone hit this before and patched the symptom: trust.css already carries a\n   bespoke `a.bk-trust__item { text-decoration: none }` for exactly one component.\n   This fixes it at the root for the whole class of element, so the next card anchor\n   added does not need its own override.\n\n   Prose links are untouched: .bk-prose a sets its own border-bottom, and a bare <a>\n   in any other copy still underlines as HOME intends. *\/\n.et-l--post a.shoot-row,\n.et-l--post a.who-card,\n.et-l--post a.gal-tab,\n.et-l--post a.hm-close,\n.et-l--post a.stat {\n  text-decoration: none;\n}\n\n\n\/* ---- THE STICKY BAR IS NOT INSIDE .et-l--post -------------------------------\n   sticky.html ends with `document.body.appendChild(bar)`, so the bar is a direct child\n   of <body>. Every rule above that targets it therefore had to drop the .et-l--post\n   scope, and the focus-ring selector list had to gain it explicitly -- its anchor\n   carries class=\"btn--bar\", not .btn, so even an unscoped .btn rule would have missed.\n\n   This was found on 2026-09-14 by a review, not by me. The contrast correction directly\n   above it was written earlier the same day, carefully documented, and was DEAD CODE\n   from the moment it was committed: a rule that cannot match is worth exactly as much\n   as a comment. It is the same failure this repo's render gate exists to prevent --\n   asserting on a document that is not the page -- committed while fixing that class of\n   failure elsewhere.\n\n   The bar is the only control present on all 48 pages. Until now it had no focus\n   indicator at all. *\/\n\n\/* The global popup sits outside .et-l--post. Specificity must beat its own\n   later body stylesheet, so every control rule includes the existing card. *\/\n#cc10 .cc10-card .cc10-x {\n  width: 44px;\n  height: 44px;\n  min-width: 44px;\n  min-height: 44px;\n}\n#cc10 .cc10-card :is(button, input, a, [tabindex]):focus-visible {\n  outline: 2px solid var(--ivory, #F9F0E0);\n  outline-offset: 0;\n  box-shadow: 0 0 0 5px var(--black, #0B0A09);\n}\n@media (prefers-reduced-motion: reduce) {\n  #cc10 .cc10-card,\n  #cc10 .cc10-card *,\n  #cc10 .cc10-backdrop {\n    transition: none !important;\n    animation: none !important;\n    scroll-behavior: auto !important;\n  }\n}\n<\/style><script>\/* Enhance Divi's existing header. Divi remains the sole owner of click toggling\n   and slide animation; replacing its trigger would discard attached behavior. *\/\n(function () {\n  'use strict';\n\n  function enhanceHeader() {\n    var header = document.getElementById('main-header');\n    var pageHero = document.querySelector('.et-l--post [data-nav-context]');\n    var context = pageHero && pageHero.getAttribute('data-nav-context');\n    if (header && (context === 'light' || context === 'media')) {\n      header.setAttribute('data-cc-nav-context', context);\n    }\n    var nav = header && header.querySelector('.mobile_nav');\n    if (header) {\n      header.querySelectorAll('.wpml-ls-current-language > a').forEach(function (link) {\n        link.setAttribute('aria-current', 'page');\n      });\n    }\n    var trigger = nav && nav.querySelector('.mobile_menu_bar');\n    if (!trigger || trigger.dataset.ccNavEnhanced) return;\n    trigger.dataset.ccNavEnhanced = 'true';\n\n    var mobile = window.matchMedia('(max-width: 980px)');\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\n    var spanish = \/^es(?:-|$)\/i.test(document.documentElement.lang);\n    var nativeButton = trigger.tagName === 'BUTTON';\n    var spacePressed = false;\n    var lastHeaderFocus = null;\n    if (!nativeButton) trigger.setAttribute('role', 'button');\n    else trigger.type = 'button';\n\n    function menu() {\n      return nav.querySelector('.et_mobile_menu');\n    }\n\n    function isOpen() {\n      return nav.classList.contains('opened');\n    }\n\n    function sync() {\n      var panel = menu();\n      var expanded = mobile.matches && isOpen();\n      trigger.tabIndex = mobile.matches ? 0 : -1;\n      trigger.setAttribute('aria-expanded', String(expanded));\n      trigger.setAttribute('aria-label', spanish\n        ? (expanded ? 'Cerrar men\u00fa' : 'Abrir men\u00fa')\n        : (expanded ? 'Close menu' : 'Open menu'));\n      if (!panel) return;\n      if (!panel.id) panel.id = 'cc-header-mobile-menu';\n      trigger.setAttribute('aria-controls', panel.id);\n      \/\/ Keep closed links out of focus and the accessibility tree even during\n      \/\/ Divi's 500ms closing animation. Do not override its display\/height.\n      panel.inert = !expanded;\n      panel.setAttribute('aria-hidden', String(!expanded));\n      \/\/ Class observation runs after Divi schedules its slide. Finish only this\n      \/\/ panel's queue; never disable jQuery effects across the rest of the page.\n      if (reducedMotion.matches && typeof window.jQuery === 'function') {\n        window.jQuery(panel).stop(true, true);\n      }\n    }\n\n    function close() {\n      if (isOpen()) trigger.click();\n      sync();\n    }\n\n    if (!nativeButton) {\n      trigger.addEventListener('keydown', function (event) {\n        if (event.key === 'Enter' || event.key === ' ') {\n          event.preventDefault();\n          if (event.repeat) return;\n          if (event.key === 'Enter') trigger.click();\n          else spacePressed = true;\n        }\n      });\n      trigger.addEventListener('keyup', function (event) {\n        if (event.key !== ' ') return;\n        event.preventDefault();\n        if (spacePressed) trigger.click();\n        spacePressed = false;\n      });\n      trigger.addEventListener('blur', function () { spacePressed = false; });\n    }\n\n    document.addEventListener('keydown', function (event) {\n      if (event.key !== 'Escape' || !mobile.matches || !isOpen()) return;\n      event.preventDefault();\n      close();\n      trigger.focus({preventScroll: true});\n    });\n    document.addEventListener('pointerdown', function (event) {\n      if (mobile.matches && isOpen() && !header.contains(event.target)) close();\n    }, true);\n    document.addEventListener('focusin', function (event) {\n      lastHeaderFocus = header.contains(event.target) ? event.target : null;\n    });\n    window.addEventListener('resize', function () {\n      var panel = menu();\n      var active = document.activeElement;\n      if (mobile.matches && isOpen() && panel && panel.contains(active)) {\n        active.scrollIntoView({block: 'nearest', inline: 'nearest'});\n      }\n    });\n\n    mobile.addEventListener('change', function () {\n      var active = document.activeElement;\n      \/\/ A CSS breakpoint can hide the focused link before this event fires,\n      \/\/ making activeElement the body. Retain only a just-hidden header focus.\n      if (active === document.body && lastHeaderFocus &&\n          !lastHeaderFocus.getClientRects().length) active = lastHeaderFocus;\n      var activeInMobile = nav.contains(active);\n      var desktop = header.querySelector('#top-menu');\n      var activeInDesktop = desktop && desktop.contains(active);\n      var href = active && active.getAttribute('href');\n      close();\n      if (!mobile.matches && activeInMobile && desktop) {\n        var links = Array.from(desktop.querySelectorAll('a[href]'));\n        var next = links.find(function (link) {\n          return link.getAttribute('href') === href;\n        }) || links[0];\n        if (next) next.focus({preventScroll: true});\n      } else if (mobile.matches && activeInDesktop) {\n        trigger.focus({preventScroll: true});\n      }\n    });\n\n    \/\/ Divi may duplicate the desktop menu after this script has initialized.\n    \/\/ Observe both that insertion and Divi's authoritative open\/closed class.\n    new MutationObserver(sync).observe(nav, {\n      attributes: true, attributeFilter: ['class'], childList: true, subtree: true\n    });\n    reducedMotion.addEventListener('change', sync);\n    sync();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', enhanceHeader, {once: true});\n  } else {\n    enhanceHeader();\n  }\n})();\n\n\/* Complete cc10's existing modal behavior. Its original script continues to\n   own opening, closing, submission, success, copying, and analytics. *\/\n(function () {\n  'use strict';\n\n  function enhanceDialog() {\n    var root = document.getElementById('cc10');\n    var card = root && root.querySelector('.cc10-card');\n    if (!card || root.dataset.ccDialogEnhanced) return;\n    root.dataset.ccDialogEnhanced = 'true';\n    var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');\n    var video = root.querySelector('video');\n    var hadAutoplay = video && video.autoplay;\n    var field = root.querySelector('.cc10-field');\n    var email = root.querySelector('#cc10-email');\n\n    function isOpen() {\n      return root.hasAttribute('data-open') && root.getAttribute('aria-hidden') !== 'true';\n    }\n\n    function controls() {\n      return Array.from(card.querySelectorAll('a[href],button,input,select,textarea,[tabindex]'))\n        .filter(function (element) {\n          return element.tabIndex >= 0 && !element.disabled &&\n            !element.closest('[hidden],[aria-hidden=\"true\"],[inert]') &&\n            element.getClientRects().length && getComputedStyle(element).visibility !== 'hidden';\n        });\n    }\n\n    function syncVideo() {\n      if (!video) return;\n      var canAutoplay = isOpen() && !reducedMotion.matches && hadAutoplay;\n      video.autoplay = Boolean(canAutoplay);\n      if (!canAutoplay) video.pause();\n      else if (video.paused) video.play().catch(function () { \/* Browser may block autoplay. *\/ });\n    }\n\n    function syncState() {\n      root.inert = !isOpen();\n      if (isOpen() && !root.contains(document.activeElement)) {\n        card.focus({preventScroll: true});\n      }\n      syncVideo();\n    }\n\n    \/\/ The original trap already wraps the first\/last controls. It misses the\n    \/\/ initially focused tabindex=-1 card, so handle only that entry case.\n    document.addEventListener('keydown', function (event) {\n      if (event.key !== 'Tab' || !isOpen()) return;\n      var list = controls();\n      if (list.includes(document.activeElement)) return;\n      event.preventDefault();\n      var target = event.shiftKey ? list[list.length - 1] : list[0];\n      (target || card).focus({preventScroll: true});\n    }, true);\n    document.addEventListener('focusin', function (event) {\n      if (!isOpen() || root.contains(event.target)) return;\n      \/\/ The original legacy-copy path briefly selects an offscreen textarea.\n      \/\/ Let that synchronous operation finish before restoring modal focus.\n      queueMicrotask(function () {\n        if (isOpen() && !root.contains(document.activeElement)) card.focus({preventScroll: true});\n      });\n    });\n\n    if (field && email) {\n      var syncError = function () {\n        email.setAttribute('aria-invalid', String(field.classList.contains('is-bad')));\n      };\n      new MutationObserver(syncError).observe(field, {attributes: true, attributeFilter: ['class']});\n      syncError();\n    }\n    if (video) {\n      video.addEventListener('play', function () {\n        if (!isOpen() || reducedMotion.matches) video.pause();\n      });\n    }\n    reducedMotion.addEventListener('change', syncVideo);\n    new MutationObserver(syncState).observe(root, {\n      attributes: true, attributeFilter: ['data-open', 'aria-hidden']\n    });\n    syncState();\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', enhanceDialog, {once: true});\n  } else {\n    enhanceDialog();\n  }\n})();\n\n\/* Size a media hero to the first screen, less the trust strip below it while a page still has one\n   (owner 2026-09-30, Crown: the strip is retired under the system hero); short screens may grow for content. *\/\nfunction initHomeFold() {\n  document.querySelectorAll('.et-l--post .hm-hero').forEach(function (hero) {\n    if (hero.hasAttribute('data-fold-ready')) return;\n    var section = hero.closest('.et_pb_section');\n    var trust = section && section.nextElementSibling && section.nextElementSibling.querySelector('.bk-trust');\n    hero.setAttribute('data-fold-ready', '');\n    var content = hero.querySelector('.hm-hero__in');\n    var lastViewportWidth = window.visualViewport ? window.visualViewport.width : window.innerWidth;\n    function measure() {\n      var top = hero.getBoundingClientRect().top + window.scrollY;\n      var nav = document.getElementById('main-header');\n      var clearance = nav ? nav.getBoundingClientRect().height + 24 : 32;\n      var minimum = content.getBoundingClientRect().height + clearance;\n      var below = trust ? trust.getBoundingClientRect().height : 0;\n      var height = Math.max(minimum, window.innerHeight - top - below);\n      hero.style.setProperty('--cc-hero-fold', height + 'px');\n    }\n    function measureForWidthChange() {\n      var viewportWidth = window.visualViewport ? window.visualViewport.width : window.innerWidth;\n      if (Math.abs(viewportWidth - lastViewportWidth) < 1) return;\n      lastViewportWidth = viewportWidth;\n      measure();\n    }\n    var observer = new ResizeObserver(measure);\n    if (trust) observer.observe(trust);\n    observer.observe(content);\n    window.addEventListener('resize', measureForWidthChange, {passive: true});\n    document.fonts.ready.then(measure);\n    measure();\n  });\n}\nif (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initHomeFold, {once: true});\nelse initHomeFold();\n\n\n\/* Progressive enhancement: the photo-led option becomes a keyboard-operable guide. *\/\n(function () {\n  function init() {\n    document.querySelectorAll('[data-intro-tabs]').forEach(function (root, rootIndex) {\n      if (root.dataset.introReady) return;\n      root.dataset.introReady = 'true';\n      var details = Array.from(root.querySelectorAll('details'));\n      var nav = document.createElement('div');\n      var pricing = root.classList.contains('cc-intro-pricing');\n      \/* Owner 2026-09-22: the pricing guide uses HOME's own two-cell tab bar\n         (.price-tabs, uppercase label over a small subtitle) instead of the\n         underline tabs. price.css hides a .price-tabs until it is marked ready. *\/\n      nav.className = pricing ? 'price-tabs' : 'cc-intro-tabs'; nav.setAttribute('role', 'tablist');\n      if (pricing) nav.setAttribute('data-cc-price-ready', '');\n      nav.setAttribute('aria-label', document.documentElement.lang === 'es' ? (pricing ? 'Opciones de precios' : 'Gu\u00eda del estudio') : (pricing ? 'Pricing options' : 'Studio guide'));\n      var buttons = [], panels = [];\n      details.forEach(function (detail, index) {\n        var prefix = 'studio-guide-' + rootIndex + '-' + index;\n        var button = document.createElement('button'); button.type = 'button';\n        button.textContent = detail.querySelector('summary strong').textContent;\n        if (pricing) {\n          button.className = 'price-tab'; button.setAttribute('data-panel', prefix);\n          var subtitle = detail.querySelector('summary small');\n          if (subtitle && subtitle.textContent.trim()) {\n            var small = document.createElement('small'); small.textContent = subtitle.textContent.trim();\n            button.appendChild(small);\n          }\n        }\n        button.id = prefix + '-tab'; button.setAttribute('role', 'tab');\n        button.setAttribute('aria-controls', prefix + '-panel');\n        var panel = document.createElement('div'); panel.id = prefix + '-panel';\n        panel.className = 'cc-intro-tabpanel'; panel.setAttribute('role', 'tabpanel');\n        panel.setAttribute('aria-labelledby', button.id); panel.tabIndex = 0;\n        panel.appendChild(detail.querySelector('.cc-intro-detail__body'));\n        detail.replaceWith(panel); nav.appendChild(button); buttons.push(button); panels.push(panel);\n        button.addEventListener('click', function () { select(index); });\n        button.addEventListener('keydown', function (event) {\n          var target;\n          if (event.key === 'ArrowRight') target = (index + 1) % buttons.length;\n          if (event.key === 'ArrowLeft') target = (index - 1 + buttons.length) % buttons.length;\n          if (event.key === 'Home') target = 0;\n          if (event.key === 'End') target = buttons.length - 1;\n          if (target !== undefined) { event.preventDefault(); select(target); buttons[target].focus(); }\n        });\n      });\n      function select(index) {\n        buttons.forEach(function (button, i) {\n          button.setAttribute('aria-selected', String(i === index)); button.tabIndex = i === index ? 0 : -1;\n          panels[i].hidden = i !== index;\n        });\n      }\n      root.prepend(nav); select(0);\n      root._ccTabs = {nav: nav, buttons: buttons, select: select};\n    });\n  }\n  \/* Owner 2026-09-27 (rental LP): a link to \"#tab-<label>\" opens that tab, e.g. the hero's\n     \"Book a Photoshoot\" -> #tab-photoshoots. No other link on the site uses the prefix. *\/\n  \/* The site header is fixed; land the tab bar just under it rather than at a guessed offset,\n     so no line of the guide is left half-hidden behind it. *\/\n  function headerBottom() {\n    var el = document.elementFromPoint(window.innerWidth \/ 2, 1);\n    for (; el && el !== document.body; el = el.parentElement) {\n      var position = getComputedStyle(el).position;\n      if (position === 'fixed' || position === 'sticky') return Math.max(0, el.getBoundingClientRect().bottom);\n    }\n    return 0;\n  }\n  function slug(text) { return text.toLowerCase().replace(\/[^a-z0-9]+\/g, '-').replace(\/^-|-$\/g, ''); }\n  function openTab(hash) {\n    if (!\/^#tab-[a-z0-9-]+$\/.test(hash || '')) return false;\n    var key = hash.slice(5), hit = null;\n    document.querySelectorAll('[data-intro-tabs]').forEach(function (root) {\n      if (hit || !root._ccTabs) return;\n      root._ccTabs.buttons.forEach(function (button, index) {\n        if (!hit && slug(button.childNodes[0].textContent) === key) hit = {root: root, index: index, button: button};\n      });\n    });\n    if (!hit) return false;\n    var holder = hit.root.closest('details');\n    if (holder) holder.open = true;\n    hit.root._ccTabs.select(hit.index);\n    var smooth = !window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    var top = hit.root._ccTabs.nav.getBoundingClientRect().top + window.scrollY - headerBottom() - 12;\n    window.scrollTo({top: Math.max(0, top), behavior: smooth ? 'smooth' : 'auto'});\n    hit.button.focus({preventScroll: true});\n    return true;\n  }\n  document.addEventListener('click', function (event) {\n    var link = event.target.closest && event.target.closest('a[href^=\"#tab-\"]');\n    if (link && openTab(link.getAttribute('href'))) event.preventDefault();\n  });\n  function initAll() { init(); if (location.hash) openTab(location.hash); }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initAll, {once: true});\n  else initAll();\n})();\n\n(function () {\n  if (window.ccGalleryRuntimeReady) return;\n  window.ccGalleryRuntimeReady = true;\n\n  var spanish = (document.documentElement.lang || \"\").toLowerCase().indexOf(\"es\") === 0;\n  var labels = spanish ? {\n    viewer: \"Visor de im\u00e1genes de la galer\u00eda\",\n    open: \"Ampliar imagen\",\n    close: \"Cerrar visor de im\u00e1genes\",\n    previous: \"Imagen anterior\",\n    next: \"Imagen siguiente\",\n    of: \"de\"\n  } : {\n    viewer: \"Gallery image viewer\",\n    open: \"Expand image\",\n    close: \"Close image viewer\",\n    previous: \"Previous image\",\n    next: \"Next image\",\n    of: \"of\"\n  };\n\n  function imageUrl(image) {\n    return image.getAttribute(\"data-lazy-src\") ||\n      image.getAttribute(\"data-src\") || image.currentSrc || image.src;\n  }\n\n  function isImageLink(link) {\n    if (!link) return false;\n    var href = link.getAttribute(\"href\") || \"\";\n    return \/\\\/wp-content\\\/uploads\\\/\/i.test(href) ||\n      \/\\.(?:avif|gif|jpe?g|png|webp)(?:[?#].*)?$\/i.test(href);\n  }\n\n  function sourceUrl(item) {\n    return isImageLink(item.link) ? item.link.href : imageUrl(item.image);\n  }\n\n  function makeDialog(root) {\n    var dialog = document.createElement(\"dialog\");\n    dialog.className = \"gal-lightbox\";\n    dialog.setAttribute(\"aria-label\", labels.viewer);\n    dialog.innerHTML =\n      '<button type=\"button\" class=\"gal-lightbox__close\" aria-label=\"' + labels.close + '\">&times;<\/button>' +\n      '<div class=\"gal-lightbox__stage\">' +\n        '<button type=\"button\" class=\"gal-lightbox__nav gal-lightbox__prev\" aria-label=\"' + labels.previous + '\">\u2190<\/button>' +\n        '<figure><img alt=\"\" draggable=\"false\"><\/figure>' +\n        '<button type=\"button\" class=\"gal-lightbox__nav gal-lightbox__next\" aria-label=\"' + labels.next + '\">\u2192<\/button>' +\n        '<div class=\"gal-lightbox__status\" role=\"status\" aria-live=\"polite\"><\/div>' +\n      '<\/div>';\n    root.appendChild(dialog);\n    return dialog;\n  }\n\n  function legacyItems(root, featured) {\n    var selector = featured ? \".gal-item img\" : \".gal-grid > figure img\";\n    return Array.prototype.slice.call(root.querySelectorAll(selector)).map(function (image) {\n      var link = image.closest(\"a\");\n      if (link && !isImageLink(link)) return null;\n      return { image: image, link: link, opener: null };\n    }).filter(Boolean);\n  }\n\n  function prepareOpener(item) {\n    var opener = item.link || item.image.closest(\"button\");\n    if (!opener) {\n      opener = document.createElement(\"button\");\n      opener.type = \"button\";\n      opener.className = \"gal-open\";\n      var media = item.image.closest(\"picture\") || item.image;\n      media.parentNode.insertBefore(opener, media);\n      opener.appendChild(media);\n    }\n    opener.setAttribute(\"data-cc-gallery-open\", \"\");\n    opener.setAttribute(\"aria-label\", labels.open + \": \" + item.image.alt);\n    item.opener = opener;\n  }\n\n  function initLegacy(root, featured) {\n    if (!root || root.hasAttribute(\"data-cc-gallery-runtime\")) return;\n    var items = legacyItems(root, featured);\n    if (!items.length) return;\n    root.setAttribute(\"data-cc-gallery-runtime\", \"\");\n    items.forEach(prepareOpener);\n\n    var dialog = makeDialog(root);\n    var viewedImage = dialog.querySelector(\"img\");\n    var status = dialog.querySelector(\".gal-lightbox__status\");\n    var closeButton = dialog.querySelector(\".gal-lightbox__close\");\n    var previousButton = dialog.querySelector(\".gal-lightbox__prev\");\n    var nextButton = dialog.querySelector(\".gal-lightbox__next\");\n    var stage = dialog.querySelector(\".gal-lightbox__stage\");\n    var current = 0;\n    var opener = null;\n    var lockedScrollX = 0;\n    var lockedScrollY = 0;\n    var neighborPreloads = [];\n\n    function preloadNeighbors() {\n      neighborPreloads = [-1, 1].map(function (offset) {\n        var preload = new Image();\n        preload.decoding = \"async\";\n        preload.src = sourceUrl(items[(current + offset + items.length) % items.length]);\n        return preload;\n      });\n    }\n\n    function showAt(index) {\n      current = (index + items.length) % items.length;\n      viewedImage.src = sourceUrl(items[current]);\n      viewedImage.alt = items[current].image.alt;\n      status.textContent = (current + 1) + \" \" + labels.of + \" \" + items.length;\n      preloadNeighbors();\n    }\n\n    function lockPage() {\n      lockedScrollX = window.scrollX;\n      lockedScrollY = window.scrollY;\n      document.documentElement.classList.add(\"gal-lightbox-open\");\n      document.body.classList.add(\"gal-lightbox-open\");\n    }\n\n    function unlockPage() {\n      document.documentElement.classList.remove(\"gal-lightbox-open\");\n      document.body.classList.remove(\"gal-lightbox-open\");\n      window.scrollTo(lockedScrollX, lockedScrollY);\n    }\n\n    root.addEventListener(\"click\", function (event) {\n      var target = event.target.closest(\"[data-cc-gallery-open]\");\n      if (!target || !root.contains(target)) return;\n      event.preventDefault();\n      event.stopPropagation();\n      opener = target;\n      var index = items.findIndex(function (item) { return item.opener === target; });\n      if (index < 0) return;\n      showAt(index);\n      lockPage();\n      dialog.showModal();\n      closeButton.focus({ preventScroll: true });\n    }, true);\n\n    previousButton.addEventListener(\"click\", function () { showAt(current - 1); });\n    nextButton.addEventListener(\"click\", function () { showAt(current + 1); });\n    closeButton.addEventListener(\"click\", function () { dialog.close(); });\n    dialog.addEventListener(\"click\", function (event) {\n      if (event.target === dialog) dialog.close();\n    });\n    dialog.addEventListener(\"close\", function () {\n      unlockPage();\n      if (opener && opener.isConnected) opener.focus({ preventScroll: true });\n    });\n    dialog.addEventListener(\"cancel\", unlockPage);\n    dialog.addEventListener(\"keydown\", function (event) {\n      if (event.key === \"ArrowRight\") { event.preventDefault(); showAt(current + 1); return; }\n      if (event.key === \"ArrowLeft\") { event.preventDefault(); showAt(current - 1); return; }\n      if (event.key !== \"Tab\") return;\n      var controls = [closeButton, previousButton, nextButton];\n      if (event.shiftKey && document.activeElement === controls[0]) {\n        event.preventDefault(); controls[2].focus();\n      } else if (!event.shiftKey && document.activeElement === controls[2]) {\n        event.preventDefault(); controls[0].focus();\n      }\n    });\n\n    var pointer = null;\n    stage.addEventListener(\"pointerdown\", function (event) {\n      if (event.button !== undefined && event.button !== 0) return;\n      if (event.target.closest(\"button\")) return;\n      pointer = { id: event.pointerId, x: event.clientX, y: event.clientY };\n      try { stage.setPointerCapture(event.pointerId); } catch (error) {}\n    });\n    stage.addEventListener(\"pointerup\", function (event) {\n      if (!pointer || pointer.id !== event.pointerId) return;\n      var dx = event.clientX - pointer.x;\n      var dy = event.clientY - pointer.y;\n      pointer = null;\n      try { stage.releasePointerCapture(event.pointerId); } catch (error) {}\n      if (Math.abs(dx) < 44 || Math.abs(dx) < Math.abs(dy) * 1.2) return;\n      showAt(current + (dx < 0 ? 1 : -1));\n    });\n    stage.addEventListener(\"pointercancel\", function (event) {\n      pointer = null;\n      try { stage.releasePointerCapture(event.pointerId); } catch (error) {}\n    });\n  }\n\n  function repairSystemViewer(gallery) {\n    var dialog = gallery.querySelector(\".gal-lightbox\");\n    if (!dialog || dialog.hasAttribute(\"data-cc-lazy-repair\")) return;\n    dialog.setAttribute(\"data-cc-lazy-repair\", \"\");\n    var viewedImage = dialog.querySelector(\"figure img\");\n    var status = dialog.querySelector(\".gal-lightbox__status\");\n    var sources = gallery.querySelectorAll(\".gal-grid > figure img, .gal-grid > .gal-rail > figure img\");\n    function repair() {\n      var match = status && status.textContent.match(\/^\\s*(\\d+)\/);\n      if (!match) return;\n      var source = sources[Number(match[1]) - 1];\n      if (!source) return;\n      var correct = imageUrl(source);\n      if (correct && viewedImage.getAttribute(\"src\") !== correct) viewedImage.src = correct;\n    }\n    new MutationObserver(repair).observe(dialog, {\n      subtree: true, childList: true, characterData: true, attributes: true,\n      attributeFilter: [\"src\"]\n    });\n    repair();\n  }\n\n  function start() {\n    document.querySelectorAll(\"[data-gallery]\").forEach(repairSystemViewer);\n    document.querySelectorAll(\"#gal-section.gal-sec, .cc-portfolio\").forEach(function (root) {\n      initLegacy(root, true);\n    });\n    document.querySelectorAll(\".gal-grid\").forEach(function (grid) {\n      if (grid.closest(\"[data-gallery], #gal-section.gal-sec, .cc-portfolio\")) return;\n      initLegacy(grid.closest(\"section\") || grid.parentElement || grid, false);\n    });\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", start, { once: true });\n  } else {\n    start();\n  }\n})();\n<\/script><style>\/* gallery_native \u2014 the owner-editable gallery (spec 2026-10-03). Page-scoped: ships only inside\n   its own chips section, never in the shared page stylesheet (components.json scope \"page\").\n   Chips reuse gallery.css's .gal-tab; tiles are native Divi Image modules in .gal-photos sections. *\/\n.et-l--post .gal-native .gal-tabs {\n  flex-wrap: nowrap;\n  overflow-x: auto;\n  scrollbar-width: none;\n  margin: 0;\n}\n\/* The chip section owns its edges (components.json role \"own\"): the artifact's stars to chips (--s-5 phone,\n   --s-7 desktop) is its top and chips to photos (--s-3 \/ --s-4) its bottom, as padding, so no margin collapses\n   out of the section. The chips stay where they are when the page scrolls (owner 2026-10-04: \"remove sticky\n   categories ... just leave it fixed\"). !important: base.css sets every section to 32px on phones with !important. *\/\n.et-l--post .gal-native > .bk-section { padding: var(--s-5) 0 var(--s-3) !important; }\n@media (min-width: 768px) {\n  .et-l--post .gal-native > .bk-section { padding: var(--s-7) 0 var(--s-4) !important; }\n}\n\/* Phones: the chip row scrolls to the screen edge, its first chip still on the axis (the artifact). *\/\n@media (max-width: 767px) {\n  .et-l--post .gal-native .gal-tabs {\n    margin-inline: calc(50% - 50vw);\n    padding-inline: calc(50vw - 50%);\n    scroll-padding-inline: calc(50vw - 50%);\n  }\n}\n.et-l--post .gal-native .gal-tabs::-webkit-scrollbar { display: none; }\n.et-l--post .gal-native .gal-tab { flex: 0 0 auto; white-space: nowrap; min-height: 44px; }\n\n.et-l--post .gal-photos.cc-portfolio { padding: 0 !important; }\n\/* divi_geometry.css makes every row full width (!important); photo rows keep the shared 1180px axis. *\/\n.et-l--post .gal-photos .et_pb_row { width: min(1180px, 92vw) !important; max-width: none !important; margin: 0 auto; padding: 0 !important; }\n\/* The standard grid (owner 2026-10-04: \"Photos needs to be sized more standardized without cutting off the\n   subject\"; HOME gallery.css roles: 3:4 portraits, --s-2 rows and --s-3 columns). Every row is one 3:4 tile tall\n   (a column's width x 4\/3, read from the row as a query container); a landscape (.gal-wide) spans two columns at\n   that height, so every row, every See more batch and every set ends level. Tiles cover their cell at the\n   position the image registry records for the photo (images.json focal_point + keep box, checked by A20). *\/\n.et-l--post .gal-photos .et_pb_row { container-type: inline-size; }\n.et-l--post .gal-photos .et_pb_column {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: var(--s-2) var(--s-3);\n  grid-auto-rows: calc((100cqw - var(--s-3)) \/ 2 * 4 \/ 3);\n  --cc-row-gutter: var(--s-2);\n  width: 100%;\n}\n@media (min-width: 768px) {\n  .et-l--post .gal-photos .et_pb_column {\n    grid-template-columns: repeat(4, minmax(0, 1fr));\n    grid-auto-rows: calc((100cqw - 3 * var(--s-3)) \/ 4 * 4 \/ 3);\n  }\n}\n.et-l--post .gal-photos .et_pb_image.gal-wide { grid-column: span 2; }\n.et-l--post .gal-photos .et_pb_image,\n.et-l--post .gal-photos.cc-portfolio .gal-item { margin: 0 !important; width: 100%; height: 100%; max-width: none; }\n.et-l--post .gal-photos .et_pb_image_wrap,\n.et-l--post .gal-photos .gal-open { display: block; width: 100%; height: 100%; line-height: 0; padding: 0; border: 0; background: none; }\n.et-l--post .gal-photos .et_pb_image img { display: block; width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }\n.et-l--post .gal-photos[hidden],\n.et-l--post .gal-photos .et_pb_image[hidden],\n.et-l--post .gal-more[hidden] { display: none !important; }\n\n\/* The end band is one centred group on one axis (critique + HOME audit 2026-10-04: See more centred, the card\n   left and its button far right read as three axes). See more sits --s-5 under the photos (the standard grid has\n   no trailing gutter, so the band's own top is the whole gap); a standard gap separates it from HOME's Book card (gallery.css .gal-cta: outlined on\n   the ivory ground, centred, HOME's copy), two of the four photo columns wide from 768px as on HOME. *\/\n.et-l--post .gal-native-end { padding: var(--s-5) 0 var(--sec-y); }\n.et-l--post .gal-native-end .gal-more { display: block; margin: 0 auto var(--sec-y); }\n.et-l--post .gal-native-end .gal-cta { margin: 0 auto; }\n@media (min-width: 768px) {\n  .et-l--post .gal-native-end .gal-cta { max-width: calc(50% - var(--s-3) \/ 2); }\n}\n\n\/* In the Visual Builder the owner sees the plain list (the script does not run there). *\/\nbody.et-fb .et-l--post .gal-photos .et_pb_column { display: block; }\nbody.et-fb .et-l--post .gal-photos .et_pb_image img { height: auto; }\nbody.et-fb .et-l--post .gal-photos .et_pb_image { margin: 0 0 var(--s-2) !important; }\n\n\/* The gallery page opens with the plain hero under the fixed light header. hero_plain.css reserves the\n   header only once navigation.js marks #main-header light, after load, so the title dropped 71px mid-load\n   (A25, staging v2 2026-10-03). The wrapper class the build writes exists at first paint. *\/\n\/* The opening follows the approved artifact (Gallery Redesign, board A; owner 2026-10-04: \"does not look like the\n   artifact\"): title, subtitle, stars, chips and photos read as one group on one ground. Header to title is --s-5\n   on phones and --s-7 from 761px (the artifact's 20 \/ 48), and the opening has no bottom padding of its own:\n   the chip section's top edge is the whole gap. The light-header form outranks hero_plain.css's own light-header\n   reservation, which navigation.js switches on after load (A25 on staging v8: the opening grew 48px mid-load). *\/\n.et-l--post .et_pb_section.cc-hero-plain-sec .cc-hero-plain,\nbody:has(#main-header[data-cc-nav-context=\"light\"]) .et-l--post .et_pb_section.cc-hero-plain-sec .cc-hero-plain {\n  padding-top: calc(var(--cc-header-height) + var(--s-7)) !important;\n  padding-bottom: 0 !important;\n}\n@media (max-width: 760px) {\n  .et-l--post .et_pb_section.cc-hero-plain-sec .cc-hero-plain,\n  body:has(#main-header[data-cc-nav-context=\"light\"]) .et-l--post .et_pb_section.cc-hero-plain-sec .cc-hero-plain {\n    padding-top: calc(var(--cc-header-height) + var(--s-5)) !important;\n  }\n}\n\n\/* HOME's hero roles on the plain ground (hero.css .hm-hero__title\/__sub\/__reviews, owner-tightened 2026-10-01):\n   no theme padding under the title or the subtitle (the theme pads h1 10px and every <p> 17px), title to subtitle\n   --s-2 (--s-3 from 760px), subtitle to stars --s-1 (--s-2). The subtitle takes HOME's size and the artifact's\n   graphite; the stars line takes the ink. *\/\n.et-l--post .cc-hero-plain-sec .cc-hero-plain__title { padding: 0; }\n.et-l--post .cc-hero-plain-sec .cc-hero-plain__sub {\n  margin: var(--s-2) 0 0;\n  padding: 0;\n  max-width: 46ch;\n  font-size: clamp(14px, 3.6vw, 18px);\n  line-height: 1.5;\n  color: var(--graphite);\n}\n.et-l--post .cc-hero-plain .hm-hero__reviews {\n  margin: var(--s-1) 0 0;\n  padding: 0;\n  color: var(--ink);\n}\n@media (min-width: 760px) {\n  .et-l--post .cc-hero-plain-sec .cc-hero-plain__sub { margin-top: var(--s-3); }\n  .et-l--post .cc-hero-plain .hm-hero__reviews { margin-top: var(--s-2); }\n}\n\/* The owner's pyramid title (h1_lines) holds on every screen here: the artifact sets the desktop title on two lines. *\/\n.et-l--post .cc-hero-plain-sec .hm-hero__line { display: block; }\n\/* A phrase line never wraps: the fallback serif painted before Bodoni arrives is wider and broke a third line,\n   and the opening shrank when Bodoni landed (A25, staging v8b). Below 360px the title keeps shrinking with the\n   screen at the hero size's own rate (34px at 360px = 9.44vw; owner 2026-10-04 \"just shrink size even more\"),\n   so every line fits down to 320px. *\/\n.et-l--post .cc-hero-plain-sec .hm-hero__line { white-space: nowrap; }\n@media (max-width: 359px) {\n  .et-l--post .cc-hero-plain-sec .cc-hero-plain__title { font-size: 9.44vw; }\n}\n\/* Desktop: the artifact's masthead. Title at left; the subtitle with the stars line under it at right (\"under\n   subtext as well\", owner 2026-10-04), both ending on the title's bottom line; --s-7 between the columns. *\/\n@media (min-width: 1024px) {\n  .et-l--post .cc-hero-plain-sec .cc-hero-plain .container-bk {\n    display: grid;\n    grid-template-columns: auto auto;\n    grid-template-rows: 1fr auto;\n    justify-content: space-between;\n    column-gap: var(--s-7);\n  }\n  .et-l--post .cc-hero-plain-sec .cc-hero-plain__title { grid-column: 1; grid-row: 1 \/ span 2; align-self: end; }\n  .et-l--post .cc-hero-plain-sec .cc-hero-plain__sub { grid-column: 2; grid-row: 1; align-self: end; }\n  .et-l--post .cc-hero-plain-sec .cc-hero-plain .hm-hero__reviews { grid-column: 2; grid-row: 2; }\n}\n<\/style><section class=\"bk-section cc-hero-plain\" data-screen-label=\"hero_plain\" data-nav-context=\"light\">\n<div class=\"container-bk\">\n<p class=\"cc-hero-plain__label\"><\/p>\n<h1 class=\"cc-hero-plain__title\"><span class=\"hm-hero__line\">Sesiones de Fotos<\/span> <span class=\"hm-hero__line\">en <em>Nuestro Estudio.<\/em><\/span><\/h1>\n<p class=\"cc-hero-plain__sub\">Renta todo el estudio fotogr\u00e1fico privado de 3,000 pies\u00b2 desde $110\/hora, o reserva tu sesi\u00f3n con fot\u00f3grafo desde $350.<\/p><p class=\"hm-hero__reviews\"><span><span class=\"hm-hero__stars\" aria-hidden=\"true\">\u2605\u2605\u2605\u2605\u2605<\/span><span class=\"hm-hero__reviews-label\">300+ rese\u00f1as de 5 estrellas en Google<\/span><\/span><\/p>\n<ul class=\"cc-hero-plain__facts\"><\/ul>\n<div class=\"cc-hero-plain__actions\"><\/div>\n<\/div>\n<\/section>\n<\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_1 et_pb_section et_section_regular et_block_section cc-band-gallery\" id=\"gallery\"><div class=\"et_pb_row_1 et_pb_row et_block_row\"><div class=\"et_pb_column_1 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"gal-native\" data-gal-native data-batch=\"24\">\n<section class=\"bk-section bk-section--tight\" data-screen-label=\"gallery_native\">\n<div class=\"gal-native__bar\">\n<div class=\"container-bk\">\n<div class=\"gal-tabs\" role=\"group\" aria-label=\"Filtrar la galer\u00eda\"><button class=\"gal-tab is-sel\" type=\"button\" data-cat=\"in-use\">Sesiones de fotos<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"brand\">Fotos profesionales<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"fashion\">Moda y book<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"maternity\">Embarazo y familia<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"birthday\">Cumplea\u00f1os<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"boudoir\">Boudoir<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"christmas\">Fotos navide\u00f1as<\/button><button class=\"gal-tab\" type=\"button\" data-cat=\"space\">Estudio fotogr\u00e1fico<\/button><\/div>\n<\/div>\n<\/div>\n<\/section>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_2 et_pb_section et_section_regular et_block_section gal-photos gal-photos--in-use cc-portfolio cc-band-gallery\" id=\"gal-in-use\"><div class=\"et_pb_row_2 et_pb_row et_block_row\"><div class=\"et_pb_column_2 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_0 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img fetchpriority=\"high\" src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196730\" alt=\"Sesi\u00f3n de fotos de moda en Miami: vestido de terciopelo rojo con mo\u00f1o gigante y medias rojas\" title=\"Fashion photoshoot in Miami\" loading=\"eager\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_1 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1795\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio-1280x1596.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio-980x1222.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio-480x598.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192932\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: arte corporal de hoja de oro frente a una pared \u00e1mbar\" title=\"Maternity photoshoot in Miami\" loading=\"eager\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_2 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196657\" alt=\"Fotos profesionales en Miami: mujer con ropa deportiva rosada en el piso frente a Mylar plateado\" title=\"Fitness Photoshoot, Miami Photo Studio | Pink on Silver Mylar\" loading=\"eager\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_3 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196663\" alt=\"Sesi\u00f3n de fotos de moda en Miami: mujer con vestido de leopardo y brazos en alto bajo luz naranja\" title=\"Fashion Photoshoot, Miami Photo Studio | Leopard Gel Light\" loading=\"eager\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_4 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196800\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: vestido negro entre globos plateados del n\u00famero 30\" title=\"Black dress birthday photoshoot in Miami\" loading=\"eager\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_5 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196776\" alt=\"Sesi\u00f3n de moda en Miami: traje rosa, lentes de sol y cadenas frente a una pared de champa\u00f1a\" title=\"Editorial photoshoot in Miami\" loading=\"eager\" decoding=\"async\" style=\"object-position:62.6% 50%\" \/><\/span><\/div><div class=\"et_pb_image_6 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196775\" alt=\"Sesi\u00f3n de fotos de marca en Miami: traje crema a rayas junto a una mesa de madera y un olivo\" title=\"Brand photographer in Miami\" loading=\"eager\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_7 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196679\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: mujer sonriente de lentejuelas doradas con globos gigantes del 21\" title=\"Birthday Photographer in Miami | Gold Number Balloons\" loading=\"eager\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_8 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa.webp\" width=\"1432\" height=\"1909\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa.webp 1432w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1432px, 100vw\" class=\"wp-image-196699\" alt=\"Fotos familiares en Miami: padres de amarillo y azul pastel en un sof\u00e1 gris con su hijo en los hombros del pap\u00e1\" title=\"Family Photography Studio in Miami | Pastel Sofa Portrait\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_9 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196746\" alt=\"Book de fotos en Miami: camisa de mezclilla y shorts de sat\u00e9n con un bolso rosa sobre fondo marfil\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_10 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194006\" alt=\"Fotos profesionales en Miami: retrato corporativo de mujer con blusa crema y brazos cruzados\" title=\"Corporate headshot photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_11 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196798\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: vestido negro y lentes levantando una botella de champ\u00e1n\" title=\"Black dress birthday photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_12 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196733\" alt=\"Book de fotos en Miami: vestido de lentejuelas color crema sobre un bloque bajo un rayo de sol\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_13 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192934\" alt=\"Fotos de embarazo en Miami: vestido negro de manga larga con aberturas, de perfil\" title=\"Maternity photo studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_14 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-193000\" alt=\"Sesi\u00f3n de fotos en pareja en Miami: chaqueta gris y chaqueta marr\u00f3n en un retrato cercano\" title=\"Couples photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_15 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196739\" alt=\"Sesi\u00f3n de fotos de moda en Miami: blazer gris oversize, medias negras y tacones rojos sobre una caja\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_16 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196662\" alt=\"Fotos profesionales para creadores en Miami: cuatro mujeres con ropa deportiva blanca, abrazadas\" title=\"Apparel Brand Photography Studio Miami | White Activewear\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_17 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196738\" alt=\"Book fotogr\u00e1fico en Miami: primer plano con vestido plateado brillante y sombra dorada\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_18 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196797\" alt=\"Sesi\u00f3n de fotos embarazada en familia en Miami: vestido negro tomada de la mano de su hija\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_19 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196753\" alt=\"Book de fotos en Miami: sombrero vaquero negro, body ajustado y shorts de mezclilla de perfil\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_20 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1.webp\" width=\"1920\" height=\"1440\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1.webp 1920w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1-1280x960.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1-980x735.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1-480x360.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1920px, 100vw\" class=\"wp-image-196672\" alt=\"Fotos profesionales en Miami: mujer con pantal\u00f3n rosado contra la pared, vista desde arriba\" title=\"Creative Fitness Photo Ideas, Miami Photographer | Wall Pose\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_21 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots.jpg\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101461\" alt=\"Book de fotos en Miami: retrato en blanco y negro con trenzas y el rostro cubierto con tela\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_22 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196677\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: cumplea\u00f1era de lentejuelas doradas bajo globos del 21\" title=\"21st Birthday Photoshoot, Miami Photo Studio | Gold Balloons\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_23 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196717\" alt=\"Sesi\u00f3n de fotos familiar en un estudio de Miami: una ni\u00f1a y tres mujeres de su familia con camisas blancas y jeans, sentadas\" title=\"Family Photo Session, Miami Photography Studio | White, Denim\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_24 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196658\" alt=\"Sesi\u00f3n de fotos de marca en Miami: retrato con ropa deportiva rosada frente a un fondo plateado\" title=\"Activewear Photographer in Miami | Pink Sports Bra Portrait\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_25 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio.jpg\" width=\"1067\" height=\"1600\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio.jpg 1067w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1067px, 100vw\" class=\"wp-image-189333\" alt=\"Fotos profesionales en Miami: traje blanco en silla de director sobre fondo marr\u00f3n\" title=\"Branding photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_26 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-196760\" alt=\"Book de fotos en Miami: cabello rizado, top rojo de crochet y falda de flecos sobre fondo blanco\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_27 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196729\" alt=\"Sesi\u00f3n de fotos en familia en Miami: padres de blanco y crema abrazando a su hijo sobre un fondo beige\" title=\"Miami Family Photographer | Parents Hugging Their Son\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_28 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196777\" alt=\"Sesi\u00f3n de fotos de marca en Miami: chaleco blanco y falda plisada sobre maletas con el tel\u00e9fono\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_29 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194002\" alt=\"Fotos profesionales en Miami: hombre sonriente con traje gris claro y camisa blanca\" title=\"Headshot photographer in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_30 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196721\" alt=\"Fotos de cumplea\u00f1os en un estudio de fotos de Miami: mujer de blazer blanco con pastel de chispas y el 30 bajo un foco\" title=\"Birthday Photo Studio in Miami | 30 Cake Topper Spotlight\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_31 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196754\" alt=\"Book fotogr\u00e1fico en Miami: chaqueta de cuero marr\u00f3n y jeans anchos de rodillas sobre una silla\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_32 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-scaled.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-scaled.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-193020\" alt=\"Book de fotos en Miami: lentes de sol, top rugby a rayas, shorts deportivos y diadema\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_33 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196785\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: bralette de encaje negro y liguero junto a un perchero dorado\" title=\"Miami boudoir photography\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_34 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking.jpg\" width=\"1024\" height=\"1536\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189966\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: conjunto blanco de lino en un sof\u00e1 crema junto a cortinas\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_35 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196666\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: mujer con cors\u00e9 negro, medias de red y orejas de conejo en un set blanco\" title=\"Miami Boudoir Photography Studio | Black Corset, Bunny Ears\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_36 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196704\" alt=\"Fotos familiares con mascota en Miami: mujer recostada en una alfombra junto a su golden retriever con pa\u00f1uelo azul\" title=\"Pet Portrait Photoshoot in Miami | Golden Retriever\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_37 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms.webp\" width=\"1440\" height=\"1914\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms-1280x1701.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms-980x1303.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms-480x638.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196794\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: body de encaje con monograma y abrigo de piel en los brazos\" title=\"Boudoir photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_38 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown.jpg\" width=\"1024\" height=\"1280\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189967\" alt=\"Fotos de maternidad en Miami: top de mezclilla y jeans sentada junto al arco con un olivo\" title=\"Miami maternity photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_39 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196651\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: mujer rubia con camisa blanca holgada frente a un fondo marr\u00f3n\" title=\"Private Boudoir Photoshoot, Miami Photo Studio | White Shirt\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_40 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196654\" alt=\"Fotos profesionales en Miami: dos amigas con conjuntos de lunares y lentes junto a un biombo\" title=\"Content Creator Photo Studio in Miami | Polka Dot Sets\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_41 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves.webp\" width=\"1440\" height=\"1918\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves-1280x1705.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves-980x1305.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves-480x639.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196788\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: body de encaje transparente y guantes de malla sobre un bloque\" title=\"Boudoir photoshoot at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_42 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196709\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: mujer con blazer negro y encaje sentada entre globos plateados del 2 y el 7\" title=\"27th Birthday Photoshoot, Miami Photo Studio | Silver Balloons\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_3 et_pb_section et_section_regular et_block_section gal-photos gal-photos--brand cc-portfolio cc-band-gallery\" id=\"gal-brand\"><div class=\"et_pb_row_3 et_pb_row et_block_row\"><div class=\"et_pb_column_3 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_43 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio.jpg\" width=\"1067\" height=\"1600\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio.jpg 1067w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/miami-best-photo-studio-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1067px, 100vw\" class=\"wp-image-189333\" alt=\"Fotos profesionales en Miami: traje blanco en silla de director sobre fondo marr\u00f3n\" title=\"Branding photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_44 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-cream-pinstripe-suit-wooden-table-candles-olive-tree-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196775\" alt=\"Sesi\u00f3n de fotos de marca en Miami: traje crema a rayas junto a una mesa de madera y un olivo\" title=\"Brand photographer in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_45 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-burgundy-pantsuit-chrome-chair-styled-mood-board.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-burgundy-pantsuit-chrome-chair-styled-mood-board.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-burgundy-pantsuit-chrome-chair-styled-mood-board-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-burgundy-pantsuit-chrome-chair-styled-mood-board-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196773\" alt=\"Sesi\u00f3n de fotos de marca en Miami: traje vino en silla cromada junto a un tablero de inspiraci\u00f3n\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_46 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-blazer-dress-directors-chair-laptop.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-blazer-dress-directors-chair-laptop.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-blazer-dress-directors-chair-laptop-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-blazer-dress-directors-chair-laptop-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196774\" alt=\"Sesi\u00f3n de fotos de marca en Miami: vestido blazer negro en silla de director con laptop\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_47 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/professional-headshot-woman-cream-top-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194006\" alt=\"Fotos profesionales en Miami: retrato corporativo de mujer con blusa crema y brazos cruzados\" title=\"Corporate headshot photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_48 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/corporate-headshot-man-gray-suit-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194002\" alt=\"Fotos profesionales en Miami: hombre sonriente con traje gris claro y camisa blanca\" title=\"Headshot photographer in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_49 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/business-partners-team-headshot-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/business-partners-team-headshot-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/business-partners-team-headshot-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/business-partners-team-headshot-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/business-partners-team-headshot-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194001\" alt=\"Fotos profesionales en Miami: dos socios de negocios de pie, uno al lado del otro\" title=\"Business headshot photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_50 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/nurse-practitioner-headshot-white-lab-coat-miami-studio.jpg\" width=\"1333\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/nurse-practitioner-headshot-white-lab-coat-miami-studio.jpg 1333w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/nurse-practitioner-headshot-white-lab-coat-miami-studio-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/nurse-practitioner-headshot-white-lab-coat-miami-studio-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/nurse-practitioner-headshot-white-lab-coat-miami-studio-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1333px, 100vw\" class=\"wp-image-194005\" alt=\"Fotos profesionales en Miami: enfermera con bata blanca y brazos cruzados\" title=\"Professional headshot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_51 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/medical-professional-headshot-arch-set-miami-studio.jpg\" width=\"1333\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/medical-professional-headshot-arch-set-miami-studio.jpg 1333w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/medical-professional-headshot-arch-set-miami-studio-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/medical-professional-headshot-arch-set-miami-studio-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/medical-professional-headshot-arch-set-miami-studio-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1333px, 100vw\" class=\"wp-image-194004\" alt=\"Fotos profesionales en Miami: profesional de la salud con bata blanca y tableta en el set del arco\" title=\"Medical headshot photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_52 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/executive-team-headshot-chair-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/executive-team-headshot-chair-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/executive-team-headshot-chair-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/executive-team-headshot-chair-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/executive-team-headshot-chair-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194003\" alt=\"Fotos profesionales en Miami: dos ejecutivos con trajes blanco y negro sentados juntos\" title=\"Team headshots in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_53 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/team-portrait-black-white-suits-miami-studio.jpg\" width=\"1428\" height=\"2000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/team-portrait-black-white-suits-miami-studio.jpg 1428w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/team-portrait-black-white-suits-miami-studio-1280x1793.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/team-portrait-black-white-suits-miami-studio-980x1373.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/08\/team-portrait-black-white-suits-miami-studio-480x672.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1428px, 100vw\" class=\"wp-image-194007\" alt=\"Fotos profesionales en Miami: hombre de traje negro detr\u00e1s de una mujer de traje blanco\" title=\"Corporate team portrait in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_54 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-suit-white-corset-holding-real-estate.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-suit-white-corset-holding-real-estate.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-suit-white-corset-holding-real-estate-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-suit-white-corset-holding-real-estate-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-black-suit-white-corset-holding-real-estate-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196772\" alt=\"Sesi\u00f3n de fotos de marca en Miami: traje negro y cors\u00e9 blanco con un peri\u00f3dico inmobiliario\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_55 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photography-miami-black-suit-champagne-real-estate-newspaper.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photography-miami-black-suit-champagne-real-estate-newspaper.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photography-miami-black-suit-champagne-real-estate-newspaper-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photography-miami-black-suit-champagne-real-estate-newspaper-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photography-miami-black-suit-champagne-real-estate-newspaper-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196770\" alt=\"Fotos profesionales en Miami: agente inmobiliaria de traje negro con champ\u00e1n y peri\u00f3dico\" title=\"Branding photography in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_56 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-branding-bench-newspaper-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-branding-bench-newspaper-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-branding-bench-newspaper-photoshoot-miami-studio-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-branding-bench-newspaper-photoshoot-miami-studio-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-branding-bench-newspaper-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192995\" alt=\"Fotos profesionales en Miami: agente inmobiliaria de traje negro en un banco se\u00f1alando un volante\" title=\"Brand photographer in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_57 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-agent-branding-photoshoot-miami-studio.webp\" width=\"1600\" height=\"1200\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-agent-branding-photoshoot-miami-studio.webp 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-agent-branding-photoshoot-miami-studio-1280x960.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-agent-branding-photoshoot-miami-studio-980x735.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/real-estate-agent-branding-photoshoot-miami-studio-480x360.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-192877\" alt=\"Fotos profesionales en Miami: agente inmobiliaria con blazer negro sentada con un peri\u00f3dico\" title=\"Branding photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 51.6%\" \/><\/span><\/div><div class=\"et_pb_image_58 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-with-natural-light.jpg\" width=\"2304\" height=\"1537\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-with-natural-light.jpg 2304w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-with-natural-light-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-with-natural-light-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-with-natural-light-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2304px, 100vw\" class=\"wp-image-101449\" alt=\"Fotos profesionales para creadores en Miami: recostada en silla cromada con una revista\" title=\"Content creator photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_59 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-shirt-burgundy-tie-laptop-vintage-typewriter.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-shirt-burgundy-tie-laptop-vintage-typewriter.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-shirt-burgundy-tie-laptop-vintage-typewriter-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-shirt-burgundy-tie-laptop-vintage-typewriter-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196780\" alt=\"Sesi\u00f3n de fotos de marca en Miami: camisa blanca, corbata vino y laptop junto a una m\u00e1quina de escribir\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_60 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-glasses-navy-shirt-dress-working-laptop-sofa.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-glasses-navy-shirt-dress-working-laptop-sofa.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-glasses-navy-shirt-dress-working-laptop-sofa-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-glasses-navy-shirt-dress-working-laptop-sofa-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-glasses-navy-shirt-dress-working-laptop-sofa-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196779\" alt=\"Fotos profesionales para creadores en Miami: lentes y vestido azul trabajando en laptop\" title=\"Content creator photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_61 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-black-blazer-red-lipstick-chrome-chair.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-black-blazer-red-lipstick-chrome-chair.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-black-blazer-red-lipstick-chrome-chair-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-black-blazer-red-lipstick-chrome-chair-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/brand-photographer-miami-black-blazer-red-lipstick-chrome-chair-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196781\" alt=\"Fotos profesionales en Miami: blazer negro y labios rojos en una silla cromada\" title=\"Brand photographer in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:83.2% 50%\" \/><\/span><\/div><div class=\"et_pb_image_62 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/photo-studio-rental-miami.jpg\" width=\"1067\" height=\"1600\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/photo-studio-rental-miami.jpg 1067w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/photo-studio-rental-miami-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/photo-studio-rental-miami-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1067px, 100vw\" class=\"wp-image-189334\" alt=\"Fotos profesionales en Miami: creadora de contenido de negro en una mesa blanca con laptop\" title=\"Content creator photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_63 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photo-studio-miami-friends-polka-dot-sets-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196654\" alt=\"Fotos profesionales en Miami: dos amigas con conjuntos de lunares y lentes junto a un biombo\" title=\"Content Creator Photo Studio in Miami | Polka Dot Sets\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_64 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/influencer-photoshoot-miami-photographer-polka-dot-selfie-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/influencer-photoshoot-miami-photographer-polka-dot-selfie-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/influencer-photoshoot-miami-photographer-polka-dot-selfie-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/influencer-photoshoot-miami-photographer-polka-dot-selfie-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/influencer-photoshoot-miami-photographer-polka-dot-selfie-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196655\" alt=\"Sesi\u00f3n de fotos de marca en Miami: dos amigas con conjuntos de lunares tom\u00e1ndose una selfi\" title=\"Influencer Photoshoot, Miami Photographer | Polka Dot Selfie\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_65 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creation-studio-miami-lifestyle-photoshoot-tote-tumbler-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creation-studio-miami-lifestyle-photoshoot-tote-tumbler-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creation-studio-miami-lifestyle-photoshoot-tote-tumbler-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creation-studio-miami-lifestyle-photoshoot-tote-tumbler-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creation-studio-miami-lifestyle-photoshoot-tote-tumbler-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196656\" alt=\"Fotos profesionales para creadores en Miami: amiga con bolso y vaso t\u00e9rmico junto a otra con conjunto de lunares\" title=\"Content Creation Studio in Miami | Lifestyle Photoshoot\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_66 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/branding-photoshoot-miami-white-vest-pleated-skirt-stack-suitcases-phone-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196777\" alt=\"Sesi\u00f3n de fotos de marca en Miami: chaleco blanco y falda plisada sobre maletas con el tel\u00e9fono\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_67 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-laughing-tall-stack-black-white-suitcases.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-laughing-tall-stack-black-white-suitcases.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-laughing-tall-stack-black-white-suitcases-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/content-creator-photoshoot-miami-laughing-tall-stack-black-white-suitcases-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196778\" alt=\"Fotos profesionales para creadores en Miami: riendo sobre una pila de maletas blancas y negras\" title=\"Content creator photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_68 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/travel-fashion-white-vest-luggage-photoshoot-miami-studio.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/travel-fashion-white-vest-luggage-photoshoot-miami-studio.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/travel-fashion-white-vest-luggage-photoshoot-miami-studio-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/travel-fashion-white-vest-luggage-photoshoot-miami-studio-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-193003\" alt=\"Fotos profesionales en Miami: chaleco blanco y falda plisada posando sobre maletas apiladas\" title=\"Brand photographer in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_69 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-photographer-miami-pink-sports-bra-portrait-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196658\" alt=\"Sesi\u00f3n de fotos de marca en Miami: retrato con ropa deportiva rosada frente a un fondo plateado\" title=\"Activewear Photographer in Miami | Pink Sports Bra Portrait\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_70 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photoshoot-miami-photo-studio-pink-activewear-silver-mylar-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196657\" alt=\"Fotos profesionales en Miami: mujer con ropa deportiva rosada en el piso frente a Mylar plateado\" title=\"Fitness Photoshoot, Miami Photo Studio | Pink on Silver Mylar\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_71 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-model-photoshoot-miami-photo-studio-pink-workout-set-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-model-photoshoot-miami-photo-studio-pink-workout-set-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-model-photoshoot-miami-photo-studio-pink-workout-set-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-model-photoshoot-miami-photo-studio-pink-workout-set-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-model-photoshoot-miami-photo-studio-pink-workout-set-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196659\" alt=\"Fotos profesionales para creadores en Miami: mujer con conjunto deportivo rosado junto a una pared de Mylar\" title=\"Fitness Model Photoshoot, Miami Photo Studio | Pink Set\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_72 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athleisure-photoshoot-miami-photo-studio-pink-sweatpants-portrait-1.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athleisure-photoshoot-miami-photo-studio-pink-sweatpants-portrait-1.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athleisure-photoshoot-miami-photo-studio-pink-sweatpants-portrait-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athleisure-photoshoot-miami-photo-studio-pink-sweatpants-portrait-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athleisure-photoshoot-miami-photo-studio-pink-sweatpants-portrait-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196673\" alt=\"Sesi\u00f3n de fotos de marca en Miami: mujer con ropa deportiva rosada recostada sobre fondo gris azulado\" title=\"Athleisure Photoshoot, Miami Photo Studio | Pink Sweatpants\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_73 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photography-studio-miami-pink-sweatpants-dance-pose-1.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photography-studio-miami-pink-sweatpants-dance-pose-1.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photography-studio-miami-pink-sweatpants-dance-pose-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photography-studio-miami-pink-sweatpants-dance-pose-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fitness-photography-studio-miami-pink-sweatpants-dance-pose-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196671\" alt=\"Fotos profesionales para creadores en Miami: mujer con top y pantal\u00f3n deportivo rosado en pose de baile\" title=\"Fitness Photography Studio in Miami | Pink Dance Pose\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_74 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/dance-fitness-photoshoot-miami-studio-pink-sweatpants-floor-pose-1.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/dance-fitness-photoshoot-miami-studio-pink-sweatpants-floor-pose-1.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/dance-fitness-photoshoot-miami-studio-pink-sweatpants-floor-pose-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/dance-fitness-photoshoot-miami-studio-pink-sweatpants-floor-pose-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/dance-fitness-photoshoot-miami-studio-pink-sweatpants-floor-pose-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196674\" alt=\"Fotos profesionales para creadores en Miami: mujer con pantal\u00f3n rosado sentada en el piso, apoyada en las manos\" title=\"Dance Fitness Photoshoot, Miami Studio | Floor Pose\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_75 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1.webp\" width=\"1920\" height=\"1440\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1.webp 1920w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1-1280x960.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1-980x735.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-fitness-photoshoot-ideas-miami-photographer-pink-sweatpants-1-480x360.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1920px, 100vw\" class=\"wp-image-196672\" alt=\"Fotos profesionales en Miami: mujer con pantal\u00f3n rosado contra la pared, vista desde arriba\" title=\"Creative Fitness Photo Ideas, Miami Photographer | Wall Pose\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_76 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/overhead-fitness-photography-miami-photographer-pink-sweatpants-1.webp\" width=\"1920\" height=\"1440\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/overhead-fitness-photography-miami-photographer-pink-sweatpants-1.webp 1920w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/overhead-fitness-photography-miami-photographer-pink-sweatpants-1-1280x960.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/overhead-fitness-photography-miami-photographer-pink-sweatpants-1-980x735.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/overhead-fitness-photography-miami-photographer-pink-sweatpants-1-480x360.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1920px, 100vw\" class=\"wp-image-196675\" alt=\"Fotos profesionales en Miami: mujer con pantal\u00f3n rosado y las piernas contra la pared\" title=\"Overhead Fitness Photography, Miami Photographer | Pink\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_77 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/athletic-apparel-brand-photography-studio-miami-white-activewear-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196662\" alt=\"Fotos profesionales para creadores en Miami: cuatro mujeres con ropa deportiva blanca, abrazadas\" title=\"Apparel Brand Photography Studio Miami | White Activewear\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_78 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-brand-photoshoot-miami-photo-studio-group-silver-backdrop-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-brand-photoshoot-miami-photo-studio-group-silver-backdrop-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-brand-photoshoot-miami-photo-studio-group-silver-backdrop-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-brand-photoshoot-miami-photo-studio-group-silver-backdrop-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/activewear-brand-photoshoot-miami-photo-studio-group-silver-backdrop-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196660\" alt=\"Fotos profesionales en Miami: cuatro mujeres en ropa deportiva riendo juntas\" title=\"Activewear Brand Photoshoot, Miami Photo Studio | Group\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_79 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/group-fitness-photographer-miami-black-and-white-workout-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/group-fitness-photographer-miami-black-and-white-workout-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/group-fitness-photographer-miami-black-and-white-workout-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/group-fitness-photographer-miami-black-and-white-workout-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/group-fitness-photographer-miami-black-and-white-workout-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196661\" alt=\"Sesi\u00f3n de fotos de marca en Miami: foto en blanco y negro de cuatro mujeres con tapetes de yoga y mancuernas\" title=\"Group Fitness Photographer in Miami | Black and White\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_80 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-editorial-photography-studio-miami-trio-powder-blue.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-editorial-photography-studio-miami-trio-powder-blue.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-editorial-photography-studio-miami-trio-powder-blue-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-editorial-photography-studio-miami-trio-powder-blue-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-editorial-photography-studio-miami-trio-powder-blue-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196707\" alt=\"Sesi\u00f3n de fotos de marca en Miami: dos mujeres y un hombre de azul cielo y negro junto a una silla\" title=\"Fashion Editorial Photography Studio Miami | Powder Blue Trio\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_81 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/high-fashion-editorial-photoshoot-miami-corset-gown-chrome-chair.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/high-fashion-editorial-photoshoot-miami-corset-gown-chrome-chair.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/high-fashion-editorial-photoshoot-miami-corset-gown-chrome-chair-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/high-fashion-editorial-photoshoot-miami-corset-gown-chrome-chair-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/high-fashion-editorial-photoshoot-miami-corset-gown-chrome-chair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196708\" alt=\"Sesi\u00f3n de fotos de marca en Miami: mujer con vestido cors\u00e9 azul cielo en silla de cromo y un hombre\" title=\"High Fashion Editorial Photoshoot in Miami | Corset Gown\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_82 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-content-studio-miami-silver-wall-photo-print-board.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-content-studio-miami-silver-wall-photo-print-board.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-content-studio-miami-silver-wall-photo-print-board-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-content-studio-miami-silver-wall-photo-print-board-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-content-studio-miami-silver-wall-photo-print-board-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196702\" alt=\"Estudio fotogr\u00e1fico en Miami: mujer con blusa blanca y jeans junto a una pared plateada con fotos impresas\" title=\"Creative Content Studio in Miami | Silver Wall Print Board\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_83 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-portraits-miami-photography-studio-director-chair.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-portraits-miami-photography-studio-director-chair.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-portraits-miami-photography-studio-director-chair-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-portraits-miami-photography-studio-director-chair-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/creative-portraits-miami-photography-studio-director-chair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196703\" alt=\"Estudio de fotos en Miami: mujer con jeans en una silla de director frente a una pared plateada de fotos\" title=\"Creative Portraits, Miami Photography Studio | Director Chair\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_84 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-professional-portraits.jpg\" width=\"1536\" height=\"2052\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-professional-portraits.jpg 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-professional-portraits-1280x1710.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-professional-portraits-980x1309.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-professional-portraits-480x641.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-101450\" alt=\"Fotos profesionales en Miami: retrato en blanco y negro detr\u00e1s de una mesa de acero con fotos\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_85 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-creative-workshops.jpg\" width=\"1583\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-creative-workshops.jpg 1583w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-creative-workshops-1280x1656.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-creative-workshops-980x1268.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-creative-workshops-480x621.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1583px, 100vw\" class=\"wp-image-101448\" alt=\"Sesi\u00f3n de fotos de marca en Miami: lentes de sol y fotos impresas lanzadas al aire frente a un collage\" title=\"Content creation studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_86 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-commercial-photography.jpg\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-commercial-photography.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-commercial-photography-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-commercial-photography-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101475\" alt=\"Sesi\u00f3n de fotos de marca en Miami: agachada entre fotos impresas junto a cortinas blancas\" title=\"Content creator photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_87 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-social-media-photos.jpg\" width=\"1080\" height=\"1074\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-social-media-photos.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-social-media-photos-980x975.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-social-media-photos-480x477.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101420\" alt=\"Fotos profesionales para creadores en Miami: blazer blanco sentada durante una sesi\u00f3n de marca\" title=\"Content creation studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:95.1% 50%\" \/><\/span><\/div><div class=\"et_pb_image_88 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/top-photo-studio-miami.jpg\" width=\"1067\" height=\"1600\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/top-photo-studio-miami.jpg 1067w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/top-photo-studio-miami-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/11\/top-photo-studio-miami-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1067px, 100vw\" class=\"wp-image-189335\" alt=\"Sesi\u00f3n de fotos de marca en Miami: look blanco y lentes con un letrero de CC Studios\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 0%\" \/><\/span><\/div><div class=\"et_pb_image_89 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-branding-photo-studio.jpg\" width=\"1600\" height=\"1067\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-branding-photo-studio.jpg 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-branding-photo-studio-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-branding-photo-studio-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-branding-photo-studio-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-192175\" alt=\"Fotos profesionales en Miami: recostada en silla cromada con un letrero de CC Studios\" title=\"Branding photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_90 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-behind-the-scenes-content-shoot-team.jpg\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-behind-the-scenes-content-shoot-team.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-behind-the-scenes-content-shoot-team-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-behind-the-scenes-content-shoot-team-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-behind-the-scenes-content-shoot-team-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189504\" alt=\"Sesi\u00f3n de fotos de marca en Miami: equipo revisando tomas en un monitor detr\u00e1s de c\u00e1maras\" title=\"Branding photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_91 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-behind-the-scenes-softbox-lighting-1.webp\" width=\"1459\" height=\"911\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-behind-the-scenes-softbox-lighting-1.webp 1459w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-behind-the-scenes-softbox-lighting-1-1280x799.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-behind-the-scenes-softbox-lighting-1-980x612.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-behind-the-scenes-softbox-lighting-1-480x300.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1459px, 100vw\" class=\"wp-image-196669\" alt=\"Estudio de fotos en Miami: modelo en una silla de cromo y cuero bajo una gran caja de luz\" title=\"Photo Studio Rental in Miami | Behind the Scenes Lighting\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_92 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-creator-self-portrait-camera-shot.jpg\" width=\"2048\" height=\"3072\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-creator-self-portrait-camera-shot.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-creator-self-portrait-camera-shot-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-creator-self-portrait-camera-shot-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-creator-self-portrait-camera-shot-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189506\" alt=\"Fotos profesionales en Miami: equipo con softboxes fotografiando a una modelo sentada\" title=\"Content production at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_93 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-tripod-filming-behind-the-scenes.jpg\" width=\"2048\" height=\"3072\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-tripod-filming-behind-the-scenes.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-tripod-filming-behind-the-scenes-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-tripod-filming-behind-the-scenes-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-tripod-filming-behind-the-scenes-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189513\" alt=\"Estudio de fotos en Miami: luz softbox preparada para una sesi\u00f3n en el ciclorama blanco\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_94 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-lifestyle-set-bed-laptop-props.jpg\" width=\"2048\" height=\"3072\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-lifestyle-set-bed-laptop-props.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-lifestyle-set-bed-laptop-props-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-lifestyle-set-bed-laptop-props-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-lifestyle-set-bed-laptop-props-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189508\" alt=\"Fotos profesionales para creadores en Miami: recostada en una cama con tel\u00e9fono, laptop y revistas\" title=\"Content creator photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 2.4%\" \/><\/span><\/div><div class=\"et_pb_image_95 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/product-photography-studio-miami.jpg\" width=\"1080\" height=\"1346\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/product-photography-studio-miami.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/product-photography-studio-miami-980x1221.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/product-photography-studio-miami-480x598.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101421\" alt=\"Sesi\u00f3n de fotos de marca en Miami: dos creadoras de blazer blanco preparando el look\" title=\"Behind the scenes at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:0% 50%\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_4 et_pb_section et_section_regular et_block_section gal-photos gal-photos--fashion cc-portfolio cc-band-gallery\" id=\"gal-fashion\"><div class=\"et_pb_row_4 et_pb_row et_block_row\"><div class=\"et_pb_column_4 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_96 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-velvet-bow-gown-red-tights-draped-red-bow-set-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196730\" alt=\"Sesi\u00f3n de fotos de moda en Miami: vestido de terciopelo rojo con mo\u00f1o gigante y medias rojas\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_97 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-red-satin-corset-lit-candelabra.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-red-satin-corset-lit-candelabra.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-red-satin-corset-lit-candelabra-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-red-satin-corset-lit-candelabra-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-red-satin-corset-lit-candelabra-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196731\" alt=\"Sesi\u00f3n de fotos de moda en Miami: cors\u00e9 de sat\u00e9n rojo junto a un candelabro en el set del mo\u00f1o rojo\" title=\"Editorial photoshoot at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_98 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-red-off-shoulder-velvet-top-roses-draped-red-bow.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-red-off-shoulder-velvet-top-roses-draped-red-bow.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-red-off-shoulder-velvet-top-roses-draped-red-bow-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-red-off-shoulder-velvet-top-roses-draped-red-bow-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-red-off-shoulder-velvet-top-roses-draped-red-bow-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196732\" alt=\"Sesi\u00f3n de fotos de moda en Miami: blusa de terciopelo rojo y rosas frente al set del mo\u00f1o rojo\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_99 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-photo-studio-leopard-dress-orange-gel-light-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196663\" alt=\"Sesi\u00f3n de fotos de moda en Miami: mujer con vestido de leopardo y brazos en alto bajo luz naranja\" title=\"Fashion Photoshoot, Miami Photo Studio | Leopard Gel Light\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_100 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-fashion-photographer-miami-leopard-print-red-light-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-fashion-photographer-miami-leopard-print-red-light-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-fashion-photographer-miami-leopard-print-red-light-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-fashion-photographer-miami-leopard-print-red-light-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-fashion-photographer-miami-leopard-print-red-light-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196664\" alt=\"Book de fotos en Miami: mujer con vestido de leopardo de espaldas bajo luz roja\" title=\"Editorial Fashion Photographer Miami | Leopard, Red Light\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_101 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-portrait-photography-studio-miami-leopard-dress-peach-light-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-portrait-photography-studio-miami-leopard-dress-peach-light-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-portrait-photography-studio-miami-leopard-dress-peach-light-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-portrait-photography-studio-miami-leopard-dress-peach-light-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-portrait-photography-studio-miami-leopard-dress-peach-light-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196665\" alt=\"Book fotogr\u00e1fico en Miami: mujer con vestido de leopardo y las manos en el cabello, luz durazno\" title=\"Fashion Portrait Photography Studio Miami | Peach Light\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_102 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-cream-sequin-gown-perched-block-beam-sunlight-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196733\" alt=\"Book de fotos en Miami: vestido de lentejuelas color crema sobre un bloque bajo un rayo de sol\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_103 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-backless-cream-sequin-gown-profile-warm-beige.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-backless-cream-sequin-gown-profile-warm-beige.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-backless-cream-sequin-gown-profile-warm-beige-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-backless-cream-sequin-gown-profile-warm-beige-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-backless-cream-sequin-gown-profile-warm-beige-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196734\" alt=\"Sesi\u00f3n de fotos de moda en Miami: vestido crema de lentejuelas con espalda descubierta, de perfil\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_104 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-flowing-cream-sequin-gown-reclining-white-block.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-flowing-cream-sequin-gown-reclining-white-block.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-flowing-cream-sequin-gown-reclining-white-block-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-flowing-cream-sequin-gown-reclining-white-block-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-flowing-cream-sequin-gown-reclining-white-block-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196735\" alt=\"Book fotogr\u00e1fico en Miami: vestido crema de lentejuelas recostada sobre un bloque blanco con luz dorada\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_105 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-oversized-gray-blazer-black-tights-red-heels-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196739\" alt=\"Sesi\u00f3n de fotos de moda en Miami: blazer gris oversize, medias negras y tacones rojos sobre una caja\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_106 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-gray-blazer-black-tights-red-heels.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-gray-blazer-black-tights-red-heels.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-gray-blazer-black-tights-red-heels-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-gray-blazer-black-tights-red-heels-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-gray-blazer-black-tights-red-heels-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196740\" alt=\"Book de fotos en Miami: blazer gris, medias negras y tacones rojos de pie sobre un pedestal blanco\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_107 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-gray-blazer-windblown-hair.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-gray-blazer-windblown-hair.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-gray-blazer-windblown-hair-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-gray-blazer-windblown-hair-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-gray-blazer-windblown-hair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196741\" alt=\"Moda editorial en Miami: blazer gris oversize con el cabello al viento en pose inclinada\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_108 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-studio-miami-gray-blazer-one-shoulder-lifting-red-heel.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-studio-miami-gray-blazer-one-shoulder-lifting-red-heel.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-studio-miami-gray-blazer-one-shoulder-lifting-red-heel-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-studio-miami-gray-blazer-one-shoulder-lifting-red-heel-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-studio-miami-gray-blazer-one-shoulder-lifting-red-heel-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196742\" alt=\"Book fotogr\u00e1fico en Miami: blazer gris sobre un hombro levantando un tac\u00f3n rojo en patada alta\" title=\"Fashion photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_109 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-gray-blazer-black-tights-red-heel-resting.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-gray-blazer-black-tights-red-heel-resting.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-gray-blazer-black-tights-red-heel-resting-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-gray-blazer-black-tights-red-heel-resting-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-gray-blazer-black-tights-red-heel-resting-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196743\" alt=\"Sesi\u00f3n de fotos de moda en Miami: blazer gris y medias negras con un tac\u00f3n rojo sobre una caja\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_110 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-gray-blazer-red-heels-crouching.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-gray-blazer-red-heels-crouching.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-gray-blazer-red-heels-crouching-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-gray-blazer-red-heels-crouching-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-gray-blazer-red-heels-crouching-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196744\" alt=\"Book de fotos en Miami: blazer gris y tacones rojos agachada sobre un pedestal blanco de perfil\" title=\"Editorial photoshoot at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_111 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-close-up-sparkling-silver-dress-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196738\" alt=\"Book fotogr\u00e1fico en Miami: primer plano con vestido plateado brillante y sombra dorada\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_112 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-shimmering-silver-midi-dress-posed-white-block.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-shimmering-silver-midi-dress-posed-white-block.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-shimmering-silver-midi-dress-posed-white-block-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-shimmering-silver-midi-dress-posed-white-block-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-shimmering-silver-midi-dress-posed-white-block-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196736\" alt=\"Sesi\u00f3n de fotos de moda en Miami: vestido plateado brillante sobre un bloque blanco con luz moteada\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_113 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-silver-sequin-midi-dress-windblown-hair-full-length.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-silver-sequin-midi-dress-windblown-hair-full-length.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-silver-sequin-midi-dress-windblown-hair-full-length-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-silver-sequin-midi-dress-windblown-hair-full-length-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-silver-sequin-midi-dress-windblown-hair-full-length-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196737\" alt=\"Book de fotos en Miami: vestido midi plateado de lentejuelas con el cabello al viento\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_114 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-denim-shirt-satin-shorts-small-pink-handbag-ivory-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196746\" alt=\"Book de fotos en Miami: camisa de mezclilla y shorts de sat\u00e9n con un bolso rosa sobre fondo marfil\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_115 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/denim-shirt-chair-portrait-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/denim-shirt-chair-portrait-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/denim-shirt-chair-portrait-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/denim-shirt-chair-portrait-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/denim-shirt-chair-portrait-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192988\" alt=\"Moda editorial en Miami: camisa de mezclilla y shorts de sat\u00e9n en un sill\u00f3n de cuero\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_116 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-denim-shirt-slingback-heels.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-denim-shirt-slingback-heels.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-denim-shirt-slingback-heels-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-denim-shirt-slingback-heels-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-oversized-denim-shirt-slingback-heels-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196745\" alt=\"Sesi\u00f3n de fotos de moda en Miami: camisa de mezclilla oversize y bolso rosa sentada en el piso\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_117 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-open-denim-shirt-ivory-satin-shorts.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-open-denim-shirt-ivory-satin-shorts.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-open-denim-shirt-ivory-satin-shorts-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-open-denim-shirt-ivory-satin-shorts-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-open-denim-shirt-ivory-satin-shorts-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196747\" alt=\"Book fotogr\u00e1fico en Miami: camisa de mezclilla abierta y shorts de sat\u00e9n junto a un bolso rosa\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_118 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-denim-shirt-satin-shorts-sheer-socks.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-denim-shirt-satin-shorts-sheer-socks.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-denim-shirt-satin-shorts-sheer-socks-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-denim-shirt-satin-shorts-sheer-socks-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-denim-shirt-satin-shorts-sheer-socks-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196748\" alt=\"Sesi\u00f3n de fotos de moda en Miami: camisa de mezclilla, shorts de sat\u00e9n y calcetines transparentes\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_119 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-cowboy-hat-fitted-bodysuit-denim-shorts-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196753\" alt=\"Book de fotos en Miami: sombrero vaquero negro, body ajustado y shorts de mezclilla de perfil\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_120 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-denim-jacket-wide-brim-black-hat-tipped-low-moody.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-denim-jacket-wide-brim-black-hat-tipped-low-moody.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-denim-jacket-wide-brim-black-hat-tipped-low-moody-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-denim-jacket-wide-brim-black-hat-tipped-low-moody-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-denim-jacket-wide-brim-black-hat-tipped-low-moody-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196752\" alt=\"Sesi\u00f3n de fotos de moda en Miami: chaqueta de mezclilla y sombrero negro de ala ancha con luz baja\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_121 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-jacket-cowboy-hat-jeans-crouching-hand.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-jacket-cowboy-hat-jeans-crouching-hand.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-jacket-cowboy-hat-jeans-crouching-hand-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-jacket-cowboy-hat-jeans-crouching-hand-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-jacket-cowboy-hat-jeans-crouching-hand-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196767\" alt=\"Book de fotos en Miami: chaqueta marr\u00f3n, sombrero vaquero y jeans agachada tocando el ala\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_122 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-black-white-portrait-cowboy-hat-denim-shorts-floor.webp\" width=\"1440\" height=\"960\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-black-white-portrait-cowboy-hat-denim-shorts-floor.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-black-white-portrait-cowboy-hat-denim-shorts-floor-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-black-white-portrait-cowboy-hat-denim-shorts-floor-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-black-white-portrait-cowboy-hat-denim-shorts-floor-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196766\" alt=\"Moda editorial en Miami: retrato en blanco y negro con sombrero vaquero y shorts de mezclilla\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_123 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-brown-leather-jacket-wide-leg-jeans-kneeling-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196754\" alt=\"Book fotogr\u00e1fico en Miami: chaqueta de cuero marr\u00f3n y jeans anchos de rodillas sobre una silla\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_124 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-leather-jacket-baggy-jeans-reclined.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-leather-jacket-baggy-jeans-reclined.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-leather-jacket-baggy-jeans-reclined-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-leather-jacket-baggy-jeans-reclined-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-leather-jacket-baggy-jeans-reclined-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196755\" alt=\"Sesi\u00f3n de fotos de moda en Miami: chaqueta de cuero y jeans holgados recostada sobre una silla\" title=\"Editorial photoshoot at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_125 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-brown-leather-jacket-leaning-back-folding-chair.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-brown-leather-jacket-leaning-back-folding-chair.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-brown-leather-jacket-leaning-back-folding-chair-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-brown-leather-jacket-leaning-back-folding-chair-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-brown-leather-jacket-leaning-back-folding-chair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196756\" alt=\"Moda editorial en Miami: chaqueta de cuero marr\u00f3n recostada en una silla plegable mirando atr\u00e1s\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_126 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-music-artist-photographer-pink-suit-sunglasses-chains-champagne-wall-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196776\" alt=\"Sesi\u00f3n de moda en Miami: traje rosa, lentes de sol y cadenas frente a una pared de champa\u00f1a\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:62.6% 50%\" \/><\/span><\/div><div class=\"et_pb_image_127 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-celebrity-photoshoot-studio-miami.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-celebrity-photoshoot-studio-miami.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-celebrity-photoshoot-studio-miami-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-celebrity-photoshoot-studio-miami-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-192632\" alt=\"Sesi\u00f3n de moda en Miami: dos artistas posando frente a una pared dorada de champa\u00f1a\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_128 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-production-studio-rental-miami.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-production-studio-rental-miami.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-production-studio-rental-miami-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/rick-ross-production-studio-rental-miami-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-192631\" alt=\"Sesi\u00f3n de moda en Miami: su\u00e9ter verde con monograma frente a una pared dorada de champa\u00f1a\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:26% 50%\" \/><\/span><\/div><div class=\"et_pb_image_129 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/miami-photography-studio-rental.png\" width=\"833\" height=\"1250\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/miami-photography-studio-rental.png 833w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/miami-photography-studio-rental-480x720.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 833px, 100vw\" class=\"wp-image-187849\" alt=\"Sesi\u00f3n de fotos de moda en Miami: body de encaje negro sentada en un banco cromado\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_130 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-white-shirt-distressed-wide-leg-jeans.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-white-shirt-distressed-wide-leg-jeans.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-white-shirt-distressed-wide-leg-jeans-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-white-shirt-distressed-wide-leg-jeans-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-white-shirt-distressed-wide-leg-jeans-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196749\" alt=\"Book de fotos en Miami: camisa blanca y jeans anchos rotos en una silla plegable de madera\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_131 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-white-bikini-top-open-shirt-baggy-jeans-foot-chair.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-white-bikini-top-open-shirt-baggy-jeans-foot-chair.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-white-bikini-top-open-shirt-baggy-jeans-foot-chair-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-white-bikini-top-open-shirt-baggy-jeans-foot-chair-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-white-bikini-top-open-shirt-baggy-jeans-foot-chair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196751\" alt=\"Moda editorial en Miami: top blanco, camisa abierta y jeans holgados con un pie en la silla\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_132 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-curly-hair-red-crochet-bralette-fringed-skirt-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-196760\" alt=\"Book de fotos en Miami: cabello rizado, top rojo de crochet y falda de flecos sobre fondo blanco\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_133 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-crochet-bralette-bottoms-seated-white-backdrop.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-crochet-bralette-bottoms-seated-white-backdrop.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-crochet-bralette-bottoms-seated-white-backdrop-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-crochet-bralette-bottoms-seated-white-backdrop-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-red-crochet-bralette-bottoms-seated-white-backdrop-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-196759\" alt=\"Sesi\u00f3n de fotos de moda en Miami: conjunto rojo de crochet sentada sobre fondo blanco\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_134 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-red-crochet-two-piece-fringed-skirt-fanned.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-red-crochet-two-piece-fringed-skirt-fanned.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-red-crochet-two-piece-fringed-skirt-fanned-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-red-crochet-two-piece-fringed-skirt-fanned-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-red-crochet-two-piece-fringed-skirt-fanned-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-196761\" alt=\"Book fotogr\u00e1fico en Miami: conjunto rojo de crochet con la falda de flecos extendida\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_135 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-scaled.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-scaled.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-rugby-top-athletic-shorts-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-193020\" alt=\"Book de fotos en Miami: lentes de sol, top rugby a rayas, shorts deportivos y diadema\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_136 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-sweater-athletic-shorts-side-pose-photoshoot-miami-studio-scaled.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-sweater-athletic-shorts-side-pose-photoshoot-miami-studio-scaled.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-sweater-athletic-shorts-side-pose-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-sweater-athletic-shorts-side-pose-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/striped-sweater-athletic-shorts-side-pose-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-193022\" alt=\"Sesi\u00f3n de fotos de moda en Miami: su\u00e9ter vino a rayas, shorts deportivos y tacones de perfil\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_137 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-striped-collared-sweater-headband-sitting.webp\" width=\"2160\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-striped-collared-sweater-headband-sitting.webp 2160w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-striped-collared-sweater-headband-sitting-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-striped-collared-sweater-headband-sitting-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-striped-collared-sweater-headband-sitting-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2160px, 100vw\" class=\"wp-image-196762\" alt=\"Moda editorial en Miami: su\u00e9ter a rayas con cuello y diadema sentada con las piernas cruzadas\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_138 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-rental-with-lighting-included.jpg\" width=\"1080\" height=\"1349\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-rental-with-lighting-included.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-rental-with-lighting-included-980x1224.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-rental-with-lighting-included-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101491\" alt=\"Sesi\u00f3n de fotos de moda en Miami: blazer negro y botas altas en un sill\u00f3n de cuero junto a una escalera\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:0% 50%\" \/><\/span><\/div><div class=\"et_pb_image_139 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-brown-crop-top-shorts-thigh-high-boots-seated-floor.webp\" width=\"1010\" height=\"675\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-brown-crop-top-shorts-thigh-high-boots-seated-floor.webp 1010w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-brown-crop-top-shorts-thigh-high-boots-seated-floor-980x655.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photoshoot-miami-brown-crop-top-shorts-thigh-high-boots-seated-floor-480x321.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1010px, 100vw\" class=\"wp-image-196757\" alt=\"Sesi\u00f3n de fotos de moda en Miami: top corto marr\u00f3n, shorts y botas altas sentada en el piso\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_140 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-family-portraits.jpg\" width=\"1080\" height=\"1349\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-family-portraits.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-family-portraits-980x1224.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-family-portraits-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101490\" alt=\"Book de fotos en Miami: cabello rojo, blazer negro y botas en un sill\u00f3n de cuero\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:24% 50%\" \/><\/span><\/div><div class=\"et_pb_image_141 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-influencer-photo-shoots.jpg\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-influencer-photo-shoots.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-influencer-photo-shoots-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-influencer-photo-shoots-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101472\" alt=\"Book de fotos en Miami: cabello rizado y top blanco strapless con la mano en la mejilla\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:0% 50%\" \/><\/span><\/div><div class=\"et_pb_image_142 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-video-production.jpg\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-video-production.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-video-production-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-video-production-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101473\" alt=\"Book fotogr\u00e1fico en Miami: cabello rizado y top blanco con las manos enmarcando el rostro\" title=\"Fashion photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:0% 50%\" \/><\/span><\/div><div class=\"et_pb_image_143 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-birthday-photo-shoots.jpg\" width=\"1080\" height=\"1349\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-birthday-photo-shoots.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-birthday-photo-shoots-980x1224.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-birthday-photo-shoots-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101497\" alt=\"Sesi\u00f3n de fotos de moda en Miami: primer plano sonriente con cabello rizado y top negro\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_144 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-black-white-dancer-sports-bra-tights-hair-motion.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-black-white-dancer-sports-bra-tights-hair-motion.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-black-white-dancer-sports-bra-tights-hair-motion-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-black-white-dancer-sports-bra-tights-hair-motion-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-fashion-photographer-black-white-dancer-sports-bra-tights-hair-motion-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196768\" alt=\"Book de fotos en Miami: bailarina en blanco y negro con top deportivo y medias, cabello en movimiento\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_145 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-black-white-wide-stance-pose-bra-top.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-black-white-wide-stance-pose-bra-top.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-black-white-wide-stance-pose-bra-top-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-black-white-wide-stance-pose-bra-top-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-photo-studio-black-white-wide-stance-pose-bra-top-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196769\" alt=\"Moda editorial en Miami: retrato en blanco y negro con top negro y medias en pose abierta\" title=\"Editorial photoshoot at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_146 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-sepia-crouching-pose-black-bra-top-tights.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-sepia-crouching-pose-black-bra-top-tights.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-sepia-crouching-pose-black-bra-top-tights-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-sepia-crouching-pose-black-bra-top-tights-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/fashion-photography-studio-miami-sepia-crouching-pose-black-bra-top-tights-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196764\" alt=\"Book fotogr\u00e1fico en Miami: pose agachada en sepia con top negro, medias y tacones\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_147 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots.jpg\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-kids-photo-shoots-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101461\" alt=\"Book de fotos en Miami: retrato en blanco y negro con trenzas y el rostro cubierto con tela\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_148 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-white-figure-suspended-strings-white-set.jpg\" width=\"1080\" height=\"1349\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-white-figure-suspended-strings-white-set.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-white-figure-suspended-strings-white-set-980x1224.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-black-white-figure-suspended-strings-white-set-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196763\" alt=\"Moda editorial en Miami: figura en blanco y negro suspendida por hilos sobre un set blanco\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_149 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-pet-photography.jpg\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-pet-photography.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-pet-photography-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-pet-photography-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101460\" alt=\"Book fotogr\u00e1fico en Miami: pose de patada en blanco y negro con hilos sobre la cabeza\" title=\"Fashion photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_150 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/wynwood-influencer-photo-studio-miami-rental-scaled.jpg\" width=\"1920\" height=\"2880\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/wynwood-influencer-photo-studio-miami-rental-scaled.jpg 1920w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/wynwood-influencer-photo-studio-miami-rental-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/wynwood-influencer-photo-studio-miami-rental-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/wynwood-influencer-photo-studio-miami-rental-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1920px, 100vw\" class=\"wp-image-188254\" alt=\"Book fotogr\u00e1fico en Miami: camisa azul sentada en el piso sobre fondo gris\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_151 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/miami-studio-rental-with-lighting-included-800.webp\" width=\"800\" height=\"1200\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/miami-studio-rental-with-lighting-included-800.webp 800w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/miami-studio-rental-with-lighting-included-800-480x720.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" class=\"wp-image-195833\" alt=\"Book de fotos en Miami: vestido largo beige de sat\u00e9n frente a un fondo beige drapeado\" title=\"Miami fashion photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_152 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-blue-shirt-reclining-gray-modular-sofa.jpg\" width=\"2880\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-blue-shirt-reclining-gray-modular-sofa.jpg 2880w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-blue-shirt-reclining-gray-modular-sofa-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-blue-shirt-reclining-gray-modular-sofa-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/editorial-photoshoot-miami-blue-shirt-reclining-gray-modular-sofa-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2880px, 100vw\" class=\"wp-image-196765\" alt=\"Moda editorial en Miami: camisa azul recostada en un sof\u00e1 modular gris\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_153 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/miami-family-portrait-studio-800.webp\" width=\"800\" height=\"1200\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/miami-family-portrait-studio-800.webp 800w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/miami-family-portrait-studio-800-480x720.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" class=\"wp-image-195832\" alt=\"Sesi\u00f3n de fotos de moda en Miami: top blanco corto y jeans holgados frente a un fondo beige\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_154 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-cyc-wall-studio-full-body-fashion-shoot.jpg\" width=\"2048\" height=\"3071\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-cyc-wall-studio-full-body-fashion-shoot.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-cyc-wall-studio-full-body-fashion-shoot-1280x1919.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-cyc-wall-studio-full-body-fashion-shoot-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-cyc-wall-studio-full-body-fashion-shoot-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189502\" alt=\"Book de fotos en Miami: look negro agachada con una c\u00e1mara sobre fondo blanco\" title=\"Fashion photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_155 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-product-photography.jpg\" width=\"1080\" height=\"1349\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-product-photography.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-product-photography-980x1224.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-product-photography-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101489\" alt=\"Sesi\u00f3n de fotos de moda en Miami: top blanco y pantal\u00f3n de cuero negro agachada sobre fondo blanco\" title=\"Fashion photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_156 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-group-photo-shoots.jpg\" width=\"1080\" height=\"1349\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-group-photo-shoots.jpg 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-group-photo-shoots-980x1224.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-group-photo-shoots-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-101462\" alt=\"Moda editorial en Miami: camiseta blanca y pantal\u00f3n cargo en un banco frente a un fondo de peri\u00f3dicos\" title=\"Editorial photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_5 et_pb_section et_section_regular et_block_section gal-photos gal-photos--maternity cc-portfolio cc-band-gallery\" id=\"gal-maternity\"><div class=\"et_pb_row_5 et_pb_row et_block_row\"><div class=\"et_pb_column_5 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_157 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1795\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio-1280x1596.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio-980x1222.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-warm-wall-photoshoot-miami-studio-480x598.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192932\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: arte corporal de hoja de oro frente a una pared \u00e1mbar\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_158 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-cuffs-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1795\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-cuffs-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-cuffs-photoshoot-miami-studio-1280x1596.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-cuffs-photoshoot-miami-studio-980x1222.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/gold-leaf-maternity-cuffs-photoshoot-miami-studio-480x598.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192933\" alt=\"Fotos de maternidad en Miami: arte corporal dorado y brazaletes met\u00e1licos frente a una pared dorada\" title=\"Miami maternity photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_159 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-cutout-maternity-gown-bump-side-profile-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192934\" alt=\"Fotos de embarazo en Miami: vestido negro de manga larga con aberturas, de perfil\" title=\"Maternity photo studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_160 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/smiling-black-maternity-gown-bump-glamour-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/smiling-black-maternity-gown-bump-glamour-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/smiling-black-maternity-gown-bump-glamour-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/smiling-black-maternity-gown-bump-glamour-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/smiling-black-maternity-gown-bump-glamour-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192935\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: futura mam\u00e1 sonriente con vestido negro y aretes llamativos\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_161 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photoshoot-miami-mom-to-be-black-cutout-gown-holding-daughters-hand-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196797\" alt=\"Sesi\u00f3n de fotos embarazada en familia en Miami: vestido negro tomada de la mano de su hija\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_162 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-content-creator-studio-near-downtown-and-brickell.jpg\" width=\"1024\" height=\"1280\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-content-creator-studio-near-downtown-and-brickell.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-content-creator-studio-near-downtown-and-brickell-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-content-creator-studio-near-downtown-and-brickell-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189965\" alt=\"Sesi\u00f3n de fotos familiar en Miami: mam\u00e1 de rodillas cargando a su hija peque\u00f1a, ambas de negro\" title=\"Family photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_163 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photography-miami-photo-studio-white-ruffles-stool.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photography-miami-photo-studio-white-ruffles-stool.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photography-miami-photo-studio-white-ruffles-stool-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photography-miami-photo-studio-white-ruffles-stool-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/maternity-photography-miami-photo-studio-white-ruffles-stool-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196723\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: futura mam\u00e1 con top y falda blanca de volantes apoyada en un taburete de madera\" title=\"Maternity Photography, Miami Photo Studio | White Ruffles\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_164 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-private-photo-studio-near-coral-gables-and-wynwood.jpg\" width=\"1024\" height=\"1280\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-private-photo-studio-near-coral-gables-and-wynwood.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-private-photo-studio-near-coral-gables-and-wynwood-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-private-photo-studio-near-coral-gables-and-wynwood-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189970\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: top de mezclilla abierto sobre la pancita junto al arco\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_165 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photography-studio-near-brickell-and-miami-beach.jpg\" width=\"1024\" height=\"1280\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photography-studio-near-brickell-and-miami-beach.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photography-studio-near-brickell-and-miami-beach-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photography-studio-near-brickell-and-miami-beach-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189969\" alt=\"Fotos de embarazo en Miami: mezclilla de hombros descubiertos y jeans rotos junto al arco\" title=\"Maternity photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_166 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown.jpg\" width=\"1024\" height=\"1280\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-homestead-and-downtown-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189967\" alt=\"Fotos de maternidad en Miami: top de mezclilla y jeans sentada junto al arco con un olivo\" title=\"Miami maternity photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_167 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking.jpg\" width=\"1024\" height=\"1536\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-downtown-photo-studio-with-cyclorama-and-parking-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189966\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: conjunto blanco de lino en un sof\u00e1 crema junto a cortinas\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_168 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-kendall-and-miami-beach.jpg\" width=\"1024\" height=\"1536\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-kendall-and-miami-beach.jpg 1024w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-kendall-and-miami-beach-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/04\/miami-photo-studio-rental-near-kendall-and-miami-beach-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" class=\"wp-image-189968\" alt=\"Fotos de maternidad en Miami: conjunto blanco abrazando la pancita en un sof\u00e1 con luz natural\" title=\"Miami maternity photographer\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_169 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-branding-sessions.jpg\" width=\"1280\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-branding-sessions.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-branding-sessions-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-branding-sessions-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1280px, 100vw\" class=\"wp-image-101453\" alt=\"Fotos de embarazo en Miami: velo de tul negro sobre la pancita, sentada sobre fondo blanco\" title=\"Maternity photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_170 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-actor-headshots-scaled.jpg\" width=\"2880\" height=\"4320\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-actor-headshots-scaled.jpg 2880w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-actor-headshots-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-actor-headshots-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-actor-headshots-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2880px, 100vw\" class=\"wp-image-101451\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: futura mam\u00e1 sonriente con traje negro abierto\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_171 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-e-commerce-photography.jpg\" width=\"2880\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-e-commerce-photography.jpg 2880w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-e-commerce-photography-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-e-commerce-photography-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2024\/12\/miami-studio-for-e-commerce-photography-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2880px, 100vw\" class=\"wp-image-101452\" alt=\"Sesi\u00f3n de fotos embarazada en Miami: tul negro extendido sobre un piso blanco\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_172 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/maternity-couple-kiss-baby-booties-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1049\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/maternity-couple-kiss-baby-booties-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/maternity-couple-kiss-baby-booties-photoshoot-miami-studio-1280x932.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/maternity-couple-kiss-baby-booties-photoshoot-miami-studio-980x714.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/maternity-couple-kiss-baby-booties-photoshoot-miami-studio-480x350.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192977\" alt=\"Sesi\u00f3n de fotos embarazada en pareja en Miami: beso en la frente sosteniendo zapatitos de beb\u00e9\" title=\"Maternity photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_173 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa.webp\" width=\"1432\" height=\"1909\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa.webp 1432w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-studio-miami-pastel-yellow-blue-sofa-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1432px, 100vw\" class=\"wp-image-196699\" alt=\"Fotos familiares en Miami: padres de amarillo y azul pastel en un sof\u00e1 gris con su hijo en los hombros del pap\u00e1\" title=\"Family Photography Studio in Miami | Pastel Sofa Portrait\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_174 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portraits-miami-photographer-pastel-outfits-toddler.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portraits-miami-photographer-pastel-outfits-toddler.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portraits-miami-photographer-pastel-outfits-toddler-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portraits-miami-photographer-pastel-outfits-toddler-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portraits-miami-photographer-pastel-outfits-toddler-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196701\" alt=\"Fotos familiares con fot\u00f3grafo en Miami: padres con ropa pastel combinada y su hijo de su\u00e9ter amarillo en el regazo de mam\u00e1\" title=\"Family Portraits by a Miami Photographer | Pastel Outfits\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_175 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photoshoot-miami-photo-studio-dad-lifting-toddler.webp\" width=\"1334\" height=\"1778\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photoshoot-miami-photo-studio-dad-lifting-toddler.webp 1334w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photoshoot-miami-photo-studio-dad-lifting-toddler-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photoshoot-miami-photo-studio-dad-lifting-toddler-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photoshoot-miami-photo-studio-dad-lifting-toddler-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1334px, 100vw\" class=\"wp-image-196700\" alt=\"Sesi\u00f3n de fotos familiar en Miami: pap\u00e1 levantando a su hijo de su\u00e9ter amarillo mientras mam\u00e1 r\u00ede sobre un fondo blanco\" title=\"Family Photoshoot, Miami Photo Studio | Dad Lifts His Son\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_176 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-photographer-miami-white-curtain-leather-chair.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-photographer-miami-white-curtain-leather-chair.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-photographer-miami-white-curtain-leather-chair-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-photographer-miami-white-curtain-leather-chair-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-photographer-miami-white-curtain-leather-chair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196725\" alt=\"Fotos familiares de estudio en Miami: padres y su hijo de blanco y beige junto a un sill\u00f3n de cuero y una cortina blanca\" title=\"Family Portrait Photographer, Miami | White Curtain, Chair\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_177 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photos-miami-photo-studio-mother-son-beige-backdrop.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photos-miami-photo-studio-mother-son-beige-backdrop.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photos-miami-photo-studio-mother-son-beige-backdrop-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photos-miami-photo-studio-mother-son-beige-backdrop-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photos-miami-photo-studio-mother-son-beige-backdrop-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196726\" alt=\"Fotos familiares en un estudio de fotos de Miami: mam\u00e1 con vestido crema agachada junto a su hijo sobre un fondo beige\" title=\"Family Photos, Miami Photo Studio | Mother and Son\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_178 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-miami-photographer-father-son-wooden-stool.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-miami-photographer-father-son-wooden-stool.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-miami-photographer-father-son-wooden-stool-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-miami-photographer-father-son-wooden-stool-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photography-miami-photographer-father-son-wooden-stool-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196727\" alt=\"Sesi\u00f3n de fotos familiar con fot\u00f3grafo en Miami: pap\u00e1 de blanco y beige con su hijo junto a un taburete sobre un fondo beige\" title=\"Family Photography by a Miami Photographer | Father and Son\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_179 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-session-miami-photography-studio-toddler-stool.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-session-miami-photography-studio-toddler-stool.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-session-miami-photography-studio-toddler-stool-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-session-miami-photography-studio-toddler-stool-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-session-miami-photography-studio-toddler-stool-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196728\" alt=\"Fotos familiares en un estudio de fotograf\u00eda de Miami: ni\u00f1o con camiseta blanca y pantal\u00f3n beige sentado en un taburete\" title=\"Family Portrait Session, Miami Photography Studio | Toddler\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_180 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-family-photographer-parents-hugging-son-beige-backdrop-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196729\" alt=\"Sesi\u00f3n de fotos en familia en Miami: padres de blanco y crema abrazando a su hijo sobre un fondo beige\" title=\"Miami Family Photographer | Parents Hugging Their Son\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_181 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photo-session-miami-photography-studio-white-and-denim-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196717\" alt=\"Sesi\u00f3n de fotos familiar en un estudio de Miami: una ni\u00f1a y tres mujeres de su familia con camisas blancas y jeans, sentadas\" title=\"Family Photo Session, Miami Photography Studio | White, Denim\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_182 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photographer-miami-generations-white-shirts-jeans.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photographer-miami-generations-white-shirts-jeans.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photographer-miami-generations-white-shirts-jeans-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photographer-miami-generations-white-shirts-jeans-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-photographer-miami-generations-white-shirts-jeans-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196714\" alt=\"Fot\u00f3grafo de fotos familiares en Miami: una ni\u00f1a y tres mujeres de su familia con camisas blancas y jeans, riendo juntas\" title=\"Family Photographer in Miami | Generations in White Shirts\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_183 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-and-white-family-portrait-miami-photo-studio-twirl.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-and-white-family-portrait-miami-photo-studio-twirl.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-and-white-family-portrait-miami-photo-studio-twirl-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-and-white-family-portrait-miami-photo-studio-twirl-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-and-white-family-portrait-miami-photo-studio-twirl-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196715\" alt=\"Fotos familiares en blanco y negro en Miami: ni\u00f1a girando de la mano de su mam\u00e1 junto a dos mujeres de su familia\" title=\"Black and White Family Portrait, Miami Photo Studio | Twirl\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_184 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-studio-miami-generations-hug-black-and-white.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-studio-miami-generations-hug-black-and-white.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-studio-miami-generations-hug-black-and-white-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-studio-miami-generations-hug-black-and-white-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-portrait-studio-miami-generations-hug-black-and-white-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196716\" alt=\"Fotos familiares en un estudio fotogr\u00e1fico de Miami: una ni\u00f1a y tres mujeres de su familia abrazadas, en blanco y negro\" title=\"Family Portrait Studio in Miami | Generations Hug\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_185 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-pictures-miami-photographer-black-and-white-spin.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-pictures-miami-photographer-black-and-white-spin.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-pictures-miami-photographer-black-and-white-spin-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-pictures-miami-photographer-black-and-white-spin-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/family-pictures-miami-photographer-black-and-white-spin-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196718\" alt=\"Fotos de familia con fot\u00f3grafo en Miami: ni\u00f1a sonriente girando junto a tres mujeres de su familia, en blanco y negro\" title=\"Family Pictures by a Miami Photographer | Black and White\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_186 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-suede-jackets-portrait-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-193000\" alt=\"Sesi\u00f3n de fotos en pareja en Miami: chaqueta gris y chaqueta marr\u00f3n en un retrato cercano\" title=\"Couples photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_187 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-brown-grey-jackets-stools-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-brown-grey-jackets-stools-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-brown-grey-jackets-stools-photoshoot-miami-studio-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-brown-grey-jackets-stools-photoshoot-miami-studio-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/couple-brown-grey-jackets-stools-photoshoot-miami-studio-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192999\" alt=\"Fotos familiares en Miami: pareja con chaquetas y sombrero vaquero en bancos de madera\" title=\"Couples photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_188 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/pet-portrait-photoshoot-miami-golden-retriever-silver-wall-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196704\" alt=\"Fotos familiares con mascota en Miami: mujer recostada en una alfombra junto a su golden retriever con pa\u00f1uelo azul\" title=\"Pet Portrait Photoshoot in Miami | Golden Retriever\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_189 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couples-photoshoot-miami-photo-studio-cupcakes-golden-retriever.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couples-photoshoot-miami-photo-studio-cupcakes-golden-retriever.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couples-photoshoot-miami-photo-studio-cupcakes-golden-retriever-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couples-photoshoot-miami-photo-studio-cupcakes-golden-retriever-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couples-photoshoot-miami-photo-studio-cupcakes-golden-retriever-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196705\" alt=\"Sesi\u00f3n de fotos en pareja en Miami: mujer d\u00e1ndole un cupcake a su pareja junto a su golden retriever en un set plateado\" title=\"Couples Photoshoot, Miami Photo Studio | Cupcakes and Dog\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_190 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couple-portraits-miami-photographer-golden-retriever-silver-wall.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couple-portraits-miami-photographer-golden-retriever-silver-wall.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couple-portraits-miami-photographer-golden-retriever-silver-wall-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couple-portraits-miami-photographer-golden-retriever-silver-wall-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/couple-portraits-miami-photographer-golden-retriever-silver-wall-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196706\" alt=\"Fotos de pareja con fot\u00f3grafo en Miami: pareja sonriente de blanco y jeans con su golden retriever junto a una pared plateada\" title=\"Couple Portraits by a Miami Photographer | Golden Retriever\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_6 et_pb_section et_section_regular et_block_section gal-photos gal-photos--birthday cc-portfolio cc-band-gallery\" id=\"gal-birthday\"><div class=\"et_pb_row_6 et_pb_row et_block_row\"><div class=\"et_pb_column_6 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_191 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/21st-birthday-photoshoot-miami-photo-studio-gold-sequin-dress-balloons-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196677\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: cumplea\u00f1era de lentejuelas doradas bajo globos del 21\" title=\"21st Birthday Photoshoot, Miami Photo Studio | Gold Balloons\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_192 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photographer-miami-gold-number-balloons-sequin-dress-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196679\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: mujer sonriente de lentejuelas doradas con globos gigantes del 21\" title=\"Birthday Photographer in Miami | Gold Number Balloons\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_193 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-cake-photoshoot-miami-photo-studio-blowing-out-candles-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-cake-photoshoot-miami-photo-studio-blowing-out-candles-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-cake-photoshoot-miami-photo-studio-blowing-out-candles-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-cake-photoshoot-miami-photo-studio-blowing-out-candles-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-cake-photoshoot-miami-photo-studio-blowing-out-candles-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196678\" alt=\"Fotos de cumplea\u00f1os en Miami: cumplea\u00f1era de lentejuelas doradas soplando sus velas de 21 a\u00f1os\" title=\"Birthday Cake Photoshoot, Miami Photo Studio | Candles\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_194 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photoshoot-ideas-miami-photographer-cake-on-heels-spotlight-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photoshoot-ideas-miami-photographer-cake-on-heels-spotlight-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photoshoot-ideas-miami-photographer-cake-on-heels-spotlight-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photoshoot-ideas-miami-photographer-cake-on-heels-spotlight-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photoshoot-ideas-miami-photographer-cake-on-heels-spotlight-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196676\" alt=\"Fotos de cumplea\u00f1os en Miami: pastel de 21 a\u00f1os sobre un tac\u00f3n bajo un c\u00edrculo de luz\" title=\"Birthday Photoshoot Ideas, Miami Photographer | Cake on Heels\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_195 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-gloves-sunglasses-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196798\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: vestido negro y lentes levantando una botella de champ\u00e1n\" title=\"Black dress birthday photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_196 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-silver-number-30-balloons-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196800\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: vestido negro entre globos plateados del n\u00famero 30\" title=\"Black dress birthday photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_197 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-reclining-black-balloons.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-reclining-black-balloons.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-reclining-black-balloons-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-reclining-black-balloons-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/black-dress-birthday-photoshoot-miami-black-gown-reclining-black-balloons-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196799\" alt=\"Fotos de cumplea\u00f1os en Miami: vestido negro recostada con globos negros y champ\u00e1n\" title=\"Black dress birthday photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_198 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/birthday-newspaper-prop-black-gloves-photoshoot-miami-studio.webp\" width=\"1440\" height=\"1800\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/birthday-newspaper-prop-black-gloves-photoshoot-miami-studio.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/birthday-newspaper-prop-black-gloves-photoshoot-miami-studio-1280x1600.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/birthday-newspaper-prop-black-gloves-photoshoot-miami-studio-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/birthday-newspaper-prop-black-gloves-photoshoot-miami-studio-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-192928\" alt=\"Fotos de cumplea\u00f1os en Miami: peri\u00f3dico gigante de cumplea\u00f1os n\u00famero 30 con guantes negros\" title=\"30th birthday photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_199 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-photo-studio-miami-30-cake-topper-spotlight-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196721\" alt=\"Fotos de cumplea\u00f1os en un estudio de fotos de Miami: mujer de blazer blanco con pastel de chispas y el 30 bajo un foco\" title=\"Birthday Photo Studio in Miami | 30 Cake Topper Spotlight\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_200 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photographer-miami-frosting-on-nose.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photographer-miami-frosting-on-nose.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photographer-miami-frosting-on-nose-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photographer-miami-frosting-on-nose-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photographer-miami-frosting-on-nose-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196722\" alt=\"Fotos de cumplea\u00f1os con pastel en Miami: mujer riendo con crema en la nariz y su pastel de chispas del 30\" title=\"30th Birthday Photographer in Miami | Frosting on Her Nose\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_201 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-cake-photoshoot-miami-photographer-white-blazer.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-cake-photoshoot-miami-photographer-white-blazer.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-cake-photoshoot-miami-photographer-white-blazer-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-cake-photoshoot-miami-photographer-white-blazer-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-cake-photoshoot-miami-photographer-white-blazer-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196720\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os con pastel en Miami: mujer de blazer blanco agachada con pastel de chispas junto a unos libros\" title=\"30th Birthday Cake Photoshoot, Miami Photographer | Blazer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_202 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photoshoot-miami-photo-studio-photo-projection.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photoshoot-miami-photo-studio-photo-projection.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photoshoot-miami-photo-studio-photo-projection-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photoshoot-miami-photo-studio-photo-projection-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/30th-birthday-photoshoot-miami-photo-studio-photo-projection-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196719\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os 30 en Miami: mujer con blazer blanco y pastel del 30 frente a una foto infantil proyectada\" title=\"30th Birthday Photoshoot, Miami Photo Studio | Projection\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_203 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/27th-birthday-photoshoot-miami-photo-studio-silver-balloons-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196709\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os en Miami: mujer con blazer negro y encaje sentada entre globos plateados del 2 y el 7\" title=\"27th Birthday Photoshoot, Miami Photo Studio | Silver Balloons\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_204 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-balloon-photoshoot-miami-photography-studio-27-blazer.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-balloon-photoshoot-miami-photography-studio-27-blazer.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-balloon-photoshoot-miami-photography-studio-27-blazer-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-balloon-photoshoot-miami-photography-studio-27-blazer-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/birthday-balloon-photoshoot-miami-photography-studio-27-blazer-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196713\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os con globos en Miami: mujer con blazer negro y encaje sosteniendo globos plateados del 2 y el 7\" title=\"Birthday Balloon Photoshoot, Miami Photography Studio | 27\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_205 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/glam-birthday-photoshoot-miami-photographer-black-lace-white-chair.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/glam-birthday-photoshoot-miami-photographer-black-lace-white-chair.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/glam-birthday-photoshoot-miami-photographer-black-lace-white-chair-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/glam-birthday-photoshoot-miami-photographer-black-lace-white-chair-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/glam-birthday-photoshoot-miami-photographer-black-lace-white-chair-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196711\" alt=\"Sesi\u00f3n de fotos de cumplea\u00f1os glam en Miami: mujer con encaje negro y labios rojos recostada sobre un sill\u00f3n blanco\" title=\"Glam Birthday Photoshoot, Miami Photographer | Lace on White\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_206 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/elegant-birthday-photoshoot-miami-black-satin-white-pedestal.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/elegant-birthday-photoshoot-miami-black-satin-white-pedestal.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/elegant-birthday-photoshoot-miami-black-satin-white-pedestal-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/elegant-birthday-photoshoot-miami-black-satin-white-pedestal-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/elegant-birthday-photoshoot-miami-black-satin-white-pedestal-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196710\" alt=\"Fotos de cumplea\u00f1os en Miami: mujer de sat\u00e9n negro y medias transparentes sobre un pedestal blanco con velas\" title=\"Elegant Birthday Photoshoot in Miami | Black Satin, Pedestal\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_7 et_pb_section et_section_regular et_block_section gal-photos gal-photos--boudoir cc-portfolio cc-band-gallery\" id=\"gal-boudoir\"><div class=\"et_pb_row_7 et_pb_row et_block_row\"><div class=\"et_pb_column_7 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_207 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/private-boudoir-photoshoot-miami-photo-studio-white-shirt-brown-backdrop-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196651\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: mujer rubia con camisa blanca holgada frente a un fondo marr\u00f3n\" title=\"Private Boudoir Photoshoot, Miami Photo Studio | White Shirt\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_208 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photos-miami-photographer-white-shirt-wooden-stool-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photos-miami-photographer-white-shirt-wooden-stool-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photos-miami-photographer-white-shirt-wooden-stool-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photos-miami-photographer-white-shirt-wooden-stool-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photos-miami-photographer-white-shirt-wooden-stool-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196652\" alt=\"Fotos boudoir en Miami: mujer con camisa blanca apoyada en un taburete de madera\" title=\"Boudoir Photos by a Miami Photographer | White Shirt, Stool\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_209 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photo-studio-miami-black-bodysuit-floor-pose-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photo-studio-miami-black-bodysuit-floor-pose-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photo-studio-miami-black-bodysuit-floor-pose-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photo-studio-miami-black-bodysuit-floor-pose-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photo-studio-miami-black-bodysuit-floor-pose-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196653\" alt=\"Sesi\u00f3n boudoir privada en Miami: mujer con body negro recostada en el piso con luz suave\" title=\"Boudoir Photo Studio in Miami | Black Bodysuit Floor Pose\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_210 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-studio-black-corset-fishnets-bunny-ears-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196666\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: mujer con cors\u00e9 negro, medias de red y orejas de conejo en un set blanco\" title=\"Miami Boudoir Photography Studio | Black Corset, Bunny Ears\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_211 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-black-corset-close-up-portrait-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-black-corset-close-up-portrait-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-black-corset-close-up-portrait-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-black-corset-close-up-portrait-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-black-corset-close-up-portrait-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196667\" alt=\"Fotos boudoir en Miami: retrato con cors\u00e9 negro y orejas de conejo, mano en los labios\" title=\"Boudoir Photographer in Miami | Black Corset Close-Up\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_212 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-corset-white-curved-set-1.webp\" width=\"1536\" height=\"2048\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-corset-white-curved-set-1.webp 1536w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-corset-white-curved-set-1-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-corset-white-curved-set-1-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-corset-white-curved-set-1-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1536px, 100vw\" class=\"wp-image-196668\" alt=\"Sesi\u00f3n boudoir privada en Miami: mujer con cors\u00e9 negro sentada en la plataforma blanca curva\" title=\"Boudoir Photography Studio in Miami | Corset on White Set\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_213 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-black-lace-bodysuit-reclining-fur-coat-red-rose.webp\" width=\"1440\" height=\"1914\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-black-lace-bodysuit-reclining-fur-coat-red-rose.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-black-lace-bodysuit-reclining-fur-coat-red-rose-1280x1701.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-black-lace-bodysuit-reclining-fur-coat-red-rose-980x1303.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-black-lace-bodysuit-reclining-fur-coat-red-rose-480x638.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196791\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: body de encaje negro recostada sobre un abrigo de piel con una rosa\" title=\"Boudoir photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_214 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-sheer-lace-bodysuit-taupe-fur-coat-spotlight.webp\" width=\"1440\" height=\"1914\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-sheer-lace-bodysuit-taupe-fur-coat-spotlight.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-sheer-lace-bodysuit-taupe-fur-coat-spotlight-1280x1701.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-sheer-lace-bodysuit-taupe-fur-coat-spotlight-980x1303.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-sheer-lace-bodysuit-taupe-fur-coat-spotlight-480x638.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196792\" alt=\"Fotos boudoir en Miami: body de encaje transparente sobre un abrigo de piel bajo un foco\" title=\"Miami boudoir photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_215 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-fur-coat-black-tights-floor-spotlight.webp\" width=\"1440\" height=\"1914\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-fur-coat-black-tights-floor-spotlight.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-fur-coat-black-tights-floor-spotlight-1280x1701.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-fur-coat-black-tights-floor-spotlight-980x1303.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-fur-coat-black-tights-floor-spotlight-480x638.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196793\" alt=\"Sesi\u00f3n boudoir privada en Miami: abrigo de piel y medias negras en el piso dentro de un foco\" title=\"Miami boudoir photography\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_216 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms.webp\" width=\"1440\" height=\"1914\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms-1280x1701.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms-980x1303.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-monogram-lace-bodysuit-fur-coat-arms-480x638.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196794\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: body de encaje con monograma y abrigo de piel en los brazos\" title=\"Boudoir photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_217 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-draped-fur-coat-holding-red-rose.webp\" width=\"1440\" height=\"1919\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-draped-fur-coat-holding-red-rose.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-draped-fur-coat-holding-red-rose-1280x1706.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-draped-fur-coat-holding-red-rose-980x1306.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-draped-fur-coat-holding-red-rose-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196795\" alt=\"Fotos boudoir en Miami: body de encaje y abrigo de piel con una rosa roja bajo un foco\" title=\"Miami boudoir photography\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_218 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-crouching-open-fur-coat-soft-circular-spotlight.webp\" width=\"1440\" height=\"1914\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-crouching-open-fur-coat-soft-circular-spotlight.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-crouching-open-fur-coat-soft-circular-spotlight-1280x1701.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-crouching-open-fur-coat-soft-circular-spotlight-980x1303.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-crouching-open-fur-coat-soft-circular-spotlight-480x638.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196796\" alt=\"Sesi\u00f3n boudoir privada en Miami: agachada con abrigo de piel abierto dentro de un foco circular\" title=\"Boudoir photographer in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_219 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-black-lace-bralette-garter-set-gold-garment-rack-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196785\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: bralette de encaje negro y liguero junto a un perchero dorado\" title=\"Miami boudoir photography\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_220 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-windswept-hair-black-lace-bralette-garter-set.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-windswept-hair-black-lace-bralette-garter-set.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-windswept-hair-black-lace-bralette-garter-set-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-windswept-hair-black-lace-bralette-garter-set-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photographer-miami-windswept-hair-black-lace-bralette-garter-set-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196787\" alt=\"Sesi\u00f3n boudoir privada en Miami: cabello al viento con bralette de encaje negro y liguero\" title=\"Boudoir photographer in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_221 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves.webp\" width=\"1440\" height=\"1918\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves-1280x1705.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves-980x1305.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-photo-studio-sheer-lace-bodysuit-mesh-gloves-480x639.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196788\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: body de encaje transparente y guantes de malla sobre un bloque\" title=\"Boudoir photoshoot at a Miami photo studio\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_222 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-leaning-crossed-legs-white-block.webp\" width=\"1440\" height=\"1918\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-leaning-crossed-legs-white-block.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-leaning-crossed-legs-white-block-1280x1705.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-leaning-crossed-legs-white-block-980x1305.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photography-lace-bodysuit-leaning-crossed-legs-white-block-480x639.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196789\" alt=\"Fotos boudoir en Miami: body de encaje inclinada sobre las piernas cruzadas en un bloque\" title=\"Miami boudoir photography\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_223 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-sheer-lace-bodysuit-standing-white-pedestal.webp\" width=\"1440\" height=\"1918\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-sheer-lace-bodysuit-standing-white-pedestal.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-sheer-lace-bodysuit-standing-white-pedestal-1280x1705.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-sheer-lace-bodysuit-standing-white-pedestal-980x1305.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-sheer-lace-bodysuit-standing-white-pedestal-480x639.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196790\" alt=\"Sesi\u00f3n boudoir privada en Miami: body de encaje transparente de pie sobre un pedestal blanco\" title=\"Boudoir photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_224 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-off-shoulder-crop-top-bodysuit-glasses-wooden-desk.webp\" width=\"1080\" height=\"1350\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-off-shoulder-crop-top-bodysuit-glasses-wooden-desk.webp 1080w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-off-shoulder-crop-top-bodysuit-glasses-wooden-desk-980x1225.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photoshoot-miami-off-shoulder-crop-top-bodysuit-glasses-wooden-desk-480x600.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1080px, 100vw\" class=\"wp-image-196782\" alt=\"Sesi\u00f3n de fotos boudoir en Miami: top de hombros descubiertos, body y lentes en un escritorio\" title=\"Boudoir photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_225 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-crop-top-glasses-leg-warmers-posed-wooden-desk.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-crop-top-glasses-leg-warmers-posed-wooden-desk.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-crop-top-glasses-leg-warmers-posed-wooden-desk-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-crop-top-glasses-leg-warmers-posed-wooden-desk-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-boudoir-photographer-crop-top-glasses-leg-warmers-posed-wooden-desk-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196783\" alt=\"Fotos boudoir en Miami: top corto, lentes y calentadores posando en un escritorio de madera\" title=\"Miami boudoir photographer\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><div class=\"et_pb_image_226 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-long-sleeve-bodysuit-leg-warmers-profile-desk.webp\" width=\"1440\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-long-sleeve-bodysuit-leg-warmers-profile-desk.webp 1440w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-long-sleeve-bodysuit-leg-warmers-profile-desk-1280x1707.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-long-sleeve-bodysuit-leg-warmers-profile-desk-980x1307.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/boudoir-photography-studio-miami-long-sleeve-bodysuit-leg-warmers-profile-desk-480x640.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1440px, 100vw\" class=\"wp-image-196784\" alt=\"Sesi\u00f3n boudoir privada en Miami: body de manga larga y calentadores de perfil junto a un escritorio\" title=\"Boudoir photography studio in Miami\" loading=\"lazy\" decoding=\"async\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_8 et_pb_section et_section_regular et_block_section gal-photos gal-photos--christmas cc-portfolio cc-band-gallery\" id=\"gal-christmas\"><div class=\"et_pb_row_8 et_pb_row et_block_row\"><div class=\"et_pb_column_8 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_227 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-grand-lobby-set-full-view.jpg\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-grand-lobby-set-full-view.jpg 2560w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-grand-lobby-set-full-view-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-grand-lobby-set-full-view-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-grand-lobby-set-full-view-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2560px, 100vw\" class=\"wp-image-196409\" alt=\"Set de fotos navide\u00f1as en Miami: familia de cuatro entre un \u00e1rbol con lazos rojos y un carrito dorado\" title=\"Christmas photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 100%\" \/><\/span><\/div><div class=\"et_pb_image_228 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-nutcracker-set-tree-rug-saddle.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-nutcracker-set-tree-rug-saddle.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-nutcracker-set-tree-rug-saddle-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-nutcracker-set-tree-rug-saddle-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-nutcracker-set-tree-rug-saddle-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196424\" alt=\"Set de fotos navide\u00f1as en Miami: familia de cuatro en una alfombra blanca bajo un \u00e1rbol con lazos\" title=\"Christmas photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_229 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-grand-lobby-set-dog-bellhop-cart.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-grand-lobby-set-dog-bellhop-cart.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-grand-lobby-set-dog-bellhop-cart-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-grand-lobby-set-dog-bellhop-cart-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-grand-lobby-set-dog-bellhop-cart-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196405\" alt=\"Set de fotos navide\u00f1as en Miami: pareja con su golden retriever junto al carrito dorado\" title=\"Christmas photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_230 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-nutcracker-set-dog-french-doors.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-nutcracker-set-dog-french-doors.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-nutcracker-set-dog-french-doors-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-nutcracker-set-dog-french-doors-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photoshoot-miami-nutcracker-set-dog-french-doors-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196423\" alt=\"Set de fotos navide\u00f1as en Miami: pareja en una banca frente a puertas francesas con su perro\" title=\"Christmas photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_231 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-grand-lobby-set-full-room.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-grand-lobby-set-full-room.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-grand-lobby-set-full-room-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-grand-lobby-set-full-room-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photos-miami-grand-lobby-set-full-room-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196403\" alt=\"Set de fotos navide\u00f1as en Miami: familia de cuatro frente a la chimenea tallada del set Grand Lobby\" title=\"Christmas photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_232 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-nutcracker-set-full-view.jpg\" width=\"2560\" height=\"1440\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-nutcracker-set-full-view.jpg 2560w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-nutcracker-set-full-view-1280x720.jpg?crop=1 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-nutcracker-set-full-view-980x551.jpg?crop=1 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-family-photoshoot-miami-nutcracker-set-full-view-480x270.jpg?crop=1 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2560px, 100vw\" class=\"wp-image-196426\" alt=\"Set de fotos navide\u00f1as en Miami: familia de cuatro junto al cascanueces y el \u00e1rbol con lazos blancos\" title=\"Christmas photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_233 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-bench.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-bench.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-bench-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-bench-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-bench-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196416\" alt=\"Set de fotos navide\u00f1as en Miami: cascanueces de tama\u00f1o real junto a una banca crema y puertas francesas\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_234 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-red-velvet-bow.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-red-velvet-bow.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-red-velvet-bow-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-red-velvet-bow-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-red-velvet-bow-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196408\" alt=\"Set de fotos navide\u00f1as en Miami: carrito dorado atado con un lazo de terciopelo vino\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_235 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-rocking-horse-tree.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-rocking-horse-tree.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-rocking-horse-tree-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-rocking-horse-tree-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-rocking-horse-tree-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196414\" alt=\"Set de fotos navide\u00f1as en Miami: caballito mecedor blanco bajo un \u00e1rbol con lazos blancos gigantes\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_236 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-gold-bellhop-cart-velvet-gifts.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-gold-bellhop-cart-velvet-gifts.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-gold-bellhop-cart-velvet-gifts-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-gold-bellhop-cart-velvet-gifts-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-gold-bellhop-cart-velvet-gifts-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196406\" alt=\"Set de fotos navide\u00f1as en Miami: carrito dorado con regalos de terciopelo, lazos blancos y perlas\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_237 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-nutcracker-set-arched-nook-dog.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-nutcracker-set-arched-nook-dog.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-nutcracker-set-arched-nook-dog-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-nutcracker-set-arched-nook-dog-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-nutcracker-set-arched-nook-dog-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196421\" alt=\"Set de fotos navide\u00f1as en Miami: pareja en un rinc\u00f3n en arco con su golden retriever y un cascanueces\" title=\"Christmas photoshoot in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_238 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-grand-lobby-set-fireplace-dog.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-grand-lobby-set-fireplace-dog.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-grand-lobby-set-fireplace-dog-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-grand-lobby-set-fireplace-dog-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-couple-photos-miami-grand-lobby-set-fireplace-dog-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196407\" alt=\"Set de fotos navide\u00f1as en Miami: pareja en el piso junto a la chimenea con su golden retriever\" title=\"Christmas photography in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:100% 50%\" \/><\/span><\/div><div class=\"et_pb_image_239 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-gold-arched-mirror.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-gold-arched-mirror.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-gold-arched-mirror-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-gold-arched-mirror-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-gold-arched-mirror-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196419\" alt=\"Set de fotos navide\u00f1as en Miami: espejo dorado en arco que refleja el set El Cascanueces\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_240 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-decor-miami-nutcracker-set-arched-display-niches.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-decor-miami-nutcracker-set-arched-display-niches.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-decor-miami-nutcracker-set-arched-display-niches-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-decor-miami-nutcracker-set-arched-display-niches-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-decor-miami-nutcracker-set-arched-display-niches-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196420\" alt=\"Set de fotos navide\u00f1as en Miami: nichos en arco con arbolitos brillantes, cascanueces y rosas\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_241 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photo-studio-miami-nutcracker-set-wide-view.jpg\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photo-studio-miami-nutcracker-set-wide-view.jpg 2560w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photo-studio-miami-nutcracker-set-wide-view-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photo-studio-miami-nutcracker-set-wide-view-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photo-studio-miami-nutcracker-set-wide-view-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2560px, 100vw\" class=\"wp-image-196425\" alt=\"Set de fotos navide\u00f1as en Miami: vista amplia del set El Cascanueces con espacio libre al frente\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_242 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-and-stocking.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-and-stocking.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-and-stocking-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-and-stocking-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-grand-lobby-set-bellhop-cart-and-stocking-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196411\" alt=\"Set de fotos navide\u00f1as en Miami: carrito dorado con regalos junto a una chimenea con guirnalda\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_243 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-tree-white-bows-arched-niches.jpg\" width=\"1707\" height=\"2134\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-tree-white-bows-arched-niches.jpg 1707w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-tree-white-bows-arched-niches-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-tree-white-bows-arched-niches-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-tree-white-bows-arched-niches-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1707px, 100vw\" class=\"wp-image-196418\" alt=\"Set de fotos navide\u00f1as en Miami: \u00e1rbol con lazos blancos junto a nichos en arco y una silla de montar\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_244 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photo-studio-miami-grand-lobby-set-wide-room-view.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photo-studio-miami-grand-lobby-set-wide-room-view.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photo-studio-miami-grand-lobby-set-wide-room-view-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photo-studio-miami-grand-lobby-set-wide-room-view-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photo-studio-miami-grand-lobby-set-wide-room-view-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196410\" alt=\"Set de fotos navide\u00f1as en Miami: el set Grand Lobby con cortinas transl\u00facidas en un estudio blanco\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_245 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-close-up.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-close-up.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-close-up-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-close-up-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-life-size-nutcracker-close-up-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196422\" alt=\"Set de fotos navide\u00f1as en Miami: cascanueces de tama\u00f1o real con sombrero verde y corona dorada\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_246 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-nutcracker-set-slim-tree-gift-boxes.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-nutcracker-set-slim-tree-gift-boxes.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-nutcracker-set-slim-tree-gift-boxes-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-nutcracker-set-slim-tree-gift-boxes-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-nutcracker-set-slim-tree-gift-boxes-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196417\" alt=\"Set de fotos navide\u00f1as en Miami: arbolito con lazos de cinta junto a cajas de regalo plateadas\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_247 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-niche-details-white-roses.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-niche-details-white-roses.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-niche-details-white-roses-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-niche-details-white-roses-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-photoshoot-miami-nutcracker-set-niche-details-white-roses-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196415\" alt=\"Set de fotos navide\u00f1as en Miami: nichos en arco con rosas blancas, farol dorado y candeleros\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_248 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-grand-lobby-set-mantel-reindeer-detail.jpg\" width=\"2560\" height=\"1707\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-grand-lobby-set-mantel-reindeer-detail.jpg 2560w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-grand-lobby-set-mantel-reindeer-detail-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-grand-lobby-set-mantel-reindeer-detail-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-backdrop-miami-grand-lobby-set-mantel-reindeer-detail-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2560px, 100vw\" class=\"wp-image-196429\" alt=\"Set de fotos navide\u00f1as en Miami: chimenea tallada con guirnalda, reno de terciopelo y \u00e1rbol\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_249 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-tree-miami-nutcracker-set-white-bows-silver-tinsel.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-tree-miami-nutcracker-set-white-bows-silver-tinsel.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-tree-miami-nutcracker-set-white-bows-silver-tinsel-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-tree-miami-nutcracker-set-white-bows-silver-tinsel-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/christmas-tree-miami-nutcracker-set-white-bows-silver-tinsel-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196413\" alt=\"Set de fotos navide\u00f1as en Miami: \u00e1rbol decorado con lazos blancos gigantes y oropel plateado\" title=\"Christmas photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_250 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photoshoot-miami-nutcracker-set-ribbon-tree-bench-nook.jpg\" width=\"2048\" height=\"2560\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photoshoot-miami-nutcracker-set-ribbon-tree-bench-nook.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photoshoot-miami-nutcracker-set-ribbon-tree-bench-nook-1280x1600.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photoshoot-miami-nutcracker-set-ribbon-tree-bench-nook-980x1225.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/holiday-photoshoot-miami-nutcracker-set-ribbon-tree-bench-nook-480x600.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196412\" alt=\"Set de fotos navide\u00f1as en Miami: arbolito con cintas junto a cortinas transl\u00facidas y una banca\" title=\"Christmas photoshoot studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_9 et_pb_section et_section_regular et_block_section gal-photos gal-photos--space cc-portfolio cc-band-gallery\" id=\"gal-space\"><div class=\"et_pb_row_9 et_pb_row et_block_row\"><div class=\"et_pb_column_9 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_251 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-luxury-photo-studio-arches.jpg\" width=\"1500\" height=\"1000\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-luxury-photo-studio-arches.jpg 1500w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-luxury-photo-studio-arches-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-luxury-photo-studio-arches-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-luxury-photo-studio-arches-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1500px, 100vw\" class=\"wp-image-192170\" alt=\"Estudio fotogr\u00e1fico en Miami: set amplio con arco y sof\u00e1 modular boucl\u00e9\" title=\"Miami photography studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_252 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-strobe-lights.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-strobe-lights.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-strobe-lights-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-strobe-lights-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-strobe-lights-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196823\" alt=\"Estudio fotogr\u00e1fico en Miami: ciclorama blanco vac\u00edo con flashes, softbox y carrito de iluminaci\u00f3n\" title=\"Cyclorama wall studio in Miami | Empty White Cyc Wall\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_253 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-seamless-paper-backdrop-rack.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-seamless-paper-backdrop-rack.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-seamless-paper-backdrop-rack-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-seamless-paper-backdrop-rack-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-seamless-paper-backdrop-rack-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196824\" alt=\"Foto estudio en Miami: rack de rollos de fondo de papel sin costuras en muchos colores\" title=\"Photo studio rental in Miami | Rack of Seamless Paper Backdrop Rolls\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_254 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-vintage-fireplace-mantel-sofa-curtains.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-vintage-fireplace-mantel-sofa-curtains.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-vintage-fireplace-mantel-sofa-curtains-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-vintage-fireplace-mantel-sofa-curtains-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-vintage-fireplace-mantel-sofa-curtains-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196818\" alt=\"Foto estudio en Miami: chimenea vintage con sof\u00e1 y cortinas\" title=\"Photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_255 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/best-photo-studio-rental-near-me-miami.webp\" width=\"2048\" height=\"1180\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/best-photo-studio-rental-near-me-miami.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/best-photo-studio-rental-near-me-miami-1280x738.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/best-photo-studio-rental-near-me-miami-980x565.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/09\/best-photo-studio-rental-near-me-miami-480x277.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196396\" alt=\"Estudio de fotos en Miami: sof\u00e1 de terciopelo marr\u00f3n en el arco blanco con silla de director\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_256 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-curved-white-sofa-arch-flowers-directors-chair.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-curved-white-sofa-arch-flowers-directors-chair.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-curved-white-sofa-arch-flowers-directors-chair-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-curved-white-sofa-arch-flowers-directors-chair-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-curved-white-sofa-arch-flowers-directors-chair-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196805\" alt=\"Estudio de fotograf\u00eda en Miami: sof\u00e1 curvo blanco en un arco con flores y silla de director\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_257 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-bedroom-set-white-bed-office-desk-set.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-bedroom-set-white-bed-office-desk-set.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-bedroom-set-white-bed-office-desk-set-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-bedroom-set-white-bed-office-desk-set-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-bedroom-set-white-bed-office-desk-set-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196802\" alt=\"Foto estudio en Miami: set de rec\u00e1mara con cama blanca junto a un set de oficina\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_258 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/backlit-sheer-curtains-portrait-set-miami-studio-1.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/backlit-sheer-curtains-portrait-set-miami-studio-1.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/backlit-sheer-curtains-portrait-set-miami-studio-1-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/backlit-sheer-curtains-portrait-set-miami-studio-1-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/backlit-sheer-curtains-portrait-set-miami-studio-1-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-192853\" alt=\"Foto estudio en Miami: dos sillones crema junto a cortinas transparentes\" title=\"Photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_259 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-paneled-wall-table-cane-chairs.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-paneled-wall-table-cane-chairs.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-paneled-wall-table-cane-chairs-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-paneled-wall-table-cane-chairs-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-paneled-wall-table-cane-chairs-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196826\" alt=\"Estudio fotogr\u00e1fico en Miami: pared blanca con molduras, mesa blanca, sillas de rejilla y palmera\" title=\"Photo studio in Miami | White Paneled Wall Set\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_260 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-wall-lights-wooden-stool.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-wall-lights-wooden-stool.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-wall-lights-wooden-stool-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-wall-lights-wooden-stool-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-white-cyc-wall-lights-wooden-stool-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196803\" alt=\"Estudio fotogr\u00e1fico en Miami: ciclorama blanco con luces y un banco de madera\" title=\"Cyclorama wall studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_261 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189507\" alt=\"Estudio fotogr\u00e1fico en Miami: nicho con arco, sof\u00e1 boucl\u00e9 y silla de director\" title=\"Photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_262 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photo-studio-natural-light-window-wall-lounge.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photo-studio-natural-light-window-wall-lounge.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photo-studio-natural-light-window-wall-lounge-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photo-studio-natural-light-window-wall-lounge-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photo-studio-natural-light-window-wall-lounge-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196825\" alt=\"Estudio de fotos en Miami: ventanales con luz natural, sof\u00e1s blancos, sillones y espejo de tocador\" title=\"Miami photo studio | Natural Light Window Wall\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_263 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-natural-light-sofa-corner.jpg\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-natural-light-sofa-corner.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-natural-light-sofa-corner-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-natural-light-sofa-corner-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-natural-light-sofa-corner-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189510\" alt=\"Foto estudio en Miami: dos sillas de cuero frente a cortinas beige\" title=\"Photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_264 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-minimalist-lounge-set.jpg\" width=\"2048\" height=\"3072\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-minimalist-lounge-set.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-minimalist-lounge-set-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-minimalist-lounge-set-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-minimalist-lounge-set-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189509\" alt=\"Estudio de fotos en Miami: sill\u00f3n blanco, espejo de piso y planta junto a la ventana\" title=\"Miami photography studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_265 et_pb_image et_pb_module et_block_module gal-item\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-dining-table-lifestyle-set.jpg\" width=\"2048\" height=\"3072\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-dining-table-lifestyle-set.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-dining-table-lifestyle-set-1280x1920.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-dining-table-lifestyle-set-980x1470.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-dining-table-lifestyle-set-480x720.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189505\" alt=\"Foto estudio en Miami: espejo ondulado junto a pedestales blancos\" title=\"Photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_266 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/white-cyclorama-wall-photography-lighting-miami-studio-1.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/white-cyclorama-wall-photography-lighting-miami-studio-1.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/white-cyclorama-wall-photography-lighting-miami-studio-1-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/white-cyclorama-wall-photography-lighting-miami-studio-1-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/white-cyclorama-wall-photography-lighting-miami-studio-1-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-192867\" alt=\"Estudio de fotograf\u00eda en Miami: equipo de luz con beauty dish junto a un sof\u00e1 curvo blanco\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_267 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/seamless-backdrop-photo-studio-miami-multiple-colors.jpg\" width=\"1600\" height=\"1067\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/seamless-backdrop-photo-studio-miami-multiple-colors.jpg 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/seamless-backdrop-photo-studio-miami-multiple-colors-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/seamless-backdrop-photo-studio-miami-multiple-colors-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/seamless-backdrop-photo-studio-miami-multiple-colors-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-189836\" alt=\"Estudio de fotos en Miami: sala con arco y cortinas con luz natural\" title=\"Miami photography studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_268 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-sculptural-white-cyclorama-backdrop.jpg\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-sculptural-white-cyclorama-backdrop.jpg 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-sculptural-white-cyclorama-backdrop-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-sculptural-white-cyclorama-backdrop-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-sculptural-white-cyclorama-backdrop-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-189512\" alt=\"Foto estudio en Miami: mesa de comedor y sillas frente a pared con molduras\" title=\"Photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_269 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-wide-cyc-wall-armchairs.webp\" width=\"2048\" height=\"1277\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-wide-cyc-wall-armchairs.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-wide-cyc-wall-armchairs-1280x798.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-wide-cyc-wall-armchairs-980x611.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/cyclorama-wall-studio-miami-wide-cyc-wall-armchairs-480x299.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196815\" alt=\"Foto estudio en Miami: ciclorama amplio con sillones\" title=\"Cyclorama wall studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_270 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-wavy-mirror-sofa-arches.jpg\" width=\"1600\" height=\"1067\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-wavy-mirror-sofa-arches.jpg 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-wavy-mirror-sofa-arches-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-wavy-mirror-sofa-arches-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-wavy-mirror-sofa-arches-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-196809\" alt=\"Estudio de fotos en Miami: espejo ondulado y sof\u00e1 entre arcos\" title=\"Miami photography studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_271 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-armchairs-curtains-soft-daylight.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-armchairs-curtains-soft-daylight.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-armchairs-curtains-soft-daylight-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-armchairs-curtains-soft-daylight-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-armchairs-curtains-soft-daylight-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196808\" alt=\"Foto estudio en Miami: sillones y cortinas con luz de d\u00eda suave\" title=\"Miami photography studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_272 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-cyclorama-studio-rental.jpg\" width=\"1600\" height=\"1067\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-cyclorama-studio-rental.jpg 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-cyclorama-studio-rental-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-cyclorama-studio-rental-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-cyclorama-studio-rental-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-192172\" alt=\"Estudio de fotos en Miami: ciclorama con softbox y sof\u00e1\" title=\"Cyclorama wall studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_273 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-brown-velvet-sofa-white-arch.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-brown-velvet-sofa-white-arch.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-brown-velvet-sofa-white-arch-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-brown-velvet-sofa-white-arch-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-miami-brown-velvet-sofa-white-arch-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196821\" alt=\"Estudio de fotos en Miami: sof\u00e1 curvo de terciopelo marr\u00f3n en un arco blanco con silla de director\" title=\"Photo studio in Miami | Curved Brown Velvet Sofa\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_274 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-arch-set-natural-light-studio.jpg\" width=\"1600\" height=\"1067\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-arch-set-natural-light-studio.jpg 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-arch-set-natural-light-studio-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-arch-set-natural-light-studio-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/ccstudios-miami-arch-set-natural-light-studio-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-192171\" alt=\"Estudio de fotograf\u00eda en Miami: pared con arco, espejo ondulado y sof\u00e1\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_275 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-cream-armchairs-clothing-rack-sheer-curtains.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-cream-armchairs-clothing-rack-sheer-curtains.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-cream-armchairs-clothing-rack-sheer-curtains-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-cream-armchairs-clothing-rack-sheer-curtains-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photo-studio-rental-miami-cream-armchairs-clothing-rack-sheer-curtains-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196807\" alt=\"Estudio de fotograf\u00eda en Miami: sillones crema y perchero junto a cortinas\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_276 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/cyclorama-wall-studio-lighting-setup-miami-1.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/cyclorama-wall-studio-lighting-setup-miami-1.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/cyclorama-wall-studio-lighting-setup-miami-1-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/cyclorama-wall-studio-lighting-setup-miami-1-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/cyclorama-wall-studio-lighting-setup-miami-1-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-192854\" alt=\"Estudio de fotograf\u00eda en Miami: luz con beauty dish junto a un sof\u00e1 curvo blanco\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_277 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-curved-riser-arch.webp\" width=\"2048\" height=\"1365\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-curved-riser-arch.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-curved-riser-arch-1280x853.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-curved-riser-arch-980x653.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-curved-riser-arch-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196822\" alt=\"Estudio de fotograf\u00eda en Miami: tarima blanca curva bajo el arco con hortensias y espejo ondulado\" title=\"Photography studio in Miami | White Curved Riser under the Arch\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_278 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/05\/branding-photo-shoot-miami-studio-scaled.jpg\" width=\"2880\" height=\"1920\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/05\/branding-photo-shoot-miami-studio-scaled.jpg 2880w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/05\/branding-photo-shoot-miami-studio-1280x853.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/05\/branding-photo-shoot-miami-studio-980x653.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/05\/branding-photo-shoot-miami-studio-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2880px, 100vw\" class=\"wp-image-102789\" alt=\"Foto estudio en Miami: pared con arco, sof\u00e1 y mesa de centro\" title=\"Photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_279 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-fireplace-mantel-set-lights-ready.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-fireplace-mantel-set-lights-ready.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-fireplace-mantel-set-lights-ready-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-fireplace-mantel-set-lights-ready-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/miami-photography-studio-fireplace-mantel-set-lights-ready-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196819\" alt=\"Estudio de fotos en Miami: set con chimenea y luces listas\" title=\"Miami photography studio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_280 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-two-armchairs-front-white-curtains.webp\" width=\"2048\" height=\"1367\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-two-armchairs-front-white-curtains.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-two-armchairs-front-white-curtains-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-two-armchairs-front-white-curtains-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-two-armchairs-front-white-curtains-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196813\" alt=\"Estudio fotogr\u00e1fico en Miami: dos sillones frente a cortinas blancas\" title=\"Photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_281 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/photo-studio-with-free-parking-miami-easy-load-in.jpg\" width=\"1600\" height=\"1067\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/photo-studio-with-free-parking-miami-easy-load-in.jpg 1600w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/photo-studio-with-free-parking-miami-easy-load-in-1280x854.jpg 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/photo-studio-with-free-parking-miami-easy-load-in-980x654.jpg 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/photo-studio-with-free-parking-miami-easy-load-in-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1600px, 100vw\" class=\"wp-image-189830\" alt=\"Foto estudio en Miami: rack de fondos de papel de colores\" title=\"Photo studio rental in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_282 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/fashion-photo-studio-miami-lookbook-editorial.webp\" width=\"2048\" height=\"1366\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/fashion-photo-studio-miami-lookbook-editorial.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/fashion-photo-studio-miami-lookbook-editorial-1280x854.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/fashion-photo-studio-miami-lookbook-editorial-980x654.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/fashion-photo-studio-miami-lookbook-editorial-480x320.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-192851\" alt=\"Estudio de fotograf\u00eda en Miami: pared con arco, sof\u00e1 boucl\u00e9, planta y silla de director\" title=\"Photo studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><div class=\"et_pb_image_283 et_pb_image et_pb_module et_block_module gal-item gal-wide\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-backdrop-white-table-set-framed-plants.webp\" width=\"2048\" height=\"1375\" srcset=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-backdrop-white-table-set-framed-plants.webp 2048w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-backdrop-white-table-set-framed-plants-1280x859.webp 1280w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-backdrop-white-table-set-framed-plants-980x658.webp 980w, https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/10\/photography-studio-miami-white-backdrop-white-table-set-framed-plants-480x322.webp 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 2048px, 100vw\" class=\"wp-image-196801\" alt=\"Estudio de fotos en Miami: fondo blanco y mesa blanca rodeada de plantas\" title=\"Photography studio in Miami\" loading=\"lazy\" decoding=\"async\" style=\"object-position:50% 50%\" \/><\/span><\/div><\/div><\/div><\/div><div class=\"et_pb_section_10 et_pb_section et_section_regular et_block_section gal-native-end-sec cc-band-gallery\" id=\"gallery-end\"><div class=\"et_pb_row_10 et_pb_row et_block_row\"><div class=\"et_pb_column_10 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_2 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"gal-native-end\"><div class=\"container-bk\"><button class=\"gal-more btn btn--ghost\" type=\"button\" hidden>Ver m\u00e1s<\/button><div class=\"gal-cta\"><h3 style=\"--cta-chars:31\">Tu sesi\u00f3n de fotos empieza aqu\u00ed<\/h3><p>Desde $110\/hora \u00b7 todo incluido \u00b7 24\/7<\/p><a class=\"btn btn--solid\" href=\"\/es\/reservar\/\">Reservar el estudio <span class=\"arrow\" aria-hidden=\"true\">\u2192<\/span><\/a><\/div><\/div><\/div><script>\/* gallery_native (spec 2026-10-03; standard grid 2026-10-04): one Divi section per filter set; this script shows\n   one set at a time and reveals it in batches of whole rows. The grid itself is CSS (gallery_native.css): every\n   tile is 3:4 and a landscape spans two columns, so rows end level without measuring anything. It runs inline\n   right after the last set, so the first batch exists before first paint.\n   Membership comes from the SECTION, never a class, so a module the owner adds in the builder without any class\n   still counts; a landscape added that way is found from its image and spans two columns too.\n   The chips stay where they are on the page (owner 2026-10-04: \"remove sticky categories\").\n   In the Visual Builder it does nothing: the owner sees the list. *\/\n(function () {\n  var body = document.body;\n  if (!body || body.classList.contains(\"et-fb\") || window.ETBuilderBackend) return;\n  var bar = document.querySelector(\"[data-gal-native]\");\n  if (!bar || bar.hasAttribute(\"data-gal-native-ready\")) return;\n  bar.setAttribute(\"data-gal-native-ready\", \"\");\n\n  var batch = parseInt(bar.getAttribute(\"data-batch\"), 10) || 24;  \/\/ grid units: 6 desktop rows, 12 phone rows\n  var more = document.querySelector(\".gal-more\");\n  var chips = Array.prototype.slice.call(bar.querySelectorAll(\".gal-tab\"));\n  var shown = {};\n  var current = null;\n\n  function set(id) { return document.getElementById(\"gal-\" + id); }\n  function tiles(section) {\n    return Array.prototype.slice.call(section.querySelectorAll(\".et_pb_image\"));\n  }\n  function isWide(tile) {\n    var img = tile.querySelector(\"img\");\n    if (!img) return false;\n    var w = parseFloat(img.getAttribute(\"width\")) || img.naturalWidth;\n    var h = parseFloat(img.getAttribute(\"height\")) || img.naturalHeight;\n    return w > 0 && h > 0 && w \/ h > 1.1;\n  }\n  function units(tile) { return tile.classList.contains(\"gal-wide\") ? 2 : 1; }\n\n  \/\/ Every tile is a viewer item (the installed gallery runtime opens `.gal-item img`).\n  chips.forEach(function (chip) {\n    var section = set(chip.getAttribute(\"data-cat\"));\n    if (!section) return;\n    tiles(section).forEach(function (t) {\n      t.classList.add(\"gal-item\");\n      if (isWide(t)) t.classList.add(\"gal-wide\");\n    });\n  });\n\n  function prune() {\n    chips = chips.filter(function (chip) {\n      var section = set(chip.getAttribute(\"data-cat\"));\n      var empty = !section || !tiles(section).length;\n      if (empty) {\n        chip.hidden = true;\n        if (section) section.hidden = true;\n      }\n      return !empty;\n    });\n    if (chips.length < 2) {\n      var tabs = bar.querySelector(\".gal-tabs\");\n      if (tabs) tabs.hidden = true;\n    }\n  }\n\n  \/\/ Show tiles until the batch's units are used: a batch is whole rows on phones (2) and desktop (4) alike.\n  function applyBatch(section) {\n    var limit = shown[section.id] || batch;\n    shown[section.id] = limit;\n    var used = 0;\n    var moreLeft = false;\n    tiles(section).forEach(function (tile) {\n      used += units(tile);\n      tile.hidden = used > limit;\n      if (tile.hidden) moreLeft = true;\n    });\n    if (more) more.hidden = !moreLeft;\n  }\n\n  function select(id) {\n    var target = set(id);\n    if (!target) return;\n    current = target;\n    chips.forEach(function (chip) {\n      var on = chip.getAttribute(\"data-cat\") === id;\n      chip.classList.toggle(\"is-sel\", on);\n      chip.setAttribute(\"aria-pressed\", on ? \"true\" : \"false\");\n      var section = set(chip.getAttribute(\"data-cat\"));\n      if (section) section.hidden = !on;\n    });\n    applyBatch(target);\n  }\n\n  prune();\n  document.documentElement.classList.add(\"gal-native-on\");\n  var first = chips.filter(function (c) { return c.classList.contains(\"is-sel\"); })[0] || chips[0];\n  if (first) select(first.getAttribute(\"data-cat\"));\n\n  bar.addEventListener(\"click\", function (event) {\n    var chip = event.target.closest(\".gal-tab\");\n    if (!chip || !bar.contains(chip)) return;\n    select(chip.getAttribute(\"data-cat\"));\n  });\n  if (more) {\n    more.addEventListener(\"click\", function () {\n      if (!current) return;\n      shown[current.id] = (shown[current.id] || batch) + batch;\n      applyBatch(current);\n    });\n  }\n  window.ccGalleryNative = { select: select };\n})();\n<\/script><\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_11 et_pb_section et_section_regular et_block_section bk-gap-t--std bk-gap-b--rel\" id=\"reviews\"><div class=\"et_pb_row_11 et_pb_row et_block_row\"><div class=\"et_pb_column_11 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_3 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><section class=\"bk-section bk-section--tight\" data-screen-label=\"reviews\" aria-labelledby=\"reviews-title\">\n<div class=\"container-bk reveal\">\n<h2 class=\"bk-h2\" id=\"reviews-title\">300+ rese\u00f1as de cinco estrellas<\/h2>\n<p><\/p>\n<!-- HOME renders this proof as Google review cards in a Trustindex-style slider:\n     white cards, Google mark, star row, reviewer name\/source, and horizontal controls.\n     The page-system content contract still supplies real review figures through ;\n     this component owns only the card\/carousel shell and behavior.\n     Item shape from content.py: <figure class=\"rev\"><blockquote>Review<\/blockquote><figcaption>Name<span>Source<\/span><\/figcaption><\/figure>. -->\n<div class=\"rev-grid\" data-reviews-carousel>\n<button type=\"button\" aria-label=\"Previous review\">\u2039<\/button>\n<div role=\"list\" tabindex=\"0\" aria-label=\"Customer reviews\"><\/div>\n<button type=\"button\" aria-label=\"Next review\">\u203a<\/button>\n<\/div>\n<div class=\"cc-live-feed cc-live-feed--reviews\"><link data-noptimize=\"1\" data-no-optimize=\"1\" data-no-minify=\"1\" data-no-defer=\"1\" rel=\"stylesheet\" href=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/trustindex-google-widget.css?1789261151\" media=\"all\"><pre class=\"ti-widget\"><div style=\"opacity: 0;height: 0 !important;overflow: hidden !important\" data-css-url=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/trustindex-google-widget.css?1789261151\" class=\" ti-widget  ti-goog ti-no-profile-img ti-disable-font ti-review-text-mode-readmore ti-text-align-left\" data-no-translation=\"true\" data-time-locale=\"%d %s ago|today|day|days|week|weeks|month|months|year|years\" data-plugin-version=\"14.2\" data-layout-id=\"4\" data-layout-category=\"slider\" data-set-id=\"luxury-fame\" data-pid=\"wp-widget\" data-language=\"en\" data-close-locale=\"Close\" data-review-target-width=\"300\" data-css-version=\"2\" data-reply-by-locale=\"Owner&apos;s reply\" data-only-rating-locale=\"This user only left a rating.\" data-pager-autoplay-timeout=\"6\"> <div class=\"ti-widget-container ti-col-3\"> <div class=\"ti-reviews-container\"> <div class=\"ti-controls\"> <div class=\"ti-next\" aria-label=\"Next review\" role=\"button\" tabindex=\"0\"><\/div> <div class=\"ti-prev\" aria-label=\"Previous review\" role=\"button\" tabindex=\"0\"><\/div> <\/div> <div class=\"ti-reviews-container-wrapper\">  <div data-empty=\"0\" data-time=\"1791158400\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> melanie macias <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->I had a beautiful experience at CC studios!!! My photographer was Nicole and she was amazing!! She made me feel really comfortable and gave me great posing advice for my birthday pictures to come out exceptional. Definitely will come back in the future!!!<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790985600\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Rosber Angel <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->The studio is super clean, organized, and has an amazing cozy atmosphere that makes clients feel right at home. The lighting, layout, and overall space made the sessions run smoothly from start to finish.&#010;Highly recommend Creative Canvas \u2014 great experience and I\u2019ll definitely be booking again!<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790985600\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Melany C Garcia Rosell <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->Loved the studio and their energy!<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790899200\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Becca <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->I had such a wonderful experience at CC Photo Studio for the Content Strategy 101 Workshop with The 1% Girls! The ambiance was beautiful, the space was so welcoming, and the lighting was absolutely amazing. Everything came together to create such a great experience. I would highly recommend Creative Canvas to anyone looking for a beautiful studio with an amazing atmosphere! \u2728<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790899200\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Prisha Daryani <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->This is such a beautiful space! I attended a workshop here by The 1% Girls, got amazing photos taken, and definitely want to visit again.<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790899200\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Michelle Garcia <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->What a gorgeous studio! This was my first time visiting a studio of this kind and I absolutely loved it. The attention to detail was beautiful and I loved the variety of different sets available. 10\/10 and would love to come back and make content.<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790899200\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Livan Mesa <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->Awesome place, has everything you need, super quiet and beautiful, Nicole was awesome and super pro, I\u2019m really looking forward for my next shoot here.<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790726400\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Brittney Delgado <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->Had such a good session at CC Studio they have everything you need and more!!!<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790726400\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Charles Timoneda <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->Great studio! Plenty of space and a lot of background options<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <div data-empty=\"0\" data-time=\"1790121600\" class=\"ti-review-item source-Google ti-image-layout-thumbnail\" data-id=\"cfcd208495d565ef66e7dff9f98764da\" data-language=\"\"> <div class=\"ti-inner\"> <div class=\"ti-review-header\"> <div class=\"ti-platform-icon ti-with-tooltip\"> <span class=\"ti-tooltip\">Posted on Google<\/span> <img decoding=\"async\" class=\"skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/icon.svg\" alt=\"Google\" width=\"20\" height=\"20\" loading=\"lazy\" \/> <\/div>  <div class=\"ti-profile-details\"> <div class=\"ti-name\"> Anne-Katrin Meling <\/div> <div class=\"ti-date\"><\/div> <\/div> <\/div> <span class=\"ti-stars\"><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 1\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 2\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 3\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 4\" width=\"17\" height=\"17\" loading=\"lazy\" \/><img decoding=\"async\" class=\"ti-star skip-lazy\" src=\"https:\/\/cdn.trustindex.io\/assets\/platform\/Google\/star\/f.svg\" alt=\"Google star 5\" width=\"17\" height=\"17\" loading=\"lazy\" \/><\/span> <div class=\"ti-review-text-container ti-review-content\"><!-- R-CONTENT -->I had a fantastic experience at Creative Canvas Photo Studio Miami! The studio is beautifully set up, and I especially loved the variety of props available \u2014 they made it so easy to create different looks and bring the shoot to life.&#010;&#010;The lighting setup was also extremely professional and made a huge difference in the quality of the photos. Everything felt well thought out, clean, and ready to use, which made the entire experience very smooth and enjoyable.&#010;&#010;I would absolutely recommend this studio to anyone looking for a professional, versatile, and well-equipped space for a photoshoot in Miami. I\u2019d happily book here again!<!-- R-CONTENT --><\/div> <span class=\"ti-read-more\" data-container=\".ti-review-content\" data-collapse-text=\"Hide\" data-open-text=\"Read more\"><\/span> <\/div> <\/div>  <\/div> <div class=\"ti-controls-line\"> <div class=\"dot\"><\/div> <\/div> <\/div>    <\/div> <\/div> <\/pre><pre class=\"ti-hidden-markup\" hidden style=\"display: none\"><script>\n(function () { if (window.tiLoaderFallback) { return; } window.tiLoaderFallback = true; function tiLoadLoader() { if (window.TrustindexWidget || document.querySelector('script[src*=\"https:\/\/cdn.trustindex.io\/loader.js\"]')) { return; } let script = document.createElement(\"script\"); script.async = true; script.src = \"https:\/\/cdn.trustindex.io\/loader.js\"; script.setAttribute(\"data-ccm-injected\", \"1\"); document.head.appendChild(script); } if (\"loading\" === document.readyState) { document.addEventListener(\"DOMContentLoaded\", tiLoadLoader); } else { tiLoadLoader(); } })();\n<\/script>\n<\/pre><\/div>\n<\/div>\n<\/section>\n<script>(function () {\n  var script = document.currentScript;\n  var section = script && script.previousElementSibling;\n  function showPopulatedLiveWidget() {\n    var liveWidget = section && section.querySelector('.cc-live-feed--reviews .ti-widget[data-trustindex-widget]');\n    if (!liveWidget || !liveWidget.querySelector('.ti-review-item')) return false;\n    if (liveWidget.style.getPropertyValue('opacity') !== '1')\n      liveWidget.style.setProperty('opacity', '1', 'important');\n    if (liveWidget.style.getPropertyValue('height') !== 'auto')\n      liveWidget.style.setProperty('height', 'auto', 'important');\n    if (liveWidget.style.getPropertyValue('overflow') !== 'visible')\n      liveWidget.style.setProperty('overflow', 'visible', 'important');\n    liveWidget.classList.add('cc-live-feed--ready');\n    return true;\n  }\n  var liveWidgetReady = showPopulatedLiveWidget();\n  if (section && window.MutationObserver) {\n    new MutationObserver(showPopulatedLiveWidget).observe(section, {\n      childList: true, subtree: true, attributes: true, attributeFilter: ['style']\n    });\n  }\n  if (!liveWidgetReady) {\n    var liveWidgetAttempts = 0;\n    var liveWidgetTimer = window.setInterval(function () {\n      liveWidgetAttempts += 1;\n      if (showPopulatedLiveWidget() || liveWidgetAttempts >= 40)\n        window.clearInterval(liveWidgetTimer);\n    }, 250);\n  }\n  var root = section && section.querySelector('[data-reviews-carousel]');\n  if (!root || root.hasAttribute('data-reviews-ready')) return;\n  root.setAttribute('data-reviews-ready', '');\n\n  var track = root.querySelector('[role=\"list\"]');\n  var prev = root.querySelector('button[aria-label=\"Previous review\"]');\n  var next = root.querySelector('button[aria-label=\"Next review\"]');\n  if (!track || !prev || !next) return;\n  if (!track.querySelector('.rev')) { root.hidden = true; return; }\n\n  var reducedMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var scrollBehavior = reducedMotion ? 'auto' : 'smooth';\n  var lang = (document.documentElement.getAttribute('lang') || '').toLowerCase();\n  var isSpanish = lang.indexOf('es') === 0;\n  var labels = isSpanish\n    ? { more: 'Leer m\u00e1s', less: 'Mostrar menos', carousel: 'Rese\u00f1as de clientes', previous: 'Rese\u00f1a anterior', next: 'Siguiente rese\u00f1a' }\n    : { more: 'Read more', less: 'Show less', carousel: 'Customer reviews', previous: 'Previous review', next: 'Next review' };\n  track.setAttribute('aria-label', labels.carousel);\n  prev.setAttribute('aria-label', labels.previous);\n  next.setAttribute('aria-label', labels.next);\n\n  function amount() {\n    var card = track.querySelector('.rev');\n    return card ? card.getBoundingClientRect().width + 18 : track.clientWidth;\n  }\n\n  function update() {\n    var max = track.scrollWidth - track.clientWidth - 2;\n    root.toggleAttribute('data-reviews-overflow', max > 2);\n    prev.disabled = track.scrollLeft <= 2;\n    next.disabled = track.scrollLeft >= max;\n  }\n\n  function prepareReviewText() {\n    root.querySelectorAll('.rev blockquote').forEach(function (quote, index) {\n      if (quote.hasAttribute('data-review-ready')) return;\n      quote.setAttribute('data-review-ready', '');\n      quote.setAttribute('data-review-collapsed', 'true');\n      if (!quote.id) quote.id = 'cc-review-quote-' + index + '-' + Math.random().toString(36).slice(2, 8);\n\n      window.requestAnimationFrame(function () {\n        if (quote.scrollHeight <= quote.clientHeight + 1) {\n          quote.removeAttribute('data-review-collapsed');\n          return;\n        }\n\n        var button = document.createElement('button');\n        button.type = 'button';\n        button.setAttribute('data-review-toggle', '');\n        button.setAttribute('aria-controls', quote.id);\n        button.setAttribute('aria-expanded', 'false');\n        button.textContent = labels.more;\n        button.addEventListener('click', function () {\n          var expanded = button.getAttribute('aria-expanded') === 'true';\n          button.setAttribute('aria-expanded', expanded ? 'false' : 'true');\n          quote.setAttribute('data-review-collapsed', expanded ? 'true' : 'false');\n          button.textContent = expanded ? labels.more : labels.less;\n          update();\n        });\n        quote.insertAdjacentElement('afterend', button);\n      });\n    });\n  }\n\n  prev.addEventListener('click', function () { track.scrollBy({ left: -amount(), behavior: scrollBehavior }); });\n  next.addEventListener('click', function () { track.scrollBy({ left: amount(), behavior: scrollBehavior }); });\n  track.addEventListener('scroll', update, { passive: true });\n  track.addEventListener('keydown', function (event) {\n    if (event.key === 'ArrowLeft') { event.preventDefault(); track.scrollBy({ left: -amount(), behavior: scrollBehavior }); }\n    if (event.key === 'ArrowRight') { event.preventDefault(); track.scrollBy({ left: amount(), behavior: scrollBehavior }); }\n  });\n  prepareReviewText();\n  new ResizeObserver(update).observe(track);\n  update();\n})();<\/script>\n<\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_12 et_pb_section et_section_regular et_block_section bk-gap-t--rel bk-gap-b--std\" id=\"press\"><div class=\"et_pb_row_12 et_pb_row et_block_row\"><div class=\"et_pb_column_12 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_4 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><section class=\"bk-section bk-section--tight\" data-screen-label=\"press\">\n<div class=\"reveal\" style=\"text-align:center;width:100%;max-width:100%\">\n<div class=\"ccp-press\">\n<div class=\"ccp-marquee\">\n<!-- logo shape: <a class=\"ccp-logo\" href=\"https:\/\/outlet.example\/story\" target=\"_blank\" rel=\"noopener\"><img src=\"...\" alt=\"Outlet Name\" style=\"height:44px\" loading=\"eager\" decoding=\"async\"><\/a>, or <span class=\"ccp-logo ccp-badge\"><img src=\"...\" alt=\"Award Name\" style=\"height:54px\" loading=\"eager\" decoding=\"async\"><\/span> for a non-link award badge; the full sequence must appear TWICE back-to-back for the marquee's seamless loop, with the second copy's links carrying aria-hidden=\"true\" tabindex=\"-1\" -->\n<div class=\"ccp-track\"><a class=\"ccp-logo\" href=\"https:\/\/voyagemia.com\/interview\/hidden-gems-meet-blanca-diaz-of-creative-canvas-studios-miami\/\" target=\"_blank\" rel=\"noopener\"><img width=\"588\" height=\"120\" style=\"height:44px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/voyagemia-featured-creative-canvas-photo-studio-miami.webp\" alt=\"VoyageMIA\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/www.youtube.com\/watch?v=QpxzctZ4bmU&amp;list=RDQpxzctZ4bmU\" target=\"_blank\" rel=\"noopener\"><img width=\"120\" height=\"120\" style=\"height:54px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/rick-ross-creative-canvas-photo-studio-miami.webp\" alt=\"Rick Ross\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"square\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/boldjourney.com\/meet-blanca-diaz\/\" target=\"_blank\" rel=\"noopener\"><img width=\"276\" height=\"120\" style=\"height:44px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/bold-journey-featured-creative-canvas-photo-studio-miami.webp\" alt=\"Bold Journey\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/miamiwire.com\/creative-canvas-studios-great-photo-studio-in-miami\/\" target=\"_blank\" rel=\"noopener\"><img width=\"720\" height=\"120\" style=\"height:38px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/miami-wire-featured-creative-canvas-photo-studio-miami.webp\" alt=\"Miami Wire\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/canvasrebel.com\/meet-blanca-diaz\/\" target=\"_blank\" rel=\"noopener\"><img width=\"1129\" height=\"120\" style=\"height:24px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/canvasrebel-featured-creative-canvas-photo-studio-miami.webp\" alt=\"CanvasRebel\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><span class=\"ccp-logo ccp-badge\"><img width=\"120\" height=\"120\" style=\"height:54px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/peerspace-open-door-awards-2025-winner-cc-studios-miami.webp\" alt=\"Ganador de los premios Peerspace Open Door 2025\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"square\"><\/span><a class=\"ccp-logo\" href=\"https:\/\/shoutoutmiami.com\/meet-blanca-diaz-studio-owner-board-certified-behavior-analyst\/\" target=\"_blank\" rel=\"noopener\"><img width=\"895\" height=\"120\" style=\"height:31px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/shoutout-miami-featured-creative-canvas-photo-studio-miami.webp\" alt=\"ShoutOut Miami\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/voyagemia.com\/interview\/hidden-gems-meet-blanca-diaz-of-creative-canvas-studios-miami\/\" target=\"_blank\" rel=\"noopener\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"588\" height=\"120\" style=\"height:44px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/voyagemia-featured-creative-canvas-photo-studio-miami.webp\" alt=\"VoyageMIA\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/www.youtube.com\/watch?v=QpxzctZ4bmU&amp;list=RDQpxzctZ4bmU\" target=\"_blank\" rel=\"noopener\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"120\" height=\"120\" style=\"height:54px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/rick-ross-creative-canvas-photo-studio-miami.webp\" alt=\"Rick Ross\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"square\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/boldjourney.com\/meet-blanca-diaz\/\" target=\"_blank\" rel=\"noopener\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"276\" height=\"120\" style=\"height:44px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/bold-journey-featured-creative-canvas-photo-studio-miami.webp\" alt=\"Bold Journey\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/miamiwire.com\/creative-canvas-studios-great-photo-studio-in-miami\/\" target=\"_blank\" rel=\"noopener\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"720\" height=\"120\" style=\"height:38px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/miami-wire-featured-creative-canvas-photo-studio-miami.webp\" alt=\"Miami Wire\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><a class=\"ccp-logo\" href=\"https:\/\/canvasrebel.com\/meet-blanca-diaz\/\" target=\"_blank\" rel=\"noopener\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"1129\" height=\"120\" style=\"height:24px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/canvasrebel-featured-creative-canvas-photo-studio-miami.webp\" alt=\"CanvasRebel\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><span class=\"ccp-logo ccp-badge\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"120\" height=\"120\" style=\"height:54px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/peerspace-open-door-awards-2025-winner-cc-studios-miami.webp\" alt=\"Ganador de los premios Peerspace Open Door 2025\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"square\"><\/span><a class=\"ccp-logo\" href=\"https:\/\/shoutoutmiami.com\/meet-blanca-diaz-studio-owner-board-certified-behavior-analyst\/\" target=\"_blank\" rel=\"noopener\" aria-hidden=\"true\" tabindex=\"-1\"><img width=\"895\" height=\"120\" style=\"height:31px;object-position:50% 50%\" src=\"https:\/\/a4c9adde.delivery.rocketcdn.me\/wp-content\/uploads\/2026\/09\/shoutout-miami-featured-creative-canvas-photo-studio-miami.webp\" alt=\"ShoutOut Miami\" loading=\"eager\" decoding=\"async\" data-frame-orientation=\"landscape\"><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<script>(function () {\n  var strip = document.currentScript.previousElementSibling.querySelector('.ccp-marquee');\n  strip.setAttribute('data-cc-press-ready', '');\n  strip.addEventListener('focusin', function (event) {\n    if (event.target.matches('a.ccp-logo')) {\n      event.target.scrollIntoView({block: 'nearest', inline: 'nearest', behavior: 'instant'});\n    }\n  });\n  strip.addEventListener('focusout', function () {\n    window.requestAnimationFrame(function () {\n      if (!strip.contains(document.activeElement)) strip.scrollLeft = 0;\n    });\n  });\n})();<\/script>\n<\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_13 et_pb_section et_section_regular et_block_section\" id=\"sticky\"><div class=\"et_pb_row_13 et_pb_row et_block_row\"><div class=\"et_pb_column_13 et_pb_column et_pb_column_4_4 et-last-child et_block_column et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_code_5 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"stickybar\" id=\"bk-stickybar\" inert aria-hidden=\"true\">\n<div class=\"stickybar__surface\">\n<div class=\"stickybar__price\"><b>Estudio desde $110\/hora<\/b><\/div>\n<a class=\"btn--bar\" href=\"\/es\/reservar\/\">Reservar<\/a>\n<\/div>\n<\/div>\n<script>(function () {\n  var script = document.currentScript;\n  var bar = script && script.previousElementSibling;\n  if (!bar) return;\n  var hostSection = bar.closest('.bk-sticky--after-gallery-opening');\n  var afterGalleryOpening = !!hostSection;\n  var page = document.getElementById('page-container');\n  if (page && page.parentNode) page.parentNode.insertBefore(bar, page);\n  else document.body.insertBefore(bar, document.body.firstChild);\n  var hero = document.querySelector('.hm-hero, .cc-hero-plain');\n  var past = hero ? false : (window.scrollY || window.pageYOffset) > 380;\n  var nearBottom = false;\n  var shown = null;\n  var scheduled = false;\n\n  function apply() {\n    var visible = (past && !nearBottom) || bar.contains(document.activeElement);\n    if (visible === shown) return;\n    shown = visible;\n    bar.inert = !visible;\n    bar.setAttribute('aria-hidden', String(!visible));\n    bar.classList.toggle('show', visible);\n  }\n\n  function measureFallback() {\n    scheduled = false;\n    if (afterGalleryOpening) {\n      var figures = Array.prototype.slice.call(\n        document.querySelectorAll('#space .gal-grid > figure:not([hidden])')\n      );\n      var rowBottoms = [];\n      figures.forEach(function (figure) {\n        var bottom = Math.round(figure.getBoundingClientRect().bottom);\n        if (!rowBottoms.some(function (value) { return Math.abs(value - bottom) <= 2; }))\n          rowBottoms.push(bottom);\n      });\n      rowBottoms.sort(function (a, b) { return a - b; });\n      past = rowBottoms.length ? rowBottoms[Math.min(1, rowBottoms.length - 1)] <= 80 : false;\n    } else {\n      past = hero ? hero.getBoundingClientRect().bottom <= 80 :\n        (window.scrollY || window.pageYOffset) > 380;\n    }\n    var viewportHeight = window.visualViewport ? window.visualViewport.height : window.innerHeight;\n    nearBottom = viewportHeight + (window.scrollY || window.pageYOffset) >\n      document.documentElement.scrollHeight - 130;\n    apply();\n  }\n\n  function scheduleFallback() {\n    if (scheduled) return;\n    scheduled = true;\n    requestAnimationFrame(measureFallback);\n  }\n\n  function watchPageEnd() {\n    var footer = document.querySelector('footer, .et-l--footer');\n    if (footer) {\n      new IntersectionObserver(function (entries) {\n        nearBottom = entries[0].isIntersecting;\n        apply();\n      }, { threshold: 0 }).observe(footer);\n    } else {\n      window.addEventListener('scroll', scheduleFallback, { passive: true });\n      window.addEventListener('resize', scheduleFallback);\n      if (window.visualViewport) window.visualViewport.addEventListener('resize', scheduleFallback);\n      scheduleFallback();\n    }\n  }\n\n  function watchGalleryOpening() {\n    window.addEventListener('scroll', scheduleFallback, { passive: true });\n    window.addEventListener('resize', scheduleFallback);\n    if (window.visualViewport) window.visualViewport.addEventListener('resize', scheduleFallback);\n    var gallery = document.getElementById('space');\n    if (gallery) gallery.addEventListener('click', scheduleFallback);\n    scheduleFallback();\n  }\n\n  if ('IntersectionObserver' in window) {\n    if (afterGalleryOpening) {\n      if (document.readyState === 'loading')\n        document.addEventListener('DOMContentLoaded', watchGalleryOpening, { once: true });\n      else watchGalleryOpening();\n    } else if (hero) {\n      new IntersectionObserver(function (entries) {\n        var entry = entries[0];\n        past = !entry.isIntersecting && entry.boundingClientRect.bottom <= 80;\n        apply();\n      }, { rootMargin: '-80px 0px 0px 0px', threshold: 0 }).observe(hero);\n    }\n    if (document.readyState === 'loading')\n      document.addEventListener('DOMContentLoaded', watchPageEnd, { once: true });\n    else watchPageEnd();\n  } else {\n    window.addEventListener('scroll', scheduleFallback, { passive: true });\n    window.addEventListener('resize', scheduleFallback);\n    if (window.visualViewport) window.visualViewport.addEventListener('resize', scheduleFallback);\n    scheduleFallback();\n  }\n  document.addEventListener('DOMContentLoaded', apply);\n  bar.addEventListener('focusout', function () { requestAnimationFrame(apply); });\n  apply();\n})();<\/script>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":235371522,"featured_media":194298,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_custom_body_class":"","_custom_post_class":"","cybocfi_hide_featured_image":"","_wpcom_ai_launchpad_about_page":false,"_wpcom_ai_launchpad_gallery_page":false,"_wpcom_ai_launchpad_contact_page":false,"_wpcom_ai_launchpad_events_page":false,"_wpcom_ai_launchpad_video_page":false,"_wpcom_ai_launchpad_portfolio_piece":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"footnotes":""},"class_list":["post-193440","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"google-site-verification\" content=\"fnBC2bCyO0UwWiaR8e9kOi8fjzV96W_0wT17f00tc1s\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/ccstudiosmiami.com\/es\/galeria\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Creative Canvas Photo Studio Miami | Photo Studio in Miami with Multi-Sets and Cyclorama Wall\" \/>\n\t\t<meta property=\"og:type\" content=\"website\" \/>\n\t\t<meta property=\"og:title\" content=\"Galer\u00eda del Estudio de Fotos en Miami | CC Studios\" \/>\n\t\t<meta property=\"og:description\" content=\"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/ccstudiosmiami.com\/es\/galeria\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t\t<meta property=\"og:image:height\" content=\"960\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@ccstudiosmiami\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Galer\u00eda del Estudio de Fotos en Miami | CC Studios\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@ccstudiosmiami\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#listItem\",\"name\":\"Galer\\u00eda del Estudio\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#listItem\",\"position\":2,\"name\":\"Galer\\u00eda del Estudio\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/#organization\",\"name\":\"Creative Canvas Photo Studio Miami\",\"description\":\"Creative Canvas Photo Studio Miami (CC Studios) is a fully private 3,000 sq ft photo, video and content studio in Glenvar Heights, Miami. Every booking is the whole studio: eight sets in total, including a 25 by 20 ft white cyclorama wall, plus professional lighting, props, a hair and makeup station and free on-site parking. Studio rental is $110 an hour on weekdays and $130 on weekends, photoshoots start at $350, and the studio can be booked 24\\\/7 by appointment.\",\"url\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/\",\"email\":\"bookings@ccstudiosmiami.com\",\"telephone\":\"+17868696010\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/ccstudiosmiami.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/cc-logo-transparent.png\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#organizationLogo\",\"width\":332,\"height\":237,\"caption\":\"#image_title\"},\"image\":{\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/ccstudiosmiami\\\/\",\"https:\\\/\\\/x.com\\\/ccstudiosmiami\",\"https:\\\/\\\/www.instagram.com\\\/ccstudiosmia\\\/\",\"https:\\\/\\\/www.tiktok.com\\\/@ccstudiosmiami\",\"https:\\\/\\\/www.pinterest.com\\\/ccstudiosmia\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@ccstudiosmiami\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/ccstudiosmiami\",\"https:\\\/\\\/www.tumblr.com\\\/creativecanvasphotostudiomiami\",\"https:\\\/\\\/www.yelp.com\\\/biz\\\/creative-canvas-studios-miami\",\"https:\\\/\\\/www.peerspace.com\\\/pages\\\/listings\\\/64b2dc9970383c000e881cdf\",\"https:\\\/\\\/www.google.com\\\/maps?cid=17234011144490661097\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#webpage\",\"url\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/\",\"name\":\"Galer\\u00eda del Estudio de Fotos en Miami | CC Studios\",\"description\":\"Mira sesiones reales de m\\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\\u00fasicos y fot\\u00f3grafos en el mejor estudio privado de Miami.\",\"inLanguage\":\"es-ES\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#breadcrumblist\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/ccstudiosmiami.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#mainImage\",\"width\":1440,\"height\":960,\"caption\":\"#image_title\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/galeria\\\/#mainImage\"},\"datePublished\":\"2016-02-04T21:27:54-05:00\",\"dateModified\":\"2026-10-04T20:15:56-04:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/\",\"name\":\"Creative Canvas Photo Studio Miami\",\"alternateName\":\"CC Studios\",\"description\":\"Photo Studio in Miami with Multi-Sets and Cyclorama Wall\",\"inLanguage\":\"es-ES\",\"publisher\":{\"@id\":\"https:\\\/\\\/ccstudiosmiami.com\\\/es\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Galer\u00eda del Estudio de Fotos en Miami | CC Studios<\/title>\n\n","aioseo_head_json":{"title":"Galer\u00eda del Estudio de Fotos en Miami | CC Studios","description":"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.","canonical_url":"https:\/\/ccstudiosmiami.com\/es\/galeria\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"fnBC2bCyO0UwWiaR8e9kOi8fjzV96W_0wT17f00tc1s","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/ccstudiosmiami.com\/es\/#listItem","position":1,"name":"Home","item":"https:\/\/ccstudiosmiami.com\/es\/","nextItem":{"@type":"ListItem","@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#listItem","name":"Galer\u00eda del Estudio"}},{"@type":"ListItem","@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#listItem","position":2,"name":"Galer\u00eda del Estudio","previousItem":{"@type":"ListItem","@id":"https:\/\/ccstudiosmiami.com\/es\/#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/ccstudiosmiami.com\/es\/#organization","name":"Creative Canvas Photo Studio Miami","description":"Creative Canvas Photo Studio Miami (CC Studios) is a fully private 3,000 sq ft photo, video and content studio in Glenvar Heights, Miami. Every booking is the whole studio: eight sets in total, including a 25 by 20 ft white cyclorama wall, plus professional lighting, props, a hair and makeup station and free on-site parking. Studio rental is $110 an hour on weekdays and $130 on weekends, photoshoots start at $350, and the studio can be booked 24\/7 by appointment.","url":"https:\/\/ccstudiosmiami.com\/es\/","email":"bookings@ccstudiosmiami.com","telephone":"+17868696010","logo":{"@type":"ImageObject","url":"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/cc-logo-transparent.png","@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#organizationLogo","width":332,"height":237,"caption":"#image_title"},"image":{"@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/ccstudiosmiami\/","https:\/\/x.com\/ccstudiosmiami","https:\/\/www.instagram.com\/ccstudiosmia\/","https:\/\/www.tiktok.com\/@ccstudiosmiami","https:\/\/www.pinterest.com\/ccstudiosmia\/","https:\/\/www.youtube.com\/@ccstudiosmiami","https:\/\/www.linkedin.com\/company\/ccstudiosmiami","https:\/\/www.tumblr.com\/creativecanvasphotostudiomiami","https:\/\/www.yelp.com\/biz\/creative-canvas-studios-miami","https:\/\/www.peerspace.com\/pages\/listings\/64b2dc9970383c000e881cdf","https:\/\/www.google.com\/maps?cid=17234011144490661097"]},{"@type":"WebPage","@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#webpage","url":"https:\/\/ccstudiosmiami.com\/es\/galeria\/","name":"Galer\u00eda del Estudio de Fotos en Miami | CC Studios","description":"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.","inLanguage":"es-ES","isPartOf":{"@id":"https:\/\/ccstudiosmiami.com\/es\/#website"},"breadcrumb":{"@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#breadcrumblist"},"image":{"@type":"ImageObject","url":"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp","@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#mainImage","width":1440,"height":960,"caption":"#image_title"},"primaryImageOfPage":{"@id":"https:\/\/ccstudiosmiami.com\/es\/galeria\/#mainImage"},"datePublished":"2016-02-04T21:27:54-05:00","dateModified":"2026-10-04T20:15:56-04:00"},{"@type":"WebSite","@id":"https:\/\/ccstudiosmiami.com\/es\/#website","url":"https:\/\/ccstudiosmiami.com\/es\/","name":"Creative Canvas Photo Studio Miami","alternateName":"CC Studios","description":"Photo Studio in Miami with Multi-Sets and Cyclorama Wall","inLanguage":"es-ES","publisher":{"@id":"https:\/\/ccstudiosmiami.com\/es\/#organization"}}]},"og:locale":"es_ES","og:site_name":"Creative Canvas Photo Studio Miami | Photo Studio in Miami with Multi-Sets and Cyclorama Wall","og:type":"website","og:title":"Galer\u00eda del Estudio de Fotos en Miami | CC Studios","og:description":"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.","og:url":"https:\/\/ccstudiosmiami.com\/es\/galeria\/","og:image":"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp","og:image:secure_url":"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp","og:image:width":1440,"og:image:height":960,"twitter:card":"summary_large_image","twitter:site":"@ccstudiosmiami","twitter:title":"Galer\u00eda del Estudio de Fotos en Miami | CC Studios","twitter:description":"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.","twitter:creator":"@ccstudiosmiami","twitter:image":"https:\/\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/06\/black-white-cowboy-hat-denim-shorts-photoshoot-miami-studio.webp"},"aioseo_meta_data":{"post_id":"193440","title":"Galer\u00eda del Estudio de Fotos en Miami | CC Studios","description":"Mira sesiones reales de m\u00e1s de 300 clientes en Creative Canvas Photo Studio Miami: creadores, marcas, m\u00fasicos y fot\u00f3grafos en el mejor estudio privado de Miami.","keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-10-05 00:16:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":"0","open_ai":null,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-08-02 03:55:07","updated":"2026-10-05 00:49:14","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ccstudiosmiami.com\/es\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">|<\/span><span class=\"aioseo-breadcrumb\">\n\tGaler\u00eda del Estudio\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/ccstudiosmiami.com\/es\/"},{"label":"Galer\u00eda del Estudio","link":"https:\/\/ccstudiosmiami.com\/es\/galeria\/"}],"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":194822,"url":"https:\/\/ccstudiosmiami.com\/es\/fotografia-boudoir-estudio-miami\/","url_meta":{"origin":193440,"position":0},"title":"Fotograf\u00eda Boudoir en un Estudio Privado de Miami","author":"Blanca Diaz","date":"18 de agosto de 2026","format":false,"excerpt":"","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"Alquiler de estudio de v\u00eddeo y podcast en Miami cerca del centro con espacio privado de 3.000 pies cuadrados, fondos de papel continuo, estaci\u00f3n de maquillaje y configuraci\u00f3n completa de producci\u00f3n.","src":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":193459,"url":"https:\/\/ccstudiosmiami.com\/es\/estudio-de-fotos-coral-gables\/","url_meta":{"origin":193440,"position":1},"title":"Estudio de Fotos Cerca de Coral Gables","author":"Blanca Diaz","date":"17 de agosto de 2025","format":false,"excerpt":"","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"Alquiler de estudio de v\u00eddeo y podcast en Miami cerca del centro con espacio privado de 3.000 pies cuadrados, fondos de papel continuo, estaci\u00f3n de maquillaje y configuraci\u00f3n completa de producci\u00f3n.","src":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/downtown-miami-video-podcast-studio-rental-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":193434,"url":"https:\/\/ccstudiosmiami.com\/es\/precios\/","url_meta":{"origin":193440,"position":2},"title":"Precios del Estudio","author":"Blanca Diaz","date":"22 de febrero de 2024","format":false,"excerpt":"","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"Estudio de fotograf\u00eda en Miami para pruebas de modelo y lookbooks con sets limpios, opciones de ciclorama e iluminaci\u00f3n lista para editorial.","src":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/family-photo-studio-miami-private-studio-rental.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/family-photo-studio-miami-private-studio-rental.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/family-photo-studio-miami-private-studio-rental.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/family-photo-studio-miami-private-studio-rental.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/family-photo-studio-miami-private-studio-rental.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/family-photo-studio-miami-private-studio-rental.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":193430,"url":"https:\/\/ccstudiosmiami.com\/es\/tour-virtual\/","url_meta":{"origin":193440,"position":3},"title":"Tour Virtual del Estudio","author":"Blanca Diaz","date":"28 de agosto de 2023","format":false,"excerpt":"","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"Ubicado en Allapattah, un distrito creativo emergente cerca de Wynwood, nuestro estudio de gran tama\u00f1o cuenta con un ciclorama enorme y siete sets diferentes para dar rienda suelta a tu creatividad. Su amplio espacio privado, con iluminaci\u00f3n profesional y variedad de utiler\u00eda incluida, es perfecto para producciones en gran escala como videos musicales, comerciales y sesiones fotogr\u00e1ficas din\u00e1micas, con f\u00e1cil acceso y estacionamiento conveniente. ","src":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/podcast-studio-rental-miami-setup-scaled.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/podcast-studio-rental-miami-setup-scaled.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/podcast-studio-rental-miami-setup-scaled.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/podcast-studio-rental-miami-setup-scaled.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/podcast-studio-rental-miami-setup-scaled.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2025\/07\/podcast-studio-rental-miami-setup-scaled.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":193464,"url":"https:\/\/ccstudiosmiami.com\/es\/preguntas-frecuentes\/","url_meta":{"origin":193440,"position":4},"title":"Preguntas Frecuentes","author":"Blanca Diaz","date":"12 de abril de 2026","format":false,"excerpt":"Todo lo que necesitas saber sobre c\u00f3mo reservar y usar Creative Canvas Photo Studio Miami. Somos un estudio privado de 3.000 ft\u00b2 en alquiler en Glenvar Heights, Miami \u2014 con acceso desde Downtown, Brickell, Coral Gables y Miami Beach; el tiempo de viaje depende del tr\u00e1fico.","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"Luxury Miami photo studio for fashion and editorial shoots featuring polished sets, pro lighting, and a private creative environment.","src":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/product-photography-studio-miami-ecommerce-content.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/product-photography-studio-miami-ecommerce-content.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/product-photography-studio-miami-ecommerce-content.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/product-photography-studio-miami-ecommerce-content.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/product-photography-studio-miami-ecommerce-content.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/03\/product-photography-studio-miami-ecommerce-content.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":193600,"url":"https:\/\/ccstudiosmiami.com\/es\/estudio-de-fotos-homestead\/","url_meta":{"origin":193440,"position":5},"title":"Estudio de Fotos Cerca de Homestead","author":"Blanca Diaz","date":"24 de enero de 2026","format":false,"excerpt":"","rel":"","context":"Entrada similar","block_context":{"text":"Entrada similar","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/ccstudiosmiami.com\/wp-content\/uploads\/2026\/01\/miami-photo-studio-gallery-display-prop-set.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/pages\/193440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/users\/235371522"}],"replies":[{"embeddable":true,"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/comments?post=193440"}],"version-history":[{"count":27,"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/pages\/193440\/revisions"}],"predecessor-version":[{"id":196875,"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/pages\/193440\/revisions\/196875"}],"wp:attachment":[{"href":"https:\/\/ccstudiosmiami.com\/es\/wp-json\/wp\/v2\/media?parent=193440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}