:root{--bg-canvas:#fbf1f0;--bg-surface:#fff8f7;--bg-surface-hover:#f5e4ed;--text-primary:#1c1917;--text-muted:#67535e;--accent-primary:#6b2155;--accent-secondary:#945576;--border-subtle:rgba(107,33,85,.21);--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(51,20,39,.22);--glow-accent:0 0 24px -4px rgba(107,33,85,.2);--glass-backdrop:blur(16px) saturate(180%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:18px/1.65 Charter,Cambria,Georgia,serif;overflow-wrap:anywhere;hyphens:auto}button,input,textarea,select{font:inherit}a{color:var(--accent-primary);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,a,input,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent-primary);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover;border-radius:20px}figure{margin:0}figcaption{font-size:.85rem;color:var(--text-muted);padding-top:10px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;font-weight:400;text-wrap:balance}h1{font-size:clamp(2.6rem,5.3vw,5rem);letter-spacing:-.045em;margin-bottom:24px}h2{font-size:clamp(1.9rem,3.1vw,2.8rem);letter-spacing:-.025em}h3{font-size:1.5rem}p{margin-bottom:1.15em}ul,ol{padding-left:1.3em}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.observation{border-bottom:1px solid var(--border-subtle);padding:9px 0;font-size:.78rem;letter-spacing:.09em;color:var(--text-muted)}.site-header{position:relative;padding:22px 0;border-bottom:1px solid var(--border-subtle)}.header-row{display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;text-decoration:none;color:var(--text-primary);font-size:1rem;font-weight:bold}.brand-mark{display:grid;place-items:center;border:1px solid var(--accent-primary);border-radius:50% 50% 4px 50%;width:30px;height:34px;color:var(--accent-primary)}.nav-list{display:flex;gap:15px;align-items:center}.nav-list a{font-size:.82rem;text-decoration:none;white-space:nowrap}.nav-list a:hover,.nav-list a[aria-current=page]{text-decoration:underline}.menu-button{display:none;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--accent-primary);font-size:1.7rem;line-height:1;padding:7px 14px}.skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--bg-surface);z-index:20}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:70px 0 58px;position:relative}.hero:before{content:"";position:absolute;inset:5% 0 0 35%;background:radial-gradient(ellipse,rgba(107,33,85,.14),transparent 66%);z-index:-1;animation:breathe 12s ease-in-out infinite alternate}.hero-photo{aspect-ratio:4/5;box-shadow:0 24px 60px rgba(41,16,31,.3);border-radius:20px}.eyebrow,.equipment{font-variant:small-caps;letter-spacing:.11em;color:var(--accent-primary);font-size:.86rem}.lead{font-size:1.2rem;color:var(--text-muted);max-width:50ch}.button,button.action{display:inline-block;background:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary);padding:13px 19px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;border-radius:0;cursor:pointer;transition:transform .35s var(--ease-kinetic),box-shadow .35s,background .35s}.button:hover,button.action:hover{background:var(--bg-surface-hover);transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent)}.button.solid{background:var(--accent-primary);color:var(--bg-surface)}.section{padding:60px 0}.section-head{max-width:72ch;margin-bottom:30px}.field{position:relative;background:radial-gradient(ellipse at 12% 30%,rgba(107,33,85,.14),transparent 65%);border-radius:20px;padding:36px}.field.lighting{background:radial-gradient(ellipse at 85% 50%,rgba(107,33,85,.18),transparent 70%)}.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"main main side" "main main lower";gap:22px}.tile{background:rgba(255,248,247,.74);border:1px solid var(--border-subtle);border-radius:20px;padding:28px;backdrop-filter:var(--glass-backdrop);transition:transform .4s var(--ease-kinetic),box-shadow .4s,background .4s;min-width:0}.tile:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface-hover)}.tile.main{grid-area:main}.tile.side{grid-area:side}.tile.lower{grid-area:lower}.tile p:last-child{margin-bottom:0}.tile-image{aspect-ratio:4/3;margin-bottom:24px}.tile-image.square{aspect-ratio:1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.split-card{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.split-image{aspect-ratio:4/3}.decision-row{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;border-top:1px solid var(--border-subtle);padding:20px 0}.decision-row strong{color:var(--accent-primary)}.decision-row p{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:20px;background:var(--bg-surface)}table{width:100%;border-collapse:collapse;min-width:570px;font-size:.95rem}caption{text-align:left;padding:18px;color:var(--text-muted)}th,td{text-align:left;padding:16px;border-bottom:1px solid var(--border-subtle);vertical-align:top}th{color:var(--accent-primary)}tbody tr:last-child td{border-bottom:0}.lighting-diagram{display:flex;align-items:flex-end;gap:20px;background:#2d1728;color:#fff8f7;border-radius:20px;min-height:235px;padding:30px}.lamp{width:24%;height:130px;position:relative;border-bottom:3px solid #dfb5ce}.lamp:before{content:"";display:block;width:6px;height:80px;background:#dfb5ce;margin:auto}.lamp:after{content:"";position:absolute;width:100%;height:55px;bottom:0;background:linear-gradient(180deg,rgba(239,206,162,.6),rgba(239,206,162,.02));clip-path:polygon(45% 0,55% 0,100% 100%,0 100%)}.diagram-note{flex:1;font-size:.98rem}.prose{max-width:70ch;margin:0 auto}.prose h2{font-size:2rem;margin-top:44px}.prose h3{margin-top:30px}.page-intro{padding:62px 0 34px;max-width:900px}.page-intro h1{font-size:clamp(2.6rem,5vw,4.5rem)}.article-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:30px;align-items:start}.article-side{padding:26px}.article-side ul{margin-bottom:0}.banner-photo{aspect-ratio:16/9;margin-bottom:30px}.reading-meta{font-size:.88rem;color:var(--text-muted)}.note{border-left:3px solid var(--accent-primary);padding:18px 22px;background:var(--bg-surface);border-radius:0 20px 20px 0;margin:28px 0}details{border-bottom:1px solid var(--border-subtle);padding:20px 0}summary{cursor:pointer;font-size:1.15rem;color:var(--accent-primary)}details p{margin:15px 0 0;max-width:70ch}.feature-overlay{position:relative;border-radius:20px;isolation:isolate;padding:35px;color:#fff8f7;background:#301b2a}.feature-overlay a{color:#f6d6e9}.feature-overlay .equipment{color:#f6d6e9}.media-small{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:center}.media-small img{aspect-ratio:1}.media-small p{margin:0}.form-grid{display:grid;gap:20px}label{display:block;color:var(--accent-primary)}input,textarea,select{display:block;width:100%;min-width:0;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);padding:12px;margin-top:6px;border-radius:8px}textarea{min-height:180px;resize:vertical}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-surface);border:1px solid var(--border-subtle);padding:22px;border-radius:20px;font:inherit;min-height:220px}.status{min-height:1.7em;color:var(--accent-primary);font-size:.95rem}.site-footer{margin-top:70px;padding:38px 0;border-top:1px solid var(--border-subtle);font-size:.9rem;color:var(--text-muted)}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.site-footer p{margin:15px 0 0}.reveal-enabled .reveal{opacity:0;transform:translateY(25px);transition:opacity .7s var(--ease-kinetic),transform .7s var(--ease-kinetic)}.reveal-enabled .reveal.reveal-visible{opacity:1;transform:translateY(0)}[hidden]{display:none!important}@keyframes breathe{from{opacity:.55;transform:scale(.97)}to{opacity:1;transform:scale(1.04)}}
@media(min-width:1025px){.article-side{margin-top:12px}}
@media(min-width:769px) and (max-width:1024px){.header-row{flex-wrap:wrap}.nav-list{gap:21px}.hero{gap:30px}.wrap{width:calc(100% - 48px)}.article-layout{grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr)}}
@media(max-width:768px){.wrap{width:calc(100% - 36px)}.menu-button{display:block}.header-row{position:relative}.site-nav{position:absolute;left:0;right:0;top:calc(100% + 20px);padding:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-elevation);z-index:10}.site-nav:not(.is-open){display:none}.nav-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nav-list a{font-size:1rem}.hero{grid-template-columns:1fr;gap:30px;padding:45px 0}.hero-photo{aspect-ratio:4/3}.bento{grid-template-columns:1fr 1fr;grid-template-areas:"main main" "side lower"}.split-card,.article-layout{grid-template-columns:1fr}.field{padding:24px}.section{padding:38px 0}.article-side{order:2}.footer-top{flex-direction:column}.page-intro{padding-top:45px}}
@media(min-width:481px) and (max-width:768px){.hero h1{max-width:14ch}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}
@media(max-width:480px){body{font-size:17px}.brand{font-size:.88rem;gap:6px}.brand-mark{width:25px;height:29px}.observation{font-size:.65rem}.bento{grid-template-columns:1fr;grid-template-areas:"main" "side" "lower"}.tile{padding:22px}.field{padding:20px 14px}.decision-row{grid-template-columns:1fr;gap:8px}.grid{grid-template-columns:minmax(0,1fr)}.media-small{grid-template-columns:75px 1fr;gap:14px}.lighting-diagram{padding:22px;gap:14px}.footer-links{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-enabled .reveal{opacity:1;transform:none}}