/* Responsive phone layout. Desktop presentation is unchanged. */
.desktop-view-option,.desktop-view-bar{display:none}
@media(max-width:600px){
 .public-chrome .site-header-wrap .site-header,.public-chrome .site-header-wrap.is-scrolled .site-header{width:calc(100% - 32px);padding:12px 0 8px;gap:6px 12px}
 .public-chrome .site-header-wrap .brand,.public-chrome .site-header-wrap.is-scrolled .brand{font-size:42px;gap:6px;line-height:1}
 .public-chrome .site-header-wrap .brand>span,.public-chrome .site-header-wrap.is-scrolled .brand>span{font-size:10px}
 .public-chrome .site-header-wrap .site-nav{font-size:15px;gap:18px}
 .public-chrome .site-header-wrap .header-cta{font-size:15px}
 .public-type.compact-home #hero-title{font-size:clamp(30px,8.3vw,34px);line-height:1.13;margin-top:0}
 .compact-home .hero-invitation{padding-top:26px;padding-bottom:28px}
 .public-type.compact-home .hero-welcome{margin-top:24px}
 .public-type.compact-home .hero-welcome h2{font-size:16px;line-height:1.5;letter-spacing:.10em;max-width:320px;margin-inline:auto}
 .public-type.compact-home .hero-welcome p{font-size:16px;line-height:1.55;text-align:left;text-wrap:pretty;margin-top:16px}
 .compact-home .invitation-gallery{gap:12px;margin-top:24px;grid-template-columns:1fr 1fr;align-items:start}
 .compact-home .invitation-gallery .main-photo img,.compact-home .invitation-gallery .side-photo:last-child img{height:185px}
 .compact-home .invitation-gallery figcaption{font-size:14px;line-height:1.35;margin-top:9px}
 .public-type.compact-home #how{padding-top:30px;padding-bottom:30px}
 .public-type.compact-home #how .section-intro>.eyebrow{font-size:15px;line-height:1.4;letter-spacing:.12em}
 .public-type.compact-home #approach-title{font-size:32px;line-height:1.13;margin-top:14px}
 .public-type.compact-home #how .steps{margin-top:24px}
 .public-type.compact-home #how .steps li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;padding-block:20px}
 .public-type.compact-home #how .step-number{padding-top:5px;font-size:12px}
 .public-type.compact-home #how .steps h3{font-size:23px;line-height:1.2}
 .public-type.compact-home #how .steps p{font-size:16px;line-height:1.5;margin-top:10px;text-wrap:pretty}
 .public-type.compact-home #how .hero-actions{margin-top:8px}
 .services-page .services{padding-top:28px}
 .public-type.services-page #services-title{font-size:clamp(30px,8.3vw,34px);line-height:1.13;margin-top:0}
 .invitation.services-page .service-grid{margin-top:24px;gap:16px}
 .invitation.services-page .service-card{padding:22px;min-height:0}
 .invitation.services-page .service-top{gap:12px}
 .invitation.services-page .service-top h3{font-size:18px;letter-spacing:.13em}
 .invitation.services-page .service-card .price{font-size:36px;min-height:52px}
 .invitation.services-page .service-card.bespoke .price{font-size:26px;line-height:36px}
 .invitation.services-page .service-summary{font-size:18px;line-height:1.45;margin-top:16px}
 .invitation.services-page .service-card .service-details{margin-top:18px;padding-top:14px;padding-bottom:18px;font-size:16px;line-height:1.5}
 .invitation.services-page .service-card li{margin-block:8px}
 .invitation.services-page .service-card .button{min-height:48px}
 .public-chrome.public-type .site-footer{display:grid;grid-template-columns:1fr;gap:16px;min-height:0;padding:28px 0!important;text-align:center;align-items:center}
 .public-chrome.public-type .site-footer>.brand{grid-column:1;grid-row:1;position:static;transform:none;width:100px;margin:0;justify-self:center}
 .public-chrome.public-type .site-footer>.footer-links{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:0 14px;width:100%;justify-items:center;margin:0;font-size:15px}
 .public-chrome .footer-links a{min-height:44px;display:flex;align-items:center;justify-content:center}
 .public-chrome.public-type .site-footer>#alela-concierge{grid-column:1;grid-row:3;position:static;margin:0;justify-self:center;width:auto;max-width:100%}
 .public-chrome.public-type .site-footer .av-c-launcher{position:static;max-width:100%}
 .public-chrome.public-type .site-footer .av-c-fab{font-size:14px;padding:12px 18px;min-height:44px;text-align:center}
 .desktop-view-option{display:block;grid-column:1;grid-row:4;justify-self:center;background:none;border:0;border-bottom:1px solid #916656;font-size:15px;color:#432d30;min-height:44px;padding:8px 0;cursor:pointer}
}
/* A readable reversible control while the actual wide layout is scaled down. */
body.desktop-layout-view{padding-top:calc(64px * var(--desktop-view-scale,3.2))}
.desktop-layout-view .desktop-view-option{display:none}
.desktop-layout-view .desktop-view-bar{position:fixed;display:flex;align-items:center;justify-content:center;top:0;left:0;right:0;z-index:10000;min-height:calc(64px * var(--desktop-view-scale,3.2));background:#faf6ef;border-bottom:1px solid #d7c8bc}
.desktop-view-bar button{font-family:Arial,sans-serif!important;font-size:calc(16px * var(--desktop-view-scale,3.2));min-height:calc(44px * var(--desktop-view-scale,3.2));padding:0 calc(16px * var(--desktop-view-scale,3.2));border:1px solid #43272e;border-radius:4px;background:#43272e;color:#faf6ef;cursor:pointer}
@media(max-width:600px){.public-type.compact-home #approach-title{text-wrap:balance}}
@media(max-width:600px){
 .public-type.compact-home #approach-title span{display:block;text-wrap:balance}
 .invitation.services-page .service-card li{text-wrap:pretty}
}

/* Current gallery preview: all three selected photos, equal-width full rows. */
@media(max-width:600px){
 .compact-home .invitation-gallery{grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
 .compact-home .invitation-gallery .side-photo:first-child{display:block}
 .compact-home .invitation-gallery img,.compact-home .invitation-gallery .main-photo img,.compact-home .invitation-gallery .side-photo:last-child img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
 .compact-home .invitation-gallery .main-photo img{object-fit:contain}
 .compact-home .invitation-gallery figcaption{font-size:17px;line-height:1.4;margin-top:10px}
}
.desktop-view-shortcut{display:none}
@media(max-width:600px){.desktop-view-shortcut{display:block;margin:6px 16px 0 auto;background:none;border:0;border-bottom:1px solid #916656;color:#432d30;font:15px/1.4 var(--sans);padding:8px 0;min-height:44px;cursor:pointer}}
.desktop-layout-view .desktop-view-shortcut{display:none}

/* Three public links wrap within their own column, keeping the brand centered. */
.public-chrome .site-header-wrap .site-nav{flex-wrap:wrap;column-gap:20px;row-gap:0;min-width:0}
@media(max-width:600px){.public-chrome .site-header-wrap .site-nav{column-gap:14px;row-gap:0}}
.designer-page{padding-block:72px;min-height:45vh}
.public-type .designer-page h1{font-family:Italiana,serif;font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1.15}
.designer-page p{font-size:22px;margin-top:24px}
@media(max-width:600px){.designer-page{padding-block:36px}}

/* Shared navigation disclosure, with the brand centered at every width. */
.public-chrome .site-header-wrap .site-header,.public-chrome .site-header-wrap.is-scrolled .site-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.public-chrome .site-header-wrap .brand,.public-chrome .site-header-wrap.is-scrolled .brand{grid-column:2;grid-row:1}
.public-chrome .site-header-wrap .header-cta{grid-column:3;grid-row:1}
.public-menu{position:relative;grid-column:1;grid-row:1;justify-self:start;align-self:center;z-index:101}
.public-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:44px;height:44px;cursor:pointer;color:var(--ink);border-radius:2px}
.public-menu>summary::-webkit-details-marker{display:none}
.public-menu>summary:hover{background:#f0e5dc}
.public-menu>summary:focus-visible,.menu-panel a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.menu-icon{display:flex;flex-direction:column;gap:5px;width:24px}
.menu-icon span{display:block;width:24px;height:2px;background:currentColor;transform-origin:center}
.public-menu[open] .menu-icon span:first-child{transform:translateY(7px) rotate(45deg)}
.public-menu[open] .menu-icon span:nth-child(2){opacity:0}
.public-menu[open] .menu-icon span:last-child{transform:translateY(-7px) rotate(-45deg)}
.menu-panel{position:absolute;top:calc(100% + 12px);left:0;width:280px;max-width:calc(100vw - 40px);background:#faf6ef;border:1px solid #d7c8bc;box-shadow:0 12px 28px #43272e14;padding:12px;display:flex;flex-direction:column;text-align:left}
.menu-panel a{display:flex;align-items:center;min-height:48px;padding:10px 14px;font-size:18px;line-height:1.4;white-space:normal;text-decoration:none}
.menu-panel a:hover{background:#f0e5dc}
@media(max-width:600px){
 .public-chrome .site-header-wrap .site-header,.public-chrome .site-header-wrap.is-scrolled .site-header{gap:8px;width:calc(100% - 32px);padding:16px 0}
 .public-chrome .site-header-wrap .brand,.public-chrome .site-header-wrap.is-scrolled .brand{font-size:42px;gap:7px}
 .public-chrome .site-header-wrap .brand>span,.public-chrome .site-header-wrap.is-scrolled .brand>span{font-size:8px;letter-spacing:1px}
 .public-chrome .site-header-wrap .header-cta{font-size:14px;padding:10px 12px;gap:5px}
 .menu-panel{left:0}
}
@media(max-width:380px){.public-chrome .site-header-wrap .brand,.public-chrome .site-header-wrap.is-scrolled .brand{font-size:36px}.public-chrome .site-header-wrap .brand>span,.public-chrome .site-header-wrap.is-scrolled .brand>span{font-size:7.5px}}
