{"template":"\n<helmet>\n  <script src=\"/static/ds-bundle.3d441a908e.js\"></script>\n  <script src=\"/static/motion.536b7951e7.js\"></script>\n  <style>\n    html,body{margin:0;background:var(--aa-paper);color:var(--aa-ink);font-family:var(--font-sans)}\n    a{color:var(--link)} a:hover{color:var(--link-hover)}\n    summary::-webkit-details-marker{display:none}\n    .aa-eyebrow{color:var(--aa-navy);font-weight:600;text-transform:uppercase;letter-spacing:.08em}\n    .aa-deep .aa-eyebrow{color:var(--aa-sky)}\n    html.aa-motion [data-reveal],html.aa-motion [data-clip],html.aa-motion [data-fade],html.aa-motion [data-seq]>*{opacity:0}\n    html.aa-motion [data-split] [data-w]{transform:translateY(110%)}\n    html.aa-motion [data-line]{transform:scaleX(0)}\n    html.aa-motion [data-vline]{transform:scaleY(0)}\n    html.aa-motion [data-sw]{opacity:.2;transition:opacity .45s cubic-bezier(.2,0,0,1)}\n    @media print{html.aa-motion [data-reveal],html.aa-motion [data-clip],html.aa-motion [data-fade],html.aa-motion [data-seq]>*{opacity:1!important}html.aa-motion [data-split] [data-w],html.aa-motion [data-line],html.aa-motion [data-vline]{transform:none!important}html.aa-motion [data-sw]{opacity:1!important}}\n    @media (max-width:1199px){[data-overlap]{margin:0!important;flex-basis:100%!important}}\n    @media (max-width:899px){[data-sec]{min-height:auto!important}[data-offset]{margin-top:0!important}[data-sticky]{position:static!important}}\n    .aa-btn{white-space:normal;height:auto;max-width:100%;box-sizing:border-box;text-wrap:balance}.aa-btn__icon{flex:none}\n    @media (max-width:599px){.aa-btn{padding:12px 18px;min-height:52px;line-height:1.3}}\n  </style>\n</helmet>\n<!-- /en/contact/ · Title: Contact Adelson Advisory | Tell Us What You Need · Meta: Tell Adelson Advisory what work, requirement or decision you need help with. Choose a service or select “Not sure”. -->\n<div lang=\"en\" style=\"min-height:100vh;background:var(--aa-paper);color:var(--aa-ink)\">\n<dc-import name=\"Site Header\" page=\"contact\" lang=\"en\" style=\"position:sticky;top:0;z-index:40;display:block\" hint-size=\"100%,80px\"></dc-import>\n\n<main>\n<section id=\"s0\" data-sec=\"1\" data-screen-label=\"Contact 01 form\" style=\"min-height:auto;background:var(--aa-paper);display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,7vw,112px) 0;box-sizing:border-box;scroll-margin-top:80px;overflow:hidden\">\n<div class=\"aa-container\" style=\"display:flex;flex-direction:column;gap:56px;width:100%;box-sizing:border-box\">\n<div style=\"display:flex;flex-wrap:wrap;gap:48px 80px;align-items:flex-start\">\n  <div data-sticky=\"1\" style=\"flex:5 1 340px;position:sticky;top:120px;display:flex;flex-direction:column;gap:24px;max-width:560px\">\n    <h1 data-split=\"1\" style=\"margin:0;font-size:clamp(2.5rem,1.3rem + 4vw,5rem);font-weight:720;letter-spacing:-.035em;line-height:1;text-wrap:balance\"><span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">Tell</span></span> <span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">us</span></span> <span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">what</span></span> <span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">you</span></span> <span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">need</span></span> <span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">help</span></span> <span style=\"display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 0 .12em;margin:0 0 -.12em\"><span data-w=\"1\" style=\"display:inline-block\">with.</span></span></h1>\n    \n    <p data-reveal=\"1\" data-delay=\"300\" style=\"margin:0;font-size:var(--size-lead);line-height:1.55;text-wrap:pretty\">Describe the work, requirement or decision that brought you here. You do not need to choose the perfect service name. We will review the enquiry and suggest a sensible next step.</p>\n    <ol data-seq=\"1\" data-delay=\"450\" style=\"list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--aa-line)\">\n      <li style=\"display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--aa-line);font-weight:600\"><span style=\"font-family:var(--font-sans);font-size:12px;color:var(--aa-navy);font-weight:600\">01</span>Describe the need</li><li style=\"display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--aa-line);font-weight:600\"><span style=\"font-family:var(--font-sans);font-size:12px;color:var(--aa-navy);font-weight:600\">02</span>The responsible person reviews it</li><li style=\"display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--aa-line);font-weight:600\"><span style=\"font-family:var(--font-sans);font-size:12px;color:var(--aa-navy);font-weight:600\">03</span>We suggest a sensible next step</li>\n    </ol>\n    <div data-reveal=\"1\" data-delay=\"600\" style=\"display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--aa-ink-muted)\">\n      <p style=\"margin:0\">We use your details to respond to your enquiry and manage the related correspondence. See our <a href=\"/en/privacy/\">Privacy Policy</a>.</p>\n      <p style=\"margin: 0; text-decoration-line: none\">Prefer email? Contact us at <u>info@adelson.ee</u></p>\n      <p style=\"margin:0\">We aim to reply within one business day.</p>\n    </div>\n  </div>\n  <div data-reveal=\"1\" data-delay=\"200\" style=\"flex:7 1 440px;background:#fff;border:1px solid var(--aa-line);border-top:2px solid var(--aa-navy);border-radius:0 0 10px 10px;padding:clamp(24px,3.5vw,48px);box-sizing:border-box;box-shadow:var(--shadow-raise)\">\n    <sc-if value=\"{{ fsSuccess }}\" hint-placeholder-val=\"{{ false }}\">\n      <div style=\"display:flex;flex-direction:column;gap:16px\">\n        <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.Alert\" tone=\"success\" title=\"Thank you. Your enquiry has been sent.\" hint-size=\"100%,96px\">We will review what you shared and reply using the address you provided.</x-import>\n      </div>\n    </sc-if>\n    <sc-if value=\"{{ fsForm }}\" hint-placeholder-val=\"{{ true }}\">\n      <form onSubmit=\"{{ onSubmit }}\" novalidate=\"{{ true }}\" style=\"display:flex;flex-direction:column;gap:22px\">\n        <div aria-hidden=\"true\" style=\"position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden\"><label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"></label></div>\n        <sc-if value=\"{{ fsFailed }}\" hint-placeholder-val=\"{{ false }}\">\n          <div ref=\"{{ errRef }}\" tabindex=\"-1\"><x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.Alert\" tone=\"error\" title=\"Your enquiry could not be sent\" hint-size=\"100%,96px\">Try again in a few minutes or write to info@adelson.ee. What you entered is still in the form.</x-import></div>\n        </sc-if>\n        <sc-if value=\"{{ fsError }}\" hint-placeholder-val=\"{{ false }}\">\n          <div ref=\"{{ errRef }}\" tabindex=\"-1\"><x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.Alert\" tone=\"error\" title=\"Check the highlighted fields\" hint-size=\"100%,80px\">{{ errSummary }}</x-import></div>\n        </sc-if>\n        <div style=\"display:flex;flex-direction:column;gap:12px\">\n          <span style=\"font-weight:600;font-size:15px\">Area or service</span>\n          <div role=\"radiogroup\" aria-label=\"Area or service\" style=\"display:flex;flex-wrap:wrap;gap:8px\">\n            <sc-for list=\"{{ svcChips }}\" as=\"ch\" hint-placeholder-count=\"11\">\n              <button type=\"button\" role=\"radio\" aria-checked=\"{{ ch.on }}\" onClick=\"{{ ch.pick }}\" style=\"all:unset;cursor:pointer;display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid {{ ch.border }};background:{{ ch.bg }};color:{{ ch.fg }};transition:background .2s,color .2s\">{{ ch.label }}</button>\n            </sc-for>\n          </div>\n          \n        </div>\n        <div style=\"display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:var(--aa-mist);border-radius:8px;font-weight:650;font-size:15px\"><x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.Icon\" name=\"message-square\" size=\"{{ 18 }}\" hint-size=\"18px,18px\"></x-import><span>{{ svcPrompt }}</span></div>\n        <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px\">\n          <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"Name\" name=\"name\" required=\"{{ true }}\" auto-complete=\"name\" error=\"{{ errName }}\" hint-size=\"100%,80px\"></x-import>\n          <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"Work email\" name=\"email\" type=\"email\" required=\"{{ true }}\" auto-complete=\"email\" error=\"{{ errEmail }}\" hint-size=\"100%,80px\"></x-import>\n        </div>\n        <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"Company\" name=\"company\" required=\"{{ true }}\" auto-complete=\"organization\" error=\"{{ errCompany }}\" hint-size=\"100%,80px\"></x-import>\n        <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextArea\" label=\"What do you need help with?\" name=\"message\" required=\"{{ true }}\" hint=\"Please do not include passwords, confidential records or sensitive personal data.\" error=\"{{ errMessage }}\" hint-size=\"100%,160px\"></x-import>\n        <button type=\"button\" onClick=\"{{ toggleOpt }}\" aria-expanded=\"{{ optOpen }}\" style=\"all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;min-height:44px;font-weight:700;color:var(--aa-blue)\"><x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.Icon\" name=\"{{ optIcon }}\" size=\"{{ 18 }}\" hint-size=\"18px,18px\"></x-import>Add optional context</button>\n        <sc-if value=\"{{ optOpen }}\" hint-placeholder-val=\"{{ false }}\">\n          <div style=\"display:flex;flex-direction:column;gap:20px;padding:20px;border:1px solid var(--aa-line);border-radius:8px\">\n            <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:20px\">\n              <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"Your role\" name=\"role\" optional=\"{{ true }}\" hint-size=\"100%,80px\"></x-import>\n              <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"Timing\" name=\"timing\" optional=\"{{ true }}\" placeholder=\"For example, before the spring review\" hint-size=\"100%,80px\"></x-import>\n            </div>\n            <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"Current tools or documents\" name=\"tools\" optional=\"{{ true }}\" hint=\"Names only. Do not attach files.\" hint-size=\"100%,96px\"></x-import>\n            <sc-if value=\"{{ hasFam }}\" hint-placeholder-val=\"{{ false }}\">\n              <div style=\"display:flex;flex-direction:column;gap:16px;padding-top:16px;border-top:1px solid var(--aa-line)\">\n                <span style=\"font-family:var(--font-sans);font-size:12px;color:var(--aa-blue);font-weight:600;text-transform:uppercase;letter-spacing:.08em\">{{ famPromptTitle }}</span>\n                <div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:20px\">\n                  <sc-for list=\"{{ famPrompts }}\" as=\"fp\" hint-placeholder-count=\"3\">\n                    <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.TextField\" label=\"{{ fp.label }}\" name=\"{{ fp.name }}\" optional=\"{{ true }}\" hint-size=\"100%,80px\"></x-import>\n                  </sc-for>\n                </div>\n              </div>\n            </sc-if>\n          </div>\n        </sc-if>\n        <div style=\"display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:8px\">\n          <x-import component-from-global-scope=\"AdelsonAdvisoryDesignSystem_b8772b.Button\" type=\"submit\" size=\"lg\" icon=\"{{ submitIcon }}\" disabled=\"{{ fsLoading }}\" block=\"{{ isMob }}\" hint-size=\"200px,56px\">{{ submitLabel }}</x-import>\n          <span style=\"font-size:14px;color:var(--aa-ink-muted)\">We use your details to respond to your enquiry and manage the related correspondence. See our <a href=\"/en/privacy/\">Privacy Policy</a>.</span>\n        </div>\n      </form>\n    </sc-if>\n  </div>\n</div>\n\n</div>\n</section>\n</main>\n<dc-import name=\"Site Footer\" lang=\"en\" hint-size=\"100%,220px\"></dc-import>\n</div>\n","js":"\nclass Component extends DCLogic {\n  state = (() => { const q = new URLSearchParams(location.search); const f = q.get('state'); return { svc: q.get('service') || 'notsure', fs: f || 'idle', preview: !!f, errs: {}, optOpen: !!f, vw: window.innerWidth }; })();\n  errRef = React.createRef();\n  endpoint = '/api/enquiry'; // emails the enquiry to info@adelson.ee and a confirmation to the sender\n  services = [{\"value\":\"notsure\",\"label\":\"Not sure\",\"fam\":null},{\"value\":\"ms\",\"label\":\"Management systems\",\"fam\":\"ms\"},{\"value\":\"ia\",\"label\":\"Internal audits\",\"fam\":\"ms\"},{\"value\":\"cpa\",\"label\":\"Conformity and performance audits\",\"fam\":\"ms\"},{\"value\":\"sa\",\"label\":\"Supplier audits\",\"fam\":\"ms\"},{\"value\":\"s5\",\"label\":\"5S and workplace improvement\",\"fam\":\"ms\"},{\"value\":\"ai\",\"label\":\"AI and workflow improvement\",\"fam\":\"ai\"},{\"value\":\"aic\",\"label\":\"AI Consulting\",\"fam\":\"ai\"},{\"value\":\"air\",\"label\":\"AI Roadmap\",\"fam\":\"ai\"},{\"value\":\"aiw\",\"label\":\"AI Workflow Automation\",\"fam\":\"ai\"},{\"value\":\"aik\",\"label\":\"Internal AI Knowledge Assistant\",\"fam\":\"ai\"},{\"value\":\"ais\",\"label\":\"AI Adoption and Automation Support\",\"fam\":\"ai\"}];\n  componentDidMount() { this.onR = () => this.setState({ vw: window.innerWidth }); window.addEventListener('resize', this.onR); }\n  componentWillUnmount() { window.removeEventListener('resize', this.onR); }\n  onSubmit = (e) => {\n    e.preventDefault();\n    const fd = new FormData(e.target); const v = k => String(fd.get(k) || '').trim(); const errs = {};\n    if (!v('name')) errs.name = 'Enter your name.';\n    if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v('email'))) errs.email = 'Enter a full email address, for example name@company.ee';\n    if (!v('company')) errs.company = 'Enter your company name.';\n    if (!v('message')) errs.message = 'Describe what you need help with. One or two sentences is enough.';\n    if (Object.keys(errs).length) { this.setState({ fs: 'error', errs }, () => this.errRef.current && this.errRef.current.focus()); return; }\n    this.setState({ fs: 'loading', errs: {} });\n    const data = { lang: 'en', service: this.state.svc }; fd.forEach((val, k) => { data[k] = String(val).trim(); });\n    fetch(this.endpoint, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) })\n      .then(r => r.json().then(j => { if (!r.ok || !j.ok) throw new Error(j.error || r.status); }))\n      .then(() => { location.href = \"/en/contact/thank-you/\"; })\n      .catch(() => this.setState({ fs: 'failed' }, () => this.errRef.current && this.errRef.current.focus()));\n  };\n  renderVals() {\n    if (window.__aaSetLoader) window.__aaSetLoader(this.props.pageLoader);\n    const s = this.state;\n    const svc = this.services.find(x => x.value === s.svc) || this.services[0];\n    const errs = s.fs === 'error' && s.preview && !Object.keys(s.errs).length ? { name: 'Enter your name.', email: 'Enter a full email address, for example name@company.ee', message: 'Describe what you need help with. One or two sentences is enough.' } : s.errs;\n    const famPrompts = svc.fam === 'ms' ? [{ label: 'Standard or system', name: 'standard' }, { label: 'Sites or teams', name: 'sites' }, { label: 'Audit purpose', name: 'purpose' }]\n      : svc.fam === 'ai' ? [{ label: 'Team', name: 'team' }, { label: 'Workflow', name: 'workflow' }, { label: 'Systems involved', name: 'systems' }, { label: 'Process owner', name: 'owner' }] : [];\n    return {\n      svcChips: this.services.map(x => { const on = x.value === s.svc; return { label: x.label, on, pick: () => this.setState({ svc: x.value }), bg: on ? 'var(--aa-navy)' : '#fff', fg: on ? '#fff' : 'var(--aa-ink)', border: on ? 'var(--aa-navy)' : 'var(--aa-line-strong)' }; }),\n      svcPrompt: svc.fam === 'ms' ? 'Which system, audit or supplier question do you need to address?' : svc.fam === 'ai' ? 'Which team or workflow is involved, and what happens today?' : 'Not sure is fine. Describe the work, requirement or decision that brought you here.',\n      errName: errs.name, errEmail: errs.email, errCompany: errs.company, errMessage: errs.message, errSummary: Object.values(errs).join(' '), errRef: this.errRef,\n      fsError: s.fs === 'error', fsFailed: s.fs === 'failed', fsLoading: s.fs === 'loading', fsSuccess: s.fs === 'success', fsForm: s.fs !== 'success',\n      submitLabel: s.fs === 'loading' ? 'Sending enquiry' : 'Send enquiry', submitIcon: s.fs === 'loading' ? 'loader' : 'arrow-right',\n      onSubmit: this.onSubmit, optOpen: s.optOpen, optIcon: s.optOpen ? 'minus' : 'plus', toggleOpt: () => this.setState(x => ({ optOpen: !x.optOpen })),\n      famPrompts, hasFam: famPrompts.length > 0, isMob: s.vw < 600,\n      famPromptTitle: svc.fam === 'ms' ? 'Optional prompts for management-system and audit enquiries' : 'Optional prompts for AI enquiries'\n    };\n  }\n}\n","props":"{\"pageLoader\":{\"editor\":\"boolean\",\"default\":true,\"tsType\":\"boolean\",\"label\":\"Loading screen (site-wide)\"}}"}