#tt-designer-host{position:fixed;inset:0;z-index:0;overflow-y:auto}.site{position:relative;z-index:1;background:var(--bg);min-height:100vh}html.tt-designer-revealed #tt-designer-host{z-index:2}html.tt-designer-revealed .site{display:none}.hero{max-width:var(--max);margin:0 auto;padding:var(--space-8) var(--space-4) var(--space-6)}.hero__copy{text-align:center;display:flex;flex-direction:column;align-items:center}.hero .eyebrow{margin:0 0 var(--space-3)}.hero__tagline{font-size:clamp(2.25rem,6vw,var(--fs-display));font-weight:600;line-height:1.02;letter-spacing:-.02em;margin:0 0 var(--space-3)}.hero__tagline em{font-style:italic;color:var(--accent)}.hero__lead{font-size:var(--fs-lead);color:var(--muted);max-width:35rem;margin:0 auto var(--space-6)}.upload{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-card);padding:0;max-width:700px;width:100%;margin:0 auto;overflow:hidden;text-align:left}.upload__tabs{border-bottom:1px solid var(--line);display:flex}.upload__tab{background:none;border:none;padding:var(--space-3) var(--space-4);font-family:var(--sans);font-size:var(--fs-ui);color:var(--muted);cursor:pointer}.upload__tab--active{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.upload__zone{margin:var(--space-4);padding:var(--space-7) var(--space-4);border:1.5px dashed var(--faint);border-radius:var(--radius-md);text-align:center;cursor:pointer}.upload__zone--active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--card))}.upload__zone--busy{cursor:default;opacity:.6}.upload__hint{font-family:var(--serif);font-weight:600;font-size:var(--fs-title);color:var(--ink);margin:0 0 var(--space-2)}.upload__sub{color:var(--muted);margin:0;font-size:var(--fs-meta)}.upload__connect{margin:1rem;display:flex;flex-direction:column;gap:.75rem}.upload__connect-btn{text-align:center}.upload--done{padding:1.5rem;text-align:center}.upload__summary{font-weight:600;margin:0 0 1rem}.gpx-help{margin:var(--space-4) auto 0;max-width:700px;width:100%;color:var(--muted);font-size:var(--fs-ui)}.gpx-help summary{cursor:pointer}.recent{max-width:var(--max);margin:var(--space-7) auto;padding:0 var(--space-4)}.recent__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.recent__title{margin:0;font-size:var(--fs-h2)}.recent__link{font-size:var(--fs-ui);color:var(--accent);white-space:nowrap}.gallery-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-4)}.gallery-row__thumb{aspect-ratio:4 / 3;background:linear-gradient(135deg,#e7e4dc,#d4cfc4);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;object-fit:cover;object-position:center;display:block}.process{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:var(--space-7)}.process__steps{list-style:none;margin:0 auto;max-width:var(--max);padding:60px var(--space-7);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-7)}.process__step{display:flex;flex-direction:column;align-items:flex-start}.process__num{font-size:var(--fs-ui);color:var(--accent);letter-spacing:.05em}.process__rule{width:100%;margin:var(--space-2) 0 var(--space-3)}.process__title{font-size:23px;margin:0 0 var(--space-2)}.process__body{color:var(--muted);margin:0}.process__footnote{text-align:center;color:var(--muted);font-size:var(--fs-meta);margin:0 auto;padding:0 var(--space-4) var(--space-6);max-width:var(--max)}.footer__social{display:flex;gap:18px;align-items:center}.footer__social a{color:var(--muted);display:inline-flex;line-height:0}.footer__social a:hover{color:var(--ink)}.footer__social svg{width:18px;height:18px}.content{max-width:var(--max);margin:0 auto;padding:var(--space-7) var(--space-5)}.content h1{margin-top:0}.faq{margin-top:var(--space-6)}.legal{max-width:var(--legal-max);margin:0 auto;padding:var(--space-7) var(--space-4) var(--space-8)}.legal__h1{font-size:var(--fs-h1);margin:var(--space-2) 0 var(--space-3)}.legal__updated{font-size:var(--fs-meta);color:var(--muted);margin:0 0 var(--space-4)}.legal__lead{font-size:var(--fs-lead);color:var(--ink);margin:0 0 var(--space-5)}.legal__lead a,.legal__section p a{color:var(--accent)}.legal__section{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--line)}.legal__num{font-size:var(--fs-meta);color:var(--accent);padding-top:.45em}.legal__section h2{font-size:var(--fs-h2);margin:0 0 var(--space-2)}.legal__section p{font-size:var(--fs-body);color:var(--muted);margin:0 0 var(--space-2)}.legal__section p:last-child{margin-bottom:0}.legal .legal__address{display:block;margin-top:var(--space-3);font-size:var(--fs-meta);line-height:1.8}@media(max-width:640px){.legal__section{grid-template-columns:1fr;row-gap:var(--space-1)}.legal__num{padding-top:0}}.faq__row{display:grid;grid-template-columns:220px 1fr;gap:var(--space-6);padding:var(--space-5) 0;border-top:1px solid var(--line)}.faq__cat{font-family:var(--sans);font-size:var(--fs-eyebrow);font-weight:600;text-transform:uppercase;letter-spacing:var(--eyebrow-spacing);color:var(--accent);margin:0}.faq__items{display:flex;flex-direction:column}.faq__item+.faq__item{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.faq__q{font-family:var(--serif);font-weight:600;font-size:var(--fs-title);color:var(--ink);margin:0 0 var(--space-2)}.faq__a{font-family:var(--sans);font-size:var(--fs-body);color:var(--muted);line-height:1.6;margin:0}.faq__cta{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--line)}.faq__cta-title{font-family:var(--serif);font-weight:600;font-size:var(--fs-h2);color:var(--ink);margin:0 0 var(--space-2)}.faq__cta-line{font-family:var(--sans);font-size:var(--fs-body);color:var(--muted);margin:0 0 var(--space-4)}.contact{display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:start}.contact__lead{font-family:var(--sans);font-size:var(--fs-lead);color:var(--muted);line-height:1.6;margin:0 0 var(--space-6);max-width:36rem}.contact__details{margin:0 0 var(--space-6)}.contact__detail{display:grid;grid-template-columns:160px 1fr;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--line)}.contact__detail dt{font-family:var(--sans);font-size:var(--fs-meta);font-weight:600;text-transform:uppercase;letter-spacing:var(--eyebrow-spacing);color:var(--muted)}.contact__detail dd{margin:0;font-size:var(--fs-body);color:var(--ink)}.contact__detail dd a{color:var(--ink);text-decoration:none}.contact__detail dd a:hover{color:var(--accent)}.contact__note{font-family:var(--sans);font-size:var(--fs-ui);color:var(--muted);line-height:1.6;margin:0;max-width:36rem}.contact__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.contact__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.contact__field{display:flex;flex-direction:column;gap:var(--space-1)}.contact__field>span{font-family:var(--sans);font-size:var(--fs-meta);font-weight:600;text-transform:uppercase;letter-spacing:var(--eyebrow-spacing);color:var(--muted)}.contact__field input,.contact__field textarea{font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.contact__field textarea{min-height:120px;resize:vertical}.contact__field input:focus,.contact__field textarea:focus{outline:none;border-color:var(--accent)}.contact__card .btn{align-self:flex-start}.contact__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact__card .upload__error{font-family:var(--sans);font-size:var(--fs-ui);line-height:1.6;padding:0}.contact__sent-title{margin:0}@media(max-width:760px){.faq__row{grid-template-columns:1fr;gap:var(--space-3)}.contact{grid-template-columns:1fr;gap:var(--space-6)}.contact__row{grid-template-columns:1fr}}.gallery__head{margin-bottom:var(--space-5)}.gallery__head h1{font-size:var(--fs-h1);margin:var(--space-2) 0 0}.gallery__lead{max-width:52ch;margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--fs-lead);line-height:1.5}.gallery__status{color:var(--muted);font-size:var(--fs-lead)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:30px;row-gap:var(--space-6)}.gallery-grid figure{margin:0}.gallery-grid__img{aspect-ratio:4 / 3;background:linear-gradient(135deg,#e7e4dc,#d4cfc4);border-radius:var(--radius-sm);width:100%;object-fit:cover;object-position:center;display:block}.gallery-grid figcaption{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.gallery-grid__meta{font-size:var(--fs-eyebrow)}.gallery-grid__title{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);line-height:1.25}@media(max-width:820px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.gallery-grid{grid-template-columns:1fr}}.gallery-row__item,.gallery-grid__btn{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:var(--radius-md)}.gallery-row__title{display:block;font-family:var(--serif);font-size:18px;color:var(--ink);text-align:left;margin-top:var(--space-2)}.gallery-grid__btn{padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);overflow:visible;transition:border-color .15s ease}.gallery-grid__btn:hover,.gallery-grid__btn:focus-visible{border-color:var(--accent)}.lightbox{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;padding:2rem;background:#141414d9;cursor:zoom-out}.lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.6rem;max-width:100%;max-height:100%}.lightbox__img{display:block;max-width:92vw;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm)}.lightbox__caption{color:var(--bg);font-family:var(--serif);font-size:var(--fs-title);text-align:center}.lightbox__close{font-family:var(--sans);font-size:var(--fs-ui);border:0;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);background:var(--bg);color:var(--ink);cursor:pointer}
