:root{--bg-canvas:#faf6ef;--bg-surface:#efe6d8;--bg-surface-hover:#e5d6c3;--text-primary:#2b211a;--text-muted:#65584b;--accent-primary:#c2562e;--accent-secondary:#6b7a3a;--border-subtle:#cfc1ad;--ease-kinetic:cubic-bezier(.16,1,.3,1);--shadow-elevation:0 12px 32px -4px rgba(43,33,26,.16);--glow-accent:0 0 24px -4px rgba(194,86,46,.32);--glass-backdrop:blur(16px) saturate(140%);--measure:70ch;--content:1100px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-canvas);color:var(--text-primary);font:17px/1.7 Charter,Cambria,Georgia,serif;overflow-wrap:anywhere;hyphens:auto}
img{display:block;width:100%;height:auto;object-fit:cover}
a{color:var(--accent-primary);text-underline-offset:.2em}
a:hover{color:#8f351d}
button,input,textarea{font:inherit}
button,.button{display:inline-block;border:1px solid var(--accent-primary);border-radius:0;background:transparent;color:var(--text-primary);padding:.75rem 1rem;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;font-size:.78rem;cursor:pointer;transition:transform .3s var(--ease-kinetic),box-shadow .3s,background .3s}
button:hover,.button:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevation),var(--glow-accent);background:var(--bg-surface)}
:focus-visible{outline:3px solid var(--accent-secondary);outline-offset:4px}
h1,h2,h3{line-height:1.12;overflow-wrap:anywhere}
h1{font-size:clamp(2.6rem,6vw,5.6rem);font-weight:400;letter-spacing:-.045em;margin:.3em 0}
h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:400;letter-spacing:-.025em;margin:0 0 1rem}
h3{font-size:1.35rem;font-weight:400}
p{max-width:var(--measure)}
.smallcaps,.eyebrow{font-variant:small-caps;letter-spacing:.12em;text-transform:lowercase;color:var(--accent-secondary);font-size:.92rem}
.wrap{width:min(calc(100% - 2.5rem),var(--content));margin-inline:auto}
.site-header{padding:1.15rem max(calc((100% - var(--content))/2),1.25rem) 1.1rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-canvas)}
.header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--text-primary);text-decoration:none;font-size:1.1rem;font-variant:small-caps;letter-spacing:.06em}
.brand-mark{width:30px;height:30px;border:1px solid var(--accent-primary);display:grid;place-items:center;color:var(--accent-primary);transform:rotate(45deg);font-size:.8rem}
.brand-mark span{transform:rotate(-45deg)}
.desktop-nav{display:flex;justify-content:center;gap:clamp(1rem,3vw,2.6rem);padding-top:.9rem}
.desktop-nav a,.mobile-menu a{font-size:.9rem;color:var(--text-primary);text-decoration:none}
.desktop-nav a:hover,.mobile-menu a:hover{color:var(--accent-primary)}
.menu-toggle{display:none;font-size:1.5rem;padding:.3rem .75rem;border:0}
.mobile-menu{display:none;padding:1rem 0 .2rem;border-top:1px solid var(--border-subtle);margin-top:1rem}
.mobile-menu.open{display:grid;gap:.9rem}
.hero{position:relative;min-height:540px;display:grid;align-items:center;background:var(--bg-surface);overflow:clip}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,246,239,.96) 0%,rgba(250,246,239,.82) 48%,rgba(250,246,239,.12) 100%)}
.hero-content{position:relative;z-index:1;padding-block:5rem;max-width:760px}
.hero-content p{font-size:1.18rem}
.fact-panel{position:absolute;z-index:2;right:max(calc((100% - var(--content))/2),1.25rem);bottom:2rem;display:grid;grid-template-columns:repeat(3,1fr);width:min(600px,calc(100% - 2.5rem));background:rgba(250,246,239,.92);backdrop-filter:var(--glass-backdrop);border:1px solid var(--border-subtle);box-shadow:var(--shadow-elevation)}
.fact{padding:1rem 1.15rem;border-right:1px solid var(--border-subtle)}
.fact:last-child{border:0}
.fact strong{display:block;color:var(--accent-primary);font-size:1.1rem}
.band{padding:5rem 0}
.band.sand{background:var(--bg-surface);clip-path:polygon(0 2%,100% 0,100% 98%,0 100%)}
.band.greenish{background:#e8eadc}
.section-intro{max-width:var(--measure);margin:0 auto 2.5rem}
.section-intro>p{color:var(--text-muted)}
.route-list{list-style:none;padding:0;margin:2rem 0}
.route-list li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:1.2rem;padding:1.3rem 0;border-top:1px solid var(--border-subtle);transition:transform .4s var(--ease-kinetic),opacity .7s var(--ease-kinetic)}
.route-list li:last-child{border-bottom:1px solid var(--border-subtle)}
.route-icon{width:54px;height:54px;border:1px solid var(--accent-secondary);border-radius:50%;display:grid;place-items:center;color:var(--accent-secondary);font-size:1.4rem}
.route-list h3{margin:.1rem 0 .35rem}
.route-list p{margin:.2rem 0;color:var(--text-muted)}
.flow{display:flex;align-items:stretch;gap:.5rem;overflow-x:auto;padding:1.2rem 0}
.flow-step{flex:1 0 130px;padding:1rem;background:var(--bg-canvas);border-top:3px solid var(--accent-primary)}
.flow-step b{display:block;font-variant:small-caps;color:var(--accent-secondary)}
.comparison{width:100%;border-collapse:collapse;margin:1.5rem 0;background:rgba(250,246,239,.55)}
.comparison th,.comparison td{text-align:left;vertical-align:top;padding:.85rem;border-bottom:1px solid var(--border-subtle)}
.comparison th{font-variant:small-caps;color:var(--accent-secondary)}
.media-row{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin:2.5rem 0}
.media-row img{aspect-ratio:4/3}
.image-frame{background:var(--bg-surface);padding:.55rem;border:1px solid var(--border-subtle)}
.image-caption{font-size:.9rem;color:var(--text-muted);margin:.5rem 0}
.article-head{padding:4.5rem 0 2.5rem;background:var(--bg-surface)}
.article-head .wrap{max-width:var(--content)}
.article-content{padding:3.5rem 0 5rem}
.article-content .prose{max-width:var(--measure);margin:auto}
.article-content h2{font-size:2rem;margin-top:2.3rem}
.article-content h3{margin-top:1.8rem}
.article-content li{margin:.45rem 0}
.source-list{padding-left:1.2rem}
.source-list li{margin:.55rem 0}
details{padding:1rem 0;border-bottom:1px solid var(--border-subtle)}
summary{cursor:pointer;font-size:1.12rem;color:var(--text-primary)}
summary::marker{color:var(--accent-primary)}
details p{padding-left:1rem;color:var(--text-muted)}
.notes-band{background:#e8eadc;padding:3.5rem 0}
.site-footer{background:#2b211a;color:#faf6ef;padding:3.5rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:2rem}
.site-footer h2,.site-footer h3{color:#f4dcc7}
.site-footer a{color:#f4c3a8}
.site-footer p{color:#e4d8c8}
.footer-links{display:flex;flex-wrap:wrap;gap:.55rem 1rem}
.footer-bottom{border-top:1px solid #77675a;margin-top:2rem;padding-top:1rem;font-size:.9rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.enquiry{max-width:760px;margin:2rem auto;background:var(--bg-surface);padding:2rem;border-top:3px solid var(--accent-primary)}
.enquiry label{display:block;margin:1rem 0 .3rem;font-variant:small-caps}
.enquiry input,.enquiry textarea{width:100%;border:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-canvas);padding:.8rem;color:var(--text-primary)}
.enquiry textarea{min-height:140px;resize:vertical}
.tool-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.status{min-height:1.5rem;color:var(--accent-secondary)}
.reveal{opacity:0;transform:translateY(22px);transition:all .7s var(--ease-kinetic)}
.reveal-visible{opacity:1;transform:translateY(0)}
.material-figure{display:grid;place-items:center;min-height:250px;background:linear-gradient(145deg,#f8f1e6,#e7d7c5);border:1px solid var(--border-subtle);overflow:hidden}
.glass-vessel{width:112px;height:155px;border:2px solid rgba(107,122,58,.65);border-radius:12px 12px 34px 34px;background:linear-gradient(115deg,rgba(255,255,255,.8),rgba(107,122,58,.14) 42%,rgba(255,255,255,.5));box-shadow:inset -12px 0 20px rgba(107,122,58,.12),8px 12px 18px rgba(43,33,26,.12);position:relative}
.glass-vessel:before{content:"";position:absolute;left:18px;right:18px;top:-17px;height:17px;border:2px solid rgba(107,122,58,.55);border-radius:5px 5px 0 0;background:rgba(255,255,255,.45)}
.aggregate{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:260px}
.aggregate i{width:35px;height:29px;background:#9a8067;border-radius:44% 56% 60% 40%;box-shadow:inset 4px 3px rgba(255,255,255,.35)}
.aggregate i:nth-child(3n){background:#8c9a63}
.foam-block{width:170px;height:110px;background:repeating-linear-gradient(0deg,#e3d7c5,#e3d7c5 16px,#d7c7b0 17px,#d7c7b0 19px);box-shadow:10px 12px 0 #cbb99f}
@media(max-width:767px){.desktop-nav{display:none}.menu-toggle{display:block}.header-top{min-height:42px}.hero{min-height:620px}.hero-content{padding-block:3.5rem 12rem}.hero::after{background:linear-gradient(180deg,rgba(250,246,239,.95),rgba(250,246,239,.72))}.fact-panel{left:1.25rem;right:1.25rem;bottom:1rem;width:auto}.fact{padding:.7rem;font-size:.87rem}.media-row{grid-template-columns:1fr;gap:1rem}.footer-grid{grid-template-columns:1fr}.band{padding:3.5rem 0}}
@media(max-width:480px){body{font-size:16px}.wrap{width:min(calc(100% - 1.5rem),var(--content))}.site-header{padding-inline:.75rem}.hero-content{padding-inline:.75rem}.fact-panel{left:.75rem;right:.75rem}.fact{padding:.55rem;font-size:.78rem}.route-list li{grid-template-columns:48px 1fr;gap:.8rem}.route-icon{width:42px;height:42px}.band.sand{clip-path:polygon(0 1%,100% 0,100% 99%,0 100%)}.article-head{padding:3rem 0 1.5rem}}
@media(min-width:481px) and (max-width:768px){.wrap{width:calc(100% - 2.5rem)}}
@media(min-width:769px) and (max-width:1024px){:root{--content:940px}}
@media(min-width:1025px){:root{--content:1100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}