/* Unlayered editor-safe CSS. Elementor's global colors must not override this website's design. */
/*
 * Caddeo Atelier — Wedding Stories.
 * Editorial palette, intentional spacing, and image-first presentation.
 */


 *, *::before, *::after { box-sizing: border-box; }
 html { scroll-behavior: smooth; }
 body.caddeo-site { margin: 0; background: #f8f6f1; color: #272622; font-family: "Jost", sans-serif; font-size: 16px; font-weight: 400; -webkit-font-smoothing: antialiased; }
 body.caddeo-site img { display: block; max-width: 100%; }
 body.caddeo-site a { color: inherit; text-decoration: none; }
 body.caddeo-site button { font: inherit; }
 body.caddeo-site ::selection { color: #fff; background: #756e60; }


 .caddeo-header { position: relative; z-index: 20; background:#f8f6f1; border-bottom: 1px solid #e9e5dd; }
 .caddeo-masthead { text-align: center; padding: 8px 20px; background: #2b2a26; color: #e5dfd4; font-size: 10px; letter-spacing:.27em; text-transform:uppercase; }
 .caddeo-header-inner { width: min(1390px, calc(100% - 9%)); margin:auto; display:flex; align-items:center; justify-content:space-between; min-height:96px; gap:24px; }
 .caddeo-brand { display: flex; flex-direction:column; align-items:flex-start; line-height:1; white-space:nowrap; }
 .caddeo-brand-name { font-family:"Cormorant Garamond", Georgia,serif; letter-spacing:.11em; font-weight:500; font-size:30px; }
 .caddeo-brand-sub { font-size:9px; font-weight:500; letter-spacing:.36em; margin-top:7px; margin-left:2px; text-transform:uppercase; }
 .caddeo-nav { display:flex; align-items:center; gap:37px; }
 .caddeo-nav a { font-size:11px; letter-spacing:.18em; font-weight:500; text-transform:uppercase; position:relative; padding:10px 0; }
 .caddeo-nav a:not(.caddeo-nav-cta)::after { content:""; position:absolute; bottom:4px; left:0; width:0; height:1px; background:currentColor; transition:width .25s ease; }
 .caddeo-nav a:not(.caddeo-nav-cta):hover::after {width:100%;}
 .caddeo-nav .caddeo-nav-cta { border:1px solid #9e988b; padding:12px 20px; transition:background .2s,color .2s; }
 .caddeo-nav .caddeo-nav-cta:hover { background:#2a2824; color:#fff; }
 .caddeo-mobile { display:none; }
 .caddeo-container { width:min(1300px, calc(100% - 10%)); margin-inline:auto; }
 .caddeo-eyebrow { font-size:10px; letter-spacing:.29em; text-transform:uppercase; font-weight:500; color:#857f72; }
 .caddeo-serif { font-family:"Cormorant Garamond", Georgia, serif; font-weight:400; }
 .caddeo-hero { position:relative; overflow:hidden; background:#f8f6f1; }
 .caddeo-hero-inner { display:grid; grid-template-columns: .98fr 1.02fr; align-items:center; max-width:1550px; margin:auto; min-height:790px; }
 .caddeo-hero-copy { padding:85px 5% 88px clamp(45px, 7.2vw, 150px); position:relative; z-index:2; }
 .caddeo-hero-copy .caddeo-eyebrow { margin:0 0 31px; }
 .caddeo-hero h1 { font-family:"Cormorant Garamond", Georgia, serif; font-weight:400; font-size:clamp(68px, 7.2vw, 117px); line-height:.91; letter-spacing:-.035em; margin:0 0 36px; max-width:680px; }
 .caddeo-hero h1 em { font-weight:300; color:#8b8071; font-style:italic; }
 .caddeo-hero-copy .caddeo-lead { color:#69665e; line-height:1.85; font-weight:300; max-width:430px; font-size:15px; margin: 0 0 33px; letter-spacing:.014em; }
 .caddeo-text-link { display:inline-flex; align-items:center; gap:25px; font-size:11px; letter-spacing:.22em; font-weight:500; text-transform:uppercase; padding-bottom:10px; border-bottom:1px solid #a8a092; transition:gap .25s; }
 .caddeo-text-link:hover { gap:36px; }
 .caddeo-text-link span { font-size:19px; letter-spacing:0; line-height:0; }
 .caddeo-hero-art { position:relative; height:760px; padding:48px 9% 67px 5%; }
 .caddeo-hero-main { width:100%; height:100%; object-fit:cover; object-position:50% 41%; filter:saturate(.78); }
 .caddeo-hero-photo-wrap { position:absolute; inset:48px 6% 65px 14%; background:#d4ccc1; overflow:hidden; }
 .caddeo-hero-photo-wrap::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(32,27,22,.16), transparent 44%); pointer-events:none; }
 .caddeo-hero-inset { position:absolute; width:39%; height:30%; bottom:0; left:-2%; padding:9px; background:#f8f6f1; box-shadow:0 15px 36px #1d1b1715; }
 .caddeo-hero-inset img { width:100%; height:100%; object-fit:cover; filter:saturate(.78); }
 .caddeo-hero-vertical { position:absolute; right:2%; top:35%; writing-mode:vertical-rl; font-size:10px; letter-spacing:.27em; color:#80796d; }
 .caddeo-hero-index { position:absolute; left:14%; bottom:20px; color:#8b8477; font-size:10px; letter-spacing:.2em; }
 .caddeo-intro { padding:125px 0 112px; text-align:center; border-bottom:1px solid #e5e0d7; }
 .caddeo-intro .caddeo-eyebrow { margin:0 0 26px; }
 .caddeo-intro p.caddeo-statement { max-width:860px; margin:0 auto; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(39px,4.4vw,67px); line-height:1.13; letter-spacing:-.01em; }
 .caddeo-intro p.caddeo-statement em { color:#8e806d; }
 .caddeo-intro .caddeo-star { display:inline-block; margin-top:33px; color:#a6a092; font-size:15px; }
 .caddeo-section { padding:132px 0 135px; }
 .caddeo-section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
 .caddeo-section-head .caddeo-eyebrow { margin:0 0 22px; }
 .caddeo-section-head h2 { margin:0; font-size:clamp(51px,5.2vw,83px); line-height:.95; letter-spacing:-.022em; }
 .caddeo-section-head h2 em { color:#8b8071; }
 .caddeo-section-head .caddeo-section-note { font-size:12px; line-height:1.75; letter-spacing:.03em; color:#797367; max-width:275px; }
 .caddeo-gallery { display:grid; grid-template-columns:1fr 1.04fr 1fr; gap:27px; align-items:start; }
 .caddeo-gallery article:nth-child(2) { margin-top:82px; }
 .caddeo-gallery article:nth-child(3) { margin-top:25px; }
 .caddeo-gallery-image { overflow:hidden; background:#d3cfc7; }
 .caddeo-gallery-image img { display:block; width:100%; height:530px; object-fit:cover; filter:saturate(.76); transition:transform .8s cubic-bezier(.22,1,.36,1),filter .5s; }
 .caddeo-gallery article:nth-child(2) img { height:425px; }
 .caddeo-gallery article:nth-child(3) img { height:485px; }
 .caddeo-gallery article:hover img { transform:scale(1.045); filter:saturate(.94); }
 .caddeo-gallery figcaption { display:flex; justify-content:space-between; align-items:start; gap:12px; padding:18px 1px 0; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
 .caddeo-gallery figcaption small { font-size:10px; color:#9b9387; letter-spacing:.12em; }
 .caddeo-sample-note {font-size:12px; line-height:1.7; color:#827b6f; margin:40px auto 0; max-width:620px; text-align:center;}
 .caddeo-quote { background:#2b2a26; color:#f2efe8; padding:110px 20px; text-align:center; }
 .caddeo-quote p { font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(40px,4.5vw,72px); line-height:1.05; max-width:1030px; margin:22px auto 0; }
 .caddeo-quote p em { color:#c7bdaf; }
 .caddeo-quote .caddeo-eyebrow {color:#b9b2a4;}
 .caddeo-approach { display:grid; grid-template-columns: .93fr 1.07fr; align-items:center; gap:min(10vw,155px); padding-top:130px; padding-bottom:135px; }
 .caddeo-approach-art { position:relative; padding:0 13% 0 0; }
 .caddeo-approach-art img { width:100%; height:600px; object-fit:cover; object-position:50% 38%; filter:grayscale(75%); }
 .caddeo-approach-caption {position:absolute; bottom:20px;right:-25px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.24em;color:#8b8276;}
 .caddeo-approach-copy .caddeo-eyebrow {margin:0 0 27px;}
 .caddeo-approach-copy h2 {font-size:clamp(52px,5.1vw,82px);line-height:.99;letter-spacing:-.02em;margin:0 0 32px;}
 .caddeo-approach-copy h2 em {color:#8b8071;}
 .caddeo-approach-copy p:not(.caddeo-eyebrow) {font-weight:300; line-height:1.95;color:#69655e;max-width:465px;font-size:15px;margin:0 0 20px;}
 .caddeo-approach-copy .caddeo-text-link {margin-top:21px;}
 .caddeo-contact { background:#eae5db; padding:112px 0; }
 .caddeo-contact-layout { display:grid; grid-template-columns:1.18fr .82fr; align-items:end; gap:60px; }
 .caddeo-contact .caddeo-eyebrow {margin:0 0 26px;}
 .caddeo-contact h2 {font-size:clamp(55px,5.5vw,91px);line-height:.94;letter-spacing:-.025em;margin:0;max-width:790px;}
 .caddeo-contact h2 em {color:#837869;}
 .caddeo-contact-right {padding-bottom:7px;}
 .caddeo-contact-right p { font-size:14px;line-height:1.9; color:#6f675d; font-weight:300; margin:0 0 30px; max-width:340px;}
 .caddeo-footer { background:#24231f; color:#ddd6cc; padding:70px 0 34px; }
 .caddeo-footer-top {display:flex; justify-content:space-between;align-items:end;gap:30px;}
 .caddeo-footer .caddeo-brand-name {font-size:39px;color:#f7f1e6;}
 .caddeo-footer .caddeo-brand-sub {color:#afa99c;}
 .caddeo-footer-side {font-size:11px;line-height:1.85;letter-spacing:.11em;color:#b6afa2;text-align:right;text-transform:uppercase;}
 .caddeo-footer-bottom {border-top:1px solid #4d4b45; margin-top:66px;padding-top:24px;display:flex;justify-content:space-between;gap:30px;font-size:10px;line-height:1.9;letter-spacing:.06em;color:#a9a194;}
 .caddeo-footer-bottom a {text-decoration:underline;text-underline-offset:3px;}
 .caddeo-page {padding:110px 0 150px;min-height:60vh;}
 .caddeo-page h1 {font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;font-size:clamp(58px,7vw,100px);line-height:1;margin:20px 0 35px;}
 .caddeo-page .caddeo-page-intro {font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(27px,3vw,44px);line-height:1.2;max-width:790px;}
 .caddeo-page p {max-width:730px;line-height:1.9;color:#69665e;}
 .caddeo-page .caddeo-gallery {margin-top:70px;}
 .caddeo-page .caddeo-text-link {margin-top:30px;}
 #portfolio,#filosofia,#contatti {scroll-margin-top:100px;}
 @media (max-width:1100px) {
  .caddeo-nav{gap:22px;}
  .caddeo-header-inner{width:calc(100% - 7%);}
  .caddeo-hero-inner{min-height:650px;}
  .caddeo-hero-art{height:650px;}
  .caddeo-hero h1{font-size:clamp(60px,7vw,87px);}
  .caddeo-hero-copy{padding-left:6vw;}
  .caddeo-gallery-image img{height:420px;}
  .caddeo-gallery article:nth-child(2) img{height:345px;}
  .caddeo-gallery article:nth-child(3) img{height:390px;}
 }
 @media (max-width:790px) {
  .caddeo-header-inner{min-height:75px;width:calc(100% - 40px);}
  .caddeo-brand-name{font-size:25px;}
  .caddeo-brand-sub{font-size:8px;}
  .caddeo-nav{display:none;}
  .caddeo-mobile{display:block;position:relative;}
  .caddeo-mobile summary{list-style:none;cursor:pointer;width:38px;height:38px;display:grid;align-content:center;gap:6px;justify-items:end;}
  .caddeo-mobile summary::-webkit-details-marker{display:none;}
  .caddeo-mobile summary span{display:block;width:25px;height:1px;background:#272622;transition:width .2s;}
  .caddeo-mobile summary span:last-child{width:17px;}
  .caddeo-mobile[open] summary span:last-child{width:25px;}
  .caddeo-mobile-panel{position:absolute;right:-20px;top:52px;width:min(280px,85vw);background:#f8f6f1;box-shadow:0 12px 25px #1c1c1a25;padding:19px 25px;display:grid;gap:18px;border:1px solid #e8e3d9;}
  .caddeo-mobile-panel a{font-size:12px;text-transform:uppercase;letter-spacing:.16em;}
  .caddeo-hero-inner{display:flex;flex-direction:column;min-height:auto;}
  .caddeo-hero-copy{order:2;padding:60px 7% 75px;width:100%;}
  .caddeo-hero-art{order:1;width:100%;height:490px;padding:0;}
  .caddeo-hero-photo-wrap{inset:0 0 26px 12%;}
  .caddeo-hero-inset{width:37%;height:32%;left:2%;bottom:0;}
  .caddeo-hero-vertical{right:2%;top:24%;}
  .caddeo-hero-index{left:10%;bottom:10px;}
  .caddeo-hero h1{font-size:clamp(68px,11vw,95px);max-width:670px;}
  .caddeo-container{width:calc(100% - 44px);}
  .caddeo-intro{padding:88px 0;}
  .caddeo-section{padding:86px 0;}
  .caddeo-section-head{align-items:start;flex-direction:column;gap:10px;}
  .caddeo-gallery{grid-template-columns:1fr 1fr;gap:20px;}
  .caddeo-gallery article:nth-child(3){grid-column:1 / -1;max-width:55%;margin:18px auto 0;}
  .caddeo-gallery article:nth-child(2){margin-top:50px;}
  .caddeo-gallery-image img{height:390px;}
  .caddeo-gallery article:nth-child(2) img{height:340px;}
  .caddeo-gallery article:nth-child(3) img{height:380px;}
  .caddeo-quote{padding:80px 7%;}
  .caddeo-approach{grid-template-columns:1fr;gap:60px;}
  .caddeo-approach-art{max-width:600px;padding-right:8%;}
  .caddeo-approach-art img{height:520px;}
  .caddeo-contact-layout{grid-template-columns:1fr;gap:32px;}
  .caddeo-contact{padding:83px 0;}
  .caddeo-footer-top{align-items:start;}
  .caddeo-footer-bottom{flex-direction:column;gap:6px;}
 }
 @media (max-width:500px) {
  .caddeo-masthead{font-size:9px;letter-spacing:.18em;}
  .caddeo-hero-art{height:360px;}
  .caddeo-hero-photo-wrap{inset:0 0 26px 9%;}
  .caddeo-hero-inset{width:42%;height:29%;padding:6px;}
  .caddeo-hero-copy{padding:52px 23px 70px;}
  .caddeo-hero-copy .caddeo-eyebrow{font-size:9px;letter-spacing:.2em;}
  .caddeo-hero h1{font-size:clamp(57px,14vw,75px);margin-bottom:23px;}
  .caddeo-hero-copy .caddeo-lead{font-size:14px;}
  .caddeo-intro p.caddeo-statement{font-size:40px;}
  .caddeo-section-head h2{font-size:56px;}
  .caddeo-gallery{grid-template-columns:1fr;gap:30px;}
  .caddeo-gallery article:nth-child(2),.caddeo-gallery article:nth-child(3){grid-column:auto;margin:0;max-width:100%;}
  .caddeo-gallery-image img,.caddeo-gallery article:nth-child(2) img,.caddeo-gallery article:nth-child(3) img{height:420px;}
  .caddeo-gallery article:nth-child(2) img{height:340px;}
  .caddeo-gallery figcaption{padding-top:12px;}
  .caddeo-approach-art{padding-right:7%;}
  .caddeo-approach-art img{height:480px;}
  .caddeo-approach-copy h2{font-size:55px;}
  .caddeo-contact h2{font-size:62px;}
  .caddeo-footer-top{flex-direction:column;}
  .caddeo-footer-side{text-align:left;}
 }
 @media (prefers-reduced-motion:reduce) {
  html{scroll-behavior:auto;}
  .caddeo-gallery-image img,.caddeo-text-link{transition:none;}
 }



/* Neutral image placeholders until the original photographic archive is supplied. */

 .ac-empty-photo { display:block; width:100%; height:100%; background:#989b9b; }
 .ac-cover-media .ac-empty-photo { position:absolute; inset:0; background:#858888; }
 .ac-category .ac-empty-photo { position:absolute; inset:0; background:#a1a3a3; }
 .ac-category:nth-child(even) .ac-empty-photo { background:#929595; }
 .ac-category:nth-child(3) .ac-empty-photo { background:#acafad; }
 .ac-detail-figure .ac-empty-photo { min-height:580px; background:#b0b1af; }
 .ac-profile .ac-detail-figure .ac-empty-photo { min-height:550px; }
 .caddeo-hero-photo-wrap .ac-empty-photo { background:#a5a8a7; }
 .caddeo-hero-inset .ac-empty-photo {background:#8f9291;}
 .caddeo-gallery-image .ac-empty-photo { height:530px; background:#acafae; }
 .caddeo-gallery article:nth-child(2) .ac-empty-photo { height:425px; background:#989b9a; }
 .caddeo-gallery article:nth-child(3) .ac-empty-photo { height:485px; background:#a3a5a4; }
 .caddeo-approach-art .ac-empty-photo { height:600px; background:#a7a9a7; }
 .ac-preview-disclaimer,.caddeo-sample-note,.ac-credit,.ac-detail-figure figcaption,.caddeo-approach-caption { display:none; }
 @media(max-width:1100px) {
 .caddeo-gallery-image .ac-empty-photo {height:420px;}
 .caddeo-gallery article:nth-child(2) .ac-empty-photo {height:345px;}
 .caddeo-gallery article:nth-child(3) .ac-empty-photo {height:390px;}
 }
 @media(max-width:790px) {
 .ac-detail-figure .ac-empty-photo {min-height:470px;}
 .ac-profile .ac-detail-figure .ac-empty-photo {min-height:480px;}
 .caddeo-gallery-image .ac-empty-photo {height:390px;}
 .caddeo-gallery article:nth-child(2) .ac-empty-photo {height:340px;}
 .caddeo-gallery article:nth-child(3) .ac-empty-photo {height:380px;}
 .caddeo-approach-art .ac-empty-photo {height:520px;}
 }
 @media(max-width:500px) {
 .ac-detail-figure .ac-empty-photo {min-height:360px;}
 .caddeo-gallery-image .ac-empty-photo,.caddeo-gallery article:nth-child(3) .ac-empty-photo {height:420px;}
 .caddeo-gallery article:nth-child(2) .ac-empty-photo {height:340px;}
 .caddeo-approach-art .ac-empty-photo {height:480px;}
 }


/* Elementor-native portfolio: editable layout, original Caddeo aesthetic. */

 body.elementor-page .elementor:not(.elementor-location-header):not(.elementor-location-footer) { max-width:100%; }
 .elementor .ac-ed-home,.elementor .ac-ed-page { --ac-ink:#292924;--ac-paper:#f7f6f2; background:var(--ac-paper); color:var(--ac-ink); width:100%; }
 .elementor .ac-ed-home .elementor-widget,.elementor .ac-ed-page .elementor-widget {margin-block-end:0;}
 .elementor .ac-ed-home .elementor-widget-container,.elementor .ac-ed-page .elementor-widget-container { max-width:100%; }
 .elementor .ac-ed-eyebrow .elementor-heading-title {font:500 10px/1.6 "Jost",sans-serif;letter-spacing:.27em;color:#898076;text-transform:uppercase;}
 .elementor .ac-ed-h1 .elementor-heading-title {font:400 clamp(74px,7.2vw,118px)/.9 "Cormorant Garamond",Georgia,serif;color:#302e2b;letter-spacing:-.038em;}
 .elementor .ac-ed-h1 em,.elementor .ac-ed-h2 em {font-style:italic;font-weight:300;color:#8d8376;}
 .elementor .ac-ed-h2 .elementor-heading-title {font:400 clamp(54px,5.2vw,88px)/.97 "Cormorant Garamond",Georgia,serif;letter-spacing:-.025em;color:#34312d;}
 .elementor .ac-ed-h3 .elementor-heading-title {font:400 clamp(30px,2.8vw,43px)/1.1 "Cormorant Garamond",Georgia,serif;color:#36332f;}
 .elementor .ac-ed-lead p {font:300 16px/1.9 "Jost",sans-serif;color:#6c665d;margin:0;max-width:590px;}
 .elementor .ac-ed-body p {font:300 15px/1.95 "Jost",sans-serif;color:#736d64;margin:0;}
 .elementor .ac-ed-link .elementor-button {background:transparent;color:#393630;border:0;border-bottom:1px solid #ada397;border-radius:0;padding:11px 0;font:500 11px/1.2 "Jost",sans-serif;letter-spacing:.12em;text-transform:uppercase;}
 .elementor .ac-ed-link .elementor-button:hover {color:#8d8172;border-color:#4c4842;background:transparent;}
 .elementor .ac-ed-home-cover {position:relative;isolation:isolate;background:#858987;min-height:clamp(660px, calc(100svh - 335px), 920px);max-height:920px;padding:clamp(65px,8vh,105px) 5% 48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;}
 .elementor .ac-ed-cover-photo {position:absolute;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;}
 .elementor .ac-ed-cover-photo .elementor-widget-container,.elementor .ac-ed-cover-photo .ac-empty-photo {width:100%;height:100%;display:block;background:#858987;}
 .elementor .ac-ed-cover-photo img {width:100%;height:100%;object-fit:cover;filter:grayscale(45%) saturate(.7);}
 .elementor .ac-ed-home-cover:before {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,18,18,.48),rgba(13,15,15,.06) 100%),linear-gradient(0deg,rgba(14,15,15,.76),rgba(12,14,14,.06) 75%);pointer-events:none;}
 .elementor .ac-ed-cover-copy {position:relative;z-index:1;max-width:900px;gap:22px;}
 .elementor .ac-ed-home .ac-ed-cover-copy .ac-ed-eyebrow .elementor-heading-title {color:#fff;opacity:.93;}
 .elementor .ac-ed-home-title .elementor-heading-title {font:400 clamp(80px,7.8vw,134px)/.84 "Cormorant Garamond",Georgia,serif;color:#fbf8f2;letter-spacing:-.034em;}
 .elementor .ac-ed-home-title em {font-style:italic;font-weight:300;}
 .elementor .ac-ed-home-strap p {font:400 12px/1.8 "Jost",sans-serif;color:#f9f5ee;letter-spacing:.09em;margin:0;}
 .elementor .ac-ed-rail {position:relative;z-index:1;gap:14px;}
 .elementor .ac-ed-rail-label .elementor-heading-title {font:500 10px/1.6 "Jost",sans-serif;color:#eceae4;letter-spacing:.21em;}
 .elementor .ac-ed-cards {display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:14px;align-items:stretch;}
 .elementor .ac-ed-tile {background:#9a9e9b;position:relative;isolation:isolate;width:calc(25% - 10.5px);flex:0 0 calc(25% - 10.5px);min-width:0;height:152px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;}
 /* On compact desktop / tablet widths: two equal thumbnails per row, centered. */
 @media (min-width:691px) and (max-width:1199px) {
  .elementor .ac-ed-cards {width:100%;max-width:760px;margin-inline:auto;}
  .elementor .ac-ed-tile {width:calc(50% - 7px);flex:0 0 calc(50% - 7px);}
 }
 .elementor .ac-ed-tile:nth-child(2) {background:#8d918e;}
 .elementor .ac-ed-tile:nth-child(3) {background:#a2a6a3;}
 .elementor .ac-ed-tile:nth-child(4) {background:#8b918f;}
 .elementor .ac-ed-tile-image {position:absolute;inset:0;width:100%;height:100%;z-index:-1;}
 .elementor .ac-ed-tile-image .elementor-widget-container,.elementor .ac-ed-tile-image .ac-empty-photo {width:100%;height:100%;background:transparent;display:block;}
 .elementor .ac-ed-tile-image img {width:100%;height:100%;object-fit:cover;filter:grayscale(45%) brightness(.8);transition:transform .3s;}
 .elementor .ac-ed-tile:hover img {transform:scale(1.055);}
 .elementor .ac-ed-tile:after {content:"";pointer-events:none;position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,22,22,.59),transparent 75%);}
 .elementor .ac-ed-tile-link {width:100%;z-index:1;}
 .elementor .ac-ed-tile-link .elementor-button {display:block;text-align:left;background:transparent;border:0;border-radius:0;padding:34px 13px 14px 17px;color:#fff;text-transform:uppercase;font:500 clamp(10px,1vw,14px)/1.3 "Jost",sans-serif;letter-spacing:.07em;transition:background .2s;}
 .elementor .ac-ed-tile-link .elementor-button:hover {background:#ffffff1a;color:#fff;}
 .elementor .ac-ed-page {min-height:60vh;}
 .elementor .ac-ed-service-hero,.elementor .ac-ed-wedding-hero {max-width:1500px;margin:0 auto;padding:110px 5% 100px;gap:7%;align-items:center;flex-direction:row;flex-wrap:nowrap;}
 .elementor .ac-ed-service-copy {width:45%;flex:0 0 45%;gap:27px;}
 .elementor .ac-ed-photo-block {width:48%;flex:1;min-width:0;}
 .elementor .ac-ed-image {width:100%;}
 .elementor .ac-ed-photo-block .ac-ed-image .elementor-widget-container,.elementor .ac-ed-photo-block .ac-ed-image .ac-empty-photo {display:block;min-height:580px;height:580px;width:100%;background:#afb1af;}
 .elementor .ac-ed-photo-block .ac-ed-image img {width:100%;height:580px;object-fit:cover;}
 .elementor .ac-ed-editorial {display:flex;flex-direction:row;gap:12%;padding:110px max(5%,calc((100% - 1350px)/2));border-top:1px solid #e3ded5;align-items:start;}
 .elementor .ac-ed-editorial-title {width:42%;flex:0 0 42%;gap:24px;}
 .elementor .ac-ed-editorial-copy {flex:1;gap:19px;}
 .elementor .ac-ed-editorial-copy .ac-ed-body:first-child p {font:400 clamp(25px,2.3vw,38px)/1.3 "Cormorant Garamond",Georgia,serif;color:#383530;}
 .elementor .ac-ed-method {background:#eae7df;padding:110px max(5%,calc((100% - 1350px)/2)) 125px;gap:27px;}
 .elementor .ac-ed-method-row {display:flex;flex-direction:row;gap:36px;margin-top:36px;}
 .elementor .ac-ed-method-item {flex:1;width:33%;border-top:1px solid #bfb7a9;padding-top:18px;gap:20px;}
 .elementor .ac-ed-method-item .ac-ed-h3 {margin-top:14px;}
 .elementor .ac-ed-scope {padding:100px max(5%,calc((100% - 1350px)/2)) 110px;gap:24px;border-top:1px solid #ddd8ce;background:#f3f0ea;}
 .elementor .ac-ed-scope .ac-ed-body {max-width:800px;}
 .elementor .ac-ed-faq-section {padding:100px max(5%,calc((100% - 1350px)/2)) 115px;gap:20px;border-top:1px solid #ddd8ce;background:#ece9e2;}
 .elementor .ac-ed-faq-section .ac-ed-faq {width:100%;margin-top:25px;max-width:920px;}
 .elementor .ac-ed-faq .elementor-toggle-item {border-top:1px solid #c9c2b7;}
 .elementor .ac-ed-faq .elementor-toggle-item:last-child {border-bottom:1px solid #c9c2b7;}
 .elementor .ac-ed-faq .elementor-tab-title {padding:24px 7px;border:0;color:#34322f;font:400 15px/1.6 "Jost",sans-serif;}
 .elementor .ac-ed-faq .elementor-tab-content {padding:0 20px 24px;border:0;color:#716a60;font:300 14px/1.85 "Jost",sans-serif;}
 .elementor .ac-ed-faq .elementor-tab-content p {margin:0;}
 .elementor .ac-ed-faq-intro {padding:115px 5% 90px;max-width:1400px;margin:0 auto;gap:27px;}
 .elementor .ac-ed-contact {padding:120px 5% 130px;max-width:1370px;margin:0 auto;gap:24px;}
 .elementor .ac-ed-contact .ac-ed-h1 {margin-bottom:25px;}
 .elementor .ac-ed-contact .ac-ed-body {max-width:760px;}
 .elementor .ac-ed-contact .ac-ed-h3 {margin-top:20px;}
 .elementor .ac-ed-wedding-hero {min-height:790px;}
 .elementor .ac-ed-wedding-hero .ac-ed-service-copy {width:48%;flex:0 0 48%;}
 .elementor .ac-ed-wedding-photos {position:relative;flex:1;min-width:0;height:680px;}
 .elementor .ac-ed-wedding-main {position:absolute;inset:0 8% 0 0;height:630px;}
 .elementor .ac-ed-wedding-main .elementor-widget-container,.elementor .ac-ed-wedding-main .ac-empty-photo {height:100%;width:100%;background:#a8aaa7;display:block;}
 .elementor .ac-ed-wedding-main img {height:100%;width:100%;object-fit:cover;}
 .elementor .ac-ed-wedding-inset {position:absolute;bottom:0;right:0;width:42%;height:235px;box-shadow:0 10px 32px #0002;}
 .elementor .ac-ed-wedding-inset .elementor-widget-container,.elementor .ac-ed-wedding-inset .ac-empty-photo {height:100%;width:100%;display:block;background:#8e9290;}
 .elementor .ac-ed-wedding-inset img {height:100%;width:100%;object-fit:cover;}
 .elementor .ac-ed-statement {background:#e8e3db;padding:110px 5%;align-items:center;text-align:center;}
 .elementor .ac-ed-gallery-section {padding:110px 5% 120px;max-width:1520px;margin:0 auto;gap:30px;}
 .elementor .ac-ed-gallery {display:flex;flex-direction:row;gap:20px;align-items:stretch;}
 .elementor .ac-ed-gallery .ac-ed-image {flex:1;width:33%;}
 .elementor .ac-ed-gallery .ac-ed-image .elementor-widget-container,.elementor .ac-ed-gallery .ac-ed-image .ac-empty-photo {display:block;height:460px;width:100%;background:#acafae;}
 .elementor .ac-ed-gallery .ac-ed-image:nth-child(2) .ac-empty-photo {background:#929694;}
 .elementor .ac-ed-gallery .ac-ed-image:nth-child(3) .ac-empty-photo {background:#b6b9b6;}
 .elementor .ac-ed-gallery .ac-ed-image img {height:460px;width:100%;object-fit:cover;}
 @media(max-width:900px) {
  .elementor .ac-ed-home-cover {min-height:690px;}
  .elementor .ac-ed-home-title .elementor-heading-title {font-size:clamp(68px,9vw,95px);}
  .elementor .ac-ed-service-hero,.elementor .ac-ed-wedding-hero {gap:5%;padding:75px 4%;}
  .elementor .ac-ed-h1 .elementor-heading-title {font-size:clamp(63px,7.8vw,82px);}
  .elementor .ac-ed-service-copy {width:49%;flex:0 0 49%;}
  .elementor .ac-ed-photo-block .ac-ed-image .ac-empty-photo,.elementor .ac-ed-photo-block .ac-ed-image .elementor-widget-container {height:480px;min-height:480px;}
  .elementor .ac-ed-editorial {gap:6%;}
  .elementor .ac-ed-editorial-title {width:46%;flex:0 0 46%;}
  .elementor .ac-ed-wedding-photos {height:540px;}
  .elementor .ac-ed-wedding-main {height:510px;}
 }
 @media(max-width:690px) {
  .elementor .ac-ed-home-cover {min-height:0;padding:0;background:#f7f6f2;overflow:visible;gap:0;}
  .elementor .ac-ed-cover-photo {top:0;bottom:auto;height:500px;}
  .elementor .ac-ed-home-cover:before {top:0;bottom:auto;height:500px;}
  .elementor .ac-ed-cover-copy {min-height:500px;padding:85px 24px 65px;gap:23px;}
  .elementor .ac-ed-home-title .elementor-heading-title {font-size:clamp(68px,11vw,88px);}
  .elementor .ac-ed-home-strap p {font-size:11px;}
  .elementor .ac-ed-rail {padding:26px 21px 34px;background:#f7f6f2;gap:17px;}
  .elementor .ac-ed-rail-label .elementor-heading-title {color:#494843;}
  .elementor .ac-ed-cards {flex-wrap:wrap;gap:12px;}
  .elementor .ac-ed-tile {width:calc(50% - 6px);flex:0 0 calc(50% - 6px);height:165px;}
  .elementor .ac-ed-tile-link .elementor-button {font-size:11px;}
  .elementor .ac-ed-service-hero,.elementor .ac-ed-wedding-hero {flex-direction:column;padding:65px 5%;gap:48px;align-items:stretch;}
  .elementor .ac-ed-service-copy {width:100%;flex:none;}
  .elementor .ac-ed-photo-block {width:100%;flex:none;}
  .elementor .ac-ed-photo-block .ac-ed-image .ac-empty-photo,.elementor .ac-ed-photo-block .ac-ed-image .elementor-widget-container {min-height:420px;height:420px;}
  .elementor .ac-ed-h1 .elementor-heading-title {font-size:clamp(60px,11vw,79px);}
  .elementor .ac-ed-h2 .elementor-heading-title {font-size:clamp(53px,9vw,75px);}
  .elementor .ac-ed-editorial {flex-direction:column;padding:80px 5%;gap:37px;}
  .elementor .ac-ed-editorial-title {width:100%;flex:none;}
  .elementor .ac-ed-method {padding:80px 5%;gap:20px;}
  .elementor .ac-ed-method-row {flex-direction:column;gap:22px;}
  .elementor .ac-ed-method-item {flex:none;width:100%;padding-top:19px;}
  .elementor .ac-ed-method-item .ac-ed-h3 {margin-top:2px;}
  .elementor .ac-ed-scope {padding:75px 5%;}
  .elementor .ac-ed-faq-section {padding:72px 5%;}
  .elementor .ac-ed-wedding-hero .ac-ed-service-copy {width:100%;flex:none;}
  .elementor .ac-ed-wedding-photos {flex:none;height:490px;width:100%;}
  .elementor .ac-ed-wedding-main {height:450px;}
  .elementor .ac-ed-wedding-inset {height:170px;}
  .elementor .ac-ed-statement {padding:80px 5%;}
  .elementor .ac-ed-gallery-section {padding:75px 5%;}
  .elementor .ac-ed-gallery {gap:10px;}
  .elementor .ac-ed-gallery .ac-ed-image .elementor-widget-container,.elementor .ac-ed-gallery .ac-ed-image .ac-empty-photo,.elementor .ac-ed-gallery .ac-ed-image img {height:260px;}
  .elementor .ac-ed-faq-intro,.elementor .ac-ed-contact {padding:75px 5%;}
 }
 @media(max-width:440px) {
  .elementor .ac-ed-cover-photo,.elementor .ac-ed-home-cover:before {height:475px;}
  .elementor .ac-ed-cover-copy {min-height:475px;padding:69px 22px 45px;}
  .elementor .ac-ed-home-title .elementor-heading-title {font-size:64px;}
  .elementor .ac-ed-cards {gap:9px;}
  .elementor .ac-ed-tile {height:130px;width:calc(50% - 4.5px);flex-basis:calc(50% - 4.5px);}
  .elementor .ac-ed-tile-link .elementor-button {font-size:10px;padding:25px 7px 10px;}
  .elementor .ac-ed-faq .elementor-tab-title {font-size:13px;padding:18px 5px;}
  .elementor .ac-ed-faq .elementor-tab-content {font-size:13px;}
 }


/* Portfolio cover and studio views — October 2026 */

 .ac-layout { background:#f7f6f2; color:#292a28; }
 .ac-site-header { background:#f8f7f3; border-bottom:1px solid #e5e1d9; position:relative; z-index:30; }
 .ac-header-inner { max-width:1620px; margin:0 auto; min-height:95px; padding:16px 5%; display:flex; align-items:center; justify-content:space-between; gap:25px; }
 .ac-brand { display:flex; flex-direction:column; color:#282824; width:max-content; text-decoration:none; }
 .ac-brand-name { font-family:"Cormorant Garamond", Georgia,serif; font-size:30px; line-height:1; font-weight:500; letter-spacing:.12em; }
 .ac-brand-subtitle { font-family:"Jost",sans-serif; text-transform:uppercase; letter-spacing:.245em; font-size:9px; font-weight:500; color:#817d75; margin-top:7px; }
 .ac-nav { display:flex; align-items:center; gap:44px; }
 .ac-nav a { font:500 11px/1.5 "Jost",sans-serif; text-transform:uppercase; letter-spacing:.19em; text-decoration:none; color:#363631; padding:10px 0; border-bottom:1px solid transparent; }
 .ac-nav a:hover,.ac-nav a:focus-visible { border-bottom-color:#9b9489; }
 .ac-menu { display:none; }
 .ac-main { background:#21221e; }
 .ac-cover { position:relative; isolation:isolate; min-height:740px; height:calc(100svh - 95px); max-height:1120px; color:#fff; overflow:hidden; }
 .ac-cover-media { position:absolute; inset:0; z-index:-3; }
 .ac-cover-media img.ac-cover-photo { width:100%; height:100%; object-fit:cover; object-position:center 52%; filter:grayscale(48%) saturate(.75) contrast(1.04); }
 .ac-cover-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(12,15,16,.56) 0%,rgba(12,15,16,.19) 58%,rgba(12,15,16,.07) 100%),linear-gradient(0deg,rgba(13,15,15,.83) 0%,rgba(13,15,15,.12) 48%,rgba(13,15,15,.04) 80%); }
 .ac-cover-heading { position:absolute; left:max(5%,calc((100% - 1540px) / 2)); top:clamp(65px,10vh,146px); right:5%; max-width:840px; text-shadow:0 1px 11px #0003; }
 .ac-eyebrow { display:block; margin:0; color:#8a8379; font:500 10px/1.6 "Jost",sans-serif; letter-spacing:.3em; text-transform:uppercase; }
 .ac-eyebrow-light { color:#f2f1ea; opacity:.88; }
 .ac-cover-heading h1 { font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(78px,7.5vw,128px); font-weight:400; letter-spacing:-.035em; line-height:.86; margin:26px 0 26px; color:#f7f4ee; }
 .ac-cover-heading h1 em { font-weight:300; font-style:italic; }
 .ac-cover-heading p { margin:0; font-size:13px; font-weight:400; letter-spacing:.12em; line-height:1.7; color:#f4f0e7; }
 .ac-category-rail { position:absolute; bottom:31px; left:5%; right:5%; max-width:1540px; margin:0 auto; }
 .ac-category-label { color:#e8e5de; display:flex; justify-content:space-between; align-items:center; margin-bottom:13px; font:500 10px/1.5 "Jost",sans-serif; text-transform:uppercase; letter-spacing:.24em; }
 .ac-category-index { opacity:.65; }
 .ac-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
 .ac-category { display:block; position:relative; isolation:isolate; height:153px; background:#30302e; overflow:hidden; outline-offset:4px; border:1px solid #ffffff69; transition:border-color .2s ease; }
 .ac-category img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(34%) saturate(.6) brightness(.79); transition:transform .6s cubic-bezier(.2,.7,.3,1),filter .4s; }
 .ac-category-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.06) 72%); pointer-events:none; }
 .ac-category-title { position:absolute; bottom:17px; left:18px; right:36px; font:500 15px/1.15 "Jost",sans-serif; letter-spacing:.085em; color:#fff; text-transform:uppercase; }
 .ac-category-title-long { font-size:12px; letter-spacing:.04em; }
 .ac-category-arrow { position:absolute; bottom:13px; right:18px; color:#fff; font-size:19px; transition:transform .3s; }
 .ac-category:hover img,.ac-category:focus-visible img { transform:scale(1.065); filter:grayscale(10%) saturate(.85) brightness(.91); }
 .ac-category:hover .ac-category-arrow,.ac-category:focus-visible .ac-category-arrow { transform:translate(3px,-3px); }
 .ac-category:focus-visible { outline:2px solid #fff; }
 .ac-preview-disclaimer { color:#e7e5e0; opacity:.8; font-size:9px; letter-spacing:.06em; margin:13px 0 0; text-align:right; }
 .ac-site-footer { background:#f7f6f2; padding:28px 0 23px; border-top:1px solid #e9e4dc; }
 .ac-footer-inner { width:90%; max-width:1540px; margin:0 auto; }
 .ac-footer-top { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#6b6860; }
 .ac-footer-top .ac-footer-brand { font:500 19px/1 "Cormorant Garamond",Georgia,serif; letter-spacing:.1em; color:#272723; }
 .ac-footer-top>span:nth-child(2) { font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
 .ac-footer-top a { font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
 .ac-footer-bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-top:22px; padding-top:16px; border-top:1px solid #e1ddd5; font-size:10px; letter-spacing:.03em; line-height:1.55; color:#8a857c; }
 .ac-credit { max-width:650px; text-align:right; }
 .ac-credit summary { cursor:pointer; list-style:none; text-decoration:underline; text-underline-offset:3px; }
 .ac-credit summary::-webkit-details-marker { display:none; }
 .ac-credit div { margin-top:7px; }
 .ac-credit a { text-decoration:underline; }
 .ac-detail-main { background:#f7f6f2; min-height:calc(100svh - 170px); }
 .ac-wide { width:90%; max-width:1500px; margin:0 auto; }
 .ac-detail-top { padding:92px 0 90px; display:grid; grid-template-columns: .93fr 1.07fr; align-items:center; gap:clamp(42px,7vw,130px); }
 .ac-detail-heading { padding:0 0 10px; }
 .ac-detail-heading .ac-eyebrow { margin-bottom:24px; }
 .ac-detail-heading h1,.ac-profile h1,.ac-contact-view h1 { margin:0 0 35px; font-family:"Cormorant Garamond",Georgia,serif; font-weight:400; font-size:clamp(67px,7.8vw,124px); letter-spacing:-.042em; line-height:.89; }
 .ac-detail-heading h1 em,.ac-profile h1 em,.ac-contact-view h1 em { font-weight:300; color:#847c70; }
 .ac-detail-lead { max-width:540px; color:#6f6a61; line-height:1.85; font-weight:300; font-size:16px; margin:0 0 27px; }
 .ac-back-link,.ac-inline-link { display:inline-flex; align-items:center; gap:16px; padding-bottom:9px; border-bottom:1px solid #999182; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:500; margin-top:15px; }
 .ac-detail-figure { position:relative; margin:0; }
 .ac-detail-photo { display:block; width:100%; height:580px; object-fit:cover; filter:grayscale(28%) saturate(.67); }
 .ac-detail-figure figcaption { margin-top:12px; color:#8d877b; font-size:10px; text-transform:uppercase; letter-spacing:.17em; }
 .ac-detail-bottom { padding:50px 0 100px; border-top:1px solid #ded8cd; display:flex; gap:40px; justify-content:space-between; align-items:center; }
 .ac-detail-bottom .ac-eyebrow { flex:0 0 auto; }
 .ac-detail-bottom p { max-width:570px; margin:0; font-size:14px; font-weight:300; line-height:1.85; color:#6c685f; }
 .ac-detail-bottom .ac-inline-link { white-space:nowrap; }
 .ac-profile { min-height:65vh; display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:7%; padding:100px 0; }
 .ac-profile .ac-detail-photo { height:550px; }
 .ac-contact-view { min-height:70vh; padding:clamp(70px,9vw,135px) 0; }
 .ac-contact-view h1 { margin-top:34px; font-size:clamp(80px,10vw,155px); }
 .ac-contact-view>p:not(.ac-eyebrow) { color:#6f6a61; max-width:690px; font-size:16px; line-height:1.85; font-weight:300; }
 .ac-contact-email { font-family:"Cormorant Garamond",Georgia,serif; display:inline-flex; align-items:center; gap:20px; border-bottom:1px solid #a49b8f; margin-top:40px; font-size:clamp(29px,4vw,58px); padding-bottom:11px; word-break:break-word; }
 .ac-contact-email span { font-size:26px; }
 .ac-contact-foot { margin-top:85px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
 @media (max-width:1060px) {
   .ac-cover { min-height:710px; }
   .ac-cover-heading h1 { font-size:clamp(70px,8.8vw,110px); }
   .ac-category { height:127px; }
   .ac-category-title { font-size:12px; left:13px; bottom:13px; }
   .ac-category-title-long { font-size:10px; }
   .ac-category-arrow { right:11px; bottom:9px; }
   .ac-detail-top { gap:50px; }
   .ac-detail-photo {height:500px;}
 }
 @media (max-width:760px) {
   .ac-header-inner { min-height:80px; padding:14px 23px; }
   .ac-brand-name { font-size:27px; }
   .ac-brand-subtitle { font-size:8px; letter-spacing:.17em; }
   .ac-nav { display:none; }
   .ac-menu { display:block; position:relative; }
   .ac-menu summary { display:grid; justify-items:end; justify-content:center; align-content:center; gap:7px; width:35px; height:35px; cursor:pointer; list-style:none; }
   .ac-menu summary::-webkit-details-marker {display:none;}
   .ac-menu summary span { display:block; width:26px; height:1px; background:#363631; }
   .ac-menu summary span:last-child { width:18px; }
   .ac-menu-links { position:absolute; top:43px; right:-23px; z-index:50; padding:23px 28px; width:min(290px,90vw); background:#f7f6f2; box-shadow:0 13px 25px #1113; border:1px solid #e6e1d7; display:grid; gap:19px; }
   .ac-menu-links a { font-size:12px; text-transform:uppercase; letter-spacing:.14em; }
   .ac-cover { height:auto; min-height:0; overflow:visible; background:#f7f6f2; }
   .ac-cover-media { inset:0 0 auto; height:515px; }
   .ac-cover-shade { inset:0 0 auto; height:515px; background:linear-gradient(90deg,#0a0b0d9c,#0a0b0d26),linear-gradient(0deg,#0a0b0d72,transparent 65%); }
   .ac-cover-heading { position:relative; top:auto; left:auto; right:auto; padding:72px 27px 105px; min-height:515px; }
   .ac-cover-heading h1 { font-size:clamp(63px,10vw,94px); margin:23px 0; }
   .ac-cover-heading p { font-size:12px; line-height:1.7; max-width:380px; }
   .ac-category-rail { position:relative; left:auto; right:auto; bottom:auto; max-width:none; padding:23px 22px 35px; background:#f7f6f2; }
   .ac-category-label { color:#4e4b46; margin-bottom:16px; }
   .ac-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
   .ac-category { height:177px; border:0; }
   .ac-category-title { font-size:13px; }
   .ac-category-title-long { font-size:11px; }
   .ac-preview-disclaimer { color:#706a63; margin-top:19px; text-align:left; }
   .ac-detail-top { display:block; padding:65px 0; }
   .ac-detail-heading { margin-bottom:54px; }
   .ac-detail-heading h1 { font-size:clamp(65px,11vw,98px); }
   .ac-detail-photo { height:470px; }
   .ac-detail-bottom { flex-direction:column; align-items:flex-start; gap:13px; padding-bottom:78px; }
   .ac-profile { grid-template-columns:1fr; gap:30px; padding:65px 0; }
   .ac-profile .ac-detail-photo { height:480px; }
   .ac-contact-view { padding:74px 0; }
   .ac-contact-view h1 { font-size:clamp(72px,12vw,110px); }
   .ac-contact-foot { margin-top:60px; }
   .ac-footer-top { flex-wrap:wrap; row-gap:13px; }
   .ac-footer-top span:nth-child(2) { display:none; }
   .ac-footer-bottom { flex-direction:column; }
   .ac-credit { max-width:100%; text-align:left; }
 }
 @media (max-width:440px) {
   .ac-cover-media,.ac-cover-shade { height:470px; }
   .ac-cover-heading { min-height:470px; padding:69px 23px 50px; }
   .ac-cover-heading h1 { font-size:64px; }
   .ac-cover-heading p { max-width:290px; letter-spacing:.055em; }
   .ac-category { height:132px; }
   .ac-category-title { font-size:11px; left:10px; bottom:12px; }
   .ac-category-title-long { font-size:9px; }
   .ac-category-arrow { right:10px; bottom:7px; }
   .ac-category-rail { padding:20px 16px 28px; }
   .ac-category-grid { gap:9px; }
   .ac-detail-top {padding-top:52px;}
   .ac-detail-photo { height:360px;}
   .ac-detail-heading h1{font-size:64px;}
   .ac-contact-view h1{font-size:76px;}
 }
 @media (prefers-reduced-motion:reduce) {
   .ac-category img,.ac-category-arrow {transition:none;}
 }



/* Editorial footer: a considered final section, not a thin copyright bar. */
body.home.caddeo-site {min-height:100svh;display:flex;flex-direction:column;}
body.home.caddeo-site .caddeo-elementor-home {flex:0 0 auto;}
body.home.caddeo-site .ac-site-footer {flex:1 0 auto;}
.ac-site-footer {
  background:#f0ede6;
  border-top:1px solid #dcd7cd;
  padding:0;
  color:#33312c;
}
.ac-site-footer .ac-footer-inner {
  width:90%;
  max-width:1540px;
  margin:0 auto;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.ac-site-footer .ac-footer-feature {
  display:flex;
  flex-direction:row;
  align-items:end;
  justify-content:space-between;
  gap:40px;
  padding:clamp(48px,5.5vw,86px) 0 clamp(43px,5vw,74px);
}
.ac-footer-kicker {
  display:block;
  font:500 10px/1.7 "Jost",sans-serif;
  color:#887e70;
  letter-spacing:.23em;
}
.ac-site-footer .ac-footer-feature h2 {
  font:400 clamp(47px,5.1vw,82px)/.92 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.024em;
  margin:22px 0 0;
  color:#302d28;
}
.ac-site-footer .ac-footer-feature h2 em {
  color:#817767;
  font-style:italic;
  font-weight:300;
}
.ac-site-footer .ac-footer-cta {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  flex:0 0 auto;
  font:500 11px/1.35 "Jost",sans-serif;
  text-transform:uppercase;
  letter-spacing:.155em;
  color:#403a32;
  padding:0 0 11px;
  border-bottom:1px solid #968b7d;
  transition:gap .25s,border-color .25s;
}
.ac-site-footer .ac-footer-cta:hover {gap:48px;border-color:#38322c;}
.ac-site-footer .ac-footer-cta span {font-size:24px;font-weight:300;line-height:0;}
.ac-site-footer .ac-footer-main {
  display:grid;
  grid-template-columns:minmax(200px,1fr) minmax(390px,1.3fr) auto;
  gap:50px;
  align-items:start;
  border-top:1px solid #d4cec3;
  padding:33px 0 32px;
}
.ac-site-footer .ac-footer-identity {display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.ac-site-footer .ac-footer-brand {
  font:500 22px/1.1 "Cormorant Garamond",Georgia,serif;
  letter-spacing:.14em;
  color:#34312b;
}
.ac-site-footer .ac-footer-identity>span {
  font:400 9px/1.6 "Jost",sans-serif;
  text-transform:uppercase;
  color:#8e877e;
  letter-spacing:.18em;
}
.ac-site-footer .ac-footer-navigation {
  display:grid;
  grid-template-columns:repeat(3,max-content);
  gap:12px 33px;
}
.ac-site-footer .ac-footer-navigation a,
.ac-site-footer .ac-footer-up {
  font:500 10px/1.55 "Jost",sans-serif;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:#716a5f;
  transition:color .2s;
}
.ac-site-footer .ac-footer-navigation a:hover,
.ac-site-footer .ac-footer-up:hover {color:#27231e;}
.ac-site-footer .ac-footer-up {display:inline-flex;gap:13px;align-items:center;white-space:nowrap;}
.ac-site-footer .ac-footer-up span {font-size:18px;font-weight:300;line-height:1;}
.ac-site-footer .ac-footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #d4cec3;
  padding:16px 0 23px;
  margin:0;
  font:400 10px/1.6 "Jost",sans-serif;
  letter-spacing:.025em;
  color:#988f83;
}
.ac-site-footer .ac-credit {text-align:right;}
@media (max-width:1100px) {
  .ac-site-footer .ac-footer-main {grid-template-columns:1fr 1.5fr;gap:34px;}
  .ac-site-footer .ac-footer-up {grid-column:2;justify-self:end;}
}
@media (max-width:690px) {
  body.home.caddeo-site {display:block;min-height:0;}
  .elementor .ac-ed-home-cover {max-height:none;}
  .ac-site-footer .ac-footer-feature {flex-direction:column;align-items:flex-start;gap:30px;padding:51px 0 52px;}
  .ac-site-footer .ac-footer-feature h2 {font-size:clamp(45px,9vw,67px);}
  .ac-site-footer .ac-footer-main {grid-template-columns:1fr;gap:30px;padding:30px 0;}
  .ac-site-footer .ac-footer-navigation {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .ac-site-footer .ac-footer-up {grid-column:1;justify-self:start;}
  .ac-site-footer .ac-footer-bottom {padding:19px 0 24px;}
}

/* Editorial long-form pages and accessible question accordions. */

 .ac-editorial-section { padding:120px 0 124px; background:#f7f6f2; border-top:1px solid #e8e4dc; }
 .ac-editorial-grid { display:grid; grid-template-columns: minmax(260px,.83fr) minmax(300px,1.17fr); gap:clamp(48px,10vw,170px); }
 .ac-editorial-title h2 { margin:23px 0 0; font:400 clamp(57px,5.2vw,91px)/.99 "Cormorant Garamond",Georgia,serif; letter-spacing:-.025em; }
 .ac-editorial-title h2 em { color:#837d71; font-weight:300; }
 .ac-editorial-text { padding-top:2px; max-width:660px; }
 .ac-editorial-text p { color:#6e685d; font-size:15px; font-weight:300; line-height:1.96; margin:0 0 21px; }
 .ac-editorial-text .ac-editorial-opening { font:400 clamp(28px,2.55vw,40px)/1.24 "Cormorant Garamond",Georgia,serif; color:#33312e; margin-bottom:27px; }
 .ac-method-section { padding:100px 0 130px; border-top:1px solid #e7e1d8; }
 .ac-method-head { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:55px; }
 .ac-method-head h2 { font:400 clamp(58px,5.6vw,90px)/.95 "Cormorant Garamond",Georgia,serif; margin:0; letter-spacing:-.02em; }
 .ac-method-head h2 em { font-weight:300; color:#837d71; }
 .ac-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
 .ac-method-card { border-top:1px solid #bab3a8; padding-top:21px; }
 .ac-method-card>span { display:block; color:#8d8578; font-size:10px; font-weight:500; letter-spacing:.21em; }
 .ac-method-card h3 { margin:36px 0 15px; font:400 clamp(30px,2.8vw,45px)/1.07 "Cormorant Garamond",Georgia,serif; }
 .ac-method-card p { font-size:14px; line-height:1.85; color:#797368; font-weight:300; max-width:340px; }
 .ac-service-scope { background:#e9e4db; padding:100px 0 113px; }
 .ac-scope-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:12%; align-items:start; }
 .ac-scope-grid h2 { font:400 clamp(57px,5.1vw,87px)/.95 "Cormorant Garamond",Georgia,serif; letter-spacing:-.02em; margin:26px 0 0; }
 .ac-scope-grid h2 em {color:#847b6f;}
 .ac-scope-grid p { color:#675f56; font-size:15px; line-height:1.93; font-weight:300; max-width:660px; margin:0 0 19px; }
 .ac-scope-grid .ac-scope-caution { border-left:2px solid #aa9d8b; padding:6px 0 6px 18px; font-size:12px; }
 .ac-contact-topics { margin:42px 0 18px; padding-left:24px; border-left:1px solid #bfb6a8; }
 .ac-contact-topics p {font-size:14px;line-height:1.8;max-width:725px;color:#655e54;}
 .ac-contact-topics strong {font-weight:500;color:#33302b;}
 .ac-faq-page-intro { padding:110px 0 105px; }
 .ac-faq-page-intro h1 { font:400 clamp(76px,8.4vw,143px)/.92 "Cormorant Garamond",Georgia,serif; letter-spacing:-.035em; margin:28px 0 35px; }
 .ac-faq-page-intro h1 em {font-weight:300;color:#81786c;}
 .ac-faq-page-intro>p:last-child {max-width:730px;font-size:17px;line-height:1.85;font-weight:300;color:#716b61;}
 .ac-faq-section {background:#efede7;padding:110px 0 126px;border-top:1px solid #e3ded5;}
 .ac-faq-layout {display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,7vw,150px);}
 .ac-faq-intro {align-self:start;}
 .ac-faq-intro h2 {margin:25px 0 28px;font:400 clamp(56px,5.3vw,90px)/.96 "Cormorant Garamond",Georgia,serif;letter-spacing:-.025em;}
 .ac-faq-intro h2 em {color:#847d70;font-weight:300;}
 .ac-faq-intro>p:not(.ac-eyebrow) {color:#777166;font-size:14px;font-weight:300;max-width:360px;line-height:1.85;}
 .ac-faq-intro .ac-inline-link {margin-top:35px;}
 .ac-faq-group {margin-bottom:64px;}
 .ac-faq-group:last-child {margin-bottom:0;}
 .ac-faq-group>h3 {font:400 clamp(33px,3.3vw,49px)/1.1 "Cormorant Garamond",Georgia,serif;margin:0 0 10px;}
 .ac-faq-group>p {font-size:13px;color:#877f73;line-height:1.8;margin:0 0 30px;max-width:600px;}
 .ac-faq-item {border-top:1px solid #cfc9bf;}
 .ac-faq-item:last-child {border-bottom:1px solid #cfc9bf;}
 .ac-faq-item summary {list-style:none;display:grid;grid-template-columns:35px 1fr 25px;gap:16px;align-items:start;cursor:pointer;padding:23px 2px;color:#373630;}
 .ac-faq-item summary::-webkit-details-marker {display:none;}
 .ac-faq-item summary:focus-visible {outline:2px solid #84796b;outline-offset:3px;}
 .ac-faq-number {font:500 10px/1.9 "Jost",sans-serif;color:#958d80;letter-spacing:.11em;}
 .ac-faq-question {font-size:15px;font-weight:400;line-height:1.6;}
 .ac-faq-toggle {font:300 24px/1 "Jost",sans-serif;text-align:right;transition:transform .2s ease;}
 .ac-faq-item[open] .ac-faq-toggle {transform:rotate(45deg);}
 .ac-faq-answer {font-size:14px;line-height:1.9;color:#70695f;font-weight:300;padding:0 42px 26px 53px;max-width:760px;}
 .ac-wedding-story {padding:117px 0 125px;display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;}
 .ac-wedding-story h2,.ac-wedding-steps-heading h2 {font:400 clamp(56px,5vw,82px)/.98 "Cormorant Garamond",Georgia,serif;letter-spacing:-.025em;margin:24px 0 0;}
 .ac-wedding-story h2 em,.ac-wedding-steps-heading h2 em {font-weight:300;color:#887c6c;}
 .ac-wedding-story-copy {max-width:610px;}
 .ac-wedding-story-copy p {font-size:15px;line-height:1.95;font-weight:300;color:#6d665d;margin:0 0 22px;}
 .ac-wedding-story-copy .ac-opening-copy {font:400 clamp(25px,2.2vw,35px)/1.3 "Cormorant Garamond",Georgia,serif;color:#36322d;margin-bottom:27px;}
 .ac-wedding-steps {background:#eeebe5;padding:105px 0 120px;}
 .ac-wedding-steps-heading {margin-bottom:52px;}
 .ac-wedding-steps-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;}
 .ac-wedding-steps-grid article {padding-top:19px;border-top:1px solid #c9c0b5;}
 .ac-wedding-steps-grid article span {font-size:10px;font-weight:500;letter-spacing:.2em;color:#8f8578;}
 .ac-wedding-steps-grid article h3 {font:400 39px/1.1 "Cormorant Garamond",Georgia,serif;margin:30px 0 15px;}
 .ac-wedding-steps-grid article p {font-size:14px;line-height:1.85;color:#70695e;font-weight:300;max-width:355px;}
 @media(max-width:960px) {
  .ac-editorial-grid,.ac-scope-grid,.ac-faq-layout,.ac-wedding-story {grid-template-columns:1fr;gap:35px;}
  .ac-editorial-section {padding:85px 0;}
  .ac-method-section {padding:80px 0;}
  .ac-service-scope {padding:82px 0;}
  .ac-faq-section {padding:75px 0;}
  .ac-wedding-story {padding:90px 0;}
  .ac-faq-intro>p:not(.ac-eyebrow) {max-width:700px;}
 }
 @media(max-width:640px) {
  .ac-method-head {align-items:start;flex-direction:column;}
  .ac-method-grid,.ac-wedding-steps-grid {grid-template-columns:1fr;gap:24px;}
  .ac-method-card h3 {margin:20px 0 11px;}
  .ac-method-card p {margin-bottom:12px;}
  .ac-editorial-section {padding:72px 0;}
  .ac-method-section {padding:70px 0;}
  .ac-service-scope {padding:72px 0;}
  .ac-faq-section {padding:70px 0;}
  .ac-faq-item summary {grid-template-columns:25px 1fr 18px;gap:9px;padding:18px 0;}
  .ac-faq-question {font-size:14px;}
  .ac-faq-answer {padding:0 12px 22px 34px;font-size:13px;}
  .ac-faq-group {margin-bottom:50px;}
  .ac-wedding-steps {padding:75px 0;}
  .ac-wedding-story {padding:75px 0;}
  .ac-wedding-steps-heading {margin-bottom:35px;}
  .ac-contact-topics {padding-left:14px;}
 }

