:root{color-scheme:light;--color-ink: #17313b;--color-heading: #0a4e5a;--color-muted: #536870;--color-bg: #fbfbf7;--color-panel: #ffffff;--color-sea: #135e69;--color-sea-dark: #0a4e5a;--color-sun: #f8c45c;--color-leaf: #5d7b47;--color-border: #dbe4e1;--color-soft: #eef5f3;--shadow-soft: 0 16px 40px rgba(23, 49, 59, .08);--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-accent: Georgia, Cambria, "Times New Roman", serif;--max-page: 1160px;--radius: 12px;--radius-button: 999px;--space-section: clamp(3.5rem, 8vw, 6rem)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:16px;line-height:1.65}a{color:var(--color-sea-dark);text-decoration-thickness:.08em;text-underline-offset:.18em}img,svg{max-width:100%;height:auto}:focus-visible{outline:3px solid currentColor;outline-offset:3px}.skip-link{position:absolute;left:1rem;top:1rem;z-index:10;transform:translateY(-180%);background:var(--color-ink);color:#fff;padding:.75rem 1rem;border-radius:var(--radius)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(219,228,225,.9);background:#fbfbf7f0;backdrop-filter:blur(16px)}.nav{position:relative;max-width:var(--max-page);margin:0 auto;padding:.9rem clamp(1rem,4vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-logo{height:clamp(2.2rem,5vw,2.6rem);width:auto}.nav-links{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.4rem);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.nav-links a:not(.button){color:var(--color-heading);text-decoration:none;padding-bottom:.3rem;border-bottom:2px solid transparent}.nav-links a:not(.button):hover,.nav-links a:not(.button):focus-visible{border-bottom-color:var(--color-sun)}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;border:1px solid var(--color-heading);border-radius:var(--radius-button);background:var(--color-heading);color:#fff;padding:.72rem 1.4rem;font:inherit;font-weight:760;text-decoration:none;cursor:pointer}.button.secondary{background:transparent;border-color:var(--color-heading);color:var(--color-heading)}.button.soft{background:var(--color-soft);border-color:var(--color-border);color:var(--color-sea-dark)}.nav-toggle{display:none;width:2.75rem;min-height:2.75rem;padding:0;border-color:var(--color-border);background:transparent;color:var(--color-heading)}.nav-toggle span{display:block;width:1.15rem;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.hero{max-width:var(--max-page);margin:0 auto;padding:clamp(4rem,9vw,7rem) clamp(1rem,4vw,2rem) var(--space-section);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(2rem,5vw,4rem);align-items:center}.eyebrow{margin:0 0 .9rem;color:var(--color-sea-dark);font-size:.83rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,h3{line-height:1.08;letter-spacing:-.01em;color:var(--color-heading);font-weight:900}h1{margin:0;font-size:clamp(2.7rem,8vw,5.1rem)}h2{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.1rem)}h3{margin:0 0 .6rem;font-size:1.25rem}.accent{font-family:var(--font-accent);font-style:italic;font-weight:500}.lead{max-width:66ch;margin:1.2rem 0 0;color:var(--color-muted);font-size:clamp(1.08rem,2.2vw,1.28rem)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}.section{padding:var(--space-section) clamp(1rem,4vw,2rem)}.section.alt{background:var(--color-soft)}.section-block{position:relative;background:var(--color-sun);overflow:hidden;padding-bottom:calc(var(--space-section) + 4rem)}.section-block h2,.section-block .eyebrow{color:var(--color-heading)}.section-block:after{content:"";position:absolute;left:-12%;bottom:-22%;width:55%;aspect-ratio:1;background:var(--color-bg);border-radius:50%;pointer-events:none}.decor-leaf{position:absolute;opacity:.9;pointer-events:none;z-index:0}.decor-leaf.top-left{top:-2rem;left:-1rem;width:clamp(4rem,9vw,7rem);transform:rotate(-12deg)}.decor-leaf.bottom-right{bottom:-1.5rem;right:-1rem;width:clamp(5rem,11vw,9rem);transform:scaleX(-1) rotate(-8deg)}.container{width:min(100%,var(--max-page));margin:0 auto}.section-heading{max-width:760px;margin-bottom:2rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow-soft)}.plain-list{padding-left:1.2rem;margin:.8rem 0 0}.plain-list li+li{margin-top:.45rem}.visual-panel{border:1px solid var(--color-border);border-radius:var(--radius);background:linear-gradient(135deg,rgba(15,107,114,.12),transparent 48%),linear-gradient(315deg,rgba(242,184,75,.2),transparent 54%),#fff;padding:clamp(1.2rem,3vw,2rem);box-shadow:var(--shadow-soft)}.browser-frame{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:#fff}.browser-bar{height:2rem;background:#e7efec;display:flex;gap:.35rem;align-items:center;padding-left:.75rem}.browser-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--color-sea);opacity:.55}.browser-content{padding:1.2rem}.site-strip{height:.75rem;margin-bottom:.75rem;background:var(--color-soft);border-radius:999px}.site-strip.short{width:60%}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.metric{min-height:4.5rem;border-radius:var(--radius);background:#f8faf8;border:1px solid var(--color-border);padding:.75rem;font-size:.85rem;color:var(--color-muted)}.metric strong{display:block;color:var(--color-sea-dark);font-size:1.35rem}.notice{border-left:4px solid var(--color-sun);background:#fff9ec;padding:1rem;border-radius:var(--radius)}.form{display:grid;gap:1rem}.field{display:grid;gap:.35rem}label{font-weight:760}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:2.85rem;border:1px solid #b9c8c4;border-radius:var(--radius);padding:.7rem .8rem;background:#fff;color:var(--color-ink);font:inherit}textarea{min-height:9rem;resize:vertical}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;flex-shrink:0;accent-color:var(--color-sea)}.checkbox-field label{display:flex;align-items:flex-start;gap:.6rem;font-weight:500}.hint,.error,.muted{color:var(--color-muted);font-size:.95rem}.error{color:#9b1c1c}.honeypot{position:absolute;left:-100vw;width:1px;height:1px;overflow:hidden}.site-footer{background:var(--color-heading);color:#fff;padding:3rem clamp(1rem,4vw,2rem)}.site-footer a,.site-footer h1,.site-footer h2,.site-footer h3{color:#fff}.footer-grid{max-width:var(--max-page);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem}.crumbs{margin-bottom:1rem;font-size:.95rem;color:var(--color-muted)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;padding:0;margin:0}@media (max-width: 860px){.hero,.grid,.grid.two,.footer-grid{grid-template-columns:1fr}.nav{align-items:center;flex-direction:row;flex-wrap:wrap}.nav-toggle{display:inline-flex;flex-direction:column;gap:.25rem}.nav[data-menu-open=true] .nav-toggle span:first-child{transform:translateY(6px) rotate(45deg)}.nav[data-menu-open=true] .nav-toggle span:nth-child(2){opacity:0}.nav[data-menu-open=true] .nav-toggle span:last-child{transform:translateY(-6px) rotate(-45deg)}.nav-links{display:none;width:100%;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:.75rem;border-top:1px solid rgba(219,228,225,.9)}.nav[data-menu-open=true] .nav-links{display:flex}.nav-links a:not(.button){padding:.75rem 0;border-bottom:1px solid rgba(219,228,225,.9)}.nav-links a:not(.button):hover,.nav-links a:not(.button):focus-visible{border-bottom-color:var(--color-sun)}.nav-links .button{align-self:flex-start;margin-top:.85rem}}.logo-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:clamp(2rem,5vw,3.5rem) clamp(1.5rem,4vw,3rem);align-items:center;justify-items:center}.logo-row li{display:flex;align-items:center;justify-content:center;width:100%}.logo-row a{display:block;border-radius:var(--radius)}.logo-row img{display:block;width:auto;max-width:100%;max-height:3rem;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);opacity:.72;transition:filter .2s ease,opacity .2s ease}.logo-row li:hover img,.logo-row a:focus-visible img{filter:grayscale(0);opacity:1}@media (hover: none){.logo-row img{filter:grayscale(0);opacity:1}}@media (prefers-reduced-motion: reduce){.logo-row img{transition:none}}@media (max-width: 640px){.logo-row{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.logo-row img{max-height:2.5rem}}.portfolio-list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(1.25rem,3vw,2rem)}.portfolio-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.1fr);gap:clamp(1.25rem,4vw,2.5rem);align-items:center;padding:clamp(1.25rem,3vw,2rem);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius)}.portfolio-media{display:flex;align-items:center;justify-content:center;min-height:7rem;padding:.5rem}.portfolio-media img{display:block;width:auto;max-width:100%;max-height:8rem;object-fit:contain;mix-blend-mode:multiply}.portfolio-media-empty{display:block;width:100%;height:7rem;border-radius:var(--radius);background:var(--color-soft)}.portfolio-detail h2{margin:0 0 .35rem;font-size:clamp(1.3rem,2.6vw,1.7rem)}.portfolio-detail p{margin:0 0 .6rem}.portfolio-detail .eyebrow{margin-bottom:.75rem}.portfolio-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:0;font-weight:700}@media (max-width: 720px){.portfolio-row{grid-template-columns:minmax(0,1fr);gap:1rem}.portfolio-media{justify-content:flex-start;min-height:0;padding:0}.portfolio-media img{max-height:5rem}}.badge-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .6rem}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-button);background:var(--color-sun);border:1px solid rgba(23,49,59,.18);color:var(--color-heading);padding:.18rem .7rem;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.portfolio-row.is-preview{border-style:dashed;border-color:#17313b59;background:repeating-linear-gradient(135deg,var(--color-panel),var(--color-panel) 14px,rgba(248,196,92,.16) 14px,rgba(248,196,92,.16) 28px)}
