/* Edina — stylesheet */
:root{
--ce-brick:#9C3327;
--ce-brick-dark:#75261C;
--ce-ember:#E68F4B;
--ce-ember-glow:#F7C287;
--ce-coast:#1E6F68;
--ce-charcoal:#171512;
--ce-charcoal-2:#26231F;
--ce-charcoal-3:#332F29;
--ce-cream:#F6F1E8;
--ce-cream-2:#EDE3D5;
--ce-ink:#1C1A17;
--ce-muted:#6E635B;
--ce-line:rgba(25,21,19,.12);
--ce-gold:#DDB558;
--ce-green-ok:#2E7D51;
--ce-radius:16px;
--ce-radius-lg:26px;
--ce-shadow-sm:0 4px 14px rgba(25,21,19,.08);
--ce-shadow:0 14px 40px rgba(25,21,19,.14);
--ce-shadow-lg:0 30px 70px rgba(25,21,19,.26);
--ce-wrap:1200px;
--ce-font:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
--ce-display:'Oswald','Barlow Condensed',var(--ce-font);
--ce-header-h:76px;
}

*,*::before,*::after{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
scroll-padding-top:90px;
-webkit-text-size-adjust:100%;
}

body{
margin:0;
font-family:var(--ce-font);
color:var(--ce-ink);
background:var(--ce-cream);
font-size:17px;
line-height:1.65;
overflow-x:hidden;
-webkit-font-smoothing:antialiased;
}

img{
max-width:100%;
height:auto;
display:block;
}

a{
color:var(--ce-brick);
text-decoration:none;
}

a:hover{
color:var(--ce-brick-dark);
}

button{
font-family:inherit;
}

h1,h2,h3,h4{
font-family:var(--ce-display);
font-weight:700;
line-height:1.08;
margin:0 0 .5em;
letter-spacing:.4px;
text-transform:uppercase;
}

h1{
font-size:clamp(2.15rem,5.4vw,4.15rem);
}

h2{
font-size:clamp(1.85rem,3.9vw,3rem);
}

h3{
font-size:clamp(1.15rem,1.7vw,1.45rem);
}

p{
margin:0 0 1.1em;
}

.bound{
width:min(var(--ce-wrap),92%);
margin-inline:auto;
}

.center-ce{
text-align:center;
}

.sr-only-ce{
position:absolute;
width:1px;
height:1px;
padding:0;
margin:-1px;
overflow:hidden;
clip:rect(0,0,0,0);
white-space:nowrap;
border:0;
}

.pass-link{
position:absolute;
left:-9999px;
top:0;
background:var(--ce-brick);
color:#fff;
padding:12px 20px;
z-index:9999;
}

.pass-link:focus{
left:10px;
top:10px;
}

:focus-visible{
outline:3px solid var(--ce-ember);
outline-offset:3px;
}

#bg-fx-ce{
position:fixed;
inset:0;
z-index:0;
pointer-events:none;
overflow:hidden;
}

#emberCanvas-ce{
position:absolute;
inset:0;
width:100%;
height:100%;
opacity:.55;
}

.orb-ce{
position:absolute;
border-radius:50%;
filter:blur(70px);
opacity:.34;
will-change:transform;
}

.orb-1-ce{
width:520px;
height:520px;
background:radial-gradient(circle at 30% 30%,var(--ce-ember),transparent 68%);
top:-140px;
left:-120px;
animation:float1 26s ease-in-out infinite;
}

.orb-2-ce{
width:640px;
height:640px;
background:radial-gradient(circle at 60% 40%,var(--ce-brick),transparent 66%);
top:38%;
right:-220px;
animation:float2 32s ease-in-out infinite;
}

.orb-3-ce{
width:420px;
height:420px;
background:radial-gradient(circle at 50% 50%,var(--ce-gold),transparent 65%);
bottom:-120px;
left:22%;
animation:float3 29s ease-in-out infinite;
}

@keyframes float1{
0%,100%{
transform:translate3d(0,0,0) scale(1);
}

50%{
transform:translate3d(90px,120px,0) scale(1.16);
}

}

@keyframes float2{
0%,100%{
transform:translate3d(0,0,0) scale(1.05);
}

50%{
transform:translate3d(-120px,-90px,0) scale(.9);
}

}

@keyframes float3{
0%,100%{
transform:translate3d(0,0,0) scale(.95);
}

50%{
transform:translate3d(70px,-110px,0) scale(1.2);
}

}

main,header,footer,.cornice{
position:relative;
z-index:1;
}

.press{
--ce-bg:var(--ce-brick);
--ce-fg:#fff;
display:inline-flex;
align-items:center;
justify-content:center;
gap:.6rem;
background:var(--ce-bg);
color:var(--ce-fg);
font-weight:700;
font-size:1.02rem;
padding:16px 30px;
border-radius:60px;
border:0;
cursor:pointer;
letter-spacing:.3px;
box-shadow:0 10px 26px rgba(178,58,33,.32);
transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s;
position:relative;
overflow:hidden;
text-align:center;
}

.press:hover{
transform:translateY(-3px);
box-shadow:0 18px 40px rgba(178,58,33,.42);
color:#fff;
}

.press:active{
transform:translateY(-1px);
}

.press::after{
content:"";
position:absolute;
top:0;
left:-60%;
width:40%;
height:100%;
background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
transform:skewX(-18deg);
animation:sheen 4.5s ease-in-out infinite;
}

@keyframes sheen{
0%,72%{
left:-60%;
}

88%,100%{
left:135%;
}

}

.btn-ember-ce{
--ce-bg:linear-gradient(135deg,var(--ce-ember),var(--ce-brick));
box-shadow:0 10px 26px rgba(240,128,60,.4);
}

.btn-ghost-ce{
--ce-bg:transparent;
--ce-fg:#fff;
border:2px solid rgba(255,255,255,.6);
box-shadow:none;
}

.btn-ghost-ce:hover{
background:rgba(255,255,255,.12);
box-shadow:none;
}

.btn-dark-ce{
--ce-bg:var(--ce-charcoal);
box-shadow:0 10px 26px rgba(25,21,19,.3);
}

.btn-lg-ce{
padding:19px 38px;
font-size:1.12rem;
}

.btn-block-ce{
display:flex;
width:100%;
}

.cornice{
background:var(--ce-charcoal);
color:#DCCFC2;
font-size:.86rem;
letter-spacing:.3px;
}

.cornice .bound{
display:flex;
flex-wrap:wrap;
gap:8px 26px;
align-items:center;
justify-content:space-between;
padding:9px 0;
}

.cornice b{
color:#fff;
}

.cornice .tb-item-ce{
display:inline-flex;
align-items:center;
gap:7px;
}

.dot-live-ce{
width:8px;
height:8px;
border-radius:50%;
background:#49C77E;
box-shadow:0 0 0 0 rgba(73,199,126,.7);
animation:pulseDot 2s infinite;
}

@keyframes pulseDot{
70%{
box-shadow:0 0 0 9px rgba(73,199,126,0);
}

100%{
box-shadow:0 0 0 0 rgba(73,199,126,0);
}

}

.lintel{
position:sticky;
top:0;
z-index:900;
background:rgba(246,240,231,.86);
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
border-bottom:1px solid var(--ce-line);
transition:box-shadow .3s,background .3s;
}

.lintel.scrolled-ce{
box-shadow:0 8px 30px rgba(25,21,19,.13);
background:rgba(246,240,231,.96);
}

.lintel .bound{
width:min(1360px,94%);
}

.navcase{
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
min-height:var(--ce-header-h);
}

.seal{
display:flex;
align-items:center;
gap:12px;
color:var(--ce-ink);
flex:0 0 auto;
}

.seal:hover{
color:var(--ce-ink);
}

.seal-glyph{
width:46px;
height:46px;
flex:0 0 auto;
filter:drop-shadow(0 4px 8px rgba(178,58,33,.3));
}

.seal-txt{
display:flex;
flex-direction:column;
line-height:1.05;
}

.seal-txt strong{
font-family:var(--ce-display);
font-size:1.06rem;
letter-spacing:.6px;
text-transform:uppercase;
}

.seal-txt span{
font-size:.7rem;
letter-spacing:2.4px;
text-transform:uppercase;
color:var(--ce-brick);
font-weight:600;
}

.navribbon{
display:flex;
align-items:center;
gap:22px;
list-style:none;
margin:0;
padding:0;
}

.navribbon a{
color:var(--ce-ink);
font-weight:600;
font-size:.92rem;
white-space:nowrap;
position:relative;
padding:6px 0;
}

.navribbon a::after{
content:"";
position:absolute;
left:0;
bottom:0;
height:2px;
width:0;
background:var(--ce-brick);
transition:width .28s;
}

.navribbon a:hover::after,.navribbon a.active-ce::after{
width:100%;
}

.nav-cta-ce{
display:flex;
align-items:center;
gap:14px;
flex:0 0 auto;
}

.nav-phone-ce{
display:flex;
flex-direction:column;
line-height:1.1;
text-align:right;
}

.nav-phone-ce small{
font-size:.68rem;
text-transform:uppercase;
letter-spacing:1.4px;
color:var(--ce-muted);
}

.nav-phone-ce b{
font-family:var(--ce-display);
font-size:1.22rem;
color:var(--ce-brick);
}

.tristack{
display:none;
width:48px;
height:44px;
border:1px solid var(--ce-line);
background:#fff;
border-radius:12px;
cursor:pointer;
padding:0;
position:relative;
}

.tristack span{
position:absolute;
left:13px;
width:22px;
height:2px;
background:var(--ce-ink);
transition:.3s;
}

.tristack span:nth-child(1){
top:15px;
}

.tristack span:nth-child(2){
top:21px;
}

.tristack span:nth-child(3){
top:27px;
}

.tristack[aria-expanded="true"] span:nth-child(1){
top:21px;
transform:rotate(45deg);
}

.tristack[aria-expanded="true"] span:nth-child(2){
opacity:0;
}

.tristack[aria-expanded="true"] span:nth-child(3){
top:21px;
transform:rotate(-45deg);
}

.opening-act{
position:relative;
color:#fff;
padding:clamp(56px,8vw,104px) 0 clamp(70px,9vw,120px);
overflow:hidden;
isolation:isolate;
}

.opening-bg{
position:absolute;
inset:0;
z-index:-2;
}

.opening-bg img{
width:100%;
height:100%;
object-fit:cover;
transform:scale(1.06);
animation:kenburns 24s ease-in-out infinite alternate;
}

@keyframes kenburns{
to{
transform:scale(1.17) translate3d(-1.5%,-1.5%,0);
}

}

.opening-act::before{
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(100deg,rgba(18,14,12,.95) 0%,rgba(26,18,14,.86) 38%,rgba(181,57,31,.6) 74%,rgba(242,145,63,.42) 100%);
}

.opening-grid{
display:grid;
grid-template-columns:1.15fr .85fr;
gap:52px;
align-items:center;
}

.eyebrow-ce{
display:inline-flex;
align-items:center;
gap:9px;
background:rgba(255,255,255,.12);
border:1px solid rgba(255,255,255,.26);
color:#fff;
padding:8px 17px;
border-radius:60px;
font-size:.79rem;
font-weight:700;
letter-spacing:1.6px;
text-transform:uppercase;
margin-bottom:22px;
backdrop-filter:blur(6px);
}

.opening-act h1{
color:#fff;
text-shadow:0 6px 30px rgba(0,0,0,.4);
}

.opening-act h1 .gilded{
color:var(--ce-ember-glow);
display:inline-block;
}

.opening-sub{
font-size:clamp(1.02rem,1.5vw,1.2rem);
color:#EADFD4;
max-width:610px;
}

.opening-acts{
display:flex;
flex-wrap:wrap;
gap:14px;
margin:30px 0 26px;
}

.opening-trust{
display:flex;
flex-wrap:wrap;
gap:10px 22px;
list-style:none;
padding:0;
margin:0;
font-size:.92rem;
color:#E6DAD0;
}

.opening-trust li{
display:flex;
align-items:center;
gap:8px;
}

.tick-ce{
width:20px;
height:20px;
flex:0 0 auto;
border-radius:50%;
background:rgba(73,199,126,.2);
display:grid;
place-items:center;
}

.tick-ce svg{
width:12px;
height:12px;
stroke:#6BE39C;
fill:none;
stroke-width:3;
}

.charter-card{
background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(246,240,231,.94));
color:var(--ce-ink);
border-radius:var(--ce-radius-lg);
padding:30px 28px;
box-shadow:var(--ce-shadow-lg);
border:1px solid rgba(255,255,255,.6);
position:relative;
animation:floaty 6.5s ease-in-out infinite;
}

@keyframes floaty{
0%,100%{
transform:translateY(0);
}

50%{
transform:translateY(-13px);
}

}

.offer-badge-ce{
position:absolute;
top:-18px;
right:-10px;
background:var(--ce-brick);
color:#fff;
font-family:var(--ce-display);
font-size:.82rem;
letter-spacing:1.4px;
padding:9px 16px;
border-radius:40px;
box-shadow:0 8px 20px rgba(178,58,33,.4);
text-transform:uppercase;
animation:wobble 5s ease-in-out infinite;
}

@keyframes wobble{
0%,100%{
transform:rotate(-3deg);
}

50%{
transform:rotate(3deg);
}

}

.offer-price-ce{
font-family:var(--ce-display);
font-size:clamp(3.4rem,7vw,4.6rem);
line-height:1;
color:var(--ce-brick);
display:flex;
align-items:flex-start;
gap:4px;
justify-content:center;
margin:6px 0 2px;
}

.offer-price-ce sup{
font-size:.42em;
margin-top:.32em;
}

.charter-card h2{
font-size:1.32rem;
margin-bottom:4px;
text-align:center;
}

.charter-card .offer-kicker-ce{
text-align:center;
color:var(--ce-muted);
font-size:.9rem;
margin-bottom:16px;
}

.offer-list-ce{
list-style:none;
margin:0 0 20px;
padding:0;
display:grid;
gap:9px;
font-size:.95rem;
}

.offer-list-ce li{
display:flex;
gap:10px;
align-items:flex-start;
}

.offer-list-ce svg{
width:18px;
height:18px;
flex:0 0 auto;
margin-top:3px;
stroke:var(--ce-brick);
fill:none;
stroke-width:3;
}

.offer-fine-ce{
font-size:.76rem;
color:var(--ce-muted);
text-align:center;
margin:12px 0 0;
line-height:1.5;
}

.frieze{
background:var(--ce-charcoal-2);
color:#CBBDB0;
overflow:hidden;
padding:13px 0;
border-block:1px solid rgba(255,255,255,.07);
}

.frieze-run{
display:flex;
gap:52px;
white-space:nowrap;
width:max-content;
animation:scrollX 34s linear infinite;
font-family:var(--ce-display);
letter-spacing:2px;
font-size:.94rem;
text-transform:uppercase;
}

.frieze-run span{
display:inline-flex;
align-items:center;
gap:12px;
}

.frieze-run b{
color:var(--ce-ember);
}

@keyframes scrollX{
to{
transform:translateX(-50%);
}

}

section{
padding:clamp(56px,7vw,100px) 0;
position:relative;
}

.chapter-head{
max-width:760px;
margin:0 auto 52px;
}

.chapter-head.left-ce{
margin-inline:0;
}

.smallcaps{
display:inline-flex;
align-items:center;
gap:9px;
color:var(--ce-brick);
font-weight:800;
letter-spacing:2.4px;
text-transform:uppercase;
font-size:.78rem;
margin-bottom:14px;
}

.smallcaps::before{
content:"";
width:28px;
height:2px;
background:var(--ce-brick);
}

.foreword{
font-size:1.06rem;
color:var(--ce-muted);
}

.linen-zone{
background:linear-gradient(180deg,rgba(237,227,213,.75),rgba(246,240,231,.4));
}

.soot-zone{
background:var(--ce-charcoal);
color:#DDD1C6;
}

.soot-zone h2,.soot-zone h3{
color:#fff;
}

.soot-zone .foreword{
color:#B7A99C;
}

.soot-zone .smallcaps{
color:var(--ce-ember-glow);
}

.soot-zone .smallcaps::before{
background:var(--ce-ember);
}

.ledger-row{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
}

.ledger{
background:#fff;
border-radius:var(--ce-radius);
padding:26px 20px;
text-align:center;
box-shadow:var(--ce-shadow-sm);
border:1px solid var(--ce-line);
transition:transform .3s,box-shadow .3s;
}

.ledger:hover{
transform:translateY(-7px);
box-shadow:var(--ce-shadow);
}

.ledger b{
display:block;
font-family:var(--ce-display);
font-size:clamp(2rem,3.6vw,2.9rem);
color:var(--ce-brick);
line-height:1;
}

.ledger span{
font-size:.87rem;
color:var(--ce-muted);
letter-spacing:.6px;
}

.svc-grid-ce{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(295px,1fr));
gap:26px;
}

.study{
background:#fff;
border-radius:var(--ce-radius-lg);
overflow:hidden;
box-shadow:var(--ce-shadow-sm);
border:1px solid var(--ce-line);
display:flex;
flex-direction:column;
transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;
}

.study:hover{
transform:translateY(-10px);
box-shadow:var(--ce-shadow-lg);
}

.svc-media-ce{
position:relative;
aspect-ratio:16/10;
overflow:hidden;
background:var(--ce-charcoal-3);
}

.svc-media-ce img{
width:100%;
height:100%;
object-fit:cover;
transition:transform .7s cubic-bezier(.2,.8,.3,1);
}

.study:hover .svc-media-ce img{
transform:scale(1.09);
}

.svc-media-ce::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg,transparent 42%,rgba(20,16,14,.72));
}

.svc-ico-ce{
position:absolute;
left:18px;
bottom:16px;
z-index:2;
width:46px;
height:46px;
border-radius:13px;
background:var(--ce-brick);
display:grid;
place-items:center;
box-shadow:0 8px 20px rgba(178,58,33,.45);
}

.svc-ico-ce svg{
width:24px;
height:24px;
stroke:#fff;
fill:none;
stroke-width:1.9;
stroke-linecap:round;
stroke-linejoin:round;
}

.svc-body-ce{
padding:24px 24px 26px;
display:flex;
flex-direction:column;
flex:1;
}

.svc-body-ce h3{
margin-bottom:8px;
}

.svc-body-ce p{
font-size:.95rem;
color:var(--ce-muted);
margin-bottom:16px;
}

.svc-body-ce ul{
list-style:none;
margin:0 0 18px;
padding:0;
font-size:.9rem;
display:grid;
gap:6px;
}

.svc-body-ce li{
display:flex;
gap:9px;
align-items:flex-start;
color:#4A423C;
}

.svc-body-ce li::before{
content:"";
width:7px;
height:7px;
border-radius:50%;
background:var(--ce-ember);
flex:0 0 auto;
margin-top:8px;
}

.svc-link-ce{
margin-top:auto;
font-weight:700;
display:inline-flex;
align-items:center;
gap:8px;
font-size:.95rem;
}

.svc-link-ce svg{
width:16px;
height:16px;
stroke:currentColor;
fill:none;
stroke-width:2.4;
transition:transform .3s;
}

.study:hover .svc-link-ce svg{
transform:translateX(5px);
}

.omen-court{
display:grid;
grid-template-columns:1fr 1fr;
gap:52px;
align-items:center;
}

.cue-list{
display:grid;
gap:14px;
margin:0;
padding:0;
list-style:none;
}

.cue-list li{
display:flex;
gap:15px;
background:rgba(255,255,255,.05);
border:1px solid rgba(255,255,255,.1);
border-radius:14px;
padding:16px 18px;
align-items:flex-start;
transition:transform .3s,border-color .3s,background .3s;
}

.cue-list li:hover{
transform:translateX(7px);
border-color:rgba(240,128,60,.55);
background:rgba(240,128,60,.08);
}

.cue-list .wice{
width:38px;
height:38px;
flex:0 0 auto;
border-radius:11px;
background:rgba(240,128,60,.16);
display:grid;
place-items:center;
}

.cue-list .wice svg{
width:20px;
height:20px;
stroke:var(--ce-ember-glow);
fill:none;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}

.cue-list b{
display:block;
color:#fff;
font-family:var(--ce-display);
letter-spacing:.5px;
font-size:1.02rem;
text-transform:uppercase;
}

.cue-list span{
font-size:.92rem;
color:#B3A599;
}

.cue-photo{
position:relative;
border-radius:var(--ce-radius-lg);
overflow:hidden;
box-shadow:var(--ce-shadow-lg);
}

.cue-photo img{
width:100%;
aspect-ratio:4/5;
object-fit:cover;
}

.cue-note{
position:absolute;
left:20px;
bottom:20px;
right:20px;
background:rgba(25,21,19,.82);
backdrop-filter:blur(9px);
border:1px solid rgba(255,255,255,.14);
border-radius:16px;
padding:16px 18px;
color:#fff;
}

.cue-note b{
font-family:var(--ce-display);
display:block;
color:var(--ce-ember-glow);
letter-spacing:1px;
}

.cue-note span{
font-size:.88rem;
color:#C7B9AC;
}

.movements{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
counter-reset:step;
position:relative;
}

.movement{
background:#fff;
border-radius:var(--ce-radius);
padding:34px 24px 26px;
box-shadow:var(--ce-shadow-sm);
border:1px solid var(--ce-line);
position:relative;
transition:transform .35s,box-shadow .35s;
}

.movement:hover{
transform:translateY(-8px);
box-shadow:var(--ce-shadow);
}

.step-n-ce{
position:absolute;
top:-20px;
left:24px;
width:44px;
height:44px;
border-radius:14px;
background:linear-gradient(140deg,var(--ce-ember),var(--ce-brick));
color:#fff;
font-family:var(--ce-display);
font-size:1.3rem;
display:grid;
place-items:center;
box-shadow:0 10px 22px rgba(178,58,33,.35);
}

.movement h3{
font-size:1.12rem;
margin-top:8px;
}

.movement p{
font-size:.93rem;
color:var(--ce-muted);
margin:0;
}

.plate-wall{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:16px;
}

.plate-item{
position:relative;
border-radius:18px;
overflow:hidden;
box-shadow:var(--ce-shadow-sm);
aspect-ratio:1;
background:var(--ce-charcoal-3);
}

.plate-item:nth-child(1),.plate-item:nth-child(6){
grid-row:span 2;
aspect-ratio:1/2.06;
}

.plate-item img{
width:100%;
height:100%;
object-fit:cover;
transition:transform .8s cubic-bezier(.2,.8,.3,1);
}

.plate-item:hover img{
transform:scale(1.1);
}

.plate-item figcaption{
position:absolute;
inset:auto 0 0 0;
padding:34px 16px 14px;
background:linear-gradient(transparent,rgba(20,16,14,.86));
color:#fff;
font-size:.85rem;
font-weight:600;
transform:translateY(6px);
opacity:0;
transition:.35s;
}

.plate-item:hover figcaption{
transform:translateY(0);
opacity:1;
}

.reviews-ce{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:24px;
}

.review-ce{
background:#fff;
border-radius:var(--ce-radius);
padding:28px 26px;
box-shadow:var(--ce-shadow-sm);
border:1px solid var(--ce-line);
position:relative;
transition:transform .35s,box-shadow .35s;
}

.review-ce:hover{
transform:translateY(-8px);
box-shadow:var(--ce-shadow);
}

.review-ce .quote-ce{
position:absolute;
top:16px;
right:22px;
font-family:var(--ce-display);
font-size:4.2rem;
color:rgba(178,58,33,.13);
line-height:1;
}

.stars-ce{
display:flex;
gap:3px;
margin-bottom:12px;
}

.stars-ce svg{
width:18px;
height:18px;
fill:var(--ce-gold);
}

.review-ce p{
font-size:.98rem;
color:#4A423C;
}

.review-ce footer{
display:flex;
align-items:center;
gap:12px;
margin-top:16px;
border-top:1px solid var(--ce-line);
padding-top:14px;
}

.avatar-ce{
width:42px;
height:42px;
border-radius:50%;
background:linear-gradient(140deg,var(--ce-brick),var(--ce-ember));
color:#fff;
display:grid;
place-items:center;
font-family:var(--ce-display);
font-size:1.05rem;
flex:0 0 auto;
}

.review-ce footer b{
display:block;
font-size:.95rem;
}

.review-ce footer span{
font-size:.8rem;
color:var(--ce-muted);
}

.parish-list{
display:flex;
flex-wrap:wrap;
gap:11px;
justify-content:center;
list-style:none;
padding:0;
margin:0 0 30px;
}

.parish-list li{
background:#fff;
border:1px solid var(--ce-line);
border-radius:60px;
padding:10px 20px;
font-size:.92rem;
font-weight:600;
box-shadow:var(--ce-shadow-sm);
transition:transform .25s,background .25s,color .25s,border-color .25s;
}

.parish-list li:hover{
transform:translateY(-4px);
background:var(--ce-brick);
color:#fff;
border-color:var(--ce-brick);
}

.inquiry-set{
max-width:880px;
margin-inline:auto;
}

.inquiry-set details{
background:#fff;
border:1px solid var(--ce-line);
border-radius:14px;
margin-bottom:12px;
box-shadow:var(--ce-shadow-sm);
overflow:hidden;
transition:box-shadow .3s;
}

.inquiry-set details[open]{
box-shadow:var(--ce-shadow);
}

.inquiry-set summary{
cursor:pointer;
list-style:none;
padding:20px 58px 20px 22px;
font-weight:700;
font-size:1.03rem;
position:relative;
}

.inquiry-set summary::-webkit-details-marker{
display:none;
}

.inquiry-set summary::after{
content:"";
position:absolute;
right:22px;
top:50%;
width:12px;
height:12px;
border-right:2.6px solid var(--ce-brick);
border-bottom:2.6px solid var(--ce-brick);
transform:translateY(-70%) rotate(45deg);
transition:transform .3s;
}

.inquiry-set details[open] summary::after{
transform:translateY(-25%) rotate(-135deg);
}

.inquiry-set .inquiry-open{
padding:0 22px 20px;
color:var(--ce-muted);
font-size:.97rem;
}

.inquiry-set .inquiry-open p:last-child{
margin-bottom:0;
}

.appeal-band{
position:relative;
color:#fff;
text-align:center;
overflow:hidden;
isolation:isolate;
}

.appeal-band .appeal-bg{
position:absolute;
inset:0;
z-index:-2;
}

.appeal-band .appeal-bg img{
width:100%;
height:100%;
object-fit:cover;
}

.appeal-band::before{
content:"";
position:absolute;
inset:0;
z-index:-1;
background:linear-gradient(120deg,rgba(140,43,22,.94),rgba(25,21,19,.9));
}

.appeal-band h2{
color:#fff;
font-size:clamp(2rem,4.4vw,3.3rem);
}

.appeal-band p{
color:#EFE3D8;
max-width:660px;
margin-inline:auto;
font-size:1.06rem;
}

.appeal-acts{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
margin-top:28px;
}

.appeal-phone{
display:block;
font-family:var(--ce-display);
font-size:clamp(2rem,5vw,2.9rem);
color:#fff;
margin-top:20px;
letter-spacing:1px;
}

.appeal-phone:hover{
color:var(--ce-ember-glow);
}

.court-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:44px;
align-items:start;
}

.court-grid>*{
min-width:0;
}

.court-rows a,.plinth address a{
overflow-wrap:anywhere;
}

.form-card-ce{
background:#fff;
border-radius:var(--ce-radius-lg);
padding:34px 32px;
box-shadow:var(--ce-shadow);
border:1px solid var(--ce-line);
}

.field-ce{
margin-bottom:16px;
}

.field-ce label{
display:block;
font-weight:700;
font-size:.86rem;
margin-bottom:7px;
letter-spacing:.4px;
}

.field-ce input,.field-ce select,.field-ce textarea{
width:100%;
padding:14px 16px;
border:1.6px solid var(--ce-line);
border-radius:12px;
font-size:1rem;
font-family:inherit;
background:#FBFAF6;
color:var(--ce-ink);
transition:border-color .25s,box-shadow .25s,background .25s;
}

.field-ce input:focus,.field-ce select:focus,.field-ce textarea:focus{
outline:none;
border-color:var(--ce-brick);
background:#fff;
box-shadow:0 0 0 4px rgba(178,58,33,.12);
}

.field-ce textarea{
resize:vertical;
min-height:110px;
}

.two-col-ce{
display:grid;
grid-template-columns:1fr 1fr;
gap:16px;
}

.form-note-ce{
font-size:.79rem;
color:var(--ce-muted);
margin-top:12px;
text-align:center;
}

.form-msg-ce{
display:none;
padding:14px 16px;
border-radius:12px;
font-size:.94rem;
margin-bottom:16px;
}

.form-msg-ce.okce{
display:block;
background:rgba(46,125,81,.1);
color:#2E7D51;
border:1px solid rgba(46,125,81,.3);
}

.form-msg-ce.err-ce{
display:block;
background:rgba(178,58,33,.1);
color:var(--ce-brick-dark);
border:1px solid rgba(178,58,33,.3);
}

.court-rows{
list-style:none;
padding:0;
margin:0 0 26px;
display:grid;
gap:16px;
}

.court-rows li{
display:flex;
gap:16px;
align-items:flex-start;
}

.info-ico-ce{
width:48px;
height:48px;
flex:0 0 auto;
border-radius:14px;
background:rgba(178,58,33,.1);
display:grid;
place-items:center;
}

.info-ico-ce svg{
width:22px;
height:22px;
stroke:var(--ce-brick);
fill:none;
stroke-width:1.9;
stroke-linecap:round;
stroke-linejoin:round;
}

.court-rows b{
display:block;
font-family:var(--ce-display);
letter-spacing:.6px;
text-transform:uppercase;
font-size:.95rem;
}

.court-rows a,.court-rows span{
color:var(--ce-muted);
font-size:1rem;
}

.court-rows a:hover{
color:var(--ce-brick);
}

.map-case{
border-radius:var(--ce-radius);
overflow:hidden;
box-shadow:var(--ce-shadow-sm);
border:1px solid var(--ce-line);
line-height:0;
}

.map-case iframe{
width:100%;
height:290px;
border:0;
}

.almanac{
background:#fff;
border:1px solid var(--ce-line);
border-radius:var(--ce-radius);
padding:22px 24px;
box-shadow:var(--ce-shadow-sm);
margin-bottom:26px;
}

.almanac dl{
display:grid;
grid-template-columns:auto 1fr;
gap:8px 18px;
margin:0;
font-size:.95rem;
}

.almanac dt{
font-weight:700;
}

.almanac dd{
margin:0;
text-align:right;
color:var(--ce-muted);
}

.plinth{
background:var(--ce-charcoal);
color:#A99B8E;
padding:70px 0 0;
font-size:.95rem;
}

.foot-grid-ce{
display:grid;
grid-template-columns:1.5fr 1fr 1fr 1.2fr;
gap:38px;
padding-bottom:44px;
}

.plinth h4{
color:#fff;
font-size:1rem;
letter-spacing:1.6px;
margin-bottom:18px;
}

.plinth a{
color:#A99B8E;
}

.plinth a:hover{
color:var(--ce-ember-glow);
}

.foot-links-ce{
list-style:none;
padding:0;
margin:0;
display:grid;
gap:10px;
}

.foot-brand-ce{
display:flex;
align-items:center;
gap:12px;
margin-bottom:16px;
color:#fff;
}

.foot-brand-ce strong{
font-family:var(--ce-display);
font-size:1.1rem;
letter-spacing:.6px;
text-transform:uppercase;
}

.foot-bottom-ce{
border-top:1px solid rgba(255,255,255,.1);
padding:20px 0;
display:flex;
flex-wrap:wrap;
gap:10px 24px;
justify-content:space-between;
font-size:.84rem;
}

.ring-crest{
position:fixed;
right:22px;
bottom:26px;
z-index:950;
display:inline-flex;
align-items:center;
gap:12px;
background:linear-gradient(135deg,var(--ce-brick),var(--ce-brick-dark));
color:#fff;
padding:15px 24px 15px 17px;
border-radius:60px;
font-weight:800;
letter-spacing:.4px;
box-shadow:0 16px 40px rgba(178,58,33,.5);
transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s;
}

.ring-crest:hover{
transform:scale(1.06) translateY(-3px);
color:#fff;
box-shadow:0 22px 52px rgba(178,58,33,.6);
}

.ring-crest .fc-ring-ce{
position:relative;
width:40px;
height:40px;
border-radius:50%;
background:rgba(255,255,255,.18);
display:grid;
place-items:center;
flex:0 0 auto;
}

.ring-crest .fc-ring-ce::before,.ring-crest .fc-ring-ce::after{
content:"";
position:absolute;
inset:0;
border-radius:50%;
border:2px solid rgba(255,255,255,.6);
animation:ring 2.6s ease-out infinite;
}

.ring-crest .fc-ring-ce::after{
animation-delay:1.3s;
}

@keyframes ring{
0%{
transform:scale(1);
opacity:.85;
}

100%{
transform:scale(2.1);
opacity:0;
}

}

.ring-crest svg{
width:20px;
height:20px;
stroke:#fff;
fill:none;
stroke-width:2;
animation:shake 3.2s ease-in-out infinite;
}

@keyframes shake{
0%,86%,100%{
transform:rotate(0);
}

90%{
transform:rotate(-14deg);
}

94%{
transform:rotate(14deg);
}

}

.ring-crest .fc-txt-ce{
display:flex;
flex-direction:column;
line-height:1.15;
}

.ring-crest .fc-txt-ce small{
font-size:.66rem;
text-transform:uppercase;
letter-spacing:1.4px;
opacity:.85;
font-weight:600;
}

.ring-crest .fc-txt-ce b{
font-family:var(--ce-display);
font-size:1.12rem;
letter-spacing:.6px;
}

.hem-bar{
display:none;
position:fixed;
left:0;
right:0;
bottom:0;
z-index:960;
background:rgba(25,21,19,.97);
backdrop-filter:blur(12px);
border-top:1px solid rgba(255,255,255,.12);
padding:9px 10px calc(9px + env(safe-area-inset-bottom));
}

.hem-bar ul{
list-style:none;
margin:0;
padding:0;
display:grid;
grid-template-columns:1.4fr 1fr 1fr;
gap:8px;
}

.hem-bar a{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:3px;
padding:9px 4px;
border-radius:12px;
color:#E8DCD2;
font-size:.72rem;
font-weight:700;
letter-spacing:.4px;
text-transform:uppercase;
}

.hem-bar a svg{
width:19px;
height:19px;
stroke:currentColor;
fill:none;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}

.hem-bar .mb-call-ce{
background:linear-gradient(135deg,var(--ce-brick),var(--ce-brick-dark));
color:#fff;
box-shadow:0 6px 18px rgba(178,58,33,.5);
animation:mbPulse 2.4s ease-in-out infinite;
}

@keyframes mbPulse{
0%,100%{
box-shadow:0 6px 18px rgba(178,58,33,.5);
}

50%{
box-shadow:0 6px 26px rgba(240,128,60,.85);
}

}

.attic{
position:fixed;
right:26px;
bottom:104px;
z-index:940;
width:46px;
height:46px;
border-radius:50%;
background:var(--ce-charcoal);
color:#fff;
display:grid;
place-items:center;
box-shadow:var(--ce-shadow);
opacity:0;
visibility:hidden;
transform:translateY(10px);
transition:.3s;
border:0;
cursor:pointer;
}

.attic.show-ce{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.attic svg{
width:18px;
height:18px;
stroke:#fff;
fill:none;
stroke-width:2.6;
}

.emerge{
opacity:0;
transform:translateY(34px);
transition:opacity .8s cubic-bezier(.2,.8,.3,1),transform .8s cubic-bezier(.2,.8,.3,1);
}

.emerge.ince{
opacity:1;
transform:none;
}

.emerge.ece1{
transition-delay:.1s;
}

.emerge.ece2{
transition-delay:.2s;
}

.emerge.ece3{
transition-delay:.3s;
}

.emerge.ece4{
transition-delay:.4s;
}

.emerge.ece5{
transition-delay:.5s;
}

.emerge.ece6{
transition-delay:.6s;
}

@media (max-width:1080px){
.opening-grid{
grid-template-columns:1fr;
gap:44px;
}

.charter-card{
max-width:520px;
}

.ledger-row{
grid-template-columns:repeat(2,1fr);
}

.movements{
grid-template-columns:repeat(2,1fr);
row-gap:38px;
}

.reviews-ce{
grid-template-columns:1fr;
}

.foot-grid-ce{
grid-template-columns:1fr 1fr;
}

.plate-wall{
grid-template-columns:repeat(3,1fr);
}

}

@media (max-width:1440px){
.navribbon{
gap:18px;
}

.navribbon a{
font-size:.9rem;
}

.nav-phone-ce{
display:none;
}

}

@media (max-width:1240px){
.navribbon{
gap:15px;
}

.navribbon a{
font-size:.86rem;
}

.navribbon li:has(.nav-opt-ce){
display:none;
}

.nav-opt-ce{
display:none;
}

}

@media (max-width:1150px){
.navribbon{
position:fixed;
inset:var(--ce-header-h) 0 auto 0;
background:var(--ce-cream);
flex-direction:column;
align-items:stretch;
gap:0;
padding:10px 6% 26px;
border-bottom:1px solid var(--ce-line);
box-shadow:var(--ce-shadow);
transform:translateY(-135%);
transition:transform .4s cubic-bezier(.2,.8,.3,1);
max-height:calc(100vh - var(--ce-header-h));
overflow:auto;
}

.navribbon.open-ce{
transform:translateY(0);
}

.navribbon li:has(.nav-opt-ce){
display:block;
}

.nav-opt-ce{
display:block;
}

.navribbon li{
border-bottom:1px solid var(--ce-line);
}

.navribbon a{
display:block;
padding:15px 0;
font-size:1.05rem;
}

.tristack{
display:block;
}

.nav-phone-ce{
display:none;
}

.nav-cta-ce .press{
padding:12px 20px;
font-size:.92rem;
}

.omen-court,.court-grid{
grid-template-columns:1fr;
gap:34px;
}

.ring-crest{
display:none;
}

.hem-bar{
display:block;
}

body{
padding-bottom:74px;
}

.attic{
bottom:88px;
right:16px;
}

}

@media (max-width:640px){
body{
font-size:16px;
}

.cornice .bound{
justify-content:center;
text-align:center;
font-size:.8rem;
gap:6px 16px;
padding:7px 0;
}

.cornice .tb-hide-ce,.cornice .tb-news-ce{
display:none;
}

.nav-call-txt-ce{
display:none;
}

.nav-cta-ce .press{
padding:12px 14px;
border-radius:50%;
}

.nav-cta-ce{
gap:9px;
}

.ledger-row,.movements{
grid-template-columns:1fr 1fr;
gap:14px;
}

.plate-wall{
grid-template-columns:repeat(2,1fr);
gap:10px;
}

.plate-item:nth-child(1),.plate-item:nth-child(6){
grid-row:span 1;
aspect-ratio:1;
}

.two-col-ce{
grid-template-columns:1fr;
}

.form-card-ce{
padding:26px 20px;
}

.foot-grid-ce{
grid-template-columns:1fr;
gap:30px;
}

.opening-acts .press{
flex:1 1 100%;
}

.navcase{
gap:8px;
}

.seal{
min-width:0;
gap:9px;
}

.seal-glyph{
width:38px;
height:38px;
}

.seal-txt{
min-width:0;
}

.seal-txt span{
font-size:.56rem;
letter-spacing:1.2px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.seal-txt strong{
font-size:.85rem;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.ledger-row .ledger{
padding:20px 12px;
}

.svc-body-ce,.form-card-ce{
overflow-wrap:break-word;
}

}

@media (max-width:400px){
.bound{
width:94%;
}

.movements{
grid-template-columns:1fr;
row-gap:34px;
}

.ledger-row{
gap:10px;
}

.seal-glyph{
width:34px;
height:34px;
}

.seal-txt strong{
font-size:.8rem;
}

.nav-cta-ce .press{
padding:11px 13px;
}

.tristack{
width:44px;
}

}

@media (prefers-reduced-motion:reduce){
*,*::before,*::after{
animation-duration:.001ms!important;
animation-iteration-count:1!important;
transition-duration:.001ms!important;
}

html{
scroll-behavior:auto;
}

.emerge{
opacity:1;
transform:none;
}

}

@media print{
.lintel,.ring-crest,.hem-bar,.attic,#bg-fx-ce,.frieze{
display:none!important;
}

body{
background:#fff;
color:#000;
}

}

.offer-free-ce{
font-family:var(--ce-display);
font-size:clamp(3rem,6.4vw,4.3rem);
line-height:1;
color:var(--ce-brick);
text-align:center;
letter-spacing:2px;
margin:8px 0 2px;
}

.offer-free-ce small{
display:block;
font-family:var(--ce-font);
font-size:.31em;
letter-spacing:3.4px;
color:var(--ce-coast);
font-weight:800;
margin-top:6px;
}

.charter-card .offer-list-ce svg{
stroke:var(--ce-coast);
}

.badge-free-ce{
background:var(--ce-coast);
box-shadow:0 8px 20px rgba(30,111,104,.42);
}

.tick-coast-ce{
background:rgba(30,111,104,.22);
}

.tick-coast-ce svg{
stroke:#7FD8CE;
}

.vellum-note{
display:flex;
gap:12px;
align-items:flex-start;
background:rgba(242,145,63,.1);
border:1px solid rgba(242,145,63,.34);
border-radius:14px;
padding:16px 18px;
margin-top:24px;
}

.vellum-note svg{
width:22px;
height:22px;
flex:0 0 auto;
margin-top:2px;
stroke:var(--ce-brick);
fill:none;
stroke-width:2;
stroke-linecap:round;
stroke-linejoin:round;
}

.vellum-note p{
margin:0;
font-size:.94rem;
}

.salon-card{
background:linear-gradient(158deg,var(--ce-charcoal) 0%,var(--ce-charcoal-2) 55%,#2E2A24 100%);
color:#DCCFC3;
border-radius:var(--ce-radius-lg);
padding:38px 34px;
box-shadow:var(--ce-shadow-lg);
border:1px solid rgba(255,255,255,.09);
position:relative;
overflow:hidden;
}

.salon-card::before{
content:"";
position:absolute;
top:-90px;
right:-70px;
width:260px;
height:260px;
border-radius:50%;
background:radial-gradient(circle,rgba(242,145,63,.34),transparent 68%);
filter:blur(14px);
animation:float1 18s ease-in-out infinite;
}

.salon-card>*{
position:relative;
z-index:1;
}

.call-kicker-ce{
display:inline-flex;
align-items:center;
gap:9px;
color:var(--ce-ember-glow);
font-weight:800;
letter-spacing:2.4px;
text-transform:uppercase;
font-size:.74rem;
margin-bottom:12px;
}

.call-kicker-ce::before{
content:"";
width:26px;
height:2px;
background:var(--ce-ember);
}

.salon-card h3{
color:#fff;
font-size:clamp(1.4rem,2.4vw,1.9rem);
margin-bottom:10px;
}

.salon-card p{
color:#B5A79A;
font-size:.99rem;
}

.call-number-ce{
display:block;
font-family:var(--ce-display);
font-size:clamp(2.1rem,4.6vw,3rem);
color:#fff;
letter-spacing:1px;
margin:20px 0 18px;
text-align:center;
transition:color .25s,transform .25s;
}

.call-number-ce:hover{
color:var(--ce-ember-glow);
transform:scale(1.03);
}

.call-hours-ce{
text-align:center;
font-size:.92rem;
margin:18px 0 0;
color:#B5A79A;
}

.call-hours-ce strong{
color:#fff;
}

.call-expect-ce{
margin-top:26px;
padding-top:22px;
border-top:1px solid rgba(255,255,255,.12);
}

.call-expect-ce h4{
color:#fff;
font-size:.92rem;
letter-spacing:1.8px;
margin-bottom:14px;
}

.call-expect-ce ol{
margin:0;
padding:0;
list-style:none;
counter-reset:ce;
display:grid;
gap:12px;
}

.call-expect-ce li{
counter-increment:ce;
display:flex;
gap:13px;
align-items:flex-start;
font-size:.94rem;
color:#C3B5A8;
}

.call-expect-ce li::before{
content:counter(ce);
flex:0 0 auto;
width:26px;
height:26px;
border-radius:8px;
background:rgba(242,145,63,.18);
color:var(--ce-ember-glow);
font-family:var(--ce-display);
font-size:.9rem;
display:grid;
place-items:center;
margin-top:1px;
}

@media (max-width:640px){
.salon-card{
padding:28px 22px;
}

}

.review-ce p{
font-size:.95rem;
line-height:1.62;
}

.review-ce footer b{
font-size:.92rem;
line-height:1.3;
}

.review-ce .avatar-ce svg{
display:block;
}

@media (max-width:1080px){
.reviews-ce{
gap:22px;
}

}

.hem-bar ul.mb-two-ce{
grid-template-columns:1.7fr 1fr;
}

/* tight phones: seal and dial share one row politely */
@media (max-width: 392px){
.seal{
flex:1 1 auto;
min-width:0;
overflow:hidden;
}
.seal-txt strong,
.seal-txt span{
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
display:block;
}
.press-ember-ce.lintel-dial{
padding:9px 12px;
}
}

/* hem bar: the call button takes the whole hem */
.hem-bar ul{
grid-template-columns:1fr;
}

/* grid children may shrink below content width */
.movements > *{
min-width:0;
}
.movements{
min-width:0;
}
