*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#F5E6D3;color:#2C2520;font-family:'Source Sans 3',sans-serif;font-weight:400;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.72;overflow-x:hidden}
.svg-defs{position:absolute;width:0;height:0}

/* Grain texture on body */
body::before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;filter:url(#grain);opacity:0.04;background:#F5E6D3}

/* Rooms */
.room{min-height:100vh;position:relative;z-index:2;overflow:hidden}

/* Room 1: Kiln */
.room-kiln{background:#2C2520;display:flex;align-items:center;justify-content:center}
.room-kiln .ripple-canvas{position:absolute;inset:0;width:100%;height:100%}
.kiln-text{position:relative;z-index:5;text-align:center;padding-left:clamp(16px,4vw,48px)}
.hero-title{font-family:'Poiret One',cursive;font-size:clamp(2.8rem,7vw,6rem);letter-spacing:0.12em;text-transform:uppercase;color:#F5E6D3;line-height:1}
.hero-sub{font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:clamp(0.9rem,1.6vw,1.1rem);color:#E8A87C;margin-top:12px;letter-spacing:0.04em;opacity:0;transition:opacity 2s ease 3s}
.hero-sub.show{opacity:1}

/* F-pattern grid */
.f-grid{display:grid;grid-template-columns:55fr 10fr 35fr;padding:clamp(40px,6vw,80px) clamp(16px,4vw,48px);max-width:1200px;margin:0 auto;gap:0}
.f-gutter{}
.f-left{}
.f-right{display:flex;flex-direction:column;gap:clamp(24px,4vw,48px);align-items:center}

/* Feature blocks */
.feature-block{margin-bottom:clamp(40px,6vw,80px);padding:clamp(24px,3vw,40px);border:1px solid rgba(194,99,58,0.2);border-radius:8px;background:#FDF8F0;position:relative}
.feature-block::after{content:'';position:absolute;inset:0;border-radius:8px;filter:url(#grain);opacity:0.03;pointer-events:none;background:#F5E6D3}
.feature-icon{display:block;margin-bottom:16px}
.feature-block h2{font-family:'Poiret One',cursive;font-size:clamp(1.8rem,4vw,3.2rem);letter-spacing:0.08em;color:#2C2520;margin-bottom:8px}
.feature-block p{color:#6B5E55;max-width:62ch}

/* Section headings */
.section-heading{font-family:'Poiret One',cursive;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:0.08em;color:#2C2520;margin-bottom:clamp(20px,3vw,40px)}

/* Pull quotes */
.pull-quote{text-align:center;padding:clamp(16px,3vw,32px)}
.pq-mark{font-family:'Poiret One',cursive;font-size:3rem;color:#D4A04A;line-height:1;display:block}
.pull-quote p{font-family:'Poiret One',cursive;font-size:clamp(1.2rem,2.5vw,1.8rem);color:#8B3A2A;letter-spacing:0.04em}

/* Mini ripple canvases */
.mini-ripple{border-radius:50%;display:block}

/* Ripple break */
.ripple-break{height:100px;background:linear-gradient(135deg,#C2633A,#E8A87C,#D4A04A);opacity:0.15}

/* Icon gallery */
.icon-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,20px)}
.icon-card{background:#FDF8F0;border:1px solid rgba(212,160,74,0.3);border-radius:8px;padding:clamp(12px,2vw,20px);text-align:center;transition:transform 0.28s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.28s ease}
.icon-card:hover{transform:scale(1.08);box-shadow:0 4px 16px rgba(194,99,58,0.15)}
.icon-card svg{display:block;margin:0 auto 8px}
.icon-card span{font-family:'Josefin Sans',sans-serif;font-weight:300;font-size:0.8rem;letter-spacing:0.06em;color:#6B5E55;text-transform:uppercase}

/* Room 4: Corridor */
.room-corridor{background:#8B3A2A;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;padding:clamp(40px,6vw,80px)}
.corridor-quote{font-family:'Poiret One',cursive;font-size:clamp(1.6rem,4vw,3rem);letter-spacing:0.06em;color:#E8A87C;text-align:center;line-height:1.3}
.phase-indicators{display:flex;gap:16px;margin-top:clamp(24px,4vw,48px)}
.phase-dot{width:12px;height:12px;border-radius:50%;background:#D4A04A;opacity:0.3;transition:opacity 0.3s ease}
.phase-dot.lit{opacity:1}

/* Room 5: Exit */
.room-exit{background:#F5E6D3;display:flex;align-items:center;justify-content:center}
.room-exit .ripple-canvas{position:absolute;inset:0;width:100%;height:100%}
.exit-text{position:relative;z-index:5;text-align:center}
.exit-line{font-family:'Josefin Sans',sans-serif;font-weight:600;font-size:clamp(1.2rem,2.5vw,1.8rem);color:#2C2520;letter-spacing:0.04em;position:relative;display:inline-block}
.exit-line::after{content:'';position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:#D4A04A;transform:scaleX(0);transform-origin:left;transition:transform 0.8s ease 0.5s}
.exit-line.visible::after{transform:scaleX(1)}
.exit-brand{display:block;font-family:'Poiret One',cursive;font-size:clamp(0.9rem,1.5vw,1.1rem);letter-spacing:0.08em;color:#6B5E55;margin-top:12px}

/* Reveal */
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity 0.6s ease,transform 0.6s ease}
[data-reveal].visible{opacity:1;transform:translateY(0)}

/* Responsive */
@media(max-width:768px){
.f-grid{grid-template-columns:1fr;gap:24px}
.f-gutter{display:none}
.f-right{align-items:stretch}
.icon-gallery{grid-template-columns:repeat(2,1fr)}
}
