:root{--c0:#0077A3;--c1:#CCF3FC;--c2:#00B0E0;--c3:#F2FCFF;--c4:#003040;--c5:#001E29;--fd:'Syne',Georgia,serif;--ft:'Figtree',system-ui,sans-serif}
/* family: glass. Frosted panes over tinted glass, thin light edges, tint-in motion. Display/Text fonts set per site. */
:root{--g-ink:var(--c4);--g-deep:var(--c5);--g-tint:var(--c0);--g-edge:var(--c2);--g-frost:var(--c3);--g-wash:var(--c1);--g-max:min(1280px,93vw);--g-r:14px;--g-hair:1px solid color-mix(in srgb,var(--g-tint) 22%,transparent)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;interpolate-size:allow-keywords}
body{margin:0;font:400 1.04rem/1.7 var(--ft);color:var(--g-ink);background:linear-gradient(180deg,var(--g-frost),#fff 38rem)}
img{max-width:100%;display:block}
a{color:var(--g-tint)}
h1,h2,h3,h4{font-family:var(--fd);font-weight:700;letter-spacing:-.025em;line-height:1.04;margin:0 0 .5em;text-wrap:balance;text-box:trim-both cap alphabetic}
h1{font-size:clamp(2.3rem,5vw,4.6rem);font-weight:800}
h2{font-size:clamp(1.6rem,2.8vw,2.5rem)}
h3{font-size:1.2rem;font-weight:600}
p,li{text-wrap:pretty}
.ow-frame{width:var(--g-max);margin-inline:auto}
.ow-jump{position:absolute;left:-999px}.ow-jump:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
.ow-meter{position:fixed;top:0;left:0;height:3px;width:0;z-index:70;background:linear-gradient(90deg,var(--g-tint),var(--g-edge))}
/* header: frosted bar, turns smoked glass when scrolled */
.ow-pane{position:fixed;inset:12px 0 auto;z-index:50}
.ow-pane .ow-pane-in{width:var(--g-max);margin:auto;display:flex;align-items:center;gap:1.6rem;min-height:78px;padding:0 1.2rem;border-radius:var(--g-r);background:color-mix(in srgb,#fff 72%,transparent);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -18px color-mix(in srgb,var(--g-deep) 60%,transparent);transition:background .35s,border-color .35s}
.ow-film{position:relative;display:block;height:60px;flex:none}
.ow-film img{height:60px;width:auto;transition:opacity .3s}
.ow-film .ow-film-d{position:absolute;inset:0 auto auto 0;opacity:0}
.ow-pane.solid .ow-pane-in{background:color-mix(in srgb,var(--g-deep) 86%,transparent);border-color:rgba(255,255,255,.14)}
.ow-pane.solid .ow-film-l{opacity:0}.ow-pane.solid .ow-film-d{opacity:1}
.ow-views{display:flex;align-items:center;gap:1.15rem;margin-left:auto}
.ow-views.l{margin-left:auto}.ow-views.r{margin-left:0}
.ow-views a{color:var(--g-ink);text-decoration:none;font:600 .9rem/1 var(--ft);padding:.55rem .2rem;white-space:nowrap;position:relative}
.ow-views a::after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:2px;background:var(--g-edge);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.ow-views a:hover::after,.ow-views a[aria-current]::after{transform:scaleX(1)}
.ow-pane.solid .ow-views a{color:#fff}
.ow-views .ow-views-go{background:var(--g-tint);color:#fff;border-radius:8px;padding:.7rem 1rem}.ow-views .ow-views-go::after{display:none}
.ow-tint-btn{display:none;margin-left:auto;font:600 .9rem var(--ft);color:var(--g-ink);background:rgba(255,255,255,.6);border:var(--g-hair);border-radius:8px;padding:.55rem .9rem}
.ow-pane.solid .ow-tint-btn{color:#fff;background:transparent;border-color:rgba(255,255,255,.4)}
.ow-sheet{display:none}
@media (max-width:1140px){.ow-views{display:none}.ow-tint-btn{display:block}
 .ow-sheet.open{display:block;position:fixed;inset:100px 4vw auto;z-index:49;padding:.8rem 1.2rem;border-radius:var(--g-r);background:color-mix(in srgb,#fff 90%,transparent);backdrop-filter:blur(16px);border:var(--g-hair);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
 .ow-sheet a{display:block;padding:.7rem 0;color:var(--g-ink);text-decoration:none;font-weight:600;border-bottom:var(--g-hair)}.ow-sheet a:last-child{border:0}}
@media (max-width:700px){.ow-pane{inset:8px 0 auto}.ow-pane .ow-pane-in{min-height:62px;padding:0 .8rem}.ow-film,.ow-film img{height:46px}}
/* hero: full-bleed photo, frosted text pane */
main{display:block;overflow-x:clip}
.ow-glaze{position:relative;display:grid;min-height:min(92vh,860px);padding:130px 0 4rem;align-items:end;isolation:isolate}
.ow-glaze>.ow-backing,.ow-glaze>.ow-backing-p,.ow-glaze>.ow-backing-s,.ow-glaze>.ow-drift,.ow-glaze>img.hi,.ow-glaze .ow-frame>.ow-backing{position:absolute;inset:0;z-index:-1;overflow:hidden}
.ow-glaze img.hi{width:100%;height:100%;object-fit:cover}
.ow-glaze::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(200deg,transparent 30%,color-mix(in srgb,var(--g-deep) 70%,transparent))}
.ow-glaze>.ow-frame,.ow-glaze>.ow-frost-card{width:var(--g-max);margin-inline:auto;position:relative}
.ow-glaze .ow-frame>:not(.ow-backing),.ow-glaze>.ow-frost-card>*{max-width:680px}
.ow-glaze>.ow-frame>.ow-caption,.ow-glaze>.ow-frost-card{background:color-mix(in srgb,#fff 78%,transparent);backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,255,255,.8);border-radius:var(--g-r);padding:2.2rem 2.3rem}
.ow-glaze>.ow-frost-card{max-width:720px;margin-left:max(3.5vw,calc((100vw - var(--g-max))/2))}
.ow-glaze .ow-caption h1{margin-bottom:.4em}
.ow-label{display:inline-block;font:600 .78rem/1 var(--ft);text-transform:uppercase;letter-spacing:.14em;color:#fff;background:var(--g-tint);padding:.5rem .75rem;border-radius:6px;margin:0 0 1rem}
.ow-glaze>.ow-frame>.ow-label{margin-bottom:.8rem}
.ow-intro{font-size:1.1rem;max-width:36rem}
.ow-trail{font-size:.84rem;margin:0 0 .9rem;color:inherit}.ow-trail a{color:inherit}
.ow-glaze>.ow-frame>.ow-trail{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media (max-width:760px){.ow-glaze{min-height:0;padding:104px 0 2.2rem;align-items:start}.ow-glaze>.ow-frame>.ow-caption,.ow-glaze>.ow-frost-card{padding:1.3rem 1.2rem}.ow-glaze>.ow-frost-card{margin-inline:auto;width:var(--g-max)}.ow-intro{font-size:1rem}h1{font-size:clamp(1.9rem,8.6vw,2.6rem)}}
/* buttons */
.ow-go{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.85rem 1.35rem;margin:.8rem .7rem 0 0;border-radius:4px;background:var(--g-tint);color:#fff;font:600 .95rem/1 var(--ft);text-decoration:none;border:1px solid var(--g-tint);transition:transform .25s,opacity .25s}
.ow-go::after{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.ow-go:hover{transform:translateX(3px)}
.ow-go.ghost{background:rgba(255,255,255,.55);color:var(--g-ink);border-color:color-mix(in srgb,var(--g-tint) 35%,transparent)}
.ow-go:empty{display:none}
/* sections */
.ow-block{padding:4.6rem 0}
.ow-block>.ow-frame>h2,.ow-block>.ow-showcase h2{max-width:24ch}
.ow-tinted{background:var(--g-deep);color:#e9f6fb;position:relative}
.ow-tinted::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 64px);pointer-events:none}
.ow-tinted a:not(.ow-go):not(.ow-pane-card){color:var(--g-wash)}
.ow-tinted h2,.ow-tinted h3{color:#fff}
.ow-reasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:3.4rem 0;position:relative}
.ow-reasons>div{padding:1.4rem;border-radius:var(--g-r);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.ow-reasons h3{color:var(--g-wash)}.ow-reasons p{margin:0;font-size:.95rem}
@media (max-width:980px){.ow-reasons{grid-template-columns:1fr 1fr}}@media (max-width:560px){.ow-reasons{grid-template-columns:1fr}}
/* prose */
.ow-reading{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3.2rem;align-items:start}
.ow-reading article>section{padding:0 0 1.2rem;margin:0 0 1.8rem;border-bottom:var(--g-hair)}
.ow-reading article>section:last-child{border:0}
.ow-reading article h2{font-size:clamp(1.4rem,2.2vw,1.9rem)}
.ow-reading aside{position:sticky;top:120px;display:grid;gap:1rem}
.ow-quote{font:600 1.15rem/1.4 var(--fd);margin:0;padding-left:1rem;border-left:3px solid var(--g-edge)}.ow-quote:empty{display:none}
.ow-frost-note{padding:1.3rem;border-radius:var(--g-r);background:linear-gradient(160deg,var(--g-wash),#fff);border:var(--g-hair)}
.ow-frost-note strong{display:block;font-family:var(--fd);font-size:1.05rem;margin-bottom:.4rem}
.ow-frost-note a{display:block;padding:.3rem 0;font-weight:600}
@media (max-width:960px){.ow-reading{grid-template-columns:1fr;gap:1.4rem}.ow-reading aside{position:static}}
.ow-sizes{width:100%;border-collapse:separate;border-spacing:0;margin:1rem 0 2rem;border:var(--g-hair);border-radius:var(--g-r);overflow:hidden;font-size:.95rem}
.ow-sizes th,.ow-sizes td{padding:.7rem 1rem;text-align:left;vertical-align:top;border-bottom:var(--g-hair)}
.ow-sizes tr:last-child th,.ow-sizes tr:last-child td{border-bottom:0}
.ow-sizes th{width:38%;background:var(--g-frost);font-weight:600}
/* cards */
.ow-panes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:1.3rem}
.ow-pane-card{position:relative;display:block;color:inherit;text-decoration:none;border-radius:var(--g-r);overflow:hidden;background:#fff;border:var(--g-hair);box-shadow:0 18px 40px -32px color-mix(in srgb,var(--g-deep) 80%,transparent);transition:transform .3s}
.ow-pane-card:hover{transform:translateY(-4px)}
.ow-pane-card img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}
.ow-pane-card .ow-pane-text{padding:1rem 1.15rem 1.3rem}
.ow-pane-card h3{margin:0 0 .35rem}.ow-pane-card p{margin:0;font-size:.93rem;color:color-mix(in srgb,var(--g-ink) 82%,transparent)}
a.card .ow-pane-text{margin:-2.2rem .7rem .7rem;position:relative;border-radius:10px;background:color-mix(in srgb,#fff 86%,transparent);backdrop-filter:blur(10px)}
.ow-panes-list{grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr))}
.ow-panes-spec .ow-pane-card img{aspect-ratio:16/10}
.ow-tinted .ow-pane-card{color:var(--g-ink)}
.ow-strips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(470px,100%),1fr));gap:.9rem 2rem}
.ow-strips a{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1.1rem;align-items:center;color:inherit;text-decoration:none;padding:.8rem;border-radius:var(--g-r);border:var(--g-hair);background:#fff}
.ow-strips img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.ow-strips h3{margin:0 0 .25rem;font-size:1.06rem}.ow-strips p{margin:0;font-size:.92rem}
.ow-showcase{width:var(--g-max);margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}
.ow-showcase>img{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:var(--g-r)}
.ow-showcase .ow-showcase-text{margin-left:-4rem;padding:2.4rem;border-radius:var(--g-r);background:color-mix(in srgb,#fff 82%,transparent);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.85);box-shadow:0 30px 60px -40px rgba(0,0,0,.5);position:relative}
@media (max-width:880px){.ow-showcase{grid-template-columns:1fr}.ow-showcase>img{min-height:240px}.ow-showcase .ow-showcase-text{margin:-3rem 1rem 0;padding:1.5rem}}
/* FAQ: animated details */
details{border-radius:10px;background:#fff;border:var(--g-hair);margin:.6rem 0;padding:0 1.1rem}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font:600 1.02rem/1.35 var(--ft)}
summary::-webkit-details-marker{display:none}
summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--g-tint);border-bottom:2px solid var(--g-tint);transform:rotate(45deg);transition:transform .3s}
details[open]>summary::after{transform:rotate(225deg)}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .35s ease,opacity .35s ease,content-visibility .35s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
details>p{margin:0 0 1rem}
/* reviews */
.ow-voices .ow-voices-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;margin-bottom:1.2rem}
.ow-voices .ow-voices-h p{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}
.ow-rvl-dark,.ow-rvl-band{background:var(--g-deep);color:#e9f6fb}.ow-rvl-dark h2,.ow-rvl-band h2{color:#fff}
main section .amr-root{--amr-font:var(--ft);--amr-bg:#fff;--amr-text:var(--g-ink);--amr-muted:#4a5a66;--amr-star:var(--g-edge);--amr-link:var(--g-tint);--amr-radius:var(--g-r)}
.amr-root .amr-photo-fallback{color:var(--amr-text,#0f172a)!important;background:color-mix(in srgb,var(--amr-text,#0f172a) 10%,#fff)!important}
/* cta */
.ow-glazing-cta{padding:4.4rem 0 7rem;text-align:center;background:linear-gradient(140deg,var(--g-deep),color-mix(in srgb,var(--g-tint) 70%,var(--g-deep)))}
.ow-glazing-cta .ow-frame{display:flex;flex-direction:column;align-items:center}
.ow-glazing-cta h2{max-width:28ch}
.ow-glazing-cta .ow-go{background:#fff;color:var(--g-deep);border-color:#fff}
/* footer */
.ow-sill{background:var(--g-deep);color:#cfe3ea;padding:4rem 0 7rem;font-size:.94rem}
.ow-sill a{color:#fff}
.ow-sill-grid{display:grid;grid-template-columns:1.6fr repeat(3,minmax(0,1fr));gap:2.2rem}
.ow-sill-grid h4{font:600 .8rem var(--ft);text-transform:uppercase;letter-spacing:.14em;color:var(--g-wash);margin:0 0 .8rem}
.ow-sill-grid nav a{display:block;padding:.2rem 0;text-decoration:none}
.ow-sill-logo img{height:56px!important}
.ow-sill-small{margin-top:2.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.14);font-size:.82rem}
@media (max-width:860px){.ow-sill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ow-sill-grid>*{min-width:0}}
main a[href^=mailto]{overflow-wrap:anywhere}
/* form */
.ow-enq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:2.4rem;align-items:start}
.ow-enq{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;padding:1.7rem;border-radius:var(--g-r);background:#fff;border:var(--g-hair)}
.ow-enq-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.ow-enq-full{grid-column:1/-1}
.ow-enq label{font-weight:600;font-size:.9rem}.ow-enq-opt{font-weight:400}
.ow-enq input,.ow-enq textarea{font:inherit;width:100%;min-height:46px;padding:.7rem .85rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--g-tint) 35%,transparent);background:var(--g-frost);color:var(--g-ink)}
.ow-enq input:focus-visible,.ow-enq textarea:focus-visible{outline:2px solid var(--g-edge);outline-offset:2px}
.ow-enq [aria-invalid=true]{border:2px solid #B42318}
.ow-enq-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ow-enq-acts{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.ow-enq-send{font:600 .95rem var(--ft);min-height:48px;padding:.85rem 1.5rem;border:0;border-radius:4px;background:var(--g-tint);color:#fff;cursor:pointer}
.ow-enq-msg{margin:0;font-weight:600}.ow-enq-msg.ok{color:#166534}.ow-enq-msg.err{color:#B42318}
@media (max-width:820px){.ow-enq-wrap{grid-template-columns:1fr}}@media (max-width:560px){.ow-enq{grid-template-columns:1fr;padding:1.1rem}}
/* motion: tint-in (opacity + transform only) */
.ow-drift{display:block;position:absolute;inset:0;overflow:hidden}.ow-drift>img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .ow-glaze img.hi{animation:gTint 1.8s ease-out both}
 .ow-glaze>.ow-frame>.ow-caption,.ow-glaze>.ow-frost-card{animation:gRise .8s .15s cubic-bezier(.2,.8,.2,1) both}
 @supports (animation-timeline:view()){
  .ow-up1,.ow-up2,.ow-up3,.ow-pane-card,.ow-strips a{animation:gRise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
 }
}
@keyframes gTint{from{opacity:.35;transform:scale(1.06)}}
@keyframes gRise{from{opacity:0;transform:translateY(16px)}}
@media (prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}}
h1,h2,h3{overflow-wrap:break-word}

/* basics: appended to every per-site stylesheet by skin1029.py (Proof 2026-10-29). Never remove. */
html{interpolate-size:allow-keywords}
.ow-go,.ow-views-go,.ow-label,.ow-tint-btn,.ow-enq-send,.ow-trail a{text-box:trim-both cap alphabetic}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .35s ease,opacity .35s ease,content-visibility .35s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:no-preference){
 .ow-panes>*,.ow-strips>*,.ow-reasons>*{animation:bxStagger .6s cubic-bezier(.2,.7,.2,1) both}
 .ow-panes>:nth-child(2),.ow-strips>:nth-child(2),.ow-reasons>:nth-child(2){animation-delay:.07s}
 .ow-panes>:nth-child(3),.ow-strips>:nth-child(3),.ow-reasons>:nth-child(3){animation-delay:.14s}
 .ow-panes>:nth-child(4),.ow-strips>:nth-child(4),.ow-reasons>:nth-child(4){animation-delay:.21s}
 .ow-panes>:nth-child(n+5),.ow-strips>:nth-child(n+5){animation-delay:.28s}
 @supports (animation-timeline:view()){
  .ow-panes>*,.ow-strips>*,.ow-reasons>*{animation-timeline:view();animation-delay:0s;animation-range:entry 0% entry 38%}
  .ow-panes>:nth-child(3n+2),.ow-strips>:nth-child(2n),.ow-reasons>:nth-child(2n){animation-range:entry 6% entry 44%}
  .ow-panes>:nth-child(3n),.ow-reasons>:nth-child(3n){animation-range:entry 12% entry 50%}
 }
}
@keyframes bxStagger{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.ow-panes>*,.ow-strips>*,.ow-reasons>*{animation:none!important;opacity:1;transform:none}details::details-content{transition:none}}
